fix(quotas): unifier le décompte IA (BYOK, rollback) et combler les fuites
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 6m55s
CI / Deploy production (on server) (push) Successful in 36s

Centralise la réserve via ai-quota, corrige admin unavailable (-1), brancher les routes sans quota et le host-pays brainstorm, avec usage-meter élargi, noms de clusters, MCP et ajustements dashboard/insights.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-07-15 20:42:25 +00:00
parent 30da592ba2
commit 4fe31ebc99
75 changed files with 2949 additions and 785 deletions

View File

@@ -1718,6 +1718,8 @@
"mcpSettings": {
"title": "MCP",
"description": "Gestiona tus claves API y configura herramientas externas",
"tierRequired": "Solo Pro+",
"upgradeHint": "El acceso MCP (claves API para Cursor, Claude Desktop, etc.) requiere un plan Pro o superior. Actualiza en Facturación para desbloquear esta función.",
"whatIsMcp": {
"title": "¿Qué es MCP?",
"description": "El Model Context Protocol (MCP) es un protocolo abierto que permite a los modelos de IA interactuar de forma segura con herramientas y fuentes de datos externas. Con MCP, puedes conectar herramientas como Claude Code, Cursor o N8N a tu instancia de Memento para leer, crear y organizar tus notas mediante programación.",
@@ -1743,7 +1745,12 @@
"lastUsed": "Último uso",
"never": "Nunca",
"confirmRevoke": "¿Estás seguro de que quieres revocar esta clave? Las herramientas que la usen perderán el acceso.",
"confirmDelete": "¿Estás seguro de que quieres eliminar permanentemente esta clave?"
"confirmDelete": "¿Estás seguro de que quieres eliminar permanentemente esta clave?",
"errors": {
"generate": "Error al generar la clave",
"revoke": "Error al revocar la clave",
"delete": "Error al eliminar la clave"
}
},
"createDialog": {
"title": "Generar clave API",
@@ -1773,6 +1780,15 @@
"title": "N8N",
"description": "Usa estas credenciales en tu nodo MCP de N8N:"
}
},
"helpBox": {
"title": "¿Qué es MCP (Model Context Protocol)?",
"step1": "MCP es un protocolo que permite a los agentes IA de Memento conectarse a herramientas externas (bases de datos, APIs, archivos, etc.).",
"step2": "Memento expone un servidor MCP con 22 herramientas — tus agentes pueden leer/crear notas, buscar en tu base, gestionar cuadernos, etc.",
"step3": "Crea una clave API aquí y configúrala en tu cliente MCP (Claude Desktop, Cursor, Continue.dev…) con la URL del servidor.",
"step4": "Formato de configuración: URL del servidor MCP + tu clave en el header Authorization.",
"step4Link": "Documentación MCP",
"step5": "Caso de uso: pide a Claude Desktop que escriba una nota en Memento, busque en tus cuadernos o cree un agente."
}
},
"agents": {
@@ -2500,7 +2516,23 @@
"instantActivation": "Activación instantánea",
"secureDesc": "Pagos seguros por Stripe",
"secureTransactions": "Transacciones seguras",
"satisfactionGuarantee": "Garantía de satisfacción de 30 días"
"satisfactionGuarantee": "Garantía de satisfacción de 30 días",
"cancelConfirm": "¿Estás seguro de que quieres cancelar tu suscripción? Mantendrás tu acceso Pro/Business hasta el final del período de facturación actual.",
"cancelSuccess": "Tu suscripción se ha cancelado correctamente. Finalizará al final del período de facturación actual.",
"invoices": "Facturas y recibos",
"invoiceAmount": "Importe",
"invoiceDate": "Fecha",
"invoiceNumber": "Número",
"invoiceStatus": "Estado",
"noInvoices": "No hay facturas disponibles.",
"checkoutFailed": "No se pudo iniciar el pago. Inténtalo de nuevo.",
"portalFailed": "No se pudo abrir el portal de facturación.",
"cancelFailed": "No se pudo cancelar la suscripción.",
"downloadPdf": "Descargar PDF",
"fetchStatusFailed": "No se pudo obtener el estado de facturación",
"fetchQuotasFailed": "No se pudieron obtener las cuotas",
"fetchInvoicesFailed": "No se pudo cargar el historial de facturación.",
"savePercent": "Ahorra ~17%"
},
"landing": {
"nav": {
@@ -3029,5 +3061,13 @@
"hintNavigate": "navegar",
"hintOpen": "abrir",
"hintClose": "cerrar"
},
"quotaPaywall": {
"title": "Límite mensual alcanzado",
"description": "Has agotado tus créditos de {feature} para este mes.",
"upgrade": "Mejorar plan",
"useOwnKey": "Usar tu propia clave API",
"later": "Quizás más tarde",
"closingIn": "Cerrando en {n}s"
}
}