npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@nzelajs/node-auto

v0.1.0

Published

Generic state and auto node handlers for the Nzela engine (conditional routing, SLA timers). Vendor-free.

Readme

@nzelajs/node-auto

English below · Version francaise plus bas.

The two generic node behaviors of the Nzela engine, packaged as opt-in NodeHandlers: state (resting step with entry effects and SLA timers) and auto (conditional routing). A generic lifecycle app registers only these two; approval/subprocess/wait are separate packages.

English

Install

npm add @nzelajs/node-auto @nzelajs/core

What it provides

  • stateNodeHandler: on entry, executes the node's effects and schedules its SLA timers (remind / escalate / expire, ISO-8601 durations), then the instance rests until an explicit, permissioned action leaves the node. A state node never takes auto transitions.
  • autoNodeHandler: on entry, executes the node's effects then takes the FIRST auto transition (declared order) whose guards pass; an unguarded exit acts as the default and should be declared last. No exit passing: the instance rests on the node (a scheduler tick via advanceCase re-evaluates time-based guards later).
  • registerGenericHandlers(registry): registers both on a NodeHandlerRegistry.

Example

import { InMemoryNodeHandlerRegistry } from "@nzelajs/core";
import { registerGenericHandlers } from "@nzelajs/node-auto";

const handlers = new InMemoryNodeHandlerRegistry();
registerGenericHandlers(handlers);

Note: spawnChild inside node-entry effects is available when the handler runs under the core engine (which provides the full effect context); outside of it, the fallback context rejects spawnChild (fail-closed).

Francais

Installation

npm add @nzelajs/node-auto @nzelajs/core

Ce que ca fournit

  • stateNodeHandler : a l'entree, execute les effets du noeud et planifie ses timers SLA (remind / escalate / expire, durees ISO-8601), puis l'instance se repose jusqu'a une action explicite et permissionnee. Un noeud state ne prend jamais de transition auto.
  • autoNodeHandler : a l'entree, execute les effets du noeud puis prend la PREMIERE transition auto (ordre declare) dont les gardes passent ; une sortie sans garde sert de defaut et se declare en dernier. Aucune sortie ne passe : l'instance reste sur le noeud (un tick planificateur via advanceCase reevalue plus tard les gardes temporelles).
  • registerGenericHandlers(registry) : enregistre les deux sur un NodeHandlerRegistry.

Note : spawnChild dans les effets d'entree de noeud n'est disponible que sous le moteur coeur (qui fournit le contexte d'effet complet) ; hors de ce contexte, le fallback rejette spawnChild (fail-closed).

License

Apache-2.0