{
  "$schema": "https://a2a-protocol.org/schemas/agent-card-v1.json",
  "agentId": "legacito-fit-legacy",
  "name": "Legacito",
  "description": "AI Fitness Agent — Coach, nutritionist & progress tracker for the Fit Legacy ecosystem.",
  "version": "1.0.0",
  "url": "https://fitlegacy.app",
  "capabilities": {
    "training": {
      "description": "Generación de rutinas personalizadas por objetivo (fuerza, hipertrofia, resistencia). Adaptación automática de cargas según progreso. Técnica y corrección de ejercicios. Periodización y deload automático.",
      "endpoints": [
        "/api/training/generate",
        "/api/training/adjust",
        "/api/training/correct"
      ]
    },
    "nutrition": {
      "description": "Planes de alimentación con macros personalizados. Seguimiento de comidas y ajuste dinámico. Base de datos de alimentos con más de 30 iconos. Integración con objetivo calórico diario.",
      "endpoints": [
        "/api/nutrition/plan",
        "/api/nutrition/track",
        "/api/nutrition/food-db"
      ]
    },
    "analytics": {
      "description": "Métricas de rendimiento y evolución. Gráficos de progreso semanal/mensual. Detección de mesetas y sugerencias de cambio. Reportes exportables para coaches.",
      "endpoints": [
        "/api/analytics/metrics",
        "/api/analytics/progress",
        "/api/analytics/report"
      ]
    }
  },
  "protocols": {
    "mcp": {
      "enabled": true,
      "version": "2025-06-18",
      "serverUrl": "https://fitlegacy.app/mcp",
      "tools": [
        {
          "name": "get_athlete_profile",
          "description": "Obtiene perfil completo del atleta (nivel, XP, racha, categoría).",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": {
                "type": "string",
                "description": "ID único del atleta en Fit Legacy"
              }
            },
            "required": ["athleteId"]
          }
        },
        {
          "name": "get_training_plan",
          "description": "Recupera el plan de entrenamiento actual del atleta.",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": { "type": "string" }
            },
            "required": ["athleteId"]
          }
        },
        {
          "name": "get_nutrition_plan",
          "description": "Obtiene el plan de nutrición y macros del día.",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": { "type": "string" },
              "date": {
                "type": "string",
                "format": "date",
                "description": "Fecha en formato YYYY-MM-DD (opcional, por defecto hoy)"
              }
            },
            "required": ["athleteId"]
          }
        },
        {
          "name": "track_workout",
          "description": "Registra una sesión de entrenamiento completada.",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": { "type": "string" },
              "workoutData": {
                "type": "object",
                "description": "Datos de la sesión: ejercicios, series, repeticiones, peso, RPE, etc."
              }
            },
            "required": ["athleteId", "workoutData"]
          }
        },
        {
          "name": "get_progress_metrics",
          "description": "Devuelve métricas de progreso en un rango de fechas.",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": { "type": "string" },
              "startDate": { "type": "string", "format": "date" },
              "endDate": { "type": "string", "format": "date" },
              "metrics": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": ["strength", "endurance", "bodyComposition", "adherence"]
                },
                "description": "Lista de métricas a incluir (opcional)"
              }
            },
            "required": ["athleteId", "startDate", "endDate"]
          }
        },
        {
          "name": "get_road_nodes",
          "description": "Lista los nodos de The Road con su estado y contenido.",
          "parameters": {
            "type": "object",
            "properties": {
              "athleteId": { "type": "string" },
              "status": {
                "type": "string",
                "enum": ["pending", "completed", "locked"],
                "description": "Filtra por estado del nodo (opcional)"
              }
            },
            "required": ["athleteId"]
          }
        },
        {
          "name": "get_agent_status",
          "description": "Estado actual del agente Legacito y sus submódulos.",
          "parameters": {
            "type": "object",
            "properties": {}
          }
        }
      ]
    },
    "a2a": {
      "enabled": true,
      "version": "0.1.0",
      "agentCardUrl": "https://fitlegacy.app/.well-known/agent.json",
      "endpoint": "https://fitlegacy.app/api/a2a",
      "capabilities": {
        "streaming": true,
        "contextualMemory": true,
        "multiTurn": true
      }
    }
  },
  "auth": {
    "type": "jwt",
    "provider": "Supabase Auth",
    "header": "Authorization",
    "scheme": "Bearer",
    "tokenUrl": "https://fitlegacy.app/auth/v1/token",
    "scopes": [
      "profile:read",
      "training:write",
      "nutrition:write",
      "analytics:read"
    ]
  },
  "rateLimits": {
    "free": {
      "requestsPerMinute": 10,
      "requestsPerDay": 100,
      "tokensPerRequest": 1000
    },
    "pro": {
      "requestsPerMinute": 60,
      "requestsPerDay": 10000,
      "tokensPerRequest": 8000
    },
    "family": {
      "requestsPerMinute": 120,
      "requestsPerDay": 25000,
      "tokensPerRequest": 16000
    }
  },
  "documentation": {
    "humanReadable": "https://fitlegacy.app/docs",
    "llmReadable": "https://fitlegacy.app/docs/llm",
    "llmsTxt": "https://fitlegacy.app/llms.txt"
  },
  "contact": {
    "email": "legacito@fitlegacy.app",
    "support": "https://fitlegacy.app/support",
    "github": "https://github.com/fitlegacy/legacito"
  },
  "tags": [
    "fitness",
    "coaching",
    "nutrition",
    "ai-agent",
    "mcp",
    "a2a",
    "fit-legacy"
  ]
}