{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://wolfepack-site.vercel.app/agents.schema.json",
  "title": "Wolfepack Strategic Partners agents.json",
  "description": "Machine-readable facts about Wolfepack Strategic Partners for AI assistants and other automated visitors. Every string value is copied from the visible site. Bracketed values such as [TX-LICENSE-NUMBER] are placeholders pending confirmation and are not facts.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "updated_at",
    "name",
    "legal_name",
    "description",
    "url",
    "brand",
    "services",
    "service_area",
    "licensing",
    "contracting",
    "faqs",
    "pages",
    "contact",
    "for_agents"
  ],
  "definitions": {
    "text": {
      "type": "string",
      "minLength": 1,
      "pattern": "^[\\x20-\\x7E]+$",
      "description": "Printable ASCII only: no em dashes, en dashes, or smart quotes."
    },
    "hex": { "type": "string", "pattern": "^#[0-9a-f]{6}$" },
    "url": { "type": "string", "format": "uri", "pattern": "^https?://" },
    "faq": {
      "type": "object",
      "additionalProperties": false,
      "required": ["question", "answer"],
      "properties": {
        "question": { "$ref": "#/definitions/text" },
        "answer": { "$ref": "#/definitions/text" }
      }
    }
  },
  "properties": {
    "$schema": { "$ref": "#/definitions/url" },
    "schema_version": {
      "type": "string",
      "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 UTC. Never more than 7 days older than the deploy."
    },
    "name": { "$ref": "#/definitions/text" },
    "legal_name": { "$ref": "#/definitions/text" },
    "description": { "$ref": "#/definitions/text" },
    "url": { "$ref": "#/definitions/url" },
    "brand": {
      "type": "object",
      "additionalProperties": false,
      "required": ["colors", "mark_usage"],
      "properties": {
        "colors": {
          "type": "object",
          "minProperties": 1,
          "additionalProperties": { "$ref": "#/definitions/hex" }
        },
        "mark_usage": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/definitions/text" }
        }
      }
    },
    "services": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "summary",
          "who_it_is_for",
          "url",
          "carriers"
        ],
        "properties": {
          "id": { "type": "string", "pattern": "^[a-z0-9-]+$" },
          "name": { "$ref": "#/definitions/text" },
          "summary": { "$ref": "#/definitions/text" },
          "who_it_is_for": { "$ref": "#/definitions/text" },
          "url": { "$ref": "#/definitions/url" },
          "carriers": {
            "type": "array",
            "description": "Carrier names as plain text. Empty while the site names no carriers.",
            "items": { "$ref": "#/definitions/text" }
          }
        }
      }
    },
    "carrier_policy": { "$ref": "#/definitions/text" },
    "service_area": {
      "type": "object",
      "additionalProperties": false,
      "required": ["home_state", "licensed_states", "availability_note"],
      "properties": {
        "home_state": { "$ref": "#/definitions/text" },
        "licensed_states": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/definitions/text" }
        },
        "availability_note": { "$ref": "#/definitions/text" }
      }
    },
    "licensing": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "regulator",
        "texas_agent_license_number",
        "npn",
        "legal_name",
        "compliance_disclosure"
      ],
      "properties": {
        "regulator": { "$ref": "#/definitions/text" },
        "texas_agent_license_number": { "$ref": "#/definitions/text" },
        "npn": { "$ref": "#/definitions/text" },
        "legal_name": { "$ref": "#/definitions/text" },
        "compliance_disclosure": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/definitions/text" }
        }
      }
    },
    "contracting": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "summary",
        "requirements",
        "steps",
        "compensation",
        "contact_path",
        "url",
        "form_url"
      ],
      "properties": {
        "summary": { "$ref": "#/definitions/text" },
        "requirements": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/definitions/text" }
        },
        "steps": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": ["title", "description"],
            "properties": {
              "title": { "$ref": "#/definitions/text" },
              "description": { "$ref": "#/definitions/text" }
            }
          }
        },
        "compensation": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": ["term", "value"],
            "properties": {
              "term": { "$ref": "#/definitions/text" },
              "value": { "$ref": "#/definitions/text" }
            }
          }
        },
        "contact_path": { "$ref": "#/definitions/text" },
        "url": { "$ref": "#/definitions/url" },
        "form_url": { "$ref": "#/definitions/url" }
      }
    },
    "faqs": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/definitions/faq" }
    },
    "pages": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["url", "title", "description"],
        "properties": {
          "url": { "$ref": "#/definitions/url" },
          "title": { "$ref": "#/definitions/text" },
          "description": { "$ref": "#/definitions/text" }
        }
      }
    },
    "contact": {
      "type": "object",
      "additionalProperties": false,
      "required": ["email", "phone", "hours", "response", "form_url"],
      "properties": {
        "email": { "$ref": "#/definitions/text" },
        "phone": { "$ref": "#/definitions/text" },
        "hours": { "$ref": "#/definitions/text" },
        "response": { "$ref": "#/definitions/text" },
        "form_url": { "$ref": "#/definitions/url" }
      }
    },
    "for_agents": { "$ref": "#/definitions/text" }
  }
}
