Skip to main content

Plugin Runner

The Plugin Runner is the analysis-tab surface for invoking installed plugins manually. It's where you'd validate a new plugin before wiring it up to a recurring KPI job, or one-shot a math function on a specific lap.

Find it at Analysis → Plugin Runner. Route: /analysis/plugin-runner.

Layout

PaneWhat it shows
Left (280 px on ≥900 px width)Installed plugins list, grouped under an Installed Plugins header
Right topMetadata card: manifest id, row id, version, interfaces, capabilities, publisher, description
Right middleOne invocation card per interface: Math, KPI Processor, …
Right bottomHistory card — last 10 invocations across all surfaces

Math card

Function-name TextField + an args row builder. Each arg has:

  • Kind dropdown: number / text / duration
  • Value field

Hit Invoke to run the function. The result panel pretty-prints the typed PluginValue (red border for error).

The form is pre-filled with the working rolling-avg-rpm demo so first-time users can hit Invoke immediately.

KPI card

Lap id field + telemetry JSON textarea pre-filled with 20 RPM samples. Hit Run to invoke KpiProcessorHandler.process(lapId, lap). Each KPI result renders in its own panel.

What you can do today

  • See every installed plugin
  • Invoke math and kpiProcessor interfaces against arbitrary inputs
  • See the full invocation history (last 10) with timestamp, request, response

What's coming

  • Math function dropdown (today the field is free-text) once the server exposes GET /plugins/:id/math/functions
  • In-browser execution via flutter_js so you don't round-trip to the server for every invocation
  • Schedule a plugin to run automatically when new laps arrive (currently you have to hit Run manually)
  • Capability-grant prompts — today capability requests are log-only; UI for granting / revoking is queued
  • Inputs autocomplete from the selected session's actual telemetry