@bian-womp/spark-workbench 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,7 @@ export declare class InMemoryWorkbench extends AbstractWorkbench {
24
24
  id?: string;
25
25
  }): void;
26
26
  disconnect(edgeId: string): void;
27
+ updateEdgeType(edgeId: string, typeId: string | undefined): void;
27
28
  updateParams(nodeId: string, params: Record<string, unknown>): void;
28
29
  setPosition(nodeId: string, pos: {
29
30
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryWorkbench.d.ts","sourceRoot":"","sources":["../../../../src/core/InMemoryWorkbench.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,GAAG,CAA6C;IACxD,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,SAAS,CAGf;IAEF,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI/B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,MAAM,IAAI,eAAe;IAIzB,iBAAiB,IAAI,IAAI;IAIzB,QAAQ,IAAI,gBAAgB;IA8B5B,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG;QACvD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrC,GACA,IAAI;IAeP,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAahC,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GACnE,IAAI;IAeP,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAWnE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQhE,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAQjE,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxD,YAAY,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAS7D,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;IAOpD,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"InMemoryWorkbench.d.ts","sourceRoot":"","sources":["../../../../src/core/InMemoryWorkbench.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,GAAG,CAA6C;IACxD,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,SAAS,CAGf;IAEF,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI/B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,MAAM,IAAI,eAAe;IAIzB,iBAAiB,IAAI,IAAI;IAIzB,QAAQ,IAAI,gBAAgB;IA8B5B,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG;QACvD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrC,GACA,IAAI;IAeP,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAahC,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GACnE,IAAI;IAeP,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYhE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAWnE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQhE,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAQjE,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxD,YAAY,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAS7D,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;IAOpD,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,UAAU;CAGnB"}
@@ -43,6 +43,10 @@ export interface WorkbenchEventMap {
43
43
  } | {
44
44
  type: "updateParams";
45
45
  nodeId: string;
46
+ } | {
47
+ type: "updateEdgeType";
48
+ edgeId: string;
49
+ typeId: string | undefined;
46
50
  };
47
51
  };
48
52
  graphUiChanged: {
@@ -101,6 +105,7 @@ export interface EdgeRunStatus {
101
105
  lastError?: unknown;
102
106
  }
103
107
  export type DebugEvent<T = unknown> = {
108
+ no: number;
104
109
  at: number;
105
110
  source: "runner" | "workbench";
106
111
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../../src/misc/Inspector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,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,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACxE,2CAyWA"}
1
+ {"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../../src/misc/Inspector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,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,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACxE,2CA6XA"}
@@ -40,6 +40,7 @@ export interface WorkbenchContextValue {
40
40
  step: () => void;
41
41
  flush: () => void;
42
42
  runAutoLayout: () => void;
43
+ updateEdgeType: (edgeId: string, typeId: string | undefined) => void;
43
44
  }
44
45
  export declare const WorkbenchContext: React.Context<WorkbenchContextValue | null>;
45
46
  export declare function useWorkbenchContext(): WorkbenchContextValue;
@@ -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,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IAEpC,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAGnC,GAAG,EAAE,eAAe,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAGlE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAGnE,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KACvC,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KACvC,CAAC;IACF,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAGhC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IAGxB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;IACzC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,6CAE5B,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,qBAAqB,CAO3D"}
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,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IAEpC,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAGnC,GAAG,EAAE,eAAe,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAGlE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAGnE,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KACvC,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KACvC,CAAC;IACF,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAGhC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IAGxB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;IACzC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,aAAa,EAAE,MAAM,IAAI,CAAC;IAG1B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACtE;AAED,eAAO,MAAM,gBAAgB,6CAE5B,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,qBAAqB,CAO3D"}
@@ -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,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAiB3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,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,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAugBA"}
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,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAiB3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,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,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAshBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/misc/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB;;;;;;EAoJvD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,UAS1D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,UAS5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,UAoB3D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,CAkCpE;AAWD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CA0BjC;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAyBvD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/misc/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB;;;;;;EA4HvD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,UAS1D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,UAS5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,UAoB3D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,CAwCpE;AAWD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CA0BjC;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAyBvD"}
package/lib/esm/index.js CHANGED
@@ -200,6 +200,20 @@ class InMemoryWorkbench extends AbstractWorkbench {
200
200
  });
201
201
  this.emit("validationChanged", this.validate());
202
202
  }
203
+ updateEdgeType(edgeId, typeId) {
204
+ const e = this.def.edges.find((x) => x.id === edgeId);
205
+ if (!e)
206
+ return;
207
+ if (!typeId)
208
+ delete e.typeId;
209
+ else
210
+ e.typeId = typeId;
211
+ this.emit("graphChanged", {
212
+ def: this.def,
213
+ change: { type: "updateEdgeType", edgeId, typeId },
214
+ });
215
+ this.refreshValidation();
216
+ }
203
217
  updateParams(nodeId, params) {
204
218
  const n = this.def.nodes.find((n) => n.nodeId === nodeId);
205
219
  if (!n)
@@ -778,23 +792,6 @@ function useWorkbenchBridge(wb) {
778
792
  }
779
793
  }
780
794
  }
