flutter_copilot_claw 1.0.6 copy "flutter_copilot_claw: ^1.0.6" to clipboard
flutter_copilot_claw: ^1.0.6 copied to clipboard

Flutter runtime binding for AI-driven app inspection and interaction via Flutter Copilot.

Changelog #

1.0.6 #

Breaking changes (flutter_copilot_claw) #

  • FlutterCopilotBinding.ensureInitialized() now returns void instead of FlutterCopilotBinding. Callers that ignored the return value (the common pattern) need no change; callers that assigned it should access WidgetsBinding.instance directly or drop the assignment.
  • FlutterCopilotBinding.runAppWithConfig(...) has been removed. Use the new captureLogs + runApp pattern below.

New API (flutter_copilot_claw) #

  • FlutterCopilotBinding.captureLogs<R>(R Function() body, {void Function(Object, StackTrace)? onError}) — a thin runZonedGuarded wrapper that forwards print() output and uncaught async errors into the copilot log buffer so they show up in get_logs. Independent of ensureInitialized / runApp, so it composes cleanly with other zone-based tooling (Sentry, Crashlytics, Firebase). Optional onError lets callers forward zone errors to their own reporter.

Release behavior (flutter_copilot_claw) #

  • ensureInitialized(), captureLogs(...), and addLog(...) now all short-circuit to no-ops in release builds — no zone, no copilot services, no VM extensions, no log buffer writes. The same main() now works for debug, profile, and release with zero overhead in shipping builds, so kDebugMode branching at the init site is no longer needed.

Migration #

// Before
void main() => FlutterCopilotBinding.runAppWithConfig(const MyApp());

// After — single path, release-safe
void main() {
  FlutterCopilotBinding.captureLogs(() async {
    FlutterCopilotBinding.ensureInitialized();
    runApp(const MyApp());
  });
}

See the updated "Logging: captureLogs vs addLog" section in the README for guidance on when to use each logging entry point.

1.0.5 #

Bug fixes (flutter_copilot_claw) #

  • flutter_copilot.longPress: fix TypeError: 'String' is not a subtype of 'num?' when a caller supplies duration. VM service extension params arrive as Map<String, String>; the previous as num? cast always threw for non-null values. Now uses the existing _parseDouble helper, matching drag/swipe/distance handling.
  • flutter_copilot.navigate: fix arguments being silently dropped. The nested map arrives as a JSON string via the VM service extension transport, so the params['arguments'] is Map<String, dynamic> check was always false. Now decodes the JSON string via a new _parseArguments helper that accepts both direct maps and JSON-encoded strings.

Tooling (workspace) #

  • Add flutter_copilot_cli (npm, fcc) as a third published package alongside flutter_copilot_claw and flutter_copilot_mcp. All three share one version line managed by the new unified tool/version.dart (which replaces the old tool/generate_version.dart + tool/bump_version.sh).
  • New publish orchestrator tool/publish.sh supports single-package or one-shot three-package releases via --cli / --mcp / --claw / --all plus --version X.Y.Z to bump first.

Tests (flutter_copilot_mcp) #

  • Add integration regression tests for VmServiceConnector.longPress / navigate that assert duration and arguments cross the JSON-RPC wire, and are omitted when the caller passes null. Uses a mock WebSocket VM service so the tests run without a real Flutter app.

1.0.3 #

  • Add demo preview assets and updated release documentation for the published packages.
  • Showcase the demo flow with GIF preview and video links in the repository and package docs.
  • MCP tools: connect, disconnect, get_interactive_elements, tap, enter_text, scroll_to, get_logs, get_rebuild_snapshot, take_screenshots, hot_reload, flutter_copilot_drag, swipe, long_press, double_tap, navigate.

1.0.2 #

  • Update pub.dev metadata, topics, and package descriptions for discoverability.
  • MCP tools: connect, disconnect, get_interactive_elements, tap, enter_text, scroll_to, get_logs, get_rebuild_snapshot, take_screenshots, hot_reload, flutter_copilot_drag, swipe, long_press, double_tap, navigate.

1.0.0 #

  • Initial stable release.
  • MCP server for Flutter app interaction via VM service.
  • Tools: connect, tap, enter_text, scroll_to, drag, swipe, long_press, double_tap.
  • Tools: get_interactive_elements, take_screenshots, get_logs, hot_reload.
  • Tools: get_rebuild_snapshot, navigate.
  • VM service connector with auto-reconnect support.
0
likes
160
points
265
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter runtime binding for AI-driven app inspection and interaction via Flutter Copilot.

Repository (GitHub)

Topics

#flutter #mcp #ai #flutter-copilot #copilot

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on flutter_copilot_claw