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

@the-real-insight/tri-bpmn-engine

v0.1.18

Published

BPMN 2.0 subset execution engine with event sourcing

Downloads

140

Readme

tri-bpmn-engine

Powered by The Real Insight GmbH BPMN Engine (the-real-insight.com).

A BPMN 2.0 subset execution engine for Node.js, with event-sourced process instances, optimistic concurrency, and push-style callbacks for human tasks, service tasks, and external gateway decisions. Use it as an HTTP service (REST + WebSocket) or embed it in local mode against MongoDB.

npm package: @the-real-insight/tri-bpmn-engine


Why this project

  • Deterministic execution — token flow, joins, and recorded decisions; replay-friendly event stream per instance.
  • Two integration stylesREST (BpmnEngineClient + /ws) for microservices, or local (BpmnEngineClient + mongodb Db) for tests and embedded use.
  • Worklist-ready — human tasks projected to /v1/tasks with claim, activate, and complete flows; optional TriSdk facade for engine + tasks in one object.
  • Honest scope — implements a defined BPMN subset (see requirements); not a full Camunda/Flowable replacement.

Quick start

Prerequisites: Node.js 18+, MongoDB.

git clone <repository-url>
cd tri-bpmn-engine
npm install
cp .env.example .env
# Set MONGO_URL in .env if needed

Run the engine (API + worker + WebSocket on port 3000 by default):

npm run dev

Run the browser demo (interactive test UI; default port 9100 in npm run server):

npm run server
# Open http://localhost:9100/

Use from your app:

npm install @the-real-insight/tri-bpmn-engine
import { BpmnEngineClient } from '@the-real-insight/tri-bpmn-engine/sdk';

const client = new BpmnEngineClient({
  mode: 'rest',
  baseUrl: 'http://localhost:3000',
});

// deploy, startInstance, getState, completeUserTask, subscribeToCallbacks, …

More examples, local mode, init, and worklist patterns are in the documentation.


Documentation

| | | |---|---| | Documentation home | Index of all guides | | Getting started | Environment, ports, install, test commands | | SDK overview | Entry points, REST vs local, TriSdk | | SDK usage (full reference) | API reference, callbacks, WebSocket, worklist | | Browser demo (test UI) | Demo server features and layout | | Testing | Jest targets and conformance pointers | | Contributing | How to contribute and project expectations |

Design depth:


HTTP API (sketch)

Typical /v1 operations (see SDK and server routes for full detail):

  • POST /v1/definitions — deploy BPMN
  • POST /v1/instances — start instance
  • GET /v1/instances/:id / .../state — inspect instance
  • POST /v1/instances/:id/work-items/:workItemId/complete — complete work
  • POST /v1/instances/:id/decisions/:decisionId — XOR / external decision
  • GET /v1/tasks — worklist query
  • WebSocket /wsCALLBACK_WORK / CALLBACK_DECISION push (REST mode SDK)

Contributing

We welcome issues and pull requests. Please read docs/contributing.md and run npm run test:unit (plus SDK/conformance tests when you touch runtime code) before submitting.


License

Copyright (c) 2024-present The Real Insight GmbH. See LICENSE for the full license and attribution requirements (startup notice, end-user products, and documentation).

Redistribution and derivative works must keep the license file, comply with attribution, and must not remove or hide the engine’s startup attribution (see src/attribution.ts).


Publishing note

CI may bump versions and publish to npm on pushes to the default branch; configure NPM_TOKEN in GitHub Actions secrets as described in your workflow files.