{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://kast.michne.com/distribution/kast-runtime-manifest.schema.json",
  "title": "Kast runtime manifest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion",
    "kastVersion",
    "kastGitSha",
    "os",
    "arch",
    "javaVersion",
    "intellijBuild",
    "kotlinPluginVersion",
    "kastIndexSchemaVersion",
    "artifactSha256"
  ],
  "properties": {
    "schemaVersion": {
      "type": "integer",
      "const": 1
    },
    "kastVersion": {
      "type": "string",
      "minLength": 1
    },
    "kastGitSha": {
      "type": "string",
      "pattern": "^[0-9a-f]{7,40}$"
    },
    "os": {
      "type": "string",
      "enum": ["linux"]
    },
    "arch": {
      "type": "string",
      "enum": ["x64"]
    },
    "javaVersion": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "intellijBuild": {
      "type": "string",
      "minLength": 1
    },
    "kotlinPluginVersion": {
      "type": "string",
      "minLength": 1
    },
    "kastIndexSchemaVersion": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "artifactSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  }
}
