{
  "protocolVersion": "0.3.0",
  "name": "Saitro Website Agent",
  "description": "Answers operational questions about the Saitro public website over A2A. Currently exposes one skill, a website health check. This agent covers the institutional website only: it has no access to the GSIM platform, to customer data or to any contracted service.",
  "url": "https://saitro.com/api/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://saitro.com/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3.0"
    }
  ],
  "version": "1.0.0",
  "documentationUrl": "https://saitro.com/api/",
  "iconUrl": "https://saitro.com/images/saitro-logo.svg",
  "provider": {
    "organization": "Saitro",
    "url": "https://saitro.com/"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "website-health",
      "name": "Website health check",
      "description": "Reports whether the Saitro public website is serving correctly, including that PHP executes and that the application configuration outside the docroot is reachable. Returns the same payload as the REST endpoint at https://saitro.com/api/health. Use when checking Saitro website availability or diagnosing whether saitro.com is up.",
      "tags": [
        "health",
        "status",
        "monitoring",
        "uptime"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "Is the Saitro website up?",
        "health"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": false,
  "notes": {
    "authentication": "None. This agent is public and unauthenticated because its only skill reports public website status and touches no customer data. No securitySchemes are declared. Any future skill that reads customer data will require authentication before it is added here.",
    "taskRetention": "Tasks complete within the request and are not retained. The result arrives in the message/send response as a completed Task with artifacts, so there is nothing to poll. tasks/get therefore returns TaskNotFoundError (-32001), which is the truth rather than a stub.",
    "protocolVersion": "This agent declares 0.3.0 because that is what deployed clients implement and the response shape is verified against it. The v1.0 PascalCase method names (SendMessage, GetTask, CancelTask) are accepted as aliases, so clients on either version work. supportedInterfaces is the v1.0 discovery field and is published alongside url/preferredTransport: it declares 0.3.0 because that is the response shape actually served, not merely the method names accepted.",
    "scope": "The GSIM platform API is separate, requires authentication and is granted under contract; its reference reaches customers through https://saitro.com/login.html. This agent gives no access to it."
  }
}
