{
  "$schema": "https://a2a-protocol.org/v1.0.0/specification/#agentcard",
  "name": "GevixaServe A2A Gateway",
  "description": "GevixaServe internal AI maintenance agent platform. A single A2A endpoint that routes goals to platform-scoped agents (supervisor, research, coding, qa, security) under the Gevixa Platform organization, with bounded multi-agent delegation and read-only tool access. Task state is queryable after submission. Requests must be authenticated with a Supabase user bearer token; agent routing is organization-scoped and server-resolved. Not available to POS tenants.",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://gevixa.my.id/api/agents/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Gevixa Platform",
    "url": "https://gevixa.my.id"
  },
  "iconUrl": "https://gevixa.my.id/icons/icon-512x512.png",
  "documentationUrl": "https://gevixa.my.id/docs/A2A-GATEWAY-CONTRACT.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "bearer-jwt": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "JWT",
        "description": "Supabase Auth user access token (JWT) sent in the Authorization header. The gateway verifies the token server-side, resolves the requester's organization from the verified identity, and never trusts identity or organization values supplied in the request body. Tokens are never stored in this Agent Card."
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "bearer-jwt": {}
      }
    }
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "send-message",
      "name": "Send Message",
      "description": "Submit a goal to an agent by slug. Creates an idempotent task (pending) and, for agents with delegation policy, executes bounded in-process delegation to specialist agents. Returns the task with status and A2A state. Supported JSON-RPC method: SendMessage.",
      "tags": ["send-message", "goal", "task", "delegation", "supervisor", "research", "coding", "qa", "security"],
      "examples": [
        "Summarize this week's sales trend",
        "Audit authentication and authorization flows"
      ],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get-task",
      "name": "Get Task",
      "description": "Retrieve the current state, output, and error of a task owned by the requester's organization. Flags stale running tasks without mutating them. Supported JSON-RPC method: GetTask.",
      "tags": ["get-task", "task-status", "task-retrieval"],
      "examples": [
        "Check the status of task 6f0c2a1e-...",
        "Fetch the output of a completed research task"
      ],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    }
  ]
}
