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
| Name | Type | Description |
|---|---|---|
nodes | UniversalWorkflowNode[] | Nodes to position |
edges | UniversalWorkflowEdge[] | Edges to consider for positioning |
config | UniversalLayoutConfig | Layout configuration |
options? | LayoutCalculationOptions | Additional 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
| Name | Type | Description |
|---|---|---|
config | UniversalLayoutConfig | Layout configuration to validate |
Returns
Object
Validation result
| Name | Type |
|---|---|
isValid | boolean |
errors | string[] |
warnings | string[] |
Defined in
packages/agents/src/interfaces/layout-engine.ts:138
supportsConfig
▸ supportsConfig(config): boolean
Check if this engine supports the given configuration
Parameters
| Name | Type | Description |
|---|---|---|
config | UniversalLayoutConfig | Layout 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
| Name | Type | Description |
|---|---|---|
nodes | UniversalWorkflowNode[] | Nodes to layout |
edges | UniversalWorkflowEdge[] | Edges to consider |
Returns
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
| Name | Type | Description |
|---|---|---|
nodes | UniversalWorkflowNode[] | Positioned nodes |
Returns
Object
Calculated bounds
| Name | Type |
|---|---|
minX | number |
maxX | number |
minY | number |
maxY | number |
width | number |
height | number |
Defined in
packages/agents/src/interfaces/layout-engine.ts:170
getStats
▸ getStats(): Object
Get layout engine statistics and metrics
Returns
Object
Engine performance metrics
| Name | Type |
|---|---|
totalCalculations | number |
successfulCalculations | number |
failedCalculations | number |
averageProcessingTime | number |
averageNodeCount | number |
lastCalculationAt? | Date |
Defined in
packages/agents/src/interfaces/layout-engine.ts:184
resetStats
▸ resetStats(): void
Reset layout engine statistics
Returns
void