Histórico de Versões (Changelog)
Todas as alterações notáveis no projeto LEAI são documentadas nesta página.
[0.3.15] — 2026
📋 Manifesto e Logs de Auditoria no TUI /update & Correção de Contadores
- Geração Automática de Logs de Auditoria no TUI (
_run_update): - O comando
/updateexecutado no modo interativo TUI agora gera automaticamente os manifestos estruturados (latest.json,latest.mdeupdate_YYYYMMDD_HHMMSS.json). - Envio automático dos manifestos de auditoria para o bucket SeaweedFS S3 (
logs/updates/latest.jsonelatest.md) e gravação local em./logs/updates/quando não em modoremote-only. - Correção no Contador de Objetos Modificados do TUI:
- Corrigida a contagem acumulativa de
Modified Objectsno painel de resumo final do/update, garantindo a exibição exata da quantidade de objetos alterados detectados.
[0.3.14] — 2026
🌐 Internacionalização Integral (DocEditor & Doctor)
- Localização Completa do Studio de Documentação TUI (
doc_editor.py): - Internacionalizados todos os catálogos de navegação, paginação, filtros, completude de documentação, menus de edição (1-7 e 0), cabeçalhos e prompts interativos de colunas, rotinas, regras de negócio e tags.
- Localização Completa dos Diagnósticos (
doctor.py): - Traduzidos todos os relatórios de conectividade (Oracle, S3 SeaweedFS, Git, Provedores de IA LLM), checagens de integridade de snapshots e dicas de troubleshooting em português (
pt-BR) e inglês (en-US). - Paridade 100% de Chaves de Tradução:
- Sincronizadas todas as chaves de internacionalização com paridade estrita 1:1 entre
pt-BReen-US.
[0.3.12] — 2026
🛡️ Resiliência Total de Streaming SSE & Decodificação Incremental UTF-8
- Decodificador Incremental UTF-8 Multi-Byte (
iter_sse_lines): - Corrigido o bug crítico em que caracteres multi-byte acentuados em português (
ã,õ,ç,é,🎯,•) divididos entre pacotes TCP/HTTP da conexão SSE causavamUnicodeDecodeErrorsilencioso e descarte de chunks de tokens. - Eliminadas quebras e divisões no meio de palavras (ex:
Reg\n\nras,HAD_SQL_PADRA O,substit uição,du plas). - Implementado
iter_sse_linescomcodecs.getincrementaldecoder("utf-8")unificado em todos os clientes de IA (OpenAI,Gemini,Anthropic,Ollama,DeepSeek,Grok). - Instruções Estritas de Integridade de Saída & Escape de Tags HTML:
- Adicionada diretriz explícita nos prompts do sistema para envolver tags HTML/XML em crases (ex: `
`, `
`, ` `), impedindo que renderizadores Markdown interpretem tags não fechadas como blocos HTML brutos e quebrem parágrafos indevidamente.
[0.3.11] — 2026
⚡ Arquitetura de Directivas em Linha (Inline Directives) & Análise no Chat
- Suporte a Directivas em Linha (
/trace,/tune,/validate,/rule,/plsql,/doc, etc.) em Qualquer Posição do Prompt: - Implementado tokenizador e pré-processador de diretivas inspirado no Antigravity CLI / 2.0.
- Usuários podem combinar livremente menções a objetos (
@TABELA,@PACKAGE), regras de negócio (#REGRA) e comandos slash (/trace,/tune, etc.) em frases conversacionais naturais (ex:me explique @TGOVPE_EPB__VANTAGENS /trace). - Pré-computação Determinística de Linhagem e Risco de Mudança:
- As diretivas
/tracee/lineageagora calculam deterministicamente o grafo de dependências upstream/downstream e a Classificação de Risco de Mudança (CRITICAL,HIGH,MEDIUM,LOW). - Em vez de apenas salvar arquivos externos em disco, o agente entrega a explicação funcional completa, blast radius e diagramas Mermaid (
flowchart TD) diretamente na resposta do chat. - Injeção de Personas Especializadas e Diagnóstico SQL:
- Injeção contextual automática de diagnósticos sargáveis com
/tune, validação de dialeto Oracle com/validate, filtros canônicos de negócio com/rulee personas especialistas (/plsql,/doc,/patch,/impact,/catalog). - Badges visuais em tempo real no terminal TUI (
⚡ Directivas em linha identificadas: /trace).
[0.3.10] — 2026
🌐 Internacionalização Completa do TUI & Modo Remoto SeaweedFS (
no_cache)- Localização e Tradução Integral do Modo Interativo (TUI):
- Traduzidas todas as 30+ descrições de comandos slash (
/doc,/rule,/tune,/validate,/thoughts,/extract,/update,/compile,/annotate,/enrich,/chat,/serve,/trace,/tables,/schema,/changes,/model,/provider,/agent,/workflow,/copy,/save,/audit,/tools,/git,/seaweed,/doctor,/init,/clear,/help,/exit) e suas respectivas opções de autocompletar. - Internacionalizados todos os subargumentos, cabeçalhos de tabelas, painéis de auditoria, inspeção de alterações e seletores de modelo interativo.
- Paridade rigorosa 1:1 entre os catálogos de tradução
pt-BReen-US. - Suporte Completo a
local_cache=False/no_cacheno SeaweedFS: - Corrigida a criação indevida da pasta
./annotationse de arquivos YAML locais quando o LEAI opera no modo remoto com SeaweedFS (no_cache: trueou--no-cache). - As funções
save_annotation,ensure_annotation_stub,sync_schema_annotationsesave_glossaryagora respeitamlocal_cache=False, operando 100% via memória e API S3.
[0.3.9] — 2026
🖥️ Correção de Quebra de Palavras no Terminal & Renderização Markdown Limpa
- Renderização Nativa em Markdown para Workflows e Subagentes:
- Corrigida a quebra incorreta de palavras e quebra de linhas no meio de termos (ex:
Reg\n\nras,rot ina,bloque io,P_ROW\n _NEW,V\n ANTAGENS) na TUI e no CLI. - O relatório de workflows autônomos (
/workflow run,leai workflow run) e a saída de subagentes especializados (/agent,leai agent run) agora utilizam o renderizador RichMarkdowncom realce de sintaxe Monokai entre divisórias sutis (Rule), eliminando o encapsulamento emPanelfechado que causava quebra de texto arbitrário em consoles Windows e terminais com larguras reduzidas. - Facilidade total de seleção e cópia de código com o mouse, sem caracteres de borda vertical interferindo na formatação.
[0.3.8] — 2026
🛡️ Resiliência contra Diretórios Somente-Leitura e Fallback Multi-Camadas
- Fallback Multi-Camadas em
SessionAuditLogger& Histórico TUI: - Corrigido o
PermissionError: [WinError 5] Acesso negadoque ocorria ao executar o comandoleaia partir de diretórios de sistema ou somente-leitura (comoC:\WINDOWS\system32). - O motor de persistência de sessões de auditoria (
SessionAuditLogger) e o histórico do terminal (InteractiveTUISession) agora utilizam uma cascata de diretórios resiliente:./.leai(pasta do projeto local) ➔~/.leai(pasta do usuário) ➔%TEMP%/leai(pasta temporária do sistema) ➔InMemoryHistory. - Garante que o LEAI inicialize perfeitamente a partir de qualquer terminal ou diretório de trabalho sem falhas de permissão.
[0.3.7] — 2026
🎯 Arquitetura RAG 100% Determinística com
@OBJETO& Tool-Calling Dinâmico- Eliminação Total de Falsos Positivos por Heurísticas de Texto Livre: Removida a adivinhação automática de entidades a partir de palavras soltas do texto (
extract_entities_from_question), impedindo que termos comuns do vocabulário (tabela,view,procedure,coluna,data,recadastramento, etc.) casem com rotinas internas homônimas em pacotes gigantes corporativos. - Foco Estrito e Exclusivo em Menções Explícitas com
@: - Quando o usuário menciona
@OBJETO(ex:Na tabela @FUNCIONARIOS...), o motor RAG restringe a resolução 100% e exclusivamente ao objeto selecionado, sem injetar entidades secundárias do restante da frase. - Mantido o limite rico de até 8.000 caracteres por dossiê da entidade focal, trazendo a estrutura completa de colunas, comentários oficiais (
DBA_COL_COMMENTS), chaves primárias/estrangeiras e dependências imediatas. - Desambiguação e Precedência de Objetos de Primeiro Nível: Tabelas e Views têm precedência absoluta sobre procedures internas de outros pacotes com o mesmo nome.
- Economia Extrema de Tokens & Baixa Latência:
- Perguntas em linguagem natural sem
@geram um prompt inicial ultra enxuto (~400 tokens), evitando inchaço de prompt (redução de 72k para < 1k tokens) e quedas drásticas no tempo de resposta. - O Agente utiliza suas ferramentas dinâmicas nativas (
get_table_schema,search_column_comments,search_database_objects,trace_object_dependencies,explain_plsql_object) sob demanda de forma cirúrgica. - Compressão de Skeletons de Pacotes:
extract_package_skeletonsintetiza pacotes de mais de 15 rotinas com sumário compacto, evitando poluição de prompt.
[0.3.6] — 2026
🛠️ Atualização Não-Destrutiva de Layout do
leai.yml& Migração Inteligente- Atualização Inteligente no Script de Instalação (
install.ps1): A etapa de configuração agora detecta arquivosleai.ymlpré-existentes e executa a mesclagem estrutural das novas seções e chaves do layout padrão (comoupdates_log_path,generate_update_log, novos provedores de IA, seçõesgitestorage.seaweedfs), preservando 100% dos valores preenchidos pelo usuário (dsn, schemas, chaves de API, modelos) e criando backup automático (.bak). - Engine de Deep Merge e Renderizador Canônico (
leai.template): Implementadas as funçõesdeep_merge_missing_fields,render_canonical_configeupdate_existing_configpara regenerar a configuração com estrutura numerada e comentários descritivos sem perder campos customizados do usuário. - Comando CLI
leai init --update(-u): Novo comando para atualizar o layout de arquivos de configuração existentes sem exigir sobrescrita destrutiva. - Comando
/initna TUI: O comando de barra/initdentro da sessão de chat agora atualiza o layout existente de forma segura.
[0.3.5] — 2026
🚀 Otimização de Queries (Tuning), Validação Oracle Estrita, Workflow de Engenharia Reversa, Streaming com Raciocínio e TUI Modernizada
- Modernização da TUI (Terminal Interativo Inspirado no Gemini CLI / Claude Code):
- Autocompletar com Prefixos Inteligentes: Suporte a
@para menções a objetos do banco com ícones representativos (📋Tabela,📦Package,⚙️Procedure,👁️View, etc.),#para menções a termos do glossário de regras de negócio (glossary.yml), e/para comandos de barra. - Barra de Status Inferior Dinâmica: Rodapé do terminal exibindo em tempo real o provedor e modelo ativos, schema conectado, status de pensamento (
thoughts:on/off) e atalho de ajuda. - Streaming e Painel de Pensamentos (
🧠 thoughts): Exibição em tempo real do raciocínio interno do modelo antes da resposta e novo comando/thoughts [on|off]para alternar a visualização. - Cards Visuais de Ferramentas: Spinners animados e cronômetro em segundos durante a execução de ferramentas (
⚡ search_database_objects (0.34s)). - Atalhos Multilinha: Suporte a
Alt+EntereCtrl+Jpara quebra de linha em consultas longas e envio comEnter. - Novos Comandos de Barra:
/tune [sql],/validate [sql],/thoughts [on|off],/provider [nome]e expansão de/workflow. - Ferramenta de Otimização e Explicação de Queries (
explain_and_tune_sql): Análise estática avançada de consultas SQL com identificação de sargabilidade (TRUNC,TO_CHAR,UPPER,NVL), riscos de Full Table Scan (FTS), subconsultasNOT INcom armadilha de valoresNULL, subconsultas correlacionadas escalares (efeito N+1), ordenação de índices compostos (colunas de igualdade antes de faixas) e sugestão de reescrita em SQL otimizado assistido por IA. - Validador de Dialeto e Compatibilidade Oracle (
validate_oracle_sql): Ferramenta dedicada para garantir estrita aderência ao dialeto Oracle Database, identificando e corrigindo construções incompatíveis de outros dialetos (LIMIT/OFFSET->ROWNUM/FETCH FIRST,BOOLEAN->CHAR(1),ILIKE->UPPER/REGEXP_LIKE,IFNULL->NVL,DATEADD-> aritmética de datas,GETDATE->SYSDATE,AUTO_INCREMENT->IDENTITY/Sequence,+concatenação ->||) e validando tabelas/colunas contra os metadados dos schemas. - Workflow Autônomo de Engenharia Reversa (
reverse-procedure): Novo pipeline de 5 passos (leai workflow run reverse-procedure <TARGET>, aliases:reverse,decomp) para descompilação de procedures, functions e packages: extrai o código fonte, sintetiza matriz CRUD (SELECT,INSERT,UPDATE,DELETE,MERGE), mapeia chamadas externas e pacotes de sistema (DBMS_OUTPUT,UTL_FILE), decompõe regras de validação/negócio e gera diagramas de fluxo em formato Mermaid (flowchart TD) com relatório funcional completo. - Streaming em Tempo Real com Tool Calling & Tokens de Raciocínio (
on_thought): Suporte nativo a streaming token a token durante as rodadas de tool calling (stream_chat_with_tools), processando e emitindo em tempo real blocos de raciocínio interno (<think>/reasoning_contentno DeepSeek-R1/Qwen 2.5/Ollama,thought: trueno Gemini ethinking_deltano Claude) no terminal e no Web Studio via SSE (event: thought). - Configurações Avançadas de Inferência de Modelos Locais: Suporte a parâmetros
num_ctx,keep_alive,max_tokens,top_peoptionsnoleai.ymlpara Ollama e LM Studio, prevenindo truncamento silencioso em schemas com DDLs extensos. - Atualização dos Subagentes Especialistas:
plsql_analystepatch_generatorforam equipados com acesso aexplain_and_tune_sqlevalidate_oracle_sql.
[0.3.4] — 2026
🛡️ Blindagem Anti-Alucinação, Parser Resiliente de Tools e Padronização de Prompts em Inglês
- Parser Tolerante de Chamadas de Ferramentas (
extract_embedded_tool_calls): Adicionado suporte a extração resiliente de blocos JSON de ferramentas ({"name": "...", "arguments": {...}}) mesmo quando envoltos por texto livre ou preâmbulos conversacionais (problema comum em modelos locais no Ollama/Qwen), além de tags<tool_call>e blocos markdown. - Loop de Auto-Correção (Critique/Reprompting): Se o modelo alucinar promessas de busca ("Vou pesquisar a tabela...") no primeiro turno sem disparar as ferramentas via API, o motor do LEAI intercepta internamente e exige a execução imediata via reprompting, eliminando respostas vazias para o usuário.
- Regra Anti-Preâmbulo (Zero-Preamble) e Few-Shot: Inclusão de regras estritas proibindo preâmbulos conversacionais durante o uso de ferramentas e exemplos few-shot no prompt do sistema.
- Padronização Global de Prompts em Inglês com Resposta no Idioma Definido: Todos os system prompts internos (agente, subagentes, enriquecimento e workflows) foram unificados em inglês para maximizar o raciocínio dos LLMs, acompanhados de uma diretiva mandatória garantindo que a resposta final seja entregue no idioma configurado no projeto (
language: "pt-BR"ou"en-US").
[0.3.3] — 2026
⏱️ Atualização do Cronômetro em Tempo Real na Extração de Metadados (TUI & CLI)
- Eliminação do Congelamento de Timer (
LiveStatusTicker): Implementado o componenteLiveStatusTickercom thread daemon periódica emleai/status.py. O contador de tempo decorrido[MM:SS]na mensagem de status do Rich agora avança continuamente segundo a segundo em tempo real durante queries demoradas do Oracle (Views (querying...),Tables, etc.), evitando a falsa impressão de travamento da aplicação. - Desacoplamento e Thread Safety: O ticker roda desacoplado do I/O de rede e consultas do banco de dados (que liberam o GIL do Python no driver
oracledb), com suporte a Context Manager para encerramento determinístico e seguro após a conclusão de cada schema. - Cobertura Abrangente de Testes: Adicionados testes unitários específicos em
tests/test_status.pycobrindo formatação de duração, updates periódicos em background e tolerância a exceções.
[0.3.2] — 2026
🎨 Melhorias de UI, Localização de Prompt e Resiliência do Updater
- Localização do Prompt de Atualização: O prompt interativo agora exibe
[S/n]no idioma Português (pt-BR) e[Y/n]em Inglês (en-US), com aceitação des/simouy/yes. - Resiliência e Timeout Estendido no Updater: O tempo limite para consulta de novas versões no PyPI foi ampliado de 2.0s para 5.0s, e a busca de destaques no GitHub changelog de 1.5s para 4.0s, prevenindo falsos negativos em redes lentas ou instáveis.
- Loading Animado na Sincronização do SeaweedFS: A sincronização e carregamento de catálogos do SeaweedFS S3 agora contam com spinner animado elegante (
console.status), exibição temporária de confirmação (✓ Catálogo sincronizado com SeaweedFS S3 com sucesso!) e limpeza automática da linha de status, proporcionando uma transição visual fluida para o TUI e Web Studio.
[0.3.1] — 2026
📋 Sistema de Log de Auditoria e Manifesto de Objetos em
leai update- Auditoria de Objetos Modificados: O comando
leai updateagora rastreia e registra formalmente cada objeto Oracle alterado na janela de tempo especificada (tables,views,mviews, packages, procedures, triggers, sequences, indexes, synonyms) com timestamps (last_ddl_time), autor da modificação (last_modified_by) e comentários. - Manifesto Duplo (JSON Estruturado + Markdown): Gravação automática de manifesto em formato JSON (
update_YYYYMMDD_HHMMSS.jsonelatest.json) para integração com pipelines e subagentes, e relatório em tabela Markdown (update_YYYYMMDD_HHMMSS.mdelatest.md) para leitura imediata. - Persistência Remota no SeaweedFS S3: Se o armazenamento remoto estiver ativo, os relatórios e manifestos são automaticamente replicados no bucket S3 sob
logs/updates/. - Configuração e Flags de Linha de Comando: Suporte às flags
--log / --no-loge--log-dirnoleai update, e novas opçõesupdates_log_pathegenerate_update_lognoleai.yml.
[0.3.0] — 2026
⚡ Otimização de Busca de Metadados e Eliminação de I/O de Rede com
annotations_index.json- Eliminação de Gargalo N+1 no SeaweedFS / S3: As ferramentas de busca do assistente (
search_database_objects,search_column_comments,get_table_schemaesearch_business_documentation) agora utilizam um índice centralizado em memória (annotations_index.json). Isso elimina centenas de requisições HTTP sequenciais via rede em modos remotos (--no-cache), reduzindo o tempo de consulta de ~150s para menos de 0.05s. - Preservação de Stubs Vazios: Todos os arquivos
.yml(incluindo stubs sem conteúdo preenchido) continuam existindo normalmente no disco e no S3. Oannotations_index.jsoninclui exclusivamente objetos enriquecidos (com comentários, regras de negócio ou tags modificadas), detectados pela nova funçãois_annotation_enriched. - Sincronização Automática e Incremental: O comando
leai annotatecompila o índice automaticamente e métodos dedicados noSeaweedFSStoragemantêm o índice atualizado a cada alteração ou salvamento individual de anotações. - Busca Inteligente por Tabela em
search_column_comments: Ao pesquisar pelo nome direto de uma tabela (ex.:WEB_DADOS_FUNC), o sistema detecta a entidade e lista imediatamente todas as suas colunas e documentações. - Padronização e Qualidade de Código com Ruff: Formatação canônica aplicada e correções de linting em conformidade com as diretrizes do projeto.
[0.2.30] — 2026
🛡️ Tratamento de Bloqueio de Entrypoint no Windows & Compatibilidade Multiplataforma
- Tolerância a Bloqueio de Arquivo em Execução no Windows (
os error 32): Durante a autoatualização interativa viauv tooloupipno Windows, o executável lançador ativoleai.exenão pode ser sobrescrito pelo instalador. O móduloleai/updater.pyagora detecta essa condição e valida se o pacote Python no ambiente virtual já foi atualizado com sucesso (sys.executableouuv tool list), permitindo que a atualização conclua normalmente e reinicie sem falsos erros para o usuário. - Isolamento de Chamadas de Sistema em Runners de CI: Aplicação de mock para
shutil.whichnos testes unitários simulando Windows, prevenindo que runners Linux/Ubuntu no GitHub Actions invoquem indevidamente o módulo C_winapie garantindo que todos os jobs da matriz de testes passem com 100% de sucesso.
[0.2.29] — 2026
🌐 Localização Integral da Interface TUI e Banner Interativo
- TUI e Banner 100% Dinâmicos: O cabeçalho de boas-vindas, cartões de status do banco e motor de IA, painel de ações rápidas, sugestões de início e barra inferior de status agora se adaptam instantaneamente ao idioma ativo (
pt-BRouen-US). - Guia
/helpe Inspeção Bilíngues: O catálogo de 28 comandos interativos (/help) e as tabelas de inspeção (/tablese/schema) agora contam com títulos de colunas, categorias e descrições traduzidas. - Propagação Consistente de Locale: Inicialização de locale integrada diretamente à classe
InteractiveTUISessione no callback raiz do CLI, garantindo herança em subcomandos comoleai chatcom suporte à flag--lang/-L. - Garantia de Paridade e Testes: Novo teste automatizado
test_tui_localization_and_sessionvalidando que configurações de idioma emleai.ymlou variáveis de ambiente se refletem com precisão no TUI.
[0.2.28] — 2026
🛡️ Correção de Execução de Testes e Reinicialização Multiplataforma
- Sanitização de Argumentos de Reinicialização: Filtragem de palavras-chave e opções de executores de teste (
discover,run,pytest,unittest, arquivos.py,-m,--cov) na reconstrução do comando de reinício emleai/updater.py, impedindo a passagem de argumentos espúrios ao CLI do LEAI. - Isolamento de
os.execvnos Testes Unitários: Inclusão de mock paraos.execvemtests/test_updater.py, eliminando a substituição acidental de processo em ambientes Linux/CI (ubuntu-latest) e resolvendo o erroNo such command 'discover'.
[0.2.27] — 2026
🌐 Conclusão da Localização Integral e Padronização Canônica
- Terminal Canônico 100% em Inglês por Padrão: Varredura exaustiva e migração completa de todas as mensagens residuais em Português no CLI e TUI para o catálogo de internacionalização (
leai/i18n), garantindo saída limpa em Inglês canônico por padrão e tradução instantânea em Português quandolanguage: "pt-BR"estiver ativo. - Tabelas de Status Git e Indicadores do TUI: A tabela
/git status(propriedades, colunas, status de sincronização e avisos de commits à frente/atrás), mensagens de cópia inteligente e dicas de atalhos de clipboard foram 100% integradas ao motor i18n com suporte bilíngue. - Cabeçalhos de Documentação Markdown Bilíngues: Geradores de documentação (
leai/docs.py) agora produzem seções e títulos de Markdown (## Overview,## Columns,## Primary Key,## Foreign Keys,## Business Rules) de forma dinâmica no idioma ativo (## Visão Geral,## Colunas,## Chave Primária, etc. empt-BR). - Web Studio Fallbacks e Telas de Carga: As telas de carregamento do catálogo, mensagens de erro do SeaweedFS e botões de alternância da visualização de linhagem/Mermaid foram integrados ao dicionário i18n da interface Web.
- Prevenção de Colisão e Limpeza de Imports: Remoção de importações locais redundantes de
tque causavamUnboundLocalErrore renomeação de variáveis de iteração que colidiam com o símbolo de tradução.
[0.2.26] — 2026
🌐 Arquitetura de Internacionalização (i18n) Completa (en-US / pt-BR)
- Subsistema de i18n Nativo (
leai/i18n): Mecanismo de internacionalização tipado, leve e sem dependências externas, com catálogos completos para Inglês (en-US, padrão canônico) e Português do Brasil (pt-BR), suportando tags de estilização Rich e interpolação segura com fallback hierárquico. - Resolução Flexível por Precedência: O idioma ativo pode ser determinado por: Flag CLI (
--lang/-L) > Variável de ambiente (LEAI_LANG/LEAI_LANGUAGE) > Configuração (language:emleai.yml) > Fallback canônico (en-US). - Padronização do Terminal, TUI e Updater: Migração de 100% das mensagens interativas do updater, avisos de sincronização do SeaweedFS/Git e comandos de barra do TUI (
/copy,/rule,/git,/init) para o catálogo i18n, exibindo inglês por padrão ou português quando configurado. - Templates Bilíngues de Inicialização: O comando
leai init --lang pt-BRgera um arquivoleai.ymlcom comentários e exemplos em Português, enquantoleai initgera a versão padrão em Inglês. - Integração com o Studio Web: Endpoints
/api/config(GET e POST) sincronizam a preferência de idioma em tempo de execução, e o modal de configurações inclui um seletor visual com atualização dinâmica da UI. - Prompts de IA Bilíngues: Os system prompts de enriquecimento de tabelas, objetos de código (procedures/packages/triggers) e o Copilot de RAG/Chat agora adaptam suas instruções com base no idioma do projeto, gerando regras e explicações em Português quando
language: "pt-BR"estiver ativo, mantendo identificadores SQL técnicos intactos.
[0.2.25] — 2026
🛡️ Correções no Reinício do Auto-Update
- Resolução Robusta de Módulo no Reinício (
python -m leai): Substituição do comando de reinício baseado emsys.argvpor[sys.executable, "-m", "leai"] + sys.argv[1:]. Isso elimina o erro[Errno 2] No such file or directoryno Windows onde o launcher binário (leai.exe/~/.local/bin/leai) era passado como se fosse um arquivo de script.py. - Execução Síncrona em Primeiro Plano no Windows: Substituição de
os.execvporsubprocess.callno Windows para manter a sessão no console do terminal ativa em primeiro plano sem liberar precocemente o prompt do PowerShell.
[0.2.24] — 2026
🛡️ Correções & Estabilidade
- Prevenção de Vazamento de Cursores Oracle: Adicionados blocos
finally: cursor.close()explícitos emfetch_schema_metadata,fetch_focal_traceefetch_available_schemasemleai/oracle.py, garantindo fechamento determinístico de cursores mesmo em caso de erro. - Segurança na Área de Transferência (Clipboard): Remoção de
shell=Trueao chamarclip.exee substituição da interpolação de comandos no fallback do PowerShell por pipe direto viastdin($input | Set-Clipboard), prevenindo potenciais falhas de escape de aspas ou injeção. - Correção de Closures em Loops: Corrigido binding tardio de variáveis de loop em callbacks de progresso assíncronos/UI em
leai/web/server.py,leai/cli.pyeleai/tui/session.py. - Limpeza e Qualidade de Código: Resolução de sobrescrita de variáveis de iteração em
leai/ai/tools.pye simplificação da iteração de dicionários emleai/workflows/__init__.py.
[0.2.23] — 2026
🌟 Adicionado & Aprimorado
- Configurações Granulares de IA no
leai.yml: Suporte atemperatureetimeoutconfiguráveis tanto globalmente quanto sobrescritos individualmente por provedor emai.providers.<nome>. - Controle de Limites Operacionais de Agentes: Adicionados os parâmetros
max_history_turns(janela de histórico do chat),max_agent_iterations(máximo de passos/tools do agente principal) emax_subagent_iterations(máximo de iterações para subagentes especialistas). - Presets de Modelos Locais: Adicionado suporte nativo aos provedores
local(LM Studio, vLLM emhttp://localhost:1234/v1comqwen2.5) ecustom(http://localhost:8000/v1), além de atualizar o modelo padrão doollamaparaqwen2.5-coder:latest. - Documentação Expandida: Atualização completa do
leai.example.yml,README.mde páginas de documentação MkDocs cobrindo todas as configurações de LLMs e modelos locais.
[0.2.22] — 2026
🌟 Adicionado
- Mecanismo de Atualização Automática Interativa (Auto-Update PyPI): O comando interativo raiz
leaiagora verifica automaticamente no PyPI (https://pypi.org/pypi/leai/json) se há uma versão mais recente disponível (com timeout rápido de 2s e modo não-bloqueante/fail-safe). - Detecção Inteligente do Gerenciador de Instalação: Identifica se o LEAI está rodando via
uv tool(uv tool upgrade leai) oupiptradicional (pip install --upgrade leai), além de proteger ambientes de desenvolvimento locais (editable). - Interface de Atualização Amigável: Painel Rich formatado exibindo versão atual, nova versão, destaques de lançamento e link do changelog, com prompt interativo
[Y/n]e reinício automático do processo viaos.execv. - Controles de Desativação: Opção
--no-update-checkna CLI, variável de ambienteLEAI_NO_UPDATE_CHECK=1e chaveupdate_check: falsenoleai.ymlpara ambientes de CI/CD e automações. - Script de Instalação Automatizado do Windows (
install.ps1): Instalador unificado com instalação douv, Ollama, download do modeloqwen2.5-coder, instalação do LEAI CLI e geração automática de ambiente de trabalho eleai.yml.
[0.2.21] — 2026
🌟 Adicionado
- Operação 100% Remota de IA e Agentes via SeaweedFS S3: Todas as ferramentas de banco de dados (
DATABASE_TOOLS_DEFINITIONS), subagentes e workflows agora operam diretamente com o SeaweedFS S3, dispensando a necessidade de metadados técnicos ou anotações locais em disco (raw/,annotations/,docs/). - Fallback Remoto no
lookup_business_term: Acesso instantâneo a termos de negócio, regras organizacionais e filtros SQL canônicos diretamente do bucket (annotations/glossary.yml). - Enriquecimento Remoto de Schemas e Colunas:
get_table_schema,search_column_commentsesearch_database_objectsrecuperam anotações de negócio, regras, tags e descrições humanas de colunas gravadas no S3 para Tabelas, Views e Materialized Views. - Busca Semântica Remota:
search_business_documentationagora varre o catálogo de anotações persistido no S3 vialist_annotated_objects()quando não há anotações locais. - Dossiês e RAG Remotos:
build_rag_contextconsulta anotações remotas do SeaweedFS para montagem de dossiês focais. - Comandos CLI Integrados ao Storage:
leai agent runeleai workflow runagora suportam--seaweed(-W) e--no-cache, carregando automaticamente metadados técnicos diretamente do SeaweedFS.
[0.2.20] — 2026
🌟 Adicionado
- Sincronização Direta de Regras Universais com SeaweedFS no Web Studio: O painel Web Studio (
leai serve//serve) agora carrega, salva e exclui regras de negócio diretamente no bucket SeaweedFS S3 (annotations/glossary.yml), eliminando arquivos sujos locais. - Feedback Visual de Sincronização no Web Studio: Botão "Atualizar" com animação de rotação (spin) durante o carregamento e notificação toast informativa com contagem de regras sincronizadas.
- Indicadores de Progresso em Tempo Real no
leai updatee/update: Visualização dinâmica detalhada a cada etapa (extração de tabelas, views, pacotes e envio para S3) com contadores[atual/total]e medição precisa de tempo decorrido por schema e tempo total. - Habilitação de Versionamento Nativo S3 no SeaweedFS: Suporte a versionamento nativo (
Status: Enabled) para retenção e auditoria contínua de histórico de alterações de metadados e anotações no bucket remoto.
⚡ Correções
- Contagem de Objetos Modificados: Correção no cálculo de
count_schema_objectspara não retornar 1 objeto quando o schema estiver vazio (max(1, total)removido). - Limpeza de Regras Padrão: Remoção de regras estáticas mockadas ("Estágio Probatório") na inicialização do Web Studio, garantindo que o catálogo permaneça limpo se não houver termos cadastrados.
[0.2.19] — 2026
🌟 Adicionado
- Comando
leai updatena CLI e/updateno TUI: Extração incremental cirúrgica de objetos modificados no Oracle em janelas de horas (--hours) ou dias (--days), mesclando metadados técnicos com a foto consolidada de schema e enviando deltas ao SeaweedFS. - Preservação e Mesclagem de Anotações do SeaweedFS: Sincronização inteligente onde descrições, tags, regras de negócio e comentários de colunas existentes no SeaweedFS nunca são perdidos nem sobrescritos.
- Sincronização Contínua do
GLOSSARY.ymlno SeaweedFS: Sincronização automática e persistência em nuvem do glossário de negócio corporativo emannotations/glossary.yml. - Comandos
leai rule del(CLI) e/rule del(TUI): Exclusão de termos de negócio com remoção sincronizada no bucket SeaweedFS. - Mesclagem Não Destrutiva de Regras (
merge_glossaries): Priorização de definições centrais do SeaweedFS em divergências e união de tags e filtros canônicos. - Autocompletar no TUI: Autocomplete aprimorado para
/updatee/rule [list|add|del|find].
[0.2.18] — 2026
🌟 Adicionado
- Comando
leai doctorna CLI: Novo comando e alias oficial paracheck, executando diagnóstico preventivo do Oracle (v$version), permissões de catálogo, diretórios do pipeline, bucket S3 (SeaweedFS), conectividade do modelo de IA e status do GitOps. - Comandos
/doctore/checkno TUI: Diagnóstico completo executável diretamente dentro do terminal interativo (leai chat) com tabela formatada via Rich. - Documentação Atualizada: Referências de comandos CLI e slash commands do TUI atualizados com
/doctor,/seaweed,/git,/rule,/agente/workflow.
[0.2.17] — 2026
🌟 Adicionado
- Sincronização com SeaweedFS S3 no Web Studio (
/serve): Edições de anotações feitas pelo navegador (POST /api/annotations) são sincronizadas diretamente com o bucket S3 em tempo real. - Fallback Remoto de Anotações no Web Studio: O endpoint
GET /api/objectbusca automaticamente a anotação no SeaweedFS caso o arquivo local não exista, criando o cache local de forma transparente. - Feedback Visual de S3 na Interface Web: Indicador de status no cabeçalho (
☁️ S3: <bucket>) e mensagem de confirmação no toast de salvamento. - Subcomando
/seaweed syncno TUI: Sincronização inteligente bidirecional (push + pull com hash SHA-256) agora executável diretamente dentro do terminal interativo. - Isolamento Local do
/doc: O editor de documentação do terminal salva única e exclusivamente no disco local, evitando envios acidentais para a nuvem.
⚡ Melhorias
- Suporte e documentação de políticas de ciclo de vida (Lifecycle Rules) para expiração de histórico não-corrente em
annotations/. - Autocompletion do terminal atualizado com
/seaweed synce modificadores--seaweed,-We--no-cacheno comando/annotate.
[0.2.15] — 2026
🌟 Adicionado
- Documentação Oficial no GitHub Pages: Estrutura completa bilíngue (Português e Inglês) usando Material for MkDocs.
- Agente Autônomo In-Memory: Suporte aprimorado ao loop ReAct e compressão de PL/SQL no comando
leai chat. - Suporte Multi-Provedor de IA: Integrações REST leves com OpenAI, Gemini, Claude, DeepSeek, Qwen e Ollama.
⚡ Melhorias
- Rastreamento de linhagem multi-nível (
trace) com cálculo automático de severidade de risco. - Resolução recursiva de sinônimos públicos e privados (
PUBLIC SYNONYM) e@dblink. - Esqueletização cirúrgica de subprogramas PL/SQL para otimização de até 95% dos tokens.
[0.2.0] — Primeiras Versões
- Extração técnica de catálogo Oracle em JSON.
- Camada editável e não-destrutiva de anotações em YAML.
- Compilação para Markdown com YAML Frontmatter e diagramas Mermaid.
- Suporte a Directivas em Linha (