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.WindDebugRegistry instead (registered by Wind.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 qN query 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<String, dynamic>> Function({int limit})
Reader for recent exception entries from TelescopeStore.
getter/setter pair
recentLogsReader List<Map<String, dynamic>> Function({int limit, String? minLevel})
Reader for recent log entries from TelescopeStore.
getter/setter pair

Typedefs

DuskNavigateAdapter = Future<bool> Function(String route)
Optional consumer-side hook that ext.dusk.navigate consults before falling back to SystemNavigator.routeInformationUpdated.
DuskSnapshotEnricher = String? Function(Element element, RefRegistry refs)
Snapshot enricher contract (oracle finding #3 lock-ins, plan §Risks Accepted).