{
  "lexicon": 1,
  "id": "space.polymodel.library.thing",
  "defs": {
    "main": {
      "type": "record",
      "key": "tid",
      "description": "A Polymodel thing: landing page grouping one or more models.",
      "record": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "maxGraphemes": 64, "maxLength": 256 },
          "summary": { "type": "string", "maxGraphemes": 300, "maxLength": 2000 },
          "instructions": { "type": "array", "items": { "type": "string" }, "maxLength": 100 },
          "license": { "type": "string" },
          "tags": {
            "type": "array",
            "items": { "type": "string", "maxGraphemes": 32, "maxLength": 64 },
            "maxLength": 16
          },
          "cover": {
            "type": "array",
            "items": { "type": "ref", "ref": "space.polymodel.library.defs#image" },
            "maxLength": 8
          },
          "previews": {
            "type": "array",
            "items": { "type": "ref", "ref": "space.polymodel.library.defs#image" },
            "maxLength": 12
          },
          "models": {
            "type": "array",
            "items": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
            "maxLength": 256
          },
          "derivedFrom": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
          "intendedToWorkWith": {
            "type": "array",
            "items": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
            "maxLength": 32
          },
          "createdAt": { "type": "string", "format": "datetime" }
        },
        "required": ["name", "license", "createdAt"]
      }
    }
  }
}
