@bdayadev/flutter-ultra-mcp 1.9.4 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "name": "flutter",
12
12
  "description": "Durable cross-platform Flutter automation via 8 specialized MCP servers, in-app mixin binding, and an optional DevTools panel. Replaces marionette_mcp and the official dart mcp-server for Claude Code.",
13
- "version": "1.9.4",
13
+ "version": "1.10.0",
14
14
  "author": {
15
15
  "name": "Bdaya-Dev",
16
16
  "url": "https://github.com/Bdaya-Dev"
@@ -23,5 +23,5 @@
23
23
  "tags": ["flutter", "dart", "mcp", "testing", "automation", "patrol", "cross-platform"]
24
24
  }
25
25
  ],
26
- "version": "1.9.4"
26
+ "version": "1.10.0"
27
27
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "flutter",
4
- "version": "1.9.4",
4
+ "version": "1.10.0",
5
5
  "description": "Durable cross-platform Flutter automation via 8 specialized MCP servers, in-app mixin binding, and an optional DevTools panel. Replaces marionette_mcp and the official dart mcp-server for Claude Code.",
6
6
  "author": {
7
7
  "name": "Bdaya-Dev",
@@ -26,11 +26,14 @@ void main() {
26
26
  class AppBinding extends WidgetsFlutterBinding
27
27
  with SentryWidgetsBindingMixin, UltraFlutterBinding {}
28
28
 
29
- void main() {
29
+ void main() async {
30
30
  if (kDebugMode) {
31
- AppBinding.ensureInitialized();
31
+ AppBinding();
32
+ } else {
33
+ WidgetsFlutterBinding.ensureInitialized();
32
34
  }
33
- // ...
35
+ await SentryFlutter.init((options) { /* ... */ });
36
+ runApp(const MyApp());
34
37
  }
35
38
  ```
36
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bdayadev/flutter-ultra-mcp",
3
- "version": "1.9.4",
3
+ "version": "1.10.0",
4
4
  "description": "Flutter Ultra MCP plugin monorepo — 8 MCP servers + ultra_flutter Dart packages + skills for Claude Code.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Bdaya-Dev/flutter-ultra-mcp",
@@ -28,27 +28,43 @@ Expected end state: `UltraFlutterBinding` initialized in the app entry point, `u
28
28
 
29
29
  ```dart
30
30
  import 'package:flutter/foundation.dart';
31
+ import 'package:flutter/widgets.dart';
31
32
  import 'package:ultra_flutter/ultra_flutter.dart';
32
33
 
33
34
  void main() {
34
35
  if (kDebugMode) {
35
36
  UltraFlutterBinding.ensureInitialized();
37
+ } else {
38
+ WidgetsFlutterBinding.ensureInitialized();
36
39
  }
37
40
  runApp(const MyApp());
38
41
  }
39
42
  ```
40
43
 
41
- **With Sentry** (custom binding mixin):
44
+ **With Sentry** (composed binding class — both mixins on one binding):
42
45
 
43
46
  ```dart
47
+ import 'package:flutter/foundation.dart';
48
+ import 'package:flutter/widgets.dart';
49
+ import 'package:sentry_flutter/sentry_flutter.dart';
44
50
  import 'package:ultra_flutter/ultra_flutter.dart';
45
51
 
46
- class AppBinding extends WidgetsFlutterBinding with UltraFlutterBindingMixin {
47
- static AppBinding ensureInitialized() =>
48
- WidgetsFlutterBinding.ensureInitialized() as AppBinding;
52
+ class AppBinding extends WidgetsFlutterBinding
53
+ with SentryWidgetsBindingMixin, UltraFlutterBinding {}
54
+
55
+ void main() async {
56
+ if (kDebugMode) {
57
+ AppBinding();
58
+ } else {
59
+ WidgetsFlutterBinding.ensureInitialized();
60
+ }
61
+ await SentryFlutter.init((options) { /* ... */ });
62
+ runApp(const MyApp());
49
63
  }
50
64
  ```
51
65
 
66
+ The `on WidgetsBinding` constraint lets `UltraFlutterBinding` compose with any other mixin — Sentry, integration_test, or custom bindings. Only one binding class can exist per process, so both mixins must be on the same class.
67
+
52
68
  Skip if `project_info` reported `hasUltraBinding: true`.
53
69
 
54
70
  ### 4. Configure patrol fork override (if patrol detected)