@bian-womp/spark-graph 0.3.20 → 0.3.22
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/lib/cjs/index.cjs +165 -81
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/index.d.ts +2 -2
- package/lib/cjs/src/index.d.ts.map +1 -1
- package/lib/cjs/src/misc/utils/json.d.ts +1 -2
- package/lib/cjs/src/misc/utils/json.d.ts.map +1 -1
- package/lib/cjs/src/misc/utils/merge.d.ts +2 -24
- package/lib/cjs/src/misc/utils/merge.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphLifecycleApi.d.ts +6 -1
- package/lib/cjs/src/runtime/GraphLifecycleApi.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts +4 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/cjs/src/runtime/LocalEngine.d.ts +1 -1
- package/lib/cjs/src/runtime/LocalEngine.d.ts.map +1 -1
- package/lib/esm/index.js +165 -82
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/index.d.ts +2 -2
- package/lib/esm/src/index.d.ts.map +1 -1
- package/lib/esm/src/misc/utils/json.d.ts +1 -2
- package/lib/esm/src/misc/utils/json.d.ts.map +1 -1
- package/lib/esm/src/misc/utils/merge.d.ts +2 -24
- package/lib/esm/src/misc/utils/merge.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphLifecycleApi.d.ts +6 -1
- package/lib/esm/src/runtime/GraphLifecycleApi.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts +4 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/src/runtime/LocalEngine.d.ts +1 -1
- package/lib/esm/src/runtime/LocalEngine.d.ts.map +1 -1
- package/package.json +2 -2
package/lib/cjs/src/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export { createProgressGraphRegistry, createProgressGraphDef, } from "./examples
|
|
|
18
18
|
export { createValidationGraphRegistry, createValidationGraphDef, } from "./examples/validation";
|
|
19
19
|
export { installLogging } from "./examples/shared";
|
|
20
20
|
export { registerDelayNode, registerProgressNodes, generateId, BaseMathOperation, BaseCompareOperation, BaseLogicOperation, } from "./misc/base";
|
|
21
|
-
export { mergeSnapshots, computeGraphCenter, offsetImportedPositions, mergeRuntimeState, buildValueConverter, type
|
|
22
|
-
export { parseJsonPath, getValueAtPath, setValueAtPath, setValueAtPathWithCreation, findMatchingPaths,
|
|
21
|
+
export { mergeSnapshots, convertSnapshot, computeGraphCenter, offsetImportedPositions, mergeRuntimeState, buildValueConverter, type ValueConverter, } from "./misc/utils/merge";
|
|
22
|
+
export { parseJsonPath, getValueAtPath, setValueAtPath, setValueAtPathWithCreation, findMatchingPaths, } from "./misc/utils/json";
|
|
23
23
|
export { LevelLogger } from "./runtime/utils";
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export type JsonPath = string | PathSegment[];
|
|
1
|
+
import type { JsonPath, PathSegment } from "@bian-womp/spark-protocol";
|
|
3
2
|
export declare function parseJsonPath(path: JsonPath): PathSegment[];
|
|
4
3
|
export declare function getValueAtPath(obj: unknown, pathSegments: PathSegment[]): {
|
|
5
4
|
value: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/json.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,EAAE,CAY3D;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,WAAW,EAAE,GAC1B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAiGlE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,WAAW,EAAE,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAUT;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,WAAW,EAAE,EAC3B,KAAK,EAAE,OAAO,GACb,IAAI,CAkDN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,WAAW,EAAE,EAC3B,WAAW,GAAE,WAAW,EAAO,GAC9B,KAAK,CAAC;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAoEhD"}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import type { GraphDefinition, RuntimeSnapshotFull, RuntimeMetadata } from "@bian-womp/spark-protocol";
|
|
2
|
-
import { type JsonPath } from "./json";
|
|
3
|
-
export interface ValueConverterConfig {
|
|
4
|
-
nodeId: string;
|
|
5
|
-
handleId: string;
|
|
6
|
-
value: unknown;
|
|
7
|
-
type: "input" | "output" | "inputDefault";
|
|
8
|
-
nodeTypeId?: string;
|
|
9
|
-
handleDataType?: string;
|
|
10
|
-
runtimeTypeId?: string;
|
|
11
|
-
}
|
|
1
|
+
import type { GraphDefinition, RuntimeSnapshotFull, RuntimeMetadata, ConverterConfig, ValueConverterConfig } from "@bian-womp/spark-protocol";
|
|
12
2
|
export type ValueConverter = (config: ValueConverterConfig) => unknown;
|
|
13
3
|
/**
|
|
14
4
|
* Compute the center point of a graph based on node positions.
|
|
@@ -37,6 +27,7 @@ export declare function offsetImportedPositions(targetPositions: Record<string,
|
|
|
37
27
|
x: number;
|
|
38
28
|
y: number;
|
|
39
29
|
}>;
|
|
30
|
+
export declare function convertSnapshot(snapshot: RuntimeSnapshotFull, converter: ValueConverter): RuntimeSnapshotFull;
|
|
40
31
|
export declare function mergeSnapshots(targetSnapshot: RuntimeSnapshotFull, sourceSnapshot: RuntimeSnapshotFull, converter?: ValueConverter): {
|
|
41
32
|
merged: RuntimeSnapshotFull;
|
|
42
33
|
nodeIdMap: Record<string, string>;
|
|
@@ -46,19 +37,6 @@ export declare function mergeSnapshots(targetSnapshot: RuntimeSnapshotFull, sour
|
|
|
46
37
|
* Preserves target metadata and adds/updates source metadata with remapped IDs.
|
|
47
38
|
*/
|
|
48
39
|
export declare function mergeRuntimeState(targetRuntime: RuntimeMetadata | null | undefined, sourceRuntime: RuntimeMetadata | null | undefined, nodeIdMap: Record<string, string>): RuntimeMetadata;
|
|
49
|
-
export interface ValueMappingConfig {
|
|
50
|
-
handleId?: string | RegExp;
|
|
51
|
-
nodeId?: string | RegExp;
|
|
52
|
-
nodeTypeId?: string | RegExp;
|
|
53
|
-
handleDataType?: string | RegExp;
|
|
54
|
-
runtimeTypeId?: string | RegExp;
|
|
55
|
-
transformTypedValue?: boolean;
|
|
56
|
-
path?: JsonPath;
|
|
57
|
-
valueMap: Map<string | number | boolean, unknown> | Record<string | number, unknown>;
|
|
58
|
-
}
|
|
59
|
-
export interface ConverterConfig {
|
|
60
|
-
mappings: ValueMappingConfig[];
|
|
61
|
-
}
|
|
62
40
|
/**
|
|
63
41
|
* Build a converter function from a configuration that maps values based on handle/node matching.
|
|
64
42
|
* The converter will replace values when:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,mBAAmB,EACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/misc/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAUnC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC;AAkGvE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,OAAO,EAAE,MAAM,EAAE,GAChB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1C;AA2HD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,cAAc,GACxB,mBAAmB,CA4DrB;AAyID,wBAAgB,cAAc,CAC5B,cAAc,EAAE,mBAAmB,EACnC,cAAc,EAAE,mBAAmB,EACnC,SAAS,CAAC,EAAE,cAAc,GACzB;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAwDA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACjD,aAAa,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,eAAe,CAgBjB;AAUD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CA6M3E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GraphDefinition, RegistryDescriptor, RegistryDelta, RuntimeSnapshot, RuntimeSnapshotFull, RunnerOptions, RuntimeHistoryInfo, Viewport } from "@bian-womp/spark-protocol";
|
|
1
|
+
import type { GraphDefinition, RegistryDescriptor, RegistryDelta, RuntimeSnapshot, RuntimeSnapshotFull, RunnerOptions, RuntimeHistoryInfo, Viewport, ConverterConfig } from "@bian-womp/spark-protocol";
|
|
2
2
|
/**
|
|
3
3
|
* GraphLifecycleApi interface for non-execution operations.
|
|
4
4
|
* These operations manage graph lifecycle, snapshots, registry, environment, etc.
|
|
@@ -19,6 +19,9 @@ export interface GraphLifecycleApi {
|
|
|
19
19
|
applySnapshotFull(payload: RuntimeSnapshotFull, options?: {
|
|
20
20
|
skipBuild?: boolean;
|
|
21
21
|
}): Promise<void>;
|
|
22
|
+
convertSnapshot(converterConfig: ConverterConfig, options?: {
|
|
23
|
+
dry?: boolean;
|
|
24
|
+
}): Promise<RuntimeSnapshotFull>;
|
|
22
25
|
describeRegistry(): Promise<RegistryDescriptor>;
|
|
23
26
|
applyRegistry(deltas: RegistryDelta[]): Promise<void>;
|
|
24
27
|
setEnvironment(environment: Record<string, unknown>, opts?: {
|
|
@@ -36,5 +39,7 @@ export interface GraphLifecycleApi {
|
|
|
36
39
|
commit(reason?: string): Promise<RuntimeHistoryInfo | undefined>;
|
|
37
40
|
undo(): Promise<boolean>;
|
|
38
41
|
redo(): Promise<boolean>;
|
|
42
|
+
pause(): Promise<void>;
|
|
43
|
+
resume(): Promise<void>;
|
|
39
44
|
}
|
|
40
45
|
//# sourceMappingURL=GraphLifecycleApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphLifecycleApi.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphLifecycleApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,
|
|
1
|
+
{"version":3,"file":"GraphLifecycleApi.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphLifecycleApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,CACH,GAAG,EAAE,eAAe,EACpB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5C,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7C,iBAAiB,CACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CACb,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAGhC,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGtD,cAAc,CACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAGnD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,aAAa,CACX,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG/C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACjE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
|
|
@@ -21,6 +21,7 @@ export declare class GraphRuntime implements IRuntime, INodeExecutor, IEdgePropa
|
|
|
21
21
|
private environment;
|
|
22
22
|
private runMode;
|
|
23
23
|
private pauseRefCount;
|
|
24
|
+
private persistentPauseToken;
|
|
24
25
|
constructor();
|
|
25
26
|
static create(def: GraphDefinition, registry: Registry, opts?: {
|
|
26
27
|
environment?: Record<string, unknown>;
|
|
@@ -28,7 +29,7 @@ export declare class GraphRuntime implements IRuntime, INodeExecutor, IEdgePropa
|
|
|
28
29
|
on<K extends RuntimeEventName>(event: K, handler: RuntimeEventListener<K>): () => void;
|
|
29
30
|
setInputs(nodeId: string, inputs: Record<string, unknown>): void;
|
|
30
31
|
getOutput(nodeId: string, output: string): unknown;
|
|
31
|
-
launch(invalidate?: boolean): void;
|
|
32
|
+
launch(invalidate?: boolean, startPaused?: boolean): void;
|
|
32
33
|
triggerExternal(nodeId: string, event: unknown): void;
|
|
33
34
|
/**
|
|
34
35
|
* Check if an event is an invalidate event that should trigger re-execution
|
|
@@ -55,6 +56,8 @@ export declare class GraphRuntime implements IRuntime, INodeExecutor, IEdgePropa
|
|
|
55
56
|
getRunMode(): RunMode | null;
|
|
56
57
|
requestPause(): () => void;
|
|
57
58
|
isPaused(): boolean;
|
|
59
|
+
pause(): void;
|
|
60
|
+
resume(): void;
|
|
58
61
|
copyOutputs(fromNodeId: string, toNodeId: string, options?: {
|
|
59
62
|
dry?: boolean;
|
|
60
63
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAEZ,eAAe,EAGf,OAAO,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAO/C,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAC7D,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AAGD,qBAAa,YAAa,YAAW,QAAQ,EAAE,aAAa,EAAE,eAAe;IAE3E,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAAK;;
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class LocalEngine implements Engine {
|
|
|
23
23
|
dry?: boolean;
|
|
24
24
|
}): void;
|
|
25
25
|
dispose(): void;
|
|
26
|
-
launch(invalidate?: boolean, runMode?: RunMode): void;
|
|
26
|
+
launch(invalidate?: boolean, runMode?: RunMode, startPaused?: boolean): void;
|
|
27
27
|
/**
|
|
28
28
|
* Run only this node, no downstream propagation.
|
|
29
29
|
* Works in both modes, but typically only used in manual mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExE;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAEtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY,EAC7C,OAAO,CAAC,EAAE,OAAO;IAKnB,SAAS,CACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAcP,eAAe,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAcP,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAIb,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAIP,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"LocalEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExE;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAEtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY,EAC7C,OAAO,CAAC,EAAE,OAAO;IAKnB,SAAS,CACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAcP,eAAe,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAcP,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAIb,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAIP,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5E;;;;;;OAMG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGnC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -2764,6 +2764,7 @@ class GraphRuntime {
|
|
|
2764
2764
|
this.environment = {};
|
|
2765
2765
|
this.runMode = null;
|
|
2766
2766
|
this.pauseRefCount = 0;
|
|
2767
|
+
this.persistentPauseToken = null;
|
|
2767
2768
|
// Initialize components
|
|
2768
2769
|
this.graph = new Graph();
|
|
2769
2770
|
this.eventEmitter = new EventEmitter();
|
|
@@ -2914,7 +2915,7 @@ class GraphRuntime {
|
|
|
2914
2915
|
const node = this.graph.getNode(nodeId);
|
|
2915
2916
|
return node?.outputs[output];
|
|
2916
2917
|
}
|
|
2917
|
-
launch(invalidate = false) {
|
|
2918
|
+
launch(invalidate = false, startPaused = false) {
|
|
2918
2919
|
this.graph.forEachNode((node) => {
|
|
2919
2920
|
const effectiveInputs = this.nodeExecutor.getEffectiveInputs(node.nodeId);
|
|
2920
2921
|
const ctrl = new AbortController();
|
|
@@ -2932,6 +2933,9 @@ class GraphRuntime {
|
|
|
2932
2933
|
this.execute(nodeId);
|
|
2933
2934
|
}
|
|
2934
2935
|
}
|
|
2936
|
+
if (startPaused) {
|
|
2937
|
+
this.pause();
|
|
2938
|
+
}
|
|
2935
2939
|
}
|
|
2936
2940
|
triggerExternal(nodeId, event) {
|
|
2937
2941
|
const node = this.graph.getNode(nodeId);
|
|
@@ -3074,6 +3078,17 @@ class GraphRuntime {
|
|
|
3074
3078
|
isPaused() {
|
|
3075
3079
|
return this.pauseRefCount > 0;
|
|
3076
3080
|
}
|
|
3081
|
+
pause() {
|
|
3082
|
+
if (!this.persistentPauseToken) {
|
|
3083
|
+
this.persistentPauseToken = this.requestPause();
|
|
3084
|
+
}
|
|
3085
|
+
}
|
|
3086
|
+
resume() {
|
|
3087
|
+
if (this.persistentPauseToken) {
|
|
3088
|
+
this.persistentPauseToken();
|
|
3089
|
+
this.persistentPauseToken = null;
|
|
3090
|
+
}
|
|
3091
|
+
}
|
|
3077
3092
|
copyOutputs(fromNodeId, toNodeId, options) {
|
|
3078
3093
|
const fromNode = this.getNodeData(fromNodeId);
|
|
3079
3094
|
if (!fromNode?.outputs)
|
|
@@ -3730,10 +3745,10 @@ class LocalEngine {
|
|
|
3730
3745
|
dispose() {
|
|
3731
3746
|
// this.graphRuntime.dispose();
|
|
3732
3747
|
}
|
|
3733
|
-
launch(invalidate, runMode) {
|
|
3748
|
+
launch(invalidate, runMode, startPaused) {
|
|
3734
3749
|
if (runMode)
|
|
3735
3750
|
this.setRunMode(runMode);
|
|
3736
|
-
this.graphRuntime.launch(invalidate);
|
|
3751
|
+
this.graphRuntime.launch(invalidate, startPaused);
|
|
3737
3752
|
}
|
|
3738
3753
|
/**
|
|
3739
3754
|
* Run only this node, no downstream propagation.
|
|
@@ -5533,22 +5548,138 @@ function offsetImportedPositions(targetPositions, sourcePositions, sourceDef, no
|
|
|
5533
5548
|
}
|
|
5534
5549
|
return newPositions;
|
|
5535
5550
|
}
|
|
5551
|
+
function buildTypeMaps(def) {
|
|
5552
|
+
const nodeTypeMap = new Map();
|
|
5553
|
+
const handleTypeMap = new Map();
|
|
5554
|
+
for (const node of def.nodes) {
|
|
5555
|
+
nodeTypeMap.set(node.nodeId, node.typeId);
|
|
5556
|
+
const nodeHandleTypes = new Map();
|
|
5557
|
+
if (node.resolvedHandles?.inputs) {
|
|
5558
|
+
for (const [handleId, handleDesc] of Object.entries(node.resolvedHandles.inputs)) {
|
|
5559
|
+
const typeId = typeof handleDesc === "string"
|
|
5560
|
+
? handleDesc
|
|
5561
|
+
: handleDesc?.typeId;
|
|
5562
|
+
if (typeId)
|
|
5563
|
+
nodeHandleTypes.set(handleId, typeId);
|
|
5564
|
+
}
|
|
5565
|
+
}
|
|
5566
|
+
if (node.resolvedHandles?.outputs) {
|
|
5567
|
+
for (const [handleId, handleDesc] of Object.entries(node.resolvedHandles.outputs)) {
|
|
5568
|
+
const typeId = typeof handleDesc === "string"
|
|
5569
|
+
? handleDesc
|
|
5570
|
+
: Array.isArray(handleDesc)
|
|
5571
|
+
? handleDesc[0]
|
|
5572
|
+
: undefined;
|
|
5573
|
+
if (typeId)
|
|
5574
|
+
nodeHandleTypes.set(handleId, typeId);
|
|
5575
|
+
}
|
|
5576
|
+
}
|
|
5577
|
+
if (nodeHandleTypes.size > 0) {
|
|
5578
|
+
handleTypeMap.set(node.nodeId, nodeHandleTypes);
|
|
5579
|
+
}
|
|
5580
|
+
}
|
|
5581
|
+
return { nodeTypeMap, handleTypeMap };
|
|
5582
|
+
}
|
|
5583
|
+
function applyConversion(items, values, converter, type) {
|
|
5584
|
+
for (const item of items) {
|
|
5585
|
+
const convertedValue = converter({
|
|
5586
|
+
nodeId: item.nodeId,
|
|
5587
|
+
handleId: item.handleId,
|
|
5588
|
+
value: item.value,
|
|
5589
|
+
type,
|
|
5590
|
+
nodeTypeId: item.nodeTypeId,
|
|
5591
|
+
handleDataType: item.handleDataType,
|
|
5592
|
+
runtimeTypeId: item.runtimeTypeId,
|
|
5593
|
+
});
|
|
5594
|
+
if (convertedValue === null) {
|
|
5595
|
+
delete values[item.nodeId]?.[item.handleId];
|
|
5596
|
+
if (values[item.nodeId] &&
|
|
5597
|
+
Object.keys(values[item.nodeId]).length === 0) {
|
|
5598
|
+
delete values[item.nodeId];
|
|
5599
|
+
}
|
|
5600
|
+
}
|
|
5601
|
+
else {
|
|
5602
|
+
if (!values[item.nodeId]) {
|
|
5603
|
+
values[item.nodeId] = {};
|
|
5604
|
+
}
|
|
5605
|
+
values[item.nodeId][item.handleId] = convertedValue;
|
|
5606
|
+
}
|
|
5607
|
+
}
|
|
5608
|
+
}
|
|
5609
|
+
function collectValuesToConvert(values, nodeTypeMap, handleTypeMap, originalNodeIdMap) {
|
|
5610
|
+
const converted = {};
|
|
5611
|
+
const toConvert = [];
|
|
5612
|
+
for (const [nodeId, nodeValues] of Object.entries(values)) {
|
|
5613
|
+
converted[nodeId] = { ...nodeValues };
|
|
5614
|
+
const originalNodeId = nodeId;
|
|
5615
|
+
const nodeTypeId = nodeTypeMap.get(originalNodeId);
|
|
5616
|
+
for (const [handleId, value] of Object.entries(nodeValues)) {
|
|
5617
|
+
const handleDataType = handleTypeMap.get(originalNodeId)?.get(handleId);
|
|
5618
|
+
const runtimeTypeId = isTypedOutput(value)
|
|
5619
|
+
? getTypedOutputTypeId(value)
|
|
5620
|
+
: undefined;
|
|
5621
|
+
toConvert.push({
|
|
5622
|
+
nodeId,
|
|
5623
|
+
originalNodeId,
|
|
5624
|
+
handleId,
|
|
5625
|
+
value,
|
|
5626
|
+
nodeTypeId,
|
|
5627
|
+
handleDataType,
|
|
5628
|
+
runtimeTypeId,
|
|
5629
|
+
});
|
|
5630
|
+
}
|
|
5631
|
+
}
|
|
5632
|
+
return { converted, toConvert };
|
|
5633
|
+
}
|
|
5634
|
+
function convertSnapshot(snapshot, converter) {
|
|
5635
|
+
const def = snapshot.def ?? { nodes: [], edges: [] };
|
|
5636
|
+
const { nodeTypeMap, handleTypeMap } = buildTypeMaps(def);
|
|
5637
|
+
const inputDefaults = {};
|
|
5638
|
+
for (const node of def.nodes) {
|
|
5639
|
+
if (node.resolvedHandles?.inputDefaults) {
|
|
5640
|
+
inputDefaults[node.nodeId] = { ...node.resolvedHandles.inputDefaults };
|
|
5641
|
+
}
|
|
5642
|
+
}
|
|
5643
|
+
const { converted: convertedInputs, toConvert: inputsToConvert } = collectValuesToConvert(snapshot.inputs ?? {}, nodeTypeMap, handleTypeMap);
|
|
5644
|
+
const { converted: convertedOutputs, toConvert: outputsToConvert } = collectValuesToConvert(snapshot.outputs ?? {}, nodeTypeMap, handleTypeMap);
|
|
5645
|
+
const { converted: convertedInputDefaults, toConvert: inputDefaultsToConvert, } = collectValuesToConvert(inputDefaults, nodeTypeMap, handleTypeMap);
|
|
5646
|
+
applyConversion(inputsToConvert, convertedInputs, converter, "input");
|
|
5647
|
+
applyConversion(outputsToConvert, convertedOutputs, converter, "output");
|
|
5648
|
+
applyConversion(inputDefaultsToConvert, convertedInputDefaults, converter, "inputDefault");
|
|
5649
|
+
const updatedNodes = def.nodes.map((node) => {
|
|
5650
|
+
const defaults = convertedInputDefaults[node.nodeId];
|
|
5651
|
+
if (!defaults || Object.keys(defaults).length === 0) {
|
|
5652
|
+
if (node.resolvedHandles?.inputDefaults) {
|
|
5653
|
+
const { inputDefaults, ...restHandles } = node.resolvedHandles;
|
|
5654
|
+
return {
|
|
5655
|
+
...node,
|
|
5656
|
+
resolvedHandles: Object.keys(restHandles).length > 0 ? restHandles : undefined,
|
|
5657
|
+
};
|
|
5658
|
+
}
|
|
5659
|
+
return node;
|
|
5660
|
+
}
|
|
5661
|
+
return {
|
|
5662
|
+
...node,
|
|
5663
|
+
resolvedHandles: {
|
|
5664
|
+
...node.resolvedHandles,
|
|
5665
|
+
inputDefaults: defaults,
|
|
5666
|
+
},
|
|
5667
|
+
};
|
|
5668
|
+
});
|
|
5669
|
+
return {
|
|
5670
|
+
...snapshot,
|
|
5671
|
+
def: { ...def, nodes: updatedNodes },
|
|
5672
|
+
inputs: convertedInputs,
|
|
5673
|
+
outputs: convertedOutputs,
|
|
5674
|
+
};
|
|
5675
|
+
}
|
|
5536
5676
|
function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOutputs, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap, handleTypeMap) {
|
|
5537
|
-
const mergedInputs = {};
|
|
5538
|
-
const mergedOutputs = {};
|
|
5539
|
-
const mergedInputDefaults = {};
|
|
5677
|
+
const mergedInputs = { ...targetInputs };
|
|
5678
|
+
const mergedOutputs = { ...targetOutputs };
|
|
5679
|
+
const mergedInputDefaults = { ...targetInputDefaults };
|
|
5540
5680
|
const inputsToConvert = [];
|
|
5541
5681
|
const outputsToConvert = [];
|
|
5542
5682
|
const inputDefaultsToConvert = [];
|
|
5543
|
-
for (const [nodeId, inputs] of Object.entries(targetInputs)) {
|
|
5544
|
-
mergedInputs[nodeId] = { ...inputs };
|
|
5545
|
-
}
|
|
5546
|
-
for (const [nodeId, outputs] of Object.entries(targetOutputs)) {
|
|
5547
|
-
mergedOutputs[nodeId] = { ...outputs };
|
|
5548
|
-
}
|
|
5549
|
-
for (const [nodeId, defaults] of Object.entries(targetInputDefaults)) {
|
|
5550
|
-
mergedInputDefaults[nodeId] = { ...defaults };
|
|
5551
|
-
}
|
|
5552
5683
|
for (const [oldId, inputs] of Object.entries(sourceInputs)) {
|
|
5553
5684
|
const newId = nodeIdMap[oldId];
|
|
5554
5685
|
if (newId) {
|
|
@@ -5627,35 +5758,7 @@ function mergeInputsOutputs(targetInputs, targetOutputs, sourceInputs, sourceOut
|
|
|
5627
5758
|
}
|
|
5628
5759
|
function mergeSnapshotData(targetSnapshot, sourceSnapshot, targetInputDefaults, sourceInputDefaults, nodeIdMap) {
|
|
5629
5760
|
const sourceDef = sourceSnapshot.def ?? { nodes: []};
|
|
5630
|
-
const nodeTypeMap =
|
|
5631
|
-
const handleTypeMap = new Map();
|
|
5632
|
-
for (const node of sourceDef.nodes) {
|
|
5633
|
-
nodeTypeMap.set(node.nodeId, node.typeId);
|
|
5634
|
-
const nodeHandleTypes = new Map();
|
|
5635
|
-
if (node.resolvedHandles?.inputs) {
|
|
5636
|
-
for (const [handleId, handleDesc] of Object.entries(node.resolvedHandles.inputs)) {
|
|
5637
|
-
const typeId = typeof handleDesc === "string"
|
|
5638
|
-
? handleDesc
|
|
5639
|
-
: handleDesc?.typeId;
|
|
5640
|
-
if (typeId)
|
|
5641
|
-
nodeHandleTypes.set(handleId, typeId);
|
|
5642
|
-
}
|
|
5643
|
-
}
|
|
5644
|
-
if (node.resolvedHandles?.outputs) {
|
|
5645
|
-
for (const [handleId, handleDesc] of Object.entries(node.resolvedHandles.outputs)) {
|
|
5646
|
-
const typeId = typeof handleDesc === "string"
|
|
5647
|
-
? handleDesc
|
|
5648
|
-
: Array.isArray(handleDesc)
|
|
5649
|
-
? handleDesc[0]
|
|
5650
|
-
: undefined;
|
|
5651
|
-
if (typeId)
|
|
5652
|
-
nodeHandleTypes.set(handleId, typeId);
|
|
5653
|
-
}
|
|
5654
|
-
}
|
|
5655
|
-
if (nodeHandleTypes.size > 0) {
|
|
5656
|
-
handleTypeMap.set(node.nodeId, nodeHandleTypes);
|
|
5657
|
-
}
|
|
5658
|
-
}
|
|
5761
|
+
const { nodeTypeMap, handleTypeMap } = buildTypeMaps(sourceDef);
|
|
5659
5762
|
return mergeInputsOutputs(targetSnapshot.inputs ?? {}, targetSnapshot.outputs ?? {}, sourceSnapshot.inputs ?? {}, sourceSnapshot.outputs ?? {}, targetInputDefaults, sourceInputDefaults, nodeIdMap, nodeTypeMap, handleTypeMap);
|
|
5660
5763
|
}
|
|
5661
5764
|
function mergeSnapshots(targetSnapshot, sourceSnapshot, converter) {
|
|
@@ -5664,35 +5767,9 @@ function mergeSnapshots(targetSnapshot, sourceSnapshot, converter) {
|
|
|
5664
5767
|
const { merged, nodeIdMap, targetInputDefaults, sourceInputDefaults } = mergeGraphDefinitions(targetDef, sourceDef);
|
|
5665
5768
|
const { mergedInputs, mergedOutputs, mergedInputDefaults, inputsToConvert, outputsToConvert, inputDefaultsToConvert, } = mergeSnapshotData(targetSnapshot, sourceSnapshot, targetInputDefaults, sourceInputDefaults, nodeIdMap);
|
|
5666
5769
|
if (converter) {
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
nodeId: item.nodeId,
|
|
5671
|
-
handleId: item.handleId,
|
|
5672
|
-
value: item.value,
|
|
5673
|
-
type,
|
|
5674
|
-
nodeTypeId: item.nodeTypeId,
|
|
5675
|
-
handleDataType: item.handleDataType,
|
|
5676
|
-
runtimeTypeId: item.runtimeTypeId,
|
|
5677
|
-
});
|
|
5678
|
-
if (convertedValue === null) {
|
|
5679
|
-
delete values[item.nodeId]?.[item.handleId];
|
|
5680
|
-
if (values[item.nodeId] &&
|
|
5681
|
-
Object.keys(values[item.nodeId]).length === 0) {
|
|
5682
|
-
delete values[item.nodeId];
|
|
5683
|
-
}
|
|
5684
|
-
}
|
|
5685
|
-
else {
|
|
5686
|
-
if (!values[item.nodeId]) {
|
|
5687
|
-
values[item.nodeId] = {};
|
|
5688
|
-
}
|
|
5689
|
-
values[item.nodeId][item.handleId] = convertedValue;
|
|
5690
|
-
}
|
|
5691
|
-
}
|
|
5692
|
-
};
|
|
5693
|
-
applyConversion(inputDefaultsToConvert, mergedInputDefaults, "inputDefault");
|
|
5694
|
-
applyConversion(inputsToConvert, mergedInputs, "input");
|
|
5695
|
-
applyConversion(outputsToConvert, mergedOutputs, "output");
|
|
5770
|
+
applyConversion(inputDefaultsToConvert, mergedInputDefaults, converter, "inputDefault");
|
|
5771
|
+
applyConversion(inputsToConvert, mergedInputs, converter, "input");
|
|
5772
|
+
applyConversion(outputsToConvert, mergedOutputs, converter, "output");
|
|
5696
5773
|
}
|
|
5697
5774
|
const nodeMap = new Map(merged.nodes.map((n) => [n.nodeId, n]));
|
|
5698
5775
|
for (const nodeId in mergedInputDefaults) {
|
|
@@ -5760,6 +5837,8 @@ function buildValueConverter(config) {
|
|
|
5760
5837
|
const { nodeId, handleId, value, type, nodeTypeId, handleDataType, runtimeTypeId, } = converterConfig;
|
|
5761
5838
|
const isTyped = isTypedOutput(value);
|
|
5762
5839
|
for (const mapping of config.mappings) {
|
|
5840
|
+
if (mapping.type !== type)
|
|
5841
|
+
continue;
|
|
5763
5842
|
if (!matchesPattern(handleId, mapping.handleId))
|
|
5764
5843
|
continue;
|
|
5765
5844
|
if (!matchesPattern(nodeId, mapping.nodeId))
|
|
@@ -5800,8 +5879,9 @@ function buildValueConverter(config) {
|
|
|
5800
5879
|
else {
|
|
5801
5880
|
if (typeof matchValue === "string" ||
|
|
5802
5881
|
typeof matchValue === "number") {
|
|
5803
|
-
|
|
5804
|
-
|
|
5882
|
+
const key = String(matchValue);
|
|
5883
|
+
if (key in mapping.valueMap) {
|
|
5884
|
+
newValue = mapping.valueMap[key];
|
|
5805
5885
|
changed = true;
|
|
5806
5886
|
}
|
|
5807
5887
|
}
|
|
@@ -5834,8 +5914,9 @@ function buildValueConverter(config) {
|
|
|
5834
5914
|
else {
|
|
5835
5915
|
if (typeof innerValue === "string" ||
|
|
5836
5916
|
typeof innerValue === "number") {
|
|
5837
|
-
|
|
5838
|
-
|
|
5917
|
+
const key = String(innerValue);
|
|
5918
|
+
if (key in mapping.valueMap) {
|
|
5919
|
+
newValue = mapping.valueMap[key];
|
|
5839
5920
|
// If mapped to null, return null to delete the output
|
|
5840
5921
|
if (newValue === null) {
|
|
5841
5922
|
return null;
|
|
@@ -5882,8 +5963,9 @@ function buildValueConverter(config) {
|
|
|
5882
5963
|
else {
|
|
5883
5964
|
if (typeof matchValue === "string" ||
|
|
5884
5965
|
typeof matchValue === "number") {
|
|
5885
|
-
|
|
5886
|
-
|
|
5966
|
+
const key = String(matchValue);
|
|
5967
|
+
if (key in mapping.valueMap) {
|
|
5968
|
+
newValue = mapping.valueMap[key];
|
|
5887
5969
|
changed = true;
|
|
5888
5970
|
}
|
|
5889
5971
|
}
|
|
@@ -5905,8 +5987,9 @@ function buildValueConverter(config) {
|
|
|
5905
5987
|
}
|
|
5906
5988
|
else {
|
|
5907
5989
|
if (typeof value === "string" || typeof value === "number") {
|
|
5908
|
-
|
|
5909
|
-
|
|
5990
|
+
const key = String(value);
|
|
5991
|
+
if (key in mapping.valueMap) {
|
|
5992
|
+
return mapping.valueMap[key];
|
|
5910
5993
|
}
|
|
5911
5994
|
}
|
|
5912
5995
|
}
|
|
@@ -5917,5 +6000,5 @@ function buildValueConverter(config) {
|
|
|
5917
6000
|
};
|
|
5918
6001
|
}
|
|
5919
6002
|
|
|
5920
|
-
export { BaseCompareOperation, BaseLogicOperation, BaseMathOperation, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, LevelLogger, LocalEngine, Registry, buildValueConverter, computeGraphCenter, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, findMatchingPaths, generateId, getInputHandleMetadata, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, getValueAtPath, installLogging, isInputPrivate, isTypedOutput, mergeInputHandleDescriptors, mergeRuntimeState, mergeSnapshots, offsetImportedPositions, parseJsonPath, registerDelayNode, registerProgressNodes, setValueAtPath, setValueAtPathWithCreation, typed };
|
|
6003
|
+
export { BaseCompareOperation, BaseLogicOperation, BaseMathOperation, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, LevelLogger, LocalEngine, Registry, buildValueConverter, computeGraphCenter, convertSnapshot, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, findMatchingPaths, generateId, getInputHandleMetadata, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, getValueAtPath, installLogging, isInputPrivate, isTypedOutput, mergeInputHandleDescriptors, mergeRuntimeState, mergeSnapshots, offsetImportedPositions, parseJsonPath, registerDelayNode, registerProgressNodes, setValueAtPath, setValueAtPathWithCreation, typed };
|
|
5921
6004
|
//# sourceMappingURL=index.js.map
|