@bian-womp/spark-workbench 0.1.21 → 0.1.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 +46 -54
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/misc/DefaultNode.d.ts.map +1 -1
- package/lib/cjs/src/misc/Inspector.d.ts.map +1 -1
- package/lib/cjs/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/cjs/src/misc/value.d.ts +1 -0
- package/lib/cjs/src/misc/value.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRunner.d.ts +7 -1
- package/lib/cjs/src/runtime/GraphRunner.d.ts.map +1 -1
- package/lib/esm/index.js +47 -56
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/misc/DefaultNode.d.ts.map +1 -1
- package/lib/esm/src/misc/Inspector.d.ts.map +1 -1
- package/lib/esm/src/misc/WorkbenchStudio.d.ts.map +1 -1
- package/lib/esm/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/esm/src/misc/value.d.ts +1 -0
- package/lib/esm/src/misc/value.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRunner.d.ts +7 -1
- package/lib/esm/src/runtime/GraphRunner.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,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAO7D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"DefaultNode.d.ts","sourceRoot":"","sources":["../../../../src/misc/DefaultNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAO7D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAwN3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../../src/misc/Inspector.tsx"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACxE,
|
|
1
|
+
{"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../../src/misc/Inspector.tsx"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACxE,2CAqWA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,eAAe,EAEpB,QAAQ,EAYT,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkbenchStudio.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchStudio.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,
|
|
1
|
+
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAmB,MAAM,2BAA2B,CAAC;AAiBzE,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAofA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/misc/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACtC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAcrC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,CAGR;AAGD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,GAAG,SAAS,CA8BpB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/misc/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACtC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAcrC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,CAGR;AAGD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,GAAG,SAAS,CA8BpB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiCrD"}
|
|
@@ -2,14 +2,20 @@ import { EngineEventName, GraphDefinition, Registry, type RuntimeEventMap } from
|
|
|
2
2
|
import { HttpPollingTransport, WebSocketTransport } from "@bian-womp/spark-remote";
|
|
3
3
|
type RunnerEventListener<K extends RunnerEventName> = (e: RunnerEventMap[K]) => void;
|
|
4
4
|
export type EngineKind = "push" | "batched" | "pull" | "hybrid" | "step";
|
|
5
|
-
export type RunnerEventName = EngineEventName | "status";
|
|
5
|
+
export type RunnerEventName = EngineEventName | "status" | "transport";
|
|
6
6
|
export type RemoteTransport = HttpPollingTransport | WebSocketTransport;
|
|
7
7
|
export interface RunnerStatus {
|
|
8
8
|
running: boolean;
|
|
9
9
|
engine?: EngineKind;
|
|
10
10
|
}
|
|
11
|
+
export type TransportState = "local" | "connecting" | "connected" | "disconnected" | "retrying";
|
|
12
|
+
export interface TransportStatus {
|
|
13
|
+
state: TransportState;
|
|
14
|
+
kind?: RemoteExecutionBackendKind;
|
|
15
|
+
}
|
|
11
16
|
export interface RunnerEventMap extends RuntimeEventMap {
|
|
12
17
|
status: RunnerStatus;
|
|
18
|
+
transport: TransportStatus;
|
|
13
19
|
}
|
|
14
20
|
export interface RunnerOptions {
|
|
15
21
|
engine: EngineKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,eAAe,EACf,QAAQ,EAQR,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EAGpB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,mBAAmB,CAAC,CAAC,SAAS,eAAe,IAAI,CACpD,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRunner.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { GraphBuilder, StepEngine, HybridEngine, PullEngine, BatchedEngine, Push
|
|
|
2
2
|
import { RemoteEngine, HttpPollingTransport, WebSocketTransport, RemoteRunner } from '@bian-womp/spark-remote';
|
|
3
3
|
import React, { useCallback, useState, useEffect, useMemo, createContext, useContext, useRef, useImperativeHandle } from 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
import { XCircleIcon, WarningCircleIcon } from '@phosphor-icons/react';
|
|
5
|
+
import { XCircleIcon, WarningCircleIcon, PlugsConnectedIcon, ClockClockwiseIcon, WifiHighIcon, WifiSlashIcon } from '@phosphor-icons/react';
|
|
6
6
|
import ReactFlow, { Handle, Position, useReactFlow, Background, MiniMap, Controls } from 'reactflow';
|
|
7
7
|
import cx from 'classnames';
|
|
8
8
|
|
|
@@ -325,6 +325,9 @@ class GraphRunner {
|
|
|
325
325
|
this.backend = { kind: "local" };
|
|
326
326
|
if (backend)
|
|
327
327
|
this.backend = backend;
|
|
328
|
+
// Emit initial transport status
|
|
329
|
+
if (this.backend.kind === "local")
|
|
330
|
+
this.emit("transport", { state: "local" });
|
|
328
331
|
}
|
|
329
332
|
build(def) {
|
|
330
333
|
if (this.backend.kind === "local") {
|
|
@@ -613,6 +616,13 @@ class GraphRunner {
|
|
|
613
616
|
this.runningKind = undefined;
|
|
614
617
|
this.emit("status", { running: false, engine: undefined });
|
|
615
618
|
}
|
|
619
|
+
const kind = this.backend.kind === "local"
|
|
620
|
+
? undefined
|
|
621
|
+
: this.backend.kind;
|
|
622
|
+
this.emit("transport", {
|
|
623
|
+
state: this.backend.kind === "local" ? "local" : "disconnected",
|
|
624
|
+
kind,
|
|
625
|
+
});
|
|
616
626
|
}
|
|
617
627
|
isRunning() {
|
|
618
628
|
return !!this.engine;
|
|
@@ -625,6 +635,8 @@ class GraphRunner {
|
|
|
625
635
|
if (this.remote)
|
|
626
636
|
return this.remote;
|
|
627
637
|
let transport;
|
|
638
|
+
const kind = this.backend.kind === "remote-http" ? "remote-http" : "remote-ws";
|
|
639
|
+
this.emit("transport", { state: "connecting", kind });
|
|
628
640
|
if (this.backend.kind === "remote-http") {
|
|
629
641
|
if (!HttpPollingTransport)
|
|
630
642
|
throw new Error("HttpPollingTransport not available");
|
|
@@ -647,6 +659,7 @@ class GraphRunner {
|
|
|
647
659
|
valueCache: new Map(),
|
|
648
660
|
listenersBound: false,
|
|
649
661
|
};
|
|
662
|
+
this.emit("transport", { state: "connected", kind });
|
|
650
663
|
return this.remote;
|
|
651
664
|
}
|
|
652
665
|
}
|
|
@@ -815,6 +828,19 @@ function useQueryParamString(key, defaultValue) {
|
|
|
815
828
|
return [val, set];
|
|
816
829
|
}
|
|
817
830
|
|
|
831
|
+
function formatDataUrlAsLabel(dataUrl) {
|
|
832
|
+
try {
|
|
833
|
+
const semi = dataUrl.indexOf(";");
|
|
834
|
+
const comma = dataUrl.indexOf(",");
|
|
835
|
+
const mime = dataUrl.slice(5, semi > 0 ? semi : undefined).toUpperCase();
|
|
836
|
+
const b64 = comma >= 0 ? dataUrl.slice(comma + 1) : "";
|
|
837
|
+
const bytes = Math.floor((b64.length * 3) / 4);
|
|
838
|
+
return `${mime} Data (${bytes} bytes)`;
|
|
839
|
+
}
|
|
840
|
+
catch {
|
|
841
|
+
return dataUrl.length > 64 ? dataUrl.slice(0, 64) + "…" : dataUrl;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
818
844
|
function resolveOutputDisplay(raw, declared) {
|
|
819
845
|
if (isTypedOutput(raw)) {
|
|
820
846
|
return {
|
|
@@ -869,19 +895,8 @@ function preformatValueForDisplay(typeId, value, registry) {
|
|
|
869
895
|
function summarizeDeep(value) {
|
|
870
896
|
// Strings: summarize data URLs and trim extremely long strings
|
|
871
897
|
if (typeof value === "string") {
|
|
872
|
-
if (value.startsWith("data:"))
|
|
873
|
-
|
|
874
|
-
const semi = value.indexOf(";");
|
|
875
|
-
const comma = value.indexOf(",");
|
|
876
|
-
const mime = value.slice(5, semi > 0 ? semi : undefined).toUpperCase();
|
|
877
|
-
const b64 = comma >= 0 ? value.slice(comma + 1) : "";
|
|
878
|
-
const bytes = Math.floor((b64.length * 3) / 4);
|
|
879
|
-
return `${mime} Data (${bytes} bytes)`;
|
|
880
|
-
}
|
|
881
|
-
catch {
|
|
882
|
-
return value.length > 64 ? value.slice(0, 64) + "…" : value;
|
|
883
|
-
}
|
|
884
|
-
}
|
|
898
|
+
if (value.startsWith("data:"))
|
|
899
|
+
return formatDataUrlAsLabel(value);
|
|
885
900
|
return value.length > 512 ? value.slice(0, 512) + "…" : value;
|
|
886
901
|
}
|
|
887
902
|
// Typed output wrapper
|
|
@@ -901,18 +916,8 @@ function summarizeDeep(value) {
|
|
|
901
916
|
if (typeof v === "string" &&
|
|
902
917
|
k.toLowerCase() === "url" &&
|
|
903
918
|
v.startsWith("data:")) {
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
const comma = v.indexOf(",");
|
|
907
|
-
const mime = v.slice(5, semi > 0 ? semi : undefined).toUpperCase();
|
|
908
|
-
const b64 = comma >= 0 ? v.slice(comma + 1) : "";
|
|
909
|
-
const bytes = Math.floor((b64.length * 3) / 4);
|
|
910
|
-
out[k] = `${mime} Data (${bytes} bytes)`;
|
|
911
|
-
continue;
|
|
912
|
-
}
|
|
913
|
-
catch {
|
|
914
|
-
// fallthrough
|
|
915
|
-
}
|
|
919
|
+
out[k] = formatDataUrlAsLabel(v);
|
|
920
|
+
continue;
|
|
916
921
|
}
|
|
917
922
|
out[k] = summarizeDeep(v);
|
|
918
923
|
}
|
|
@@ -1083,11 +1088,14 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
1083
1088
|
const out = {};
|
|
1084
1089
|
// Local: runtimeTypeId is not stored; derive from typed wrapper in outputsMap
|
|
1085
1090
|
for (const n of def.nodes) {
|
|
1086
|
-
const
|
|
1091
|
+
const outputsDecl = registry.nodes.get(n.typeId)?.outputs ?? {};
|
|
1092
|
+
const handles = Object.keys(outputsDecl);
|
|
1087
1093
|
const cur = {};
|
|
1088
1094
|
for (const h of handles) {
|
|
1089
1095
|
const v = outputsMap[n.nodeId]?.[h];
|
|
1090
|
-
|
|
1096
|
+
const declared = outputsDecl[h];
|
|
1097
|
+
const { typeId } = resolveOutputDisplay(v, declared);
|
|
1098
|
+
cur[h] = typeId;
|
|
1091
1099
|
}
|
|
1092
1100
|
if (Object.keys(cur).length > 0)
|
|
1093
1101
|
out[n.nodeId] = cur;
|
|
@@ -1522,14 +1530,6 @@ function Inspector({ debug, autoScroll, hideWorkbench, onAutoScrollChange, onHid
|
|
|
1522
1530
|
const safeToString = (typeId, value) => {
|
|
1523
1531
|
try {
|
|
1524
1532
|
if (typeof toString === "function") {
|
|
1525
|
-
// Special-case data URLs for readability
|
|
1526
|
-
if (typeof value === "string" && value.startsWith("data:image/")) {
|
|
1527
|
-
const comma = value.indexOf(",");
|
|
1528
|
-
const b64 = comma >= 0 ? value.slice(comma + 1) : "";
|
|
1529
|
-
const bytes = Math.floor((b64.length * 3) / 4);
|
|
1530
|
-
const fmt = value.slice(5, value.indexOf(";")) || "image";
|
|
1531
|
-
return `${fmt.toUpperCase()} Data (${bytes} bytes)`;
|
|
1532
|
-
}
|
|
1533
1533
|
return toString(typeId, value);
|
|
1534
1534
|
}
|
|
1535
1535
|
return String(value ?? "");
|
|
@@ -1745,7 +1745,7 @@ const DefaultNode = React.memo(function DefaultNode({ id, data, selected, isConn
|
|
|
1745
1745
|
whiteSpace: "nowrap",
|
|
1746
1746
|
overflow: "hidden",
|
|
1747
1747
|
textOverflow: "ellipsis",
|
|
1748
|
-
}, title: `${entry.id}: ${entry.typeId}`, children: [entry.id,
|
|
1748
|
+
}, title: `${entry.id}: ${entry.typeId}`, children: [entry.id, hasAny && (jsx(IssueBadge, { level: hasErr ? "error" : "warning", size: 12, className: "ml-1", title: title })), showValues && (jsx("span", { className: "ml-1 opacity-60", children: toString(resolved.typeId, resolved.value) }))] })] }, `out-${entry.id}`));
|
|
1749
1749
|
})] }));
|
|
1750
1750
|
});
|
|
1751
1751
|
DefaultNode.displayName = "DefaultNode";
|
|
@@ -1979,6 +1979,9 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement }, r
|
|
|
1979
1979
|
|
|
1980
1980
|
function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, example, onExampleChange, engine, onEngineChange, backendKind, onBackendKindChange, httpBaseUrl, onHttpBaseUrlChange, wsUrl, onWsUrlChange, debug, onDebugChange, showValues, onShowValuesChange, hideWorkbench, onHideWorkbenchChange, overrides, onInit, onChange, }) {
|
|
1981
1981
|
const { wb, runner, registry, def, selectedNodeId, runAutoLayout } = useWorkbenchContext();
|
|
1982
|
+
const [transportStatus, setTransportStatus] = useState({
|
|
1983
|
+
state: "local",
|
|
1984
|
+
});
|
|
1982
1985
|
const selectedNode = def.nodes.find((n) => n.nodeId === selectedNodeId);
|
|
1983
1986
|
const selectedDesc = selectedNode
|
|
1984
1987
|
? registry.nodes.get(selectedNode.typeId)
|
|
@@ -2192,6 +2195,10 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
2192
2195
|
return;
|
|
2193
2196
|
applyExample(example);
|
|
2194
2197
|
}, [example, wb]);
|
|
2198
|
+
useEffect(() => {
|
|
2199
|
+
const off = runner.on("transport", (s) => setTransportStatus(s));
|
|
2200
|
+
return () => off();
|
|
2201
|
+
}, [runner]);
|
|
2195
2202
|
useEffect(() => {
|
|
2196
2203
|
if (!engine)
|
|
2197
2204
|
return;
|
|
@@ -2335,23 +2342,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
2335
2342
|
typeof value.url === "string") {
|
|
2336
2343
|
const title = value.title || "";
|
|
2337
2344
|
const url = String(value.url || "");
|
|
2338
|
-
|
|
2339
|
-
try {
|
|
2340
|
-
const semi = url.indexOf(";");
|
|
2341
|
-
const comma = url.indexOf(",");
|
|
2342
|
-
const mime = url
|
|
2343
|
-
.slice(5, semi > 0 ? semi : undefined)
|
|
2344
|
-
.toUpperCase();
|
|
2345
|
-
const b64 = comma >= 0 ? url.slice(comma + 1) : "";
|
|
2346
|
-
const bytes = Math.floor((b64.length * 3) / 4);
|
|
2347
|
-
return title
|
|
2348
|
-
? `${title} (${mime} ${bytes} bytes)`
|
|
2349
|
-
: `${mime} Data (${bytes} bytes)`;
|
|
2350
|
-
}
|
|
2351
|
-
catch {
|
|
2352
|
-
return title || url.slice(0, 32) + (url.length > 32 ? "…" : "");
|
|
2353
|
-
}
|
|
2354
|
-
}
|
|
2345
|
+
// value.ts handles data URL formatting
|
|
2355
2346
|
return title || url.slice(0, 32) + (url.length > 32 ? "…" : "");
|
|
2356
2347
|
}
|
|
2357
2348
|
if (typeId && typeId.includes("enum:")) {
|
|
@@ -2398,7 +2389,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
|
|
|
2398
2389
|
return overrides.toElement(baseToElement, { registry });
|
|
2399
2390
|
return baseToElement;
|
|
2400
2391
|
}, [overrides, baseToElement, registry]);
|
|
2401
|
-
return (jsxs("div", { className: "w-full h-screen flex flex-col", children: [jsxs("div", { className: "p-2 border-b border-gray-300 flex gap-2 items-center", children: [runner.isRunning() ? (jsxs("span", { className: "ml-2 text-sm text-green-700", children: ["Running: ", runner.getRunningEngine()] })) : (jsx("span", { className: "ml-2 text-sm text-gray-500", children: "Stopped" })), jsx("label", { className: "ml-2 text-sm", children: "Example:" }), jsxs("select", { className: "border border-gray-300 rounded px-2 py-1", value: exampleState, onChange: (e) => applyExample(e.target.value), disabled: runner.isRunning(), title: runner.isRunning()
|
|
2392
|
+
return (jsxs("div", { className: "w-full h-screen flex flex-col", children: [jsxs("div", { className: "p-2 border-b border-gray-300 flex gap-2 items-center", children: [runner.isRunning() ? (jsxs("span", { className: "ml-2 text-sm text-green-700", children: ["Running: ", runner.getRunningEngine()] })) : (jsx("span", { className: "ml-2 text-sm text-gray-500", children: "Stopped" })), jsxs("span", { className: "ml-2 flex items-center gap-1 text-xs", title: transportStatus.kind || undefined, children: [transportStatus.state === "local" && (jsx(PlugsConnectedIcon, { size: 14, className: "text-gray-500" })), transportStatus.state === "connecting" && (jsx(ClockClockwiseIcon, { size: 14, className: "text-amber-600 animate-pulse" })), transportStatus.state === "connected" && (jsx(WifiHighIcon, { size: 14, className: "text-green-600" })), transportStatus.state === "disconnected" && (jsx(WifiSlashIcon, { size: 14, className: "text-red-600" })), transportStatus.state === "retrying" && (jsx(ClockClockwiseIcon, { size: 14, className: "text-amber-700 animate-pulse" }))] }), jsx("label", { className: "ml-2 text-sm", children: "Example:" }), jsxs("select", { className: "border border-gray-300 rounded px-2 py-1", value: exampleState, onChange: (e) => applyExample(e.target.value), disabled: runner.isRunning(), title: runner.isRunning()
|
|
2402
2393
|
? "Stop engine before switching example"
|
|
2403
2394
|
: undefined, children: [jsx("option", { value: "", children: "Select Example\u2026" }), examples.map((ex) => (jsx("option", { value: ex.id, children: ex.label }, ex.id)))] }), jsx("label", { className: "ml-2 text-sm", children: "Backend:" }), jsxs("select", { className: "border border-gray-300 rounded px-2 py-1", value: backendKind, onChange: (e) => onBackendKindChange(e.target.value), disabled: runner.isRunning(), title: runner.isRunning()
|
|
2404
2395
|
? "Stop engine before switching backend"
|
|
@@ -2441,5 +2432,5 @@ function WorkbenchStudio({ engine, onEngineChange, example, onExampleChange, bac
|
|
|
2441
2432
|
}, httpBaseUrl: httpBaseUrl, onHttpBaseUrlChange: onHttpBaseUrlChange, wsUrl: wsUrl, onWsUrlChange: onWsUrlChange, debug: debug, onDebugChange: onDebugChange, showValues: showValues, onShowValuesChange: onShowValuesChange, hideWorkbench: hideWorkbench, onHideWorkbenchChange: onHideWorkbenchChange, overrides: overrides, onInit: onInit, onChange: onChange }) }));
|
|
2442
2433
|
}
|
|
2443
2434
|
|
|
2444
|
-
export { AbstractWorkbench, CLIWorkbench, DefaultUIExtensionRegistry, GraphRunner, InMemoryWorkbench, Inspector, WorkbenchCanvas, WorkbenchContext, WorkbenchProvider, WorkbenchStudio, formatDeclaredTypeSignature, getNodeBorderClassNames, preformatValueForDisplay, resolveOutputDisplay, summarizeDeep, toReactFlow, useQueryParamBoolean, useQueryParamString, useWorkbenchBridge, useWorkbenchContext, useWorkbenchGraphTick, useWorkbenchGraphUiTick, useWorkbenchVersionTick };
|
|
2435
|
+
export { AbstractWorkbench, CLIWorkbench, DefaultUIExtensionRegistry, GraphRunner, InMemoryWorkbench, Inspector, WorkbenchCanvas, WorkbenchContext, WorkbenchProvider, WorkbenchStudio, formatDataUrlAsLabel, formatDeclaredTypeSignature, getNodeBorderClassNames, preformatValueForDisplay, resolveOutputDisplay, summarizeDeep, toReactFlow, useQueryParamBoolean, useQueryParamString, useWorkbenchBridge, useWorkbenchContext, useWorkbenchGraphTick, useWorkbenchGraphUiTick, useWorkbenchVersionTick };
|
|
2445
2436
|
//# sourceMappingURL=index.js.map
|