@linkdlab/funcnodes_react_flow 0.4.11 → 1.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/dist/funcnodes_react_flow.css +1 -1
- package/dist/index.cjs.js +625 -371
- package/dist/index.d.ts +1816 -17
- package/dist/index.es.js +66723 -37879
- package/dist/index.umd.js +625 -371
- package/package.json +89 -70
- package/dist/browser_index.d.ts +0 -8
- package/dist/frontend/assets/fontawsome.d.ts +0 -21
- package/dist/frontend/assets/mui.d.ts +0 -8
- package/dist/frontend/datarenderer/data_renderer_overlay.d.ts +0 -3
- package/dist/frontend/datarenderer/default_data_overlay_views.d.ts +0 -6
- package/dist/frontend/datarenderer/default_data_preview_renderer.d.ts +0 -5
- package/dist/frontend/datarenderer/default_data_view_renderer.d.ts +0 -13
- package/dist/frontend/datarenderer/default_handle_previews.d.ts +0 -4
- package/dist/frontend/datarenderer/default_inline_renderer.d.ts +0 -5
- package/dist/frontend/datarenderer/default_input_renderer.d.ts +0 -17
- package/dist/frontend/datarenderer/default_output_renderer.d.ts +0 -9
- package/dist/frontend/datarenderer/images.d.ts +0 -19
- package/dist/frontend/datarenderer/rendermappings.d.ts +0 -204
- package/dist/frontend/dialog.d.ts +0 -20
- package/dist/frontend/edge.d.ts +0 -4
- package/dist/frontend/funcnodesreactflow/index.d.ts +0 -8
- package/dist/frontend/funcnodesreactflow/react_flow_layer.d.ts +0 -7
- package/dist/frontend/header/index.d.ts +0 -4
- package/dist/frontend/index.d.ts +0 -0
- package/dist/frontend/layout/components.d.ts +0 -36
- package/dist/frontend/layout/fullscreenelement.d.ts +0 -17
- package/dist/frontend/layout/smoothexpand.d.ts +0 -22
- package/dist/frontend/lib.d.ts +0 -10
- package/dist/frontend/node/body_data_renderer.d.ts +0 -3
- package/dist/frontend/node/index.d.ts +0 -4
- package/dist/frontend/node/io/handle_renderer.d.ts +0 -3
- package/dist/frontend/node/io/index.d.ts +0 -3
- package/dist/frontend/node/io/io.d.ts +0 -15
- package/dist/frontend/node/io/iodataoverlay.d.ts +0 -10
- package/dist/frontend/node/io/nodeinput.d.ts +0 -10
- package/dist/frontend/node/io/nodeoutput.d.ts +0 -6
- package/dist/frontend/node/node.d.ts +0 -25
- package/dist/frontend/node/nodesettings.d.ts +0 -3
- package/dist/frontend/utils/colorpicker.d.ts +0 -22
- package/dist/frontend/utils/jsondata.d.ts +0 -5
- package/dist/frontend/utils/progressbar.d.ts +0 -46
- package/dist/frontend/utils/select.d.ts +0 -17
- package/dist/frontend/utils/table.d.ts +0 -10
- package/dist/funcnodes/datastructures.d.ts +0 -51
- package/dist/funcnodes/funcnodesworker.d.ts +0 -147
- package/dist/funcnodes/index.d.ts +0 -4
- package/dist/funcnodes/websocketworker.d.ts +0 -45
- package/dist/funcnodes/workermanager.d.ts +0 -34
- package/dist/plugin/helper.d.ts +0 -2
- package/dist/plugin/index.d.ts +0 -7
- package/dist/plugin/v0/index.d.ts +0 -2
- package/dist/plugin/v1/index.d.ts +0 -2
- package/dist/plugin/v1/upgrader.d.ts +0 -34
- package/dist/states/edge.d.ts +0 -7
- package/dist/states/edge.t.d.ts +0 -16
- package/dist/states/fnrfzst.d.ts +0 -9
- package/dist/states/fnrfzst.t.d.ts +0 -182
- package/dist/states/index.d.ts +0 -7
- package/dist/states/lib.d.ts +0 -3
- package/dist/states/lib.t.d.ts +0 -45
- package/dist/states/node/newnode.d.ts +0 -4
- package/dist/states/node/update_funcs.d.ts +0 -9
- package/dist/states/node/update_io.d.ts +0 -3
- package/dist/states/node/update_node.d.ts +0 -6
- package/dist/states/nodespace.d.ts +0 -3
- package/dist/states/nodespace.t.d.ts +0 -16
- package/dist/states/reactflow.d.ts +0 -8
- package/dist/states/reactflow.t.d.ts +0 -11
- package/dist/types/versioned/v0/index.d.ts +0 -5
- package/dist/types/versioned/v0/io.t.d.ts +0 -29
- package/dist/types/versioned/v0/node.t.d.ts +0 -75
- package/dist/types/versioned/v0/plugins.t.d.ts +0 -37
- package/dist/types/versioned/v0/rendering.t.d.ts +0 -42
- package/dist/types/versioned/v0/rendermappings.t.d.ts +0 -27
- package/dist/types/versioned/v1/edge.t.d.ts +0 -6
- package/dist/types/versioned/v1/index.d.ts +0 -6
- package/dist/types/versioned/v1/io.t.d.ts +0 -52
- package/dist/types/versioned/v1/node.t.d.ts +0 -65
- package/dist/types/versioned/v1/plugins.t.d.ts +0 -39
- package/dist/types/versioned/v1/rendering.t.d.ts +0 -1
- package/dist/types/versioned/v1/rendermappings.t.d.ts +0 -53
- package/dist/types/versioned/versions.t.d.ts +0 -3
- package/dist/utils/autolayout/force.d.ts +0 -2
- package/dist/utils/autolayout/index.d.ts +0 -2
- package/dist/utils/autolayout/txt.d.ts +0 -15
- package/dist/utils/data.d.ts +0 -12
- package/dist/utils/debugger.d.ts +0 -5
- package/dist/utils/helperfunctions.d.ts +0 -16
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/logger.d.ts +0 -26
- package/dist/utils/objects.d.ts +0 -142
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,1816 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { Connection } from '@xyflow/react';
|
|
2
|
+
import { Edge } from '@xyflow/react';
|
|
3
|
+
import { EdgeChange } from '@xyflow/react';
|
|
4
|
+
import { JSX } from 'react';
|
|
5
|
+
import { Node as Node_2 } from '@xyflow/react';
|
|
6
|
+
import { NodeChange } from '@xyflow/react';
|
|
7
|
+
import { NodeDimensionChange } from '@xyflow/react';
|
|
8
|
+
import { NodePositionChange } from '@xyflow/react';
|
|
9
|
+
import { OnConnect } from '@xyflow/react';
|
|
10
|
+
import { OnEdgesChange } from '@xyflow/react';
|
|
11
|
+
import { OnNodesChange } from '@xyflow/react';
|
|
12
|
+
import { ReactFlowInstance } from '@xyflow/react';
|
|
13
|
+
import { StoreApi } from 'zustand';
|
|
14
|
+
import { UseBoundStore } from 'zustand';
|
|
15
|
+
import { useReactFlow } from '@xyflow/react';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Abstract base class for handler classes.
|
|
19
|
+
*/
|
|
20
|
+
declare abstract class AbstractFuncNodesReactFlowHandleHandler {
|
|
21
|
+
protected context: FuncNodesReactFlowHandlerContext;
|
|
22
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
23
|
+
protected get nodespaceManager(): NodeSpaceManager;
|
|
24
|
+
protected get libManager(): LibManager;
|
|
25
|
+
protected get workerManager(): WorkerManagerHandler;
|
|
26
|
+
protected get stateManager(): StateManagerHandler;
|
|
27
|
+
protected get pluginManager(): PluginManagerHandler;
|
|
28
|
+
protected get reactFlowManager(): ReactFlowManagerHandler;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Abstract base class for handler classes.
|
|
33
|
+
*/
|
|
34
|
+
declare abstract class AbstractWorkerHandler {
|
|
35
|
+
protected context: WorkerHandlerContext;
|
|
36
|
+
constructor(context: WorkerHandlerContext);
|
|
37
|
+
abstract start(): void;
|
|
38
|
+
abstract stop(): void;
|
|
39
|
+
protected get communicationManager(): WorkerCommunicationManager;
|
|
40
|
+
protected get eventManager(): WorkerEventManager;
|
|
41
|
+
protected get hookManager(): WorkerHookManager;
|
|
42
|
+
protected get nodeManager(): WorkerNodeManager;
|
|
43
|
+
protected get syncManager(): WorkerSyncManager;
|
|
44
|
+
protected get connectionHealthManager(): WorkerConnectionHealthManager;
|
|
45
|
+
protected get edgeManager(): WorkerEdgeManager;
|
|
46
|
+
protected get groupManager(): WorkerGroupManager;
|
|
47
|
+
protected get libraryManager(): WorkerLibraryManager;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare interface AllOf {
|
|
51
|
+
allOf: SerializedType[];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare type AnyDataType = JSONType | ArrayBufferLike;
|
|
55
|
+
|
|
56
|
+
declare interface AnyOf {
|
|
57
|
+
anyOf: SerializedType[];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export declare class ArrayBufferDataStructure extends DataStructure<ArrayBuffer, string> {
|
|
61
|
+
private _objectUrl;
|
|
62
|
+
get objectUrl(): string;
|
|
63
|
+
dispose(): void;
|
|
64
|
+
get value(): string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare interface ArrayOf {
|
|
68
|
+
type: "array";
|
|
69
|
+
items: SerializedType;
|
|
70
|
+
uniqueItems: boolean;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
declare interface AvailableModule {
|
|
74
|
+
name: string;
|
|
75
|
+
description: string;
|
|
76
|
+
homepage: string;
|
|
77
|
+
source: string;
|
|
78
|
+
version: string;
|
|
79
|
+
releases: string[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
declare interface BaseEdgeAction {
|
|
83
|
+
type: string;
|
|
84
|
+
src_nid: string;
|
|
85
|
+
src_ioid: string;
|
|
86
|
+
trg_nid: string;
|
|
87
|
+
trg_ioid: string;
|
|
88
|
+
from_remote: boolean;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
declare interface BaseGroupAction {
|
|
92
|
+
type: string;
|
|
93
|
+
id: string;
|
|
94
|
+
group: Partial<NodeGroup>;
|
|
95
|
+
from_remote: boolean;
|
|
96
|
+
immediate?: boolean;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
declare interface BaseNodeAction {
|
|
100
|
+
type: string;
|
|
101
|
+
from_remote: boolean;
|
|
102
|
+
id: string;
|
|
103
|
+
immediate?: boolean;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
declare interface BaseRenderOptions {
|
|
107
|
+
type: RenderType;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
declare type BasicDataOverlayRendererType = (props: DataOverlayRendererProps) => JSX.Element;
|
|
111
|
+
|
|
112
|
+
declare type BasicDataPreviewViewRendererType = (props: DataPreviewViewRendererProps) => JSX.Element;
|
|
113
|
+
|
|
114
|
+
declare type BasicDataViewRendererType = (props: DataViewRendererProps) => JSX.Element;
|
|
115
|
+
|
|
116
|
+
declare type BasicHandlePreviewRendererType = (props: HandlePreviewRendererProps) => JSX.Element;
|
|
117
|
+
|
|
118
|
+
declare type BasicInputRendererType = (props: InputRendererProps) => JSX.Element;
|
|
119
|
+
|
|
120
|
+
declare interface BasicIOType {
|
|
121
|
+
connected: boolean;
|
|
122
|
+
does_trigger: boolean;
|
|
123
|
+
full_id: string;
|
|
124
|
+
id: string;
|
|
125
|
+
is_input: boolean;
|
|
126
|
+
name: string;
|
|
127
|
+
node: string;
|
|
128
|
+
type: SerializedType;
|
|
129
|
+
render_options: IORenderOptions;
|
|
130
|
+
value_options?: IOValueOptions;
|
|
131
|
+
valuepreview_type?: string;
|
|
132
|
+
hidden: boolean;
|
|
133
|
+
emit_value_set: boolean;
|
|
134
|
+
default?: any;
|
|
135
|
+
required: boolean;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
declare interface BasicNodeType {
|
|
139
|
+
id: string;
|
|
140
|
+
node_id: string;
|
|
141
|
+
node_name: string;
|
|
142
|
+
name: string;
|
|
143
|
+
error?: string;
|
|
144
|
+
render_options?: DeepPartial<NodeRenderOptions>;
|
|
145
|
+
description?: string;
|
|
146
|
+
properties: NodeProperties;
|
|
147
|
+
reset_inputs_on_trigger: boolean;
|
|
148
|
+
status?: {
|
|
149
|
+
[key: string]: any | undefined;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
declare type BasicOutputRendererType = (props: OutputRendererProps) => JSX.Element;
|
|
154
|
+
|
|
155
|
+
export declare class CTypeStructure extends DataStructure<ArrayBufferLike, string | number | boolean | null> {
|
|
156
|
+
private _cType;
|
|
157
|
+
private _value;
|
|
158
|
+
constructor({ data, mime }: DataStructureProps<ArrayBufferLike>);
|
|
159
|
+
parse_value(): string | number | boolean | null;
|
|
160
|
+
get value(): string | number | boolean | null;
|
|
161
|
+
toString(): string;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export declare interface DataOverlayRendererProps {
|
|
165
|
+
value: any;
|
|
166
|
+
preValue?: any;
|
|
167
|
+
onLoaded?: () => void;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export declare type DataOverlayRendererType = BasicDataOverlayRendererType | React.MemoExoticComponent<BasicDataOverlayRendererType>;
|
|
171
|
+
|
|
172
|
+
export declare type DataPreviewViewRendererProps = {};
|
|
173
|
+
|
|
174
|
+
export declare const DataPreviewViewRendererToHandlePreviewRenderer: (DPR: DataPreviewViewRendererType) => HandlePreviewRendererType;
|
|
175
|
+
|
|
176
|
+
export declare type DataPreviewViewRendererType = BasicDataPreviewViewRendererType | React.MemoExoticComponent<BasicDataPreviewViewRendererType>;
|
|
177
|
+
|
|
178
|
+
declare interface DataRenderOptions extends BaseRenderOptions {
|
|
179
|
+
src?: string;
|
|
180
|
+
preview_type?: string;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Base class for wrapping data with MIME type information.
|
|
185
|
+
* Provides a consistent interface for accessing typed data with metadata.
|
|
186
|
+
*
|
|
187
|
+
* @template D - The type of the wrapped data, must extend AnyDataType
|
|
188
|
+
* @template R - The return type when accessing the value property, must extend JSONType or be undefined
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```typescript
|
|
192
|
+
* const textData = new DataStructure({
|
|
193
|
+
* data: "Hello World",
|
|
194
|
+
* mime: "text/plain"
|
|
195
|
+
* });
|
|
196
|
+
* console.log(textData.data); // "Hello World"
|
|
197
|
+
* console.log(textData.mime); // "text/plain"
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
export declare class DataStructure<D extends AnyDataType, R extends JSONType | undefined> {
|
|
201
|
+
/** The wrapped data */
|
|
202
|
+
private _data;
|
|
203
|
+
/** MIME type describing the data format */
|
|
204
|
+
private _mime;
|
|
205
|
+
/**
|
|
206
|
+
* Creates a new DataStructure instance.
|
|
207
|
+
*
|
|
208
|
+
* @param props - Configuration object containing data and MIME type
|
|
209
|
+
*/
|
|
210
|
+
constructor({ data, mime }: DataStructureProps<D>);
|
|
211
|
+
/**
|
|
212
|
+
* Gets the raw wrapped data.
|
|
213
|
+
*
|
|
214
|
+
* @returns The original data in its native type
|
|
215
|
+
*/
|
|
216
|
+
get data(): D;
|
|
217
|
+
/**
|
|
218
|
+
* Gets the data cast to the expected return type.
|
|
219
|
+
* This is a type assertion and should be overridden in subclasses for proper type conversion.
|
|
220
|
+
*
|
|
221
|
+
* @returns The data cast to type R
|
|
222
|
+
*/
|
|
223
|
+
get value(): R;
|
|
224
|
+
/**
|
|
225
|
+
* Gets the MIME type of the wrapped data.
|
|
226
|
+
*
|
|
227
|
+
* @returns The MIME type string
|
|
228
|
+
*/
|
|
229
|
+
get mime(): string;
|
|
230
|
+
/**
|
|
231
|
+
* Returns a string representation of the DataStructure.
|
|
232
|
+
* The format varies based on the data type:
|
|
233
|
+
* - ArrayBuffer: shows byte length
|
|
234
|
+
* - Blob: shows size
|
|
235
|
+
* - String/Array: shows length
|
|
236
|
+
* - Object: shows number of keys
|
|
237
|
+
* - Other types: shows only MIME type
|
|
238
|
+
*
|
|
239
|
+
* @returns String representation in format "DataStructure(size,mime)" or "DataStructure(mime)"
|
|
240
|
+
*/
|
|
241
|
+
toString(): string;
|
|
242
|
+
/**
|
|
243
|
+
* Returns the JSON representation of this DataStructure.
|
|
244
|
+
* Currently delegates to toString() method.
|
|
245
|
+
*
|
|
246
|
+
* @returns JSON string representation
|
|
247
|
+
*/
|
|
248
|
+
toJSON(): string;
|
|
249
|
+
/**
|
|
250
|
+
* Cleans up resources associated with this DataStructure.
|
|
251
|
+
* Base implementation does nothing, but subclasses may override to release resources.
|
|
252
|
+
*/
|
|
253
|
+
dispose(): void;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Properties for constructing a DataStructure instance.
|
|
258
|
+
*
|
|
259
|
+
* @template D - The type of data being wrapped, must extend AnyDataType
|
|
260
|
+
*/
|
|
261
|
+
declare type DataStructureProps<D extends AnyDataType> = {
|
|
262
|
+
/** The actual data to be wrapped */
|
|
263
|
+
data: D;
|
|
264
|
+
/** MIME type string describing the data format */
|
|
265
|
+
mime: string;
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
export declare type DataViewRendererProps = {
|
|
269
|
+
value: JSONType | undefined;
|
|
270
|
+
preValue?: JSONType | undefined;
|
|
271
|
+
onLoaded?: () => void;
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
export declare const DataViewRendererToDataPreviewViewRenderer: (DV: DataViewRendererType, defaultValue?: any, props?: any) => DataPreviewViewRendererType;
|
|
275
|
+
|
|
276
|
+
export declare const DataViewRendererToInputRenderer: (DV: DataViewRendererType, defaultValue?: any) => InputRendererType;
|
|
277
|
+
|
|
278
|
+
export declare const DataViewRendererToOverlayRenderer: (DV: DataViewRendererType) => DataOverlayRendererType;
|
|
279
|
+
|
|
280
|
+
export declare type DataViewRendererType = BasicDataViewRendererType | React.MemoExoticComponent<BasicDataViewRendererType>;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* A utility type that makes all properties of an object type T optional recursively.
|
|
284
|
+
*
|
|
285
|
+
* This type is similar to TypeScript's built-in `Partial<T>`, but it applies the optional
|
|
286
|
+
* modifier recursively to all nested objects and their properties. This is particularly
|
|
287
|
+
* useful when you want to create partial updates or configurations where any level of
|
|
288
|
+
* nesting can be optionally specified.
|
|
289
|
+
*
|
|
290
|
+
* @template T - The type to make deeply partial. Can be any type, but the transformation
|
|
291
|
+
* only applies meaningfully to object types.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```typescript
|
|
295
|
+
* interface Config {
|
|
296
|
+
* app: {
|
|
297
|
+
* name: string;
|
|
298
|
+
* version: string;
|
|
299
|
+
* features: {
|
|
300
|
+
* darkMode: boolean;
|
|
301
|
+
* notifications: boolean;
|
|
302
|
+
* };
|
|
303
|
+
* };
|
|
304
|
+
* user: {
|
|
305
|
+
* id: number;
|
|
306
|
+
* preferences: {
|
|
307
|
+
* language: string;
|
|
308
|
+
* theme: string;
|
|
309
|
+
* };
|
|
310
|
+
* };
|
|
311
|
+
* }
|
|
312
|
+
*
|
|
313
|
+
* // All properties at all levels become optional
|
|
314
|
+
* type PartialConfig = DeepPartial<Config>;
|
|
315
|
+
*
|
|
316
|
+
* // Valid partial configurations:
|
|
317
|
+
* const config1: PartialConfig = {}; // Empty object
|
|
318
|
+
* const config2: PartialConfig = { app: { name: "MyApp" } }; // Partial app config
|
|
319
|
+
* const config3: PartialConfig = {
|
|
320
|
+
* user: {
|
|
321
|
+
* preferences: { language: "en" }
|
|
322
|
+
* }
|
|
323
|
+
* }; // Deeply nested partial
|
|
324
|
+
* ```
|
|
325
|
+
*
|
|
326
|
+
* @example
|
|
327
|
+
* ```typescript
|
|
328
|
+
* // With primitive types, the type remains unchanged
|
|
329
|
+
* type PartialString = DeepPartial<string>; // string
|
|
330
|
+
* type PartialNumber = DeepPartial<number>; // number
|
|
331
|
+
* type PartialBoolean = DeepPartial<boolean>; // boolean
|
|
332
|
+
*
|
|
333
|
+
* // With arrays, the array itself becomes optional but elements keep their type
|
|
334
|
+
* type PartialArray = DeepPartial<string[]>; // string[] | undefined
|
|
335
|
+
* ```
|
|
336
|
+
*
|
|
337
|
+
* @note This type uses conditional types and mapped types to recursively apply the
|
|
338
|
+
* optional modifier. For non-object types (primitives, functions, etc.), the
|
|
339
|
+
* original type is returned unchanged.
|
|
340
|
+
*
|
|
341
|
+
* @note Arrays are treated as objects, so `DeepPartial<T[]>` results in `T[]?` rather
|
|
342
|
+
* than `(DeepPartial<T>)[]?`. If you need the array elements to also be deeply
|
|
343
|
+
* partial, consider using a more specialized type.
|
|
344
|
+
*
|
|
345
|
+
* @see LimitedDeepPartial - A depth-limited version of this type to prevent infinite recursion
|
|
346
|
+
* @see deep_merge - Function that works well with DeepPartial types for object merging
|
|
347
|
+
* @see deep_update - Function that accepts DeepPartial-like objects for updating
|
|
348
|
+
*/
|
|
349
|
+
declare type DeepPartial<T> = T extends object ? {
|
|
350
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
351
|
+
} : T;
|
|
352
|
+
|
|
353
|
+
declare interface DevSettings {
|
|
354
|
+
debug: boolean;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
declare interface DictOf {
|
|
358
|
+
type: "object";
|
|
359
|
+
keys: SerializedType;
|
|
360
|
+
values: SerializedType;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
declare type EdgeAction = EdgeActionAdd | EdgeActionDelete;
|
|
364
|
+
|
|
365
|
+
declare interface EdgeActionAdd extends BaseEdgeAction {
|
|
366
|
+
type: "add";
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
declare interface EdgeActionDelete extends BaseEdgeAction {
|
|
370
|
+
type: "delete";
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
declare interface EnumOf {
|
|
374
|
+
type: "enum";
|
|
375
|
+
values: (number | string | boolean | null)[];
|
|
376
|
+
keys: string[];
|
|
377
|
+
nullable: boolean;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
declare interface ErrorMessage {
|
|
381
|
+
type: "error";
|
|
382
|
+
error: string;
|
|
383
|
+
tb: string[];
|
|
384
|
+
id?: string;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
declare interface ExternalWorkerClassDep {
|
|
388
|
+
module: string;
|
|
389
|
+
class_name: string;
|
|
390
|
+
name: string;
|
|
391
|
+
instances: ExternalWorkerInstance[];
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
declare interface ExternalWorkerDependencies {
|
|
395
|
+
module: string;
|
|
396
|
+
worker_classes: ExternalWorkerClassDep[];
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
declare interface ExternalWorkerInstance {
|
|
400
|
+
uuid: string;
|
|
401
|
+
nodeclassid: string;
|
|
402
|
+
running: boolean;
|
|
403
|
+
name: string;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
declare class FuncNodesReactFlow implements FuncNodesReactFlowZustandInterface {
|
|
407
|
+
options: FuncnodesReactFlowProps;
|
|
408
|
+
reactflowRef: HTMLDivElement | null;
|
|
409
|
+
logger: Logger;
|
|
410
|
+
dev_settings: DevSettings;
|
|
411
|
+
private _nodespaceManager;
|
|
412
|
+
private _libManager;
|
|
413
|
+
private _workerManager;
|
|
414
|
+
private _stateManager;
|
|
415
|
+
private _pluginManager;
|
|
416
|
+
private _reactFlowManager;
|
|
417
|
+
constructor(props: FuncnodesReactFlowProps);
|
|
418
|
+
getNodespaceManager(): NodeSpaceManager;
|
|
419
|
+
getLibManager(): LibManager;
|
|
420
|
+
getWorkerManager(): WorkerManagerHandler;
|
|
421
|
+
getStateManager(): StateManagerHandler;
|
|
422
|
+
getPluginManager(): PluginManagerHandler;
|
|
423
|
+
getReactFlowManager(): ReactFlowManagerHandler;
|
|
424
|
+
get nodespace(): NodeSpaceZustandInterface;
|
|
425
|
+
get on_node_action(): (action: NodeAction) => NodeType | undefined;
|
|
426
|
+
get on_edge_action(): (action: EdgeAction) => void;
|
|
427
|
+
get on_group_action(): (action: GroupAction) => void;
|
|
428
|
+
get clear_all(): () => void;
|
|
429
|
+
get center_node(): (node_id: string | string[]) => void;
|
|
430
|
+
get center_all(): () => void;
|
|
431
|
+
get lib(): LibZustandInterface;
|
|
432
|
+
get set_worker(): (worker: FuncNodesWorker | undefined) => void;
|
|
433
|
+
get workermanager(): WorkerManagerHandler["workermanager"];
|
|
434
|
+
set workermanager(manager: WorkerManagerHandler["workermanager"]);
|
|
435
|
+
get worker(): FuncNodesWorker | undefined;
|
|
436
|
+
get workers(): UseBoundStore<StoreApi<WorkersState>>;
|
|
437
|
+
get workerstate(): UseBoundStore<StoreApi<FuncNodesWorkerState>>;
|
|
438
|
+
get _unsubscribeFromWorker(): (() => void) | undefined;
|
|
439
|
+
get set_progress(): (progress: ProgressState) => void;
|
|
440
|
+
get auto_progress(): () => void;
|
|
441
|
+
get progress_state(): UseBoundStore<StoreApi<ProgressState>>;
|
|
442
|
+
get local_settings(): UseBoundStore<StoreApi<FuncnodesReactFlowLocalSettings>>;
|
|
443
|
+
get local_state(): UseBoundStore<StoreApi<FuncnodesReactFlowLocalState>>;
|
|
444
|
+
update_view_settings(settings: FuncnodesReactFlowViewSettings): void;
|
|
445
|
+
get plugins(): UseBoundStore<StoreApi<{
|
|
446
|
+
[key: string]: FuncNodesReactPlugin | undefined;
|
|
447
|
+
}>>;
|
|
448
|
+
get add_plugin(): (name: string, plugin: VersionedFuncNodesReactPlugin) => void;
|
|
449
|
+
get add_packed_plugin(): (name: string, plugin: PackedPlugin) => Promise<void>;
|
|
450
|
+
get render_options(): UseBoundStore<StoreApi<RenderOptions>>;
|
|
451
|
+
get update_render_options(): (options: RenderOptions) => void;
|
|
452
|
+
get useReactFlowStore(): RFStore;
|
|
453
|
+
get rf_instance(): ReactFlowManagerHandler["rf_instance"];
|
|
454
|
+
set rf_instance(instance: ReactFlowManagerHandler["rf_instance"]);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Defines the required context for handler classes, providing access
|
|
459
|
+
* to the parent worker instance.
|
|
460
|
+
*/
|
|
461
|
+
declare interface FuncNodesReactFlowHandlerContext {
|
|
462
|
+
rf: FuncNodesReactFlow;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
declare interface FuncnodesReactFlowLocalSettings {
|
|
466
|
+
view_settings: FuncnodesReactFlowViewSettings;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
declare interface FuncnodesReactFlowLocalState {
|
|
470
|
+
selected_nodes: string[];
|
|
471
|
+
selected_edges: string[];
|
|
472
|
+
selected_groups: string[];
|
|
473
|
+
funcnodescontainerRef: HTMLDivElement | null;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
declare interface FuncnodesReactFlowProps {
|
|
477
|
+
id: string;
|
|
478
|
+
debug: boolean;
|
|
479
|
+
on_sync_complete?: (worker: FuncNodesWorker) => Promise<void>;
|
|
480
|
+
useWorkerManager: boolean;
|
|
481
|
+
show_library: boolean;
|
|
482
|
+
load_worker?: string;
|
|
483
|
+
worker?: FuncNodesWorker;
|
|
484
|
+
header: FuncnodesReactHeaderProps;
|
|
485
|
+
flow: ReactFlowLayerProps;
|
|
486
|
+
library: ReactFlowLibraryProps;
|
|
487
|
+
worker_url?: string;
|
|
488
|
+
fnw_url?: string;
|
|
489
|
+
workermanager_url?: string;
|
|
490
|
+
logger?: Logger;
|
|
491
|
+
on_ready?: ({ fnrf_zst }: {
|
|
492
|
+
fnrf_zst: FuncNodesReactFlow;
|
|
493
|
+
}) => void;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
declare interface FuncnodesReactFlowViewSettings {
|
|
497
|
+
expand_node_props?: boolean;
|
|
498
|
+
expand_lib?: boolean;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
declare interface FuncNodesReactFlowZustandInterface {
|
|
502
|
+
options: FuncnodesReactFlowProps;
|
|
503
|
+
local_settings: UseBoundStore<StoreApi<FuncnodesReactFlowLocalSettings>>;
|
|
504
|
+
update_view_settings: (settings: FuncnodesReactFlowViewSettings) => void;
|
|
505
|
+
local_state: UseBoundStore<StoreApi<FuncnodesReactFlowLocalState>>;
|
|
506
|
+
lib: LibZustandInterface;
|
|
507
|
+
workermanager: WorkerManager | undefined;
|
|
508
|
+
workers: UseBoundStore<StoreApi<WorkersState>>;
|
|
509
|
+
workerstate: UseBoundStore<StoreApi<FuncNodesWorkerState>>;
|
|
510
|
+
worker: FuncNodesWorker | undefined;
|
|
511
|
+
set_worker: (worker: FuncNodesWorker | undefined) => void;
|
|
512
|
+
_unsubscribeFromWorker: (() => void) | undefined;
|
|
513
|
+
nodespace: NodeSpaceZustandInterface;
|
|
514
|
+
useReactFlowStore: RFStore;
|
|
515
|
+
render_options: UseBoundStore<StoreApi<RenderOptions>>;
|
|
516
|
+
progress_state: UseBoundStore<StoreApi<ProgressState>>;
|
|
517
|
+
update_render_options: (options: RenderOptions) => void;
|
|
518
|
+
rf_instance?: ReturnType<typeof useReactFlow>;
|
|
519
|
+
on_node_action: (action: NodeAction) => NodeType | undefined;
|
|
520
|
+
on_edge_action: (edge: EdgeAction) => void;
|
|
521
|
+
on_group_action: (group: GroupAction) => void;
|
|
522
|
+
set_progress: (progress: ProgressState) => void;
|
|
523
|
+
auto_progress: () => void;
|
|
524
|
+
plugins: UseBoundStore<StoreApi<{
|
|
525
|
+
[key: string]: FuncNodesReactPlugin | undefined;
|
|
526
|
+
}>>;
|
|
527
|
+
add_plugin: (name: string, plugin: FuncNodesReactPlugin) => void;
|
|
528
|
+
reactflowRef: HTMLDivElement | null;
|
|
529
|
+
clear_all: () => void;
|
|
530
|
+
center_node: (node_id: string | string[]) => void;
|
|
531
|
+
center_all: () => void;
|
|
532
|
+
dev_settings: DevSettings;
|
|
533
|
+
logger: Logger;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
declare interface FuncnodesReactHeaderProps {
|
|
537
|
+
show: boolean;
|
|
538
|
+
showmenu: boolean;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
export declare type FuncNodesReactPlugin = VersionedFuncNodesReactPlugin<typeof LATEST_VERSION>;
|
|
542
|
+
|
|
543
|
+
export declare const FuncNodesRenderer: (id_or_element: string | HTMLElement, options?: Partial<FuncnodesReactFlowProps>) => void;
|
|
544
|
+
|
|
545
|
+
declare class FuncNodesWorker {
|
|
546
|
+
_zustand?: FuncNodesReactFlow;
|
|
547
|
+
uuid: string;
|
|
548
|
+
private _connectionhealthManager;
|
|
549
|
+
private _communicationManager;
|
|
550
|
+
private _eventManager;
|
|
551
|
+
private _syncManager;
|
|
552
|
+
private _hookManager;
|
|
553
|
+
private _nodeManager;
|
|
554
|
+
private _edgeManager;
|
|
555
|
+
private _groupManager;
|
|
556
|
+
private _libraryManager;
|
|
557
|
+
getEventManager(): WorkerEventManager;
|
|
558
|
+
getSyncManager(): WorkerSyncManager;
|
|
559
|
+
getCommunicationManager(): WorkerCommunicationManager;
|
|
560
|
+
getConnectionHealthManager(): WorkerConnectionHealthManager;
|
|
561
|
+
getHookManager(): WorkerHookManager;
|
|
562
|
+
getNodeManager(): WorkerNodeManager;
|
|
563
|
+
getEdgeManager(): WorkerEdgeManager;
|
|
564
|
+
getGroupManager(): WorkerGroupManager;
|
|
565
|
+
getLibraryManager(): WorkerLibraryManager;
|
|
566
|
+
state: UseBoundStore<StoreApi<FuncNodesWorkerState>>;
|
|
567
|
+
readonly api: WorkerAPI;
|
|
568
|
+
on_error: (error: any) => void;
|
|
569
|
+
constructor(data: WorkerProps);
|
|
570
|
+
set_zustand(zustand: FuncNodesReactFlow): void;
|
|
571
|
+
get is_open(): boolean;
|
|
572
|
+
set is_open(v: boolean);
|
|
573
|
+
get is_responsive(): boolean;
|
|
574
|
+
clear(): Promise<any>;
|
|
575
|
+
save(): Promise<any>;
|
|
576
|
+
load(data: any): Promise<void>;
|
|
577
|
+
get_runstate(): Promise<any>;
|
|
578
|
+
send(_data: any): Promise<void>;
|
|
579
|
+
upload_file(_params: {
|
|
580
|
+
files: File[] | FileList;
|
|
581
|
+
onProgressCallback?: (loaded: number, total?: number) => void;
|
|
582
|
+
root?: string;
|
|
583
|
+
}): Promise<string>;
|
|
584
|
+
handle_large_message_hint({}: LargeMessageHint): Promise<void>;
|
|
585
|
+
disconnect(): void;
|
|
586
|
+
onclose(): void;
|
|
587
|
+
reconnect(): Promise<void>;
|
|
588
|
+
stop(): Promise<void>;
|
|
589
|
+
update_external_worker(worker_id: string, class_id: string, data: {
|
|
590
|
+
name?: string;
|
|
591
|
+
}): Promise<any>;
|
|
592
|
+
export({ withFiles }: {
|
|
593
|
+
withFiles: boolean;
|
|
594
|
+
}): Promise<any>;
|
|
595
|
+
update_from_export(data: string): Promise<any>;
|
|
596
|
+
/**
|
|
597
|
+
* @deprecated This method is deprecated. Use the API or getCommunicationManager()._send_cmd directly instead.
|
|
598
|
+
*/
|
|
599
|
+
_send_cmd(params: Parameters<WorkerCommunicationManager["_send_cmd"]>[0]): Promise<any>;
|
|
600
|
+
/**
|
|
601
|
+
* @deprecated This method is deprecated. Use the API or getNodeManager().set_io_value directly instead.
|
|
602
|
+
*/
|
|
603
|
+
set_io_value(params: Parameters<WorkerNodeManagerAPI["set_io_value"]>[0]): Promise<any>;
|
|
604
|
+
/**
|
|
605
|
+
* @deprecated This method is deprecated. Use the API or getNodeManager().get_io_value directly instead.
|
|
606
|
+
*/
|
|
607
|
+
get_io_value(params: Parameters<WorkerNodeManagerAPI["get_io_value"]>[0]): Promise<any>;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
declare interface FuncNodesWorkerState {
|
|
611
|
+
is_open: boolean;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
declare type GroupAction = GroupActionSet | GroupActionUpdate;
|
|
615
|
+
|
|
616
|
+
declare interface GroupActionSet {
|
|
617
|
+
type: "set";
|
|
618
|
+
groups: NodeGroups;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
declare interface GroupActionUpdate extends BaseGroupAction {
|
|
622
|
+
type: "update";
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
declare interface GroupedAvailableModules {
|
|
626
|
+
installed: AvailableModule[];
|
|
627
|
+
available: AvailableModule[];
|
|
628
|
+
active: AvailableModule[];
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
export declare type HandlePreviewRendererProps = {};
|
|
632
|
+
|
|
633
|
+
export declare type HandlePreviewRendererType = BasicHandlePreviewRendererType | React.MemoExoticComponent<BasicHandlePreviewRendererType>;
|
|
634
|
+
|
|
635
|
+
export declare interface InLineRendererProps {
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
export declare type InLineRendererType = ({}: InLineRendererProps) => string;
|
|
639
|
+
|
|
640
|
+
export declare type InputRendererProps = {
|
|
641
|
+
inputconverter: [(v: any) => any, (v: any) => any];
|
|
642
|
+
};
|
|
643
|
+
|
|
644
|
+
export declare type InputRendererType = BasicInputRendererType | React.MemoExoticComponent<BasicInputRendererType>;
|
|
645
|
+
|
|
646
|
+
declare type IOGetFullValue = () => Promise<any> | undefined;
|
|
647
|
+
|
|
648
|
+
declare interface IORenderOptions extends BaseRenderOptions {
|
|
649
|
+
set_default: boolean;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
declare interface IOStore {
|
|
653
|
+
io_state: UseJSONStore<IOType>;
|
|
654
|
+
use(): IOType;
|
|
655
|
+
use<U>(selector: (state: IOType) => U): U;
|
|
656
|
+
useShallow<U>(selector: (state: IOType) => U): U;
|
|
657
|
+
getState: () => IOType;
|
|
658
|
+
setState: (new_state: Partial<IOType>) => void;
|
|
659
|
+
update: (new_state: PartialSerializedIOType) => void;
|
|
660
|
+
valuestore: UseBoundStore<StoreApi<ValueStoreInterface>>;
|
|
661
|
+
node: string;
|
|
662
|
+
updateValueStore: (newData: Partial<ValueStoreInterface>) => void;
|
|
663
|
+
serialize: () => SerializedIOType;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
declare interface IOType extends BasicIOType {
|
|
667
|
+
[key: string]: any | undefined;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
declare interface IOValueOptions {
|
|
671
|
+
min?: number;
|
|
672
|
+
max?: number;
|
|
673
|
+
step?: number;
|
|
674
|
+
options?: (string | number)[] | EnumOf;
|
|
675
|
+
colorspace?: string;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
declare type IOValueOptionsSetter = (data: {
|
|
679
|
+
values?: any[];
|
|
680
|
+
keys: string[];
|
|
681
|
+
nullable?: boolean;
|
|
682
|
+
}) => void;
|
|
683
|
+
|
|
684
|
+
declare type IOValueType = string | number | boolean | undefined | DataStructure<any, any>;
|
|
685
|
+
|
|
686
|
+
declare type JSONMessage = ProgressStateMessage | ResultMessage | ErrorMessage | NodeSpaceEvent | WorkerEvent | LargeMessageHint | PongMessage;
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* Union type representing all supported data types for DataStructure instances.
|
|
690
|
+
* Includes primitive types and ArrayBufferLike for binary data.
|
|
691
|
+
*/
|
|
692
|
+
declare interface JSONObject {
|
|
693
|
+
[key: string]: JSONType;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export declare class JSONStructure extends DataStructure<ArrayBufferLike, JSONType | undefined> {
|
|
697
|
+
private _json;
|
|
698
|
+
constructor({ data, mime }: DataStructureProps<any>);
|
|
699
|
+
get value(): JSONType | undefined;
|
|
700
|
+
static fromObject(obj: JSONType): JSONStructure;
|
|
701
|
+
toString(): string;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
declare type JSONType = string | number | boolean | null | JSONObject | JSONType[];
|
|
705
|
+
|
|
706
|
+
declare interface LargeMessageHint {
|
|
707
|
+
type: "large_message";
|
|
708
|
+
msg_id: string;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
export declare const LATEST_VERSION = "1.0.0";
|
|
712
|
+
|
|
713
|
+
declare class LibManager extends AbstractFuncNodesReactFlowHandleHandler implements LibManagerManagerAPI {
|
|
714
|
+
lib: LibZustandInterface;
|
|
715
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
declare interface LibManagerManagerAPI {
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
declare interface LibNode {
|
|
722
|
+
node_id: string;
|
|
723
|
+
description?: string;
|
|
724
|
+
node_name?: string;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
declare interface LibState {
|
|
728
|
+
lib: LibType;
|
|
729
|
+
external_worker?: ExternalWorkerDependencies[];
|
|
730
|
+
set: (state: {
|
|
731
|
+
lib?: LibType;
|
|
732
|
+
external_worker?: ExternalWorkerDependencies[];
|
|
733
|
+
}) => void;
|
|
734
|
+
get_lib: () => LibType;
|
|
735
|
+
get_external_worker: () => ExternalWorkerDependencies[] | undefined;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
declare interface LibType {
|
|
739
|
+
shelves: Shelf[];
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
declare interface LibZustandInterface {
|
|
743
|
+
libstate: UseBoundStore<StoreApi<LibState>>;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* A depth-limited version of DeepPartial that prevents infinite recursion by limiting
|
|
748
|
+
* the depth of the optional property transformation.
|
|
749
|
+
*
|
|
750
|
+
* This type is similar to `DeepPartial<T>` but includes a recursion depth limit to prevent
|
|
751
|
+
* TypeScript from hitting infinite recursion errors when dealing with circular type references
|
|
752
|
+
* or very deeply nested object structures. Once the depth limit is reached, the original
|
|
753
|
+
* type T is returned without further transformation.
|
|
754
|
+
*
|
|
755
|
+
* @template T - The type to make deeply partial with depth limitation
|
|
756
|
+
* @template D - The maximum recursion depth (defaults to 10). Must be a number literal type
|
|
757
|
+
* from the Prev array. When D reaches 0, recursion stops and T is returned as-is.
|
|
758
|
+
*
|
|
759
|
+
* @example
|
|
760
|
+
* ```typescript
|
|
761
|
+
* interface DeepConfig {
|
|
762
|
+
* level1: {
|
|
763
|
+
* level2: {
|
|
764
|
+
* level3: {
|
|
765
|
+
* value: string;
|
|
766
|
+
* nested: DeepConfig; // Circular reference
|
|
767
|
+
* };
|
|
768
|
+
* };
|
|
769
|
+
* };
|
|
770
|
+
* }
|
|
771
|
+
*
|
|
772
|
+
* // Safe to use with circular references due to depth limit
|
|
773
|
+
* type PartialConfig = LimitedDeepPartial<DeepConfig, 5>;
|
|
774
|
+
*
|
|
775
|
+
* // Usage examples
|
|
776
|
+
* const config1: PartialConfig = {}; // Valid
|
|
777
|
+
* const config2: PartialConfig = {
|
|
778
|
+
* level1: {
|
|
779
|
+
* level2: {
|
|
780
|
+
* level3: { value: "test" }
|
|
781
|
+
* }
|
|
782
|
+
* }
|
|
783
|
+
* }; // Valid - within depth limit
|
|
784
|
+
* ```
|
|
785
|
+
*
|
|
786
|
+
* @example
|
|
787
|
+
* ```typescript
|
|
788
|
+
* // Controlling recursion depth
|
|
789
|
+
* type ShallowPartial = LimitedDeepPartial<MyType, 2>; // Only 2 levels deep
|
|
790
|
+
* type DeepPartial = LimitedDeepPartial<MyType, 15>; // 15 levels deep
|
|
791
|
+
* type DefaultPartial = LimitedDeepPartial<MyType>; // 10 levels deep (default)
|
|
792
|
+
* ```
|
|
793
|
+
*
|
|
794
|
+
* @note The depth parameter D must be a literal number type that exists in the Prev array.
|
|
795
|
+
* The Prev array defines the available depth values (0-99 in this implementation).
|
|
796
|
+
*
|
|
797
|
+
* @note When the depth limit is reached (D extends 0), the type transformation stops
|
|
798
|
+
* and the original type T is returned. This means properties at that depth and
|
|
799
|
+
* beyond will retain their original required/optional status.
|
|
800
|
+
*
|
|
801
|
+
* @note This type is particularly useful when working with recursive data structures,
|
|
802
|
+
* tree-like objects, or any scenario where DeepPartial might cause TypeScript
|
|
803
|
+
* compilation issues due to infinite recursion.
|
|
804
|
+
*
|
|
805
|
+
* @see DeepPartial - The unlimited depth version of this type
|
|
806
|
+
* @see Prev - The helper type array that defines available depth values
|
|
807
|
+
* @see deep_update - Function that works with LimitedDeepPartial types
|
|
808
|
+
*/
|
|
809
|
+
declare type LimitedDeepPartial<T, D extends number = 10> = D extends 0 ? T : T extends object ? {
|
|
810
|
+
[K in keyof T]?: LimitedDeepPartial<T[K], Prev[D]>;
|
|
811
|
+
} : T;
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* Logger interface and utilities for structured logging across the application.
|
|
815
|
+
*
|
|
816
|
+
* This module provides a flexible logging system with multiple output targets
|
|
817
|
+
* and configurable log levels. The logging interface supports lazy formatting
|
|
818
|
+
* through keyword arguments and circular reference handling.
|
|
819
|
+
*
|
|
820
|
+
* @module Logger
|
|
821
|
+
*/
|
|
822
|
+
/**
|
|
823
|
+
* Logger interface defining the contract for all logger implementations.
|
|
824
|
+
*
|
|
825
|
+
* The log functions take a string message and arbitrary number of keyword arguments
|
|
826
|
+
* that are used for lazy formatting when the log level permits output.
|
|
827
|
+
*
|
|
828
|
+
* @interface Logger
|
|
829
|
+
* @example
|
|
830
|
+
* ```typescript
|
|
831
|
+
* const logger: Logger = new ConsoleLogger("MyApp", INFO);
|
|
832
|
+
* logger.info("User logged in", { userId: 123, timestamp: Date.now() });
|
|
833
|
+
* logger.error("Database connection failed", error);
|
|
834
|
+
* ```
|
|
835
|
+
*/
|
|
836
|
+
declare interface Logger {
|
|
837
|
+
/**
|
|
838
|
+
* Current logging level. Messages below this level will be filtered out.
|
|
839
|
+
* @type {number}
|
|
840
|
+
*/
|
|
841
|
+
level: number;
|
|
842
|
+
/**
|
|
843
|
+
* Set the logging level for this logger instance.
|
|
844
|
+
*
|
|
845
|
+
* @param {number | string} level - The minimum log level to output (DEBUG=0, INFO=10, WARN=20, ERROR=30) or string level name
|
|
846
|
+
* @example
|
|
847
|
+
* ```typescript
|
|
848
|
+
* logger.set_level(DEBUG); // Show all messages
|
|
849
|
+
* logger.set_level("ERROR"); // Show only error messages
|
|
850
|
+
* logger.set_level("debug"); // Case-insensitive string levels
|
|
851
|
+
* ```
|
|
852
|
+
*/
|
|
853
|
+
set_level: (level: number | string) => void;
|
|
854
|
+
/**
|
|
855
|
+
* Log a debug message. Only outputs if current level <= DEBUG.
|
|
856
|
+
*
|
|
857
|
+
* @param {string} message - The primary log message
|
|
858
|
+
* @param {...any[]} args - Additional arguments for context (will be JSON serialized)
|
|
859
|
+
* @example
|
|
860
|
+
* ```typescript
|
|
861
|
+
* logger.debug("Processing item", { itemId: 42, step: "validation" });
|
|
862
|
+
* ```
|
|
863
|
+
*/
|
|
864
|
+
debug: (message: string, ...args: any[]) => void;
|
|
865
|
+
/**
|
|
866
|
+
* Log an informational message. Only outputs if current level <= INFO.
|
|
867
|
+
*
|
|
868
|
+
* @param {string} message - The primary log message
|
|
869
|
+
* @param {...any[]} args - Additional arguments for context (will be JSON serialized)
|
|
870
|
+
* @example
|
|
871
|
+
* ```typescript
|
|
872
|
+
* logger.info("User action completed", { action: "save", duration: "120ms" });
|
|
873
|
+
* ```
|
|
874
|
+
*/
|
|
875
|
+
info: (message: string, ...args: any[]) => void;
|
|
876
|
+
/**
|
|
877
|
+
* Log a warning message. Only outputs if current level <= WARN.
|
|
878
|
+
*
|
|
879
|
+
* @param {string} message - The primary log message
|
|
880
|
+
* @param {...any[]} args - Additional arguments for context (will be JSON serialized)
|
|
881
|
+
* @example
|
|
882
|
+
* ```typescript
|
|
883
|
+
* logger.warn("Deprecated API usage", { api: "/old-endpoint", replacement: "/v2/endpoint" });
|
|
884
|
+
* ```
|
|
885
|
+
*/
|
|
886
|
+
warn: (message: string, ...args: any[]) => void;
|
|
887
|
+
/**
|
|
888
|
+
* Log an error message. Only outputs if current level <= ERROR.
|
|
889
|
+
*
|
|
890
|
+
* @param {string} message - The primary log message
|
|
891
|
+
* @param {Error} [error] - Optional Error object for stack trace handling
|
|
892
|
+
* @example
|
|
893
|
+
* ```typescript
|
|
894
|
+
* logger.error("Operation failed", error);
|
|
895
|
+
* ```
|
|
896
|
+
*/
|
|
897
|
+
error: (message: string, error?: Error) => void;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
declare type NodeAction = NodeActionAdd | NodeActionUpdate | NodeActionDelete | NodeActionError | NodeActionTrigger;
|
|
901
|
+
|
|
902
|
+
declare interface NodeActionAdd extends BaseNodeAction {
|
|
903
|
+
type: "add";
|
|
904
|
+
node: SerializedNodeType;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
declare interface NodeActionDelete extends BaseNodeAction {
|
|
908
|
+
type: "delete";
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
declare interface NodeActionError extends BaseNodeAction {
|
|
912
|
+
type: "error";
|
|
913
|
+
errortype: string;
|
|
914
|
+
error: string;
|
|
915
|
+
tb?: string;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
declare interface NodeActionTrigger extends BaseNodeAction {
|
|
919
|
+
type: "trigger";
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
declare interface NodeActionUpdate extends BaseNodeAction {
|
|
923
|
+
type: "update";
|
|
924
|
+
node: PartialSerializedNodeType;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
declare interface NodeGroup {
|
|
928
|
+
node_ids: string[];
|
|
929
|
+
child_groups: string[];
|
|
930
|
+
parent_group: string | null;
|
|
931
|
+
meta: Record<string, any>;
|
|
932
|
+
position: [number, number];
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
declare interface NodeGroups {
|
|
936
|
+
[key: string]: NodeGroup;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
export declare type NodeHooksProps = {};
|
|
940
|
+
|
|
941
|
+
export declare type NodeHooksType = (hookprops: NodeHooksProps) => JSX.Element;
|
|
942
|
+
|
|
943
|
+
declare interface NodeProperties {
|
|
944
|
+
"frontend:size": [number, number];
|
|
945
|
+
"frontend:pos": [number, number];
|
|
946
|
+
"frontend:collapsed": boolean;
|
|
947
|
+
[key: string]: any | undefined;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
export declare interface NodeRendererProps {
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
export declare type NodeRendererType = (renderprops: NodeRendererProps) => JSX.Element;
|
|
954
|
+
|
|
955
|
+
declare interface NodeRenderOptions {
|
|
956
|
+
data?: DataRenderOptions;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
declare interface NodeSpaceEvent {
|
|
960
|
+
type: "nsevent";
|
|
961
|
+
event: string;
|
|
962
|
+
data: {
|
|
963
|
+
[key: string]: any | undefined;
|
|
964
|
+
};
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
declare class NodeSpaceManager extends AbstractFuncNodesReactFlowHandleHandler implements NodeSpaceManagerAPI {
|
|
968
|
+
nodespace: NodeSpaceZustandInterface;
|
|
969
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
970
|
+
on_node_action: (action: NodeAction) => NodeType | undefined;
|
|
971
|
+
on_edge_action: (action: EdgeAction) => void;
|
|
972
|
+
on_group_action: (action: GroupAction) => void;
|
|
973
|
+
clear_all: () => void;
|
|
974
|
+
center_node: (node_id: string | string[]) => void;
|
|
975
|
+
center_all(): void;
|
|
976
|
+
auto_resize_group: (gid: string) => void;
|
|
977
|
+
change_group_position: (change: NodePositionChange) => void;
|
|
978
|
+
change_fn_node_position: (change: NodePositionChange) => void;
|
|
979
|
+
change_group_dimensions: (change: NodeDimensionChange) => void;
|
|
980
|
+
change_fn_node_dimensions: (change: NodeDimensionChange) => void;
|
|
981
|
+
_update_group: (action: GroupActionUpdate) => void;
|
|
982
|
+
_set_groups: (groups: NodeGroups) => void;
|
|
983
|
+
_add_node: (action: NodeActionAdd) => NodeType | undefined;
|
|
984
|
+
_update_node: (action: NodeActionUpdate) => NodeType | undefined;
|
|
985
|
+
/**
|
|
986
|
+
* Sync the nodes between the nodespace and the react zustand
|
|
987
|
+
* This is needed because e.g. deleting a node removes it from the react zustand but the nodespace still has it
|
|
988
|
+
* so we need to sync the nodes between the two
|
|
989
|
+
*/
|
|
990
|
+
_sync_nodes: () => void;
|
|
991
|
+
_delete_node: (action: NodeActionDelete) => undefined;
|
|
992
|
+
_error_action: (action: NodeActionError) => NodeType | undefined;
|
|
993
|
+
_trigger_action: (action: NodeActionTrigger) => NodeType | undefined;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
declare interface NodeSpaceManagerAPI {
|
|
997
|
+
on_node_action: (action: NodeAction) => NodeType | undefined;
|
|
998
|
+
on_edge_action: (edge: EdgeAction) => void;
|
|
999
|
+
on_group_action: (group: GroupAction) => void;
|
|
1000
|
+
clear_all: () => void;
|
|
1001
|
+
center_node: (node_id: string | string[]) => void;
|
|
1002
|
+
center_all: () => void;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
declare interface NodeSpaceZustandInterface {
|
|
1006
|
+
nodesstates: Map<string, NodeStore>;
|
|
1007
|
+
get_node: (nid: string, raise?: boolean) => NodeStore | undefined;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
declare interface NodeStore {
|
|
1011
|
+
node_state: UseJSONStore<NodeType>;
|
|
1012
|
+
io_stores: Map<string, IOStore>;
|
|
1013
|
+
use(): NodeType;
|
|
1014
|
+
use<U>(selector: (state: NodeType) => U): U;
|
|
1015
|
+
useShallow<U>(selector: (state: NodeType) => U): U;
|
|
1016
|
+
getState: () => NodeType;
|
|
1017
|
+
setState: (new_state: Partial<NodeType>) => void;
|
|
1018
|
+
update: (new_state: PartialSerializedNodeType) => void;
|
|
1019
|
+
serialize: () => SerializedNodeType;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
declare interface NodeType extends Omit<BasicNodeType, "in_trigger" | "io"> {
|
|
1023
|
+
in_trigger: boolean;
|
|
1024
|
+
inputs: string[];
|
|
1025
|
+
outputs: string[];
|
|
1026
|
+
io_order: string[];
|
|
1027
|
+
progress: DeepPartial<TqdmState>;
|
|
1028
|
+
[key: string]: any;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
export declare type OutputRendererProps = {};
|
|
1032
|
+
|
|
1033
|
+
export declare type OutputRendererType = BasicOutputRendererType | React.MemoExoticComponent<BasicOutputRendererType>;
|
|
1034
|
+
|
|
1035
|
+
declare interface PackedPlugin {
|
|
1036
|
+
module: string;
|
|
1037
|
+
js?: string[];
|
|
1038
|
+
css?: string[];
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
declare type PartialSerializedIOType = LimitedDeepPartial<SerializedIOType>;
|
|
1042
|
+
|
|
1043
|
+
declare type PartialSerializedNodeType = LimitedDeepPartial<SerializedNodeType>;
|
|
1044
|
+
|
|
1045
|
+
declare class PluginManagerHandler extends AbstractFuncNodesReactFlowHandleHandler implements PluginManagerManagerAPI {
|
|
1046
|
+
plugins: UseBoundStore<StoreApi<{
|
|
1047
|
+
[key: string]: FuncNodesReactPlugin | undefined;
|
|
1048
|
+
}>>;
|
|
1049
|
+
render_options: UseBoundStore<StoreApi<RenderOptions>>;
|
|
1050
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
1051
|
+
add_plugin(name: string, plugin: VersionedFuncNodesReactPlugin): void;
|
|
1052
|
+
update_render_options(options: RenderOptions): void;
|
|
1053
|
+
add_packed_plugin(name: string, plugin: PackedPlugin): Promise<void>;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
declare interface PluginManagerManagerAPI {
|
|
1057
|
+
plugins: UseBoundStore<StoreApi<{
|
|
1058
|
+
[key: string]: FuncNodesReactPlugin | undefined;
|
|
1059
|
+
}>>;
|
|
1060
|
+
add_plugin: (name: string, plugin: FuncNodesReactPlugin) => void;
|
|
1061
|
+
add_packed_plugin: (name: string, plugin: PackedPlugin) => void;
|
|
1062
|
+
render_options: UseBoundStore<StoreApi<RenderOptions>>;
|
|
1063
|
+
update_render_options: (options: RenderOptions) => void;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
declare interface PongMessage {
|
|
1067
|
+
type: "pong";
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
/**
|
|
1071
|
+
* A helper type array used to track and control recursion depth in type operations.
|
|
1072
|
+
*
|
|
1073
|
+
* This type provides a lookup table for decremental recursion depth values, where each
|
|
1074
|
+
* index maps to the previous number in the sequence. This is used by LimitedDeepPartial
|
|
1075
|
+
* and other recursive type operations to prevent infinite recursion by counting down
|
|
1076
|
+
* from a maximum depth to zero.
|
|
1077
|
+
*
|
|
1078
|
+
* @example
|
|
1079
|
+
* ```typescript
|
|
1080
|
+
* // Usage in recursive type (internal to LimitedDeepPartial)
|
|
1081
|
+
* type DecrementDepth<D extends number> = Prev[D]; // Prev[5] = 4, Prev[4] = 3, etc.
|
|
1082
|
+
* ```
|
|
1083
|
+
*
|
|
1084
|
+
* @note The array contains values from 'never' at index 0 to 99 at index 100.
|
|
1085
|
+
* Index 0 maps to 'never' which effectively terminates recursion.
|
|
1086
|
+
* Indexes 1-100 map to their predecessor (1→0, 2→1, 3→2, etc.).
|
|
1087
|
+
*
|
|
1088
|
+
* @see LimitedDeepPartial - Primary consumer of this type for depth-limited recursion
|
|
1089
|
+
*/
|
|
1090
|
+
declare type Prev = [
|
|
1091
|
+
never,
|
|
1092
|
+
0,
|
|
1093
|
+
1,
|
|
1094
|
+
2,
|
|
1095
|
+
3,
|
|
1096
|
+
4,
|
|
1097
|
+
5,
|
|
1098
|
+
6,
|
|
1099
|
+
7,
|
|
1100
|
+
8,
|
|
1101
|
+
9,
|
|
1102
|
+
10,
|
|
1103
|
+
11,
|
|
1104
|
+
12,
|
|
1105
|
+
13,
|
|
1106
|
+
14,
|
|
1107
|
+
15,
|
|
1108
|
+
16,
|
|
1109
|
+
17,
|
|
1110
|
+
18,
|
|
1111
|
+
19,
|
|
1112
|
+
20,
|
|
1113
|
+
21,
|
|
1114
|
+
22,
|
|
1115
|
+
23,
|
|
1116
|
+
24,
|
|
1117
|
+
25,
|
|
1118
|
+
26,
|
|
1119
|
+
27,
|
|
1120
|
+
28,
|
|
1121
|
+
29,
|
|
1122
|
+
30,
|
|
1123
|
+
31,
|
|
1124
|
+
32,
|
|
1125
|
+
33,
|
|
1126
|
+
34,
|
|
1127
|
+
35,
|
|
1128
|
+
36,
|
|
1129
|
+
37,
|
|
1130
|
+
38,
|
|
1131
|
+
39,
|
|
1132
|
+
40,
|
|
1133
|
+
41,
|
|
1134
|
+
42,
|
|
1135
|
+
43,
|
|
1136
|
+
44,
|
|
1137
|
+
45,
|
|
1138
|
+
46,
|
|
1139
|
+
47,
|
|
1140
|
+
48,
|
|
1141
|
+
49,
|
|
1142
|
+
50,
|
|
1143
|
+
51,
|
|
1144
|
+
52,
|
|
1145
|
+
53,
|
|
1146
|
+
54,
|
|
1147
|
+
55,
|
|
1148
|
+
56,
|
|
1149
|
+
57,
|
|
1150
|
+
58,
|
|
1151
|
+
59,
|
|
1152
|
+
60,
|
|
1153
|
+
61,
|
|
1154
|
+
62,
|
|
1155
|
+
63,
|
|
1156
|
+
64,
|
|
1157
|
+
65,
|
|
1158
|
+
66,
|
|
1159
|
+
67,
|
|
1160
|
+
68,
|
|
1161
|
+
69,
|
|
1162
|
+
70,
|
|
1163
|
+
71,
|
|
1164
|
+
72,
|
|
1165
|
+
73,
|
|
1166
|
+
74,
|
|
1167
|
+
75,
|
|
1168
|
+
76,
|
|
1169
|
+
77,
|
|
1170
|
+
78,
|
|
1171
|
+
79,
|
|
1172
|
+
80,
|
|
1173
|
+
81,
|
|
1174
|
+
82,
|
|
1175
|
+
83,
|
|
1176
|
+
84,
|
|
1177
|
+
85,
|
|
1178
|
+
86,
|
|
1179
|
+
87,
|
|
1180
|
+
88,
|
|
1181
|
+
89,
|
|
1182
|
+
90,
|
|
1183
|
+
91,
|
|
1184
|
+
92,
|
|
1185
|
+
93,
|
|
1186
|
+
94,
|
|
1187
|
+
95,
|
|
1188
|
+
96,
|
|
1189
|
+
97,
|
|
1190
|
+
98,
|
|
1191
|
+
99
|
|
1192
|
+
];
|
|
1193
|
+
|
|
1194
|
+
declare interface ProgressState {
|
|
1195
|
+
message: string;
|
|
1196
|
+
status: string;
|
|
1197
|
+
progress: number;
|
|
1198
|
+
blocking: boolean;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
declare interface ProgressStateMessage extends ProgressState {
|
|
1202
|
+
type: "progress";
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
declare interface ReactFlowLayerProps {
|
|
1206
|
+
minimap: boolean;
|
|
1207
|
+
static: boolean;
|
|
1208
|
+
minZoom: number;
|
|
1209
|
+
maxZoom: number;
|
|
1210
|
+
allowFullScreen: boolean;
|
|
1211
|
+
allowExpand: boolean;
|
|
1212
|
+
showNodeSettings: boolean;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
declare interface ReactFlowLibraryProps {
|
|
1216
|
+
show: boolean;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
declare class ReactFlowManagerHandler extends AbstractFuncNodesReactFlowHandleHandler implements ReactFlowManagerManagerAPI {
|
|
1220
|
+
useReactFlowStore: RFStore;
|
|
1221
|
+
rf_instance?: ReactFlowInstance<Node_2, Edge> | undefined;
|
|
1222
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
1223
|
+
on_rf_node_change: (nodechange: NodeChange[]) => void;
|
|
1224
|
+
on_rf_edge_change: (_edgechange: EdgeChange[]) => void;
|
|
1225
|
+
on_connect: (connection: Connection) => void;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
declare interface ReactFlowManagerManagerAPI {
|
|
1229
|
+
useReactFlowStore: RFStore;
|
|
1230
|
+
rf_instance?: ReactFlowInstance<Node_2, Edge> | undefined;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
export declare interface RendererPlugin {
|
|
1234
|
+
input_renderers?: {
|
|
1235
|
+
[key: string]: InputRendererType | undefined;
|
|
1236
|
+
};
|
|
1237
|
+
output_renderers?: {
|
|
1238
|
+
[key: string]: OutputRendererType | undefined;
|
|
1239
|
+
};
|
|
1240
|
+
handle_preview_renderers?: {
|
|
1241
|
+
[key: string]: HandlePreviewRendererType | undefined;
|
|
1242
|
+
};
|
|
1243
|
+
data_overlay_renderers?: {
|
|
1244
|
+
[key: string]: DataOverlayRendererType | undefined;
|
|
1245
|
+
};
|
|
1246
|
+
data_preview_renderers?: {
|
|
1247
|
+
[key: string]: DataPreviewViewRendererType | undefined;
|
|
1248
|
+
};
|
|
1249
|
+
data_view_renderers?: {
|
|
1250
|
+
[key: string]: DataViewRendererType | undefined;
|
|
1251
|
+
};
|
|
1252
|
+
node_renderers?: {
|
|
1253
|
+
[key: string]: NodeRendererType | undefined;
|
|
1254
|
+
};
|
|
1255
|
+
node_hooks?: {
|
|
1256
|
+
[key: string]: NodeHooksType[] | undefined;
|
|
1257
|
+
};
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
declare interface RenderOptions {
|
|
1261
|
+
typemap?: {
|
|
1262
|
+
[key: string]: string | undefined;
|
|
1263
|
+
};
|
|
1264
|
+
inputconverter?: {
|
|
1265
|
+
[key: string]: string | undefined;
|
|
1266
|
+
};
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
export declare type RenderPluginFactoryProps = {};
|
|
1270
|
+
|
|
1271
|
+
declare type RenderType = "string" | "number" | "boolean" | "image" | "any" | SerializedType;
|
|
1272
|
+
|
|
1273
|
+
declare interface ResultMessage {
|
|
1274
|
+
type: "result";
|
|
1275
|
+
id?: string;
|
|
1276
|
+
result: any;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
declare type RFState = {
|
|
1280
|
+
_nodes: Node_2[];
|
|
1281
|
+
_edges: Edge[];
|
|
1282
|
+
_nodes_map: Map<string, Node_2>;
|
|
1283
|
+
update_nodes: (nodes: Node_2[]) => void;
|
|
1284
|
+
partial_update_nodes: (nodes: Node_2[]) => void;
|
|
1285
|
+
update_edges: (edges: Edge[]) => void;
|
|
1286
|
+
onNodesChange: OnNodesChange;
|
|
1287
|
+
onEdgesChange: OnEdgesChange;
|
|
1288
|
+
onConnect: OnConnect;
|
|
1289
|
+
getNode: (id: string) => Node_2 | undefined;
|
|
1290
|
+
getNodes: () => Node_2[];
|
|
1291
|
+
getEdges: () => Edge[];
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
declare type RFStore = UseBoundStore<StoreApi<RFState>>;
|
|
1295
|
+
|
|
1296
|
+
declare interface SerializedIOType extends BasicIOType {
|
|
1297
|
+
value: IOValueType;
|
|
1298
|
+
fullvalue: IOValueType;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
declare type SerializedNodeIOMappingType = {
|
|
1302
|
+
[key: string]: SerializedIOType | undefined;
|
|
1303
|
+
};
|
|
1304
|
+
|
|
1305
|
+
declare interface SerializedNodeType extends BasicNodeType {
|
|
1306
|
+
in_trigger: boolean;
|
|
1307
|
+
io: SerializedNodeIOMappingType | SerializedIOType[];
|
|
1308
|
+
io_order?: string[];
|
|
1309
|
+
progress: DeepPartial<TqdmState>;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
declare type SerializedType = string | AllOf | AnyOf | ArrayOf | DictOf | EnumOf | TypeOf;
|
|
1313
|
+
|
|
1314
|
+
declare interface Shelf {
|
|
1315
|
+
name: string;
|
|
1316
|
+
description?: string;
|
|
1317
|
+
nodes: LibNode[];
|
|
1318
|
+
subshelves: Shelf[];
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
declare class StateManagerHandler extends AbstractFuncNodesReactFlowHandleHandler implements StateManagerManagerAPI {
|
|
1322
|
+
progress_state: UseBoundStore<StoreApi<ProgressState>>;
|
|
1323
|
+
local_settings: UseBoundStore<StoreApi<FuncnodesReactFlowLocalSettings>>;
|
|
1324
|
+
local_state: UseBoundStore<StoreApi<FuncnodesReactFlowLocalState>>;
|
|
1325
|
+
toaster?: ToastDispatcher;
|
|
1326
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
1327
|
+
set_progress(progress: ProgressState): void;
|
|
1328
|
+
auto_progress(): void;
|
|
1329
|
+
update_view_settings(settings: FuncnodesReactFlowViewSettings): void;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
declare interface StateManagerManagerAPI {
|
|
1333
|
+
set_progress: (progress: ProgressState) => void;
|
|
1334
|
+
auto_progress: () => void;
|
|
1335
|
+
toast?: ToastDispatcher;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
export declare class TextStructure extends DataStructure<ArrayBufferLike, string> {
|
|
1339
|
+
private _value;
|
|
1340
|
+
constructor({ data, mime }: DataStructureProps<ArrayBufferLike>);
|
|
1341
|
+
get value(): string;
|
|
1342
|
+
toString(): string;
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
declare type ToastDispatcher = {
|
|
1346
|
+
(payload: ToastPayload): void;
|
|
1347
|
+
success: (payload: ToastPayload) => void;
|
|
1348
|
+
error: (payload: ToastPayload) => void;
|
|
1349
|
+
};
|
|
1350
|
+
|
|
1351
|
+
declare interface ToastPayload {
|
|
1352
|
+
title?: string;
|
|
1353
|
+
description: string;
|
|
1354
|
+
status?: ToastStatus;
|
|
1355
|
+
type?: ToastType;
|
|
1356
|
+
duration?: number;
|
|
1357
|
+
action?: {
|
|
1358
|
+
label: string;
|
|
1359
|
+
altText: string;
|
|
1360
|
+
onClick: () => void;
|
|
1361
|
+
};
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
declare type ToastStatus = 'default' | 'success' | 'error';
|
|
1365
|
+
|
|
1366
|
+
declare type ToastType = 'foreground' | 'background';
|
|
1367
|
+
|
|
1368
|
+
/**
|
|
1369
|
+
* Interface representing the state of a tqdm progress bar.
|
|
1370
|
+
*
|
|
1371
|
+
* Notes on each field:
|
|
1372
|
+
* - `n`: Current iteration count.
|
|
1373
|
+
* - `total`: Total number of iterations if known, `null` otherwise.
|
|
1374
|
+
* - `elapsed`: Time elapsed in seconds since the start of iteration.
|
|
1375
|
+
* - `ncols`: Number of columns for the progress bar. If `null`, not dynamically determined.
|
|
1376
|
+
* - `nrows`: Number of rows. Usually `null` as `tqdm` typically focuses on columns.
|
|
1377
|
+
* - `prefix`: Description string provided to `tqdm` via `desc`.
|
|
1378
|
+
* - `ascii`: Whether to use ASCII characters for the bar or a custom set of ASCII characters.
|
|
1379
|
+
* Can be `true`, `false`, or a string specifying the characters.
|
|
1380
|
+
* - `unit`: Iteration unit (e.g., 'it', 'steps', 'items').
|
|
1381
|
+
* - `unit_scale`: If `true`, `tqdm` scales the iteration values.
|
|
1382
|
+
* If a number, `tqdm` uses it as a scaling factor.
|
|
1383
|
+
* - `rate`: Current rate of iteration (iterations/second). `null` if rate cannot be computed.
|
|
1384
|
+
* - `bar_format`: Custom format string for the bar. If `null`, the default format is used.
|
|
1385
|
+
* - `postfix`: Additional data appended to the bar. Could be a string or an object passed via `set_postfix()`.
|
|
1386
|
+
* - `unit_divisor`: Divisor used when scaling units (e.g., 1000 or 1024).
|
|
1387
|
+
* - `initial`: Initial counter value if specified, else `null`.
|
|
1388
|
+
* - `colour`: Colour for the progress bar if supported, else `null`.
|
|
1389
|
+
*/
|
|
1390
|
+
declare interface TqdmState {
|
|
1391
|
+
n: number;
|
|
1392
|
+
total?: number;
|
|
1393
|
+
elapsed: number;
|
|
1394
|
+
ncols?: number;
|
|
1395
|
+
nrows?: number;
|
|
1396
|
+
prefix?: string;
|
|
1397
|
+
ascii: boolean | string;
|
|
1398
|
+
unit: string;
|
|
1399
|
+
unit_scale: boolean | number;
|
|
1400
|
+
rate?: number;
|
|
1401
|
+
bar_format?: string;
|
|
1402
|
+
postfix?: string | Record<string, unknown>;
|
|
1403
|
+
unit_divisor: number;
|
|
1404
|
+
initial?: number;
|
|
1405
|
+
colour?: string;
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
declare interface TypeOf {
|
|
1409
|
+
type: "type";
|
|
1410
|
+
value: SerializedType;
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
declare interface UpdateableIOOptions {
|
|
1414
|
+
name?: string;
|
|
1415
|
+
hidden?: boolean;
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
export declare const useFuncNodesContext: () => FuncNodesReactFlow;
|
|
1419
|
+
|
|
1420
|
+
export declare function useIOGetFullValue(): IOGetFullValue | undefined;
|
|
1421
|
+
|
|
1422
|
+
export declare function useIOGetFullValue(io: string): IOGetFullValue | undefined;
|
|
1423
|
+
|
|
1424
|
+
export declare function useIOGetFullValue(io: string | undefined): IOGetFullValue | undefined;
|
|
1425
|
+
|
|
1426
|
+
export declare function useIOStore(): IOStore;
|
|
1427
|
+
|
|
1428
|
+
export declare function useIOStore(io: string): IOStore | undefined;
|
|
1429
|
+
|
|
1430
|
+
export declare function useIOStore(io: string | undefined): IOStore | undefined;
|
|
1431
|
+
|
|
1432
|
+
export declare function useIOValueStore(): ValueStoreInterface;
|
|
1433
|
+
|
|
1434
|
+
export declare function useIOValueStore(io: string): ValueStoreInterface | undefined;
|
|
1435
|
+
|
|
1436
|
+
export declare function useIOValueStore(io: string | undefined): ValueStoreInterface | undefined;
|
|
1437
|
+
|
|
1438
|
+
declare type UseJSONStore<T extends JSONObject> = UseBoundStore<StoreApi<T>>;
|
|
1439
|
+
|
|
1440
|
+
export declare const useNodeStore: () => NodeStore;
|
|
1441
|
+
|
|
1442
|
+
export declare function useSetIOValue(): (value: any, set_default?: boolean) => void;
|
|
1443
|
+
|
|
1444
|
+
export declare function useSetIOValue(io: string): (value: any, set_default?: boolean) => void;
|
|
1445
|
+
|
|
1446
|
+
export declare function useSetIOValue(io: IOType): (value: any, set_default?: boolean) => void;
|
|
1447
|
+
|
|
1448
|
+
export declare function useSetIOValueOptions(): IOValueOptionsSetter;
|
|
1449
|
+
|
|
1450
|
+
export declare function useSetIOValueOptions(io: string): IOValueOptionsSetter;
|
|
1451
|
+
|
|
1452
|
+
export declare function useSetIOValueOptions(io: IOType): IOValueOptionsSetter;
|
|
1453
|
+
|
|
1454
|
+
export declare const useWorkerApi: () => {
|
|
1455
|
+
node: WorkerNodeManagerAPI | undefined;
|
|
1456
|
+
group: WorkerGroupManagerAPI | undefined;
|
|
1457
|
+
edge: WorkerEdgeManagerAPI | undefined;
|
|
1458
|
+
hooks: WorkerHookManagerAPI | undefined;
|
|
1459
|
+
lib: WorkerLibraryManagerAPI | undefined;
|
|
1460
|
+
worker: FuncNodesWorker | undefined;
|
|
1461
|
+
};
|
|
1462
|
+
|
|
1463
|
+
declare interface ValueStoreInterface {
|
|
1464
|
+
preview: DataStructure<AnyDataType, JSONType | undefined> | undefined;
|
|
1465
|
+
full: DataStructure<AnyDataType, JSONType | undefined> | undefined;
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
export declare interface VersionedFuncNodesReactPlugin<V extends string = string> {
|
|
1469
|
+
renderpluginfactory?: (props: RenderPluginFactoryProps) => RendererPlugin;
|
|
1470
|
+
v: V;
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
declare type WorkerAPI = {
|
|
1474
|
+
node: WorkerNodeManagerAPI;
|
|
1475
|
+
group: WorkerGroupManagerAPI;
|
|
1476
|
+
edge: WorkerEdgeManagerAPI;
|
|
1477
|
+
hooks: WorkerHookManagerAPI;
|
|
1478
|
+
lib: WorkerLibraryManagerAPI;
|
|
1479
|
+
};
|
|
1480
|
+
|
|
1481
|
+
declare class WorkerCommunicationManager extends AbstractWorkerHandler {
|
|
1482
|
+
private CHUNK_TIMEOUT;
|
|
1483
|
+
private _unique_cmd_outs;
|
|
1484
|
+
private messagePromises;
|
|
1485
|
+
private _chunk_cleanup_timer;
|
|
1486
|
+
private blobChunks;
|
|
1487
|
+
constructor(context: WorkerHandlerContext);
|
|
1488
|
+
private cleanupChunks;
|
|
1489
|
+
start(): void;
|
|
1490
|
+
stop(): void;
|
|
1491
|
+
send(data: any): void;
|
|
1492
|
+
_send_cmd({ cmd, kwargs, as_bytes, wait_for_response, response_timeout, retries, unique, }: {
|
|
1493
|
+
cmd: string;
|
|
1494
|
+
kwargs?: any;
|
|
1495
|
+
wait_for_response?: boolean;
|
|
1496
|
+
response_timeout?: number;
|
|
1497
|
+
as_bytes?: boolean;
|
|
1498
|
+
retries?: number;
|
|
1499
|
+
unique?: boolean;
|
|
1500
|
+
}): Promise<any>;
|
|
1501
|
+
receive(data: JSONMessage): Promise<any>;
|
|
1502
|
+
recieve_bytes(headerObj: {
|
|
1503
|
+
[key: string]: string | undefined;
|
|
1504
|
+
}, bytes: Uint8Array): Promise<void>;
|
|
1505
|
+
onbytes(data: Uint8Array): Promise<void>;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
declare class WorkerConnectionHealthManager extends AbstractWorkerHandler {
|
|
1509
|
+
private _responsive;
|
|
1510
|
+
private _last_pong;
|
|
1511
|
+
private pingInterval;
|
|
1512
|
+
private responsivenessCheckInterval;
|
|
1513
|
+
constructor(context: WorkerHandlerContext);
|
|
1514
|
+
start(): void;
|
|
1515
|
+
stop(): void;
|
|
1516
|
+
receivePong(): void;
|
|
1517
|
+
isResponsive(): boolean;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
declare class WorkerEdgeManager extends AbstractWorkerHandler implements WorkerEdgeManagerAPI {
|
|
1521
|
+
start(): void;
|
|
1522
|
+
stop(): void;
|
|
1523
|
+
add_edge({ src_nid, src_ioid, trg_nid, trg_ioid, replace, }: {
|
|
1524
|
+
src_nid: string;
|
|
1525
|
+
src_ioid: string;
|
|
1526
|
+
trg_nid: string;
|
|
1527
|
+
trg_ioid: string;
|
|
1528
|
+
replace?: boolean;
|
|
1529
|
+
}): Promise<any>;
|
|
1530
|
+
remove_edge({ src_nid, src_ioid, trg_nid, trg_ioid, }: {
|
|
1531
|
+
src_nid: string;
|
|
1532
|
+
src_ioid: string;
|
|
1533
|
+
trg_nid: string;
|
|
1534
|
+
trg_ioid: string;
|
|
1535
|
+
}): Promise<any>;
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
declare interface WorkerEdgeManagerAPI {
|
|
1539
|
+
add_edge: (params: {
|
|
1540
|
+
src_nid: string;
|
|
1541
|
+
src_ioid: string;
|
|
1542
|
+
trg_nid: string;
|
|
1543
|
+
trg_ioid: string;
|
|
1544
|
+
replace?: boolean;
|
|
1545
|
+
}) => any;
|
|
1546
|
+
remove_edge: (params: {
|
|
1547
|
+
src_nid: string;
|
|
1548
|
+
src_ioid: string;
|
|
1549
|
+
trg_nid: string;
|
|
1550
|
+
trg_ioid: string;
|
|
1551
|
+
}) => any;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
declare interface WorkerEvent {
|
|
1555
|
+
type: "workerevent";
|
|
1556
|
+
event: string;
|
|
1557
|
+
data: {
|
|
1558
|
+
[key: string]: any | undefined;
|
|
1559
|
+
};
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
declare class WorkerEventManager extends AbstractWorkerHandler {
|
|
1563
|
+
private _ns_event_intercepts;
|
|
1564
|
+
start(): void;
|
|
1565
|
+
stop(): void;
|
|
1566
|
+
_receive_edge_added(src_nid: string, src_ioid: string, trg_nid: string, trg_ioid: string): Promise<void>;
|
|
1567
|
+
_receive_groups(groups: NodeGroups): Promise<void>;
|
|
1568
|
+
_receive_node_added(data: SerializedNodeType): Promise<NodeType | undefined>;
|
|
1569
|
+
receive_workerevent({ event, data }: WorkerEvent): Promise<void>;
|
|
1570
|
+
intercept_ns_event(event: NodeSpaceEvent): Promise<NodeSpaceEvent>;
|
|
1571
|
+
receive_nodespace_event(ns_event: NodeSpaceEvent): Promise<void | NodeType>;
|
|
1572
|
+
add_ns_event_intercept(hook: string, callback: (event: NodeSpaceEvent) => Promise<NodeSpaceEvent>): () => void;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
declare class WorkerGroupManager extends AbstractWorkerHandler implements WorkerGroupManagerAPI {
|
|
1576
|
+
start(): void;
|
|
1577
|
+
stop(): void;
|
|
1578
|
+
group_nodes(nodeIds: string[], group_ids: string[]): Promise<NodeGroups>;
|
|
1579
|
+
remove_group(gid: string): Promise<void>;
|
|
1580
|
+
locally_update_group(action: GroupActionUpdate): void;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
declare interface WorkerGroupManagerAPI {
|
|
1584
|
+
group_nodes: (nodeIds: string[], group_ids: string[]) => Promise<NodeGroups>;
|
|
1585
|
+
remove_group: (gid: string) => Promise<void>;
|
|
1586
|
+
locally_update_group: (action: GroupActionUpdate) => void;
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
/**
|
|
1590
|
+
* Defines the required context for handler classes, providing access
|
|
1591
|
+
* to the parent worker instance.
|
|
1592
|
+
*/
|
|
1593
|
+
declare interface WorkerHandlerContext {
|
|
1594
|
+
worker: FuncNodesWorker;
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
declare class WorkerHookManager extends AbstractWorkerHandler implements WorkerHookManagerAPI {
|
|
1598
|
+
_hooks: Map<string, ((p: WorkerHookProperties) => Promise<void>)[]>;
|
|
1599
|
+
start(): void;
|
|
1600
|
+
stop(): void;
|
|
1601
|
+
add_hook(hook: string, callback: (p: WorkerHookProperties) => Promise<void>): () => void;
|
|
1602
|
+
call_hooks(hook: string, data?: any): Promise<void>;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
declare interface WorkerHookManagerAPI {
|
|
1606
|
+
add_hook: (hook: string, callback: (p: WorkerHookProperties) => Promise<void>) => () => void;
|
|
1607
|
+
call_hooks: (hook: string, data?: any) => Promise<void>;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
declare interface WorkerHookProperties {
|
|
1611
|
+
worker: FuncNodesWorker;
|
|
1612
|
+
data: any;
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
declare class WorkerLibraryManager extends AbstractWorkerHandler implements WorkerLibraryManagerAPI {
|
|
1616
|
+
start(): void;
|
|
1617
|
+
stop(): void;
|
|
1618
|
+
add_external_worker({ module, cls_module, cls_name, }: {
|
|
1619
|
+
module: string;
|
|
1620
|
+
cls_module: string;
|
|
1621
|
+
cls_name: string;
|
|
1622
|
+
}): Promise<any>;
|
|
1623
|
+
add_lib(lib: string, release: string): Promise<any>;
|
|
1624
|
+
remove_lib(lib: string): Promise<any>;
|
|
1625
|
+
get_available_modules(): Promise<GroupedAvailableModules>;
|
|
1626
|
+
remove_external_worker(worker_id: string, class_id: string): Promise<any>;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
declare interface WorkerLibraryManagerAPI {
|
|
1630
|
+
add_external_worker: (params: {
|
|
1631
|
+
module: string;
|
|
1632
|
+
cls_module: string;
|
|
1633
|
+
cls_name: string;
|
|
1634
|
+
}) => Promise<void>;
|
|
1635
|
+
add_lib: (lib: string, release: string) => Promise<void>;
|
|
1636
|
+
remove_lib: (lib: string) => Promise<void>;
|
|
1637
|
+
get_available_modules: () => Promise<GroupedAvailableModules>;
|
|
1638
|
+
remove_external_worker: (worker_id: string, class_id: string) => Promise<void>;
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
declare class WorkerManager {
|
|
1642
|
+
private _wsuri;
|
|
1643
|
+
private workers;
|
|
1644
|
+
private ws;
|
|
1645
|
+
private reconnectAttempts;
|
|
1646
|
+
private maxReconnectAttempts;
|
|
1647
|
+
private initialTimeout;
|
|
1648
|
+
private maxTimeout;
|
|
1649
|
+
private zustand;
|
|
1650
|
+
private connectionTimeout?;
|
|
1651
|
+
on_setWorker: (worker: FuncNodesWorker | undefined) => void;
|
|
1652
|
+
constructor(wsuri: string, zustand: FuncNodesReactFlow);
|
|
1653
|
+
get wsuri(): string;
|
|
1654
|
+
get open(): boolean;
|
|
1655
|
+
private connect;
|
|
1656
|
+
on_ws_error(): void;
|
|
1657
|
+
onopen(): void;
|
|
1658
|
+
onmessage(event: string): void;
|
|
1659
|
+
setWorker(worker: FuncNodesWorker | undefined): void;
|
|
1660
|
+
restart_worker(workerid: string): Promise<void>;
|
|
1661
|
+
private calculateReconnectTimeout;
|
|
1662
|
+
private reconnect;
|
|
1663
|
+
onclose(): void;
|
|
1664
|
+
set_active(workerid: string): void;
|
|
1665
|
+
new_worker({ name, reference, copyLib, copyNS, in_venv, }: {
|
|
1666
|
+
name?: string;
|
|
1667
|
+
reference?: string;
|
|
1668
|
+
copyLib?: boolean;
|
|
1669
|
+
copyNS?: boolean;
|
|
1670
|
+
in_venv?: boolean;
|
|
1671
|
+
}): void;
|
|
1672
|
+
remove(): void;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
declare class WorkerManagerHandler extends AbstractFuncNodesReactFlowHandleHandler implements WorkerManagerManagerAPI {
|
|
1676
|
+
worker: FuncNodesWorker | undefined;
|
|
1677
|
+
workermanager: WorkerManager | undefined;
|
|
1678
|
+
workers: UseBoundStore<StoreApi<WorkersState>>;
|
|
1679
|
+
workerstate: UseBoundStore<StoreApi<FuncNodesWorkerState>>;
|
|
1680
|
+
_unsubscribeFromWorker: (() => void) | undefined;
|
|
1681
|
+
constructor(context: FuncNodesReactFlowHandlerContext);
|
|
1682
|
+
set_worker(worker: FuncNodesWorker | undefined): void;
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
declare interface WorkerManagerManagerAPI {
|
|
1686
|
+
set_worker: (worker: FuncNodesWorker | undefined) => void;
|
|
1687
|
+
}
|
|
1688
|
+
|
|
1689
|
+
declare class WorkerNodeManager extends AbstractWorkerHandler implements WorkerNodeManagerAPI {
|
|
1690
|
+
start(): void;
|
|
1691
|
+
stop(): void;
|
|
1692
|
+
trigger_node(node_id: string): Promise<void>;
|
|
1693
|
+
add_node(node_id: string): Promise<NodeType | undefined>;
|
|
1694
|
+
remove_node(node_id: string): Promise<void>;
|
|
1695
|
+
locally_update_node(action: NodeActionUpdate): void;
|
|
1696
|
+
set_io_value({ nid, ioid, value, set_default, }: {
|
|
1697
|
+
nid: string;
|
|
1698
|
+
ioid: string;
|
|
1699
|
+
value: any;
|
|
1700
|
+
set_default: boolean;
|
|
1701
|
+
}): Promise<any>;
|
|
1702
|
+
set_io_value_options({ nid, ioid, values, keys, nullable, }: {
|
|
1703
|
+
nid: string;
|
|
1704
|
+
ioid: string;
|
|
1705
|
+
values: any[];
|
|
1706
|
+
keys: string[];
|
|
1707
|
+
nullable: boolean;
|
|
1708
|
+
}): Promise<any>;
|
|
1709
|
+
get_io_value({ nid, ioid }: {
|
|
1710
|
+
nid: string;
|
|
1711
|
+
ioid: string;
|
|
1712
|
+
}): Promise<any>;
|
|
1713
|
+
get_ios_values({ nid }: {
|
|
1714
|
+
nid: string;
|
|
1715
|
+
}): Promise<{
|
|
1716
|
+
[ioid: string]: any;
|
|
1717
|
+
}>;
|
|
1718
|
+
get_io_full_value({ nid, ioid }: {
|
|
1719
|
+
nid: string;
|
|
1720
|
+
ioid: string;
|
|
1721
|
+
}): Promise<DataStructure<any, JSONType | undefined>>;
|
|
1722
|
+
update_io_options({ nid, ioid, options, }: {
|
|
1723
|
+
nid: string;
|
|
1724
|
+
ioid: string;
|
|
1725
|
+
options: UpdateableIOOptions;
|
|
1726
|
+
}): Promise<any>;
|
|
1727
|
+
get_node_status(nid: string): Promise<any>;
|
|
1728
|
+
get_remote_node_state(nid: string): Promise<void>;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
declare interface WorkerNodeManagerAPI {
|
|
1732
|
+
set_io_value: (params: {
|
|
1733
|
+
nid: string;
|
|
1734
|
+
ioid: string;
|
|
1735
|
+
value: any;
|
|
1736
|
+
set_default: boolean;
|
|
1737
|
+
}) => any;
|
|
1738
|
+
set_io_value_options: (params: {
|
|
1739
|
+
nid: string;
|
|
1740
|
+
ioid: string;
|
|
1741
|
+
values: any[];
|
|
1742
|
+
keys: string[];
|
|
1743
|
+
nullable: boolean;
|
|
1744
|
+
}) => Promise<void>;
|
|
1745
|
+
get_io_full_value: (params: {
|
|
1746
|
+
nid: string;
|
|
1747
|
+
ioid: string;
|
|
1748
|
+
}) => Promise<any>;
|
|
1749
|
+
get_io_value: (params: {
|
|
1750
|
+
nid: string;
|
|
1751
|
+
ioid: string;
|
|
1752
|
+
}) => Promise<any>;
|
|
1753
|
+
get_ios_values: (params: {
|
|
1754
|
+
nid: string;
|
|
1755
|
+
}) => any;
|
|
1756
|
+
get_node_status: (nid: string) => any;
|
|
1757
|
+
update_io_options: (params: {
|
|
1758
|
+
nid: string;
|
|
1759
|
+
ioid: string;
|
|
1760
|
+
options: UpdateableIOOptions;
|
|
1761
|
+
}) => any;
|
|
1762
|
+
add_node: (node_id: string) => Promise<NodeType | undefined>;
|
|
1763
|
+
remove_node: (node_id: string) => Promise<void>;
|
|
1764
|
+
trigger_node: (node_id: string) => Promise<void>;
|
|
1765
|
+
locally_update_node: (action: NodeActionUpdate) => void;
|
|
1766
|
+
get_remote_node_state: (nid: string) => Promise<void>;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
declare interface WorkerProps {
|
|
1770
|
+
zustand?: FuncNodesReactFlow;
|
|
1771
|
+
uuid: string;
|
|
1772
|
+
on_error?: (error: string | Error) => void;
|
|
1773
|
+
on_sync_complete?: (worker: FuncNodesWorker) => Promise<void>;
|
|
1774
|
+
}
|
|
1775
|
+
|
|
1776
|
+
declare interface WorkerRepresentation {
|
|
1777
|
+
uuid: string;
|
|
1778
|
+
host: string;
|
|
1779
|
+
port: number;
|
|
1780
|
+
ssl: boolean;
|
|
1781
|
+
active: boolean;
|
|
1782
|
+
open: boolean;
|
|
1783
|
+
name: string | null;
|
|
1784
|
+
}
|
|
1785
|
+
|
|
1786
|
+
declare interface WorkersState {
|
|
1787
|
+
[key: string]: WorkerRepresentation | undefined;
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
declare class WorkerSyncManager extends AbstractWorkerHandler {
|
|
1791
|
+
on_sync_complete: (worker: FuncNodesWorker) => Promise<void>;
|
|
1792
|
+
_nodeupdatetimer: ReturnType<typeof setTimeout> | undefined;
|
|
1793
|
+
_local_nodeupdates: Map<string, PartialSerializedNodeType>;
|
|
1794
|
+
_local_groupupdates: Map<string, Partial<NodeGroup>>;
|
|
1795
|
+
_groupupdatetimer: ReturnType<typeof setTimeout> | undefined;
|
|
1796
|
+
constructor(context: WorkerSyncManagerContext);
|
|
1797
|
+
start(): void;
|
|
1798
|
+
stop(): void;
|
|
1799
|
+
stepwise_fullsync(): Promise<void>;
|
|
1800
|
+
sync_lib(): Promise<void>;
|
|
1801
|
+
sync_external_worker(): Promise<void>;
|
|
1802
|
+
sync_funcnodes_plugins(): Promise<void>;
|
|
1803
|
+
sync_view_state(): Promise<void>;
|
|
1804
|
+
sync_nodespace(): Promise<void>;
|
|
1805
|
+
fullsync(): Promise<void>;
|
|
1806
|
+
sync_local_node_updates(): void;
|
|
1807
|
+
sync_local_group_updates(): void;
|
|
1808
|
+
locally_update_node(action: NodeActionUpdate): void;
|
|
1809
|
+
locally_update_group(action: GroupActionUpdate): void;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
declare interface WorkerSyncManagerContext extends WorkerHandlerContext {
|
|
1813
|
+
on_sync_complete: ((worker: FuncNodesWorker) => Promise<void>) | undefined;
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
export { }
|