Skip to content

agents / Exports / LayoutEngineInterface

Interface: LayoutEngineInterface

Layout Engine Interface

Core interface for calculating node positions in workflow visualizations. All layout engines must implement this interface.

Implemented by

Table of contents

Properties

Methods

Properties

name

Readonly name: string

Layout engine name for identification

Defined in

packages/agents/src/interfaces/layout-engine.ts:105


version

Readonly version: string

Layout engine version

Defined in

packages/agents/src/interfaces/layout-engine.ts:108


algorithm

Readonly algorithm: string

Layout algorithm type

Defined in

packages/agents/src/interfaces/layout-engine.ts:111


supportedDirections

Readonly supportedDirections: ("TB" | "BT" | "LR" | "RL")[]

Supported layout directions

Defined in

packages/agents/src/interfaces/layout-engine.ts:114

Methods

calculateLayout

calculateLayout(nodes, edges, config, options?): Promise<LayoutCalculationResult>

Calculate positions for workflow nodes

Parameters

NameTypeDescription
nodesUniversalWorkflowNode[]Nodes to position
edgesUniversalWorkflowEdge[]Edges to consider for positioning
configUniversalLayoutConfigLayout configuration
options?LayoutCalculationOptionsAdditional layout options

Returns

Promise<LayoutCalculationResult>

Promise resolving to layout result

Defined in

packages/agents/src/interfaces/layout-engine.ts:125


validateConfig

validateConfig(config): Object

Validate layout configuration

Parameters

NameTypeDescription
configUniversalLayoutConfigLayout configuration to validate

Returns

Object

Validation result

NameType
isValidboolean
errorsstring[]
warningsstring[]

Defined in

packages/agents/src/interfaces/layout-engine.ts:138


supportsConfig

supportsConfig(config): boolean

Check if this engine supports the given configuration

Parameters

NameTypeDescription
configUniversalLayoutConfigLayout configuration to check

Returns

boolean

True if engine can handle this configuration

Defined in

packages/agents/src/interfaces/layout-engine.ts:150


getOptimalConfig

getOptimalConfig(nodes, edges): UniversalLayoutConfig

Get optimal layout configuration for given data

Parameters

NameTypeDescription
nodesUniversalWorkflowNode[]Nodes to layout
edgesUniversalWorkflowEdge[]Edges to consider

Returns

UniversalLayoutConfig

Recommended layout configuration

Defined in

packages/agents/src/interfaces/layout-engine.ts:159


calculateBounds

calculateBounds(nodes): Object

Calculate bounds for a set of positioned nodes

Parameters

NameTypeDescription
nodesUniversalWorkflowNode[]Positioned nodes

Returns

Object

Calculated bounds

NameType
minXnumber
maxXnumber
minYnumber
maxYnumber
widthnumber
heightnumber

Defined in

packages/agents/src/interfaces/layout-engine.ts:170


getStats

getStats(): Object

Get layout engine statistics and metrics

Returns

Object

Engine performance metrics

NameType
totalCalculationsnumber
successfulCalculationsnumber
failedCalculationsnumber
averageProcessingTimenumber
averageNodeCountnumber
lastCalculationAt?Date

Defined in

packages/agents/src/interfaces/layout-engine.ts:184


resetStats

resetStats(): void

Reset layout engine statistics

Returns

void

Defined in

packages/agents/src/interfaces/layout-engine.ts:196

Released under the MIT License.