781
- else if (type === "selectNodes") {
782
- const ids = change.ids;
783
- const selected = change.selected;
784
- if (Array.isArray(ids) && typeof selected === "boolean") {
785
- for (const id of ids) {
786
- if (selected) {
787
- if (!nextNodeIds.has(id)) {
788
- nextNodeIds.add(id);
789
- selectionChanged = true;
790
- }
791
- }
792
- else if (nextNodeIds.delete(id)) {
793
- selectionChanged = true;
794
- }
795
- }
796
- }
797
- }
798
795
  else if (type === "remove") {
799
796
  const id = change.id;
800
797
  if (nextNodeIds.delete(id))
@@ -802,7 +799,10 @@ function useWorkbenchBridge(wb) {
802
799
  }
803
800
  }
804
801
  if (selectionChanged) {
805
- wb.setSelection({ nodes: Array.from(nextNodeIds), edges: current.edges });
802
+ wb.setSelection({
803
+ nodes: Array.from(nextNodeIds),
804
+ edges: current.edges,
805
+ });
806
806
  }
807
807
  }, [wb]);
808
808
  const onEdgesDelete = useCallback((edges) => edges.forEach((e) => wb.disconnect(e.id)), [wb]);
@@ -827,23 +827,6 @@ function useWorkbenchBridge(wb) {
827
827
  }
828
828
  }
829
829
  }
830
- else if (type === "selectEdges") {
831
- const ids = change.ids;
832
- const selected = change.selected;
833
- if (Array.isArray(ids) && typeof selected === "boolean") {
834
- for (const id of ids) {
835
- if (selected) {
836
- if (!nextEdgeIds.has(id)) {
837
- nextEdgeIds.add(id);
838
- selectionChanged = true;
839
- }
840
- }
841
- else if (nextEdgeIds.delete(id)) {
842
- selectionChanged = true;
843
- }
844
- }
845
- }
846
- }
847
830
  else if (type === "remove") {
848
831
  const id = change.id;
849
832
  if (nextEdgeIds.delete(id))
@@ -851,7 +834,10 @@ function useWorkbenchBridge(wb) {
851
834
  }
852
835
  }
853
836
  if (selectionChanged) {
854
- wb.setSelection({ nodes: current.nodes, edges: Array.from(nextEdgeIds) });
837
+ wb.setSelection({
838
+ nodes: current.nodes,
839
+ edges: Array.from(nextEdgeIds),
840
+ });
855
841
  }
856
842
  }, [wb]);
