Skip to content

workflow / Exports / NodeEdgeManager

Class: NodeEdgeManager

NodeEdgeManager - 노드/엣지 생성 순서 및 무결성 보장

핵심 원칙:

  1. 모든 노드는 자동 timestamp 할당
  2. 엣지는 source/target 노드 존재 확인 후 생성
  3. 순서 보장을 위한 즉시 실행 (큐 제거)
  4. 실패 시 즉시 에러 발생 (재시도 메커니즘 없음)

Table of contents

Constructors

Methods

Constructors

constructor

new NodeEdgeManager(logger?): NodeEdgeManager

Parameters

NameTypeDefault value
loggerSimpleLoggerSilentLogger

Returns

NodeEdgeManager

Defined in

services/node-edge-manager.ts:22

Methods

addNode

addNode(node, parentNodeIds?, connectionType?, connectionLabel?): WorkflowNode

노드 추가 (자동 timestamp 설정 + Fork/Join 패턴 지원)

Parameters

NameTypeDefault valueDescription
nodeOmit<WorkflowNode, "timestamp">undefined노드 데이터 (timestamp 제외)
parentNodeIds?string | string[]undefined부모 노드 ID (단일 또는 배열 - Join 패턴 지원)
connectionTypeWorkflowConnectionType'processes'연결 타입
connectionLabel?stringundefined연결 라벨

Returns

WorkflowNode

Defined in

services/node-edge-manager.ts:33


addEdge

addEdge(sourceId, targetId, type, label?): UniversalWorkflowEdge

엣지 추가 (순차 실행 큐 사용)

Parameters

NameType
sourceIdstring
targetIdstring
typeWorkflowConnectionType
label?string

Returns

UniversalWorkflowEdge

Defined in

services/node-edge-manager.ts:70


connectNodes

connectNodes(fromNode, toNode, type, label?): UniversalWorkflowEdge

노드 연결 (기존 노드들을 연결)

Parameters

NameType
fromNodeWorkflowNode
toNodeWorkflowNode
typeWorkflowConnectionType
label?string

Returns

UniversalWorkflowEdge

Defined in

services/node-edge-manager.ts:115


hasNode

hasNode(nodeId): boolean

노드 존재 확인

Parameters

NameType
nodeIdstring

Returns

boolean

Defined in

services/node-edge-manager.ts:127


hasEdge

hasEdge(edgeId): boolean

엣지 존재 확인

Parameters

NameType
edgeIdstring

Returns

boolean

Defined in

services/node-edge-manager.ts:134


getNode

getNode(nodeId): undefined | WorkflowNode

노드 조회

Parameters

NameType
nodeIdstring

Returns

undefined | WorkflowNode

Defined in

services/node-edge-manager.ts:141


getEdge

getEdge(edgeId): undefined | UniversalWorkflowEdge

엣지 조회

Parameters

NameType
edgeIdstring

Returns

undefined | UniversalWorkflowEdge

Defined in

services/node-edge-manager.ts:148


getAllNodes

getAllNodes(): WorkflowNode[]

모든 노드 반환

Returns

WorkflowNode[]

Defined in

services/node-edge-manager.ts:155


getAllEdges

getAllEdges(): UniversalWorkflowEdge[]

모든 엣지 반환

Returns

UniversalWorkflowEdge[]

Defined in

services/node-edge-manager.ts:162


updateNode

updateNode(nodeId, updates): null | WorkflowNode

노드 업데이트

Parameters

NameType
nodeIdstring
updatesPartial<WorkflowNode>

Returns

null | WorkflowNode

Defined in

services/node-edge-manager.ts:169


updateEdge

updateEdge(edgeId, updates): null | UniversalWorkflowEdge

엣지 업데이트

Parameters

NameType
edgeIdstring
updatesPartial<UniversalWorkflowEdge>

Returns

null | UniversalWorkflowEdge

Defined in

services/node-edge-manager.ts:193


removeNode

removeNode(nodeId): boolean

노드 삭제

Parameters

NameType
nodeIdstring

Returns

boolean

Defined in

services/node-edge-manager.ts:222


removeEdge

removeEdge(edgeId): boolean

엣지 삭제

Parameters

NameType
edgeIdstring

Returns

boolean

Defined in

services/node-edge-manager.ts:244


getNodeEdges

getNodeEdges(nodeId): Object

특정 노드의 연결된 엣지 조회

Parameters

NameType
nodeIdstring

Returns

Object

NameType
incomingUniversalWorkflowEdge[]
outgoingUniversalWorkflowEdge[]

Defined in

services/node-edge-manager.ts:260


getStats

getStats(): Object

워크플로우 통계 조회

Returns

Object

NameType
nodeCountnumber
edgeCountnumber
nodesByTypeRecord<string, number>
edgesByTypeRecord<string, number>

Defined in

services/node-edge-manager.ts:273


validate

validate(): Object

워크플로우 검증

Returns

Object

NameType
isValidboolean
errorsstring[]
warningsstring[]

Defined in

services/node-edge-manager.ts:303


clear

clear(): void

모든 데이터 정리

Returns

void

Defined in

services/node-edge-manager.ts:371


exportData

exportData(): Object

워크플로우 데이터 Export

Returns

Object

NameType
nodesWorkflowNode[]
edgesUniversalWorkflowEdge[]
metadata{ exportedAt: Date ; nodeCount: number ; edgeCount: number }
metadata.exportedAtDate
metadata.nodeCountnumber
metadata.edgeCountnumber

Defined in

services/node-edge-manager.ts:380

Released under the MIT License.