@voyantjs/workflows
v0.31.1
Published
Authoring SDK for Voyant Workflows — durable, step-based orchestrations for Voyant Cloud.
Readme
@voyantjs/workflows
Authoring SDK for Voyant Workflows — durable, step-based orchestrations for Voyant Cloud.
import { workflow } from "@voyantjs/workflows";
import { z } from "zod";
export const sendBookingReminders = workflow({
id: "send-booking-reminders",
input: z.object({ bookingId: z.string() }),
async run(input, ctx) {
const booking = await ctx.step("fetch", () => db.bookings.findById(input.bookingId));
await ctx.sleep("24h");
await ctx.step("send-reminder", async () => {
await email.send(booking.customerEmail, "Reminder...");
});
},
});Subpaths
@voyantjs/workflows— authoring API (workflow,workflows,trigger, conditions, errors).@voyantjs/workflows/testing— in-process test harness (runWorkflowForTest,resumeWorkflowForTest).@voyantjs/workflows/handler— tenant-side step handler for the v1 wire protocol. Mount atPOST /__voyant/workflow-stepin your Worker:export default { fetch: createStepHandler() }.@voyantjs/workflows/auth— paired HMAC signer + verifier for theX-Voyant-Dispatch-Authheader. Wires into the orchestrator'ssignhook and the handler'sverifyRequesthook with a shared secret.@voyantjs/workflows/protocol— wire-protocol types shared with the orchestrator.
Full contract
docs/sdk-surface.md— locked API surface.docs/design.md— architecture and rationale.docs/runtime-protocol.md— wire protocol.
