leonard_flutter 0.1.7
leonard_flutter: ^0.1.7 copied to clipboard
Host WidgetsBinding for Leonard.
Changelog #
0.1.7 #
- The core semantics fragment now emits
identifier(fromSemanticsData.identifier, set viaSemantics(identifier:)) alongsidelabelandvalue— a stable, locale-independent key for addressing a node. Emitted present-only, so apps that set no identifiers are unaffected.
0.1.6 #
- The core semantics fragment now emits a
valuefield (fromSemanticsData.value) alongsidelabel, so the harness sees a node's current value (e.g. a text field's contents) uniformly with the native channel's record shape. - Stability: the settle loop no longer wedges when a framework callback stays
registered across frames — the persistent-callback baseline is dropped from
isAnyBusy, so a quiet frame is correctly reported as idle.
0.1.5 #
core.handshakenow advertises acapabilitieslist alongside the extension manifest.screenshot(the rawcore.screenshotVM extension) is reachable but is not a namespaced tool, so it never appeared in the manifest — a driver listing tools would wrongly conclude "no screenshot". It is now reported as a capability, gated on the same debug/profile condition as the extension itself (absent in release).
0.1.4 #
- Extension contract extracted to the new
leonard_contractpackage (Flutter-free):LeonardExtension,LeonardTool,PerceptionExtension,ExtensionRegistry, and the dispatch helpers now live there and are re-exported viacontract.dart, so consumers are unaffected. Adds aleonard_contractdependency. The unused frame-callback and error-handler hooks were dropped, removing theSchedulerBinding/FlutterErrorDetailscoupling from the contract; the binding's error-ring-buffer capture is unchanged.
0.1.3 #
- Perception serialization de-duplicated:
serializePerceptionFragmentnow lives ingenesis_perceptionand is re-exported here. Bumps thegenesis_perceptionfloor to^0.1.2(the version that introduced it). - Observation: expose scroll extent (
pos/min/max) on scrollable nodes, so the agent can see scroll position and bounds instead of guessing.
0.1.2 #
- Fix: a new agent handshake resets the session-terminated latch set by
core.done. Previously, reusing one running app across multiple agent drives left the binding permanently terminated after the first drive'score.done, so every subsequent action returnedsession_terminatedand the agent appeared stuck (model-agnostic).core.handshakenow clears the latch — a handshake marks the start of a new session.
0.1.1 #
- Fix: ship the compiled DevTools extension bundle in the published package.
0.1.0 omitted
extension/devtools/build/because the repo-rootbuild/.gitignorerule excluded it (pub publishhonors.gitignore), so the "Leonard" DevTools tab was missing for consumers. The bundle is now un-ignored and shipped.
0.1.0 #
- Host
WidgetsBinding(LeonardBinding) with a single-path perception observation pipeline (PerceptionOwner-backed serialization). LeonardExtensionauthoring contract; core fragment is perception-native.- Ships the DevTools extension (the "Leonard" tab) via
extension/devtools/. - VM-service surface
ext.exploration.*(protocol-stable).