{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CatalogEntry",
  "title": "CatalogEntry",
  "type": "object",
  "description": "The catalog entry containing detailed package metadata for a specific version.",
  "required": [
    "@id",
    "id",
    "version"
  ],
  "properties": {
    "@id": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the document used to produce this object."
    },
    "authors": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "The author or authors of the package."
    },
    "dependencyGroups": {
      "type": "array",
      "description": "The dependencies of the package, grouped by target framework.",
      "items": {
        "$ref": "#/components/schemas/DependencyGroup"
      }
    },
    "deprecation": {
      "$ref": "#/components/schemas/Deprecation"
    },
    "description": {
      "type": "string",
      "description": "The package description."
    },
    "iconUrl": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the package icon."
    },
    "id": {
      "type": "string",
      "description": "The ID of the package."
    },
    "language": {
      "type": "string",
      "description": "The language of the package."
    },
    "licenseUrl": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the package license."
    },
    "licenseExpression": {
      "type": "string",
      "description": "A NuGet license expression string."
    },
    "listed": {
      "type": "boolean",
      "description": "Whether the package is listed. Considered listed if absent."
    },
    "minClientVersion": {
      "type": "string",
      "description": "The minimum NuGet client version required to use this package."
    },
    "packageContent": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the package content (.nupkg). Included for legacy compatibility."
    },
    "projectUrl": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the project page."
    },
    "published": {
      "type": "string",
      "format": "date-time",
      "description": "An ISO 8601 timestamp of when the package was published."
    },
    "readmeUrl": {
      "type": "string",
      "format": "uri",
      "description": "A URL for the rendered view of the package README."
    },
    "requireLicenseAcceptance": {
      "type": "boolean",
      "description": "Whether the package requires license acceptance before installation."
    },
    "summary": {
      "type": "string",
      "description": "A summary of the package."
    },
    "tags": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Tags associated with the package."
    },
    "title": {
      "type": "string",
      "description": "The title of the package."
    },
    "version": {
      "type": "string",
      "description": "The full version string after normalization, which may include SemVer 2.0.0 build metadata."
    },
    "vulnerabilities": {
      "type": "array",
      "description": "Security vulnerabilities associated with this package version.",
      "items": {
        "$ref": "#/components/schemas/Vulnerability"
      }
    }
  }
}