{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "commentary_review_package"
      ]
    },
    "manifestVersion": {
      "const": 1
    },
    "packageId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "backingDraftRevisionId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "entryPageId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "pages": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"
          },
          "documentVersionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "title": {
            "type": "string",
            "maxLength": 200
          },
          "bytes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2097152
          },
          "sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "mime": {
            "type": "string",
            "maxLength": 200
          },
          "uploadId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          }
        },
        "required": [
          "id",
          "path",
          "documentVersionId"
        ]
      },
      "maxItems": 10000,
      "minItems": 1
    },
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"
          },
          "mime": {
            "type": "string",
            "maxLength": 200
          },
          "bytes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 26214400
          },
          "sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "artifactId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "uploadId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          }
        },
        "required": [
          "path",
          "mime",
          "bytes",
          "sha256",
          "artifactId"
        ]
      },
      "maxItems": 10000,
      "minItems": 0
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentUploadFile"
      },
      "maxItems": 10000,
      "minItems": 1
    },
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "purpose": {
      "type": "string",
      "maxLength": 2000
    },
    "navigation": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentPackageNavigation"
      },
      "maxItems": 10000,
      "minItems": 0
    },
    "trustTier": {
      "type": "string",
      "enum": [
        "static",
        "executable_bundle"
      ]
    },
    "relatedResources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentPackageReference"
      },
      "maxItems": 1000,
      "minItems": 0
    },
    "sourceReferences": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentPackageSourceReference"
      },
      "maxItems": 1000,
      "minItems": 0
    },
    "evidenceReferences": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentPackageReference"
      },
      "maxItems": 1000,
      "minItems": 0
    },
    "sourceMappings": {
      "$ref": "#/components/schemas/ProjectAgentPackageSourceMappings"
    },
    "deletePaths": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024,
        "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"
      },
      "maxItems": 10000,
      "minItems": 0,
      "uniqueItems": true
    }
  },
  "required": [
    "kind",
    "manifestVersion",
    "packageId",
    "backingDraftRevisionId",
    "entryPageId",
    "pages",
    "assets"
  ]
}