workflow / Exports / CoreWorkflowBuilder
Class: CoreWorkflowBuilder
Core WorkflowBuilder implementation Provides comprehensive workflow building and management capabilities
Implements
Table of contents
Constructors
Methods
- getSnapshot
- getAllNodes
- getAllEdges
- getRawNodes
- getRawEdges
- getNode
- getEdge
- hasNode
- hasEdge
- subscribe
- unsubscribe
- clear
- getStats
- addNode
- updateNode
- removeNode
- addEdge
- updateEdge
- removeEdge
- batch
- validate
- findNodes
- findEdges
- getConnectedNodes
- getNodePath
- getDepth
- getDisconnectedComponents
- exportToJSON
- importFromJSON
- exportToUniversal
- importFromUniversal
Constructors
constructor
• new CoreWorkflowBuilder(config?): CoreWorkflowBuilder
Parameters
| Name | Type |
|---|---|
config | WorkflowBuilderConfig |
Returns
Defined in
services/workflow-builder.ts:33
Methods
getSnapshot
▸ getSnapshot(): WorkflowSnapshot
Get current workflow snapshot
Returns
Implementation of
ExtendedWorkflowBuilder.getSnapshot
Defined in
services/workflow-builder.ts:58
getAllNodes
▸ getAllNodes(): WorkflowNode[]
Get all nodes
Returns
Implementation of
ExtendedWorkflowBuilder.getAllNodes
Defined in
services/workflow-builder.ts:77
getAllEdges
▸ getAllEdges(): WorkflowEdge[]
Get all edges
Returns
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
Implementation of
ExtendedWorkflowBuilder.getRawNodes
Defined in
services/workflow-builder.ts:89
getRawEdges
▸ getRawEdges(): WorkflowEdge[]
Returns
Implementation of
ExtendedWorkflowBuilder.getRawEdges
Defined in
services/workflow-builder.ts:93
getNode
▸ getNode(nodeId): undefined | WorkflowNode
Get node by ID
Parameters
| Name | Type |
|---|---|
nodeId | string |
Returns
undefined | WorkflowNode
Implementation of
ExtendedWorkflowBuilder.getNode
Defined in
services/workflow-builder.ts:97
getEdge
▸ getEdge(edgeId): undefined | WorkflowEdge
Get edge by ID
Parameters
| Name | Type |
|---|---|
edgeId | string |
Returns
undefined | WorkflowEdge
Implementation of
ExtendedWorkflowBuilder.getEdge
Defined in
services/workflow-builder.ts:101
hasNode
▸ hasNode(nodeId): boolean
Check if node exists
Parameters
| Name | Type |
|---|---|
nodeId | string |
Returns
boolean
Implementation of
ExtendedWorkflowBuilder.hasNode
Defined in
services/workflow-builder.ts:106
hasEdge
▸ hasEdge(edgeId): boolean
Check if edge exists
Parameters
| Name | Type |
|---|---|
edgeId | string |
Returns
boolean
Implementation of
ExtendedWorkflowBuilder.hasEdge
Defined in
services/workflow-builder.ts:110
subscribe
▸ subscribe(callback): () => void
Subscribe to workflow updates
Parameters
| Name | Type |
|---|---|
callback | WorkflowUpdateCallback |
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
| Name | Type |
|---|---|
callback | WorkflowUpdateCallback |
Returns
void
Implementation of
ExtendedWorkflowBuilder.unsubscribe
Defined in
services/workflow-builder.ts:124
clear
▸ clear(): void
Clear all data
Returns
void
Implementation of
Defined in
services/workflow-builder.ts:131
getStats
▸ getStats(): Object
Get workflow statistics
Returns
Object
| Name | Type |
|---|---|
nodeCount | number |
edgeCount | number |
totalUpdates | number |
lastUpdateTime | undefined | Date |
Implementation of
ExtendedWorkflowBuilder.getStats
Defined in
services/workflow-builder.ts:142
addNode
▸ addNode(node, parentNodeId?): WorkflowNode
Add node to workflow
Parameters
| Name | Type |
|---|---|
node | Omit<WorkflowNode, "timestamp"> |
parentNodeId? | string |
Returns
Implementation of
ExtendedWorkflowBuilder.addNode
Defined in
services/workflow-builder.ts:156
updateNode
▸ updateNode(nodeId, updates): null | WorkflowNode
Update existing node
Parameters
| Name | Type |
|---|---|
nodeId | string |
updates | Partial<WorkflowNode> |
Returns
null | WorkflowNode
Implementation of
ExtendedWorkflowBuilder.updateNode
Defined in
services/workflow-builder.ts:178
removeNode
▸ removeNode(nodeId): boolean
Remove node from workflow
Parameters
| Name | Type |
|---|---|
nodeId | string |
Returns
boolean
Implementation of
ExtendedWorkflowBuilder.removeNode
Defined in
services/workflow-builder.ts:195
addEdge
▸ addEdge(edge): WorkflowEdge
Add edge to workflow
Parameters
| Name | Type |
|---|---|
edge | Omit<WorkflowEdge, "timestamp"> |
Returns
Implementation of
ExtendedWorkflowBuilder.addEdge
Defined in
services/workflow-builder.ts:215
updateEdge
▸ updateEdge(edgeId, updates): null | WorkflowEdge
Update existing edge
Parameters
| Name | Type |
|---|---|
edgeId | string |
updates | Partial<WorkflowEdge> |
Returns
null | WorkflowEdge
Implementation of
ExtendedWorkflowBuilder.updateEdge
Defined in
services/workflow-builder.ts:238
removeEdge
▸ removeEdge(edgeId): boolean
Remove edge from workflow
Parameters
| Name | Type |
|---|---|
edgeId | string |
Returns
boolean
Implementation of
ExtendedWorkflowBuilder.removeEdge
Defined in
services/workflow-builder.ts:257
batch
▸ batch(operations): void
Batch operations for performance
Parameters
| Name | Type |
|---|---|
operations | { type: "addNode" | "updateNode" | "removeNode" | "addEdge" | "updateEdge" | "removeEdge" ; data: unknown }[] |
Returns
void
Implementation of
Defined in
services/workflow-builder.ts:268
validate
▸ validate(): Object
Validate current workflow state
Returns
Object
| Name | Type |
|---|---|
isValid | boolean |
errors | string[] |
warnings | string[] |
Implementation of
ExtendedWorkflowBuilder.validate
Defined in
services/workflow-builder.ts:315
findNodes
▸ findNodes(criteria): WorkflowNode[]
Find nodes by criteria
Parameters
| Name | Type |
|---|---|
criteria | Object |
criteria.type? | string | string[] |
criteria.status? | string | string[] |
criteria.level? | number | number[] |
criteria.parentId? | string |
criteria.hasChildren? | boolean |
Returns
Implementation of
Defined in
services/workflow-builder.ts:323
findEdges
▸ findEdges(criteria): WorkflowEdge[]
Find edges by criteria
Parameters
| Name | Type |
|---|---|
criteria | Object |
criteria.type? | string | string[] |
criteria.sourceId? | string |
criteria.targetId? | string |
criteria.hidden? | boolean |
Returns
Implementation of
Defined in
services/workflow-builder.ts:367
getConnectedNodes
▸ getConnectedNodes(nodeId, direction?): WorkflowNode[]
Get connected nodes
Parameters
| Name | Type | Default value |
|---|---|---|
nodeId | string | undefined |
direction | "incoming" | "outgoing" | "both" | 'both' |
Returns
Implementation of
WorkflowQuery.getConnectedNodes
Defined in
services/workflow-builder.ts:396
getNodePath
▸ getNodePath(nodeId): WorkflowNode[]
Get node path from root
Parameters
| Name | Type |
|---|---|
nodeId | string |
Returns
Implementation of
Defined in
services/workflow-builder.ts:413
getDepth
▸ getDepth(): number
Get workflow depth
Returns
number
Implementation of
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
Defined in
services/workflow-builder.ts:474
importFromJSON
▸ importFromJSON(json): boolean
Import workflow from JSON
Parameters
| Name | Type |
|---|---|
json | string |
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
| Name | Type |
|---|---|
nodes | WorkflowNode[] |
edges | WorkflowEdge[] |
metadata | { nodeCount: number ; edgeCount: number ; createdAt: Date ; version: string = '1.0.0'; format: "universal-workflow" } |
metadata.nodeCount | number |
metadata.edgeCount | number |
metadata.createdAt | Date |
metadata.version | string |
metadata.format | "universal-workflow" |
Implementation of
WorkflowPortable.exportToUniversal
Defined in
services/workflow-builder.ts:514
importFromUniversal
▸ importFromUniversal(data): boolean
Import from universal format
Parameters
| Name | Type |
|---|---|
data | Object |
data.version | string |
data.format | string |
data.data | WorkflowSnapshot |
Returns
boolean
Implementation of
WorkflowPortable.importFromUniversal