dusk library
fluttersdk_dusk — E2E driver for Flutter apps (LLM agent + integration test surfaces).
Public API:
- DuskPlugin: host-side install entry. Idempotent. Wraps the app's widget root in a RepaintBoundary (no GlobalKey) so the screenshot extension can find it via render-tree walk.
- RefRegistry:
e<N>token system for stable element handles across snapshot/action tool calls. - DuskSnapshotEnricher: typedef for the snapshot-enricher extension
point (Magic ships MagicFormEnricher via this). Wind diagnostics
flow through
fluttersdk_wind_diagnostics_contracts.WindDebugRegistryinstead (registered byWind.installDebugResolver()). - DuskArtisanProvider: registers 32 dusk:* commands + 31 MCP tool descriptors into artisan.
Classes
- DuskArtisanProvider
- Contributes dusk:* commands and MCP tool descriptors to the artisan dispatcher.
- DuskPlugin
- fluttersdk_dusk plugin install entry. Idempotent.
- DuskQuery
-
Immutable predicate set stored alongside a
qNquery handle. - RefEntry
- A single addressable entry stored in RefRegistry.
- RefRegistry
-
Static registry mapping
[ref=eN]tokens to RefEntry records.
Properties
- pendingHttpCountReader ↔ int Function()
-
Reader for the live in-flight HTTP request count.
getter/setter pair
-
recentExceptionsReader
↔ List<
Map< Function({int limit})String, dynamic> > -
Reader for recent exception entries from TelescopeStore.
getter/setter pair
-
recentLogsReader
↔ List<
Map< Function({int limit, String? minLevel})String, dynamic> > -
Reader for recent log entries from TelescopeStore.
getter/setter pair
Typedefs
-
Optional consumer-side hook that
ext.dusk.navigateconsults before falling back to SystemNavigator.routeInformationUpdated. - DuskSnapshotEnricher = String? Function(Element element, RefRegistry refs)
- Snapshot enricher contract (oracle finding #3 lock-ins, plan §Risks Accepted).