@datatechsolutions/ui 2.11.47 → 2.11.48

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.
Files changed (35) hide show
  1. package/dist/astrlabe/index.js +108 -108
  2. package/dist/astrlabe/index.mjs +2 -2
  3. package/dist/astrlabe/workflow-canvas.js +2 -2
  4. package/dist/astrlabe/workflow-canvas.mjs +1 -1
  5. package/dist/{chunk-5KDFTL4I.js → chunk-NWELMK3Y.js} +3 -2
  6. package/dist/chunk-NWELMK3Y.js.map +1 -0
  7. package/dist/{chunk-KDNDLSDW.mjs → chunk-XDS3RWPA.mjs} +3 -2
  8. package/dist/chunk-XDS3RWPA.mjs.map +1 -0
  9. package/package.json +1 -1
  10. package/dist/astrlabe/contracts.d.mts +0 -309
  11. package/dist/astrlabe/contracts.d.ts +0 -309
  12. package/dist/astrlabe/graph-node.d.mts +0 -28
  13. package/dist/astrlabe/graph-node.d.ts +0 -28
  14. package/dist/astrlabe/index.d.mts +0 -749
  15. package/dist/astrlabe/index.d.ts +0 -749
  16. package/dist/astrlabe/utils.d.mts +0 -71
  17. package/dist/astrlabe/utils.d.ts +0 -71
  18. package/dist/astrlabe/workflow-canvas.d.mts +0 -5
  19. package/dist/astrlabe/workflow-canvas.d.ts +0 -5
  20. package/dist/astrlabe/workflow-preview-canvas.d.mts +0 -10
  21. package/dist/astrlabe/workflow-preview-canvas.d.ts +0 -10
  22. package/dist/brand/index.d.mts +0 -85
  23. package/dist/brand/index.d.ts +0 -85
  24. package/dist/chunk-5KDFTL4I.js.map +0 -1
  25. package/dist/chunk-KDNDLSDW.mjs.map +0 -1
  26. package/dist/dynamic-island-confirm-Bw24Ll2r.d.mts +0 -114
  27. package/dist/dynamic-island-confirm-Bw24Ll2r.d.ts +0 -114
  28. package/dist/index.d.mts +0 -4673
  29. package/dist/index.d.ts +0 -4673
  30. package/dist/lib/i18n-context.d.mts +0 -36
  31. package/dist/lib/i18n-context.d.ts +0 -36
  32. package/dist/lib/router-context.d.mts +0 -35
  33. package/dist/lib/router-context.d.ts +0 -35
  34. package/dist/workflow-canvas-D4928AfA.d.mts +0 -273
  35. package/dist/workflow-canvas-NSxfr5dy.d.ts +0 -273
