{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://prxy.monster/schemas/agents.v1.json",
  "title": "prxy.monster agent manifest",
  "type": "object",
  "required": ["spec_version", "service", "agent_purchase", "byok", "pricing"],
  "properties": {
    "spec_version": { "type": "string" },
    "service": {
      "type": "object",
      "required": ["name", "type", "tagline", "description", "homepage", "docs"],
      "properties": {
        "name": { "type": "string" },
        "type": { "type": "string" },
        "tagline": { "type": "string" },
        "description": { "type": "string" },
        "homepage": { "type": "string", "format": "uri" },
        "docs": { "type": "string", "format": "uri" }
      },
      "additionalProperties": true
    },
    "agent_purchase": {
      "type": "object",
      "required": ["supported", "methods"],
      "properties": {
        "supported": { "type": "boolean" },
        "methods": {
          "type": "array",
          "items": { "type": "object", "additionalProperties": true }
        }
      },
      "additionalProperties": true
    },
    "byok": {
      "type": "object",
      "required": ["required", "supported_providers", "billing_relationship"],
      "properties": {
        "required": { "type": "boolean" },
        "supported_providers": {
          "type": "array",
          "items": { "type": "string" }
        },
        "billing_relationship": { "type": "string" }
      },
      "additionalProperties": true
    },
    "pricing": {
      "type": "object",
      "required": ["currency", "billing_unit", "tiers"],
      "properties": {
        "currency": { "type": "string" },
        "billing_unit": { "type": "string" },
        "tiers": {
          "type": "array",
          "items": { "type": "object", "additionalProperties": true }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}
