or3-workflow-vue 0.1.0

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,883 @@
1
+ import { AgentNodeData } from 'or3-workflow-core';
2
+ import { Component } from 'vue';
3
+ import { ComponentOptionsMixin } from 'vue';
4
+ import { ComponentProvideOptions } from 'vue';
5
+ import { Connection } from '@vue-flow/core';
6
+ import { DeepReadonly } from 'vue';
7
+ import { DefineComponent } from 'vue';
8
+ import { Edge } from '@vue-flow/core';
9
+ import { EditorOptions } from 'or3-workflow-core';
10
+ import { ErrorCode } from 'or3-workflow-core';
11
+ import { ErrorHandlingMode } from 'or3-workflow-core';
12
+ import { ExecutionAdapter } from 'or3-workflow-core';
13
+ import { ExecutionCallbacks } from 'or3-workflow-core';
14
+ import { ExecutionInput } from 'or3-workflow-core';
15
+ import { ExecutionResult } from 'or3-workflow-core';
16
+ import { ExtractPropTypes } from 'vue';
17
+ import { HITLMode } from 'or3-workflow-core';
18
+ import { isAgentNodeData } from 'or3-workflow-core';
19
+ import { isOutputNodeData } from 'or3-workflow-core';
20
+ import { isParallelNodeData } from 'or3-workflow-core';
21
+ import { isRouterNodeData } from 'or3-workflow-core';
22
+ import { isStartNodeData } from 'or3-workflow-core';
23
+ import { KeyFilter } from '@vueuse/core';
24
+ import { Node as Node_2 } from '@vue-flow/core';
25
+ import { NodeData } from 'or3-workflow-core';
26
+ import { NodeStatus } from 'or3-workflow-core';
27
+ import { OutputFormat } from 'or3-workflow-core';
28
+ import { OutputNodeData } from 'or3-workflow-core';
29
+ import { ParallelNodeData } from 'or3-workflow-core';
30
+ import { PropType } from 'vue';
31
+ import { PublicProps } from 'vue';
32
+ import { Ref } from 'vue';
33
+ import { RouterNodeData } from 'or3-workflow-core';
34
+ import { SelectionMode as SelectionMode_2 } from '@vue-flow/core';
35
+ import { ShallowRef } from 'vue';
36
+ import { StartNodeData } from 'or3-workflow-core';
37
+ import { StorageAdapter } from 'or3-workflow-core';
38
+ import { WorkflowData } from 'or3-workflow-core';
39
+ import { WorkflowEdge } from 'or3-workflow-core';
40
+ import { WorkflowEditor } from 'or3-workflow-core';
41
+ import { WorkflowNode } from 'or3-workflow-core';
42
+ import { WorkflowSummary } from 'or3-workflow-core';
43
+
44
+ declare const __VLS_component: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps_7<{
45
+ id: string;
46
+ selected?: boolean;
47
+ status?: "idle" | "active" | "completed" | "error";
48
+ variant?: "default" | "accent" | "warning" | "info" | "secondary";
49
+ }>, {
50
+ status: string;
51
+ variant: string;
52
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
53
+ inspect: () => void;
54
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps_7<{
55
+ id: string;
56
+ selected?: boolean;
57
+ status?: "idle" | "active" | "completed" | "error";
58
+ variant?: "default" | "accent" | "warning" | "info" | "secondary";
59
+ }>, {
60
+ status: string;
61
+ variant: string;
62
+ }>>> & Readonly<{
63
+ onInspect?: (() => any) | undefined;
64
+ }>, {
65
+ status: "idle" | "active" | "completed" | "error";
66
+ variant: "default" | "accent" | "warning" | "info" | "secondary";
67
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
68
+
69
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
70
+
71
+ declare type __VLS_NonUndefinedable_2<T> = T extends undefined ? never : T;
72
+
73
+ declare type __VLS_NonUndefinedable_3<T> = T extends undefined ? never : T;
74
+
75
+ declare type __VLS_NonUndefinedable_4<T> = T extends undefined ? never : T;
76
+
77
+ declare type __VLS_NonUndefinedable_5<T> = T extends undefined ? never : T;
78
+
79
+ declare type __VLS_NonUndefinedable_6<T> = T extends undefined ? never : T;
80
+
81
+ declare type __VLS_NonUndefinedable_7<T> = T extends undefined ? never : T;
82
+
83
+ declare type __VLS_Prettify<T> = {
84
+ [K in keyof T]: T[K];
85
+ } & {};
86
+
87
+ declare function __VLS_template(): {
88
+ default?(_: {}): any;
89
+ };
90
+
91
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
92
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
93
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
94
+ } : {
95
+ type: PropType<T[K]>;
96
+ required: true;
97
+ };
98
+ };
99
+
100
+ declare type __VLS_TypePropsToRuntimeProps_2<T> = {
101
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
102
+ type: PropType<__VLS_NonUndefinedable_2<T[K]>>;
103
+ } : {
104
+ type: PropType<T[K]>;
105
+ required: true;
106
+ };
107
+ };
108
+
109
+ declare type __VLS_TypePropsToRuntimeProps_3<T> = {
110
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
111
+ type: PropType<__VLS_NonUndefinedable_3<T[K]>>;
112
+ } : {
113
+ type: PropType<T[K]>;
114
+ required: true;
115
+ };
116
+ };
117
+
118
+ declare type __VLS_TypePropsToRuntimeProps_4<T> = {
119
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
120
+ type: PropType<__VLS_NonUndefinedable_4<T[K]>>;
121
+ } : {
122
+ type: PropType<T[K]>;
123
+ required: true;
124
+ };
125
+ };
126
+
127
+ declare type __VLS_TypePropsToRuntimeProps_5<T> = {
128
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
129
+ type: PropType<__VLS_NonUndefinedable_5<T[K]>>;
130
+ } : {
131
+ type: PropType<T[K]>;
132
+ required: true;
133
+ };
134
+ };
135
+
136
+ declare type __VLS_TypePropsToRuntimeProps_6<T> = {
137
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
138
+ type: PropType<__VLS_NonUndefinedable_6<T[K]>>;
139
+ } : {
140
+ type: PropType<T[K]>;
141
+ required: true;
142
+ };
143
+ };
144
+
145
+ declare type __VLS_TypePropsToRuntimeProps_7<T> = {
146
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
147
+ type: PropType<__VLS_NonUndefinedable_7<T[K]>>;
148
+ } : {
149
+ type: PropType<T[K]>;
150
+ required: true;
151
+ };
152
+ };
153
+
154
+ declare type __VLS_WithDefaults<P, D> = {
155
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
156
+ default: D[K];
157
+ }> : P[K];
158
+ };
159
+
160
+ declare type __VLS_WithTemplateSlots<T, S> = T & {
161
+ new (): {
162
+ $slots: S;
163
+ };
164
+ };
165
+
166
+ export { AgentNodeData }
167
+
168
+ declare interface ChatMessage {
169
+ role: 'user' | 'assistant' | 'system';
170
+ content: string;
171
+ nodeId?: string;
172
+ toolCalls?: Array<{
173
+ function: {
174
+ name: string;
175
+ arguments: string;
176
+ };
177
+ }>;
178
+ }
179
+
180
+ export declare const ChatPanel: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_4<{
181
+ messages?: ChatMessage[];
182
+ streamingContent?: string;
183
+ /**
184
+ * Optional execution state instance.
185
+ * Pass a state created via `createExecutionState()` to avoid sharing state
186
+ * between multiple ChatPanel instances or workflows.
187
+ * If not provided, uses a shared singleton (legacy behavior).
188
+ */
189
+ executionState?: UseExecutionStateReturn;
190
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
191
+ send: (message: string) => void;
192
+ clear: () => void;
193
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_4<{
194
+ messages?: ChatMessage[];
195
+ streamingContent?: string;
196
+ /**
197
+ * Optional execution state instance.
198
+ * Pass a state created via `createExecutionState()` to avoid sharing state
199
+ * between multiple ChatPanel instances or workflows.
200
+ * If not provided, uses a shared singleton (legacy behavior).
201
+ */
202
+ executionState?: UseExecutionStateReturn;
203
+ }>>> & Readonly<{
204
+ onClear?: (() => any) | undefined;
205
+ onSend?: ((message: string) => any) | undefined;
206
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
207
+
208
+ export { Connection }
209
+
210
+ export declare const Controls: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
211
+
212
+ /**
213
+ * Factory function to create execution state.
214
+ * Each call creates a new isolated state instance.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * // Create isolated state for a workflow instance
219
+ * const { state, setRunning, reset } = createExecutionState();
220
+ * ```
221
+ */
222
+ export declare function createExecutionState(): UseExecutionStateReturn;
223
+
224
+ /**
225
+ * Create a new node component registry.
226
+ * Each registry is independent - useful for testing or multiple canvas instances.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * const registry = createNodeRegistry();
231
+ *
232
+ * // Register a custom node component
233
+ * registry.register('myCustomNode', MyCustomNodeComponent);
234
+ *
235
+ * // Use in WorkflowCanvas
236
+ * <WorkflowCanvas :editor="editor" :nodeRegistry="registry" />
237
+ * ```
238
+ */
239
+ export declare function createNodeRegistry(): NodeComponentRegistry;
240
+
241
+ /**
242
+ * Default global node registry.
243
+ * Pre-populated with built-in node components when imported from @or3/workflow-vue.
244
+ *
245
+ * @example
246
+ * ```ts
247
+ * import { defaultNodeRegistry } from '@or3/workflow-vue';
248
+ *
249
+ * // Register a custom node
250
+ * defaultNodeRegistry.register('myNode', MyNodeComponent);
251
+ * ```
252
+ */
253
+ export declare const defaultNodeRegistry: NodeComponentRegistry;
254
+
255
+ export { Edge }
256
+
257
+ export declare const EdgeLabelEditor: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_5<{
258
+ edge: Edge | null;
259
+ show: boolean;
260
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
261
+ close: () => void;
262
+ update: (edgeId: string, label: string) => void;
263
+ delete: (edgeId: string) => void;
264
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_5<{
265
+ edge: Edge | null;
266
+ show: boolean;
267
+ }>>> & Readonly<{
268
+ onDelete?: ((edgeId: string) => any) | undefined;
269
+ onUpdate?: ((edgeId: string, label: string) => any) | undefined;
270
+ onClose?: (() => any) | undefined;
271
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
272
+
273
+ export { ExecutionAdapter }
274
+
275
+ export { ExecutionCallbacks }
276
+
277
+ export { ExecutionInput }
278
+
279
+ export { ExecutionResult }
280
+
281
+ export declare interface ExecutionState {
282
+ isRunning: boolean;
283
+ streamingContent: string;
284
+ nodeStatuses: Record<string, 'idle' | 'active' | 'completed' | 'error'>;
285
+ currentNodeId: string | null;
286
+ error: Error | null;
287
+ }
288
+
289
+ export { isAgentNodeData }
290
+
291
+ export { isOutputNodeData }
292
+
293
+ export { isParallelNodeData }
294
+
295
+ export { isRouterNodeData }
296
+
297
+ export { isStartNodeData }
298
+
299
+ export declare const MiniMap: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
300
+
301
+ export { Node_2 as Node }
302
+
303
+ /**
304
+ * Registry for custom node Vue components.
305
+ * Allows dynamic registration of node components for rendering in WorkflowCanvas.
306
+ */
307
+ export declare interface NodeComponentRegistry {
308
+ /**
309
+ * Reactive map of node type to Vue component.
310
+ * Use this to iterate over registered components in templates.
311
+ */
312
+ components: ShallowRef<Map<string, Component>>;
313
+ /**
314
+ * Register a Vue component for a node type.
315
+ * @param type - The node type (e.g., 'agent', 'router', 'custom')
316
+ * @param component - The Vue component to render for this node type
317
+ */
318
+ register: (type: string, component: Component) => void;
319
+ /**
320
+ * Unregister a node component.
321
+ * @param type - The node type to unregister
322
+ */
323
+ unregister: (type: string) => void;
324
+ /**
325
+ * Get a registered component by type.
326
+ * @param type - The node type
327
+ * @returns The Vue component or undefined if not registered
328
+ */
329
+ get: (type: string) => Component | undefined;
330
+ /**
331
+ * Check if a node type is registered.
332
+ * @param type - The node type
333
+ * @returns true if registered
334
+ */
335
+ has: (type: string) => boolean;
336
+ /**
337
+ * Get all registered node types.
338
+ * @returns Array of registered node type names
339
+ */
340
+ getTypes: () => string[];
341
+ /**
342
+ * Clear all registered components.
343
+ */
344
+ clear: () => void;
345
+ }
346
+
347
+ export { NodeData }
348
+
349
+ export declare const NodeInspector: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_3<{
350
+ editor: WorkflowEditor;
351
+ availableTools?: ToolOption[];
352
+ availableSubflows?: SubflowOption[];
353
+ subflowListLoading?: boolean;
354
+ subflowListError?: string | null;
355
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
356
+ delete: (nodeId: string) => void;
357
+ close: () => void;
358
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_3<{
359
+ editor: WorkflowEditor;
360
+ availableTools?: ToolOption[];
361
+ availableSubflows?: SubflowOption[];
362
+ subflowListLoading?: boolean;
363
+ subflowListError?: string | null;
364
+ }>>> & Readonly<{
365
+ onDelete?: ((nodeId: string) => any) | undefined;
366
+ onClose?: (() => any) | undefined;
367
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
368
+
369
+ export declare const NodePalette: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_2<{
370
+ editor?: WorkflowEditor;
371
+ canvasId?: string;
372
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
373
+ "quick-add": () => void;
374
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_2<{
375
+ editor?: WorkflowEditor;
376
+ canvasId?: string;
377
+ }>>> & Readonly<{
378
+ "onQuick-add"?: (() => any) | undefined;
379
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
380
+
381
+ export { NodeStatus }
382
+
383
+ export declare const NodeWrapper: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
384
+
385
+ export { OutputNodeData }
386
+
387
+ export { ParallelNodeData }
388
+
389
+ export { RouterNodeData }
390
+
391
+ export { StartNodeData }
392
+
393
+ export { StorageAdapter }
394
+
395
+ declare interface SubflowOption {
396
+ id: string;
397
+ name: string;
398
+ description?: string;
399
+ }
400
+
401
+ declare interface ToolOption {
402
+ id: string;
403
+ name: string;
404
+ description?: string;
405
+ }
406
+
407
+ /**
408
+ * Alias for `useWorkflowEditor`.
409
+ * Both names are supported - use whichever you prefer.
410
+ */
411
+ export declare const useEditor: typeof useWorkflowEditor;
412
+
413
+ /**
414
+ * Create execution state for a workflow instance.
415
+ * Each call returns a new isolated state instance to avoid shared state bugs.
416
+ *
417
+ * Note: This function previously returned a shared singleton instance which caused
418
+ * bugs when multiple workflow instances were used. It now creates fresh state
419
+ * each call for backward compatibility while fixing the shared state issue.
420
+ *
421
+ * @deprecated Use `createExecutionState()` directly for clearer intent.
422
+ *
423
+ * @example
424
+ * ```ts
425
+ * // Each call gets independent state
426
+ * const state1 = useExecutionState();
427
+ * const state2 = useExecutionState();
428
+ * // state1 and state2 are independent
429
+ * ```
430
+ */
431
+ export declare function useExecutionState(): UseExecutionStateReturn;
432
+
433
+ export declare interface UseExecutionStateReturn {
434
+ state: DeepReadonly<Ref<ExecutionState>>;
435
+ setRunning: (isRunning: boolean) => void;
436
+ setStreamingContent: (content: string) => void;
437
+ appendStreamingContent: (content: string) => void;
438
+ setNodeStatus: (nodeId: string, status: 'idle' | 'active' | 'completed' | 'error') => void;
439
+ setCurrentNodeId: (nodeId: string | null) => void;
440
+ setError: (error: Error | null) => void;
441
+ reset: () => void;
442
+ }
443
+
444
+ export declare function useNodeState(editor: WorkflowEditor, nodeId: string): {
445
+ node: Ref< {
446
+ id: string;
447
+ type: string;
448
+ position: {
449
+ x: number;
450
+ y: number;
451
+ };
452
+ data: {
453
+ label: string;
454
+ description?: string | undefined;
455
+ status?: NodeStatus | undefined;
456
+ } | {
457
+ model: string;
458
+ prompt: string;
459
+ temperature?: number | undefined;
460
+ maxTokens?: number | undefined;
461
+ tools?: string[] | undefined;
462
+ acceptsImages?: boolean | undefined;
463
+ acceptsAudio?: boolean | undefined;
464
+ acceptsVideo?: boolean | undefined;
465
+ acceptsFiles?: boolean | undefined;
466
+ errorHandling?: {
467
+ mode: ErrorHandlingMode;
468
+ retry?: {
469
+ maxRetries: number;
470
+ baseDelay: number;
471
+ maxDelay?: number | undefined;
472
+ retryOn?: ErrorCode[] | undefined;
473
+ skipOn?: ErrorCode[] | undefined;
474
+ } | undefined;
475
+ } | undefined;
476
+ hitl?: {
477
+ enabled: boolean;
478
+ mode: HITLMode;
479
+ prompt?: string | undefined;
480
+ inputSchema?: Record<string, unknown> | undefined;
481
+ options?: {
482
+ id: string;
483
+ label: string;
484
+ action: "approve" | "reject" | "custom";
485
+ }[] | undefined;
486
+ timeout?: number | undefined;
487
+ defaultAction?: "approve" | "reject" | "skip" | undefined;
488
+ } | undefined;
489
+ maxToolIterations?: number | undefined;
490
+ onMaxToolIterations?: "warning" | "error" | "hitl" | undefined;
491
+ label: string;
492
+ description?: string | undefined;
493
+ status?: NodeStatus | undefined;
494
+ } | {
495
+ model?: string | undefined;
496
+ prompt?: string | undefined;
497
+ routes: {
498
+ id: string;
499
+ label: string;
500
+ condition?: {
501
+ type: "contains" | "equals" | "regex" | "custom";
502
+ field?: string | undefined;
503
+ value?: string | undefined;
504
+ expression?: string | undefined;
505
+ } | undefined;
506
+ }[];
507
+ errorHandling?: {
508
+ mode: ErrorHandlingMode;
509
+ retry?: {
510
+ maxRetries: number;
511
+ baseDelay: number;
512
+ maxDelay?: number | undefined;
513
+ retryOn?: ErrorCode[] | undefined;
514
+ skipOn?: ErrorCode[] | undefined;
515
+ } | undefined;
516
+ } | undefined;
517
+ hitl?: {
518
+ enabled: boolean;
519
+ mode: HITLMode;
520
+ prompt?: string | undefined;
521
+ inputSchema?: Record<string, unknown> | undefined;
522
+ options?: {
523
+ id: string;
524
+ label: string;
525
+ action: "approve" | "reject" | "custom";
526
+ }[] | undefined;
527
+ timeout?: number | undefined;
528
+ defaultAction?: "approve" | "reject" | "skip" | undefined;
529
+ } | undefined;
530
+ fallbackBehavior?: "first" | "error" | "none" | undefined;
531
+ label: string;
532
+ description?: string | undefined;
533
+ status?: NodeStatus | undefined;
534
+ } | {
535
+ model?: string | undefined;
536
+ prompt?: string | undefined;
537
+ branches: {
538
+ id: string;
539
+ label: string;
540
+ model?: string | undefined;
541
+ prompt?: string | undefined;
542
+ tools?: string[] | undefined;
543
+ }[];
544
+ mergeEnabled?: boolean | undefined;
545
+ errorHandling?: {
546
+ mode: ErrorHandlingMode;
547
+ retry?: {
548
+ maxRetries: number;
549
+ baseDelay: number;
550
+ maxDelay?: number | undefined;
551
+ retryOn?: ErrorCode[] | undefined;
552
+ skipOn?: ErrorCode[] | undefined;
553
+ } | undefined;
554
+ } | undefined;
555
+ branchTimeout?: number | undefined;
556
+ label: string;
557
+ description?: string | undefined;
558
+ status?: NodeStatus | undefined;
559
+ } | {
560
+ conditionPrompt: string;
561
+ conditionModel?: string | undefined;
562
+ maxIterations: number;
563
+ onMaxIterations: "error" | "warning" | "continue";
564
+ customEvaluator?: string | undefined;
565
+ loopPrompt?: string | undefined;
566
+ loopMode?: "condition" | "fixed" | undefined;
567
+ includePreviousOutputs?: boolean | undefined;
568
+ includeIterationContext?: boolean | undefined;
569
+ outputMode?: "last" | "accumulate" | undefined;
570
+ label: string;
571
+ description?: string | undefined;
572
+ status?: NodeStatus | undefined;
573
+ } | {
574
+ subflowId: string;
575
+ inputMappings: Record<string, string | unknown>;
576
+ shareSession?: boolean | undefined;
577
+ label: string;
578
+ description?: string | undefined;
579
+ status?: NodeStatus | undefined;
580
+ } | {
581
+ mode: "combine" | "synthesis";
582
+ sources?: string[] | undefined;
583
+ introText?: string | undefined;
584
+ outroText?: string | undefined;
585
+ synthesis?: {
586
+ prompt?: string | undefined;
587
+ model?: string | undefined;
588
+ } | undefined;
589
+ useRawTemplate?: boolean | undefined;
590
+ format: OutputFormat;
591
+ template?: string | undefined;
592
+ includeMetadata?: boolean | undefined;
593
+ schema?: Record<string, unknown> | undefined;
594
+ label: string;
595
+ description?: string | undefined;
596
+ status?: NodeStatus | undefined;
597
+ };
598
+ selected?: boolean | undefined;
599
+ } | undefined, WorkflowNode | {
600
+ id: string;
601
+ type: string;
602
+ position: {
603
+ x: number;
604
+ y: number;
605
+ };
606
+ data: {
607
+ label: string;
608
+ description?: string | undefined;
609
+ status?: NodeStatus | undefined;
610
+ } | {
611
+ model: string;
612
+ prompt: string;
613
+ temperature?: number | undefined;
614
+ maxTokens?: number | undefined;
615
+ tools?: string[] | undefined;
616
+ acceptsImages?: boolean | undefined;
617
+ acceptsAudio?: boolean | undefined;
618
+ acceptsVideo?: boolean | undefined;
619
+ acceptsFiles?: boolean | undefined;
620
+ errorHandling?: {
621
+ mode: ErrorHandlingMode;
622
+ retry?: {
623
+ maxRetries: number;
624
+ baseDelay: number;
625
+ maxDelay?: number | undefined;
626
+ retryOn?: ErrorCode[] | undefined;
627
+ skipOn?: ErrorCode[] | undefined;
628
+ } | undefined;
629
+ } | undefined;
630
+ hitl?: {
631
+ enabled: boolean;
632
+ mode: HITLMode;
633
+ prompt?: string | undefined;
634
+ inputSchema?: Record<string, unknown> | undefined;
635
+ options?: {
636
+ id: string;
637
+ label: string;
638
+ action: "approve" | "reject" | "custom";
639
+ }[] | undefined;
640
+ timeout?: number | undefined;
641
+ defaultAction?: "approve" | "reject" | "skip" | undefined;
642
+ } | undefined;
643
+ maxToolIterations?: number | undefined;
644
+ onMaxToolIterations?: "warning" | "error" | "hitl" | undefined;
645
+ label: string;
646
+ description?: string | undefined;
647
+ status?: NodeStatus | undefined;
648
+ } | {
649
+ model?: string | undefined;
650
+ prompt?: string | undefined;
651
+ routes: {
652
+ id: string;
653
+ label: string;
654
+ condition?: {
655
+ type: "contains" | "equals" | "regex" | "custom";
656
+ field?: string | undefined;
657
+ value?: string | undefined;
658
+ expression?: string | undefined;
659
+ } | undefined;
660
+ }[];
661
+ errorHandling?: {
662
+ mode: ErrorHandlingMode;
663
+ retry?: {
664
+ maxRetries: number;
665
+ baseDelay: number;
666
+ maxDelay?: number | undefined;
667
+ retryOn?: ErrorCode[] | undefined;
668
+ skipOn?: ErrorCode[] | undefined;
669
+ } | undefined;
670
+ } | undefined;
671
+ hitl?: {
672
+ enabled: boolean;
673
+ mode: HITLMode;
674
+ prompt?: string | undefined;
675
+ inputSchema?: Record<string, unknown> | undefined;
676
+ options?: {
677
+ id: string;
678
+ label: string;
679
+ action: "approve" | "reject" | "custom";
680
+ }[] | undefined;
681
+ timeout?: number | undefined;
682
+ defaultAction?: "approve" | "reject" | "skip" | undefined;
683
+ } | undefined;
684
+ fallbackBehavior?: "first" | "error" | "none" | undefined;
685
+ label: string;
686
+ description?: string | undefined;
687
+ status?: NodeStatus | undefined;
688
+ } | {
689
+ model?: string | undefined;
690
+ prompt?: string | undefined;
691
+ branches: {
692
+ id: string;
693
+ label: string;
694
+ model?: string | undefined;
695
+ prompt?: string | undefined;
696
+ tools?: string[] | undefined;
697
+ }[];
698
+ mergeEnabled?: boolean | undefined;
699
+ errorHandling?: {
700
+ mode: ErrorHandlingMode;
701
+ retry?: {
702
+ maxRetries: number;
703
+ baseDelay: number;
704
+ maxDelay?: number | undefined;
705
+ retryOn?: ErrorCode[] | undefined;
706
+ skipOn?: ErrorCode[] | undefined;
707
+ } | undefined;
708
+ } | undefined;
709
+ branchTimeout?: number | undefined;
710
+ label: string;
711
+ description?: string | undefined;
712
+ status?: NodeStatus | undefined;
713
+ } | {
714
+ conditionPrompt: string;
715
+ conditionModel?: string | undefined;
716
+ maxIterations: number;
717
+ onMaxIterations: "error" | "warning" | "continue";
718
+ customEvaluator?: string | undefined;
719
+ loopPrompt?: string | undefined;
720
+ loopMode?: "condition" | "fixed" | undefined;
721
+ includePreviousOutputs?: boolean | undefined;
722
+ includeIterationContext?: boolean | undefined;
723
+ outputMode?: "last" | "accumulate" | undefined;
724
+ label: string;
725
+ description?: string | undefined;
726
+ status?: NodeStatus | undefined;
727
+ } | {
728
+ subflowId: string;
729
+ inputMappings: Record<string, string | unknown>;
730
+ shareSession?: boolean | undefined;
731
+ label: string;
732
+ description?: string | undefined;
733
+ status?: NodeStatus | undefined;
734
+ } | {
735
+ mode: "combine" | "synthesis";
736
+ sources?: string[] | undefined;
737
+ introText?: string | undefined;
738
+ outroText?: string | undefined;
739
+ synthesis?: {
740
+ prompt?: string | undefined;
741
+ model?: string | undefined;
742
+ } | undefined;
743
+ useRawTemplate?: boolean | undefined;
744
+ format: OutputFormat;
745
+ template?: string | undefined;
746
+ includeMetadata?: boolean | undefined;
747
+ schema?: Record<string, unknown> | undefined;
748
+ label: string;
749
+ description?: string | undefined;
750
+ status?: NodeStatus | undefined;
751
+ };
752
+ selected?: boolean | undefined;
753
+ } | undefined>;
754
+ updateData: (data: Partial<NodeData>) => void;
755
+ };
756
+
757
+ /**
758
+ * Composable for creating and managing a WorkflowEditor instance.
759
+ *
760
+ * Returns a shallowRef to the editor that triggers reactivity on updates.
761
+ * This ensures computed properties like `canUndo()` and `canRedo()`
762
+ * properly re-evaluate when the editor state changes.
763
+ *
764
+ * @example
765
+ * ```ts
766
+ * const editor = useWorkflowEditor({
767
+ * content: initialData,
768
+ * extensions: [new MyExtension()]
769
+ * });
770
+ *
771
+ * // These will now be reactive
772
+ * const canUndo = computed(() => editor.value?.canUndo() ?? false);
773
+ * const canRedo = computed(() => editor.value?.canRedo() ?? false);
774
+ * ```
775
+ */
776
+ export declare function useWorkflowEditor(options?: EditorOptions): ShallowRef<WorkflowEditor | null, WorkflowEditor | null>;
777
+
778
+ /**
779
+ * Composable for managing workflow execution state.
780
+ * Handles execution lifecycle, status updates, and results.
781
+ *
782
+ * @example
783
+ * ```ts
784
+ * const { execute, isRunning, result } = useWorkflowExecution();
785
+ *
786
+ * async function run() {
787
+ * await execute(adapter, workflow, { text: 'Hello' });
788
+ * }
789
+ * ```
790
+ */
791
+ export declare function useWorkflowExecution(): UseWorkflowExecutionReturn;
792
+
793
+ export declare interface UseWorkflowExecutionReturn {
794
+ isRunning: Ref<boolean>;
795
+ currentNodeId: Ref<string | null>;
796
+ nodeStatuses: Ref<Record<string, NodeStatus>>;
797
+ nodeOutputs: Ref<Record<string, string>>;
798
+ error: Ref<Error | null>;
799
+ result: Ref<ExecutionResult | null>;
800
+ execute: (adapter: ExecutionAdapter, workflow: WorkflowData, input: ExecutionInput, callbacks?: Partial<ExecutionCallbacks>) => Promise<ExecutionResult>;
801
+ stop: (adapter: ExecutionAdapter) => void;
802
+ reset: () => void;
803
+ }
804
+
805
+ /**
806
+ * Composable for managing workflow storage.
807
+ * Handles loading, saving, and listing workflows using a storage adapter.
808
+ *
809
+ * @example
810
+ * ```ts
811
+ * const { loadList, workflows } = useWorkflowStorage(new LocalStorageAdapter());
812
+ * await loadList();
813
+ * ```
814
+ *
815
+ * @param adapter - The storage adapter to use
816
+ */
817
+ export declare function useWorkflowStorage(adapter: StorageAdapter): UseWorkflowStorageReturn;
818
+
819
+ export declare interface UseWorkflowStorageReturn {
820
+ isLoading: Ref<boolean>;
821
+ error: Ref<Error | null>;
822
+ workflows: Ref<WorkflowSummary[]>;
823
+ currentWorkflow: Ref<WorkflowData | null>;
824
+ loadList: () => Promise<WorkflowSummary[]>;
825
+ load: (id: string) => Promise<WorkflowData | null>;
826
+ save: (workflow: WorkflowData) => Promise<string>;
827
+ remove: (id: string) => Promise<void>;
828
+ }
829
+
830
+ export declare const ValidationOverlay: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_6<{
831
+ editor: WorkflowEditor;
832
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps_6<{
833
+ editor: WorkflowEditor;
834
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
835
+
836
+ export declare const WorkflowCanvas: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
837
+ editor: WorkflowEditor;
838
+ nodeStatuses?: Record<string, "idle" | "active" | "completed" | "error">;
839
+ panOnDrag?: boolean | number[];
840
+ selectionKeyCode?: KeyFilter | boolean | null;
841
+ selectionMode?: SelectionMode_2;
842
+ canvasId?: string;
843
+ }>>, {
844
+ fitView: () => Promise<boolean>;
845
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
846
+ nodeClick: (node: Node_2<any, any, string>) => void;
847
+ edgeClick: (edge: Edge) => void;
848
+ paneClick: () => void;
849
+ drop: (event: DragEvent) => void;
850
+ nodeInspect: (node: Node_2<any, any, string>) => void;
851
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
852
+ editor: WorkflowEditor;
853
+ nodeStatuses?: Record<string, "idle" | "active" | "completed" | "error">;
854
+ panOnDrag?: boolean | number[];
855
+ selectionKeyCode?: KeyFilter | boolean | null;
856
+ selectionMode?: SelectionMode_2;
857
+ canvasId?: string;
858
+ }>>> & Readonly<{
859
+ onNodeClick?: ((node: Node_2<any, any, string>) => any) | undefined;
860
+ onEdgeClick?: ((edge: Edge) => any) | undefined;
861
+ onPaneClick?: (() => any) | undefined;
862
+ onDrop?: ((event: DragEvent) => any) | undefined;
863
+ onNodeInspect?: ((node: Node_2<any, any, string>) => any) | undefined;
864
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
865
+
866
+ export { WorkflowData }
867
+
868
+ export { WorkflowEdge }
869
+
870
+ export declare interface WorkflowExecutionState {
871
+ isRunning: boolean;
872
+ currentNodeId: string | null;
873
+ nodeStatuses: Record<string, NodeStatus>;
874
+ nodeOutputs: Record<string, string>;
875
+ error: Error | null;
876
+ result: ExecutionResult | null;
877
+ }
878
+
879
+ export { WorkflowNode }
880
+
881
+ export { WorkflowSummary }
882
+
883
+ export { }