Skip to content

workflow / Exports

workflow

Table of contents

Enumerations

Classes

Interfaces

Type Aliases

Variables

Functions

Type Aliases

WorkflowNodeType

Ƭ WorkflowNodeType: typeof WORKFLOW_NODE_TYPES[keyof typeof WORKFLOW_NODE_TYPES]

WorkflowNodeType - 타입 안전성을 위한 Union Type

🔒 외부에서 이 타입에 없는 Node 타입 사용 방지 🎯 모든 Node 생성 시 이 상수들만 사용하도록 강제

Defined in

constants/workflow-types.ts:106


EventPattern

Ƭ EventPattern: string | RegExp | (eventType: string) => boolean

Event pattern matching types

Defined in

interfaces/event-handler.ts:22


WorkflowUpdate

Ƭ WorkflowUpdate: WorkflowNodeUpdate | WorkflowEdgeUpdate

Workflow update types

Defined in

interfaces/workflow-builder.ts:27


WorkflowUpdateCallback

Ƭ WorkflowUpdateCallback: (update: WorkflowUpdate) => void

Workflow subscription callback

Type declaration

▸ (update): void

Parameters
NameType
updateWorkflowUpdate
Returns

void

Defined in

interfaces/workflow-builder.ts:49


WorkflowNodeStatus

Ƭ WorkflowNodeStatus: "pending" | "running" | "completed" | "error"

Base workflow node status types

Defined in

interfaces/workflow-node.ts:9


WorkflowConnectionType

Ƭ WorkflowConnectionType: "has_tools" | "contains" | "receives" | "processes" | "continues" | "executes" | "creates" | "triggers" | "branch" | "result" | "analyze" | "return" | "final" | "deliver" | "integrates" | "finalizes"

Connection types between workflow nodes Based on existing WorkflowConnectionType from workflow-event-subscriber

Defined in

interfaces/workflow-node.ts:15


PluginLifecycle

Ƭ PluginLifecycle: "beforeNodeCreate" | "afterNodeCreate" | "beforeNodeUpdate" | "afterNodeUpdate" | "beforeNodeDelete" | "afterNodeDelete" | "beforeEdgeCreate" | "afterEdgeCreate" | "beforeEdgeUpdate" | "afterEdgeUpdate" | "beforeEdgeDelete" | "afterEdgeDelete" | "beforeSnapshot" | "afterSnapshot"

Plugin lifecycle hooks

Defined in

interfaces/workflow-plugin.ts:11


PluginHookHandler

Ƭ PluginHookHandler<TInput, TOutput>: (input: TInput, context: PluginContext) => Promise<TOutput> | TOutput

Hook handler function type

Type parameters

NameType
TInputunknown
TOutputunknown

Type declaration

▸ (input, context): Promise<TOutput> | TOutput

Parameters
NameType
inputTInput
contextPluginContext
Returns

Promise<TOutput> | TOutput

Defined in

interfaces/workflow-plugin.ts:69


EventSubscriptionCallback

Ƭ EventSubscriptionCallback: (eventType: string, eventData: unknown) => void

Event subscription callback for external integrations

Type declaration

▸ (eventType, eventData): void

Parameters
NameType
eventTypestring
eventDataunknown
Returns

void

Defined in

services/workflow-event-subscriber.ts:32


UniversalNodeType

Ƭ UniversalNodeType: typeof UNIVERSAL_NODE_TYPES[keyof typeof UNIVERSAL_NODE_TYPES]

Defined in

types/universal-types.ts:433


UniversalEdgeType

Ƭ UniversalEdgeType: typeof UNIVERSAL_EDGE_TYPES[keyof typeof UNIVERSAL_EDGE_TYPES]

Defined in

types/universal-types.ts:434

Variables

WORKFLOW_DEFAULTS

Const WORKFLOW_DEFAULTS: Object

Default workflow configuration values These constants provide sensible defaults for workflow operations

Type declaration

NameType
NODE_LEVEL1
INITIAL_STATUS"pending"
AUTO_TIMESTAMPtrue
VALIDATE_CONNECTIONStrue
MAX_RECURSION_DEPTH10
DEFAULT_TIMEOUT30000
PROCESSING_DELAY0
BATCH_SIZE100
EVENT_QUEUE_SIZE1000
MAX_RETRIES3
RETRY_DELAY1000
PLUGIN_PRIORITY50
PLUGIN_TIMEOUT5000
MAX_PLUGINS50
LOG_LEVEL"info"
DEBUG_MODEfalse

Defined in

constants/defaults.ts:8


