Skip to main content

WorkflowBuilder

VoltAgent Service


VoltAgent Service / workflows/WorkflowBuilder

workflows/WorkflowBuilder

Classes

WorkflowBuilder

Defined in: workflows/WorkflowBuilder.ts:92

Workflow Builder

Converts declarative_v1 workflows to VoltAgent format:

  • Parses workflow steps
  • Resolves step dependencies
  • Generates execution plan
  • Supports checkpointing for suspend/resume

Constructors

Constructor

new WorkflowBuilder(workflow, policy, stepPrompts): WorkflowBuilder

Defined in: workflows/WorkflowBuilder.ts:97

Parameters
workflow

SkillWorkflow

policy

SkillPolicy

stepPrompts

Record<string, string> = {}

Returns

WorkflowBuilder

Methods

build()

build(): BuiltWorkflow

Defined in: workflows/WorkflowBuilder.ts:110

Build the workflow for VoltAgent execution

Returns

BuiltWorkflow

generatePlanEvent()

generatePlanEvent(): SkillSSEEvent

Defined in: workflows/WorkflowBuilder.ts:184

Generate plan event for SSE streaming

Returns

SkillSSEEvent

generateStepEvent()

generateStepEvent(stepIndex, status, output?): SkillSSEEvent

Defined in: workflows/WorkflowBuilder.ts:200

Generate step event for SSE streaming

Parameters
stepIndex

number

status

"pending" | "running" | "succeeded" | "failed" | "skipped"

output?

Record<string, unknown>

Returns

SkillSSEEvent


CheckpointManager

Defined in: workflows/WorkflowBuilder.ts:230

Checkpoint Manager

Handles suspend/resume functionality for workflows. Uses workflow_run_id (UUID) as the primary identifier for API consistency. Internally tracks voltagent_run_id for VoltAgent table references.

Constructors

Constructor

new CheckpointManager(): CheckpointManager

Returns

CheckpointManager

Methods

createCheckpoint()

createCheckpoint(workflowRunId, voltAgentRunId, stepIndex, stepOutputs, variables): Promise<CheckpointState>

Defined in: workflows/WorkflowBuilder.ts:240

Create a checkpoint for suspend

Parameters
workflowRunId

string

Workflow run ID (UUID) - canonical identifier

voltAgentRunId

string

VoltAgent run ID (UUID) - internal identifier

stepIndex

number

Current step index

stepOutputs

Record<string, unknown>[]

Outputs from completed steps

variables

Record<string, unknown> = {}

Workflow variables

Returns

Promise<CheckpointState>

loadCheckpoint()

loadCheckpoint(resumeToken): Promise<CheckpointState>

Defined in: workflows/WorkflowBuilder.ts:297

Load a checkpoint by resume token Returns both workflowRunId and voltAgentRunId for proper routing

Parameters
resumeToken

string

Returns

Promise<CheckpointState>

approveCheckpoint()

approveCheckpoint(resumeToken): Promise<boolean>

Defined in: workflows/WorkflowBuilder.ts:335

Mark checkpoint as approved (for human review workflows)

Parameters
resumeToken

string

Returns

Promise<boolean>

rejectCheckpoint()

rejectCheckpoint(resumeToken): Promise<boolean>

Defined in: workflows/WorkflowBuilder.ts:355

Mark checkpoint as rejected

Parameters
resumeToken

string

Returns

Promise<boolean>

cleanupExpired()

cleanupExpired(): Promise<number>

Defined in: workflows/WorkflowBuilder.ts:375

Clean up expired checkpoints

Returns

Promise<number>

Interfaces

VoltAgentStep

Defined in: workflows/WorkflowBuilder.ts:23

VoltAgent workflow step representation

Properties

id

id: string

Defined in: workflows/WorkflowBuilder.ts:24

index

index: number

Defined in: workflows/WorkflowBuilder.ts:25

name

name: string

Defined in: workflows/WorkflowBuilder.ts:26

type

type: "llm" | "tool"

Defined in: workflows/WorkflowBuilder.ts:27

config

config: StepConfig

Defined in: workflows/WorkflowBuilder.ts:28

dependencies

dependencies: number[]

Defined in: workflows/WorkflowBuilder.ts:29


StepConfig

Defined in: workflows/WorkflowBuilder.ts:35

Step configuration

Properties

promptTemplate?

optional promptTemplate: string

Defined in: workflows/WorkflowBuilder.ts:37

outputSchema?

optional outputSchema: Record<string, unknown>

Defined in: workflows/WorkflowBuilder.ts:38

temperature?

optional temperature: number

Defined in: workflows/WorkflowBuilder.ts:39

maxTokens?

optional maxTokens: number

Defined in: workflows/WorkflowBuilder.ts:40

toolName?

optional toolName: string

Defined in: workflows/WorkflowBuilder.ts:43

toolArgs?

optional toolArgs: Record<string, unknown>

Defined in: workflows/WorkflowBuilder.ts:44

allowedTools?

optional allowedTools: string[]

Defined in: workflows/WorkflowBuilder.ts:45

timeoutMs?

optional timeoutMs: number

Defined in: workflows/WorkflowBuilder.ts:49


CheckpointState

Defined in: workflows/WorkflowBuilder.ts:55

Checkpoint state for suspend/resume

Properties

workflowRunId

workflowRunId: string

Defined in: workflows/WorkflowBuilder.ts:57

Workflow run ID (UUID) - canonical identifier for API use

voltAgentRunId

voltAgentRunId: string

Defined in: workflows/WorkflowBuilder.ts:59

VoltAgent run ID (UUID) - internal identifier for VoltAgent tables

stepIndex

stepIndex: number

Defined in: workflows/WorkflowBuilder.ts:60

stepOutputs

stepOutputs: Record<string, unknown>[]

Defined in: workflows/WorkflowBuilder.ts:61

variables

variables: Record<string, unknown>

Defined in: workflows/WorkflowBuilder.ts:62

resumeToken

resumeToken: string

Defined in: workflows/WorkflowBuilder.ts:63

createdAt

createdAt: Date

Defined in: workflows/WorkflowBuilder.ts:64

expiresAt

expiresAt: Date

Defined in: workflows/WorkflowBuilder.ts:65


BuiltWorkflow

Defined in: workflows/WorkflowBuilder.ts:71

Built workflow ready for execution

Properties

id

id: string

Defined in: workflows/WorkflowBuilder.ts:72

steps

steps: VoltAgentStep[]

Defined in: workflows/WorkflowBuilder.ts:73

policy

policy: SkillPolicy

Defined in: workflows/WorkflowBuilder.ts:74

metadata

metadata: object

Defined in: workflows/WorkflowBuilder.ts:75

originalType

originalType: string

stepCount

stepCount: number

hasToolCalls

hasToolCalls: boolean

hasLLMCalls

hasLLMCalls: boolean

Functions

getCheckpointManager()

getCheckpointManager(): CheckpointManager

Defined in: workflows/WorkflowBuilder.ts:402

Returns

CheckpointManager


buildWorkflow()

buildWorkflow(workflow, policy, stepPrompts): BuiltWorkflow

Defined in: workflows/WorkflowBuilder.ts:412

Build a workflow from skill version data

Parameters

workflow

SkillWorkflow

policy

SkillPolicy

stepPrompts

Record<string, string> = {}

Returns

BuiltWorkflow