Skip to content

workflow / Exports / CoreWorkflowBuilder

Class: CoreWorkflowBuilder

Core WorkflowBuilder implementation Provides comprehensive workflow building and management capabilities

Implements

Table of contents

Constructors

Methods

Constructors

constructor

new CoreWorkflowBuilder(config?): CoreWorkflowBuilder

Parameters

NameType
configWorkflowBuilderConfig

Returns

CoreWorkflowBuilder

Defined in

services/workflow-builder.ts:33

Methods

getSnapshot

getSnapshot(): WorkflowSnapshot

Get current workflow snapshot

Returns

WorkflowSnapshot

Implementation of

ExtendedWorkflowBuilder.getSnapshot

Defined in

services/workflow-builder.ts:58


getAllNodes

getAllNodes(): WorkflowNode[]

Get all nodes

Returns

WorkflowNode[]

Implementation of

ExtendedWorkflowBuilder.getAllNodes

Defined in

services/workflow-builder.ts:77


getAllEdges

getAllEdges(): WorkflowEdge[]

Get all edges

Returns

WorkflowEdge[]

Implementation of

ExtendedWorkflowBuilder.getAllEdges

Defined in

services/workflow-builder.ts:81


getRawNodes

getRawNodes(): WorkflowNode[]

Raw accessors (append-only order) for source-of-truth export without any transformation

Returns

WorkflowNode[]

Implementation of

ExtendedWorkflowBuilder.getRawNodes

Defined in

services/workflow-builder.ts:89


getRawEdges

getRawEdges(): WorkflowEdge[]

Returns

WorkflowEdge[]

Implementation of

ExtendedWorkflowBuilder.getRawEdges

Defined in

services/workflow-builder.ts:93


getNode

getNode(nodeId): undefined | WorkflowNode

Get node by ID

Parameters

NameType
nodeIdstring

Returns

undefined | WorkflowNode

Implementation of

ExtendedWorkflowBuilder.getNode

Defined in

services/workflow-builder.ts:97


getEdge

getEdge(edgeId): undefined | WorkflowEdge

Get edge by ID

Parameters

NameType
edgeIdstring

Returns

undefined | WorkflowEdge

Implementation of

ExtendedWorkflowBuilder.getEdge

Defined in

services/workflow-builder.ts:101


hasNode

hasNode(nodeId): boolean

Check if node exists

Parameters

NameType
nodeIdstring

Returns

boolean

Implementation of

ExtendedWorkflowBuilder.hasNode

Defined in

services/workflow-builder.ts:106


hasEdge

hasEdge(edgeId): boolean

Check if edge exists

Parameters

NameType
edgeIdstring

Returns

boolean

Implementation of

ExtendedWorkflowBuilder.hasEdge

Defined in

services/workflow-builder.ts:110


subscribe

subscribe(callback): () => void

Subscribe to workflow updates

Parameters

NameType
callbackWorkflowUpdateCallback

Returns

fn

▸ (): void

Returns

void

Implementation of

ExtendedWorkflowBuilder.subscribe

Defined in

services/workflow-builder.ts:114


unsubscribe

unsubscribe(callback): void

Unsubscribe from workflow updates

Parameters

NameType
callbackWorkflowUpdateCallback

Returns

void

Implementation of

ExtendedWorkflowBuilder.unsubscribe

Defined in

services/workflow-builder.ts:124


clear

clear(): void

Clear all data

Returns

void

Implementation of

ExtendedWorkflowBuilder.clear

Defined in

services/workflow-builder.ts:131


getStats

getStats(): Object

Get workflow statistics

Returns

Object

NameType
nodeCountnumber
edgeCountnumber
totalUpdatesnumber
lastUpdateTimeundefined | Date

Implementation of

ExtendedWorkflowBuilder.getStats

Defined in

services/workflow-builder.ts:142


addNode

addNode(node, parentNodeId?): WorkflowNode

Add node to workflow

Parameters

NameType
nodeOmit<WorkflowNode, "timestamp">
parentNodeId?string

Returns

WorkflowNode

Implementation of

ExtendedWorkflowBuilder.addNode

Defined in

services/workflow-builder.ts:156


updateNode

updateNode(nodeId, updates): null | WorkflowNode

Update existing node

Parameters

NameType
nodeIdstring
updatesPartial<WorkflowNode>

Returns

null | WorkflowNode

Implementation of

ExtendedWorkflowBuilder.updateNode

Defined in

services/workflow-builder.ts:178


removeNode

removeNode(nodeId): boolean

Remove node from workflow

Parameters

NameType
nodeIdstring

Returns

boolean

Implementation of

ExtendedWorkflowBuilder.removeNode

Defined in

