{
  "_provenance": "Authored from the pinned primary text of the AI Catalog specification, github.com/Agent-Card/ai-catalog @ b062278fd7f5a83202d33208f1d07c5b5eb7ccb3 (retrieved 2026-09-05; specification/ai-catalog.md, sha256 b5ad5b6abcaf69e5ee87f8e4fd42e2b4399da70c6097f5d589e6a8cb02f4e45a). Upstream publishes no machine-readable schema; this file is the draft-2020-12 SUBSET consumed by chaingraph/standard/schema-validate.mjs (type, required, properties, additionalProperties, enum, const, pattern, items, minItems, minLength, minimum, oneOf, $ref to local $defs). Upstream licence: Apache-2.0 (see VENDORED.md).",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "chaingraph/standard/vendor/ai-catalog.schema.json",
  "title": "AI Catalog (application/ai-catalog+json)",
  "type": "object",
  "required": ["specVersion", "entries"],
  "additionalProperties": false,
  "properties": {
    "specVersion": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" },
    "entries": { "type": "array", "items": { "$ref": "#/$defs/entry" } },
    "host": { "$ref": "#/$defs/host" },
    "extensions": { "type": "object" },
    "signature": { "type": "string" }
  },
  "$defs": {
    "host": {
      "type": "object",
      "required": ["displayName"],
      "additionalProperties": false,
      "properties": {
        "displayName": { "type": "string", "minLength": 1 },
        "identifier": { "type": "string", "minLength": 1 },
        "documentationUrl": { "type": "string" },
        "logoUrl": { "type": "string" },
        "trustManifest": { "$ref": "#/$defs/trustManifest" }
      }
    },
    "entry": {
      "type": "object",
      "required": ["identifier", "type"],
      "additionalProperties": false,
      "properties": {
        "identifier": { "type": "string", "minLength": 1 },
        "type": { "type": "string", "minLength": 1 },
        "displayName": { "type": "string" },
        "description": { "type": "string" },
        "tags": { "type": "array", "items": { "type": "string" } },
        "version": { "type": "string" },
        "updatedAt": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" },
        "url": { "type": "string" },
        "data": {},
        "publisher": { "$ref": "#/$defs/publisher" },
        "trustManifest": { "$ref": "#/$defs/trustManifest" },
        "extensions": { "type": "object" }
      },
      "oneOf": [
        { "required": ["url"] },
        { "required": ["data"] }
      ]
    },
    "publisher": {
      "type": "object",
      "required": ["identifier"],
      "additionalProperties": false,
      "properties": {
        "identifier": { "type": "string", "minLength": 1 },
        "displayName": { "type": "string" }
      }
    },
    "trustManifest": {
      "type": "object",
      "properties": {
        "identity": { "type": "string" },
        "identityType": { "type": "string" },
        "attestations": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["type", "uri"],
            "properties": {
              "type": { "type": "string" },
              "uri": { "type": "string" },
              "digest": { "type": "string" },
              "size": { "type": "integer", "minimum": 0 }
            }
          }
        },
        "subject": {
          "type": "object",
          "properties": {
            "url": { "type": "string" },
            "type": { "type": "string" },
            "digest": { "type": "string" }
          }
        },
        "issuedAt": { "type": "string" },
        "signature": { "type": "string" }
      }
    }
  }
}
