Docs
/

@leumas/actions

The Action adapter base + the rule engine. An action DOES things (open chatbot, run a workflow cell, run an MCP tool, notify). Rules wire trigger → [actions].

@leumas/actions

The Action adapter base (the third adapter base) + the rule engine. An action DOES things: run(props) → result. A Rule wires trigger → [actions]. Programmed in Studio → Triggers.

import { defineAction, createActionRegistry, createRuleEngine } from '@leumas/actions';
import { createTriggerRegistry } from '@leumas/triggers';

const actions = createActionRegistry([
  defineAction({ id: 'send-sms', metadata: { name: 'Send SMS' }, inputs: [{ key: 'to' }, { key: 'body' }], run: async (p) => sms(p) }),
]);
const triggers = createTriggerRegistry();
const rules = createRuleEngine({ triggers, actions });
rules.arm({ id: 'r1', triggerId: 'webhook', actions: [{ actionId: 'notify', props: { message: 'hook!' } }] });

Built-ins: notify, open-chatbot, run-cell (workflow/grid), run-mcp-tool. Add more per the roadmap (deploy config, call a connected account, run any capability adapter). Rules persist via the dynamic rules collection and are armed on API start.

Source shared/engines/actions/README.md (no-git)markdownjson
Generated from the Leumas repository. Every page cites the file it came from.leumas.techllms.txt