services/workflow-builder.ts:195


addEdge

addEdge(edge): WorkflowEdge

Add edge to workflow

Parameters

NameType
edgeOmit<WorkflowEdge, "timestamp">

Returns

WorkflowEdge

Implementation of

ExtendedWorkflowBuilder.addEdge

Defined in

services/workflow-builder.ts:215


updateEdge

updateEdge(edgeId, updates): null | WorkflowEdge

Update existing edge

Parameters

NameType
edgeIdstring
updatesPartial<WorkflowEdge>

Returns

null | WorkflowEdge

Implementation of

ExtendedWorkflowBuilder.updateEdge

Defined in

services/workflow-builder.ts:238


removeEdge

removeEdge(edgeId): boolean

Remove edge from workflow

Parameters

NameType
edgeIdstring

Returns

boolean

Implementation of

ExtendedWorkflowBuilder.removeEdge

Defined in

services/workflow-builder.ts:257


batch

batch(operations): void

Batch operations for performance

Parameters

NameType
operations{ type: "addNode" | "updateNode" | "removeNode" | "addEdge" | "updateEdge" | "removeEdge" ; data: unknown }[]

Returns

void

Implementation of

ExtendedWorkflowBuilder.batch

Defined in

services/workflow-builder.ts:268


validate

validate(): Object

Validate current workflow state

Returns

Object

NameType
isValidboolean
errorsstring[]
warningsstring[]

Implementation of

ExtendedWorkflowBuilder.validate

Defined in

services/workflow-builder.ts:315


findNodes

findNodes(criteria): WorkflowNode[]

Find nodes by criteria

Parameters

NameType
criteriaObject
criteria.type?string | string[]
criteria.status?string | string[]
criteria.level?number | number[]
criteria.parentId?string
criteria.hasChildren?boolean

Returns

WorkflowNode[]

Implementation of

WorkflowQuery.findNodes

Defined in

services/workflow-builder.ts:323


findEdges

findEdges(criteria): WorkflowEdge[]

Find edges by criteria

Parameters

NameType
criteriaObject
criteria.type?string | string[]
criteria.sourceId?string
criteria.targetId?string
criteria.hidden?boolean

Returns

WorkflowEdge[]

Implementation of

WorkflowQuery.findEdges

Defined in

services/workflow-builder.ts:367


getConnectedNodes

getConnectedNodes(nodeId, direction?): WorkflowNode[]

Get connected nodes

Parameters

NameTypeDefault value
nodeIdstringundefined
direction"incoming" | "outgoing" | "both"'both'

Returns

WorkflowNode[]

Implementation of

WorkflowQuery.getConnectedNodes

Defined in

services/workflow-builder.ts:396


getNodePath

getNodePath(nodeId): WorkflowNode[]

Get node path from root

Parameters

NameType
nodeIdstring

Returns

WorkflowNode[]

Implementation of

WorkflowQuery.getNodePath

Defined in

services/workflow-builder.ts:413


getDepth

getDepth(): number

Get workflow depth

Returns

number

Implementation of

WorkflowQuery.getDepth

Defined in

services/workflow-builder.ts:428


getDisconnectedComponents

getDisconnectedComponents(): WorkflowNode[][]

Find disconnected components

Returns

WorkflowNode[][]

Implementation of

WorkflowQuery.getDisconnectedComponents

Defined in

services/workflow-builder.ts:433


exportToJSON

exportToJSON(): string

Export workflow to JSON

Returns

string

Implementation of

WorkflowPortable.exportToJSON

Defined in

services/workflow-builder.ts:474


importFromJSON

importFromJSON(json): boolean

Import workflow from JSON

Parameters

NameType
jsonstring

Returns

boolean

Implementation of

WorkflowPortable.importFromJSON

Defined in

services/workflow-builder.ts:484


exportToUniversal

exportToUniversal(): Object

Export to universal format (flat model for compatibility)

Returns

Object

NameType
nodesWorkflowNode[]
edgesWorkflowEdge[]
metadata{ nodeCount: number ; edgeCount: number ; createdAt: Date ; version: string = '1.0.0'; format: "universal-workflow" }
metadata.nodeCountnumber
metadata.edgeCountnumber
metadata.createdAtDate
metadata.versionstring
metadata.format"universal-workflow"

Implementation of

WorkflowPortable.exportToUniversal

Defined in

services/workflow-builder.ts:514


importFromUniversal

importFromUniversal(data): boolean

Import from universal format

Parameters

NameType
dataObject
data.versionstring
data.formatstring
data.dataWorkflowSnapshot

Returns

boolean

Implementation of

WorkflowPortable.importFromUniversal

Defined in

services/workflow-builder.ts:528

Released under the MIT License.