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": "Falha ao atualizar configuração de notas recentes"
|
||||
},
|
||||
"aiSettings": {
|
||||
"title": "Configurações de IA",
|
||||
"title": "AI",
|
||||
"description": "Configure seus recursos e preferências com IA",
|
||||
"features": "Recursos de IA",
|
||||
"provider": "Provedor de IA",
|
||||
@@ -917,7 +917,8 @@
|
||||
"autoLabeling": "Sugestões de rótulos",
|
||||
"autoLabelingDesc": "Sugere e aplica rótulos automaticamente às suas notas",
|
||||
"noteHistory": "Histórico de notas",
|
||||
"noteHistoryDesc": "Habilite snapshots de versão e restauração do histórico"
|
||||
"noteHistoryDesc": "Habilite snapshots de versão e restauração do histórico",
|
||||
"titleSuggestions": "Sugestão de títulos"
|
||||
},
|
||||
"general": {
|
||||
"loading": "Carregando...",
|
||||
@@ -1115,7 +1116,13 @@
|
||||
"languageDetection": "Detecção de idioma",
|
||||
"languageDetectionDesc": "Detecta automaticamente o idioma de cada nota",
|
||||
"autoLabeling": "Rotulagem automática",
|
||||
"autoLabelingDesc": "Sugere e aplica rótulos automaticamente"
|
||||
"autoLabelingDesc": "Sugere e aplica rótulos automaticamente",
|
||||
"fallbackSectionTitle": "Provedor de contingência (opcional)",
|
||||
"fallbackSectionDescription": "Usado automaticamente em erros do provedor (429, 5xx). Uma nova tentativa em 1,5 s.",
|
||||
"fallbackProvider": "Provedor de contingência",
|
||||
"fallbackModel": "Modelo de contingência",
|
||||
"fallbackNone": "Nenhum (desativado)",
|
||||
"fallbackModelPlaceholder": "ex.: gpt-4o-mini"
|
||||
},
|
||||
"resend": {
|
||||
"title": "Resend (Recomendado)",
|
||||
@@ -1173,6 +1180,8 @@
|
||||
"deleteFailed": "Falha ao excluir",
|
||||
"roleUpdateSuccess": "Função do usuário atualizada para {role}",
|
||||
"roleUpdateFailed": "Falha ao atualizar função",
|
||||
"tierUpdateSuccess": "Subscription updated to {tier}",
|
||||
"tierUpdateFailed": "Failed to update subscription",
|
||||
"demote": "Rebaixar",
|
||||
"promote": "Promover",
|
||||
"confirmDelete": "Tem certeza de que deseja excluir este usuário?",
|
||||
@@ -1180,6 +1189,7 @@
|
||||
"name": "Nome",
|
||||
"email": "E-mail",
|
||||
"role": "Função",
|
||||
"subscription": "Subscription",
|
||||
"createdAt": "Criado em",
|
||||
"actions": "Ações"
|
||||
},
|
||||
@@ -1371,7 +1381,7 @@
|
||||
"loading": "Carregando..."
|
||||
},
|
||||
"dataManagement": {
|
||||
"title": "Gerenciamento de Dados",
|
||||
"title": "Data",
|
||||
"toolsDescription": "Ferramentas para manter a saúde do seu banco de dados",
|
||||
"exporting": "Exportando...",
|
||||
"importing": "Importando...",
|
||||
@@ -1436,7 +1446,7 @@
|
||||
"fontJetBrainsMono": "JetBrains Mono"
|
||||
},
|
||||
"generalSettings": {
|
||||
"title": "Configurações gerais",
|
||||
"title": "General",
|
||||
"description": "Configurações gerais do aplicativo"
|
||||
},
|
||||
"toast": {
|
||||
@@ -1622,7 +1632,7 @@
|
||||
"collapse": "Recolher"
|
||||
},
|
||||
"mcpSettings": {
|
||||
"title": "Configurações MCP",
|
||||
"title": "MCP",
|
||||
"description": "Gerencie suas chaves API e configure ferramentas externas",
|
||||
"whatIsMcp": {
|
||||
"title": "O que é MCP?",
|
||||
@@ -2211,7 +2221,9 @@
|
||||
"exportDefaultNoteTitle": "Synthesis",
|
||||
"exportOpening": "Opening…",
|
||||
"ownerBadge": "Owner",
|
||||
"waveBadge": "Wave {wave}"
|
||||
"waveBadge": "Wave {wave}",
|
||||
"quotaGuest": "O anfitrião da sessão atingiu o limite de IA. Peça-lhe para atualizar o plano.",
|
||||
"quotaHost": "Atingiu o limite de IA deste brainstorm. Atualize o plano para continuar."
|
||||
},
|
||||
"usageMeter": {
|
||||
"packName": "AI Discovery Pack",
|
||||
@@ -2323,6 +2335,215 @@
|
||||
"checkoutSuccessBody": "Bem-vindo ao {tier}. As suas funcionalidades estão agora desbloqueadas.",
|
||||
"subscriptionType": "subscriptionType",
|
||||
"renewalDate": "renewalDate",
|
||||
"noRenewalDate": "—"
|
||||
"noRenewalDate": "—",
|
||||
"currentUsage": "Uso atual",
|
||||
"currentPeriod": "Período atual",
|
||||
"aiCredits": "Créditos IA",
|
||||
"used": "usados",
|
||||
"billing": "Faturação",
|
||||
"renewal": "Renovação",
|
||||
"paidPlanDesc": "Sua assinatura renova automaticamente.",
|
||||
"businessDescription": "Para equipes e líderes de produto."
|
||||
},
|
||||
"landing": {
|
||||
"nav": {
|
||||
"features": "Funcionalidades",
|
||||
"agents": "Agentes IA",
|
||||
"brainstorm": "Brainstorm",
|
||||
"pricing": "Preços",
|
||||
"tech": "Arquitetura",
|
||||
"login": "Entrar",
|
||||
"cta": "Começar"
|
||||
},
|
||||
"hero": {
|
||||
"badge": "Impulsionado por inteligência artificial",
|
||||
"title1": "O seu segundo cérebro,",
|
||||
"title2": "finalmente amplificado.",
|
||||
"subtitle": "O Momento é mais do que uma app de notas. É um ecossistema inteligente que liga, analisa e desenvolve as suas ideias em tempo real com 6 tipos de agentes IA e pesquisa semântica de ponta.",
|
||||
"cta": "Registe-se agora",
|
||||
"secondary": "Ver funcionalidades",
|
||||
"memoryEcho": "Memory Echo",
|
||||
"memoryEchoText": "\"Ligação detetada ao seu projeto de design sustentável de março de 2024...\"",
|
||||
"brainstormLive": "Brainstorm Live",
|
||||
"ideasGenerated": "+12 ideias geradas"
|
||||
},
|
||||
"features": {
|
||||
"label": "Capacidades IA",
|
||||
"title": "Inteligência fluida,",
|
||||
"title2": "entrelaçada em cada palavra.",
|
||||
"desc": "O Momento orquestra as suas ideias através de uma arquitetura multi-fornecedor.",
|
||||
"f1Title": "Pesquisa semântica",
|
||||
"f1Desc": "Deixe de pesquisar por palavras-chave. Encontre por conceito. O nosso motor híbrido Vector + FTS compreende a intenção por trás das suas notas.",
|
||||
"f2Title": "Chat RAG contextual",
|
||||
"f2Desc": "Converse com o seu conhecimento. Os nossos agentes leem as suas notas, exploram a web e analisam documentos para responder com precisão.",
|
||||
"f3Title": "Escrita aumentada",
|
||||
"f3Desc": "Reformulação, sugestões de títulos, etiquetagem automática e resumos. A IA trabalha em segundo plano para estruturar o seu pensamento."
|
||||
},
|
||||
"agents": {
|
||||
"label": "Agentes especializados",
|
||||
"title": "Delegue o trabalho complexo.",
|
||||
"desc": "6 tipos de agentes IA autónomos para automatizar pesquisa, resumos e apresentações.",
|
||||
"scraper": {
|
||||
"title": "Scraper",
|
||||
"desc": "Extrai URLs, analisa feeds RSS e sintetiza informação com colocação inteligente de imagens."
|
||||
},
|
||||
"researcher": {
|
||||
"title": "Researcher",
|
||||
"desc": "Gera consultas complexas, explora fontes web e escreve notas de pesquisa estruturadas."
|
||||
},
|
||||
"slideGen": {
|
||||
"title": "Slide Gen",
|
||||
"desc": "Transforma as suas notas em apresentações PowerPoint profissionais ou slides HTML interativos."
|
||||
},
|
||||
"monitor": {
|
||||
"title": "Monitor",
|
||||
"desc": "Analisa continuamente os seus cadernos para detetar tendências e novos insights."
|
||||
},
|
||||
"diagramGen": {
|
||||
"title": "Diagram Gen",
|
||||
"desc": "Converte ideias em diagramas Excalidraw fluidos (mapas mentais, fluxogramas) com auto-layout."
|
||||
},
|
||||
"custom": {
|
||||
"title": "Custom",
|
||||
"desc": "Defina os seus próprios agentes com papéis e fontes de dados específicos."
|
||||
}
|
||||
},
|
||||
"brainstorm": {
|
||||
"label": "Ondas de pensamento",
|
||||
"title": "Brainstorming radial em tempo real.",
|
||||
"waveGeneration": {
|
||||
"title": "Geração por ondas",
|
||||
"desc": "Variações, analogias e depois disrupções. A IA leva o seu conceito inicial aos limites."
|
||||
},
|
||||
"collaboration": {
|
||||
"title": "Colaboração nativa",
|
||||
"desc": "Cursores fantasma IA, avatares sincronizados e movimento de nós em tempo real."
|
||||
},
|
||||
"export": {
|
||||
"title": "Exportação semântica",
|
||||
"desc": "Converta todo o brainstorming em notas estruturadas com um clique."
|
||||
},
|
||||
"disruptionLabel": "DISRUPÇÃO",
|
||||
"disruptionText": "Arquitetura modular 2.0",
|
||||
"analogyLabel": "ANALOGIA",
|
||||
"analogyText": "O ciclo das marés"
|
||||
},
|
||||
"tech": {
|
||||
"label": "Arquitetura e fornecedores",
|
||||
"title": "Ligue o seu próprio modelo de IA.",
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"desc": "Configurável de forma independente com qualquer modelo."
|
||||
},
|
||||
"embeddings": {
|
||||
"title": "Embeddings",
|
||||
"desc": "Configurável de forma independente com qualquer modelo."
|
||||
},
|
||||
"chatRag": {
|
||||
"title": "Chat RAG",
|
||||
"desc": "Configurável de forma independente com qualquer modelo."
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Planos e preços",
|
||||
"title": "Escolha o seu nível de amplificação.",
|
||||
"desc": "Opções flexíveis para mentes criativas, do uso individual a grandes organizações.",
|
||||
"monthly": "Mensal",
|
||||
"annual": "Anual",
|
||||
"perMonth": "/mês",
|
||||
"perMonthAnnual": "/mês, faturado anualmente",
|
||||
"perUser": "+ 3.90€/user",
|
||||
"perUserAnnual": "+ 2.90€/user, billed annually",
|
||||
"popular": "Mais popular",
|
||||
"basic": {
|
||||
"name": "Basic",
|
||||
"desc": "Descubra a magia do Momento.",
|
||||
"cta": "Começar",
|
||||
"feature0": "100 notas máx.",
|
||||
"feature1": "3 cadernos",
|
||||
"feature2": "50 créditos IA (vitalícios)",
|
||||
"feature3": "Pesquisa semântica",
|
||||
"feature4": "Histórico 7 dias"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"desc": "Para consultores e criadores exigentes.",
|
||||
"cta": "Upgrade para Pro",
|
||||
"feature0": "Notas ilimitadas",
|
||||
"feature1": "BYOK (OpenAI/Anthropic)",
|
||||
"feature2": "200 pesquisas semânticas",
|
||||
"feature3": "Agentes (12 execuções/mês)",
|
||||
"feature4": "Histórico 30 dias",
|
||||
"feature5": "Suporte por email"
|
||||
},
|
||||
"business": {
|
||||
"name": "Business",
|
||||
"desc": "Para equipas e product managers.",
|
||||
"cta": "Escolher Business",
|
||||
"feature0": "10 colaboradores incluídos",
|
||||
"feature1": "BYOK (13 fornecedores)",
|
||||
"feature2": "1000 pesquisas semânticas",
|
||||
"feature3": "Agentes (60 execuções/mês)",
|
||||
"feature4": "Brainstorm ilimitado",
|
||||
"feature5": "Acesso API"
|
||||
},
|
||||
"enterprise": {
|
||||
"name": "Enterprise",
|
||||
"desc": "Memória organizacional segura.",
|
||||
"cta": "Contactar vendas",
|
||||
"feature0": "Tudo do Business",
|
||||
"feature1": "Agentes ilimitados",
|
||||
"feature2": "SSO / SAML",
|
||||
"feature3": "Audit Logs e SLA",
|
||||
"feature4": "Suporte dedicado",
|
||||
"feature5": "Onboarding ao vivo"
|
||||
}
|
||||
},
|
||||
"byok": {
|
||||
"label": "Tecnologia cloud aberta",
|
||||
"title": "A estratégia BYOK",
|
||||
"desc": "Já tem chaves API OpenAI, Anthropic ou Google? Ligue-as diretamente ao Momento. Use IA sem limites de crédito impostos, pagando apenas o que consome no seu fornecedor favorito.",
|
||||
"noLockin": "Sem lock-in",
|
||||
"noLockinDesc": "Mude de fornecedor em 1 clique.",
|
||||
"cost": "Custos otimizados",
|
||||
"costDesc": "Pague o preço direto da API.",
|
||||
"configLabel": "Config multi-fornecedor"
|
||||
},
|
||||
"cta": {
|
||||
"title1": "Pronto para libertar o seu",
|
||||
"title2": "pleno potencial?",
|
||||
"desc": "Junte-se a milhares de investigadores, designers e pensadores que já usam o Momento para construir o futuro.",
|
||||
"button": "Lançar Momento"
|
||||
},
|
||||
"footer": {
|
||||
"desc": "O segundo cérebro amplificado por IA. Feito para mentes criativas.",
|
||||
"product": {
|
||||
"title": "Produto",
|
||||
"link0": "Changelog",
|
||||
"link1": "Documentação",
|
||||
"link2": "Roadmap",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"community": {
|
||||
"title": "Comunidade",
|
||||
"link0": "Discord",
|
||||
"link1": "Twitter / X",
|
||||
"link2": "LinkedIn",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"legal": {
|
||||
"title": "Legal",
|
||||
"link0": "Privacidade",
|
||||
"link1": "Termos de serviço",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user