Flutter AI Toolkit Link to heading

  • Multi-Turn State: Automatically preserves conversation context across multiple turns.
  • Streaming Responses: Displays text token-by-token in real-time as the remote model generates it.
  • Rich Text Support: Supports formatted outputs including markdown, bolding, images, and bullet points.
  • Voice Dictation: Enables voice input via the record package, requiring explicit device permissions.
  • Multimedia Attachments: Coordinates file uploads (images, video, audio, PDFs) using file_selector and image_picker.
  • Custom Response Widgets: Lets developers replace plain text walls with specialized, interactive UI components.
  • Pluggable LLMs: Decouples UI from the model using LlmProvider, supporting Firebase or custom model extensions.
  • Secure Project Setup: Requires a linked Firebase project to prevent client-side API key exposure and manage billing.

GenUI SDK Link to heading

  • A2UI Protocol: A JSON-based protocol enabling remote agents to stream dynamic widget compositions instead of code.
  • Conversation Facade: Primary entry point managing localized history and orchestrating the dynamic cycle.
  • A2uiTransportAdapter: Parses raw text streams from the LLM into structured A2uiMessage layout commands.
  • Surface Controller: Orchestrates surface lifecycles and manages active rendering screens.
  • DataModel: A central, observable state store that reactively updates widgets bound to specific data paths.
  • Widget Catalog: A predefined list of registered widgets (CatalogItem) that acts as the strict contract of what the AI can compose.

MCP Server Link to heading

  • Base Protocol: Dart’s experimental dart_mcp supports handshakes like Ping and Progress, but lacks Cancellation.
  • CLI Tool Integration: Exposes core Dart SDK commands (analysis, compilation, project creation, formatting) as schema-validated utilities.
  • Translation Layer: Translates structured MCP arguments into a standard List<String> to delegate to the existing CommandRunner.
  • Stdio Transport: Enables low-latency communication over stdin and stdout using stdioChannel.
  • Self-Correcting Errors: Delivers failures via CallToolResult.isError: true rather than throwing exceptions so the AI can self-correct.

Agent Skills Link to heading

  • Progressive Disclosure: Loads metadata during discovery and fully loads instructions (SKILL.md) only when determined relevant.
  • Workspace Storage: Standardizes storing downloaded or custom workspace instructions in the .agents/skills directory.
  • Official Catalogs: Relies on curated repositories like flutter/agent-plugins and dart-lang/skills for common tasks.
  • Package Distribution: Enables library authors to bundle skills inside pub.dev packages, installable with dart run skills@ get.
  • Unified Skills CLI: Automates multi-assistant configuration via standard npx skills add CLI setup.