Actors/Packages/CLI/API reference
@sigx/actors-cli · Preview

API reference#

Exports of @sigx/actors-cli v0.9.2.

The plugin#

The default export is a definePlugin({ name: 'actors', detect, commands, tui }). You do not import it — @sigx/cli discovers it through the sigx-cli manifest field:

JSON
"sigx-cli": { "plugin": "./dist/plugin.js", "requires": ">=0.9.0" }

detect(cwd: string): boolean is also exported; it is what decides whether the actors commands appear, by checking that the project depends on @sigx/actors.

@sigx/actors-cli/source#

The renderer-free data layer lives in @sigx/actors-monitor — browser-safe, no @sigx/cli or @sigx/terminal peer — and anyone building another front end should import it from there. This subpath re-exports it for convenience, and holds the one half that could never move:

ExportRole
embeddedSource(options)load an app module in-process — only here; it dynamic-imports user code and starts a real host
EmbeddedSourceError, EmbeddedSourceOptionsits error and options
httpSource, OpsRequestError, hostViewFromReport, rateBetween, RateTracker, Series, format and the MonitorSource / MonitorSnapshot / HostView / ClusterView typesre-exported from @sigx/actors-monitor

Keeping embeddedSource behind this subpath while the shared layer is a separate package is a stronger split than any subpath could be: a bundler following @sigx/actors-monitor cannot reach it at all.

The counter-reset rule#

A counter going backwards is a reset, and must yield a gap rather than a rate.

metrics().reset() exists, and a host restart re-zeros everything. Computing (now - then) / dt across that boundary produces a large negative or wildly wrong rate, which on a graph looks like an incident that did not happen.

rateBetween returns null for a decreasing pair. If you build your own, do the same — or better, do not build your own; the rule and its siblings are on the monitor package page.

Next steps#