WORKFLOW_CONSTRAINTS

Const WORKFLOW_CONSTRAINTS: Object

Workflow validation constraints These limits help prevent system overload and ensure reasonable performance

Type declaration

NameType
MAX_NODES10000
MAX_EDGES50000
MAX_PLUGINS50
MAX_NODE_LABEL_LENGTH500
MAX_EDGE_LABEL_LENGTH200
MAX_DESCRIPTION_LENGTH2000
MIN_NODE_ID_LENGTH1
MAX_NODE_ID_LENGTH255
MIN_EDGE_ID_LENGTH1
MAX_EDGE_ID_LENGTH255
MAX_PROCESSING_TIME60000
MAX_EVENT_DATA_SIZE1048576
MAX_BATCH_OPERATIONS1000
MAX_GRAPH_DEPTH100
MAX_NODE_CONNECTIONS1000
MAX_PLUGIN_DEPTH10

Defined in

constants/defaults.ts:42


EVENT_PROCESSING_DEFAULTS

Const EVENT_PROCESSING_DEFAULTS: Object

Default event processing configuration

Type declaration

NameType
PROCESS_ASYNCtrue
PRESERVE_ORDERtrue
ENABLE_BATCHINGfalse
STOP_ON_ERRORfalse
LOG_ERRORStrue
RETRY_ON_FAILUREtrue
CONCURRENT_LIMIT10
QUEUE_HIGH_WATERMARK1000
DEBOUNCE_TIME100

Defined in

constants/defaults.ts:73


LOGGING_DEFAULTS

Const LOGGING_DEFAULTS: Object

Default logging configuration

Type declaration

NameType
LEVELS{ ERROR: 0 = 0; WARN: 1 = 1; INFO: 2 = 2; DEBUG: 3 = 3 }
LEVELS.ERROR0
LEVELS.WARN1
LEVELS.INFO2
LEVELS.DEBUG3
DEFAULT_LEVEL2
INCLUDE_TIMESTAMPtrue
INCLUDE_LEVELtrue
INCLUDE_SOURCEfalse
MAX_MESSAGE_LENGTH1000
TRUNCATE_LONG_MESSAGEStrue

Defined in

constants/defaults.ts:93


CONNECTION_PRIORITIES

Const CONNECTION_PRIORITIES: Object

Connection type priorities for automatic layout Higher numbers indicate higher layout priority

Type declaration

NameType
receives100
processes90
executes80
creates70
return60
result50
analyze40
integrates30
branch20
final10
deliver5

Defined in

constants/defaults.ts:117


NODE_DISPLAY_PRIORITIES

Const NODE_DISPLAY_PRIORITIES: Object

Node type display priorities for UI rendering Higher numbers render on top

Type declaration

NameType
user_input100
user_message95
agent90
agent_thinking80
tool_call70
tool_call_response65
response60
tool_result50
tools_container40
tool_definition35
output30

Defined in

constants/defaults.ts:135


NODE_STYLE_DEFAULTS

Const NODE_STYLE_DEFAULTS: Object

Default node styling configuration

Type declaration

NameType
DEFAULT_WIDTH200
DEFAULT_HEIGHT100
MIN_WIDTH100
MIN_HEIGHT50
HORIZONTAL_SPACING250
VERTICAL_SPACING150
LEVEL_SPACING200
BORDER_RADIUS8
BORDER_WIDTH2
FONT_SIZE14
PADDING16

Defined in

constants/defaults.ts:152


PERFORMANCE_THRESHOLDS

Const PERFORMANCE_THRESHOLDS: Object

Performance monitoring thresholds

Type declaration

NameType
SLOW_OPERATION1000
VERY_SLOW_OPERATION5000
HIGH_MEMORYnumber
VERY_HIGH_MEMORYnumber
QUEUE_WARNING_SIZE500
QUEUE_CRITICAL_SIZE800
LARGE_WORKFLOW1000
HUGE_WORKFLOW5000

Defined in

constants/defaults.ts:174


WORKFLOW_NODE_TYPES

Const WORKFLOW_NODE_TYPES: Object

🎯 Entry/Exit Points - 워크플로우 시작과 종료

Type declaration

