/** * DAG-based agentic workflows with human-in-the-loop support. * * @module workflow * * @example Simple sequential workflow * ```typescript * import { workflow, step } from "veryfront/workflow"; * * const pipeline = workflow({ * id: "summarize", * steps: () => [ * step("fetch", { tool: "webScraper" }), * step("summarize", { agent: "writer" }), * ], * }); * ``` * * @example Parallel steps and human-in-the-loop * ```typescript * import { workflow, step, parallel, branch, waitForApproval } from "veryfront/workflow"; * * const contentPipeline = workflow({ * id: "content-pipeline", * steps: ({ input }) => [ * step("research", { agent: "researcher" }), * parallel("generate", [ * step("write", { agent: "writer" }), * step("images", { tool: "imageGenerator" }), * ]), * branch("review", { * condition: () => input.requiresApproval, * then: [waitForApproval("human-review", { timeout: "24h" })], * }), * step("publish", { agent: "publisher" }), * ], * }); * ``` */ import "../../_dnt.polyfills.js"; export type { CapturedTenantContext, PendingEventWait, WorkflowContext, WorkflowDefinition, WorkflowNode, WorkflowNodeConfig, WorkflowRun, WorkflowStatus, } from "./types.js"; export { generateId, parseDuration } from "./types.js"; export { agentStep, branch, dag, delay, dependsOn, doWhile, loop, map, parallel, sequence, step, subWorkflow, times, toolStep, unless, waitForApproval, waitForEvent, when, workflow, } from "./dsl/index.js"; export type { BranchOptions, LoopOptions, MapOptions, ParallelOptions, StepOptions, SubWorkflowOptions, WaitForApprovalOptions, WaitForEventOptions, Workflow, WorkflowOptions, } from "./dsl/index.js"; export type { BackendConfig, RunEventEnvelope, WorkflowBackend, WorkflowRunObservation, WorkflowRunObservedState, WorkflowRunUpdate, } from "./backends/types.js"; export { hasEventWaitSupport, hasRunObservationSupport, hasWorkerSupport, } from "./backends/types.js"; export { MemoryBackend } from "./backends/memory.js"; export { RedisBackend } from "./backends/redis.js"; export type { RedisAdapter, RedisBackendConfig } from "./backends/redis.js"; export { getAllWorkflowIds, getWorkflow, workflowRegistry } from "./registry.js"; export type { NodeInfo, WorkflowMetadata } from "./registry.js"; export { createWorkflowClient, WorkflowClient } from "./api/index.js"; export type { PublishEventOutcome, WorkflowClientConfig, WorkflowRunEventsResult, } from "./api/index.js"; export { useApproval, useWorkflow, useWorkflowList, useWorkflowStart, } from "./react/index.js"; export type { UseApprovalOptions, UseApprovalResult, UseWorkflowListOptions, UseWorkflowListResult, UseWorkflowOptions, UseWorkflowResult, UseWorkflowStartOptions, UseWorkflowStartResult, } from "./react/index.js"; export { WorkflowExecutor, type WorkflowExecutorConfig, type WorkflowHandle, } from "./executor/workflow-executor.js"; export { getWorkflowTenant } from "./executor/step-executor.js"; export { api } from "./api.js"; export { createWorkflowHandler } from "./http/handler.js"; export type { WorkflowHandlerOptions, WorkflowHandlers } from "./http/handler.js"; export { deriveRunEvents, isTerminalRunStatus, snapshotRun } from "./events.js"; export type { RunEventSnapshot, WorkflowApprovalPendingEvent, WorkflowRunEvent, WorkflowRunEventObservation, WorkflowRunStatusEvent, WorkflowStepCompletedEvent, WorkflowStepFailedEvent, WorkflowStepSkippedEvent, WorkflowStepStartedEvent, } from "./events.js"; //# sourceMappingURL=index.d.ts.map