PackageTrack
Sign in Get early access

flutter_agent_harness

Cross-platform AI agent harness for Dart and Flutter: streaming provider adapters, agent loop with tools, session persistence, context compaction.

0.1.203 5.4K downloads/mo #3746 most downloaded on pub.dev IstiN/flutter_agent_harness

What this package is like to depend on

Last release today

23 Aug 2026

Ships on a steady schedule

a new release about every 8 days

Nearly every release is documented

notes for 128 of 129 stable releases

Nothing withdrawn

no release was ever pulled

1 months old

129 releases · first in 2026

129 releases in the last 12 months

see the full history below

Release timeline

129 releases · Jul 2026 to Aug 2026
Release Pre-release

Releases

latest 60 of 129
  1. 0.1.203 23 Aug 2026
    Release notes

    Full Changelog: v0.1.202...v0.1.203

    Open source →
    Release notes
    • fix(cli): provider picker, CodeMie auth refresh, skills access
    • feat(session): unify CLI and macOS app session storage
    • fix(providers): restore Kimi endpoint (api.kimi.com/coding/v1) and default model k3
    • fix(cli): auto-refresh expired CodeMie SSO cookie on startup
    Open source →
  2. 0.1.202 22 Aug 2026
    Release notes

    Full Changelog: v0.1.201...v0.1.202

    Open source →
    Release notes
    • fix(install): remove broken Dart fallback, respect FA_INSTALL_DIR, sign macOS CLI in CI
    Open source →
  3. 0.1.200 22 Aug 2026
    Release notes

    Full Changelog: v0.1.199...v0.1.200

    Open source →
    Release notes
    • fix(ios): correct force_load path — pod products live in a per-pod subdir
    • fix(ios): force-load cupertino_http pod binary + CI gate on its FFI symbols
    • fix(flutter_app): project mount sets agent cwd to /project so sessions are folder-scoped
    Open source →
  4. 0.1.199 22 Aug 2026
    Release notes

    Full Changelog: v0.1.198...v0.1.199

    Open source →
    Release notes
    • fix(cli): show auth-method picker when adding openrouter/codemie from TUI
    Open source →
  5. 0.1.195 22 Aug 2026
    Release notes

    Full Changelog: v0.1.194...v0.1.195

    Open source →
    Release notes
    • fix(install): macOS CLI bundle + quarantine/sign handling
    Open source →
  6. 0.1.194 21 Aug 2026
    Release notes
    • fix(ci): merge Release.entitlements into the signed macOS build, don't strip them
    Open source →
  7. 0.1.191 21 Aug 2026
    Release notes
    • feat(cli): add auth-method picker for CodeMie SSO/JWT and OpenRouter OAuth/key
    • feat(cli): auto-restart CodeMie SSO when the saved cookie expired
    • fix(cli): catch uncaught errors and harden provider switch against crashes
    • fix(ui): make ChatComposer transparent and regenerate goldens
    • fix(network): use platform HTTP client for sandbox env, allow local HTTP, log bookmark failures
    • fix(macos): add app-scope bookmark entitlement and surface folder picker errors
    Open source →
  8. 0.1.188 21 Aug 2026
    Release notes
    • feat(app): js_widget_runtime back on hosted pub (^0.4.79, the git pin dropped) — JS apps gain the Material 3 catalog: appBar/navigationBar/ navigationRail/tabBar/fab/segmentedButton/radio/searchBar/tooltip/ popupMenu/banner/bottomAppBar/carousel/drawer, modal overlay nodes (bottomSheet/dialog/snackBar/datePicker/timePicker), flChart (line/bar/pie/radar/scatter via fl_chart), new layout/display/input nodes (wrap/align/flexible/spacer/scroll/clipRRect/svg/markdown/chip/badge/ progress indicators/switch/checkbox/slider/dropdown, textButton/ outlinedButton/iconButton), M3 motion tokens — and the seeded js-apps skill documents the whole catalog
    • fix(providers): one shared keep-alive HTTP client for all provider streams instead of a fresh client per call — per-turn TCP churn piled up TIME_WAIT sockets until connect() stalled into the watchdog (TimeoutException: Future not completed); kimi-cli/pi reuse one client for exactly this reason. Aborts still close just their own response subscription
    • fix(compaction): auto-compaction no longer spins identical no-op passes to the max after a compaction: a pass with nothing left to cut stops the loop, and the post-pass transcript restamp clears the kept messages' stale generation-time usage so the estimate reflects the compacted size (before, a compacted session kept reporting its pre-compaction ~200k and retriggered compaction on every idle wake)
    • fix(tui): the status row is padded to the terminal width — switching from a long model id to a shorter one no longer leaves the old tail on screen
    • fix(cli): the status line is live again — ctx% shows the current context pressure (provider-reported usage plus the estimated tail, i.e. what the next request carries, not the last turn's frozen prompt size) and the tok counter grows during streaming (settled turns + in-flight estimate)
    • fix(providers): inline <think>…</think> tags in the content stream (kimi k3 via openai-completions and other endpoints without a reasoning field) are extracted into the thinking block instead of rendering as raw tags — streaming-safe (tags may split across deltas)
    • fix(tui): history wrapping no longer breaks markdown styling — the wrap is now word-aware (no more mid-word cuts) and active SGR styles are closed at the cut and re-opened on the continuation row, so a wrapped bold/code span keeps its style instead of going plain (visible mostly after resizes)
    • fix(tui): restored sessions no longer lose markdown formatting after an unclosed code fence — replay truncation (20-row cap) and the replay budget cut could leave the fence state dangling, rendering everything after as verbatim text; truncated messages now close their fence synthetically and a budget cut starting mid-fence prepends a balancing opener
    • fix(tui): restored sessions no longer dump the raw <summary>/<read-files> block into the history — a projected compaction/branch summary replays as one dim marker row with the summary's first line as a hint
    • feat(config): provider watchdogs are configurable — providerTimeouts: section in ~/.fah/config.yaml (connectTimeoutMs, streamIdleTimeoutMs; strict parsing) for slow endpoints whose first byte takes minutes; the connect default itself is raised 60s → 180s (loaded reasoning endpoints hold big requests before the first byte) and the stream-idle default 120s → 5min (reasoning models think for minutes between chunks — pi and kimi-cli carry no such watchdog at all / SDK's 600s total)
    • fix(tui): Cyrillic/CJK paste no longer arrives as mojibake — dart_tui 2.0.0's bracketed-paste decoder maps every pasted byte to a Latin-1 char code; fa re-decodes the (lossless) mis-decoded text as UTF-8 at the PasteMsg boundary
    • fix(tui): Ctrl+S no longer freezes the terminal — dart_tui's raw mode left termios IXON on, so Ctrl+S was the tty driver's VSTOP (XOFF: output froze, the keypress never reached the app); the TUI now disables software flow control for its lifetime and restores the saved termios on exit
    • feat(tools): background shell jobs — bash background: true runs detached (log in .fah/bash_jobs/<id>.log), bash_job {status|output|stop} manages them, completions re-enter the conversation as system-notices (steered mid-run, fresh turn while idle)
    • feat(agent): steer soft-yield — a message arriving mid tool-call phase (Ctrl+S, subagent completion, inbox mail) asks yield-aware tools to finish the call early WITHOUT stopping the work: a running foreground bash moves to a background job untouched, a blocking task converts still-running children to background jobs; the user message is delivered at the next step boundary instead of after the whole tool call
    • feat(task): model-facing task_cancel aborts a running background subagent job; /tasks lists background agents AND shell jobs, /tasks cancel <id> routes by id
    • feat(app): background shell jobs on every platform — the desktop app forwards the host shell's capability through ProjectMountEnv; mobile's WasiSandboxShell and web's MemoryShell run jobs as detached script Futures on job-local interpreter clones (own cwd/vars/output capture, shared filesystem), so bash background: true + steer-yield work in the sandbox too
    Open source →
  9. 0.1.187 16 Aug 2026
    Release notes
    • refactor(ui): sane Settings structure — providers include on-device, one Models group
    Open source →
  10. 0.1.186 16 Aug 2026
    Release notes
    • fix(crap): decompose FaTuiModel._submit/_wrappedInput (CRAP 12.14/12.01 -> in budget)
    • refactor(cli): split provider key helpers out of provider_commands.dart (2800-line gate)
    • fix(providers): roles-mode switches preserve the scoped key; messaging presence
    • test(cli): visual integration coverage for the new TUI UX
    • feat(tui): shell-style input history on ↑/↓
    • feat(messaging): live cross-instance chat — discovery, self-address, idle wake
    • test(app): web-safety guard — no Platform.is without a kIsWeb guard
    • test(messaging): visual integration for the agents inbox + terminal-safe marker
    • fix(app): no crash on CodeMie/ChatGPT taps in the web build
    Open source →
  11. 0.1.185 16 Aug 2026
    Release notes
    • feat(tui): leave the mouse to the terminal by default (FA_TUI_MOUSE=1 to capture)
    • fix(app): iOS CodeMie SSO — run the real loopback callback server
    Open source →
  12. 0.1.184 16 Aug 2026

    Nothing published for this version

  13. 0.1.182 16 Aug 2026
    Release notes
    • test(messaging): drop unused import (dart analyze warning)
    Open source →
  14. 0.1.180 15 Aug 2026
    Release notes
    • feat(memory): keyword-only search fallback without an LLM provider
    • fix(subagents): fire-and-forget registry persistence + per-session rehydrate
    • fix(providers): connect + idle watchdogs on provider streams
    • feat(ui): brand provider icons in onboarding, file split, iOS icon sync
    • feat(session): never keep an untouched session file
    • chore: drop unused import
    • fix(cli): provider wizard asks for the key in roles mode; switches accept it
    • feat(subagents): crash-resilient child sessions — spawn-time async creation + incremental turn flush (serialized, fire-and-forget)
    • fix(memory): inject the <memory> section into the system prompt (CLI + app)
    • test(cli): drop flaky real-model live badge visual test (unit-covered badge logic); document why
    Open source →
  15. 0.1.179 15 Aug 2026
    Release notes
    • fix(crap): simplify pickAgentAction dispatch; broaden badge visual soft-skip catch
    • chore: drop unused session_repo imports
    • feat(cli): extract active-agents badge to pure helper + unit tests; soft-skip live badge visual test
    • fix(tui): soft-wrap long input lines instead of horizontal clipping
    • feat(subagents): real JSONL child sessions at completion + /agents open <id> (race-free register)
    • feat(providers): list-first model pickers everywhere — quick search, manual escape, agent models flow
    • feat(cli): /agents child → Open session action — switch into the subagent's session
    Open source →
  16. 0.1.178 15 Aug 2026
    Release notes
    • feat(app): live agents badge in FaWorkBar (CLI bg: parity) + fix cli_visual tests for new settings hub order and /agents tree
    Open source →
  17. 0.1.177 15 Aug 2026
    Release notes
    • feat(ui): onboarding provider step is real and mandatory
    • test(crap): decompose + cover /agents panel methods (pure helpers in agent_tree.dart), public subagentManager getter
    • fix(analyze): drop redundant null guard in agents section
    • feat(app): agents panel in settings — live subagent tree with observe/send (CLI parity)
    • test(cli): /agents tree panel integration test (keyless)
    • feat(cli): agents viz A+B — live agents badge in status line, /agents tree panel with observe/send
    • fix(ui): saturated glyph colors for the light brand icon
    • feat(task): Claude Code agent compat — .claude/agents roots + model: frontmatter alias
    • fix(ui): macOS traffic-light clearance for pushed AppBar routes
    • fix(ui): pin the onboarding Privacy link to the footer center
    • feat(ui): single brand tile everywhere, glyph rebalanced in the icon
    • fix(analyze): drop unnecessary non-null assertion
    • feat(task): subagent model role — settings-picked delegation model (TaskModelsStore + roles: config), smol/explore precedence
    Open source →
  18. 0.1.176 15 Aug 2026
    Release notes
    • fix(analyze): await in try block, drop unused imports
    • test(crap): decompose + cover new subagents/a2a/memory methods (CRAP ≤ 12)
    • feat(ui): brand icon in dark + light forms, styleguide colors in onboarding
    • chore: drop unused imports
    • fix(providers): commit the FA_PROVIDERS filter + enabledProviders definitions unbreaking main
    • style: dart format task_executor
    • docs(subagents): mark all phases done + AGENTS.md bullets for memory/a2a
    • test(subagents): real-model test skips without ZAI key, longer timeout
    • feat(a2a): phase 5b — fah serve --a2a HTTP mount + full client↔server loop verified live
    • feat(ui): onboarding top padding, privacy link, centered wide layout + light macOS icon
    • feat(a2a): phase 5a — a2a: config, A2aManager lazy connect, task tool a2a:<name> remote agents, /a2a status
    • feat(memory): phase 2 — compaction extraction hook, maintain() pipeline, /memory command
    • feat(ui): onboarding redesigned pixel-close to the reference prototype
    • feat(subagents): reply tool, agent_message sibling messaging, completed_without_reply notice + pending-queue guards
    • fix(ci): remove stray file "flutter_app/" breaking the windows checkout
    • feat(ui): Focus Timer as standalone dark card with circular progress ring
    • feat(ui): onboarding rewritten to match reference — 3-col mockups, circular Focus Timer, colorful icons
    Open source →
  19. 0.1.175 15 Aug 2026
    Release notes
    • feat(providers): DIAL provider kind — {baseUrl}/openai/deployments/{model}/chat/completions with Api-Key auth, optional DIAL_API_VERSION query, /openai/models listing; --provider dial --model <deployment> headless
    Open source →
  20. 0.1.173 14 Aug 2026
    Release notes
    • fix(ci): restrict auto-release tag matching to v*..; fix pubspec version
    • feat(ui): auto-focus composer input on session open/switch
    • fix(testflight): fail on submit errors; fix framework bundle IDs; cleanup publish job
    • feat: switch to hosted flutter_agent_memory dep, remove publish_to: none
    • chore: add LICENSE to fa_llm for pub.dev
    • feat: prepare fa_llm for pub.dev publishing
    Open source →
  21. 0.1.164 10 Aug 2026
    Release notes
    • test(cli): avoid real network in /provider custom default URL test
    • refactor(self_manage): lower fallbackZipUpdate CRAP and cover zip path
    • ci: pin crap4dart to 0.2.1 to match pre-commit ratchet
    • fix(installer): fallback to .zip extraction when raw binary not in release
    Open source →
  22. 0.1.162 10 Aug 2026
    Release notes
    • fix(app): key field no longer prefills OPENROUTER_API_KEY for non-OpenRouter providers
    • fix(oauth): native iOS/macOS OAuth via HTTPS callback + custom scheme redirect
    • fix(oauth): iOS web redirect flow with state + verifier
    Open source →
  23. 0.1.157 09 Aug 2026
    Release notes
    • fix(oauth): capture OpenRouter web callback via JS object postMessage
    Open source →
  24. 0.1.152 08 Aug 2026
    Release notes
    • fix(providers): voice sample URLs are case-sensitive on the CDN
    Open source →
  25. 0.1.149 07 Aug 2026
    Release notes
    • feat(apps): Language Tutor rewrite + fitness-trainer device-path probes
    Open source →
  26. 0.1.147 07 Aug 2026
    Release notes
    • fix(macos): surface EventKit authorization failures
    • feat(macos): allow explicit calendar permission bootstrap
    Open source →
  27. 0.1.146 07 Aug 2026
    Release notes
    • fix(macos): split Debug entitlements for local flutter run
    Open source →
  28. 0.1.143 07 Aug 2026
    Release notes
    • feat(macos): privacy prompts, configurable signing, and no-sandbox release for Fa
    Open source →
  29. 0.1.140 06 Aug 2026
    Release notes
    • feat(settings): show on-device providers in the Providers section
    • feat(settings): voice selection for the TTS media slot
    Open source →
  30. 0.1.139 06 Aug 2026
    Release notes
    • docs(gemma): update platform comments for macOS support
    Open source →
  31. 0.1.138 05 Aug 2026
    Release notes
    • feat(gemma): enable on-device Gemma provider on macOS
    • feat(fa_ui): wire fa_llm/fa_llm_flutter into provider config
    Open source →
  32. 0.1.137 05 Aug 2026
    Release notes
    • chore(deps): bump flutter_gemma to latest official releases
    • feat(fa_llm_flutter): add FlutterGemma on-device provider
    Open source →
  33. 0.1.136 05 Aug 2026
    Release notes
    • Add fa_llm package extracted from flutter_agent_memory llm layer
    Open source →
  34. 0.1.135 05 Aug 2026
    Release notes
    • feat(fa_ui): providerId through the connect flow
    Open source →
  35. 0.1.134 05 Aug 2026
    Release notes
    • feat(fa_ui): userBubble/userBubbleBorder tokens in FaUiTheme
    Open source →
  36. 0.1.133 04 Aug 2026
    Release notes
    • feat(fa_ui): avatar builder + theme-driven chat surfaces
    • feat(fa_ui): host surface tokens + optional app bar in FaChatScreen
    • fix(fa_ui): FaChatScreen honors the host FaUiTheme in the chat theme
    Open source →
  37. 0.1.132 04 Aug 2026
    Release notes
    • feat(fa_ui): extract the agent chat into the shared fa_ui package
    Open source →
  38. 0.1.130 04 Aug 2026
    Release notes
    • feat(launcher): 'Restore reference version' tile menu item for demo apps
    Open source →
  39. 0.1.128 03 Aug 2026
    Release notes
    • fix(apps): jscore multi-instance crash override + seed-error surface + map top inset
    Open source →
  40. 0.1.125 02 Aug 2026
    Release notes
    • fix(example): pin js_widget_runtime@9498d0c — revert the native-release grace that defeated the lifecycle serialization (tf-6 SIGSEGV); drop the test-only grace config
    Open source →
  41. 0.1.123 02 Aug 2026
    Release notes
    • feat(site): TestFlight public beta link in the hero CTA row
    Open source →
  42. 0.1.120 02 Aug 2026
    Release notes
    • feat(fa_ui): present editor/picker pages as constrained dialogs on wide canvases
    Open source →
  43. 0.1.119 02 Aug 2026
    Release notes
    • feat(yoclip): Fa promo video workspace — 19s promo in 3 aspects x en/ru (App Preview + social + YouTube), creative treatment, VO, music bed, frame QA
    • test(example): realistic providers in the store_providers frame; pre-commit format gate scopes to package dirs (yoclip/ is a standalone workspace)
    Open source →
  44. 0.1.117 01 Aug 2026
    Release notes
    • feat(example): launcher home on all layouts (legacy session sidebar removed), App Store shots v2 ('your own apps, built by chat'), golden orphan gate
    Open source →
  45. 0.1.116 01 Aug 2026
    Release notes
    • fix(example): close action for full-chrome JS apps (map was unclosable), store copyright name
    Open source →
  46. 0.1.114 01 Aug 2026
    Release notes
    • ci(ios): scope codesign rewrite to Runner, auto-sign the FaLiveActivity extension (bundle-id collision 90685)
    • fix(example): steer button interrupts the run, queued steers run after stop, sheet opens at the latest message
    Open source →
  47. 0.1.113 01 Aug 2026
    Release notes
    • test(example): real-agent E2E on the macOS host + store promo artwork
    Open source →
  48. 0.1.112 01 Aug 2026
    Release notes
    • feat(example): iOS background execution + Live Activity, key resolution fix, crash-churn guard, mini drag pill
    Open source →
  49. 0.1.111 31 Jul 2026
    Release notes
    • fix(example): TestFlight SIGSEGV root cause — serialized engine lifecycle
    Open source →
  50. 0.1.110 31 Jul 2026
    Release notes
    • fix(example): visible run errors, mini last-message strip, iOS-grade drag&drop, weather timeouts
    Open source →
  51. 0.1.109 31 Jul 2026
    Release notes
    • feat: CRAP green zone (max ≤ 8), app integration tests, tool-dup fix
    Open source →
  52. 0.1.108 29 Jul 2026
    Release notes
    • fix(example): TestFlight JSC crash, ownership-aware demo sync, CRAP yellow zone
    Open source →
  53. 0.1.107 29 Jul 2026
    Release notes
    • docs: privacy policy — PRIVACY.md + published site page, onboarding links it
    Open source →
  54. 0.1.106 29 Jul 2026
    Release notes
    • feat(example): app content respects the bottom safe area + onboarding replay
    Open source →
  55. 0.1.105 29 Jul 2026
    Release notes
    • feat(example): icons-per-row setting, tight row gap, pager bounce fix
    Open source →
  56. 0.1.104 29 Jul 2026
    Release notes
    • fix(example): reliable tile drops, full-width grid, widget drag cards
    Open source →
  57. 0.1.103 29 Jul 2026
    Release notes
    • feat(example): first-launch onboarding, scene3d wiring + 3D game demo, sheet/tile polish
    Open source →
  58. 0.1.102 28 Jul 2026
    Release notes
    • feat(example): iOS-style home grid — icon-unit alignment, live reflow, resizable tiles
    • fix(example): drop the border on the floating chat bar/icon — shadow only
    • feat(example): tile span sizes + floating mini chat bar, directional sheet swipes
    • feat(example): live app tiles on the launcher + chat sheet mini-by-default
    Open source →
  59. 0.1.101 28 Jul 2026
    Release notes
    • fix(example): sheet respects the top safe area + light-theme golden
    Open source →
  60. 0.1.100 28 Jul 2026
    Release notes
    • refactor(example): drop unused members left by the sheet v3 rewrite
    • feat(example): sheet v3 — ONE panel: round icon ↔ mini bar ↔ full sheet
    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