@@ -1,749 +0,0 @@
1
- import { A as AgentWithPrompts, a as AgentNodeData, T as ToolCanvasData, R as RuleNodeData, E as EntityNodeData, M as ModelProviderNodeData, S as StartNodeData, b as EndNodeData, I as IfElseNodeData, C as CodeNodeData, H as HttpRequestNodeData, c as TemplateTransformNodeData, d as IterationNodeData, K as KnowledgeBaseNodeData, e as AnswerNodeData, Q as QuestionClassifierNodeData, P as ParameterExtractorNodeData, V as VariableAssignerNodeData, f as VariableAggregatorNodeData, D as DocumentExtractorNodeData, L as ListOperatorNodeData, g as IterationStartNodeData, N as NoteNodeData, G as GroupNodeData, W as WorkflowEntityDefinition, h as WorkspaceProps } from '../workflow-canvas-NSxfr5dy.js';
2
- export { i as AgentNodeTool, j as Workspace } from '../workflow-canvas-NSxfr5dy.js';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { Workflow, WorkflowGraph, AgentModel, WorkflowTool, AgentRule, LogicNodeConfig, AgentTool, WorkflowRun } from './contracts.js';
5
- export { ModelProviderNodeConfig, ModelProviderType } from './contracts.js';
6
- import * as React$1 from 'react';
7
- import { ReactNode, ComponentProps } from 'react';
8
- export { GraphNodeBadge, GraphNodeHeader, GraphNodeIconBubble, GraphNodeMeta } from './graph-node.js';
9
- import { G as GlassModalSize, D as DynamicIslandConfirm$1 } from '../dynamic-island-confirm-Bw24Ll2r.js';
10
- import * as zustand from 'zustand';
11
- import { Node, Edge } from '@xyflow/react';
12
- import { LayoutDirection } from './utils.js';
13
- export { AgentTier, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateWorkflowGraph } from './utils.js';
14
-
15
- type WorkspaceBootstrapPayload = {
16
- workflow: Workflow | null;
17
- graph: WorkflowGraph | null;
18
- agents: AgentWithPrompts[];
19
- models: AgentModel[];
20
- tools: WorkflowTool[];
21
- rules: AgentRule[];
22
- };
23
- type WorkflowBuilderClient = {
24
- publishableKey: string;
25
- getWorkspaceBootstrap: (workflowId: string) => Promise<WorkspaceBootstrapPayload>;
26
- };
27
- type WorkflowBuilderProviderProps = {
28
- publishableKey: string;
29
- children: React.ReactNode;
30
- };
31
- declare function WorkflowBuilderProvider({ publishableKey, children, }: WorkflowBuilderProviderProps): react_jsx_runtime.JSX.Element;
32
- declare function useWorkflowBuilderClient(): WorkflowBuilderClient;
33
- declare function useWorkflowBuilderClientOptional(): WorkflowBuilderClient | null;
34
-
35
- interface NodeCardProps {
36
- /** React Flow selection state */
37
- selected?: boolean;
38
- /** Node type key for border colors (e.g. 'agent', 'tool', 'if_else') */
39
- nodeType: string;
40
- /** Width class — defaults to 'w-[260px]' */
41
- width?: string;
42
- /** Custom border class override (e.g. group node with dynamic colors) */
43
- customBorder?: string;
44
- /** Display variant — 'error' shows dashed amber border for missing entities */
45
- variant?: 'default' | 'error';
46
- /** Compact density mode for short-card view */
47
- compact?: boolean;
48
- /** Additional CSS classes */
49
- className?: string;
50
- /** Inline styles */
51
- style?: React.CSSProperties;
52
- /** Interactive attributes for div-based clickable nodes */
53
- role?: string;
54
- tabIndex?: number;
55
- onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
56
- onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;
57
- onDoubleClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
58
- children: ReactNode;
59
- }
60
- /**
61
- * Base card container for all standard flow nodes.
62
- *
63
- * Provides shared styling: rounded corners, border, glassmorphism surface,
64
- * padding, selection/hover state ring, and group context for child hover effects.
65
- *
66
- * Nodes that do NOT use this: NoteFlowNode (custom bg/border), GroupFlowNode expanded (resizable container).
67
- */
68
- declare function NodeCard({ selected, nodeType, width, customBorder, variant, compact, className, style, role, tabIndex, onClick, onKeyDown, onDoubleClick, children, }: NodeCardProps): react_jsx_runtime.JSX.Element;
69
-
70
- declare const AgentFlowNode: React$1.NamedExoticComponent<{
71
- id: string;
72
- data: AgentNodeData;
73
- selected?: boolean;
74
- }>;
75
-
76
- declare const ToolFlowNode: React$1.NamedExoticComponent<{
77
- id: string;
78
- data: ToolCanvasData;
79
- selected?: boolean;
80
- }>;
81
-
82
- declare const RuleFlowNode: React$1.NamedExoticComponent<{
83
- id: string;
84
- data: RuleNodeData;
85
- selected?: boolean;
86
- }>;
87
-
88
- declare const EntityFlowNode: React$1.NamedExoticComponent<{
89
- id: string;
90
- data: EntityNodeData;
91
- selected?: boolean;
92
- }>;
93
-
94
- declare const ModelProviderFlowNode: React$1.NamedExoticComponent<{
95
- id: string;
96
- data: ModelProviderNodeData;
97
- selected?: boolean;
98
- }>;
99
-
100
- declare const StartFlowNode: React$1.NamedExoticComponent<{
101
- id: string;
102
- data: StartNodeData;
103
- selected?: boolean;
104
- }>;
105
-
106
- declare const EndFlowNode: React$1.NamedExoticComponent<{
107
- id: string;
108
- data: EndNodeData;
109
- selected?: boolean;
110
- }>;
111
-
112
- declare const IfElseFlowNode: React$1.NamedExoticComponent<{
113
- id: string;
114
- data: IfElseNodeData;
115
- selected?: boolean;
116
- }>;
117
-
118
- declare const CodeFlowNode: React$1.NamedExoticComponent<{
119
- id: string;
120
- data: CodeNodeData;
121
- selected?: boolean;
122
- }>;
123
-
124
- declare const HttpRequestFlowNode: React$1.NamedExoticComponent<{
125
- id: string;
126
- data: HttpRequestNodeData;
127
- selected?: boolean;
128
- }>;
129
-
130
- declare const TemplateTransformFlowNode: React$1.NamedExoticComponent<{
131
- id: string;
132
- data: TemplateTransformNodeData;
133
- selected?: boolean;
134
- }>;
135
-
136
- declare const IterationFlowNode: React$1.NamedExoticComponent<{
137
- id: string;
138
- data: IterationNodeData;
139
- selected?: boolean;
140
- }>;
141
-
142
- declare const KnowledgeBaseFlowNode: React$1.NamedExoticComponent<{
143
- id: string;
144
- data: KnowledgeBaseNodeData;
145
- selected?: boolean;
146
- }>;
147
-
148
- declare const AnswerFlowNode: React$1.NamedExoticComponent<{
149
- id: string;
150
- data: AnswerNodeData;
151
- selected?: boolean;
152
- }>;
153
-
154
- declare const QuestionClassifierFlowNode: React$1.NamedExoticComponent<{
155
- id: string;
156
- data: QuestionClassifierNodeData;
157
- selected?: boolean;
158
- }>;
159
-
160
- declare const ParameterExtractorFlowNode: React$1.NamedExoticComponent<{
161
- id: string;
162
- data: ParameterExtractorNodeData;
163
- selected?: boolean;
164
- }>;
165
-
166
- declare const VariableAssignerFlowNode: React$1.NamedExoticComponent<{
167
- id: string;
168
- data: VariableAssignerNodeData;
169
- selected?: boolean;
170
- }>;
171
-
172
- declare const VariableAggregatorFlowNode: React$1.NamedExoticComponent<{
173
- id: string;
174
- data: VariableAggregatorNodeData;
175
- selected?: boolean;
176
- }>;
177
-
178
- declare const DocumentExtractorFlowNode: React$1.NamedExoticComponent<{
179
- id: string;
180
- data: DocumentExtractorNodeData;
181
- selected?: boolean;
182
- }>;
183
-
184
- declare const ListOperatorFlowNode: React$1.NamedExoticComponent<{
185
- id: string;
186
- data: ListOperatorNodeData;
187
- selected?: boolean;
188
- }>;
189
-
190
- declare const IterationStartFlowNode: React$1.NamedExoticComponent<{
191
- id: string;
192
- data: IterationStartNodeData;
193
- selected?: boolean;
194
- }>;
195
-
196
- declare const NoteFlowNode: React$1.NamedExoticComponent<{
197
- id: string;
198
- data: NoteNodeData;
199
- selected?: boolean;
200
- }>;
201
-
202
- declare const GroupFlowNode: React$1.NamedExoticComponent<{
203
- id: string;
204
- data: GroupNodeData;
205
- selected?: boolean;
206
- }>;
207
-
208
- type AgentModalProps = {
209
- onSaved?: () => void;
210
- };
211
- declare function AgentModal({ onSaved }: AgentModalProps): react_jsx_runtime.JSX.Element | null;
212
-
213
- type SubworkflowModalProps = {
214
- /** Called when save/create is clicked — receives the merged workflow tool with updated graph */
215
- onSaved?: (tool: WorkflowTool) => void;
216
- /** Called when maximize is clicked — navigate to full workflow editor */
217
- onMaximize?: (subworkflowId: string) => void;
218
- };
219
- declare function SubworkflowModal({ onSaved, onMaximize }: SubworkflowModalProps): react_jsx_runtime.JSX.Element | null;
220
-
221
- type DatasourceDefinition = {
222
- id: string;
223
- name: string;
224
- dialect: string;
225
- };
226
- type LogicNodeModalProps = {
227
- onSave: (nodeId: string, updatedConfig: LogicNodeConfig) => void;
228
- entities?: WorkflowEntityDefinition[];
229
- datasources?: DatasourceDefinition[];
230
- onLoadTables?: (datasourceId: string) => Promise<string[]>;
231
- onLoadSchema?: (datasourceId: string, table: string) => Promise<Array<{
232
- name: string;
233
- type: string;
234
- nullable?: boolean;
235
- }>>;
236
- };
237
- declare function LogicNodeModal({ onSave, entities, datasources, onLoadTables, onLoadSchema }: LogicNodeModalProps): react_jsx_runtime.JSX.Element | null;
238
-
239
- type WorkspaceModalProps = {
240
- open: boolean;
241
- onClose: () => void;
242
- title: string;
243
- subtitle?: string;
244
- label?: string;
245
- icon?: ReactNode;
246
- gradient?: string;
247
- maxWidth?: string | GlassModalSize;
248
- headerActions?: ReactNode;
249
- footer?: ReactNode;
250
- tabs?: ReactNode;
251
- children: ReactNode;
252
- };
253
- declare function WorkspaceModal({ open, onClose, title, subtitle, label, icon, gradient, maxWidth, headerActions, footer, tabs, children, }: WorkspaceModalProps): react_jsx_runtime.JSX.Element;
254
-
255
- type PipelineSettingsModalProps = {
256
- onSave: (name: string, description: string) => Promise<void>;
257
- };
258
- declare function PipelineSettingsModal({ onSave }: PipelineSettingsModalProps): react_jsx_runtime.JSX.Element;
259
-
260
- type ModelProvider = {
261
- id: string;
262
- name: string;
263
- provider: string;
264
- modelCount: number;
265
- configured: boolean;
266
- };
267
- type NodePaletteProps = {
268
- agents: AgentWithPrompts[];
269
- tools: WorkflowTool[];
270
- agentTools?: AgentTool[];
271
- rules: AgentRule[];
272
- entities?: WorkflowEntityDefinition[];
273
- modelProviders?: ModelProvider[];
274
- onCreateAgent?: () => void;
275
- onCreateTool?: () => void;
276
- onCreateAgentTool?: () => void;
277
- onCreateRule?: () => void;
278
- onCreateDatasource?: () => void;
279
- onConfigureProvider?: (providerId: string) => void;
280
- };
281
- declare function NodePalette({ agents, tools, agentTools, rules, entities, modelProviders, onCreateAgent, onCreateTool, onCreateAgentTool, onCreateRule, onCreateDatasource, onConfigureProvider }: NodePaletteProps): react_jsx_runtime.JSX.Element;
282
-
283
- type WorkflowListBarProps = {
284
- workflows: Workflow[];
285
- activeWorkflowId: string | null;
286
- isLoading: boolean;
287
- onSelect: (workflow: Workflow) => void;
288
- onCreate: () => void;
289
- onDelete: (workflowId: string, workflowName: string) => void;
290
- onConvertToSubworkflow?: (workflow: Workflow) => void;
291
- };
292
- declare function WorkflowListBar({ workflows, activeWorkflowId, isLoading, onSelect, onCreate, onDelete, onConvertToSubworkflow, }: WorkflowListBarProps): react_jsx_runtime.JSX.Element;
293
-
294
- type WorkflowVersion = {
295
- version: number;
296
- publishedAt: string;
297
- publishedBy: string;
298
- nodeCount: number;
299
- edgeCount: number;
300
- };
301
- type VersionHistoryPanelProps = {
302
- open: boolean;
303
- onClose: () => void;
304
- workflowId: string;
305
- currentVersion: number;
306
- onPreview: (version: WorkflowVersion) => void;
307
- onRestore: (version: WorkflowVersion) => void;
308
- fetchVersions?: (workflowId: string) => Promise<WorkflowVersion[]>;
309
- };
310
- declare function VersionHistoryPanel({ open, onClose, workflowId, currentVersion, onPreview, onRestore, fetchVersions, }: VersionHistoryPanelProps): react_jsx_runtime.JSX.Element | null;
311
-
312
- type RunPanelProps = {
313
- open: boolean;
314
- onClose: () => void;
315
- onRun: () => void;
316
- onStop: () => void;
317
- };
318
- declare function RunPanel({ open, onClose, onRun, onStop }: RunPanelProps): react_jsx_runtime.JSX.Element | null;
319
-
320
- type VariableInspectorProps = {
321
- open: boolean;
322
- onClose: () => void;
323
- };
324
- declare function VariableInspector({ open, onClose }: VariableInspectorProps): react_jsx_runtime.JSX.Element | null;
325
-
326
- type VariableValue = string | number | boolean | null;
327
- type RunInputDialogProps = {
328
- open: boolean;
329
- onClose: () => void;
330
- onRun: (inputVariables: Record<string, VariableValue>) => void;
331
- };
332
- declare function RunInputDialog({ open, onClose, onRun, }: RunInputDialogProps): react_jsx_runtime.JSX.Element | null;
333
-
334
- type PreviewPanelProps = {
335
- open: boolean;
336
- onClose: () => void;
337
- workflowId: string;
338
- loadRuns: (workflowId: string) => Promise<WorkflowRun[]>;
339
- };
340
- declare function PreviewPanel({ open, onClose, workflowId, loadRuns }: PreviewPanelProps): react_jsx_runtime.JSX.Element | null;
341
-
342
- type SaveStatusBadgeProps = {
343
- status: 'idle' | 'saving' | 'saved';
344
- };
345
- declare function SaveStatusBadge({ status }: SaveStatusBadgeProps): react_jsx_runtime.JSX.Element | null;
346
-
347
- type AutoSaveWorkspaceProps = Omit<WorkspaceProps, 'onGraphChange'> & {
348
- onAutoSaveGraph: (graph: WorkflowGraph) => void;
349
- onGraphSnapshot?: (graph: WorkflowGraph) => void;
350
- };
351
- declare const AutoSaveWorkspace: React$1.NamedExoticComponent<AutoSaveWorkspaceProps>;
352
-
353
- type NodeContextMenuProps = {
354
- position: {
355
- x: number;
356
- y: number;
357
- };
358
- targetId: string;
359
- onClose: () => void;
360
- onEdit: (nodeId: string) => void;
361
- onDuplicate: (nodeId: string) => void;
362
- onCopy: (nodeId: string) => void;
363
- onDelete: (nodeId: string) => void;
364
- };
365
- declare function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onCopy, onDelete }: NodeContextMenuProps): react_jsx_runtime.JSX.Element;
366
-
367
- type AlignDirection = 'left' | 'right' | 'top' | 'bottom' | 'centerHorizontal' | 'centerVertical';
368
- type DistributeDirection = 'horizontal' | 'vertical';
369
- type SelectionContextMenuProps = {
370
- position: {
371
- x: number;
372
- y: number;
373
- };
374
- onClose: () => void;
375
- onCopy: () => void;
376
- onDuplicate: () => void;
377
- onDelete: () => void;
378
- onGroupSelected: () => void;
379
- onAlign: (direction: AlignDirection) => void;
380
- onDistribute: (direction: DistributeDirection) => void;
381
- };
382
-
383
- declare function SelectionContextMenu({ position, onClose, onCopy, onDuplicate, onDelete, onGroupSelected, onAlign, onDistribute, }: SelectionContextMenuProps): react_jsx_runtime.JSX.Element;
384
-
385
- type PanelContextMenuProps = {
386
- position: {
387
- x: number;
388
- y: number;
389
- };
390
- onClose: () => void;
391
- onPaste: () => void;
392
- onSelectAll: () => void;
393
- onFitView: () => void;
394
- onAddNote: (flowPosition: {
395
- x: number;
396
- y: number;
397
- }) => void;
398
- flowPosition: {
399
- x: number;
400
- y: number;
401
- };
402
- hasClipboardContent: boolean;
403
- };
404
- declare function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView, onAddNote, flowPosition, hasClipboardContent }: PanelContextMenuProps): react_jsx_runtime.JSX.Element;
405
-
406
- type DynamicIslandConfirmProps = ComponentProps<typeof DynamicIslandConfirm$1>;
407
- declare function DynamicIslandConfirm(props: DynamicIslandConfirmProps): react_jsx_runtime.JSX.Element;
408
-
409
- type DslExportModalProps = {
410
- open: boolean;
411
- onClose: () => void;
412
- workflow: Workflow;
413
- graph: WorkflowGraph;
414
- };
415
- declare function DslExportModal({ open, onClose, workflow, graph }: DslExportModalProps): react_jsx_runtime.JSX.Element | null;
416
-
417
- type DslImportModalProps = {
418
- open: boolean;
419
- onClose: () => void;
420
- onImport: (graph: WorkflowGraph) => void;
421
- };
422
- declare function DslImportModal({ open, onClose, onImport }: DslImportModalProps): react_jsx_runtime.JSX.Element | null;
423
-
424
- type GraphSnapshot = {
425
- nodes: Node[];
426
- edges: Edge[];
427
- };
428
- type CanvasControlMode = 'pointer' | 'hand';
429
- type ContextMenuState = {
430
- type: 'node' | 'edge' | 'panel';
431
- position: {
432
- x: number;
433
- y: number;
434
- };
435
- targetId?: string;
436
- } | null;
437
- type NodeRunResult = {
438
- status: 'pending' | 'running' | 'success' | 'error';
439
- data?: unknown;
440
- error?: string;
441
- durationMs?: number;
442
- };
443
-
444
- type WorkflowStoreState = {
445
- nodes: Node[];
446
- edges: Edge[];
447
- past: GraphSnapshot[];
448
- future: GraphSnapshot[];
449
- clipboard: GraphSnapshot | null;
450
- editingNodeId: string | null;
451
- contextMenu: ContextMenuState;
452
- controlMode: CanvasControlMode;
453
- layoutDirection: LayoutDirection;
454
- showVariableInspector: boolean;
455
- showVersionHistory: boolean;
456
- showRunPanel: boolean;
457
- showMinimap: boolean;
458
- showDots: boolean;
459
- showShortcuts: boolean;
460
- cardDisplayMode: 'detailed' | 'compact';
461
- isRunning: boolean;
462
- nodeResults: Record<string, NodeRunResult>;
463
- selectedRunId: string | null;
464
- previewPanelOpen: boolean;
465
- };
466
- type WorkflowStoreActions = {
467
- setNodes: (updater: Node[] | ((nodes: Node[]) => Node[])) => void;
468
- setEdges: (updater: Edge[] | ((edges: Edge[]) => Edge[])) => void;
469
- takeSnapshot: () => void;
470
- undo: () => void;
471
- redo: () => void;
472
- copy: () => void;
473
- paste: (offset?: number) => void;
474
- selectAll: () => void;
475
- deselectAll: () => void;
476
- setEditingNodeId: (nodeId: string | null) => void;
477
- setContextMenu: (menu: ContextMenuState) => void;
478
- setControlMode: (mode: CanvasControlMode) => void;
479
- setLayoutDirection: (direction: LayoutDirection) => void;
480
- toggleVariableInspector: () => void;
481
- toggleVersionHistory: () => void;
482
- toggleRunPanel: () => void;
483
- toggleMinimap: () => void;
484
- toggleDots: () => void;
485
- toggleShortcuts: () => void;
486
- closeShortcuts: () => void;
487
- toggleCardDisplayMode: () => void;
488
- setIsRunning: (running: boolean) => void;
489
- setNodeResult: (nodeId: string, result: NodeRunResult) => void;
490
- clearNodeResults: () => void;
491
- setSelectedRunId: (runId: string | null) => void;
492
- togglePreviewPanel: () => void;
493
- reset: () => void;
494
- };
495
- type WorkflowStore = WorkflowStoreState & WorkflowStoreActions;
496
- declare const useWorkflowStore: zustand.UseBoundStore<zustand.StoreApi<WorkflowStore>>;
497
-
498
- type SubworkflowStoreState = {
499
- /** The workflow tool being edited (null = modal closed) */
500
- tool: WorkflowTool | null;
501
- /** Whether the modal is open */
502
- open: boolean;
503
- /** Editable fields */
504
- name: string;
505
- category: string;
506
- description: string;
507
- timeoutMs: number;
508
- retryCount: number;
509
- /** Whether there are unsaved changes */
510
- dirty: boolean;
511
- };
512
- type SubworkflowStoreActions = {
513
- /** Open the modal with a workflow tool (empty toolId = create mode) */
514
- openModal: (tool: WorkflowTool) => void;
515
- /** Close the modal and reset state */
516
- closeModal: () => void;
517
- /** Update a field and mark dirty */
518
- setName: (name: string) => void;
519
- setCategory: (category: string) => void;
520
- setDescription: (description: string) => void;
521
- setTimeoutMs: (timeoutMs: number) => void;
522
- setRetryCount: (retryCount: number) => void;
523
- /** Mark as dirty (e.g. when graph changes) */
524
- markDirty: () => void;
525
- /** Mark as saved */
526
- markSaved: () => void;
527
- };
528
- type SubworkflowStore = SubworkflowStoreState & SubworkflowStoreActions;
529
- declare const useSubworkflowStore: zustand.UseBoundStore<zustand.StoreApi<SubworkflowStore>>;
530
-
531
- type ModalType = 'agent' | 'logic-node' | 'pipeline-settings' | null;
532
- type AgentModalData = {
533
- agent: AgentWithPrompts;
534
- models: AgentModel[];
535
- /** Available agent tools the agent can use */
536
- agentTools?: AgentTool[];
537
- /** Available model providers for credential config */
538
- modelProviders?: ModelProvider[];
539
- isCreateMode: boolean;
540
- };
541
- type LogicNodeModalData = {
542
- nodeId: string;
543
- nodeLabel: string;
544
- config: LogicNodeConfig;
545
- };
546
- type PipelineSettingsModalData = {
547
- name: string;
548
- description: string;
549
- };
550
- type ModalEntry = {
551
- type: ModalType;
552
- agentData: AgentModalData | null;
553
- logicNodeData: LogicNodeModalData | null;
554
- pipelineSettingsData: PipelineSettingsModalData | null;
555
- };
556
- type ModalStoreState = {
557
- /** Current active modal (top of stack) */
558
- activeModal: ModalType;
559
- agentData: AgentModalData | null;
560
- logicNodeData: LogicNodeModalData | null;
561
- pipelineSettingsData: PipelineSettingsModalData | null;
562
- /** Stack of previous modals (for back-navigation) */
563
- stack: ModalEntry[];
564
- };
565
- type ModalStoreActions = {
566
- openAgentModal: (agent: AgentWithPrompts, models: AgentModel[], isCreateMode?: boolean, agentTools?: AgentTool[], modelProviders?: ModelProvider[]) => void;
567
- openLogicNodeModal: (nodeId: string, nodeLabel: string, config: LogicNodeConfig) => void;
568
- openPipelineSettingsModal: (name: string, description: string) => void;
569
- /** Close current modal. If stack has entries, restores the previous modal. */
570
- closeModal: () => void;
571
- /** Close all modals and clear the stack. */
572
- closeAllModals: () => void;
573
- };
574
- type ModalStore = ModalStoreState & ModalStoreActions;
575
- declare const useModalStore: zustand.UseBoundStore<zustand.StoreApi<ModalStore>>;
576
-
577
- /**
578
- * Workflow Store Selectors
579
- * ========================
580
- * Derived state hooks for granular subscriptions.
581
- * Each selector subscribes only to the slice it needs,
582
- * preventing unnecessary re-renders in consuming components.
583
- */
584
- declare const useCanUndo: () => boolean;
585
- declare const useCanRedo: () => boolean;
586
- declare const useHasCopied: () => boolean;
587
- declare const useContextMenu: () => {
588
- type: "node" | "edge" | "panel";
589
- position: {
590
- x: number;
591
- y: number;
592
- };
593
- targetId?: string;
594
- } | null;
595
- declare const useEditingNodeId: () => string | null;
596
- declare const useSelectedNodeCount: () => number;
597
- declare const useIsRunning: () => boolean;
598
- declare const useNodeResults: () => Record<string, NodeRunResult>;
599
-
600
- type UseUndoRedoReturn = {
601
- undo: () => void;
602
- redo: () => void;
603
- canUndo: boolean;
604
- canRedo: boolean;
605
- takeSnapshot: () => void;
606
- };
607
- declare function useUndoRedo(nodes: Node[], edges: Edge[], setNodes: (nodes: Node[]) => void, setEdges: (edges: Edge[]) => void, maxHistory?: number): UseUndoRedoReturn;
608
-
609
- type UseClipboardReturn = {
610
- copy: () => void;
611
- paste: () => void;
612
- hasCopied: boolean;
613
- };
614
- declare function useClipboard(nodes: Node[], edges: Edge[], setNodes: (updater: (nodes: Node[]) => Node[]) => void, setEdges: (updater: (edges: Edge[]) => Edge[]) => void, takeSnapshot: () => void): UseClipboardReturn;
615
-
616
- type UseCanvasShortcutsOptions = {
617
- undo: () => void;
618
- redo: () => void;
619
- copy: () => void;
620
- paste: () => void;
621
- canUndo: boolean;
622
- canRedo: boolean;
623
- selectAll: () => void;
624
- fitView: () => void;
625
- };
626
- declare function useCanvasShortcuts({ undo, redo, copy, paste, canUndo, canRedo, selectAll, fitView, }: UseCanvasShortcutsOptions): void;
627
-
628
- /**
629
- * Help Lines Hook
630
- * ===============
631
- * Detects alignment between the currently dragged node and
632
- * all other nodes on the canvas. When edges (left, center, right,
633
- * top, center-y, bottom) are within a 5px threshold, returns
634
- * horizontal and/or vertical guide line positions for visual feedback.
635
- */
636
-
637
- type NodeDragHandler = (event: React.MouseEvent, node: Node, nodes: Node[]) => void;
638
- type HelpLinePosition = {
639
- horizontal: number | null;
640
- vertical: number | null;
641
- };
642
- /**
643
- * Basic help lines hook. Returns a drag handler factory that accepts
644
- * the full node list for alignment detection.
645
- *
646
- * Example:
647
- * const { helpLines, createDragHandler, onNodeDragStop } = useHelpLines()
648
- * const onNodeDrag = createDragHandler(nodes)
649
- */
650
- declare function useHelpLines(): {
651
- helpLines: HelpLinePosition;
652
- createDragHandler: (allNodes: Node[]) => NodeDragHandler;
653
- onNodeDragStop: NodeDragHandler;
654
- };
655
-
656
- /**
657
- * Agent framework icons — LangChain, CrewAI, Google ADK, Anthropic Claude Agent SDK.
658
- * SVG paths sourced from simple-icons where available.
659
- */
660
- type AgentFramework = 'langchain' | 'crewai' | 'google-adk' | 'anthropic' | 'strands' | 'openai' | 'custom';
661
- type FrameworkIconProps = {
662
- className?: string;
663
- };
664
- declare function LangChainIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
665
- declare function CrewAIIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
666
- declare function AnthropicIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
667
- declare function GoogleADKIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
668
- declare function StrandsIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
669
- declare function OpenAIIcon({ className }: FrameworkIconProps): react_jsx_runtime.JSX.Element;
670
- /** Color + label metadata for each framework */
671
- declare const FRAMEWORK_META: Record<AgentFramework, {
672
- label: string;
673
- color: string;
674
- badgeColor: string;
675
- IconComponent: (props: FrameworkIconProps) => React.ReactNode;
676
- }>;
677
- /** Get the framework icon + metadata for a given framework key */
678
- declare function getFrameworkMeta(framework: string | undefined): {
679
- label: string;
680
- color: string;
681
- badgeColor: string;
682
- IconComponent: (props: FrameworkIconProps) => React.ReactNode;
683
- };
684
- /** Check if a model ID is compatible with a framework */
685
- declare function isModelCompatibleWithFramework(modelId: string, framework: AgentFramework): boolean;
686
- /** Filter models to only those compatible with a framework */
687
- declare function getCompatibleModels<T extends {
688
- id: string;
689
- }>(models: T[], framework: AgentFramework): T[];
690
- /** Get the first compatible framework for a given model, or 'custom' as fallback */
691
- declare function getDefaultFrameworkForModel(modelId: string): AgentFramework;
692
-
693
- type AgentToolNodeData = {
694
- agentTool: AgentTool;
695
- order?: number;
696
- displayMode?: 'detailed' | 'compact';
697
- onEdit?: (agentTool: AgentTool) => void;
698
- onToggle?: (agentTool: AgentTool) => void;
699
- onRemoveFromCanvas?: (nodeId: string) => void;
700
- label?: string;
701
- };
702
- declare const AgentToolFlowNode: React$1.NamedExoticComponent<{
703
- id: string;
704
- data: AgentToolNodeData;
705
- selected?: boolean;
706
- }>;
707
-
708
- /**
709
- * Model provider icons for AWS Bedrock models.
710
- * Anthropic (Claude), Amazon (Nova), Meta (Llama).
711
- */
712
- type IconProps = {
713
- className?: string;
714
- };
715
- declare function AnthropicModelIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
716
- declare function AmazonNovaIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
717
- declare function MetaLlamaIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
718
- /** Returns the icon component and color for a model ID */
719
- declare function getModelIcon(modelId: string): {
720
- IconComponent: (props: IconProps) => React.ReactNode;
721
- color: string;
722
- providerLabel: string;
723
- };
724
-
725
- declare const LOGIC_NODE_GRADIENTS: Record<string, string>;
726
- declare const LOGIC_NODE_BADGE_COLORS: Record<string, string>;
727
- declare const LOGIC_ICON_MAP: Record<string, React.ComponentType<{
728
- className?: string;
729
- }>>;
730
- declare const MINIMAP_NODE_COLORS: Record<string, string>;
731
- declare const NODE_EXECUTION_ACCENT_COLORS: Record<string, string>;
732
- declare function getNodeExecutionAccent(nodeType?: string): string;
733
- declare function getNodeExecutionAccentRgb(nodeType?: string): string;
734
- declare const LOGIC_NODE_HANDLE_COLORS: Record<string, string>;
735
-
736
- /**
737
- * Entity Visual Helpers
738
- * =====================
739
- * Generic appearance helpers for entity nodes independent of hardcoded entity types.
740
- */
741
- declare function getEntityIcon(entityKey: string | undefined): React.ComponentType<{
742
- className?: string;
743
- }>;
744
- declare function getEntityGradient(entityKey: string | undefined): string;
745
- declare function getEntityBadgeColor(entityKey: string | undefined): string;
746
- declare function getEntityHandleColor(entityKey: string | undefined): string;
747
- declare function getEntityMinimapColor(entityKey: string | undefined): string;
748
-
749
- export { AgentFlowNode, type AgentFramework, AgentModal, AgentNodeData, AgentToolFlowNode, AgentWithPrompts, AmazonNovaIcon, AnswerFlowNode, AnswerNodeData, AnthropicIcon, AnthropicModelIcon, AutoSaveWorkspace, type AutoSaveWorkspaceProps, CodeFlowNode, CodeNodeData, CrewAIIcon, DocumentExtractorFlowNode, DocumentExtractorNodeData, DslExportModal, DslImportModal, DynamicIslandConfirm, type DynamicIslandConfirmProps, EndFlowNode, EndNodeData, EntityFlowNode, EntityNodeData, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, GroupNodeData, HttpRequestFlowNode, HttpRequestNodeData, IfElseFlowNode, IfElseNodeData, IterationFlowNode, IterationNodeData, IterationStartFlowNode, IterationStartNodeData, KnowledgeBaseFlowNode, KnowledgeBaseNodeData, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, LayoutDirection, ListOperatorFlowNode, ListOperatorNodeData, LogicNodeModal, MINIMAP_NODE_COLORS, MetaLlamaIcon, type ModelProvider, ModelProviderFlowNode, ModelProviderNodeData, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeContextMenu, NodePalette, type NodeRunResult, NoteFlowNode, NoteNodeData, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, ParameterExtractorNodeData, PipelineSettingsModal, PreviewPanel, type PreviewPanelProps, QuestionClassifierFlowNode, QuestionClassifierNodeData, RuleFlowNode, RuleNodeData, RunInputDialog, type RunInputDialogProps, RunPanel, SaveStatusBadge, type SaveStatusBadgeProps, SelectionContextMenu, StartFlowNode, StartNodeData, StrandsIcon, SubworkflowModal, TemplateTransformFlowNode, TemplateTransformNodeData, ToolCanvasData, ToolFlowNode, VariableAggregatorFlowNode, VariableAggregatorNodeData, VariableAssignerFlowNode, VariableAssignerNodeData, VariableInspector, VersionHistoryPanel, type WorkflowBuilderClient, WorkflowBuilderProvider, type WorkflowBuilderProviderProps, WorkflowEntityDefinition, WorkflowGraph, WorkflowListBar, type WorkflowStore, type WorkspaceBootstrapPayload, WorkspaceModal, WorkspaceProps, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getModelIcon, getNodeExecutionAccent, getNodeExecutionAccentRgb, isModelCompatibleWithFramework, useCanRedo, useCanUndo, useCanvasShortcuts, useClipboard, useContextMenu, useEditingNodeId, useHasCopied, useHelpLines, useIsRunning, useModalStore, useNodeResults, useSelectedNodeCount, useSubworkflowStore, useUndoRedo, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };