maravilla-workflows
Installation
SKILL.md
Maravilla Workflows
Workflows are durable, replay-based functions. They run inside the runtime, persist every step's output to a ledger, and survive process restarts: on resume, the runtime replays the workflow function up to the last completed step, then continues from there.
This makes them ideal for:
- Multi-step processes where each step depends on the previous (
step.runfor at-most-once side effects) - Long sleeps (
step.sleep('1h'),step.sleepUntil(date)) — the function isn't running while it sleeps - Waiting for an external event (
step.waitForEvent) - Composition (
step.invoketo call a child workflow)
Workflows are unconditionally enabled — there's no opt-in flag. They have no HTTP trigger; you start them from your runtime code via platform.workflows.start(...).
Defining a workflow
Workflow files live in workflows/*.ts (auto-discovered by the framework adapter at build time). Use defineWorkflow from the runtime subpath:
import { defineWorkflow } from '@maravilla-labs/functions/workflows/runtime';