Workflow Engine

workflows in @open-mercato/core

Orchestrate business processes with state machines, transitions, and activities

Ships with Open Mercato 0.9.0

On in a new app. Nothing to enable.

In an app from the empty preset

yarn mercato module enable @open-mercato/core --module workflows

Then run yarn generate. Core is already installed, so nothing is downloaded.

Anatomy

ADDS 9 TABLES · 28 PERMISSIONS · EMITS 32 EVENTS

Data

  • workflow_definitions
  • workflow_definition_drafts
  • workflow_instances
  • workflow_branch_instances
  • step_instances
  • user_tasks
  • workflow_events
  • workflow_event_triggers
  • workflow_definition_metric_rollups

API

Routes are not listed for built-in modules.

Security

workflows.

  • view
  • manage
  • view_logs
  • view_tasks
  • definitions.view
  • definitions.create
  • definitions.edit
  • definitions.delete
  • definitions.grant_features
  • definitions.test_run
  • definitions.publish
  • instances.view
  • instances.create
  • instances.cancel
  • instances.retry
  • instances.signal
  • instances.update_context
  • instances.rerun_step
  • instances.bulk_ops
  • tasks.view
  • +8 more

Events

workflows.

  • emitsdefinition.created
  • emitsdefinition.updated
  • emitsdefinition.deleted
  • emitsdefinition.customized
  • emitsdefinition.reset_to_code
  • emitsdefinition.published
  • emitsinstance.created
  • emitsinstance.updated
  • emitsinstance.deleted
  • emitsinstance.started
  • emitsinstance.completed
  • emitsinstance.failed
  • emitsinstance.cancelled
  • emitsinstance.paused
  • emitsinstance.resumed
  • emitsinstance.milestone_reached
  • emitstask.assigned
  • emitstask.reminder_due
  • emitstask.deadline_breached
  • emitstask.portal_assigned
  • subscribestask.assigned
  • subscribestask.deadline_breached
  • subscribestask.reminder_due
  • +12 more

UI

  • 13 backend pages
  • 3 frontend pages
  • 5 widgets

Background

  • 4 workers
  • 8 CLI commands

AI

  • 7 AI tools

Not read: credentials and env, hosts (not in module-facts.v2.json).

From module-facts.v2.json in @open-mercato/cli 0.9.0. Read statically, not executed.