Repository navigation
feat(elements,client): dogfood-driven extensibility APIs (#135–#146) - #148
Merged
Merged
Conversation
Addresses the 12 package gaps found while building a standalone Gemini-clone app on the published packages (tracking #147). All changes are additive. flutter_ai_client 0.3.0: - UseChatController.load(AiConversation): in-place thread switch (#136) - KeyValueChatThreadStore + KeyValueStore: plugin-free persistence (#137) - suggestFollowUps(): contextual follow-up generation (#140) flutter_ai_elements 0.2.0 (requires client ^0.3.0): - AiThemeExtension.chipColor/effectiveChipColor for bubble-less themes (#135) - AiModelSelector labelStyle/labelBuilder/showBorder/padding (#143) - AiConversationList header/footer/trailingBuilder (#144) - AiMessageActions order/trailing + AiMessageActionKind (#145) - AiEmptyState titleStyle/subtitleStyle/background (#141) - AiPromptInput textController for dictation into the composer (#138) - AiLiveController + AiVoiceEngine live-voice adapter (#139) - AiLiveSession backgroundColor (#146) - Document share_plus recipe on AiMessageActions.onShare (#142) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 tasks
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.
Implements all 12 dogfood findings (tracking #147) surfaced while building a standalone Gemini-clone app against the published packages. All changes are additive (backward compatible).
flutter_ai_client 0.2.5 → 0.3.0
UseChatController.load(AiConversation)— in-place thread switch, no dispose/recreate. Closes [client] No in-place conversation switch on UseChatController (add controller.load / thread manager) #136KeyValueChatThreadStore+KeyValueStore— persistent history backed by any key→string store, no plugin dependency. Closes [client] Ship a persistent ChatThreadStore — only InMemoryChatThreadStore exists #137suggestFollowUps(conversation, provider, {count, options})— contextual follow-up generation. Closes [elements] No follow-up suggestion generation helper (AiSuggestions is presentational only) #140flutter_ai_elements 0.1.16 → 0.2.0 (requires client ^0.3.0)
AiThemeExtension.chipColor/effectiveChipColorso bubble-less themes keep visible chips/rows. Closes [elements] Transparent-bubble themes break chip/selection surfaces (AiSuggestions, AiConversationList, scroll-to-latest) #135AiModelSelectorlabelStyle/labelBuilder/showBorder/padding. Closes [elements] AiModelSelector isn't brand-themeable (expose labelStyle/decoration/labelBuilder) #143AiConversationListheader/footer/trailingBuilder. Closes [elements] AiConversationList too minimal for a real sidebar (slots + per-thread trailingBuilder + pin) #144AiMessageActionsorder/trailing+AiMessageActionKind. Closes [elements] AiMessageActions order is fixed — allow reorder/split via actions param or builder #145AiEmptyStatetitleStyle/subtitleStyle/background. Closes [elements] AiEmptyState is icon-only — add a gradient/hero variant #141AiPromptInputtextController. Closes [elements] AiPromptInput.onVoice can't populate the composer (add onTranscript/insertText hook) #138AiLiveController+AiVoiceEnginelive-voice adapter. Closes [elements] Live voice is 100% app-owned plumbing — add an AiLiveController adapter #139AiLiveSessionbackgroundColor. Closes [elements] AiLiveSession is dark-only — add a backgroundColor/brightness knob #146share_plusrecipe onAiMessageActions.onShare(stays plugin-free). Closes [elements] No built-in share action for AiMessageActions.onShare #142Verification
flutter analyze: 0 issuesdart pub publish --dry-run: clean for both🤖 Generated with Claude Code