{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tooloracle.io/ns/oraclenet-manifest/v1/schema.json",
  "title": "OracleNet Manifest Profile v1",
  "description": "A slim, machine-readable profile that aggregates existing discovery signals (Agent Card, OpenAPI, DID, JWKS, etc.) into a single document. Complements — does not replace — A2A Agent Cards, MCP discovery, and other standards.",
  "type": "object",
  "required": ["oraclenet_manifest", "identity", "capabilities", "connect"],
  "properties": {
    "oraclenet_manifest": {
      "type": "string",
      "const": "1.0"
    },
    "updated": {
      "type": "string"
    },
    "identity": {
      "type": "object",
      "required": ["name", "did"],
      "properties": {
        "name": {"type": "string"},
        "did": {"type": "string", "description": "W3C Decentralized Identifier"},
        "description": {"type": "string"},
        "provider": {"type": "string"}
      }
    },
    "capabilities": {
      "type": "object",
      "required": ["summary", "primary_endpoint"],
      "properties": {
        "summary": {"type": "string"},
        "primary_endpoint": {"type": "string", "format": "uri"},
        "details": {
          "type": "object",
          "description": "Pointers to existing discovery documents",
          "additionalProperties": {"type": "string", "format": "uri"}
        }
      }
    },
    "pricing": {
      "type": "object",
      "properties": {
        "free_tier": {"type": "string"},
        "paid": {"type": "string"},
        "currency": {"type": "string"},
        "offer_catalog": {"type": "string", "format": "uri"}
      }
    },
    "connect": {
      "type": "object",
      "required": ["protocol", "endpoint"],
      "properties": {
        "protocol": {"type": "string"},
        "endpoint": {"type": "string", "format": "uri"},
        "intent_tool": {"type": "string"},
        "docs": {"type": "string", "format": "uri"}
      }
    },
    "trust": {
      "type": "object",
      "properties": {
        "join_tool": {"type": "string"},
        "passport": {"type": "string"},
        "reputation_tool": {"type": "string"},
        "details": {
          "type": "object",
          "additionalProperties": {"type": "string", "format": "uri"}
        }
      }
    },
    "proof": {
      "type": "object",
      "properties": {
        "signing": {"type": "string"},
        "hashing": {"type": "string"},
        "anchors": {"type": "array", "items": {"type": "string"}},
        "verification": {"type": "string", "format": "uri"}
      }
    },
    "deal": {
      "type": "object",
      "properties": {
        "protocol": {"type": "string"},
        "deal_tool": {"type": "string"},
        "payment_methods": {"type": "array", "items": {"type": "string"}}
      }
    },
    "immune": {
      "type": "object",
      "properties": {
        "engine": {"type": "string"},
        "summary": {"type": "string"},
        "details": {"type": "string", "format": "uri"}
      }
    },
    "mesh": {
      "type": "object",
      "properties": {
        "network": {"type": "string"},
        "beacon": {"type": "string", "format": "uri"},
        "registry": {"type": "string", "format": "uri"}
      }
    },
    "see_also": {
      "type": "object",
      "description": "Pointers to related .well-known files. The manifest aggregates but does not replace these.",
      "additionalProperties": {"type": "string", "format": "uri"}
    }
  }
}
