Dev - #1
Merged
Merged
Conversation
Remove abreviação de namespace (iam_ → in_app_messages_), remove deduplicação de invoke keys, preserva nomes originais de parâmetros e métodos. Score de comparação: 54% → 92%.
- Adiciona guard PascalCase e single-class em _detect_namespace - Substitui regex [^)]* por extração balanceada de parênteses - Remove abreviação/dedup de invoke keys (usa nome completo) - Simplifica normalização de métodos e parâmetros - Adiciona parsing de re-exports do barrel file - Converte defaults Dart (true/false) para Python (True/False)
- Corrige _sanitize_python_type que corrompia nomes terminados em 'e' (ex:LaunchMode → LaunchMod) por uso incorreto de rstrip
- Adiciona Uri e Rect ao mapeamento Dart→Python no type_map
- Expande _known_types para incluir enums locais e helper classes, não apenas re-exports
- Corrige _py_default para converter defaults Dart complexos (const X(), Enum.value) para None
- Corrige parsing de parâmetros named: { retroativamente marca espaços anteriores como is_named
- Adiciona Stream<T> ao regex de bare getters para detectar eventos como onBatteryStateChanged
- Strip de comentários /// antes de parsing de valores de enums (fix LaunchMode)
- Filtra classes que estendem StatelessWidget/StatefulWidget (fix Link)
- Detecta false positives dentro de string literals (_is_inside_string)
- Valida return types de funções top-level contra tipos Dart válidos
- Gera dataclasses Python a partir de helper classes locais (Configuration, Params, etc.)
- Resolve tipos de platform_interface baixando e parseando pacotes auxiliares
- Integra resolve_platform_types no pipeline de geração
- Remove funções não utilizadas do parser, analyzer e base generator - Adiciona enums comuns do Flutter ao type_map (TileMode, WrapAlignment, etc.) - Corrige tipo float = None → float | None = None em propriedades - Expande platform guard para incluir macOS, Windows e Linux - Importa apenas tipos efetivamente usados no arquivo de controle - Remove Optional[dict | None] redundante nos tipos gerados
…go morto no analyzer
…néricos e remove código morto
…et SDK. - Novo option "Auto-detect (recommended)" que baixa o pacote Flutter e detecta se contém widgets (ui_control) ou não (service) - Verifica PyPI, GitHub e monorepo flet-dev/flet por pacotes existentes antes de criar, com confirmação interativa - Novo módulo registry_checker.py com check_pypi, check_github e check_flet_packages
Removed the Flet OneSignal image and header from the README.
…troller/Painter type filter and Fit->ft.BoxFit mapping
…' mapeia enums desconhecidos para str
…ase, enum suffixes, tipos indefinidos)
Adiciona suporte a sub-controles compostos (SubControlPlan) e corrige bugs encontrados na validação com o pacote health (42 métodos, 14 enums).
Updated image link in README and corrected alignment.
…xamples.
- Add ErrorEvent dataclass to types.py.jinja (service and ui_control)
- Add on_error event handler to control stubs (Service and LayoutControl)
- Export ErrorEvent in __init__.py.jinja for both template types
- Add try/catch + _handleError with triggerEvent("error") in Dart service stub
- Add on_error lambda in example main.py.jinja (logger.error or print)
- Add TODO comment guiding developers to replace example_method
- Add 2 scaffolder tests validating on_error and ErrorEvent in generated stubs
…rvice, and example hints
… Flutter. Bugs corrigidos (encontrados via plugins python-reviewer, code-reviewer, security-reviewer): - analyzer: _sanitize_python_type retornava 'dict | None' para tipos não-nullable - analyzer: Optional[T] misturado com T | None no output gerado - python_types: 'dict = None' sem anotação 'dict | None' (3 ocorrências) - dart_service: double-replacement widget.widget.control. em widget families - python_control/types/init: sub-control events nunca importados/gerados - dart_service: sub-control widgets sem try/catch (main widgets tinham) - pipeline: exception silenciada sem warning em resolve_platform_types
…or) + reescrever README - Adicionar refinamento de código por IA usando pydantic-ai (uv add flet-pkg[ai]) - Implementar padrão Architect/Editor: análise de gaps → raciocínio LLM → edições de código → validação - Suportar 4 providers: ollama (padrão), anthropic, openai, google - Atualizar modelos padrão: claude-sonnet-4-6, gpt-4.1-mini, gemini-2.5-flash, qwen2.5-coder - Adicionar opções CLI --ai-refine, --ai-provider, --ai-model com painéis rich - Adicionar prompts interativos de IA (seleção de provider, avisos de API key, instruções Ollama) - Corrigir from __future__ import annotations quebrando @agent.tool do pydantic-ai em runtime - Corrigir mensagem duplicada 'AI refinement failed' (pipeline + create imprimindo ambos) - Adicionar mensagens de erro amigáveis para quota, chave inválida, rate limit e timeout - Reescrever README com aviso importante, referência completa do CLI, docs de IA e exemplos - Priorizar UV sobre pip em todas as instruções de instalação - Adicionar 33 testes para o pipeline de IA (gap analyzer, config, models, edits, validação)
Added emojis to the important note for emphasis.
…orreções de IA - Adicionar servidor MCP (src/flet_pkg/mcp/) para integração com IDEs - Adicionar about_pkg_flet.md.jinja aos templates service e ui_control com guia em 4 partes (Iniciante/Intermediário/Avançado/Prático), checklist de debugging, analogia do controle remoto e docs de uv build/publish - Adicionar scripts/flet_log.py e flet_log.sh (visualizadores Android LogCat) em ambos os templates - Corrigir nome do modelo Ollama: usar tag completa (qwen2.5-coder:14b) em vez de nome sem tag para evitar 404 na API OpenAI-compatible - Adicionar detecção dinâmica de modelos Ollama no modo interativo via /api/tags - Aumentar retries do Agent pydantic-ai de 1 para 3 para modelos menores - Corrigir falso positivo de 'quota exceeded' para provider Ollama local - Adicionar mensagens de erro para context-length e output estruturado
…breakdown. Adiciona flag --verbose/-v ao comando create que exibe saída detalhada em cada etapa do pipeline (parse, analyze, generate, AI refine) e uma tabela Rich com breakdown de cobertura por categoria (Methods, Events, Enums, Properties). O score de cobertura (ex: 'Coverage: 95.4%') é sempre exibido, mesmo sem -v. Libera -v de --version (mantém apenas --version). Inclui 7 novos testes e atualização do README.
…icas. O gerador de controles, Python, não verificava plan.properties nem sub-controls ao decidir se Any precisava ser importado de typing. Tipos como dynamic/Object mapeados para Any geravam código inválido (ex: builder: Any | None = None sem import). Corrige também sibling widgets com o mesmo problema.
… refinement. - Adiciona exibição de diffs coloridos no terminal (verbose) mostrando o que a IA alterou, com sugestões pendentes do Architect listadas separadamente. - Gera arquivo .ai-review.md com diffs e sugestões completas sempre que --ai-refine é usado. - Inclui spinners animados alinhados à tree visual durante chamadas LLM (Architect e Editor) para indicar progresso ao desenvolvedor. - Exibe comparação antes/depois do coverage score quando a IA melhora a cobertura (ex: "Coverage: 75.3% -> 80.0% (+4.7% with AI)"). - Corrige templates de exemplo com [tool.flet.app] path e versão explícita em dependencies. Adiciona tratamento de erro 500 do provider.
… docs MCP. - Adicionar docstrings Google-style em ~20 arquivos fonte (scaffolder, validators, main, create, generators, pipeline, analyzer, ai/refiner, mcp/server) - Criar página de documentação do MCP Server (docs/mcp-server.md) - Atualizar architecture.md com seções AI Refinement, Generators, Pipeline, MCP - Atualizar cli-reference.md com --ai-refine, --ai-provider, --ai-model, --verbose - Adicionar @pytest.mark.network nos testes de cobertura, excluir do CI - Remover tests/fixtures/compound_widget/ (não utilizado) - Adicionar exemplos de prompts MCP na docs e README
…ations desnecessários
…trar falsos métodos Dart (catch/finally).
Updated badge links and added new community resources.
…C e badge dinâmica.
…busca GitHub por nome do repo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.