@d34dman/flowdrop 0.0.1 → 0.0.3
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.
- package/README.md +307 -215
- package/dist/adapters/WorkflowAdapter.d.ts +1 -1
- package/dist/adapters/WorkflowAdapter.js +30 -30
- package/dist/api/client.d.ts +24 -1
- package/dist/api/client.js +55 -38
- package/dist/api/enhanced-client.d.ts +46 -0
- package/dist/api/enhanced-client.js +211 -0
- package/dist/clients/ApiClient.d.ts +19 -23
- package/dist/clients/ApiClient.js +36 -34
- package/dist/components/App.svelte +1299 -230
- package/dist/components/App.svelte.d.ts +21 -1
- package/dist/components/CanvasBanner.svelte +50 -44
- package/dist/components/CanvasBanner.svelte.d.ts +5 -19
- package/dist/components/ConfigForm.svelte +555 -0
- package/dist/components/ConfigForm.svelte.d.ts +32 -0
- package/dist/components/ConfigModal.svelte +261 -0
- package/dist/components/ConfigModal.svelte.d.ts +31 -0
- package/dist/components/ConfigSidebar.svelte +934 -0
- package/dist/components/ConfigSidebar.svelte.d.ts +51 -0
- package/dist/components/ConnectionLine.svelte +32 -0
- package/dist/components/ConnectionLine.svelte.d.ts +3 -0
- package/dist/components/GatewayNode.svelte +471 -0
- package/dist/components/GatewayNode.svelte.d.ts +15 -0
- package/dist/components/LoadingSpinner.svelte +23 -23
- package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
- package/dist/components/Logo.svelte +82 -0
- package/dist/components/Logo.svelte.d.ts +26 -0
- package/dist/components/LogsSidebar.svelte +565 -0
- package/dist/components/LogsSidebar.svelte.d.ts +34 -0
- package/dist/components/MarkdownDisplay.svelte +28 -0
- package/dist/components/MarkdownDisplay.svelte.d.ts +7 -0
- package/dist/components/Navbar.svelte +663 -0
- package/dist/components/Navbar.svelte.d.ts +21 -0
- package/dist/components/NodeSidebar.svelte +629 -488
- package/dist/components/NodeSidebar.svelte.d.ts +1 -2
- package/dist/components/NodeStatusOverlay.svelte +327 -0
- package/dist/components/NodeStatusOverlay.svelte.d.ts +11 -0
- package/dist/components/NotesNode.svelte +566 -0
- package/dist/components/NotesNode.svelte.d.ts +43 -0
- package/dist/components/PipelineStatus.svelte +331 -0
- package/dist/components/PipelineStatus.svelte.d.ts +18 -0
- package/dist/components/SimpleNode.svelte +447 -0
- package/dist/components/SimpleNode.svelte.d.ts +24 -0
- package/dist/components/SquareNode.svelte +346 -0
- package/dist/components/SquareNode.svelte.d.ts +24 -0
- package/dist/components/StatusIcon.svelte +112 -0
- package/dist/components/StatusIcon.svelte.d.ts +10 -0
- package/dist/components/StatusLabel.svelte +33 -0
- package/dist/components/StatusLabel.svelte.d.ts +7 -0
- package/dist/components/ToolNode.svelte +385 -0
- package/dist/components/ToolNode.svelte.d.ts +36 -0
- package/dist/components/UniversalNode.svelte +126 -0
- package/dist/components/UniversalNode.svelte.d.ts +15 -0
- package/dist/components/WorkflowEditor.svelte +871 -528
- package/dist/components/WorkflowEditor.svelte.d.ts +15 -5
- package/dist/components/WorkflowNode.svelte +428 -542
- package/dist/components/WorkflowNode.svelte.d.ts +7 -3
- package/dist/config/apiConfig.d.ts +33 -0
- package/dist/config/apiConfig.js +39 -0
- package/dist/config/defaultPortConfig.d.ts +6 -0
- package/dist/config/defaultPortConfig.js +192 -0
- package/dist/config/demo.d.ts +58 -0
- package/dist/config/demo.js +142 -0
- package/dist/config/endpoints.d.ts +106 -0
- package/dist/config/endpoints.js +128 -0
- package/dist/data/samples.d.ts +38 -4
- package/dist/data/samples.js +2789 -737
- package/dist/examples/adapter-usage.d.ts +4 -4
- package/dist/examples/adapter-usage.js +21 -26
- package/dist/examples/api-client-usage.d.ts +6 -6
- package/dist/examples/api-client-usage.js +55 -54
- package/dist/index.d.ts +23 -15
- package/dist/index.js +23 -15
- package/dist/mocks/app-environment.d.ts +8 -0
- package/dist/mocks/app-environment.js +16 -0
- package/dist/mocks/app-forms.d.ts +2 -0
- package/dist/mocks/app-forms.js +21 -0
- package/dist/mocks/app-navigation.d.ts +5 -0
- package/dist/mocks/app-navigation.js +34 -0
- package/dist/mocks/app-stores.d.ts +14 -0
- package/dist/mocks/app-stores.js +26 -0
- package/dist/services/api.d.ts +13 -3
- package/dist/services/api.js +91 -36
- package/dist/services/globalSave.d.ts +20 -0
- package/dist/services/globalSave.js +165 -0
- package/dist/services/nodeExecutionService.d.ts +63 -0
- package/dist/services/nodeExecutionService.js +261 -0
- package/dist/services/portConfigApi.d.ts +14 -0
- package/dist/services/portConfigApi.js +69 -0
- package/dist/services/toastService.d.ts +147 -0
- package/dist/services/toastService.js +235 -0
- package/dist/services/workflowStorage.d.ts +2 -2
- package/dist/services/workflowStorage.js +10 -10
- package/dist/stores/workflowStore.d.ts +53 -0
- package/dist/stores/workflowStore.js +264 -0
- package/dist/styles/base.css +896 -363
- package/dist/svelte-app.d.ts +52 -5
- package/dist/svelte-app.js +128 -6
- package/dist/types/config.d.ts +291 -0
- package/dist/types/config.js +4 -0
- package/dist/types/index.d.ts +231 -19
- package/dist/types/index.js +1 -1
- package/dist/utils/colors.d.ts +67 -33
- package/dist/utils/colors.js +183 -118
- package/dist/utils/config.d.ts +41 -0
- package/dist/utils/config.js +248 -0
- package/dist/utils/connections.d.ts +40 -3
- package/dist/utils/connections.js +115 -44
- package/dist/utils/icons.d.ts +1 -1
- package/dist/utils/icons.js +71 -70
- package/dist/utils/nodeStatus.d.ts +53 -0
- package/dist/utils/nodeStatus.js +183 -0
- package/dist/utils/nodeTypes.d.ts +57 -0
- package/dist/utils/nodeTypes.js +109 -0
- package/dist/utils/nodeWrapper.d.ts +39 -0
- package/dist/utils/nodeWrapper.js +62 -0
- package/package.json +132 -97
- package/dist/app.css +0 -0
- package/dist/components/Node.svelte +0 -38
- package/dist/components/Node.svelte.d.ts +0 -4
package/dist/types/index.d.ts
CHANGED
|
@@ -1,35 +1,92 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core types for the Workflow Library
|
|
3
3
|
*/
|
|
4
|
-
import type { Node, Edge, XYPosition } from
|
|
5
|
-
import { ConnectionLineType } from
|
|
4
|
+
import type { Node, Edge, XYPosition } from '@xyflow/svelte';
|
|
5
|
+
import { ConnectionLineType } from '@xyflow/svelte';
|
|
6
|
+
import type { EndpointConfig } from '../config/endpoints.js';
|
|
6
7
|
/**
|
|
7
8
|
* Node category types for organizing nodes in the sidebar
|
|
8
|
-
* Based on
|
|
9
|
+
* Based on actual API response categories
|
|
9
10
|
*/
|
|
10
|
-
export type NodeCategory =
|
|
11
|
+
export type NodeCategory = 'inputs' | 'outputs' | 'prompts' | 'models' | 'processing' | 'logic' | 'data' | 'tools' | 'helpers' | 'vector stores' | 'embeddings' | 'memories' | 'agents' | 'ai' | 'bundles';
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
* Port data type configuration
|
|
13
14
|
*/
|
|
14
|
-
export
|
|
15
|
+
export interface PortDataTypeConfig {
|
|
16
|
+
/** Unique identifier for the data type */
|
|
17
|
+
id: string;
|
|
18
|
+
/** Display name for the data type */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Description of the data type */
|
|
21
|
+
description?: string;
|
|
22
|
+
/** Color for the data type (CSS color value) */
|
|
23
|
+
color: string;
|
|
24
|
+
/** Category grouping for the data type */
|
|
25
|
+
category?: string;
|
|
26
|
+
/** Alternative names/aliases for this data type */
|
|
27
|
+
aliases?: string[];
|
|
28
|
+
/** Whether this data type is enabled */
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Port compatibility rule configuration
|
|
33
|
+
* Simple rule: sourceType can connect TO targetType
|
|
34
|
+
*/
|
|
35
|
+
export interface PortCompatibilityRule {
|
|
36
|
+
/** Source data type ID (what you're connecting FROM) */
|
|
37
|
+
from: string;
|
|
38
|
+
/** Target data type ID (what you're connecting TO) */
|
|
39
|
+
to: string;
|
|
40
|
+
/** Optional description of why this connection is allowed */
|
|
41
|
+
description?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Complete port configuration system
|
|
45
|
+
*/
|
|
46
|
+
export interface PortConfig {
|
|
47
|
+
/** Available data types */
|
|
48
|
+
dataTypes: PortDataTypeConfig[];
|
|
49
|
+
/** Compatibility rules between data types */
|
|
50
|
+
compatibilityRules: PortCompatibilityRule[];
|
|
51
|
+
/** Default data type to use when none specified */
|
|
52
|
+
defaultDataType: string;
|
|
53
|
+
/** Version of the port configuration */
|
|
54
|
+
version?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Node data type - now dynamic based on configuration
|
|
58
|
+
* Will be string literals of available data type IDs
|
|
59
|
+
*/
|
|
60
|
+
export type NodeDataType = string;
|
|
15
61
|
/**
|
|
16
62
|
* Node port configuration
|
|
17
63
|
*/
|
|
18
64
|
export interface NodePort {
|
|
19
65
|
id: string;
|
|
20
66
|
name: string;
|
|
21
|
-
type:
|
|
67
|
+
type: 'input' | 'output' | 'metadata';
|
|
22
68
|
dataType: NodeDataType;
|
|
23
69
|
required?: boolean;
|
|
24
70
|
description?: string;
|
|
25
71
|
defaultValue?: unknown;
|
|
26
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Node types for explicit component rendering
|
|
75
|
+
*/
|
|
76
|
+
export type NodeType = 'note' | 'simple' | 'square' | 'tool' | 'gateway' | 'default';
|
|
27
77
|
/**
|
|
28
78
|
* Node configuration metadata
|
|
29
79
|
*/
|
|
30
80
|
export interface NodeMetadata {
|
|
31
81
|
id: string;
|
|
32
82
|
name: string;
|
|
83
|
+
type?: NodeType;
|
|
84
|
+
/**
|
|
85
|
+
* Array of supported node types that this node can be rendered as.
|
|
86
|
+
* If not specified, defaults to the single 'type' field or 'default'.
|
|
87
|
+
* This allows nodes to support multiple rendering modes (e.g., both 'simple' and 'default').
|
|
88
|
+
*/
|
|
89
|
+
supportedTypes?: NodeType[];
|
|
33
90
|
description: string;
|
|
34
91
|
category: NodeCategory;
|
|
35
92
|
version: string;
|
|
@@ -37,15 +94,145 @@ export interface NodeMetadata {
|
|
|
37
94
|
color?: string;
|
|
38
95
|
inputs: NodePort[];
|
|
39
96
|
outputs: NodePort[];
|
|
40
|
-
configSchema?:
|
|
97
|
+
configSchema?: ConfigSchema;
|
|
41
98
|
tags?: string[];
|
|
42
99
|
}
|
|
43
100
|
/**
|
|
44
|
-
*
|
|
101
|
+
* Common base interface for all schema properties
|
|
102
|
+
*/
|
|
103
|
+
export interface BaseProperty {
|
|
104
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'integer' | 'mixed' | 'float';
|
|
105
|
+
description?: string;
|
|
106
|
+
title?: string;
|
|
107
|
+
default?: unknown;
|
|
108
|
+
enum?: unknown[];
|
|
109
|
+
minimum?: number;
|
|
110
|
+
maximum?: number;
|
|
111
|
+
minLength?: number;
|
|
112
|
+
maxLength?: number;
|
|
113
|
+
pattern?: string;
|
|
114
|
+
format?: string;
|
|
115
|
+
items?: BaseProperty;
|
|
116
|
+
properties?: Record<string, BaseProperty>;
|
|
117
|
+
[key: string]: unknown;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Common base interface for all schemas
|
|
121
|
+
*/
|
|
122
|
+
export interface BaseSchema {
|
|
123
|
+
type: 'object';
|
|
124
|
+
properties: Record<string, BaseProperty>;
|
|
125
|
+
required?: string[];
|
|
126
|
+
additionalProperties?: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Configuration schema property with specific attributes
|
|
130
|
+
*/
|
|
131
|
+
export interface ConfigProperty extends BaseProperty {
|
|
132
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'integer';
|
|
133
|
+
title?: string;
|
|
134
|
+
description?: string;
|
|
135
|
+
default?: unknown;
|
|
136
|
+
enum?: unknown[];
|
|
137
|
+
multiple?: boolean;
|
|
138
|
+
minimum?: number;
|
|
139
|
+
maximum?: number;
|
|
140
|
+
minLength?: number;
|
|
141
|
+
maxLength?: number;
|
|
142
|
+
pattern?: string;
|
|
143
|
+
format?: 'multiline' | 'hidden' | string;
|
|
144
|
+
items?: ConfigProperty;
|
|
145
|
+
properties?: Record<string, ConfigProperty>;
|
|
146
|
+
[key: string]: unknown;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Configuration schema interface
|
|
150
|
+
*/
|
|
151
|
+
export interface ConfigSchema extends BaseSchema {
|
|
152
|
+
properties: Record<string, ConfigProperty>;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Input schema property with specific attributes
|
|
156
|
+
*/
|
|
157
|
+
export interface InputProperty extends BaseProperty {
|
|
158
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'integer' | 'mixed';
|
|
159
|
+
title?: string;
|
|
160
|
+
description?: string;
|
|
161
|
+
required?: boolean;
|
|
162
|
+
default?: unknown;
|
|
163
|
+
enum?: unknown[];
|
|
164
|
+
minimum?: number;
|
|
165
|
+
maximum?: number;
|
|
166
|
+
minLength?: number;
|
|
167
|
+
maxLength?: number;
|
|
168
|
+
pattern?: string;
|
|
169
|
+
format?: 'multiline' | string;
|
|
170
|
+
items?: InputProperty;
|
|
171
|
+
properties?: Record<string, InputProperty>;
|
|
172
|
+
[key: string]: unknown;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Input schema interface
|
|
45
176
|
*/
|
|
46
|
-
export interface
|
|
177
|
+
export interface InputSchema extends BaseSchema {
|
|
178
|
+
properties: Record<string, InputProperty>;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Output schema property with specific attributes
|
|
182
|
+
*/
|
|
183
|
+
export interface OutputProperty extends BaseProperty {
|
|
184
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'integer' | 'mixed' | 'float';
|
|
185
|
+
description: string;
|
|
186
|
+
title?: string;
|
|
187
|
+
default?: unknown;
|
|
188
|
+
enum?: unknown[];
|
|
189
|
+
minimum?: number;
|
|
190
|
+
maximum?: number;
|
|
191
|
+
minLength?: number;
|
|
192
|
+
maxLength?: number;
|
|
193
|
+
pattern?: string;
|
|
194
|
+
format?: string;
|
|
195
|
+
items?: OutputProperty;
|
|
196
|
+
properties?: Record<string, OutputProperty>;
|
|
47
197
|
[key: string]: unknown;
|
|
48
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Output schema interface
|
|
201
|
+
*/
|
|
202
|
+
export interface OutputSchema extends BaseSchema {
|
|
203
|
+
properties: Record<string, OutputProperty>;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Union type for all schema types
|
|
207
|
+
*/
|
|
208
|
+
export type Schema = ConfigSchema | InputSchema | OutputSchema;
|
|
209
|
+
/**
|
|
210
|
+
* Union type for all property types
|
|
211
|
+
*/
|
|
212
|
+
export type Property = ConfigProperty | InputProperty | OutputProperty;
|
|
213
|
+
/**
|
|
214
|
+
* Schema type discriminator
|
|
215
|
+
*/
|
|
216
|
+
export type SchemaType = 'config' | 'input' | 'output';
|
|
217
|
+
/**
|
|
218
|
+
* Utility type to get the appropriate property type based on schema type
|
|
219
|
+
*/
|
|
220
|
+
export type SchemaProperty<T extends SchemaType> = T extends 'config' ? ConfigProperty : T extends 'input' ? InputProperty : T extends 'output' ? OutputProperty : never;
|
|
221
|
+
/**
|
|
222
|
+
* Utility type to get the appropriate schema type based on schema type
|
|
223
|
+
*/
|
|
224
|
+
export type SchemaTypeMap<T extends SchemaType> = T extends 'config' ? ConfigSchema : T extends 'input' ? InputSchema : T extends 'output' ? OutputSchema : never;
|
|
225
|
+
/**
|
|
226
|
+
* Node configuration values
|
|
227
|
+
* Key-value pairs of user-entered configuration values
|
|
228
|
+
*/
|
|
229
|
+
export interface ConfigValues {
|
|
230
|
+
[key: string]: unknown;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Node configuration type (alias for backward compatibility)
|
|
234
|
+
*/
|
|
235
|
+
export type NodeConfig = ConfigValues;
|
|
49
236
|
/**
|
|
50
237
|
* Extended node type for workflows
|
|
51
238
|
*/
|
|
@@ -56,11 +243,13 @@ export interface WorkflowNode extends Node {
|
|
|
56
243
|
deletable?: boolean;
|
|
57
244
|
data: {
|
|
58
245
|
label: string;
|
|
59
|
-
config:
|
|
246
|
+
config: ConfigValues;
|
|
60
247
|
metadata: NodeMetadata;
|
|
61
248
|
isProcessing?: boolean;
|
|
62
249
|
error?: string;
|
|
63
250
|
nodeId?: string;
|
|
251
|
+
/** Node execution tracking information */
|
|
252
|
+
executionInfo?: NodeExecutionInfo;
|
|
64
253
|
};
|
|
65
254
|
}
|
|
66
255
|
/**
|
|
@@ -78,6 +267,9 @@ export interface WorkflowEdge extends Edge {
|
|
|
78
267
|
data?: {
|
|
79
268
|
label?: string;
|
|
80
269
|
condition?: string;
|
|
270
|
+
isToolConnection?: boolean;
|
|
271
|
+
targetNodeType?: string;
|
|
272
|
+
targetCategory?: string;
|
|
81
273
|
};
|
|
82
274
|
}
|
|
83
275
|
/**
|
|
@@ -95,6 +287,8 @@ export interface Workflow {
|
|
|
95
287
|
updatedAt: string;
|
|
96
288
|
author?: string;
|
|
97
289
|
tags?: string[];
|
|
290
|
+
versionId?: string;
|
|
291
|
+
updateNumber?: number;
|
|
98
292
|
};
|
|
99
293
|
}
|
|
100
294
|
/**
|
|
@@ -106,16 +300,34 @@ export interface ApiResponse<T> {
|
|
|
106
300
|
error?: string;
|
|
107
301
|
message?: string;
|
|
108
302
|
}
|
|
109
|
-
export
|
|
110
|
-
|
|
111
|
-
export
|
|
112
|
-
|
|
113
|
-
|
|
303
|
+
export type NodesResponse = ApiResponse<NodeMetadata[]>;
|
|
304
|
+
export type WorkflowResponse = ApiResponse<Workflow>;
|
|
305
|
+
export type WorkflowsResponse = ApiResponse<Workflow[]>;
|
|
306
|
+
/**
|
|
307
|
+
* Node execution status enum
|
|
308
|
+
*/
|
|
309
|
+
export type NodeExecutionStatus = 'idle' | 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'skipped';
|
|
310
|
+
/**
|
|
311
|
+
* Node execution tracking information
|
|
312
|
+
*/
|
|
313
|
+
export interface NodeExecutionInfo {
|
|
314
|
+
/** Current execution status */
|
|
315
|
+
status: NodeExecutionStatus;
|
|
316
|
+
/** Total number of times this node has been executed */
|
|
317
|
+
executionCount: number;
|
|
318
|
+
/** Last execution timestamp */
|
|
319
|
+
lastExecuted?: string;
|
|
320
|
+
/** Last execution duration in milliseconds */
|
|
321
|
+
lastExecutionDuration?: number;
|
|
322
|
+
/** Last error message if execution failed */
|
|
323
|
+
lastError?: string;
|
|
324
|
+
/** Whether the node is currently being executed */
|
|
325
|
+
isExecuting: boolean;
|
|
114
326
|
}
|
|
115
327
|
/**
|
|
116
328
|
* Workflow execution status
|
|
117
329
|
*/
|
|
118
|
-
export type ExecutionStatus =
|
|
330
|
+
export type ExecutionStatus = 'idle' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
119
331
|
/**
|
|
120
332
|
* Workflow execution result
|
|
121
333
|
*/
|
|
@@ -133,8 +345,8 @@ export interface ExecutionResult {
|
|
|
133
345
|
* Library configuration
|
|
134
346
|
*/
|
|
135
347
|
export interface FlowDropConfig {
|
|
136
|
-
|
|
137
|
-
theme?:
|
|
348
|
+
endpointConfig?: EndpointConfig;
|
|
349
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
138
350
|
enableDebug?: boolean;
|
|
139
351
|
autoSave?: boolean;
|
|
140
352
|
autoSaveInterval?: number;
|
package/dist/types/index.js
CHANGED
package/dist/utils/colors.d.ts
CHANGED
|
@@ -3,22 +3,14 @@
|
|
|
3
3
|
* Ensures consistent category colors across sidebar and canvas
|
|
4
4
|
* Uses BEM syntax for CSS classes
|
|
5
5
|
*/
|
|
6
|
-
import type { NodeCategory } from
|
|
7
|
-
/**
|
|
8
|
-
* Color configuration type for consistent color objects
|
|
9
|
-
*/
|
|
10
|
-
export interface ColorConfig {
|
|
11
|
-
background: string;
|
|
12
|
-
accent: string;
|
|
13
|
-
text: string;
|
|
14
|
-
border: string;
|
|
15
|
-
}
|
|
6
|
+
import type { NodeCategory, PortDataTypeConfig } from '../types/index.js';
|
|
16
7
|
/**
|
|
17
8
|
* Category color mapping to reference tokens (CSS variables)
|
|
18
9
|
*/
|
|
19
10
|
export declare const CATEGORY_COLOR_TOKENS: Record<NodeCategory, string>;
|
|
20
11
|
/**
|
|
21
12
|
* Data type color mapping to reference tokens (CSS variables)
|
|
13
|
+
* @deprecated Use getDataTypeColorToken() with port configuration instead
|
|
22
14
|
*/
|
|
23
15
|
export declare const DATA_TYPE_COLOR_TOKENS: Record<string, string>;
|
|
24
16
|
/**
|
|
@@ -26,19 +18,32 @@ export declare const DATA_TYPE_COLOR_TOKENS: Record<string, string>;
|
|
|
26
18
|
*/
|
|
27
19
|
export declare function getCategoryColorToken(category: NodeCategory): string;
|
|
28
20
|
/**
|
|
29
|
-
* Get the reference color token for a data type
|
|
21
|
+
* Get the reference color token for a data type (configurable version)
|
|
30
22
|
*/
|
|
31
23
|
export declare function getDataTypeColorToken(dataType: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Get data type configuration from port config
|
|
26
|
+
*/
|
|
27
|
+
export declare function getDataTypeConfig(dataType: string): PortDataTypeConfig | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Get all available data types from port configuration
|
|
30
|
+
*/
|
|
31
|
+
export declare function getAvailableDataTypes(): PortDataTypeConfig[];
|
|
32
32
|
/**
|
|
33
33
|
* Default colors for fallback cases
|
|
34
34
|
*/
|
|
35
|
-
export declare const DEFAULT_COLORS:
|
|
35
|
+
export declare const DEFAULT_COLORS: {
|
|
36
|
+
background: string;
|
|
37
|
+
accent: string;
|
|
38
|
+
text: string;
|
|
39
|
+
border: string;
|
|
40
|
+
};
|
|
36
41
|
/**
|
|
37
42
|
* Get category colors
|
|
38
43
|
* @param category - The node category
|
|
39
44
|
* @returns The color configuration for the category
|
|
40
45
|
*/
|
|
41
|
-
export declare function getCategoryColors(category: NodeCategory):
|
|
46
|
+
export declare function getCategoryColors(category: NodeCategory): string;
|
|
42
47
|
/**
|
|
43
48
|
* Get category background color
|
|
44
49
|
* @param category - The node category
|
|
@@ -46,7 +51,7 @@ export declare function getCategoryColors(category: NodeCategory): ColorConfig;
|
|
|
46
51
|
*/
|
|
47
52
|
export declare function getCategoryBackground(category: NodeCategory): string;
|
|
48
53
|
/**
|
|
49
|
-
* Get category accent color
|
|
54
|
+
* Get category accent color
|
|
50
55
|
* @param category - The node category
|
|
51
56
|
* @returns The accent color class
|
|
52
57
|
*/
|
|
@@ -64,58 +69,87 @@ export declare function getCategoryText(category: NodeCategory): string;
|
|
|
64
69
|
*/
|
|
65
70
|
export declare function getCategoryBorder(category: NodeCategory): string;
|
|
66
71
|
/**
|
|
67
|
-
* Get node colors based on category and
|
|
72
|
+
* Get node colors based on category and state
|
|
68
73
|
* @param category - The node category
|
|
69
|
-
* @param isError - Whether the node
|
|
74
|
+
* @param isError - Whether the node is in error state
|
|
70
75
|
* @param isProcessing - Whether the node is processing
|
|
71
76
|
* @param isSelected - Whether the node is selected
|
|
72
|
-
* @returns The color configuration
|
|
77
|
+
* @returns The color configuration object
|
|
73
78
|
*/
|
|
74
|
-
export declare function getNodeColors(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean):
|
|
79
|
+
export declare function getNodeColors(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean): {
|
|
80
|
+
background: string;
|
|
81
|
+
accent: string;
|
|
82
|
+
text: string;
|
|
83
|
+
border: string;
|
|
84
|
+
};
|
|
75
85
|
/**
|
|
76
86
|
* Get node background color
|
|
77
87
|
* @param category - The node category
|
|
78
|
-
* @param isError - Whether the node
|
|
88
|
+
* @param isError - Whether the node is in error state
|
|
79
89
|
* @param isProcessing - Whether the node is processing
|
|
80
90
|
* @param isSelected - Whether the node is selected
|
|
81
|
-
* @returns The background color
|
|
91
|
+
* @returns The background color
|
|
82
92
|
*/
|
|
83
93
|
export declare function getNodeBackground(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean): string;
|
|
84
94
|
/**
|
|
85
95
|
* Get node accent color
|
|
86
96
|
* @param category - The node category
|
|
87
|
-
* @param isError - Whether the node
|
|
97
|
+
* @param isError - Whether the node is in error state
|
|
88
98
|
* @param isProcessing - Whether the node is processing
|
|
89
99
|
* @param isSelected - Whether the node is selected
|
|
90
|
-
* @returns The accent color
|
|
100
|
+
* @returns The accent color
|
|
91
101
|
*/
|
|
92
102
|
export declare function getNodeAccent(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean): string;
|
|
93
103
|
/**
|
|
94
104
|
* Get node text color
|
|
95
105
|
* @param category - The node category
|
|
96
|
-
* @param isError - Whether the node
|
|
106
|
+
* @param isError - Whether the node is in error state
|
|
97
107
|
* @param isProcessing - Whether the node is processing
|
|
98
108
|
* @param isSelected - Whether the node is selected
|
|
99
|
-
* @returns The text color
|
|
109
|
+
* @returns The text color
|
|
100
110
|
*/
|
|
101
111
|
export declare function getNodeText(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean): string;
|
|
102
112
|
/**
|
|
103
113
|
* Get node border color
|
|
104
114
|
* @param category - The node category
|
|
105
|
-
* @param isError - Whether the node
|
|
115
|
+
* @param isError - Whether the node is in error state
|
|
106
116
|
* @param isProcessing - Whether the node is processing
|
|
107
117
|
* @param isSelected - Whether the node is selected
|
|
108
|
-
* @returns The border color
|
|
118
|
+
* @returns The border color
|
|
109
119
|
*/
|
|
110
120
|
export declare function getNodeBorder(category: NodeCategory, isError?: boolean, isProcessing?: boolean, isSelected?: boolean): string;
|
|
111
121
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
122
|
+
* Get data type color
|
|
123
|
+
* @param dataType - The data type
|
|
124
|
+
* @returns The color for the data type
|
|
114
125
|
*/
|
|
115
|
-
export declare
|
|
126
|
+
export declare function getDataTypeColor(dataType: string): string;
|
|
116
127
|
/**
|
|
117
|
-
*
|
|
118
|
-
* @param dataType - The data type string
|
|
119
|
-
* @returns
|
|
128
|
+
* Parse typed array notation and get display information
|
|
129
|
+
* @param dataType - The data type (e.g., "string[]", "number", "object[]")
|
|
130
|
+
* @returns Object with display information
|
|
120
131
|
*/
|
|
121
|
-
export declare function
|
|
132
|
+
export declare function parseDataTypeDisplay(dataType: string): {
|
|
133
|
+
baseType: string;
|
|
134
|
+
isArray: boolean;
|
|
135
|
+
displayName: string;
|
|
136
|
+
elementType?: string;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Get formatted display text for a data type
|
|
140
|
+
* @param dataType - The data type
|
|
141
|
+
* @returns Formatted display text
|
|
142
|
+
*/
|
|
143
|
+
export declare function getDataTypeDisplayText(dataType: string): string;
|
|
144
|
+
/**
|
|
145
|
+
* Check if a data type represents an array
|
|
146
|
+
* @param dataType - The data type
|
|
147
|
+
* @returns True if it's an array type
|
|
148
|
+
*/
|
|
149
|
+
export declare function isArrayDataType(dataType: string): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Get the element type from an array data type
|
|
152
|
+
* @param arrayDataType - The array data type (e.g., "string[]")
|
|
153
|
+
* @returns The element type (e.g., "string") or null if not an array
|
|
154
|
+
*/
|
|
155
|
+
export declare function getArrayElementType(arrayDataType: string): string | null;
|