fix: brainstorm infinite loop, ghost cursor, embedding ::vector cast, semantic search, billing stats, usage meter accordion
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 5s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 5s
- Fix useBrainstormSocket: stable guestId via useRef, remove setState in cleanup - Fix GhostCursor: direct DOM manipulation via refs, no useState re-renders - Fix all SQL embedding queries: add ::vector cast on text columns - Fix embedding truncation to 15000 chars (under 8192 token limit) - Fix NoteEmbedding INSERT: remove non-existent updatedAt column - Fix billing page: show all quota stats in grid instead of single metric - Fix usage meter: accordion expand/collapse, per-feature detail - Fix semantic search: rebuild 103 note embeddings, ::vector cast on vectorSearch - Fix brainstorm expand/manual-idea/create: ::vector cast on embedding SQL
This commit is contained in:
@@ -890,7 +890,7 @@
|
||||
"recentNotesUpdateFailed": "Failed to update recent notes setting"
|
||||
},
|
||||
"aiSettings": {
|
||||
"title": "Configuración IA",
|
||||
"title": "AI",
|
||||
"description": "Configura tus funciones y preferencias impulsadas por IA",
|
||||
"features": "Funciones de IA",
|
||||
"provider": "Proveedor de IA",
|
||||
@@ -917,7 +917,8 @@
|
||||
"autoLabeling": "Sugerencias de etiquetas",
|
||||
"autoLabelingDesc": "Sugiere y aplica etiquetas automáticamente a tus notas",
|
||||
"noteHistory": "Historial de notas",
|
||||
"noteHistoryDesc": "Habilitar instantáneas de versiones y restauración desde el Historial"
|
||||
"noteHistoryDesc": "Habilitar instantáneas de versiones y restauración desde el Historial",
|
||||
"titleSuggestions": "Sugerencia de títulos"
|
||||
},
|
||||
"general": {
|
||||
"loading": "Cargando...",
|
||||
@@ -1115,7 +1116,13 @@
|
||||
"languageDetection": "Detección de idioma",
|
||||
"languageDetectionDesc": "Detecta automáticamente el idioma de cada nota",
|
||||
"autoLabeling": "Etiquetado automático",
|
||||
"autoLabelingDesc": "Sugiere y aplica etiquetas automáticamente"
|
||||
"autoLabelingDesc": "Sugiere y aplica etiquetas automáticamente",
|
||||
"fallbackSectionTitle": "Proveedor de respaldo (opcional)",
|
||||
"fallbackSectionDescription": "Se usa automáticamente ante errores del proveedor (429, 5xx). Un reintento en 1,5 s.",
|
||||
"fallbackProvider": "Proveedor de respaldo",
|
||||
"fallbackModel": "Modelo de respaldo",
|
||||
"fallbackNone": "Ninguno (desactivado)",
|
||||
"fallbackModelPlaceholder": "p. ej. gpt-4o-mini"
|
||||
},
|
||||
"resend": {
|
||||
"title": "Resend (Recomendado)",
|
||||
@@ -1173,6 +1180,8 @@
|
||||
"deleteFailed": "Error al eliminar",
|
||||
"roleUpdateSuccess": "Rol de usuario actualizado a {role}",
|
||||
"roleUpdateFailed": "Error al actualizar rol",
|
||||
"tierUpdateSuccess": "Subscription updated to {tier}",
|
||||
"tierUpdateFailed": "Failed to update subscription",
|
||||
"demote": "Degradar",
|
||||
"promote": "Promover",
|
||||
"confirmDelete": "¿Estás seguro de que quieres eliminar este usuario?",
|
||||
@@ -1180,6 +1189,7 @@
|
||||
"name": "Nombre",
|
||||
"email": "Correo electrónico",
|
||||
"role": "Rol",
|
||||
"subscription": "Subscription",
|
||||
"createdAt": "Creado",
|
||||
"actions": "Acciones"
|
||||
},
|
||||
@@ -1371,7 +1381,7 @@
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"dataManagement": {
|
||||
"title": "Data Management",
|
||||
"title": "Data",
|
||||
"toolsDescription": "Tools to maintain your database health",
|
||||
"exporting": "Exportando",
|
||||
"importing": "Importando",
|
||||
@@ -1436,7 +1446,7 @@
|
||||
"fontJetBrainsMono": "JetBrains Mono"
|
||||
},
|
||||
"generalSettings": {
|
||||
"title": "Configuración general",
|
||||
"title": "General",
|
||||
"description": "Configuración general de la aplicación"
|
||||
},
|
||||
"toast": {
|
||||
@@ -1622,7 +1632,7 @@
|
||||
"collapse": "Colapsar"
|
||||
},
|
||||
"mcpSettings": {
|
||||
"title": "Configuración MCP",
|
||||
"title": "MCP",
|
||||
"description": "Gestiona tus claves API y configura herramientas externas",
|
||||
"whatIsMcp": {
|
||||
"title": "¿Qué es MCP?",
|
||||
@@ -2211,7 +2221,9 @@
|
||||
"exportDefaultNoteTitle": "Synthesis",
|
||||
"exportOpening": "Opening…",
|
||||
"ownerBadge": "Owner",
|
||||
"waveBadge": "Wave {wave}"
|
||||
"waveBadge": "Wave {wave}",
|
||||
"quotaGuest": "El anfitrión de la sesión ha alcanzado su límite de IA. Pídele que mejore su plan.",
|
||||
"quotaHost": "Has alcanzado tu límite de IA para este brainstorm. Mejora tu plan para continuar."
|
||||
},
|
||||
"usageMeter": {
|
||||
"packName": "AI Discovery Pack",
|
||||
@@ -2323,6 +2335,215 @@
|
||||
"checkoutSuccessBody": "Bienvenido a {tier}. Tus funciones están desbloqueadas.",
|
||||
"subscriptionType": "subscriptionType",
|
||||
"renewalDate": "renewalDate",
|
||||
"noRenewalDate": "—"
|
||||
"noRenewalDate": "—",
|
||||
"currentUsage": "Uso actual",
|
||||
"currentPeriod": "Período actual",
|
||||
"aiCredits": "Créditos IA",
|
||||
"used": "usados",
|
||||
"billing": "Facturación",
|
||||
"renewal": "Renovación",
|
||||
"paidPlanDesc": "Su suscripción se renueva automáticamente.",
|
||||
"businessDescription": "Para equipos y líderes de producto."
|
||||
},
|
||||
"landing": {
|
||||
"nav": {
|
||||
"features": "Funciones",
|
||||
"agents": "Agentes IA",
|
||||
"brainstorm": "Brainstorm",
|
||||
"pricing": "Precios",
|
||||
"tech": "Arquitectura",
|
||||
"login": "Iniciar sesión",
|
||||
"cta": "Empezar"
|
||||
},
|
||||
"hero": {
|
||||
"badge": "Impulsado por inteligencia artificial",
|
||||
"title1": "Tu segundo cerebro,",
|
||||
"title2": "por fin amplificado.",
|
||||
"subtitle": "Momento es más que una app de notas. Es un ecosistema inteligente que conecta, analiza y desarrolla tus ideas en tiempo real con 6 tipos de agentes IA y búsqueda semántica de vanguardia.",
|
||||
"cta": "Regístrate ahora",
|
||||
"secondary": "Ver funciones",
|
||||
"memoryEcho": "Memory Echo",
|
||||
"memoryEchoText": "\"Conexión detectada con tu proyecto de diseño sostenible de marzo de 2024...\"",
|
||||
"brainstormLive": "Brainstorm Live",
|
||||
"ideasGenerated": "+12 ideas generadas"
|
||||
},
|
||||
"features": {
|
||||
"label": "Capacidades IA",
|
||||
"title": "Inteligencia fluida,",
|
||||
"title2": "tejida en cada palabra.",
|
||||
"desc": "Momento orquesta tus ideas mediante una arquitectura multi-proveedor.",
|
||||
"f1Title": "Búsqueda semántica",
|
||||
"f1Desc": "Deja de buscar por palabras clave. Encuentra por concepto. Nuestro motor híbrido Vector + FTS entiende la intención detrás de tus notas.",
|
||||
"f2Title": "Chat RAG contextual",
|
||||
"f2Desc": "Conversa con tu conocimiento. Nuestros agentes leen tus notas, exploran la web y analizan tus documentos para responder con precisión.",
|
||||
"f3Title": "Escritura aumentada",
|
||||
"f3Desc": "Reformulación, sugerencias de títulos, etiquetado automático y resúmenes. La IA trabaja en segundo plano para estructurar tu pensamiento."
|
||||
},
|
||||
"agents": {
|
||||
"label": "Agentes especializados",
|
||||
"title": "Delega el trabajo complejo.",
|
||||
"desc": "6 tipos de agentes IA autónomos para automatizar tu investigación, resúmenes y presentaciones.",
|
||||
"scraper": {
|
||||
"title": "Scraper",
|
||||
"desc": "Extrae URLs, analiza feeds RSS y sintetiza información con colocación inteligente de imágenes."
|
||||
},
|
||||
"researcher": {
|
||||
"title": "Researcher",
|
||||
"desc": "Genera consultas complejas, explora fuentes web y redacta notas de investigación estructuradas."
|
||||
},
|
||||
"slideGen": {
|
||||
"title": "Slide Gen",
|
||||
"desc": "Transforma tus notas en presentaciones PowerPoint profesionales o diapositivas HTML interactivas."
|
||||
},
|
||||
"monitor": {
|
||||
"title": "Monitor",
|
||||
"desc": "Analiza continuamente tus cuadernos para detectar tendencias y nuevos insights."
|
||||
},
|
||||
"diagramGen": {
|
||||
"title": "Diagram Gen",
|
||||
"desc": "Convierte tus ideas en diagramas Excalidraw fluidos (mapas mentales, diagramas de flujo) con auto-layout."
|
||||
},
|
||||
"custom": {
|
||||
"title": "Custom",
|
||||
"desc": "Define tus propios agentes con roles y fuentes de datos específicos."
|
||||
}
|
||||
},
|
||||
"brainstorm": {
|
||||
"label": "Olas de pensamiento",
|
||||
"title": "Lluvia de ideas radial en tiempo real.",
|
||||
"waveGeneration": {
|
||||
"title": "Generación por olas",
|
||||
"desc": "Variaciones, analogías y luego disrupciones. La IA lleva tu concepto inicial hasta sus límites."
|
||||
},
|
||||
"collaboration": {
|
||||
"title": "Colaboración nativa",
|
||||
"desc": "Cursores fantasma IA, avatares sincronizados y movimiento de nodos en tiempo real."
|
||||
},
|
||||
"export": {
|
||||
"title": "Exportación semántica",
|
||||
"desc": "Convierte toda tu sesión de brainstorming en notas estructuradas con un clic."
|
||||
},
|
||||
"disruptionLabel": "DISRUPCIÓN",
|
||||
"disruptionText": "Arquitectura modular 2.0",
|
||||
"analogyLabel": "ANALOGÍA",
|
||||
"analogyText": "El ciclo de las mareas"
|
||||
},
|
||||
"tech": {
|
||||
"label": "Arquitectura y proveedores",
|
||||
"title": "Conecta tu propio modelo de IA.",
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"desc": "Configurable de forma independiente con cualquier modelo."
|
||||
},
|
||||
"embeddings": {
|
||||
"title": "Embeddings",
|
||||
"desc": "Configurable de forma independiente con cualquier modelo."
|
||||
},
|
||||
"chatRag": {
|
||||
"title": "Chat RAG",
|
||||
"desc": "Configurable de forma independiente con cualquier modelo."
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Planes y precios",
|
||||
"title": "Elige tu nivel de amplificación.",
|
||||
"desc": "Opciones flexibles para mentes creativas, del uso individual a grandes organizaciones.",
|
||||
"monthly": "Mensual",
|
||||
"annual": "Anual",
|
||||
"perMonth": "/mes",
|
||||
"perMonthAnnual": "/mes, facturado anualmente",
|
||||
"perUser": "+ 3.90€/user",
|
||||
"perUserAnnual": "+ 2.90€/user, billed annually",
|
||||
"popular": "Más popular",
|
||||
"basic": {
|
||||
"name": "Basic",
|
||||
"desc": "Descubre la magia de Momento.",
|
||||
"cta": "Empezar",
|
||||
"feature0": "100 notas máx.",
|
||||
"feature1": "3 cuadernos",
|
||||
"feature2": "50 créditos IA (de por vida)",
|
||||
"feature3": "Búsqueda semántica",
|
||||
"feature4": "Historial 7 días"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"desc": "Para consultores y creadores exigentes.",
|
||||
"cta": "Pasar a Pro",
|
||||
"feature0": "Notas ilimitadas",
|
||||
"feature1": "BYOK (OpenAI/Anthropic)",
|
||||
"feature2": "200 búsquedas semánticas",
|
||||
"feature3": "Agentes (12 ejecuciones/mes)",
|
||||
"feature4": "Historial 30 días",
|
||||
"feature5": "Soporte por email"
|
||||
},
|
||||
"business": {
|
||||
"name": "Business",
|
||||
"desc": "Para equipos y product managers.",
|
||||
"cta": "Elegir Business",
|
||||
"feature0": "10 colaboradores incluidos",
|
||||
"feature1": "BYOK (13 proveedores)",
|
||||
"feature2": "1000 búsquedas semánticas",
|
||||
"feature3": "Agentes (60 ejecuciones/mes)",
|
||||
"feature4": "Brainstorm ilimitado",
|
||||
"feature5": "Acceso API"
|
||||
},
|
||||
"enterprise": {
|
||||
"name": "Enterprise",
|
||||
"desc": "Memoria organizacional segura.",
|
||||
"cta": "Contactar ventas",
|
||||
"feature0": "Todo Business",
|
||||
"feature1": "Agentes ilimitados",
|
||||
"feature2": "SSO / SAML",
|
||||
"feature3": "Audit Logs y SLA",
|
||||
"feature4": "Soporte dedicado",
|
||||
"feature5": "Onboarding en vivo"
|
||||
}
|
||||
},
|
||||
"byok": {
|
||||
"label": "Tecnología cloud abierta",
|
||||
"title": "La estrategia BYOK",
|
||||
"desc": "¿Ya tienes claves API de OpenAI, Anthropic o Google? Conéctalas directamente a Momento. Usa IA sin límites de crédito impuestos, pagando solo lo que consumes con tu proveedor favorito.",
|
||||
"noLockin": "Sin lock-in",
|
||||
"noLockinDesc": "Cambia de proveedor en 1 clic.",
|
||||
"cost": "Costes optimizados",
|
||||
"costDesc": "Paga el precio directo de la API.",
|
||||
"configLabel": "Config multi-proveedor"
|
||||
},
|
||||
"cta": {
|
||||
"title1": "¿Listo para liberar tu",
|
||||
"title2": "máximo potencial?",
|
||||
"desc": "Únete a miles de investigadores, diseñadores y pensadores que ya usan Momento para construir su futuro.",
|
||||
"button": "Lanzar Momento"
|
||||
},
|
||||
"footer": {
|
||||
"desc": "El segundo cerebro amplificado por IA. Diseñado para mentes creativas.",
|
||||
"product": {
|
||||
"title": "Producto",
|
||||
"link0": "Changelog",
|
||||
"link1": "Documentación",
|
||||
"link2": "Roadmap",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"community": {
|
||||
"title": "Comunidad",
|
||||
"link0": "Discord",
|
||||
"link1": "Twitter / X",
|
||||
"link2": "LinkedIn",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"legal": {
|
||||
"title": "Legal",
|
||||
"link0": "Política de privacidad",
|
||||
"link1": "Términos de servicio",
|
||||
"link2": "Política de cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user