Single session-level registry of every analysis (one-shot + recurring) across all entry kinds.
Results live here, and per-entry views read them on demand via Analyses.getAnalysesForEntry.
analyseData registers a record + a job on JobEngine; monitorAnalysis toggles the job's
active flag.
Base map display: style, language, viewport, layers, and hillshade.
Bring-your-own-data GeoJSON layers — customer-authored data the agent can read and render.
Strategy used to run code-generation tools (analyseData / processData).
Initialised to the main-thread executor by createToolState, and overridden
by createMapAgent from MapAgentOptions.codeExecution. Tools read this
to select where sandbox code runs.
Derived/custom polygon entries — output of processData.
The single recurrence engine. Owners (analyses, trackers) register entry-anchored jobs and keep
the returned handles; the engine re-runs each active job when its source entries change. Generic —
it never interprets a job's recipe (the tools layer builds the run closure). See JobEngine.
Map POI layer: visibility, filtering, and category management.
Places layer: PlacesModule plus an append-only search history.
Reachable range results: origin, budgets, and bbox summaries.
Route calculation, waypoint management, and planning parameter state.
Generic trackers — rising-edge reducers fed by their own JobEngine jobs. A tracker fires an
alert/event when its rule's Verdict crosses an edge (ingestVerdict); owns the durable
TrackerEvent log.
Traffic area analytics: aggregation module + last result + viz config.
Traffic incidents: fetched entry history and per-entry rendering.
Traffic tile overlays: flow tiles + incident overlay tiles.
State passed to tool factory functions. Organized by feature area, each sub-state mixes lazy module access with the current service data produced during the session.
Example