{
  "$id": "https://nuscien.github.io/winkit/schema/localwebapp.update.v6.json",
  "$schema": "https://json-schema.org/draft-07/schema",
  "description": "The resource package update information configuration file of local web app.",
  "properties": {
    "apps": {
      "description": "The update inforamtion for each LWA resource package.",
      "items": {
        "properties": {
          "hash": {
            "description": "Optional hash for the compressed file.",
            "type": "string"
          },
          "id": {
            "description": "The project identifier, such as @demo/app.",
            "maxLength": 214,
            "minLength": 1,
            "pattern": "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$",
            "type": "string"
          },
          "info": {
            "description": "Additional information",
            "type": "object"
          },
          "sign": {
            "properties": {
              "alg": {
                "description": "Hash algorithm, e.g. RS256, RS384, RS512.",
                "type": "string"
              },
              "key": {
                "description": "The public key in PEM string format.",
                "type": "string"
              }
            },
            "type": [
              "string",
              "object"
            ]
          },
          "title": {
            "description": "The display name of the project.",
            "type": "string"
          },
          "url": {
            "description": "The resource package download URL.",
            "type": "string"
          },
          "version": {
            "description": "Version must be in node-semver.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "sign": {
      "description": "The plain text files which will load on app init to bind.",
      "patternProperties": {
        "\\s\\S": {
          "description": "The signature information collection.",
          "properties": {
            "alg": {
              "description": "Hash algorithm, e.g. RS256, RS384, RS512.",
              "type": "string"
            },
            "key": {
              "description": "The public key in PEM string format.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "title": "LWA resource package update information",
  "type": "object"
}