PackageTrack
Sign in Get early access

agents_flutter

Flutter integration for the agents framework: a preconfigured harness agent, device-capability context providers and tools, chat history persistence, and configurable model profiles.

0.8.0 jamiewest/agents

What this package is like to depend on

Last release 23 days ago

31 Jul 2026

Too new to tell

only 1 release windows

Nearly every release is documented

notes for 7 of 7 stable releases

Nothing withdrawn

no release was ever pulled

0 months old

7 releases · first in 2026

7 releases in the last 12 months

see the full history below

Release timeline

7 releases · Jul 2026 to Jul 2026
Release Pre-release

Releases

latest 7
  1. 0.8.0 31 Jul 2026
    Release notes
    • Breaking: requires agents: ^2.0.0. Inherits the workflow changes: streamAsync / resumeStreamAsync now return a live run driven in the background (watch StreamingRun.watchStreamAsync() rather than reading outgoingEvents straight after the await), external responses route by request id back to the issuing executor and throw when they cannot be routed, and WireMarshaller.valueConverters lets hosts checkpoint payloads outside the JSON model.
    • Breaking: requires extensions: ^0.6.0 and extensions_flutter: ^0.5.0. Inherits the AI function-invocation change: the invocation loop withholds function declarations on a final tool-free round trip instead of returning unanswered tool calls, and throws once maximumConsecutiveErrorsPerRequest is exceeded rather than returning a partial response. Agents configured with a low iteration or error limit will see one extra provider call, or a thrown error where a partial response used to come back.
    • Breaking: requires geocoding: ^5.0.0, which moved its top-level functions onto a Geocoding class. The ReverseGeocoder and ForwardGeocoder defaults are now the new top-level reverseGeocodeCoordinates and forwardGeocodeAddress functions in this package, which wrap a shared Geocoding instance. Injected fakes are unaffected, and the Placemark / Location types are unchanged. Reverse geocoding now also works on macOS, via the new geocoding_darwin implementation.
    • Breaking: requires anthropic_sdk_dart: ^6.0.0, whose types appear in the configured-chat-client factory surface.
    • Verified against the current releases of the unchanged constraints, including background_downloader 9.5.7, connectivity_plus 7.3.1, intl 0.20.3, network_info_plus 8.2.1, timezone 0.11.1, and wakelock_plus 1.7.0.
    Open source →
  2. 0.7.0 30 Jul 2026
    Release notes
    • Breaking: ConfiguredChatClientFactory.customClientResolver gains an AgentScope? scope parameter, forwarded from createChatClient. Host resolvers can now key per-conversation state (for example a local model's KV-cache lineage) to the conversation a client serves, removing the need for scope-aware factory subclasses.
    • Removed the empty, never-exported src/ai_agent_provider.dart placeholder.
    • New telemetry/ subsystem, folded in from the downstream app: UsageStore (the durable usage_records ledger implementing UsageRecordSink, now living beside UsageTrackingChatClient), AgentRunTelemetryStore with crash recovery (recoverInterrupted), AgentRunScope (an AgentScope carrying agent and run ids for usage attribution), and AgentCenterOverview time-series aggregation over the two ledgers.
    • New activity/ subsystem: AppActivityMonitor (app-wide idle signal; hosts report foreground transitions via reportForeground(bool) — a deliberate change from the app's reportLifecycle(AppLifecycleState) so the class stays free of Flutter imports) and the ToolActivity registry with ToolActivityTrackingChatClient.
    • a2a/ gains the host side to match its existing pairing client: A2AHostService (a shelf-backed HTTP server exposing local configured agents to paired devices, with single-use pairing tokens, SHA-256 bearer authorization, and per-caller session isolation) behind an io/stub conditional facade, plus NetworkSharingSettings. Adds shelf and pool dependencies (server platforms only at runtime; the web stub reports hosting unsupported).
    • web/ gains the search side folded in from the app: SearchUrlWebSearchSource (query any q=-style endpoint; JSON/SearXNG or HTML parsing with redirect unwrapping), WebSearchSettings (SecretStore-backed multi-endpoint config with categories and user-agent profiles), WebSearchTraceLog + TracingWebPageLoader (opt-in HTTP tracing), and WebPageHtmlRenderer (renamed from the app's WebPageRenderer to avoid colliding with this package's web_page_renderer.dart markdown helpers) with HeadlessWebViewHtmlRenderer — a reimplementation of the app's webview_flutter renderer on flutter_inappwebview, gated by a static isSupported (Android/iOS/macOS/Windows). The app no longer needs webview_flutter; one WebView stack serves both loading and rendering.
    • Settings colocated with the subsystems they configure: PushoverSettings (→ pushover/), EmbeddingSettings (→ memory/, it is the MemoryScorer handed to RecordStoreVectorStore), ThinkingSettings (→ configured_agents/), and a new user_profile/ capability folder (UserProfileSettings + UserProfileContextProvider). Persisted key literals are unchanged (including historical agents_app. prefixes) so existing installs keep their data.
    • activity/ also gains the chat terminal subsystem, reworked during the fold-in from an xterm-backed buffer to a terminal-widget-free design: ChatTerminalSession records a capped ring of semantic TerminalEvents (command started / output chunk / completed / failed / cleared) with a sync broadcast onEvent stream and events replay, the TerminalActivity registry keys sessions per conversation (delegate scopes fold onto the parent), and TerminalMirroringShellExecutor mirrors any ShellExecutor into a session. Presentation — prompt markers, ANSI colors, CRLF, status lines — is the host renderer's job (the reference app binds events to an xterm buffer).
    • New package:agents_flutter/chat_provider.dart entry point: the chat view-model contract folded in from the downstream app — LlmProvider, the UI-facing ChatMessage/Attachment/MessageOrigin/ToolApproval types, LlmException, TokenSmoother, AgentLlmProvider (bridges an AIAgent into the contract with tool-approval pause/resume, run telemetry, and activity reporting), and EchoLlmProvider (renamed from the app's EchoProvider; useful as a UI test double). It is a separate library, not part of the main barrel, because the UI-facing ChatMessage would collide with package:extensions/ai.dart's wire-level ChatMessage in any file importing both.
    • New conversations/ subsystem: the Conversation/ConversationSession/ Channel domain, ConversationStore + ConversationSessionStore + ChannelStore (RecordStore-backed, collection names unchanged from the app), ConversationService, the ChatsQuery filter model, the ChatTitleSummarizer background service, and an addConversations() / addChatTitleSummarizer(residentTitleClient:) registration pair.
    • New tasks/ subsystem: AgentTask (+ recurrence), AgentTaskStore, TaskSchedulerService, and addTaskScheduler(). The scheduler stays a plain singleton the host starts explicitly.
    • chat_history/ gains ChatTranscriptStore, co-located with ChatMessageCodec/ChatMessageRecords whose record shape it reads; a contract test now pins the record field literals and the write→read round-trip.
    • logging/ gains PromptLog and PromptLoggingChatClient (+ renderRequest); configured_agents/ gains LoggingConfiguredChatClientFactory (prompt capture, usage attribution, tool-activity tracking in one decorator stack) and chooseLocalWarmupTarget for pre-loading a local model at startup. The chat-client decorator is named PromptLoggingChatClient — not the app's original LoggingChatClient — to avoid colliding with package:extensions/ai.dart's class of that name.
    Open source →
  3. 0.6.1 29 Jul 2026
    Release notes
    • HeadlessWebViewPageLoader accepts an optional userAgent, sent with every page load in place of the platform WebView's default. Hosts opt in explicitly (for example from a user-managed profile); when omitted, behavior is unchanged and the system default is sent.
    Open source →
  4. 0.3.0 28 Jul 2026
    Release notes
    • Add vendor-neutral local web search and direct page-opening tools for the Flutter harness. open_web_page renders JavaScript in an isolated, incognito headless WebView, extracts readable text and metadata, and applies a configurable public-network navigation policy.
    • A configured local search source replaces the hosted web-search marker. A page loader may instead add only open_web_page while retaining hosted search. Both retain the existing per-agent web-search access gate.
    • Add native headless page loading on Android, iOS, macOS, and Windows using flutter_inappwebview, with structured timeout, navigation, HTTP, loading, empty-content, and challenge-detection results. Flutter web reports the capability as unsupported.
    Open source →
  5. 0.2.1 28 Jul 2026
    Release notes
    • Pushover as a harness capability with per-agent gating:
      • FlutterHarnessAgentOptions.pushoverClient (plus pushoverToolOptions) — when a host attaches a configured PushoverClient, the harness adds the Pushover tools. Client-gated rather than flag-gated: the tools send real notifications, so they exist exactly when the host attached a client.
      • AgentAccessConfig.enablePushover — opt-in per saved agent, false by default. ConfiguredAgentFactory strips the client from agents that have an access record without the opt-in, wherever the client was attached; agents without an access record keep the harness default.
      • createPushoverTools and PushoverToolOptions — builds the send, quota, and receipt tool set from one configuration.
    Open source →
  6. 0.2.0 28 Jul 2026
    Release notes
    • Require agents: ^1.6.0, including the new live shell output stream and callback APIs and persistent-shell stderr capture.
    Open source →
  7. 0.1.0 28 Jul 2026
    Release notes

    First public release. Flutter integration layer for the agents framework.

    • FlutterHarnessAgent — a one-call HarnessAgent preconfigured with the Flutter capabilities, compaction, function invocation, and per-call chat history persistence. Reachable from a ChatClient via asFlutterHarnessAgent(...), or through dependency injection with addFlutterHarness(...) / useFlutterHarnessAgent(...).
    • Device-capability context providers and tools, each registrable on a ServiceCollection or directly on ChatClientAgentOptions:
      • Temporal — TemporalContextProvider plus the get_current_time tool.
      • Connectivity — ConnectivityContextProvider (with ConnectivityMonitor) plus the get_connectivity tool.
      • Device and app info — DeviceContextProvider, get_device_info, and get_app_info, with DeviceInfoHostedService and PackageInfoHostedService for the DI path.
      • Location — LocationContextProvider, get_current_location, and geocode_address.
      • Network — NetworkContextProvider and get_current_network_info.
      • Wake lock — the set_wake_lock tool.
      • Pushover — PushoverClient plus the send_pushover_notification, get_pushover_limits, and check_pushover_receipt tools, registrable with addPushover(...). Credentials stay out of the tool schema, so a model chooses what a notification says but never who receives it. Supports multipart image attachments, resolved from a model-supplied reference through a host-provided PushoverAttachmentResolver, and end-to-end encryption via PushoverAesEncryptor.
    • Configured agents (configured_agents/): ConfiguredAgentsManager, ConfiguredAgentFactory, AgentScope, and persistent AgentConfigurationStore / ModelSourceStore for defining and switching agents at runtime.
    • Model profiles (configured_agents/model_profile/): per-model chat and tool-call formats (Hermes, Llama 3, Mistral, LFM2), streaming tool-call decoding, think-tag filtering, GGUF metadata inspection, and OpenAiCompatibleChatClient.
    • Chat history persistence: FlutterChatHistoryProvider, ChatMessageCodec, and stale tool-result redaction.
    • Storage and memory built on sembast: RecordStore with in-memory and sembast backends, RecordStoreAgentFileStore, and RecordStoreVectorStore with a memory scorer.
    • Downloads: DownloadService backed by background_downloader, plus a Hugging Face API client and model downloader.
    • Logging: AppLogStore, an AppLogStoreLoggerProvider, and AgentTrafficLoggingAgent for recording agent request/response traffic.
    • Chat client decorators: UsageTrackingChatClient and TextFileInliningChatClient.
    • A2A pairing helpers under a2a/.
    • Adaptive layout widgets under layout/.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive