/** * @license * Copyright 2024 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { nothing } from 'lit'; import { Workflow, WorkflowNode, CanvasType, NodeConfiguration } from './workflow-canvas.types.js'; import type { DatabaseProvider } from './data-node/data-node.types.js'; import '../select/select.component.js'; import './workflow-node.component.js'; import { BaseCanvasElement } from './base-canvas.component.js'; /** * Workflow canvas component for visual workflow editing * * @element workflow-canvas * @fires workflow-changed - When workflow is modified * @fires node-selected - When a node is selected * @fires node-configured - When a node configuration is requested */ export declare class WorkflowCanvasElement extends BaseCanvasElement { static useShadowDom: boolean; static styles: (import("lit").CSSResult | import("lit").CSSResult[])[]; canvasType: CanvasType; nodeStatuses: Record; agentActivity: Record; listenToExecutionEvents: boolean; get executionId(): string | null; set executionId(value: string | null); databaseProvider?: DatabaseProvider; applicationId: string; kvEntries: { keyPath: string; value?: any; isSecret: boolean; }[]; onCreateKvEntry?: (detail: { keyPath: string; value: any; scope: string; isSecret: boolean; }) => void; private paletteSearchTerm; private previewNodeId; private isHoveringDisabledOverlay; private httpPreviewBody; private httpPreviewResponse; private httpPreviewLoading; private httpPreviewError; private dynamicVariables; private loadingVariables; private nodeExecutionData; private currentExecutionId; private chatPreviewController; private chatPreviewProvider; private triggerStatuses; private triggerPollingInterval; protected normalizeNodes(nodes: WorkflowNode[]): WorkflowNode[]; protected getNodeDimensionsForContainment(_node: WorkflowNode): { width: number; height: number; }; protected shouldExcludeFromContainment(node: WorkflowNode): boolean; protected onWorkflowLoaded(value: Workflow, oldValue: Workflow): void; protected getNoteContentKey(_node: WorkflowNode): string; protected getNoteSizeKeys(): { widthKey: string; heightKey: string; }; protected getDefaultNoteSize(): { width: number; height: number; }; protected getCanvasType(): CanvasType; protected onNodeMouseDownExtra(node: WorkflowNode): void; protected onConnected(): void; protected onDisconnected(): void; willUpdate(changedProperties: Map): void; protected getNodesForRendering(): WorkflowNode[]; private getNodesWithStatuses; private hasPersistentTriggerNodes; private startTriggerPollingIfNeeded; private stopTriggerPolling; private fetchTriggerStatuses; activateTrigger(triggerId: string): Promise; deactivateTrigger(triggerId: string): Promise; createAndActivateTrigger(nodeType: string, config: NodeConfiguration): Promise; toggleDevMode(triggerId: string, enable: boolean): Promise; private handleNodePreview; /** * Open (idempotent) the workflow socket and wire execution listeners so that * START-node clicks produce live node status updates without requiring a * CHAT_START preview to be open. No-op unless the host set * `listenToExecutionEvents=true` and a workflow is loaded. */ private ensureExecutionSocket; private initializeChatPreview; private connectChatPreviewSocket; private setupExecutionSocketListeners; private createChatPreviewController; private cleanupChatPreview; private sendHttpPreviewRequest; private resetHttpPreview; private closePreviewPanel; private handleTestWorkflowRequest; private handleNodeTrigger; private handleNodeDblClick; private handleNoteSettings; private handleDisabledOverlayDblClick; private handleDisabledOverlayMouseEnter; private handleDisabledOverlayMouseLeave; setExecutionId(executionId: string | null): void; updateNodeExecution(nodeExecution: import('./templates/config-panel/types.js').NodeExecutionData): void; clearExecutionData(): void; private fetchExecutionData; private processNodeExecutions; private handleRetryNode; private tableResizeState; private handleTableResizeStart; private startTableResize; private handleTableResizeDrag; private stopTableResize; private handlePaletteItemDrag; private _touchDragType; private _touchDragGhost; private _cleanupPaletteTouchDrag; private handlePaletteItemTouchStart; private _handlePaletteTouchMove; private _handlePaletteTouchEnd; private toggleCategory; private getPreviewNode; private getPreviewPanelPosition; private getAggregatedFrameStatus; private renderCollapsedFrame; private renderFrameStatusIndicator; private renderCollapsedFramePorts; private renderCollapsedFrameBody; private renderPalette; protected renderConfigPanel(): typeof nothing | import("lit-html").TemplateResult; private renderDisabledOverlay; private renderHttpPreviewPanel; private renderChatPreviewPanel; private renderPreviewPanel; private handleNodeInsertRow; protected renderInsertPanel(): typeof nothing | import("lit-html").TemplateResult<1>; private handleCloseInsertPanel; getInsertPanelElement(): any; constructor(); render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'workflow-canvas': WorkflowCanvasElement; } } //# sourceMappingURL=workflow-canvas.component.d.ts.map