@goplasmatic/dataflow-ui 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,722 @@
1
+ import { Component } from 'react';
2
+ import { ErrorInfo as ErrorInfo_2 } from 'react';
3
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
4
+ import { LucideIcon } from 'lucide-react';
5
+ import { ReactNode } from 'react';
6
+ import { ReactPortal } from 'react';
7
+
8
+ /**
9
+ * Audit trail entry for tracking changes (matches Rust AuditTrail)
10
+ */
11
+ export declare interface AuditTrail {
12
+ /** Workflow ID where change occurred */
13
+ workflow_id: string;
14
+ /** Task ID where change occurred */
15
+ task_id: string;
16
+ /** Timestamp of the change */
17
+ timestamp: string;
18
+ /** Changes made by the task */
19
+ changes: Change[];
20
+ /** Status code (e.g., 200 for success) */
21
+ status: number;
22
+ }
23
+
24
+ /**
25
+ * Built-in function types
26
+ */
27
+ export declare type BuiltinFunctionType = 'map' | 'validation';
28
+
29
+ /**
30
+ * A single change in the audit trail
31
+ */
32
+ export declare interface Change {
33
+ /** Path to the changed field (e.g., "data.user.name") */
34
+ path: string;
35
+ /** Previous value */
36
+ old_value: unknown;
37
+ /** New value */
38
+ new_value: unknown;
39
+ }
40
+
41
+ /**
42
+ * Deep clone a message
43
+ */
44
+ export declare function cloneMessage(message: Message): Message;
45
+
46
+ export declare function ConditionBadge({ condition, className, onClick }: ConditionBadgeProps): JSX_2.Element;
47
+
48
+ declare interface ConditionBadgeProps {
49
+ condition: JsonLogicValue | undefined;
50
+ className?: string;
51
+ onClick?: () => void;
52
+ }
53
+
54
+ /**
55
+ * Result of evaluating a condition
56
+ */
57
+ export declare interface ConditionResult {
58
+ /** The condition that was evaluated */
59
+ condition: JsonLogicValue;
60
+ /** The result of evaluation */
61
+ result: boolean;
62
+ /** Data context used for evaluation */
63
+ context: Record<string, unknown>;
64
+ }
65
+
66
+ /**
67
+ * Create an empty message
68
+ */
69
+ export declare function createEmptyMessage(): Message;
70
+
71
+ /**
72
+ * Actions for the debugger reducer
73
+ */
74
+ export declare type DebuggerAction = {
75
+ type: 'ACTIVATE';
76
+ } | {
77
+ type: 'DEACTIVATE';
78
+ } | {
79
+ type: 'SET_INPUT_PAYLOAD';
80
+ payload: Record<string, unknown>;
81
+ } | {
82
+ type: 'START_EXECUTION';
83
+ } | {
84
+ type: 'EXECUTE_TRACE';
85
+ trace: ExecutionTrace;
86
+ } | {
87
+ type: 'EXECUTION_ERROR';
88
+ error: string;
89
+ } | {
90
+ type: 'PLAY';
91
+ } | {
92
+ type: 'PAUSE';
93
+ } | {
94
+ type: 'STOP';
95
+ } | {
96
+ type: 'RESET';
97
+ } | {
98
+ type: 'STEP_FORWARD';
99
+ } | {
100
+ type: 'STEP_BACKWARD';
101
+ } | {
102
+ type: 'GO_TO_STEP';
103
+ index: number;
104
+ } | {
105
+ type: 'SET_SPEED';
106
+ speed: number;
107
+ };
108
+
109
+ /**
110
+ * Context value interface
111
+ */
112
+ declare interface DebuggerContextValue {
113
+ state: DebuggerState;
114
+ dispatch: React.Dispatch<DebuggerAction>;
115
+ activate: () => void;
116
+ deactivate: () => void;
117
+ setInputPayload: (payload: Record<string, unknown>) => void;
118
+ executeTrace: (trace: ExecutionTrace) => void;
119
+ startExecution: () => void;
120
+ setExecutionError: (error: string) => void;
121
+ play: () => void;
122
+ pause: () => void;
123
+ stop: () => void;
124
+ reset: () => void;
125
+ stepForward: () => void;
126
+ stepBackward: () => void;
127
+ goToStep: (index: number) => void;
128
+ setSpeed: (speed: number) => void;
129
+ currentStep: ExecutionStep | null;
130
+ currentMessage: Message | null;
131
+ currentChanges: Change[];
132
+ isAtStart: boolean;
133
+ isAtEnd: boolean;
134
+ hasTrace: boolean;
135
+ progress: number;
136
+ totalSteps: number;
137
+ }
138
+
139
+ /**
140
+ * Playback controls for the debugger
141
+ */
142
+ export declare function DebuggerControls({ compact, className }: DebuggerControlsProps): JSX_2.Element;
143
+
144
+ declare interface DebuggerControlsProps {
145
+ /** Show compact version */
146
+ compact?: boolean;
147
+ /** Additional CSS class */
148
+ className?: string;
149
+ }
150
+
151
+ /**
152
+ * Provider component for debugger state
153
+ */
154
+ export declare function DebuggerProvider({ children, initialPayload, autoActivate, }: DebuggerProviderProps): JSX_2.Element;
155
+
156
+ declare interface DebuggerProviderProps {
157
+ children: ReactNode;
158
+ /** Initial payload to use for debugging */
159
+ initialPayload?: Record<string, unknown>;
160
+ /** Auto-start in debug mode */
161
+ autoActivate?: boolean;
162
+ }
163
+
164
+ /**
165
+ * Complete debugger state
166
+ */
167
+ export declare interface DebuggerState {
168
+ /** Whether debug mode is active */
169
+ isActive: boolean;
170
+ /** Current execution trace */
171
+ trace: ExecutionTrace | null;
172
+ /** Current step index being viewed */
173
+ currentStepIndex: number;
174
+ /** Playback state */
175
+ playbackState: PlaybackState;
176
+ /** Playback speed (ms between steps) */
177
+ playbackSpeed: number;
178
+ /** Input payload for debugging */
179
+ inputPayload: Record<string, unknown> | null;
180
+ /** Whether the debugger is currently executing */
181
+ isExecuting: boolean;
182
+ /** Error during execution */
183
+ executionError: string | null;
184
+ }
185
+
186
+ /**
187
+ * Tooltip/bubble showing debug step details
188
+ */
189
+ export declare function DebugInfoBubble({ step, targetRef, visible, onClose, }: DebugInfoBubbleProps): ReactPortal | null;
190
+
191
+ declare interface DebugInfoBubbleProps {
192
+ /** The execution step to display */
193
+ step: ExecutionStep;
194
+ /** Target element to position near */
195
+ targetRef: React.RefObject<HTMLElement>;
196
+ /** Whether the bubble is visible */
197
+ visible: boolean;
198
+ /** Callback when bubble is closed */
199
+ onClose?: () => void;
200
+ }
201
+
202
+ /**
203
+ * Debug state for a node in the execution tree
204
+ */
205
+ export declare type DebugNodeState = 'pending' | 'current' | 'executed' | 'skipped' | 'error';
206
+
207
+ export declare function DebugStateBadge({ state, conditionResult, size, }: DebugStateBadgeProps): JSX_2.Element;
208
+
209
+ /**
210
+ * Small badge showing debug state on tree nodes
211
+ */
212
+ declare interface DebugStateBadgeProps {
213
+ state: DebugNodeState;
214
+ conditionResult?: boolean;
215
+ size?: 'sm' | 'md';
216
+ }
217
+
218
+ /**
219
+ * Error boundary component to catch and display errors in child components
220
+ */
221
+ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
222
+ constructor(props: ErrorBoundaryProps);
223
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
224
+ componentDidCatch(error: Error, errorInfo: ErrorInfo_2): void;
225
+ render(): ReactNode;
226
+ }
227
+
228
+ declare interface ErrorBoundaryProps {
229
+ children: ReactNode;
230
+ fallback?: ReactNode;
231
+ }
232
+
233
+ declare interface ErrorBoundaryState {
234
+ hasError: boolean;
235
+ error: Error | null;
236
+ }
237
+
238
+ /**
239
+ * Error information captured during execution
240
+ */
241
+ export declare interface ErrorInfo {
242
+ /** Error code or identifier */
243
+ code: string;
244
+ /** Human-readable error message */
245
+ message: string;
246
+ /** Task ID where error occurred */
247
+ task_id?: string;
248
+ /** Workflow ID where error occurred */
249
+ workflow_id?: string;
250
+ }
251
+
252
+ /**
253
+ * A single step in the execution trace (matches Rust ExecutionStep)
254
+ */
255
+ export declare interface ExecutionStep {
256
+ /** ID of the workflow this step belongs to */
257
+ workflow_id: string;
258
+ /** ID of the task (undefined for workflow-level skips) */
259
+ task_id?: string;
260
+ /** Result of the step execution */
261
+ result: StepResult;
262
+ /** Message snapshot after this step (only for executed steps) */
263
+ message?: Message;
264
+ }
265
+
266
+ /**
267
+ * Complete execution trace (matches Rust ExecutionTrace)
268
+ */
269
+ export declare interface ExecutionTrace {
270
+ /** All execution steps in order */
271
+ steps: ExecutionStep[];
272
+ }
273
+
274
+ /**
275
+ * Function configuration for a task
276
+ */
277
+ export declare interface FunctionConfig {
278
+ /** Function name (e.g., "map", "validation", or custom) */
279
+ name: string;
280
+ /** Function-specific input configuration */
281
+ input?: Record<string, unknown>;
282
+ }
283
+
284
+ export declare function FunctionTypeBadge({ functionName, className }: FunctionTypeBadgeProps): JSX_2.Element;
285
+
286
+ declare interface FunctionTypeBadgeProps {
287
+ functionName: string;
288
+ className?: string;
289
+ }
290
+
291
+ /**
292
+ * Get the changes made at a specific step
293
+ * Returns the changes from the last audit_trail entry if step was executed
294
+ */
295
+ export declare function getChangesAtStep(trace: ExecutionTrace, stepIndex: number): Change[];
296
+
297
+ /**
298
+ * Get display info for a function type including the Lucide icon component
299
+ */
300
+ export declare function getFunctionDisplayInfo(name: string): {
301
+ label: string;
302
+ colorClass: string;
303
+ Icon: LucideIcon;
304
+ };
305
+
306
+ /**
307
+ * Get the message at a specific step in the trace
308
+ * Returns the message snapshot from the last executed step at or before the given index
309
+ */
310
+ export declare function getMessageAtStep(trace: ExecutionTrace, stepIndex: number): Message | null;
311
+
312
+ /**
313
+ * Get the state of a task based on the trace and current step
314
+ * Returns:
315
+ * - 'pending' for future steps (after current)
316
+ * - 'executed'/'skipped'/'error' for steps at or before current position
317
+ * Note: Tasks show as 'executed' when on their step (completed state)
318
+ */
319
+ export declare function getTaskState(trace: ExecutionTrace, currentStepIndex: number, workflowId: string, taskId: string): DebugNodeState;
320
+
321
+ /**
322
+ * Get the state of a workflow based on the trace and current step
323
+ * Returns:
324
+ * - 'pending' if all workflow steps are after the current step
325
+ * - 'executed'/'skipped'/'error' for workflows with steps at or before current
326
+ * Note: Workflows don't show as 'current' - only individual tasks do
327
+ */
328
+ export declare function getWorkflowState(trace: ExecutionTrace, currentStepIndex: number, workflowId: string): DebugNodeState;
329
+
330
+ /**
331
+ * Check if a function is a built-in type
332
+ */
333
+ export declare function isBuiltinFunction(name: string): name is BuiltinFunctionType;
334
+
335
+ /**
336
+ * JSONLogic value type - can be any valid JSON value or JSONLogic expression
337
+ */
338
+ export declare type JsonLogicValue = string | number | boolean | null | JsonLogicValue[] | {
339
+ [key: string]: JsonLogicValue;
340
+ };
341
+
342
+ export declare function JsonViewer({ data, initialExpanded, maxStringLength, className, }: JsonViewerProps): JSX_2.Element;
343
+
344
+ declare interface JsonViewerProps {
345
+ data: unknown;
346
+ initialExpanded?: boolean;
347
+ maxStringLength?: number;
348
+ className?: string;
349
+ }
350
+
351
+ /**
352
+ * Legacy execution step type (for backwards compatibility)
353
+ * @deprecated Use ExecutionStep instead
354
+ */
355
+ export declare interface LegacyExecutionStep {
356
+ /** Unique ID for this step */
357
+ id: string;
358
+ /** Type of step */
359
+ type: 'workflow-condition' | 'workflow-start' | 'workflow-end' | 'task-condition' | 'task-start' | 'task-end';
360
+ /** Associated workflow */
361
+ workflow: Workflow;
362
+ /** Associated task (if applicable) */
363
+ task?: Task;
364
+ /** Result of condition evaluation (if applicable) */
365
+ conditionResult?: ConditionResult;
366
+ /** Message state before this step */
367
+ messageBefore: Message;
368
+ /** Message state after this step */
369
+ messageAfter: Message;
370
+ /** State of this node */
371
+ state: DebugNodeState;
372
+ /** Timestamp when this step occurred */
373
+ timestamp: number;
374
+ /** Duration of this step in ms (for task-end) */
375
+ duration?: number;
376
+ /** Error if this step failed */
377
+ error?: ErrorInfo;
378
+ }
379
+
380
+ /**
381
+ * Legacy trace type (for backwards compatibility)
382
+ * @deprecated Use ExecutionTrace instead
383
+ */
384
+ export declare interface LegacyWorkflowExecutionTrace {
385
+ /** All execution steps */
386
+ steps: LegacyExecutionStep[];
387
+ /** Initial message before any processing */
388
+ initialMessage: Message;
389
+ /** Final message after all processing */
390
+ finalMessage: Message;
391
+ /** Total execution duration in ms */
392
+ totalDuration: number;
393
+ /** Whether execution completed successfully */
394
+ success: boolean;
395
+ }
396
+
397
+ /**
398
+ * Map function input configuration
399
+ */
400
+ export declare interface MapFunctionInput {
401
+ mappings: MapMapping[];
402
+ }
403
+
404
+ /**
405
+ * Map function mapping configuration
406
+ */
407
+ export declare interface MapMapping {
408
+ /** Target path for the mapped value */
409
+ path: string;
410
+ /** JSONLogic expression to compute the value */
411
+ logic: JsonLogicValue;
412
+ }
413
+
414
+ /**
415
+ * Alias for MapMapping - used in tree and details views
416
+ */
417
+ export declare type MappingItem = MapMapping;
418
+
419
+ /**
420
+ * Message structure for workflow execution
421
+ * Mirrors the Rust Message struct from WASM output
422
+ */
423
+ export declare interface Message {
424
+ /** Unique message ID */
425
+ id: string;
426
+ /** Original payload */
427
+ payload: Record<string, unknown>;
428
+ /** Context containing data, metadata, temp_data */
429
+ context: {
430
+ data: Record<string, unknown>;
431
+ metadata: Record<string, unknown>;
432
+ temp_data: Record<string, unknown>;
433
+ };
434
+ /** List of errors that occurred during processing */
435
+ errors: ErrorInfo[];
436
+ /** Audit trail of changes made during processing */
437
+ audit_trail: AuditTrail[];
438
+ }
439
+
440
+ /**
441
+ * Panel for inputting test payload data
442
+ *
443
+ * Note: This is a simplified version that works with the new ExecutionTrace-based
444
+ * debugging system. The input is a JSON payload that gets processed through workflows.
445
+ */
446
+ export declare function MessageInputPanel({ onExecute, isExecuting, className, }: MessageInputPanelProps): JSX_2.Element;
447
+
448
+ declare interface MessageInputPanelProps {
449
+ /** Callback to trigger debug execution */
450
+ onExecute: () => void;
451
+ /** Whether execution is in progress */
452
+ isExecuting?: boolean;
453
+ /** Additional CSS class */
454
+ className?: string;
455
+ }
456
+
457
+ /**
458
+ * Panel showing message state at current execution step
459
+ */
460
+ export declare function MessageStatePanel({ className }: MessageStatePanelProps): JSX_2.Element;
461
+
462
+ declare interface MessageStatePanelProps {
463
+ /** Additional CSS class */
464
+ className?: string;
465
+ }
466
+
467
+ /**
468
+ * Playback state for the debugger
469
+ */
470
+ export declare type PlaybackState = 'stopped' | 'playing' | 'paused';
471
+
472
+ export declare function RulesListView({ workflows, highlightedTaskIds, onTaskSelect, defaultExpandedIds, }: RulesListViewProps): JSX_2.Element;
473
+
474
+ declare interface RulesListViewProps {
475
+ workflows: Workflow[];
476
+ highlightedTaskIds?: Set<string>;
477
+ onTaskSelect?: (task: Task, workflow: Workflow) => void;
478
+ defaultExpandedIds?: string[];
479
+ }
480
+
481
+ export declare function SearchInput({ value, onChange, onClear, placeholder, className, }: SearchInputProps): JSX_2.Element;
482
+
483
+ declare interface SearchInputProps {
484
+ value: string;
485
+ onChange: (value: string) => void;
486
+ onClear?: () => void;
487
+ placeholder?: string;
488
+ className?: string;
489
+ }
490
+
491
+ export declare type SelectionType = TreeSelectionType;
492
+
493
+ /**
494
+ * Result of a step (executed or skipped)
495
+ */
496
+ export declare type StepResult = 'executed' | 'skipped';
497
+
498
+ /**
499
+ * Task definition within a workflow
500
+ */
501
+ export declare interface Task {
502
+ /** Unique identifier for the task */
503
+ id: string;
504
+ /** Human-readable name */
505
+ name: string;
506
+ /** Optional description */
507
+ description?: string;
508
+ /** JSONLogic condition (evaluated against metadata only) */
509
+ condition?: JsonLogicValue;
510
+ /** Function to execute */
511
+ function: FunctionConfig;
512
+ /** Whether to continue workflow if this task fails */
513
+ continue_on_error?: boolean;
514
+ }
515
+
516
+ export declare function TaskRow({ task, workflow, index, isHighlighted, onSelect, }: TaskRowProps): JSX_2.Element;
517
+
518
+ declare interface TaskRowProps {
519
+ task: Task;
520
+ workflow: Workflow;
521
+ index: number;
522
+ isHighlighted?: boolean;
523
+ onSelect?: (task: Task, workflow: Workflow) => void;
524
+ }
525
+
526
+ export declare type Theme = 'light' | 'dark' | 'system';
527
+
528
+ declare interface ThemeContextValue {
529
+ theme: Theme;
530
+ resolvedTheme: 'light' | 'dark';
531
+ setTheme: (theme: Theme) => void;
532
+ }
533
+
534
+ export declare function ThemeProvider({ children, defaultTheme }: ThemeProviderProps): JSX_2.Element;
535
+
536
+ declare interface ThemeProviderProps {
537
+ children: ReactNode;
538
+ defaultTheme?: Theme;
539
+ }
540
+
541
+ /**
542
+ * Result of the debug state hook for a tree node
543
+ */
544
+ export declare interface TreeNodeDebugState {
545
+ /** Current debug state of this node */
546
+ state: DebugNodeState | null;
547
+ /** Whether this node is the current step being viewed */
548
+ isCurrent: boolean;
549
+ /** Whether this node has been executed (or is being executed) */
550
+ isExecuted: boolean;
551
+ /** Whether this node was skipped due to condition */
552
+ isSkipped: boolean;
553
+ /** Whether this node had an error */
554
+ hasError: boolean;
555
+ /** Condition result if this is a condition node */
556
+ conditionResult?: boolean;
557
+ }
558
+
559
+ export declare type TreeSelectionType = {
560
+ type: 'none';
561
+ } | {
562
+ type: 'workflow-condition';
563
+ workflow: Workflow;
564
+ condition: JsonLogicValue;
565
+ } | {
566
+ type: 'task';
567
+ task: Task;
568
+ workflow: Workflow;
569
+ } | {
570
+ type: 'task-condition';
571
+ task: Task;
572
+ workflow: Workflow;
573
+ condition: JsonLogicValue;
574
+ } | {
575
+ type: 'mapping';
576
+ task: Task;
577
+ workflow: Workflow;
578
+ mapping: MappingItem;
579
+ mappingIndex: number;
580
+ } | {
581
+ type: 'validation-rule';
582
+ task: Task;
583
+ workflow: Workflow;
584
+ rule: ValidationRule;
585
+ ruleIndex: number;
586
+ };
587
+
588
+ export declare function TreeView({ workflows, selection, onSelect, debugMode }: TreeViewProps): JSX_2.Element;
589
+
590
+ declare interface TreeViewProps {
591
+ workflows: Workflow[];
592
+ selection: TreeSelectionType;
593
+ onSelect: (selection: TreeSelectionType) => void;
594
+ /** Enable debug mode with state indicators */
595
+ debugMode?: boolean;
596
+ }
597
+
598
+ /**
599
+ * Hook to access debugger context
600
+ */
601
+ export declare function useDebugger(): DebuggerContextValue;
602
+
603
+ /**
604
+ * Hook to check if debugger is available (doesn't throw if not in provider)
605
+ */
606
+ export declare function useDebuggerOptional(): DebuggerContextValue | null;
607
+
608
+ /**
609
+ * Hook to get debug state for a task condition node
610
+ * Note: In the simplified trace format, task conditions are implicit
611
+ * A task skip step indicates the condition was false
612
+ */
613
+ export declare function useTaskConditionDebugState(task: Task, workflow: Workflow): TreeNodeDebugState;
614
+
615
+ /**
616
+ * Hook to get debug state for a task node
617
+ */
618
+ export declare function useTaskDebugState(task: Task, workflow: Workflow): TreeNodeDebugState;
619
+
620
+ export declare function useTheme(): ThemeContextValue;
621
+
622
+ /**
623
+ * Generic hook to get debug state for any node type
624
+ */
625
+ export declare function useTreeNodeDebugState(options: {
626
+ type: 'workflow' | 'workflow-condition' | 'task' | 'task-condition' | 'mapping' | 'validation-rule';
627
+ workflow: Workflow;
628
+ task?: Task;
629
+ }): TreeNodeDebugState;
630
+
631
+ /**
632
+ * Hook to get debug state for a workflow condition node
633
+ * Note: In the simplified trace format, workflow conditions are implicit
634
+ * A workflow skip step indicates the condition was false
635
+ */
636
+ export declare function useWorkflowConditionDebugState(workflow: Workflow): TreeNodeDebugState;
637
+
638
+ /**
639
+ * Hook to get debug state for a workflow node
640
+ * Note: Workflows never show as 'current' - only tasks do
641
+ */
642
+ export declare function useWorkflowDebugState(workflow: Workflow): TreeNodeDebugState;
643
+
644
+ /**
645
+ * Validation function input configuration
646
+ */
647
+ export declare interface ValidationFunctionInput {
648
+ rules: ValidationRule[];
649
+ }
650
+
651
+ /**
652
+ * Validation rule configuration
653
+ */
654
+ export declare interface ValidationRule {
655
+ /** JSONLogic expression that should return true for valid data */
656
+ logic: JsonLogicValue;
657
+ /** Error message if validation fails */
658
+ message: string;
659
+ }
660
+
661
+ /**
662
+ * Workflow definition
663
+ */
664
+ export declare interface Workflow {
665
+ /** Unique identifier for the workflow */
666
+ id: string;
667
+ /** Human-readable name */
668
+ name: string;
669
+ /** Execution priority (lower = higher priority, 0 is highest) */
670
+ priority?: number;
671
+ /** Optional description */
672
+ description?: string;
673
+ /** JSONLogic condition (evaluated against metadata only) */
674
+ condition?: JsonLogicValue;
675
+ /** Tasks in this workflow */
676
+ tasks: Task[];
677
+ /** Whether to continue processing other workflows if this one fails */
678
+ continue_on_error?: boolean;
679
+ }
680
+
681
+ export declare function WorkflowCard({ workflow, isExpanded, onToggle, onTaskSelect, highlightedTaskIds, }: WorkflowCardProps): JSX_2.Element;
682
+
683
+ declare interface WorkflowCardProps {
684
+ workflow: Workflow;
685
+ isExpanded: boolean;
686
+ onToggle: () => void;
687
+ onTaskSelect?: (task: Workflow['tasks'][0], workflow: Workflow) => void;
688
+ highlightedTaskIds?: Set<string>;
689
+ }
690
+
691
+ export declare function WorkflowFlowView({ workflows, onTaskSelect, onWorkflowSelect, onWorkflowConditionClick, onTaskConditionClick, selection, highlightedTaskIds, }: WorkflowFlowViewProps): JSX_2.Element;
692
+
693
+ declare interface WorkflowFlowViewProps {
694
+ workflows: Workflow[];
695
+ onTaskSelect?: (task: Task, workflow: Workflow) => void;
696
+ onWorkflowSelect?: (workflow: Workflow) => void;
697
+ onWorkflowConditionClick?: (workflow: Workflow) => void;
698
+ onTaskConditionClick?: (task: Task, workflow: Workflow) => void;
699
+ selection?: SelectionType;
700
+ highlightedTaskIds?: Set<string>;
701
+ }
702
+
703
+ export declare function WorkflowVisualizer({ workflows, onWorkflowSelect, onTaskSelect, theme, className, executionResult, debugMode, }: WorkflowVisualizerProps): JSX_2.Element;
704
+
705
+ export declare interface WorkflowVisualizerProps {
706
+ /** Array of workflow definitions to display */
707
+ workflows: Workflow[];
708
+ /** Callback when a workflow is selected */
709
+ onWorkflowSelect?: (workflow: Workflow) => void;
710
+ /** Callback when a task is selected */
711
+ onTaskSelect?: (task: Task, workflow: Workflow) => void;
712
+ /** Initial theme setting */
713
+ theme?: Theme;
714
+ /** Class name for the root element */
715
+ className?: string;
716
+ /** Execution result to display in the result panel */
717
+ executionResult?: Message | null;
718
+ /** Enable debug mode with step-by-step visualization */
719
+ debugMode?: boolean;
720
+ }
721
+
722
+ export { }