Skip to content
Back to Velora Supervisor

Card snapshot

tools.somosvelora.com · 2026-06-12 10:27:05 UTC · 2612fac859673510d599ed500bfbe3392fce8b9a171297883d433c5d97f47990

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "Velora Supervisor",
  "description": "Asistente IA para peque\u00f1os negocios y franquicias latinoamericanas (boutiques, pet shops, mini-markets, restaurantes). Responde sobre stock, ventas, pagos pendientes, proveedores, caja y resumen del d\u00eda. Primer agente de habla hispana orientado a SMB en la red A2A.",
  "url": "https://somosvelora.com/api/a2a/jsonrpc",
  "version": "1.0.0",
  "provider": {
    "organization": "Velora",
    "url": "https://somosvelora.com"
  },
  "documentationUrl": "https://somosvelora.com",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text",
    "data"
  ],
  "defaultOutputModes": [
    "text",
    "data"
  ],
  "skills": [
    {
      "id": "supervisor",
      "name": "Velora Supervisor",
      "description": "Procesa instrucciones complejas en castellano rioplatense para gesti\u00f3n de comercios peque\u00f1os. Descompone pedidos multi-paso, resuelve referencias de\u00edcticas, y devuelve acciones estructuradas o respuestas conversacionales.",
      "tags": [
        "smb",
        "argentina",
        "spanish",
        "rioplatense",
        "inventory",
        "sales",
        "commerce",
        "pyme"
      ],
      "examples": [
        "cu\u00e1nto vend\u00ed hoy",
        "qu\u00e9 tengo en stock",
        "qui\u00e9n me debe plata",
        "vend\u00ed 3 papas a Juan y cargu\u00e9 50 clavos del proveedor X",
        "sub\u00ed 10% papas y baj\u00e1 5% vinos"
      ],
      "inputModes": [
        "text"
      ],
      "outputModes": [
        "text"
      ]
    },
    {
      "id": "employee-event-router",
      "name": "Velora Employee Event Router",
      "description": "Recibe eventos as\u00edncronos del agente Empleado (LOW_STOCK, SHIFT_START, SHIFT_END) y decide la prioridad de notificaci\u00f3n al due\u00f1o: notify_now, daily_summary, o drop. Dise\u00f1ado para federaci\u00f3n: una Sucursal publica eventos a su Supervisor local, y el Supervisor de Franquicia agrega los eventos del nivel Sucursal sin tocar el flujo conversacional.",
      "tags": [
        "agent-bus",
        "supervisor",
        "notifications",
        "federation",
        "franchise",
        "async"
      ],
      "examples": [
        "EMPLOYEE_EVENT type:LOW_STOCK saleId:abc alerts:[pintura blanca 2/5]",
        "EMPLOYEE_EVENT type:SHIFT_START employeeId:emp-1"
      ],
      "inputModes": [
        "text",
        "data"
      ],
      "outputModes": [
        "text",
        "data"
      ]
    }
  ],
  "contracts": {
    "consumes": [
      {
        "id": "velora.employee.event",
        "version": "1.0.0",
        "description": "EmployeeEvent v1 \u2014 se\u00f1ales del agente Empleado al Supervisor.",
        "eventTypes": [
          "LOW_STOCK",
          "SHIFT_START",
          "SHIFT_END",
          "CASH_AT_RISK",
          "BULK_IMPORT_COMPLETED",
          "CHAT_MESSAGE",
          "COMPANION_RESPONSE",
          "SUPERVISOR_QUERY",
          "STOCK_INGRESS_REQUEST"
        ]
      }
    ],
    "emits": [
      {
        "id": "velora.supervisor.notification",
        "version": "1.0.0",
        "description": "Decisi\u00f3n de prioridad de notificaci\u00f3n: now | daily | drop."
      },
      {
        "id": "velora.supervisor.stock_ingress_decision",
        "version": "1.0.0",
        "description": "Decisi\u00f3n de aprobaci\u00f3n de ingreso de stock: { approved, anomaly, reason }."
      }
    ]
  },
  "securitySchemes": {
    "ApiKeyAuth": {
      "type": "apiKey",
      "name": "X-API-Key",
      "in": "header",
      "description": "API key de agente externo. Solicitar credenciales a hola@somosvelora.com."
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "supportsAuthenticatedExtendedCard": false,
  "contact": {
    "name": "Velora",
    "email": "hola@somosvelora.com",
    "url": "https://somosvelora.com"
  },
  "x-rateLimits": {
    "requestsPerMinutePerKey": 60,
    "maxInputChars": 4000,
    "retryAfterHeader": "Retry-After",
    "errorCode": -32005
  },
  "x-sla": {
    "uptimePercent": 99,
    "maxResponseMs": 8000,
    "dataResidency": "southamerica-east1"
  },
  "x-errors": [
    {
      "code": -32004,
      "meaning": "Auth required \u2014 X-API-Key missing or invalid"
    },
    {
      "code": -32005,
      "meaning": "Rate limit exceeded \u2014 back off for Retry-After seconds"
    },
    {
      "code": -32601,
      "meaning": "Method not found"
    },
    {
      "code": -32602,
      "meaning": "Invalid params \u2014 message.parts must have at least one text part"
    }
  ],
  "x-agentIdentity": {
    "kid": "velora-supervisor-v1",
    "algorithm": "EdDSA",
    "curve": "Ed25519",
    "jwksUrl": "https://somosvelora.com/api/agents/supervisor/jwks"
  }
}