857
843
  const onNodesDelete = useCallback((nodes) => {
@@ -908,7 +894,9 @@ function useThrottledValue(value, intervalMs) {
908
894
  const lastSetAtRef = useRef(0);
909
895
  const timeoutRef = useRef(null);
910
896
  useEffect(() => {
911
- const now = (typeof performance !== "undefined" && performance.now) ? performance.now() : Date.now();
897
+ const now = typeof performance !== "undefined" && performance.now
898
+ ? performance.now()
899
+ : Date.now();
912
900
  const elapsed = now - lastSetAtRef.current;
913
901
  if (elapsed >= intervalMs) {
914
902
  lastSetAtRef.current = now;
@@ -919,7 +907,10 @@ function useThrottledValue(value, intervalMs) {
919
907
  window.clearTimeout(timeoutRef.current);
920
908
  }
921
909
  timeoutRef.current = window.setTimeout(() => {
922
- lastSetAtRef.current = (typeof performance !== "undefined" && performance.now) ? performance.now() : Date.now();
910
+ lastSetAtRef.current =
911
+ typeof performance !== "undefined" && performance.now
912
+ ? performance.now()
913
+ : Date.now();
923
914
  setThrottled(value);
924
915
  timeoutRef.current = null;
925
916
  }, Math.max(0, intervalMs - elapsed));
@@ -1398,6 +1389,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1398
1389
  });
1399
1390
  wb.setPositions(pos);
1400
1391
  }, [wb]);
1392
+ const updateEdgeType = useCallback((edgeId, typeId) => wb.updateEdgeType(edgeId, typeId), [wb]);
1401
1393
  // Subscribe to runner/workbench events
1402
1394
  useEffect(() => {
1403
1395
  const add = (source, type) => (payload) => setEvents((prev) => {
@@ -1408,8 +1400,15 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1408
1400
  if (changeType === "moveNode" || changeType === "moveNodes")
1409
1401
  return prev;
1410
1402
  }
1403
+ const nextNo = prev.length > 0 ? (prev[0]?.no ?? 0) + 1 : 1;
1411
1404
  const next = [
1412
- { at: Date.now(), source, type, payload: structuredClone(payload) },
1405
+ {
1406
+ no: nextNo,
1407
+ at: Date.now(),
1408
+ source,
1409
+ type,
1410
+ payload: structuredClone(payload),
1411
+ },
1413
1412
  ...prev,
1414
1413
  ];
1415
1414
  return next.length > 200 ? next.slice(0, 200) : next;
@@ -1724,6 +1723,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1724
1723
  step,
1725
1724
  flush,
1726
1725
  runAutoLayout,
1726
+ updateEdgeType,
1727
1727
  }), [
1728
1728
  wb,
1729
1729
  runner,
@@ -1750,6 +1750,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1750
1750
  step,
1751
1751
  flush,
1752
1752
  runAutoLayout,
1753
+ wb,
1753
1754
  ]);
1754
1755
  return (jsx(WorkbenchContext.Provider, { value: value, children: children }));
1755
1756
  }
@@ -1785,7 +1786,7 @@ function DebugEvents({ autoScroll, onAutoScrollChange, hideWorkbench, onHideWork
1785
1786
  return String(v);
1786
1787
  }
1787
1788
  };
1788
- return (jsxs("div", { className: "flex flex-col h-full min-h-0", children: [jsxs("div", { className: "flex items-center justify-between mb-1", children: [jsx("div", { className: "font-semibold", children: "Events" }), jsxs("div", { className: "flex items-center gap-2", children: [jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-700", children: [jsx("input", { type: "checkbox", checked: hideWorkbench, onChange: (e) => onHideWorkbenchChange?.(e.target.checked) }), jsx("span", { children: "Hide workbench" })] }), jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-700", children: [jsx("input", { type: "checkbox", checked: autoScroll, onChange: (e) => onAutoScrollChange?.(e.target.checked) }), jsx("span", { children: "Auto scroll" })] }), jsx("button", { onClick: clearEvents, className: "text-xs px-2 py-0.5 border border-gray-300 rounded", children: "Clear" })] })] }), jsx("div", { ref: scrollRef, className: "flex-1 overflow-auto text-[11px] leading-4 divide-y divide-gray-200", children: rows.map((ev, idx) => (jsxs("div", { className: "opacity-85 odd:bg-gray-50 px-2 py-1", children: [jsxs("div", { className: "flex items-baseline gap-2", children: [jsx("span", { className: "w-8 shrink-0 text-right text-gray-500 select-none", children: idx + 1 }), jsxs("span", { className: "text-gray-500", children: [new Date(ev.at).toLocaleTimeString(), " \u00B7 ", ev.source, ":", ev.type] })] }), jsx("pre", { className: "m-0 whitespace-pre-wrap ml-10", children: renderPayload(ev.payload) })] }, `${ev.at}:${idx}`))) })] }));
1789
+ return (jsxs("div", { className: "flex flex-col h-full min-h-0", children: [jsxs("div", { className: "flex items-center justify-between mb-1", children: [jsx("div", { className: "font-semibold", children: "Events" }), jsxs("div", { className: "flex items-center gap-2", children: [jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-700", children: [jsx("input", { type: "checkbox", checked: hideWorkbench, onChange: (e) => onHideWorkbenchChange?.(e.target.checked) }), jsx("span", { children: "Hide workbench" })] }), jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-700", children: [jsx("input", { type: "checkbox", checked: autoScroll, onChange: (e) => onAutoScrollChange?.(e.target.checked) }), jsx("span", { children: "Auto scroll" })] }), jsx("button", { onClick: clearEvents, className: "text-xs px-2 py-0.5 border border-gray-300 rounded", children: "Clear" })] })] }), jsx("div", { ref: scrollRef, className: "flex-1 overflow-auto text-[11px] leading-4 divide-y divide-gray-200", children: rows.map((ev) => (jsxs("div", { className: "opacity-85 odd:bg-gray-50 px-2 py-1", children: [jsxs("div", { className: "flex items-baseline gap-2", children: [jsx("span", { className: "w-12 shrink-0 text-right text-gray-500 select-none", children: ev.no }), jsxs("span", { className: "text-gray-500", children: [new Date(ev.at).toLocaleTimeString(), " \u00B7 ", ev.source, ":", ev.type] })] }), jsx("pre", { className: "m-0 whitespace-pre-wrap ml-12", children: renderPayload(ev.payload) })] }, `${ev.at}:${ev.no}`))) })] }));
1789
1790
  }
