@bian-womp/spark-workbench 0.2.21 → 0.2.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 +40 -13
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/misc/DefaultNode.d.ts.map +1 -1
- package/lib/cjs/src/misc/WorkbenchStudio.d.ts +3 -37
- package/lib/cjs/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.d.ts +34 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.d.ts.map +1 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.provider.d.ts +3 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/esm/index.js +40 -13
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/misc/DefaultNode.d.ts.map +1 -1
- package/lib/esm/src/misc/WorkbenchStudio.d.ts +3 -37
- package/lib/esm/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/esm/src/misc/context/WorkbenchContext.d.ts +34 -1
- package/lib/esm/src/misc/context/WorkbenchContext.d.ts.map +1 -1
- package/lib/esm/src/misc/context/WorkbenchContext.provider.d.ts +3 -1
- package/lib/esm/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultNode.d.ts","sourceRoot":"","sources":["../../../../src/misc/DefaultNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAOvB,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGrE,eAAO,MAAM,WAAW,yDAuDtB,CAAC;AAGH,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAChE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,2CAwDA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,aAAa,GACd,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"DefaultNode.d.ts","sourceRoot":"","sources":["../../../../src/misc/DefaultNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAOvB,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGrE,eAAO,MAAM,WAAW,yDAuDtB,CAAC;AAGH,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAChE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,2CAwDA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,aAAa,GACd,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,2CAyI7D"}
|
|
@@ -1,40 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { type GraphDefinition } from "@bian-womp/spark-graph";
|
|
2
|
+
import { WorkbenchOverrides } from "./context/WorkbenchContext";
|
|
3
3
|
import { InMemoryWorkbench } from "../core/InMemoryWorkbench";
|
|
4
|
-
import {
|
|
5
|
-
import { EngineKind, ExecutionBackendKind, IGraphRunner } from "../runtime/IGraphRunner";
|
|
6
|
-
export type ExampleDescriptor = {
|
|
7
|
-
id: string;
|
|
8
|
-
label: string;
|
|
9
|
-
load: () => Promise<{
|
|
10
|
-
registry?: Registry;
|
|
11
|
-
def: GraphDefinition;
|
|
12
|
-
}>;
|
|
13
|
-
defaultEngine?: EngineKind;
|
|
14
|
-
};
|
|
15
|
-
type WorkbenchOverrides = {
|
|
16
|
-
toString?: (baseToString: (typeId?: string, value?: unknown) => string, ctx: {
|
|
17
|
-
registry: Registry;
|
|
18
|
-
}) => (typeId?: string, value?: unknown) => string;
|
|
19
|
-
toElement?: (baseToElement: (typeId?: string, value?: unknown) => JSX.Element, ctx: {
|
|
20
|
-
registry: Registry;
|
|
21
|
-
}) => (typeId?: string, value?: unknown) => JSX.Element;
|
|
22
|
-
setInput?: (baseSetInput: (handle: string, raw: string | number | undefined) => void, ctx: {
|
|
23
|
-
runner: IGraphRunner;
|
|
24
|
-
selectedNodeId?: string;
|
|
25
|
-
registry: Registry;
|
|
26
|
-
}) => (handle: string, raw: string | number | undefined) => void;
|
|
27
|
-
registerUI?: (baseRegisterUI: (wb: AbstractWorkbench) => void, ctx: {
|
|
28
|
-
wb: AbstractWorkbench;
|
|
29
|
-
wbRunner: IGraphRunner;
|
|
30
|
-
}) => void;
|
|
31
|
-
getExamples?: (defaults: ExampleDescriptor[]) => ExampleDescriptor[];
|
|
32
|
-
contextPanel?: React.ReactNode;
|
|
33
|
-
getDefaultNodeSize?: (typeId: string) => {
|
|
34
|
-
width: number;
|
|
35
|
-
height: number;
|
|
36
|
-
} | undefined;
|
|
37
|
-
};
|
|
4
|
+
import { ExecutionBackendKind, IGraphRunner } from "../runtime/IGraphRunner";
|
|
38
5
|
export declare function WorkbenchStudio({ engine, onEngineChange, example, onExampleChange, backendKind, onBackendKindChange, httpBaseUrl, onHttpBaseUrlChange, wsUrl, onWsUrlChange, debug, onDebugChange, showValues, onShowValuesChange, hideWorkbench, onHideWorkbenchChange, autoScroll, onAutoScrollChange, overrides, onInit, onChange, }: {
|
|
39
6
|
engine?: string;
|
|
40
7
|
onEngineChange?: (v: string | undefined) => void;
|
|
@@ -65,5 +32,4 @@ export declare function WorkbenchStudio({ engine, onEngineChange, example, onExa
|
|
|
65
32
|
inputs: Record<string, Record<string, unknown>>;
|
|
66
33
|
}) => void;
|
|
67
34
|
}): import("react/jsx-runtime").JSX.Element;
|
|
68
|
-
export {};
|
|
69
35
|
//# sourceMappingURL=WorkbenchStudio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,eAAe,EAcrB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAGL,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAGL,oBAAoB,EACpB,YAAY,EAEb,MAAM,yBAAyB,CAAC;AAq2BjC,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,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,SAAS,EACT,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,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,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,2CAiEA"}
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { Registry, GraphDefinition, ValidationIssue } from "@bian-womp/spark-graph";
|
|
3
3
|
import { InMemoryWorkbench } from "../../core/InMemoryWorkbench";
|
|
4
|
-
import { IGraphRunner, type EngineKind } from "../../runtime/IGraphRunner";
|
|
5
4
|
import type { HandleIssue, NodeRunStatus, EdgeRunStatus, DebugEvent } from "../../core/contracts";
|
|
5
|
+
import { AbstractWorkbench } from "../../core/AbstractWorkbench";
|
|
6
|
+
import { IGraphRunner, type EngineKind } from "../../runtime/IGraphRunner";
|
|
7
|
+
export type ExampleDescriptor = {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
load: () => Promise<{
|
|
11
|
+
registry?: Registry;
|
|
12
|
+
def: GraphDefinition;
|
|
13
|
+
}>;
|
|
14
|
+
defaultEngine?: EngineKind;
|
|
15
|
+
};
|
|
16
|
+
export type WorkbenchOverrides = {
|
|
17
|
+
toString?: (baseToString: (typeId?: string, value?: unknown) => string, ctx: {
|
|
18
|
+
registry: Registry;
|
|
19
|
+
}) => (typeId?: string, value?: unknown) => string;
|
|
20
|
+
toElement?: (baseToElement: (typeId?: string, value?: unknown) => JSX.Element, ctx: {
|
|
21
|
+
registry: Registry;
|
|
22
|
+
}) => (typeId?: string, value?: unknown) => JSX.Element;
|
|
23
|
+
setInput?: (baseSetInput: (handle: string, raw: string | number | undefined) => void, ctx: {
|
|
24
|
+
runner: IGraphRunner;
|
|
25
|
+
selectedNodeId?: string;
|
|
26
|
+
registry: Registry;
|
|
27
|
+
}) => (handle: string, raw: string | number | undefined) => void;
|
|
28
|
+
registerUI?: (baseRegisterUI: (wb: AbstractWorkbench) => void, ctx: {
|
|
29
|
+
wb: AbstractWorkbench;
|
|
30
|
+
wbRunner: IGraphRunner;
|
|
31
|
+
}) => void;
|
|
32
|
+
getExamples?: (defaults: ExampleDescriptor[]) => ExampleDescriptor[];
|
|
33
|
+
contextPanel?: React.ReactNode;
|
|
34
|
+
getDefaultNodeSize?: (typeId: string) => {
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
} | undefined;
|
|
38
|
+
};
|
|
6
39
|
export interface WorkbenchContextValue {
|
|
7
40
|
wb: InMemoryWorkbench;
|
|
8
41
|
runner: IGraphRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchContext.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkbenchContext.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@ import React from "react";
|
|
|
2
2
|
import { type Registry } from "@bian-womp/spark-graph";
|
|
3
3
|
import { InMemoryWorkbench } from "../../core/InMemoryWorkbench";
|
|
4
4
|
import { IGraphRunner } from "../../runtime/IGraphRunner";
|
|
5
|
-
|
|
5
|
+
import { WorkbenchOverrides } from "./WorkbenchContext";
|
|
6
|
+
export declare function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, children, }: {
|
|
6
7
|
wb: InMemoryWorkbench;
|
|
7
8
|
runner: IGraphRunner;
|
|
8
9
|
registry: Registry;
|
|
9
10
|
setRegistry: (r: Registry) => void;
|
|
11
|
+
overrides?: WorkbenchOverrides;
|
|
10
12
|
children: React.ReactNode;
|
|
11
13
|
}): import("react/jsx-runtime").JSX.Element;
|
|
12
14
|
//# sourceMappingURL=WorkbenchContext.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAa3E,OAAO,EAGL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAI5B,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAokBA"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1418,7 +1418,7 @@ function useWorkbenchContext() {
|
|
|
1418
1418
|
return ctx;
|
|
1419
1419
|
}
|
|
1420
1420
|
|
|
1421
|
-
function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
1421
|
+
function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, children, }) {
|
|
1422
1422
|
const [nodeStatus, setNodeStatus] = useState({});
|
|
1423
1423
|
const [edgeStatus, setEdgeStatus] = useState({});
|
|
1424
1424
|
const [events, setEvents] = useState([]);
|
|
@@ -1549,8 +1549,14 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
1549
1549
|
if (!node)
|
|
1550
1550
|
continue;
|
|
1551
1551
|
// Prefer showValues sizing similar to node rendering
|
|
1552
|
-
//
|
|
1553
|
-
const
|
|
1552
|
+
// Consider per-type overrides when available via UI
|
|
1553
|
+
const overrideSize = overrides?.getDefaultNodeSize?.(node.typeId) ?? undefined;
|
|
1554
|
+
const size = estimateNodeSize({
|
|
1555
|
+
node,
|
|
1556
|
+
registry,
|
|
1557
|
+
showValues: true,
|
|
1558
|
+
overrides: overrideSize,
|
|
1559
|
+
});
|
|
1554
1560
|
heights[id] = size.height;
|
|
1555
1561
|
if (size.width > maxWidth)
|
|
1556
1562
|
maxWidth = size.width;
|
|
@@ -1565,7 +1571,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
1565
1571
|
curX += maxWidth + H_GAP;
|
|
1566
1572
|
}
|
|
1567
1573
|
wb.setPositions(pos);
|
|
1568
|
-
}, [wb]);
|
|
1574
|
+
}, [wb, registry, overrides?.getDefaultNodeSize]);
|
|
1569
1575
|
const updateEdgeType = useCallback((edgeId, typeId) => wb.updateEdgeType(edgeId, typeId), [wb]);
|
|
1570
1576
|
const triggerExternal = useCallback((nodeId, event) => runner.triggerExternal(nodeId, event), [runner]);
|
|
1571
1577
|
// Subscribe to runner/workbench events
|
|
@@ -2260,6 +2266,18 @@ function DefaultNodeHeader({ id, title, validation, right, showId, onInvalidate,
|
|
|
2260
2266
|
}
|
|
2261
2267
|
function DefaultNodeContent({ data, isConnectable, }) {
|
|
2262
2268
|
const { showValues, inputValues, outputValues, toString } = data;
|
|
2269
|
+
const prettyHandle = React.useCallback((id) => {
|
|
2270
|
+
try {
|
|
2271
|
+
const parts = String(id).split(":");
|
|
2272
|
+
// If there are exactly 3 colons (4 parts), display only the second part
|
|
2273
|
+
if (parts.length === 4)
|
|
2274
|
+
return parts[1] || id;
|
|
2275
|
+
return id;
|
|
2276
|
+
}
|
|
2277
|
+
catch {
|
|
2278
|
+
return id;
|
|
2279
|
+
}
|
|
2280
|
+
}, []);
|
|
2263
2281
|
const inputEntries = data.inputHandles ?? [];
|
|
2264
2282
|
const outputEntries = data.outputHandles ?? [];
|
|
2265
2283
|
const status = data.status ?? { activeRuns: 0 };
|
|
@@ -2295,7 +2313,7 @@ function DefaultNodeContent({ data, isConnectable, }) {
|
|
|
2295
2313
|
const txt = toString(resolved.typeId, resolved.value);
|
|
2296
2314
|
return typeof txt === "string" ? txt : String(txt);
|
|
2297
2315
|
})();
|
|
2298
|
-
return (jsxs("span", { className: "flex items-center gap-1 w-full", children: [kind === "output" ? (jsxs(Fragment, { children: [valueText !== undefined ? (jsx("span", { className: "opacity-60 truncate pl-1", style: { flex: 1, minWidth: 0, maxWidth: "100%" }, children: valueText })) : (jsx("span", { style: { flex: 1, minWidth: 0, maxWidth: "100%" } })), jsx("span", { className: "truncate shrink-0", style: valueText !== undefined ? { maxWidth: "40%" } : {}, children: handleId })] })) : (jsxs(Fragment, { children: [jsx("span", { className: "truncate shrink-0", style: valueText !== undefined ? { maxWidth: "40%" } : {}, children: handleId }), valueText !== undefined && (jsx("span", { className: "opacity-60 truncate pr-1", style: { flex: 1, minWidth: 0, maxWidth: "100%" }, children: valueText }))] })), hasAny && (jsx(IssueBadge, { level: hasErr ? "error" : "warning", size: 12, className: "shrink-0", title: title }))] }));
|
|
2316
|
+
return (jsxs("span", { className: "flex items-center gap-1 w-full", children: [kind === "output" ? (jsxs(Fragment, { children: [valueText !== undefined ? (jsx("span", { className: "opacity-60 truncate pl-1", style: { flex: 1, minWidth: 0, maxWidth: "100%" }, children: valueText })) : (jsx("span", { style: { flex: 1, minWidth: 0, maxWidth: "100%" } })), jsx("span", { className: "truncate shrink-0", style: valueText !== undefined ? { maxWidth: "40%" } : {}, children: prettyHandle(handleId) })] })) : (jsxs(Fragment, { children: [jsx("span", { className: "truncate shrink-0", style: valueText !== undefined ? { maxWidth: "40%" } : {}, children: prettyHandle(handleId) }), valueText !== undefined && (jsx("span", { className: "opacity-60 truncate pr-1", style: { flex: 1, minWidth: 0, maxWidth: "100%" }, children: valueText }))] })), hasAny && (jsx(IssueBadge, { level: hasErr ? "error" : "warning", size: 12, className: "shrink-0", title: title }))] }));
|
|
2299
2317
|
} })] }));
|
|
2300
2318
|
}
|
|
2301
2319
|
|
|
@@ -2885,6 +2903,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
2885
2903
|
return overrides.getExamples(defaultExamples);
|
|
2886
2904
|
return defaultExamples;
|
|
2887
2905
|
}, [overrides, defaultExamples]);
|
|
2906
|
+
const [hydrated, setHydrated] = useState(false);
|
|
2888
2907
|
const lastAutoLaunched = useRef(undefined);
|
|
2889
2908
|
const autoLayoutRan = useRef(false);
|
|
2890
2909
|
const canvasRef = useRef(null);
|
|
@@ -2908,7 +2927,6 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
2908
2927
|
runner.setInputs(nodeId, map);
|
|
2909
2928
|
}
|
|
2910
2929
|
}
|
|
2911
|
-
runAutoLayout();
|
|
2912
2930
|
};
|
|
2913
2931
|
onInit({ wb, runner, setInitialGraph });
|
|
2914
2932
|
}, [onInit, wb, runner, runAutoLayout, registry, setRegistry]);
|
|
@@ -3096,7 +3114,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
3096
3114
|
createRuntime: () => ({
|
|
3097
3115
|
async onInputsChanged() { },
|
|
3098
3116
|
}),
|
|
3099
|
-
policy: {
|
|
3117
|
+
policy: { asyncConcurrency: "switch" },
|
|
3100
3118
|
};
|
|
3101
3119
|
r.categories.register(category);
|
|
3102
3120
|
}
|
|
@@ -3165,23 +3183,32 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
3165
3183
|
}, [engine, runner, wb, backendKind]);
|
|
3166
3184
|
// When switching to remote backend, auto-hydrate registry from backend
|
|
3167
3185
|
useEffect(() => {
|
|
3186
|
+
let hydrate;
|
|
3168
3187
|
if (backendKind === "remote-http" && httpBaseUrl) {
|
|
3169
|
-
hydrateFromBackend("remote-http", httpBaseUrl);
|
|
3188
|
+
hydrate = hydrateFromBackend("remote-http", httpBaseUrl);
|
|
3170
3189
|
}
|
|
3171
3190
|
else if (backendKind === "remote-ws" && wsUrl) {
|
|
3172
|
-
hydrateFromBackend("remote-ws", wsUrl);
|
|
3191
|
+
hydrate = hydrateFromBackend("remote-ws", wsUrl);
|
|
3173
3192
|
}
|
|
3174
|
-
|
|
3193
|
+
if (hydrate) {
|
|
3194
|
+
hydrate.then(() => {
|
|
3195
|
+
setHydrated(true);
|
|
3196
|
+
});
|
|
3197
|
+
}
|
|
3198
|
+
}, [backendKind, httpBaseUrl, wsUrl, hydrateFromBackend, setHydrated]);
|
|
3175
3199
|
useEffect(() => {
|
|
3176
3200
|
if (autoLayoutRan.current)
|
|
3177
3201
|
return;
|
|
3202
|
+
if (backendKind !== "local" && !hydrated)
|
|
3203
|
+
return;
|
|
3178
3204
|
const cur = wb.export();
|
|
3179
|
-
const
|
|
3205
|
+
const positions = wb.getPositions();
|
|
3206
|
+
const allMissing = cur.nodes.every((n) => !positions[n.nodeId]);
|
|
3180
3207
|
if (allMissing) {
|
|
3181
3208
|
autoLayoutRan.current = true;
|
|
3182
3209
|
runAutoLayout();
|
|
3183
3210
|
}
|
|
3184
|
-
}, [wb, runAutoLayout]);
|
|
3211
|
+
}, [wb, runAutoLayout, backendKind, hydrated]);
|
|
3185
3212
|
const baseSetInput = useCallback((handle, raw) => {
|
|
3186
3213
|
if (!selectedNodeId)
|
|
3187
3214
|
return;
|
|
@@ -3407,7 +3434,7 @@ function WorkbenchStudio({ engine, onEngineChange, example, onExampleChange, bac
|
|
|
3407
3434
|
overrides?.registerUI?.(baseRegisterUI, { wb, wbRunner: runner });
|
|
3408
3435
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3409
3436
|
}, [wb, runner, overrides]);
|
|
3410
|
-
return (jsx(WorkbenchProvider, { wb: wb, runner: runner, registry: registry, setRegistry: setRegistry, children: jsx(WorkbenchStudioCanvas, { setRegistry: setRegistry, autoScroll: autoScroll, onAutoScrollChange: onAutoScrollChange, example: example, onExampleChange: onExampleChange, engine: engine, onEngineChange: onEngineChange, backendKind: backendKind, onBackendKindChange: (v) => {
|
|
3437
|
+
return (jsx(WorkbenchProvider, { wb: wb, runner: runner, registry: registry, setRegistry: setRegistry, overrides: overrides, children: jsx(WorkbenchStudioCanvas, { setRegistry: setRegistry, autoScroll: autoScroll, onAutoScrollChange: onAutoScrollChange, example: example, onExampleChange: onExampleChange, engine: engine, onEngineChange: onEngineChange, backendKind: backendKind, onBackendKindChange: (v) => {
|
|
3411
3438
|
if (runner.isRunning())
|
|
3412
3439
|
runner.dispose();
|
|
3413
3440
|
onBackendKindChange(v);
|