{
  "name": "RagSphere",
  "description": "Secure RAG agent for PDF, Excel, and YouTube analysis with rate limiting and API key protection.",
  "url": "https://ragsphere.vercel.app/api/a2a/tasks",
  "version": "1.0.0",
  "protocolVersion": "0.3.0",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "RagSphere Team",
    "url": "https://ragsphere.vercel.app"
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["text/plain"],
  "defaultOutputModes": ["text/plain"],
  "securitySchemes": {
    "ApiKey": {
      "type": "apiKey",
      "name": "x-a2a-key",
      "in": "header"
    }
  },
  "security": [
    {
      "ApiKey": []
    }
  ],
  "skills": [
    {
      "id": "ingest",
      "name": "Document Ingestion",
      "description": "Upload and process PDF, Excel, or YouTube links for indexing and retrieval.",
      "tags": ["ingest", "processing", "upload"],
      "examples": ["Process this PDF: https://example.com/doc.pdf"],
      "inputModes": ["text/plain"],
      "outputModes": ["text/plain"],
      "input": {
        "type": "object",
        "properties": {
          "source_url": {
            "type": "string",
            "description": "The URL of the document or YouTube video."
          }
        },
        "required": [
          "source_url"
        ]
      }
    },
    {
      "id": "query",
      "name": "RAG Query",
      "description": "Query your processed documents using semantic search and knowledge graphs.",
      "tags": ["query", "search", "rag"],
      "examples": ["What are the key findings in the financial report?"],
      "inputModes": ["text/plain"],
      "outputModes": ["text/plain"],
      "input": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "The question to ask."
          },
          "document_id": {
            "type": "string",
            "description": "The ID of the document (returned from ingest)."
          },
          "use_web_search": {
            "type": "boolean",
            "description": "Whether to use live web search for the answer."
          }
        },
        "required": [
          "question",
          "document_id"
        ]
      }
    }
  ]
}