@bdayadev/flutter-ultra-mcp 0.0.0 → 1.0.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.
- package/.claude-plugin/marketplace.json +23 -0
- package/.claude-plugin/plugin.json +14 -14
- package/.mcp.json +67 -67
- package/CODE_OF_CONDUCT.md +83 -83
- package/CONTRIBUTING.md +108 -108
- package/LICENSE +201 -201
- package/README.md +77 -77
- package/SECURITY.md +19 -19
- package/dart/ultra_flutter/CHANGELOG.md +34 -34
- package/dart/ultra_flutter/EXTENSIONS.md +61 -61
- package/dart/ultra_flutter/README.md +109 -109
- package/dart/ultra_flutter/pubspec.yaml +37 -37
- package/dart/ultra_flutter_devtools/README.md +7 -7
- package/dart/ultra_flutter_devtools/pubspec.yaml +27 -27
- package/docs/UPSTREAM-PATROL-PRS.md +5 -5
- package/docs/UPSTREAM-SENTRY-PR.md +62 -62
- package/docs/discovery-empirics.md +435 -435
- package/examples/counter-app/README.md +24 -24
- package/examples/counter-app/pubspec.yaml +23 -23
- package/examples/oidc-app/README.md +48 -48
- package/examples/oidc-app/pubspec.yaml +24 -24
- package/package.json +82 -82
- package/packages/flutter-ultra-browser/README.md +29 -29
- package/packages/flutter-ultra-browser/package.json +39 -39
- package/packages/flutter-ultra-build/README.md +60 -60
- package/packages/flutter-ultra-build/package.json +38 -38
- package/packages/flutter-ultra-devtools/README.md +7 -7
- package/packages/flutter-ultra-devtools/package.json +36 -36
- package/packages/flutter-ultra-gesture/README.md +51 -51
- package/packages/flutter-ultra-gesture/package.json +58 -58
- package/packages/flutter-ultra-native-desktop/README.md +131 -131
- package/packages/flutter-ultra-native-desktop/package.json +81 -81
- package/packages/flutter-ultra-native-mobile/README.md +103 -103
- package/packages/flutter-ultra-native-mobile/package.json +72 -72
- package/packages/flutter-ultra-patrol/README.md +40 -40
- package/packages/flutter-ultra-patrol/package.json +38 -38
- package/packages/flutter-ultra-runtime/README.md +63 -63
- package/packages/flutter-ultra-runtime/package.json +69 -69
- package/shared/contracts/package.json +31 -31
- package/shared/device-router/README.md +51 -51
- package/shared/device-router/package.json +62 -62
- package/shared/keyring/README.md +7 -7
- package/shared/keyring/package.json +24 -24
- package/shared/mcp-runtime/README.md +116 -116
- package/shared/mcp-runtime/package.json +58 -58
- package/shared/state-store/README.md +66 -66
- package/shared/state-store/package.json +60 -60
- package/shared/vm-service-client/README.md +135 -135
- package/shared/vm-service-client/package.json +62 -62
- package/skills/_internal-on-tool-failure/SKILL.md +13 -13
- package/skills/_internal-session-bootstrap/SKILL.md +18 -18
- package/skills/debug/SKILL.md +20 -20
- package/skills/devtools/SKILL.md +21 -21
- package/skills/drive/SKILL.md +20 -20
- package/skills/scaffold/SKILL.md +21 -21
- package/skills/setup/SKILL.md +26 -26
- package/skills/test/SKILL.md +19 -19
- package/skills/tour/SKILL.md +22 -22
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# Upstream Sentry PR — expose `SentryWidgetsBindingMixin`
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
**Not filed yet.** Tracked as Path A per `flutter-ultra-mcp-v1.md` §6.1.
|
|
6
|
-
Filing this PR is opportunistic cleanup, not a blocker for v1.
|
|
7
|
-
|
|
8
|
-
## Current state
|
|
9
|
-
|
|
10
|
-
`package:sentry_flutter/sentry_flutter.dart` (v9.20.0) declares:
|
|
11
|
-
|
|
12
|
-
```dart
|
|
13
|
-
export 'src/binding_wrapper.dart'
|
|
14
|
-
show BindingWrapper, SentryWidgetsFlutterBinding;
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
The `show` clause hides `SentryWidgetsBindingMixin` from the public API
|
|
18
|
-
even though the mixin is defined in the same file. Consumers reach it via a
|
|
19
|
-
deliberate `// ignore: implementation_imports` import of
|
|
20
|
-
`package:sentry_flutter/src/binding_wrapper.dart`.
|
|
21
|
-
|
|
22
|
-
## Proposed change
|
|
23
|
-
|
|
24
|
-
Extend the `show` clause to include the mixin:
|
|
25
|
-
|
|
26
|
-
```dart
|
|
27
|
-
export 'src/binding_wrapper.dart'
|
|
28
|
-
show BindingWrapper, SentryWidgetsFlutterBinding, SentryWidgetsBindingMixin;
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
The mixin is already used as a typedef inside other public Sentry classes,
|
|
32
|
-
so exposing it is a non-breaking change.
|
|
33
|
-
|
|
34
|
-
## Motivation
|
|
35
|
-
|
|
36
|
-
Composability. Multiple Flutter ecosystem packages (testing harnesses,
|
|
37
|
-
debug bindings, AI-agent automation like ultra_flutter) need to mix
|
|
38
|
-
Sentry's binding instrumentation alongside their own. Today they either:
|
|
39
|
-
|
|
40
|
-
1. Subclass `SentryWidgetsFlutterBinding` (cannot also compose another
|
|
41
|
-
`WidgetsFlutterBinding` subclass — Dart `with` requires a mixin), OR
|
|
42
|
-
2. Reach into `package:sentry_flutter/src/binding_wrapper.dart` directly
|
|
43
|
-
with `// ignore: implementation_imports` (brittle, breaks the visibility
|
|
44
|
-
contract).
|
|
45
|
-
|
|
46
|
-
Making the mixin public moves option 2 from "private reach-through" to
|
|
47
|
-
"sanctioned composition".
|
|
48
|
-
|
|
49
|
-
## Risks
|
|
50
|
-
|
|
51
|
-
- Surface-area expansion: once public, the mixin name + signature are
|
|
52
|
-
versioned. Sentry maintainers would need to follow semver on it.
|
|
53
|
-
- Misuse: users might mix the mixin onto unusual base classes and hit
|
|
54
|
-
internal-state assumptions. Counter: the mixin already encapsulates its
|
|
55
|
-
state cleanly (`_isTrackingActive`, `_options`, etc.) and gracefully
|
|
56
|
-
degrades when the rest of Sentry isn't wired.
|
|
57
|
-
|
|
58
|
-
## When to file
|
|
59
|
-
|
|
60
|
-
After `ultra_flutter` ships v1.0 and we have at least one real consumer
|
|
61
|
-
demonstrating the composition pattern. PR will reference the
|
|
62
|
-
ultra_flutter use case as the concrete motivation.
|
|
1
|
+
# Upstream Sentry PR — expose `SentryWidgetsBindingMixin`
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
**Not filed yet.** Tracked as Path A per `flutter-ultra-mcp-v1.md` §6.1.
|
|
6
|
+
Filing this PR is opportunistic cleanup, not a blocker for v1.
|
|
7
|
+
|
|
8
|
+
## Current state
|
|
9
|
+
|
|
10
|
+
`package:sentry_flutter/sentry_flutter.dart` (v9.20.0) declares:
|
|
11
|
+
|
|
12
|
+
```dart
|
|
13
|
+
export 'src/binding_wrapper.dart'
|
|
14
|
+
show BindingWrapper, SentryWidgetsFlutterBinding;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The `show` clause hides `SentryWidgetsBindingMixin` from the public API
|
|
18
|
+
even though the mixin is defined in the same file. Consumers reach it via a
|
|
19
|
+
deliberate `// ignore: implementation_imports` import of
|
|
20
|
+
`package:sentry_flutter/src/binding_wrapper.dart`.
|
|
21
|
+
|
|
22
|
+
## Proposed change
|
|
23
|
+
|
|
24
|
+
Extend the `show` clause to include the mixin:
|
|
25
|
+
|
|
26
|
+
```dart
|
|
27
|
+
export 'src/binding_wrapper.dart'
|
|
28
|
+
show BindingWrapper, SentryWidgetsFlutterBinding, SentryWidgetsBindingMixin;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The mixin is already used as a typedef inside other public Sentry classes,
|
|
32
|
+
so exposing it is a non-breaking change.
|
|
33
|
+
|
|
34
|
+
## Motivation
|
|
35
|
+
|
|
36
|
+
Composability. Multiple Flutter ecosystem packages (testing harnesses,
|
|
37
|
+
debug bindings, AI-agent automation like ultra_flutter) need to mix
|
|
38
|
+
Sentry's binding instrumentation alongside their own. Today they either:
|
|
39
|
+
|
|
40
|
+
1. Subclass `SentryWidgetsFlutterBinding` (cannot also compose another
|
|
41
|
+
`WidgetsFlutterBinding` subclass — Dart `with` requires a mixin), OR
|
|
42
|
+
2. Reach into `package:sentry_flutter/src/binding_wrapper.dart` directly
|
|
43
|
+
with `// ignore: implementation_imports` (brittle, breaks the visibility
|
|
44
|
+
contract).
|
|
45
|
+
|
|
46
|
+
Making the mixin public moves option 2 from "private reach-through" to
|
|
47
|
+
"sanctioned composition".
|
|
48
|
+
|
|
49
|
+
## Risks
|
|
50
|
+
|
|
51
|
+
- Surface-area expansion: once public, the mixin name + signature are
|
|
52
|
+
versioned. Sentry maintainers would need to follow semver on it.
|
|
53
|
+
- Misuse: users might mix the mixin onto unusual base classes and hit
|
|
54
|
+
internal-state assumptions. Counter: the mixin already encapsulates its
|
|
55
|
+
state cleanly (`_isTrackingActive`, `_options`, etc.) and gracefully
|
|
56
|
+
degrades when the rest of Sentry isn't wired.
|
|
57
|
+
|
|
58
|
+
## When to file
|
|
59
|
+
|
|
60
|
+
After `ultra_flutter` ships v1.0 and we have at least one real consumer
|
|
61
|
+
demonstrating the composition pattern. PR will reference the
|
|
62
|
+
ultra_flutter use case as the concrete motivation.
|