ExplorationLog class

Stream-style log of every unique on-screen UI node the agent has observed during a session.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
screenCount → int
Number of screens currently retained (test seam / diagnostics).
no setter

Methods

emitFinal({String tag = 'EXPLORED_FINAL'}) → void
Emit a grouped dump of every unique entry seen since the last reset.
emitToBackend({required String missionId, required String status}) → Future<void>
Serialise the accumulated audit as a MissionExplorationMessage and (a) print the chunked local log via emitFinal and (b) push the packet to the backend via the registered _sender, same wire path ui_diff / mission_status use.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
observe(UiSnapshot snap) → void
Feed a snapshot.
reset() → void
Drop all accumulated entries.
setScope(bool scope(UiSnapshot snapshot)?) → void
Apply the live capture policy to every source, including mission-driven observations that do not pass through the snapshot pump. Mission resets retain this policy; the runtime clears it when the session ends.
setSender(SendPayload? send) → void
Register the wire sender.
snapshotGrouped() → Map<String, List<Map<String, dynamic>>>
Read-only snapshot of the accumulator for callers that want to ship it elsewhere (custom telemetry, debug dialogs, tests).
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

instance → ExplorationLog
final

Static Methods

fitToCap({required String missionId, required String status, required DateTime capturedAt, required Map<String, List<Map<String, dynamic>>> flatByScreen, int maxBytes = kSnapshotSendCapBytes}) → FittedExploration?
Build the mission_exploration frame so it fits maxBytes (the same transport cap the outbound queue enforces — an oversized frame would otherwise be dropped there, silently, and recall_what_agent_saw would keep answering from a stale packet). Trimming goes cheapest-loss first: