@clausehq/flows-engine

Parametric Flows Engine

Usage no npm install needed!

<script type="module">
  import clausehqFlowsEngine from 'https://cdn.skypack.dev/@clausehq/flows-engine';
</script>

README

Flow engine

This is a generic flow execution enginee.

The engine is parameterized with a set of transforms and types.

Transforms and types need to have the right structure (npm packages exporting an object with the proper fields).

The engine can be instantiated with:

const engine = require('@clausehq/core-flows');
const registry = {
  transforms: [
    { name: <TRANSFORM_NAME>, package: <TRANSFORM_PATH> },
    ...
  ],
  types: [
    { name: <TYPE_NAME>, package: <TYPE_PATH> },
    ...
  ],
};
const myEngine = engine(registry);

The flow engine API allows you to invoke a flow:

const result = myEngine.invoke(flow, context, request);

Where:

  • flow is the flow (ALMOST! it still has a few bits pre-hydrated, but very close now)
  • context is the invokation context (e.g., secrets, previous steps etc)
  • request is the input of the flow