agents_flutter 0.2.1
agents_flutter: ^0.2.1 copied to clipboard
Flutter integration for the agents framework: a preconfigured harness agent, device-capability context providers and tools, chat history persistence, and configurable model profiles.
Changelog #
0.2.1 #
- Pushover as a harness capability with per-agent gating:
FlutterHarnessAgentOptions.pushoverClient(pluspushoverToolOptions) — when a host attaches a configuredPushoverClient, 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,falseby default.ConfiguredAgentFactorystrips 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.createPushoverToolsandPushoverToolOptions— builds the send, quota, and receipt tool set from one configuration.
0.2.0 #
- Require
agents: ^1.6.0, including the new live shell output stream and callback APIs and persistent-shell stderr capture.
0.1.0 #
First public release. Flutter integration layer for the
agents framework.
FlutterHarnessAgent— a one-callHarnessAgentpreconfigured with the Flutter capabilities, compaction, function invocation, and per-call chat history persistence. Reachable from aChatClientviaasFlutterHarnessAgent(...), or through dependency injection withaddFlutterHarness(...)/useFlutterHarnessAgent(...).- Device-capability context providers and tools, each registrable on a
ServiceCollectionor directly onChatClientAgentOptions:- Temporal —
TemporalContextProviderplus theget_current_timetool. - Connectivity —
ConnectivityContextProvider(withConnectivityMonitor) plus theget_connectivitytool. - Device and app info —
DeviceContextProvider,get_device_info, andget_app_info, withDeviceInfoHostedServiceandPackageInfoHostedServicefor the DI path. - Location —
LocationContextProvider,get_current_location, andgeocode_address. - Network —
NetworkContextProviderandget_current_network_info. - Wake lock — the
set_wake_locktool. - Pushover —
PushoverClientplus thesend_pushover_notification,get_pushover_limits, andcheck_pushover_receipttools, registrable withaddPushover(...). 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-providedPushoverAttachmentResolver, and end-to-end encryption viaPushoverAesEncryptor.
- Temporal —
- Configured agents (
configured_agents/):ConfiguredAgentsManager,ConfiguredAgentFactory,AgentScope, and persistentAgentConfigurationStore/ModelSourceStorefor 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, andOpenAiCompatibleChatClient. - Chat history persistence:
FlutterChatHistoryProvider,ChatMessageCodec, and stale tool-result redaction. - Storage and memory built on
sembast:RecordStorewith in-memory and sembast backends,RecordStoreAgentFileStore, andRecordStoreVectorStorewith a memory scorer. - Downloads:
DownloadServicebacked bybackground_downloader, plus a Hugging Face API client and model downloader. - Logging:
AppLogStore, anAppLogStoreLoggerProvider, andAgentTrafficLoggingAgentfor recording agent request/response traffic. - Chat client decorators:
UsageTrackingChatClientandTextFileInliningChatClient. - A2A pairing helpers under
a2a/. - Adaptive layout widgets under
layout/.