slipstream_agent 1.1.0 copy "slipstream_agent: ^1.1.0" to clipboard
slipstream_agent: ^1.1.0 copied to clipboard

An in-process companion for the Flutter Slipstream agent tools.

1.1.0 #

  • Add ext.slipstream.log extension and ghost overlay command log. A translucent chip appears at the bottom of the app showing the most recent agent action (e.g. "tap: login_button", "navigate: /home"), then slides out after 3 seconds. In-process extensions log automatically; the MCP server calls ext.slipstream.log for out-of-process operations (reload, screenshot, evaluate, etc.).
  • Ghost overlay now installs on the first ext.slipstream.ping (or any log call), permanently replacing the Flutter debug banner with a "slipstream" banner in the top-right corner. ext.slipstream.overlays now only toggles the ghost overlay visibility (banner + chips) and no longer saves/restores WidgetsApp.debugAllowBannerOverride.
  • ext.slipstream.log accepts kind, finder, finderValue, and viz parameters for richer visualizations. kind controls the icon shown in the chip ("read", "interact", "reload", "screenshot"). viz triggers an extra visual effect: "flash" (brief full-screen tint), "outline" (animated bounding-box highlight on the target widget), "semantics" (bounding-box outlines on all visible semantics nodes), or "layout" (falls back to "outline" for now).
  • Fix ext.slipstream.get_semantics returning incorrect screen-space coordinates. The previous implementation accumulated SemanticsNode.transform values, which are in physical pixels (scaled by devicePixelRatio). The new implementation walks the render tree using RenderBox.localToGlobal, which stays in logical pixels and matches the overlay coordinate system. visitChildrenForSemantics is used instead of visitChildren so that render objects excluded from semantics (e.g. inactive IndexedStack tabs) are not collected.

1.0.0 #

  • Add ext.slipstream.overlays extension. Calling with enabled=false saves the current overlay state and hides all managed overlays (currently the Flutter debug banner via WidgetsApp.debugAllowBannerOverride); calling with enabled=true restores the previously saved state. Designed for the screenshot use case: hide → capture → restore.

0.1.2 #

  • Fix GoRouterAdapter listener registration: cast to Listenable (from flutter/foundation.dart) rather than a concrete type, restoring the zero-go_router-dependency design.
  • Fix get_semantics returning an empty node list: revert semantics owner lookup to pipelineOwner.semanticsOwner (rootPipelineOwner was returning null).
  • Debounce ext.slipstream.windowResized events by 100 ms to avoid flooding clients during continuous window resize.
  • Switch scrollElement from animateTo to jumpTo — animation served no purpose for an AI agent caller.

0.1.1 #

  • Update GoRouterAdapter to reference the router via the [RouterConfig] parent type for additional type safety.

0.1.0 #

Initial release.

  • SlipstreamAgent.init() registers VM service extensions that the Flutter Slipstream MCP server uses for enhanced app interaction. All extensions are no-ops outside kDebugMode and are tree-shaken from release builds.
  • Service extensions registered:
    • ext.slipstream.ping — session detection and version reporting
    • ext.slipstream.perform_action — tap, set_text, scroll, and scroll_until_visible via element-tree finders (byKey, byType, byText, bySemanticsLabel)
    • ext.slipstream.enable_semantics — enables the Flutter semantics tree
    • ext.slipstream.get_semantics — returns visible semantics nodes as structured JSON with screen-space bounds (more accurate than the out-of-process evaluate-based implementation)
    • ext.slipstream.navigate — navigates to a route path via the registered RouterAdapter
    • ext.slipstream.get_route — returns the current route path via the registered RouterAdapter
  • Telemetry events posted to the VM service Extension stream:
    • ext.slipstream.windowResized — fired on window/display metric changes
    • ext.slipstream.routeChanged — fired on route changes (requires a RouterAdapter)
  • GoRouterAdapter provides go_router support (but without a transitive dependency on package:go_router).
0
likes
0
points
201
downloads

Publisher

unverified uploader

Weekly Downloads

An in-process companion for the Flutter Slipstream agent tools.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, service_extensions

More

Packages that depend on slipstream_agent