{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.com/raycast-reference/family-contract-1.1.0.schema.json",
  "title": "Raycast public-reference local records 1.1.0",
  "description": "Strict authoring records. Cross-record invariants and safe navigation policy also apply.",
  "$defs": {
    "Id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
    },
    "UtcTimestamp": {
      "type": "string",
      "minLength": 20,
      "maxLength": 30,
      "format": "date-time",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
    },
    "LocalHref": {
      "type": "string",
      "minLength": 1,
      "maxLength": 240,
      "pattern": "^(?:[a-z0-9][a-z0-9-]*\\.html(?:\\?[^#\\s]*)?(?:#[a-z][a-z0-9-]*)?|#[a-z][a-z0-9-]*)$"
    },
    "OfficialPublicHref": {
      "type": "string",
      "minLength": 8,
      "maxLength": 600,
      "format": "uri",
      "pattern": "^https://(?:www\\.)?raycast\\.com(?:/[^\\s]*)?$"
    },
    "Person": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "handle": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "displayName",
        "handle"
      ]
    },
    "Command": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "subtitle": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 240
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "title",
        "subtitle"
      ]
    },
    "Attachment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[^/\\\\\\x00-\\x1F]+$"
        },
        "byteLength": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20971520
        },
        "mediaType": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "required": [
        "name",
        "byteLength",
        "mediaType"
      ]
    },
    "ArticleBlock": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "paragraph",
            "heading",
            "code",
            "caption"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        "language": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text",
                "bash",
                "javascript",
                "typescript",
                "json"
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "kind",
        "text",
        "language"
      ]
    },
    "Extension": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "slug": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "summary": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 400
            },
            {
              "type": "null"
            }
          ]
        },
        "publisher": {
          "anyOf": [
            {
              "$ref": "#/$defs/Person"
            },
            {
              "type": "null"
            }
          ]
        },
        "category": {
          "type": "string",
          "enum": [
            "productivity",
            "developer-tools",
            "communication",
            "design",
            "utilities"
          ]
        },
        "platforms": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "macos",
              "windows"
            ]
          },
          "minItems": 1,
          "maxItems": 2,
          "uniqueItems": true
        },
        "iconAssetId": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        },
        "commands": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Command"
          },
          "minItems": 0,
          "maxItems": 60
        },
        "access": {
          "type": "string",
          "enum": [
            "public",
            "sign-in-required",
            "unavailable"
          ]
        },
        "updatedAt": {
          "type": "string",
          "minLength": 20,
          "maxLength": 30,
          "format": "date-time",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
        },
        "locale": {
          "type": "string",
          "minLength": 2,
          "maxLength": 20,
          "pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          },
          "minItems": 0,
          "maxItems": 10,
          "uniqueItems": true
        },
        "downloadCount": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        }
      },
      "required": [
        "id",
        "slug",
        "name",
        "summary",
        "publisher",
        "category",
        "platforms",
        "iconAssetId",
        "publicUrl",
        "commands",
        "access",
        "updatedAt",
        "locale",
        "tags",
        "downloadCount",
        "revision"
      ]
    },
    "Plan": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "maxLength": 400
        },
        "audience": {
          "type": "string",
          "enum": [
            "individual",
            "team",
            "enterprise"
          ]
        },
        "pricingMode": {
          "type": "string",
          "enum": [
            "free",
            "fixed",
            "contact"
          ]
        },
        "currency": {
          "const": "USD"
        },
        "monthlyUsdCents": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000000
            },
            {
              "type": "null"
            }
          ]
        },
        "annualMonthlyUsdCents": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000000
            },
            {
              "type": "null"
            }
          ]
        },
        "featureIds": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
          },
          "minItems": 0,
          "maxItems": 50,
          "uniqueItems": true
        },
        "ctaLabel": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "ctaHref": {
          "anyOf": [
            {
              "$ref": "#/$defs/OfficialPublicHref"
            },
            {
              "type": "null"
            }
          ]
        },
        "updatedAt": {
          "type": "string",
          "minLength": 20,
          "maxLength": 30,
          "format": "date-time",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "audience",
        "pricingMode",
        "currency",
        "monthlyUsdCents",
        "annualMonthlyUsdCents",
        "featureIds",
        "ctaLabel",
        "ctaHref",
        "updatedAt",
        "revision"
      ]
    },
    "Article": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "slug": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "kind": {
          "type": "string",
          "enum": [
            "article",
            "resource",
            "changelog"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        },
        "summary": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 600
            },
            {
              "type": "null"
            }
          ]
        },
        "author": {
          "anyOf": [
            {
              "$ref": "#/$defs/Person"
            },
            {
              "type": "null"
            }
          ]
        },
        "publishedAt": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 20,
              "maxLength": 30,
              "format": "date-time",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
            },
            {
              "type": "null"
            }
          ]
        },
        "updatedAt": {
          "type": "string",
          "minLength": 20,
          "maxLength": 30,
          "format": "date-time",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
        },
        "category": {
          "type": "string",
          "enum": [
            "guide",
            "engineering",
            "news",
            "release"
          ]
        },
        "locale": {
          "type": "string",
          "minLength": 2,
          "maxLength": 20,
          "pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
        },
        "coverAssetId": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        },
        "blocks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ArticleBlock"
          },
          "minItems": 1,
          "maxItems": 80
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "id",
        "slug",
        "kind",
        "title",
        "summary",
        "author",
        "publishedAt",
        "updatedAt",
        "category",
        "locale",
        "coverAssetId",
        "publicUrl",
        "blocks",
        "revision"
      ]
    },
    "Feature": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "platforms": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "macos",
              "windows",
              "ios",
              "browser"
            ]
          },
          "minItems": 1,
          "maxItems": 4,
          "uniqueItems": true
        },
        "entitlementLabel": {
          "type": "string",
          "enum": [
            "free",
            "pro",
            "teams",
            "unverified"
          ]
        },
        "availabilityLabel": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "mediaAssetId": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        },
        "relatedFeatureIds": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
          },
          "minItems": 0,
          "maxItems": 12,
          "uniqueItems": true
        },
        "updatedAt": {
          "type": "string",
          "minLength": 20,
          "maxLength": 30,
          "format": "date-time",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "id",
        "title",
        "summary",
        "platforms",
        "entitlementLabel",
        "availabilityLabel",
        "mediaAssetId",
        "publicUrl",
        "relatedFeatureIds",
        "updatedAt",
        "revision"
      ]
    },
    "PublicFeedback": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "category": {
          "type": "string",
          "enum": [
            "feature-request",
            "bug-report",
            "billing-issue",
            "ios",
            "other"
          ]
        },
        "senderEmail": {
          "type": "string",
          "minLength": 3,
          "maxLength": 254,
          "format": "email",
          "pattern": "^[^\\s@]+@example\\.com$"
        },
        "appVersion": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "message": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Attachment"
          },
          "minItems": 0,
          "maxItems": 5
        },
        "submissionState": {
          "type": "string",
          "enum": [
            "draft",
            "validating",
            "success",
            "error",
            "offline"
          ]
        },
        "createdAt": {
          "type": "string",
          "minLength": 20,
          "maxLength": 30,
          "format": "date-time",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
        },
        "bugType": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_working",
                "crashing",
                "freezing"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "feature": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "AI",
                "Applications",
                "Auto Quit",
                "Calculator",
                "Calendar/My Schedule",
                "Clipboard History",
                "Cloud Sync",
                "Custom Themes",
                "Deeplinks",
                "Dictation",
                "Extensions",
                "Flight Tracker",
                "Focus",
                "Hyper Key",
                "Notes",
                "Quicklinks",
                "Script Commands",
                "Search Files",
                "Settings",
                "Snippets",
                "Store",
                "Window Management",
                "Other"
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "category",
        "senderEmail",
        "appVersion",
        "message",
        "attachments",
        "submissionState",
        "createdAt",
        "bugType",
        "feature"
      ]
    },
    "Asset": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
        },
        "kind": {
          "type": "string",
          "enum": [
            "icon",
            "logo",
            "font",
            "screenshot",
            "photo",
            "illustration",
            "video"
          ]
        },
        "mimeType": {
          "type": "string",
          "enum": [
            "image/svg+xml",
            "image/png",
            "image/jpeg",
            "image/webp",
            "image/avif",
            "font/woff2",
            "video/mp4",
            "video/webm"
          ]
        },
        "localPath": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240,
          "pattern": "^assets/(?:[a-zA-Z0-9_-]+/)*[a-zA-Z0-9_-]+\\.(?:svg|png|jpg|jpeg|webp|avif|woff2|mp4|webm)$"
        },
        "sourceUrl": {
          "type": "string",
          "minLength": 8,
          "maxLength": 600,
          "format": "uri",
          "pattern": "^https://[^\\s]+$"
        },
        "widthPx": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            {
              "type": "null"
            }
          ]
        },
        "heightPx": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            {
              "type": "null"
            }
          ]
        },
        "byteLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 104857600
        },
        "sha256": {
          "type": "string",
          "minLength": 64,
          "maxLength": 64,
          "pattern": "^[a-f0-9]{64}$"
        },
        "alt": {
          "type": "string",
          "minLength": 0,
          "maxLength": 400
        },
        "decorative": {
          "type": "boolean"
        },
        "theme": {
          "type": "string",
          "enum": [
            "dark",
            "light",
            "any"
          ]
        },
        "loading": {
          "type": "string",
          "enum": [
            "eager",
            "lazy"
          ]
        },
        "rights": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "package-license",
                "open-font-license",
                "private-reference-only",
                "original"
              ]
            },
            "notice": {
              "type": "string",
              "minLength": 1,
              "maxLength": 600
            },
            "distribution": {
              "type": "string",
              "enum": [
                "private-reference-only",
                "license-conditions",
                "original"
              ]
            }
          },
          "required": [
            "status",
            "notice",
            "distribution"
          ]
        }
      },
      "required": [
        "id",
        "kind",
        "mimeType",
        "localPath",
        "sourceUrl",
        "widthPx",
        "heightPx",
        "byteLength",
        "sha256",
        "alt",
        "decorative",
        "theme",
        "loading",
        "rights"
      ]
    },
    "CollectionEnvelope": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "schemaVersion": {
          "const": 1
        },
        "requestId": {
          "type": "integer",
          "minimum": 1
        },
        "state": {
          "type": "string",
          "enum": [
            "loading",
            "ready",
            "empty",
            "partial",
            "stale",
            "error",
            "offline",
            "permission"
          ]
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Extension"
          },
          "minItems": 0,
          "maxItems": 500
        },
        "receivedAt": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 20,
              "maxLength": 30,
              "format": "date-time",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
            },
            {
              "type": "null"
            }
          ]
        },
        "expiresAt": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 20,
              "maxLength": 30,
              "format": "date-time",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
            },
            {
              "type": "null"
            }
          ]
        },
        "hasMore": {
          "const": false
        },
        "message": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 400
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "schemaVersion",
        "requestId",
        "state",
        "items",
        "receivedAt",
        "expiresAt",
        "hasMore",
        "message"
      ]
    },
    "ExternalPublicHref": {
      "type": "string",
      "minLength": 9,
      "maxLength": 2048,
      "format": "uri",
      "pattern": "^https://(?:www\\.)?(?:raycast\\.com|github\\.com|manual\\.raycast\\.com|developers\\.raycast\\.com|jobs\\.ashbyhq\\.com|example\\.com|keychron\\.com|chromewebstore\\.google\\.com|apps\\.apple\\.com|microsoft\\.com)/[^\\s\\x00-\\x1f<>]*$"
    },
    "Publisher": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "handle": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 600
            },
            {
              "type": "null"
            }
          ]
        },
        "avatarAssetId": {
          "anyOf": [
            {
              "$ref": "#/$defs/Id"
            },
            {
              "type": "null"
            }
          ]
        },
        "joinedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/UtcTimestamp"
            },
            {
              "type": "null"
            }
          ]
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        },
        "extensionIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 0,
          "maxItems": 200
        },
        "website": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExternalPublicHref"
            },
            {
              "type": "null"
            }
          ]
        },
        "access": {
          "type": "string",
          "enum": [
            "public",
            "unavailable"
          ]
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "handle",
        "name",
        "description",
        "avatarAssetId",
        "joinedAt",
        "publicUrl",
        "extensionIds",
        "website",
        "access"
      ]
    },
    "CapabilityRating": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "intelligence",
            "speed",
            "context",
            "vision",
            "tools"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 5
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        }
      },
      "required": [
        "name",
        "value",
        "description"
      ]
    },
    "AIModel": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "provider": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "providerAssetId": {
          "anyOf": [
            {
              "$ref": "#/$defs/Id"
            },
            {
              "type": "null"
            }
          ]
        },
        "contextTokens": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000000
            },
            {
              "type": "null"
            }
          ]
        },
        "ratings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CapabilityRating"
          },
          "minItems": 1,
          "maxItems": 5
        },
        "planIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 1,
          "maxItems": 8
        },
        "status": {
          "type": "string",
          "enum": [
            "available",
            "preview",
            "retired",
            "unverified"
          ]
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "name",
        "provider",
        "providerAssetId",
        "contextTokens",
        "ratings",
        "planIds",
        "status",
        "publicUrl"
      ]
    },
    "ToolCall": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "complete",
            "error",
            "blocked"
          ]
        },
        "inputSummary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 400
        },
        "outputSummary": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 1200
            },
            {
              "type": "null"
            }
          ]
        },
        "sourceHref": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExternalPublicHref"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "name",
        "icon",
        "status",
        "inputSummary",
        "outputSummary",
        "sourceHref"
      ]
    },
    "ToolGroup": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "calls": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ToolCall"
          },
          "minItems": 1,
          "maxItems": 20
        },
        "defaultExpanded": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "label",
        "calls",
        "defaultExpanded"
      ]
    },
    "TaskMessage": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "role": {
          "type": "string",
          "enum": [
            "user",
            "assistant"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        "toolGroups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ToolGroup"
          },
          "minItems": 0,
          "maxItems": 12
        }
      },
      "required": [
        "id",
        "role",
        "text",
        "toolGroups"
      ]
    },
    "ScriptedTask": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "project": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "scenario": {
          "type": "string",
          "enum": [
            "research",
            "planning",
            "writing",
            "automation"
          ]
        },
        "messages": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TaskMessage"
          },
          "minItems": 1,
          "maxItems": 40
        },
        "composerPlaceholder": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "status": {
          "type": "string",
          "enum": [
            "ready",
            "loading",
            "error",
            "offline",
            "permission"
          ]
        },
        "sourceUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "title",
        "project",
        "scenario",
        "messages",
        "composerPlaceholder",
        "status",
        "sourceUrl"
      ]
    },
    "ReleaseSection": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "heading": {
          "type": "string",
          "enum": [
            "New",
            "Improved",
            "Fixed",
            "Known limitations"
          ]
        },
        "items": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 600
          },
          "minItems": 1,
          "maxItems": 80
        }
      },
      "required": [
        "heading",
        "items"
      ]
    },
    "Release": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "version": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "platform": {
          "type": "string",
          "enum": [
            "macos",
            "windows",
            "ios"
          ]
        },
        "publishedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "sections": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ReleaseSection"
          },
          "minItems": 1,
          "maxItems": 4
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "version",
        "platform",
        "publishedAt",
        "title",
        "summary",
        "sections",
        "publicUrl"
      ]
    },
    "Story": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "kind": {
          "type": "string",
          "enum": [
            "community",
            "customer"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "person": {
          "$ref": "#/$defs/Person"
        },
        "company": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            {
              "type": "null"
            }
          ]
        },
        "role": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            {
              "type": "null"
            }
          ]
        },
        "portraitAssetId": {
          "anyOf": [
            {
              "$ref": "#/$defs/Id"
            },
            {
              "type": "null"
            }
          ]
        },
        "companyAssetId": {
          "anyOf": [
            {
              "$ref": "#/$defs/Id"
            },
            {
              "type": "null"
            }
          ]
        },
        "quote": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 600
            },
            {
              "type": "null"
            }
          ]
        },
        "body": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ArticleBlock"
          },
          "minItems": 1,
          "maxItems": 60
        },
        "relatedExtensionIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 0,
          "maxItems": 20
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "kind",
        "title",
        "summary",
        "person",
        "company",
        "role",
        "portraitAssetId",
        "companyAssetId",
        "quote",
        "body",
        "relatedExtensionIds",
        "publicUrl"
      ]
    },
    "ExtensionTemplate": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "instructionsDescription": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "about": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RichText"
          },
          "minItems": 1,
          "maxItems": 8
        },
        "publisherId": {
          "$ref": "#/$defs/Id"
        },
        "prerequisites": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
          },
          "minItems": 1,
          "maxItems": 8
        },
        "screenshotAssetIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 0,
          "maxItems": 12
        },
        "repositoryHref": {
          "$ref": "#/$defs/ExternalPublicHref"
        },
        "installCommand": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        "organizationRequired": {
          "const": true
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "name",
        "summary",
        "instructionsDescription",
        "about",
        "publisherId",
        "prerequisites",
        "screenshotAssetIds",
        "repositoryHref",
        "installCommand",
        "organizationRequired",
        "publicUrl"
      ]
    },
    "AccountEntryAttempt": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "intent": {
          "type": "string",
          "enum": [
            "sign-in",
            "sign-up",
            "organization",
            "confirm"
          ]
        },
        "mode": {
          "type": "string",
          "enum": [
            "email",
            "password",
            "provider"
          ]
        },
        "provider": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "apple",
                "github",
                "google"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 254,
              "format": "email",
              "pattern": "^[^\\s@]+@example\\.com$"
            },
            {
              "type": "null"
            }
          ]
        },
        "passwordPresent": {
          "type": "boolean"
        },
        "state": {
          "type": "string",
          "enum": [
            "idle",
            "invalid",
            "ready-for-handoff",
            "missing-confirmation-token",
            "unavailable"
          ]
        },
        "returnPath": {
          "$ref": "#/$defs/LocalHref"
        },
        "createdAt": {
          "$ref": "#/$defs/UtcTimestamp"
        }
      },
      "required": [
        "id",
        "intent",
        "mode",
        "provider",
        "email",
        "passwordPresent",
        "state",
        "returnPath",
        "createdAt"
      ]
    },
    "JobOpening": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "department": {
          "type": "string",
          "enum": [
            "engineering",
            "design",
            "operations",
            "marketing"
          ]
        },
        "location": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "employment": {
          "type": "string",
          "enum": [
            "full-time",
            "part-time",
            "contract"
          ]
        },
        "remote": {
          "type": "boolean"
        },
        "applicationHref": {
          "$ref": "#/$defs/ExternalPublicHref"
        },
        "status": {
          "type": "string",
          "enum": [
            "open",
            "closed",
            "unverified"
          ]
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "title",
        "department",
        "location",
        "employment",
        "remote",
        "applicationHref",
        "status"
      ]
    },
    "ProductSpecification": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "label": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "value": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        }
      },
      "required": [
        "label",
        "value"
      ]
    },
    "KeyboardProduct": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "updatedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "revision": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2147483647
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "availability": {
          "type": "string",
          "enum": [
            "available",
            "sold-out",
            "waitlist",
            "unverified"
          ]
        },
        "specifications": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ProductSpecification"
          },
          "minItems": 1,
          "maxItems": 40
        },
        "imageAssetIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 0,
          "maxItems": 20
        },
        "audioAssetId": {
          "anyOf": [
            {
              "$ref": "#/$defs/Id"
            },
            {
              "type": "null"
            }
          ]
        },
        "audioTranscript": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1200
        },
        "vendorHref": {
          "$ref": "#/$defs/ExternalPublicHref"
        },
        "publicUrl": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "updatedAt",
        "revision",
        "name",
        "availability",
        "specifications",
        "imageAssetIds",
        "audioAssetId",
        "audioTranscript",
        "vendorHref",
        "publicUrl"
      ]
    },
    "ExtensionVersion": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "extensionId": {
          "$ref": "#/$defs/Id"
        },
        "version": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "publishedAt": {
          "$ref": "#/$defs/UtcTimestamp"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 180
        },
        "noteFormat": {
          "type": "string",
          "enum": [
            "bullets",
            "paragraph",
            "none"
          ]
        },
        "notes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RichText"
          },
          "minItems": 0,
          "maxItems": 20
        }
      },
      "required": [
        "id",
        "extensionId",
        "version",
        "publishedAt",
        "title",
        "noteFormat",
        "notes"
      ]
    },
    "ExtensionDetail": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/Id"
        },
        "extensionId": {
          "$ref": "#/$defs/Id"
        },
        "publisherId": {
          "$ref": "#/$defs/Id"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        },
        "readmeBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ArticleBlock"
          },
          "minItems": 1,
          "maxItems": 80
        },
        "screenshotAssetIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Id"
          },
          "minItems": 0,
          "maxItems": 20
        },
        "commands": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Command"
          },
          "minItems": 0,
          "maxItems": 100
        },
        "versions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExtensionVersion"
          },
          "minItems": 0,
          "maxItems": 200
        },
        "contributors": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Person"
          },
          "minItems": 0,
          "maxItems": 40
        },
        "platforms": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "macos",
              "windows"
            ]
          },
          "minItems": 1,
          "maxItems": 2
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "minItems": 0,
          "maxItems": 12
        },
        "sourceHref": {
          "$ref": "#/$defs/ExternalPublicHref"
        },
        "installHref": {
          "$ref": "#/$defs/OfficialPublicHref"
        }
      },
      "required": [
        "id",
        "extensionId",
        "publisherId",
        "summary",
        "readmeBlocks",
        "screenshotAssetIds",
        "commands",
        "versions",
        "contributors",
        "platforms",
        "categories",
        "sourceHref",
        "installHref"
      ]
    },
    "DraftAttachment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024,
          "pattern": "^[^\\x00]+$"
        },
        "byteLength": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20971520
        },
        "mediaType": {
          "type": "string",
          "minLength": 0,
          "maxLength": 255
        }
      },
      "required": [
        "name",
        "byteLength",
        "mediaType"
      ]
    },
    "FeedbackDraft": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "category": {
          "type": "string",
          "enum": [
            "feature-request",
            "bug-report",
            "billing-issue",
            "ios",
            "other"
          ]
        },
        "senderEmail": {
          "type": "string",
          "minLength": 3,
          "maxLength": 254,
          "format": "email"
        },
        "appVersion": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "message": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DraftAttachment"
          },
          "minItems": 0,
          "maxItems": 5
        },
        "bugType": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_working",
                "crashing",
                "freezing"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "feature": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "AI",
                "Applications",
                "Auto Quit",
                "Calculator",
                "Calendar/My Schedule",
                "Clipboard History",
                "Cloud Sync",
                "Custom Themes",
                "Deeplinks",
                "Dictation",
                "Extensions",
                "Flight Tracker",
                "Focus",
                "Hyper Key",
                "Notes",
                "Quicklinks",
                "Script Commands",
                "Search Files",
                "Settings",
                "Snippets",
                "Store",
                "Window Management",
                "Other"
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "category",
        "senderEmail",
        "appVersion",
        "message",
        "attachments",
        "bugType",
        "feature"
      ],
      "description": "Transient in-memory UI draft. Arbitrary syntactically valid email is permitted. The synthetic PublicFeedback authoring record remains restricted to example.com. Never persist or transmit this draft."
    },
    "RichPublicHref": {
      "anyOf": [
        {
          "$ref": "#/$defs/ExternalPublicHref"
        },
        {
          "type": "string",
          "minLength": 29,
          "maxLength": 2048,
          "format": "uri",
          "pattern": "^https://linear\\.app/changelog/[^\\s\\x00-\\x1f<>]+$"
        }
      ]
    },
    "RichInline": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "text"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            }
          },
          "required": [
            "kind",
            "text"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "code"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            }
          },
          "required": [
            "kind",
            "text"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "link"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            },
            "href": {
              "$ref": "#/$defs/RichPublicHref"
            }
          },
          "required": [
            "kind",
            "text",
            "href"
          ]
        }
      ]
    },
    "RichText": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RichInline"
          },
          "minItems": 1,
          "maxItems": 128
        }
      ],
      "description": "Literal text or safe text/code/link runs. No HTML, nesting or style attributes. Relationship validation bounds the total to 4,000 Unicode characters and validates every link."
    }
  }
}
