stream_chat_flutter_ai 0.1.0
stream_chat_flutter_ai: ^0.1.0 copied to clipboard
Stream Chat AI Flutter components. Build AI-powered chat experiences with Stream.
0.1.0 #
First release of stream_chat_flutter_ai — Flutter UI components for building LLM-driven chat
experiences. The package has no dependency on stream_chat, stream_chat_flutter or any other
Stream Chat package: every widget takes plain strings, callbacks and controllers, so it drops into
any Flutter app and pairs with any backend or LLM provider.
✅ Added
StreamingMessageView— renders markdown with a character-by-character typewriter animation, for showing an AI response as it streams in.TypewriterControllerandTypewriterBuilderdrive the same effect on a layout of your own.AIMarkdownBody— the markdown renderer without the animation. LaTeX and syntax highlighting are opt-in through themathBuilderandcodeHighlighterhooks, so neither pulls a dependency into hosts that don't want one.CodeBlockView— a fenced code block with a language label and a copy-to-clipboard button.ChartViewandUSpec— line, bar, area, scatter, bubble, pie, histogram and heatmap charts.USpecParserreads USpec, Chart.js, Plotly, ECharts, Highcharts and Vega-Lite payloads,ChartThemeDatathemes them from your app'sThemeData, and every chart describes itself to a screen reader.AITypingIndicatorView— animated LLM states such as "Thinking…" or "Checking sources…".ChatComposer— an AI composer with attachments, chat options, and a send button that becomes a stop button while a response streams. Its leading, trailing, input and attachment-sheet slots are replaceable throughChatComposerFactory.AISuggestionsView— a row of quick-reply chips for a new-chat landing screen.SpeechToTextButton— dictation into the composer, either standalone or folded into the composer's own send control withenableSpeechToText: true.AIToolRegistry— client-side tool calling. DeclareAIClientTools, hand their registrations to your backend, and dispatch the agent's invocations back into your app.AITranslations— every string the package renders is translatable, through anAITranslationsDelegatefor the app's locale or anAITranslationsScopefor a subtree.AITheme— aThemeExtensioncarryingChartThemeData,ComposerThemeDataandSuggestionsThemeData, narrowed to a subtree withChartTheme,ComposerThemeorSuggestionsTheme. Every field is optional and falls back to your app'sThemeData.