Skip to content

workflow / Exports / WorkflowEventSubscriber

Class: WorkflowEventSubscriber

WorkflowEventSubscriber - Core workflow event processing system

Table of contents

Constructors

Methods

Constructors

constructor

new WorkflowEventSubscriber(config?): WorkflowEventSubscriber

Parameters

NameType
configWorkflowEventSubscriberConfig

Returns

WorkflowEventSubscriber

Defined in

services/workflow-event-subscriber.ts:76

Methods

processEvent

processEvent(eventType, eventData): Promise<void>

Process an event through the registered handlers

Parameters

NameType
eventTypestring
eventDataunknown

Returns

Promise<void>

Defined in

services/workflow-event-subscriber.ts:119


subscribeToEvents

subscribeToEvents(callback): () => void

Subscribe to raw events

Parameters

NameType
callbackEventSubscriptionCallback

Returns

fn

▸ (): void

Returns

void

Defined in

services/workflow-event-subscriber.ts:161


unsubscribeFromEvents

unsubscribeFromEvents(callback): void

Unsubscribe from raw events

Parameters

NameType
callbackEventSubscriptionCallback

Returns

void

Defined in

services/workflow-event-subscriber.ts:173


subscribeToWorkflowUpdates

subscribeToWorkflowUpdates(callback): () => void

Subscribe to workflow updates

Parameters

NameType
callbackWorkflowUpdateCallback

Returns

fn

▸ (): void

Returns

void

Defined in

services/workflow-event-subscriber.ts:183


unsubscribeFromWorkflowUpdates

unsubscribeFromWorkflowUpdates(callback): void

Unsubscribe from workflow updates

Parameters

NameType
callbackWorkflowUpdateCallback

Returns

void

Defined in

services/workflow-event-subscriber.ts:195


registerEventHandler

registerEventHandler(handler): void

Register an event handler

Parameters

NameType
handlerEventHandler

Returns

void

Defined in

services/workflow-event-subscriber.ts:209


unregisterEventHandler

unregisterEventHandler(handlerName): boolean

Unregister an event handler

Parameters

NameType
handlerNamestring

Returns

boolean

Defined in

services/workflow-event-subscriber.ts:222


getRegisteredHandlers

getRegisteredHandlers(): EventHandler[]

Get all registered handlers

Returns

EventHandler[]

Defined in

services/workflow-event-subscriber.ts:233


getWorkflowSnapshot

getWorkflowSnapshot(): WorkflowSnapshot

Get current workflow snapshot

Returns

WorkflowSnapshot

Defined in

services/workflow-event-subscriber.ts:244


getAllNodes

getAllNodes(): WorkflowNode[]

Get all workflow nodes

Returns

WorkflowNode[]

Defined in

services/workflow-event-subscriber.ts:251


getAllEdges

getAllEdges(): WorkflowEdge[]

Get all workflow edges

Returns

WorkflowEdge[]

Defined in

services/workflow-event-subscriber.ts:258


findNodes

findNodes(criteria): any

Find nodes by criteria

Parameters

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

Returns

any

Defined in

services/workflow-event-subscriber.ts:265


getStats

getStats(): Object

Get workflow statistics

Returns

Object

NameType
eventsProcessednumber
nodesCreatednumber
edgesCreatednumber
errorsEncounterednumber
lastEventTimeDate
workflow{ nodeCount: number ; edgeCount: number ; totalUpdates: number ; lastUpdateTime?: Date }
workflow.nodeCountnumber
workflow.edgeCountnumber
workflow.totalUpdatesnumber
workflow.lastUpdateTime?Date
handlersnumber

Defined in

services/workflow-event-subscriber.ts:278


clear

clear(): void

Clear all workflow data

Returns

void

Defined in

services/workflow-event-subscriber.ts:293


exportWorkflow

exportWorkflow(): Object

Export workflow data in flat format for compatibility

Returns

Object

NameType
metadataany
__workflowTypestring
idany
nameany
nodesany
edgesany
layout{ algorithm: string = 'hierarchical'; direction: string = 'TB'; spacing: { nodeSpacing: number = 200; levelSpacing: number = 150 } ; alignment: { horizontal: string = 'center'; vertical: string = 'top' } }
layout.algorithmstring
layout.directionstring
layout.spacing{ nodeSpacing: number = 200; levelSpacing: number = 150 }
layout.spacing.nodeSpacingnumber
layout.spacing.levelSpacingnumber
layout.alignment{ horizontal: string = 'center'; vertical: string = 'top' }
layout.alignment.horizontalstring
layout.alignment.verticalstring

Defined in

services/workflow-event-subscriber.ts:318


importWorkflow

importWorkflow(data): boolean

Import workflow data

Parameters

NameType
dataany

Returns

boolean

Defined in

services/workflow-event-subscriber.ts:354

Released under the MIT License.