NameTypeDescription
USER_INPUT"user_input"-
USER_MESSAGE"user_message"-
OUTPUT"output"-
AGENT"agent"🤖 Agent Core - Agent 번호 시스템 (Agent 0, Agent 1, Agent 2...) 모든 Agent는 동일한 'agent' 타입으로 통일 번호와 역할은 data.agentNumber, data.label로 구분
TOOLS_CONTAINER"tools_container"-
TOOL_DEFINITION"tool_definition"-
AGENT_THINKING"agent_thinking"🔄 Execution Flow - Agent의 실행 흐름
TOOL_CALL"tool_call"-
TOOL_CALL_RESPONSE"tool_call_response"-
RESPONSE"response"📤 Response Types - 응답 처리 "final"이라는 개념 제거: 모든 응답은 연속될 수 있음
TOOL_RESULT"tool_result"-
ERROR"error"-
TEAM_ANALYSIS"team_analysis"🏢 Team & Collaboration - 팀 협업 관련 노드들
TASK"task"-
AGENT_CREATION"agent_creation"-
AGGREGATION"aggregation"-
TOOL_RESPONSE"tool_response"🔧 Tool Operations - Tool 관련 세부 노드들
EXECUTION"execution"⚙️ Execution & Messages - 실행 및 메시지 관련
ASSISTANT_MESSAGE"assistant_message"-

Defined in

constants/workflow-types.ts:21


WORKFLOW_NODE_TYPE_DESCRIPTIONS

Const WORKFLOW_NODE_TYPE_DESCRIPTIONS: Object

Node Type 설명 맵 (디버깅 및 로깅용)

Type declaration

NameType
user_input"사용자 입력 (워크플로우 시작점)"
user_message"사용자 메시지 (Agent에게 전달)"
output"사용자 출력 (결과 전달점)"
agent"Agent (번호 시스템으로 구분)"
tools_container"Tools 컨테이너"
tool_definition"개별 Tool 정의"
agent_thinking"Agent 사고/판단 과정"
tool_call"개별 Tool 실행"
tool_call_response"Tool 실행 결과 응답"
response"Agent 응답 (연속 가능)"
tool_result"Tool 결과 합류점"
error"오류 처리 노드"
team_analysis"팀 분석 노드"
task"작업 할당 노드"
agent_creation"Agent 생성 프로세스"
aggregation"결과 집계 노드"
tool_response"Tool 응답 노드"
execution"실행 노드"
assistant_message"Assistant 메시지 노드"

Defined in

constants/workflow-types.ts:121


UNIVERSAL_NODE_TYPES

Const UNIVERSAL_NODE_TYPES: Object

Node type definitions for common workflow patterns

Type declaration

NameType
USER_INPUT"user_input"
USER_MESSAGE"user_message"
OUTPUT"output"
AGENT"agent"
TOOLS_CONTAINER"tools_container"
TOOL_DEFINITION"tool_definition"
AGENT_THINKING"agent_thinking"
TOOL_CALL"tool_call"
TOOL_CALL_RESPONSE"tool_call_response"
RESPONSE"response"
TOOL_RESULT"tool_result"
GROUP"group"
BRANCH"branch"
CONDITION"condition"
LOOP"loop"
ERROR"error"

Defined in

types/universal-types.ts:373


UNIVERSAL_EDGE_TYPES

Const UNIVERSAL_EDGE_TYPES: Object

Edge type definitions for common connection patterns

Type declaration

NameType
HAS_TOOLS"has_tools"
CONTAINS"contains"
RECEIVES"receives"
PROCESSES"processes"
EXECUTES"executes"
RESULT"result"
BRANCH"branch"
ANALYZE"analyze"
RETURN"return"
FINAL"final"
DELIVER"deliver"
CREATES"creates"
TRIGGERS"triggers"
CONTINUES"continues"
INTEGRATES"integrates"
FINALIZES"finalizes"
SUCCESS"success"
ERROR"error"
FALLBACK"fallback"
RETRY"retry"

Defined in

types/universal-types.ts:402

Functions

isValidWorkflowNodeType

isValidWorkflowNodeType(nodeType): nodeType is WorkflowNodeType

Node Type 검증 함수

Parameters

NameTypeDescription
nodeTypestring검증할 Node 타입

Returns

nodeType is WorkflowNodeType

유효한 Node 타입인지 여부

Defined in

constants/workflow-types.ts:114


isWorkflowEdge

isWorkflowEdge(obj): obj is WorkflowEdge

Type guard for WorkflowEdge

Parameters

NameType
objunknown

Returns

obj is WorkflowEdge

Defined in

interfaces/workflow-edge.ts:97


isWorkflowNode

isWorkflowNode(obj): obj is WorkflowNode

Type guard for WorkflowNode

Parameters

NameType
objunknown

Returns

obj is WorkflowNode

Defined in

interfaces/workflow-node.ts:116

Released under the MIT License.