{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rhoe.dev/schemas/composition-grammar-pack-manifest-v0_9.schema.json",
  "title": "Composition Grammar Pack Manifest v0.9.0",
  "type": "object",
  "required": [
    "id",
    "packageKind",
    "version",
    "provides",
    "carrierArchetypes",
    "dependencies"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "label": {
      "type": "string"
    },
    "packageKind": {
      "const": "compositionGrammarPack"
    },
    "version": {
      "type": "string",
      "minLength": 1
    },
    "provides": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "carrierArchetypes": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "enum": [
          "stageFrame",
          "codexSpread",
          "scrollStream",
          "tableauPageCollage",
          "sheetField",
          "ledgerRegister",
          "box",
          "conversationThread"
        ]
      }
    },
    "entrypoints": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "dependencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