1790
1791
 
1791
1792
  function Inspector({ debug, autoScroll, hideWorkbench, onAutoScrollChange, onHideWorkbenchChange, toString, toElement, contextPanel, setInput, }) {
@@ -1800,7 +1801,7 @@ function Inspector({ debug, autoScroll, hideWorkbench, onAutoScrollChange, onHid
1800
1801
  return String(value ?? "");
1801
1802
  }
1802
1803
  };
1803
- const { registry, def, selectedNodeId, selectedEdgeId, inputsMap, outputsMap, outputTypesMap, nodeStatus, validationByNode, validationByEdge, validationGlobal, valuesTick, } = useWorkbenchContext();
1804
+ const { registry, def, selectedNodeId, selectedEdgeId, inputsMap, outputsMap, outputTypesMap, nodeStatus, validationByNode, validationByEdge, validationGlobal, valuesTick, updateEdgeType, } = useWorkbenchContext();
1804
1805
  const nodeValidationIssues = validationByNode.issues;
1805
1806
  const edgeValidationIssues = validationByEdge.issues;
1806
1807
  const nodeValidationHandles = validationByNode;
@@ -1877,7 +1878,11 @@ function Inspector({ debug, autoScroll, hideWorkbench, onAutoScrollChange, onHid
1877
1878
  setOriginals(nextOriginals);
1878
1879
  }, [selectedNodeId, selectedDesc, valuesTick]);
1879
1880
  const widthClass = debug ? "w-[480px]" : "w-[320px]";
1880
- return (jsxs("div", { className: `${widthClass} border-l border-gray-300 p-3 flex flex-col h-full min-h-0 overflow-hidden`, children: [contextPanel && (jsx("div", { className: "mb-2", children: contextPanel })), jsx("div", { className: "font-semibold mb-2", children: "Inspector" }), jsxs("div", { className: "text-xs text-gray-500 mb-2", children: ["valuesTick: ", valuesTick] }), jsx("div", { className: "flex-1 overflow-auto", children: !selectedNode && !selectedEdge ? (jsxs("div", { children: [jsx("div", { className: "text-gray-500", children: "Select a node or edge." }), globalValidationIssues && globalValidationIssues.length > 0 && (jsxs("div", { className: "mt-2 text-xs bg-red-50 border border-red-200 rounded px-2 py-1", children: [jsx("div", { className: "font-semibold mb-1", children: "Validation" }), jsx("ul", { className: "list-disc ml-4", children: globalValidationIssues.map((m, i) => (jsxs("li", { className: "flex items-center gap-1", children: [jsx(IssueBadge, { level: m.level, size: 24, className: "w-6 h-6" }), jsx("span", { children: `${m.code}: ${m.message}` })] }, i))) })] }))] })) : selectedEdge ? (jsxs("div", { children: [jsxs("div", { className: "mb-2", children: [jsxs("div", { children: ["Edge: ", selectedEdge.id] }), jsxs("div", { children: [selectedEdge.source.nodeId, ".", selectedEdge.source.handle, " \u2192", " ", selectedEdge.target.nodeId, ".", selectedEdge.target.handle] }), jsxs("div", { children: ["Type: ", selectedEdge.typeId] })] }), selectedEdgeValidation.length > 0 && (jsxs("div", { className: "mt-2 text-xs bg-red-50 border border-red-200 rounded px-2 py-1", children: [jsx("div", { className: "font-semibold mb-1", children: "Validation" }), jsx("ul", { className: "list-disc ml-4", children: selectedEdgeValidation.map((m, i) => (jsxs("li", { className: "flex items-center gap-1", children: [jsx(IssueBadge, { level: m.level, size: 24, className: "w-6 h-6" }), jsx("span", { children: `${m.code}: ${m.message}` })] }, i))) })] }))] })) : (jsxs("div", { children: [selectedNode && (jsxs("div", { className: "mb-2", children: [jsxs("div", { children: ["Node: ", selectedNode.nodeId] }), jsxs("div", { children: ["Type: ", selectedNode.typeId] }), !!selectedNodeStatus?.lastError && (jsx("div", { className: "mt-2 text-sm text-red-700 bg-red-50 border border-red-200 rounded px-2 py-1 break-words", children: String(selectedNodeStatus.lastError?.message ??
1881
+ return (jsxs("div", { className: `${widthClass} border-l border-gray-300 p-3 flex flex-col h-full min-h-0 overflow-hidden`, children: [contextPanel && jsx("div", { className: "mb-2", children: contextPanel }), jsx("div", { className: "font-semibold mb-2", children: "Inspector" }), jsxs("div", { className: "text-xs text-gray-500 mb-2", children: ["valuesTick: ", valuesTick] }), jsx("div", { className: "flex-1 overflow-auto", children: !selectedNode && !selectedEdge ? (jsxs("div", { children: [jsx("div", { className: "text-gray-500", children: "Select a node or edge." }), globalValidationIssues && globalValidationIssues.length > 0 && (jsxs("div", { className: "mt-2 text-xs bg-red-50 border border-red-200 rounded px-2 py-1", children: [jsx("div", { className: "font-semibold mb-1", children: "Validation" }), jsx("ul", { className: "list-disc ml-4", children: globalValidationIssues.map((m, i) => (jsxs("li", { className: "flex items-center gap-1", children: [jsx(IssueBadge, { level: m.level, size: 24, className: "w-6 h-6" }), jsx("span", { children: `${m.code}: ${m.message}` })] }, i))) })] }))] })) : selectedEdge ? (jsxs("div", { children: [jsxs("div", { className: "mb-2", children: [jsxs("div", { children: ["Edge: ", selectedEdge.id] }), jsxs("div", { children: [selectedEdge.source.nodeId, ".", selectedEdge.source.handle, " \u2192", " ", selectedEdge.target.nodeId, ".", selectedEdge.target.handle] }), jsxs("div", { className: "flex items-center gap-2 mt-1", children: [jsxs("label", { className: "w-20 flex flex-col", children: [jsx("span", { children: "Type" }), jsx("span", { className: "text-gray-500 text-[11px]", children: "DataTypeId" })] }), jsxs("select", { className: "border border-gray-300 rounded px-2 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500 w-full", value: selectedEdge.typeId ?? "", onChange: (e) => {
1882
+ const v = e.target.value;
1883
+ const next = v === "" ? undefined : v;
1884
+ updateEdgeType(selectedEdge.id, next);
1885
+ }, children: [jsx("option", { value: "", children: "(infer from source)" }), Array.from(registry.types.keys()).map((tid) => (jsx("option", { value: tid, children: tid }, tid)))] })] })] }), selectedEdgeValidation.length > 0 && (jsxs("div", { className: "mt-2 text-xs bg-red-50 border border-red-200 rounded px-2 py-1", children: [jsx("div", { className: "font-semibold mb-1", children: "Validation" }), jsx("ul", { className: "list-disc ml-4", children: selectedEdgeValidation.map((m, i) => (jsxs("li", { className: "flex items-center gap-1", children: [jsx(IssueBadge, { level: m.level, size: 24, className: "w-6 h-6" }), jsx("span", { children: `${m.code}: ${m.message}` })] }, i))) })] }))] })) : (jsxs("div", { children: [selectedNode && (jsxs("div", { className: "mb-2", children: [jsxs("div", { children: ["Node: ", selectedNode.nodeId] }), jsxs("div", { children: ["Type: ", selectedNode.typeId] }), !!selectedNodeStatus?.lastError && (jsx("div", { className: "mt-2 text-sm text-red-700 bg-red-50 border border-red-200 rounded px-2 py-1 break-words", children: String(selectedNodeStatus.lastError?.message ??
1881
1886
  selectedNodeStatus.lastError) }))] })), jsxs("div", { className: "mb-2", children: [jsx("div", { className: "font-semibold mb-1", children: "Inputs" }), inputHandles.length === 0 ? (jsx("div", { className: "text-gray-500", children: "No inputs" })) : (inputHandles.map((h) => {
1882
1887
  const typeId = getInputTypeId(selectedDesc?.inputs, h);
1883
1888
  const isLinked = def.edges.some((e) => e.target.nodeId === selectedNodeId &&