@ariestools/actor
The Actor base class — the extracted XL1 ActorV3 pattern, merged with the
dapp-core AbstractActor improvements — plus supervision helpers. Compiles
neutral (browser + node + any JS runtime).
Actor — create/start/stop lifecycle (AbstractCreatable), non-overlapping
interval timers with firstRun: 'immediate' | 'deferred' phasing, readiness
warm pass (readyHandler / runReadyHandler / whenReady), abort signal per
start cycle, memoized shutdown() rollback, and no-op-safe OpenTelemetry
instrument helpers (counter / gauge / histogram / upDownCounter /
span / spanAsync)
Orchestrator — parallel/dynamic actor supervision (from xyo-chain), with a
structural readiness guard instead of an instanceof gate
bootActors — sequential create → start → warm-pass boot with rollback
stopOrShutdown — stop with shutdown() fallback
createMemoryLocator — Map-backed InstanceLocator for tests, browser boot,
and locator-less consumers
createDeferred — rejection-sink-attached deferred
PeriodicActor — non-overlapping scheduled and one-shot passes, retry
accounting, overridable terminal-error policy, and whenFailed() for
process supervision
ProviderActor — an Actor constructed from a ProviderActorContext.
Actor-specific config varies per actor, while every context references the
same immutable ResolvedProviderSystem and therefore the same locator,
provider instances, resolved provider config, and provider resolution. It
layers the PeriodicActor run coordinator with scheduling disabled by
default: runToCompletion() provides an auto-stopping one-shot lifecycle,
wake() accepts wired events, and isSchedulingEnabled: true enables timer
events.
Actor structurally satisfies @ariestools/cli-kit's ManagedActor contract;
a type-level conformance spec (cli-kit as devDependency) locks that in.