@bian-womp/spark-workbench 0.3.0 → 0.3.2
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 +12 -17
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/cjs/src/runtime/LocalGraphRunner.d.ts +2 -2
- package/lib/cjs/src/runtime/LocalGraphRunner.d.ts.map +1 -1
- package/lib/esm/index.js +13 -18
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/esm/src/runtime/LocalGraphRunner.d.ts +2 -2
- package/lib/esm/src/runtime/LocalGraphRunner.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,2BAA2B,CAAC;AAgB1E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAmBvE,OAAO,EAGL,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,EAEL,oBAAoB,EACpB,YAAY,EAGb,MAAM,yBAAyB,CAAC;AAIjC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACtC;AA6tBD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,aAAa,EACb,KAAK,EACL,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,MAAM,EACN,QAAQ,GACT,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,oBAAoB,CAAC;IAClC,mBAAmB,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,EAAE,EAAE,iBAAiB,CAAC;QACtB,MAAM,EAAE,YAAY,CAAC;QACrB,eAAe,EAAE,CACf,GAAG,EAAE,eAAe,EACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB,KAAK,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,GAAG,EAAE,eAAe,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACjD,KAAK,IAAI,CAAC;CACZ,2CA8GA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Registry,
|
|
1
|
+
import { Registry, LocalEngine } from "@bian-womp/spark-graph";
|
|
2
2
|
import type { GraphDefinition, RuntimeSnapshotFull, RunnerOptions } from "@bian-womp/spark-protocol";
|
|
3
3
|
import { AbstractGraphRunner } from "./AbstractGraphRunner";
|
|
4
4
|
export declare class LocalGraphRunner extends AbstractGraphRunner {
|
|
5
5
|
readonly runnerId: string;
|
|
6
|
-
protected engine?:
|
|
6
|
+
protected engine?: LocalEngine;
|
|
7
7
|
constructor(registry: Registry);
|
|
8
8
|
build(def: GraphDefinition): void;
|
|
9
9
|
update(def: GraphDefinition, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,
|
|
1
|
+
{"version":3,"file":"LocalGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,aAAa,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;gBAEnB,QAAQ,EAAE,QAAQ;IAW9B,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAOjC,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAY/D,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;cAgBvC,qBAAqB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpE,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC,IAAI,CAAC;IAIV,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiBzE,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBxE,eAAe,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAMP,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;IAwBP,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1B,IAAI;IAMP,cAAc,QACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SACrB;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,UAgBzC;IAEF,cAAc,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEtD;IAEI,YAAY;;;;;;IA4BZ,iBAAiB,CACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;IAUlD,OAAO,CAAC,OAAO;IAgCf,OAAO,IAAI,IAAI;CAKhB"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateId, createSimpleGraphRegistry, GraphBuilder, getTypedOutputValue, isTypedOutput, getInputTypeId,
|
|
1
|
+
import { generateId, createSimpleGraphRegistry, GraphBuilder, getTypedOutputValue, isTypedOutput, getInputTypeId, LocalEngine, getTypedOutputTypeId, isInputPrivate, offsetImportedPositions, createSimpleGraphDef, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createValidationGraphDef, createValidationGraphRegistry } from '@bian-womp/spark-graph';
|
|
2
2
|
import lod from 'lodash';
|
|
3
3
|
import { RemoteRuntimeClient } from '@bian-womp/spark-remote';
|
|
4
4
|
import { Position, Handle, NodeResizer, getBezierPath, BaseEdge, useReactFlow, ReactFlowProvider, ReactFlow, Background, BackgroundVariant, MiniMap, Controls } from '@xyflow/react';
|
|
@@ -1000,9 +1000,8 @@ class LocalGraphRunner extends AbstractGraphRunner {
|
|
|
1000
1000
|
this.setEnvironment = (env, opts) => {
|
|
1001
1001
|
if (!this.runtime)
|
|
1002
1002
|
return;
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
this.runtime.pause();
|
|
1003
|
+
// Use requestPause for dry mode to temporarily pause without affecting base run mode
|
|
1004
|
+
const releasePause = opts?.dry ? this.runtime.requestPause() : null;
|
|
1006
1005
|
try {
|
|
1007
1006
|
if (opts?.merge) {
|
|
1008
1007
|
const current = this.runtime.getEnvironment();
|
|
@@ -1014,8 +1013,7 @@ class LocalGraphRunner extends AbstractGraphRunner {
|
|
|
1014
1013
|
}
|
|
1015
1014
|
}
|
|
1016
1015
|
finally {
|
|
1017
|
-
|
|
1018
|
-
this.runtime.resume();
|
|
1016
|
+
releasePause?.();
|
|
1019
1017
|
}
|
|
1020
1018
|
};
|
|
1021
1019
|
this.getEnvironment = () => {
|
|
@@ -1036,20 +1034,14 @@ class LocalGraphRunner extends AbstractGraphRunner {
|
|
|
1036
1034
|
update(def, options) {
|
|
1037
1035
|
if (!this.runtime)
|
|
1038
1036
|
return;
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
if (options?.dry && !wasPaused) {
|
|
1042
|
-
this.runtime.pause();
|
|
1043
|
-
}
|
|
1037
|
+
// Use requestPause for dry mode to temporarily pause without affecting base run mode
|
|
1038
|
+
const releasePause = options?.dry ? this.runtime.requestPause() : null;
|
|
1044
1039
|
try {
|
|
1045
1040
|
this.runtime.update(def, this.registry);
|
|
1046
1041
|
this.emit("invalidate", { reason: "graph-updated" });
|
|
1047
1042
|
}
|
|
1048
1043
|
finally {
|
|
1049
|
-
|
|
1050
|
-
if (options?.dry && !wasPaused) {
|
|
1051
|
-
this.runtime.resume();
|
|
1052
|
-
}
|
|
1044
|
+
releasePause?.();
|
|
1053
1045
|
}
|
|
1054
1046
|
}
|
|
1055
1047
|
launch(def, opts) {
|
|
@@ -1072,7 +1064,7 @@ class LocalGraphRunner extends AbstractGraphRunner {
|
|
|
1072
1064
|
if (!this.runtime)
|
|
1073
1065
|
throw new Error("Runtime not built");
|
|
1074
1066
|
// Use shared engine factory
|
|
1075
|
-
this.engine = new
|
|
1067
|
+
this.engine = new LocalEngine(this.runtime, opts?.runMode);
|
|
1076
1068
|
if (!this.engine)
|
|
1077
1069
|
throw new Error("Failed to create engine");
|
|
1078
1070
|
this.engine.on("value", (e) => this.emit("value", e));
|
|
@@ -6223,8 +6215,11 @@ function WorkbenchStudioCanvas({ autoScroll, onAutoScrollChange, example, onExam
|
|
|
6223
6215
|
const isConnecting = transportStatus.state === "connecting" ||
|
|
6224
6216
|
transportStatus.state === "retrying";
|
|
6225
6217
|
// Only allow Start/Stop when transport is connected or local
|
|
6218
|
+
// For local backend, always allow control (transport state is "local")
|
|
6219
|
+
// For remote backends, require connection
|
|
6226
6220
|
const canControl = transportStatus.state === "connected" ||
|
|
6227
|
-
transportStatus.state === "local"
|
|
6221
|
+
transportStatus.state === "local" ||
|
|
6222
|
+
backendKind === "local"; // Always allow control for local backend
|
|
6228
6223
|
if (isConnecting) {
|
|
6229
6224
|
return (jsxs("button", { className: "border rounded px-2 py-1.5 text-gray-500 border-gray-400 flex items-center gap-1 disabled:opacity-50", disabled: true, title: "Connecting to backend...", children: [jsx(ClockClockwiseIcon, { size: 16, className: "animate-spin" }), jsx("span", { className: "font-medium ml-1", children: "Connecting..." })] }));
|
|
6230
6225
|
}
|
|
@@ -6247,7 +6242,7 @@ function WorkbenchStudioCanvas({ autoScroll, onAutoScrollChange, example, onExam
|
|
|
6247
6242
|
}, disabled: !canControl, title: !canControl
|
|
6248
6243
|
? "Waiting for connection"
|
|
6249
6244
|
: `Start ${runMode === "manual" ? "manual" : "auto"} mode`, children: [jsx(PlayIcon, { size: 16, weight: "fill" }), jsx("span", { className: "font-medium ml-1", children: "Start" })] }));
|
|
6250
|
-
}, [transportStatus, isGraphRunning, runner, runMode, wb]);
|
|
6245
|
+
}, [transportStatus, isGraphRunning, runner, runMode, wb, backendKind]);
|
|
6251
6246
|
const defaultExamples = useMemo(() => [
|
|
6252
6247
|
{
|
|
6253
6248
|
id: "simple",
|