@foresthubai/workflow-builder 0.4.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowBuilder.d.ts","sourceRoot":"","sources":["../src/WorkflowBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAgClE,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErD;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEpD;AAMD,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,sFAAsF;IACtF,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,WAAW,CAAC;IAG3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAGrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAGjB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnD;AAOD,eAAO,MAAM,eAAe,wHAwS3B,CAAC"}
1
+ {"version":3,"file":"WorkflowBuilder.d.ts","sourceRoot":"","sources":["../src/WorkflowBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AA+BlE,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErD;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEpD;AAMD,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,sFAAsF;IACtF,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,WAAW,CAAC;IAG3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAGrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAGjB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnD;AAOD,eAAO,MAAM,eAAe,wHAqS3B,CAAC"}
@@ -14,7 +14,7 @@ import { useFunctionDiagnosticsSync } from "./hooks/useFunctionDiagnosticsSync";
14
14
  import { useSuppressThemeTransition } from "./hooks/useSuppressThemeTransition";
15
15
  import { useFunctions } from "./hooks/useFunctions";
16
16
  import { useWorkflowSerialization, readStateFromStores } from "./hooks/useWorkflowSerialization";
17
- import { clearAllCanvasStores, getAllCanvasStores, getOrCreateCanvasStore, subscribeCanvasRegistryChanges, MAIN_CANVAS_ID, } from "./stores/canvasStore";
17
+ import { getAllCanvasStores, getOrCreateCanvasStore, subscribeCanvasRegistryChanges, MAIN_CANVAS_ID, } from "./stores/canvasStore";
18
18
  import { useDebugStore } from "./stores/debugStore";
19
19
  import { useEditorStore } from "./stores/editorStore";
20
20
  /** True when canvas mutations should be blocked (preview or debug). */
@@ -38,7 +38,7 @@ export const WorkflowBuilder = forwardRef(function WorkflowBuilder(props, ref) {
38
38
  if (language && i18n.language !== language)
39
39
  i18n.changeLanguage(language);
40
40
  }, [language]);
41
- const { importProject, exportProject } = useWorkflowSerialization();
41
+ const { importProject, exportProject, clearProject } = useWorkflowSerialization();
42
42
  // Color-mode toggles should snap, not fade — see hook docs.
43
43
  useSuppressThemeTransition();
44
44
  // Keep project-scoped (channel + memory + model) diagnostics in sync. Mounted
@@ -126,8 +126,12 @@ export const WorkflowBuilder = forwardRef(function WorkflowBuilder(props, ref) {
126
126
  try {
127
127
  if (initialMode)
128
128
  useEditorStore.getState().setBuilderMode(initialMode);
129
+ // No initialWorkflow → start empty; the module-level stores may still hold the
130
+ // previously mounted project, so clear them rather than leaving them untouched.
129
131
  if (initialWorkflow)
130
132
  importProject(initialWorkflow);
133
+ else
134
+ clearProject();
131
135
  }
132
136
  catch (e) {
133
137
  onError?.(e instanceof Error ? e : new Error(String(e)));
@@ -244,20 +248,14 @@ export const WorkflowBuilder = forwardRef(function WorkflowBuilder(props, ref) {
244
248
  }
245
249
  },
246
250
  exportWorkflow: () => exportProject(),
247
- clear: () => {
248
- clearAllCanvasStores();
249
- // Function declarations are project-scoped (not in canvas stores), so reset
250
- // them explicitly alongside the cleared bodies.
251
- useEditorStore.getState().setFunctions(() => ({}));
252
- useEditorStore.getState().clearSelection();
253
- },
251
+ clear: () => clearProject(),
254
252
  setMode: (mode) => useEditorStore.getState().setBuilderMode(mode),
255
253
  getMode: () => useEditorStore.getState().builderMode,
256
254
  validate: runValidate,
257
255
  undo: () => getOrCreateCanvasStore(useEditorStore.getState().activeCanvasId).undo(),
258
256
  redo: () => getOrCreateCanvasStore(useEditorStore.getState().activeCanvasId).redo(),
259
257
  setDebugPhase: (phase) => useDebugStore.getState().setPhase(phase),
260
- }), [importProject, exportProject, onError, runValidate]);
258
+ }), [importProject, exportProject, clearProject, onError, runValidate]);
261
259
  // I18nextProvider scopes the builder's PRIVATE i18n instance to this subtree,
262
260
  // so the useTranslation() consumers read it (never the host's i18next).
263
261
  //
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowBuilder.js","sourceRoot":"","sources":["../src/WorkflowBuilder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowBuilder.js","sourceRoot":"","sources":["../src/WorkflowBuilder.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { type ApiWorkflow, type Workflow } from "@foresthubai/workflow-core/work
11
11
  export declare function useWorkflowSerialization(): {
12
12
  exportProject: () => ApiWorkflow;
13
13
  importProject: (workflow: ApiWorkflow) => void;
14
+ clearProject: () => void;
14
15
  };
15
16
  /**
16
17
  * Read the editor's live Zustand state into a {@link Workflow} literal.
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkflowSerialization.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkflowSerialization.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAe,MAAM,qCAAqC,CAAC;AAY3H;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB;yBAoDA,WAAW;8BAnDJ,WAAW,KAAG,IAAI;EAwDhE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAqC9C"}
1
+ {"version":3,"file":"useWorkflowSerialization.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkflowSerialization.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAe,MAAM,qCAAqC,CAAC;AAY3H;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB;yBAoDA,WAAW;8BAnDJ,WAAW,KAAG,IAAI;wBA0D1B,IAAI;EAe1C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAqC9C"}
@@ -1,7 +1,7 @@
1
1
  import { useCallback } from "react";
2
2
  import { serialize, deserialize } from "@foresthubai/workflow-core/workflow";
3
3
  import { migrate } from "@foresthubai/workflow-core/migration";
4
- import { clearAllCanvasStores, getOrCreateCanvasStore, getAllCanvasStores, notifyCanvasRegistryChange } from "../stores/canvasStore";
4
+ import { clearAllCanvasStores, getOrCreateCanvasStore, getAllCanvasStores, notifyCanvasRegistryChange, MAIN_CANVAS_ID } from "../stores/canvasStore";
5
5
  import { useEditorStore } from "../stores/editorStore";
6
6
  import { getReactFlowType } from "../utils/graphOperations";
7
7
  /**
@@ -63,7 +63,23 @@ export function useWorkflowSerialization() {
63
63
  const exportProject = useCallback(() => {
64
64
  return serialize(readStateFromStores());
65
65
  }, []);
66
- return { exportProject, importProject };
66
+ // Inverse of importProject: reset every (module-level) store to empty so a fresh
67
+ // builder never inherits the previously mounted project. Used by the clear() handle
68
+ // and on mount when no initialWorkflow is supplied.
69
+ const clearProject = useCallback(() => {
70
+ clearAllCanvasStores(); // drops all canvas stores, re-seeds an empty main, notifies
71
+ const editor = useEditorStore.getState();
72
+ // A stale non-main activeCanvasId would lazily resurrect a phantom function body.
73
+ editor.setActiveCanvas(MAIN_CANVAS_ID);
74
+ // Project-scoped resources aren't touched by clearAllCanvasStores. Empty only when
75
+ // non-empty so an already-clean store doesn't bump mutationCount (as importProject).
76
+ editor.setChannels((c) => (Object.keys(c).length ? {} : c));
77
+ editor.setMemory((m) => (Object.keys(m).length ? {} : m));
78
+ editor.setModels((m) => (Object.keys(m).length ? {} : m));
79
+ editor.setFunctions((f) => (Object.keys(f).length ? {} : f));
80
+ editor.clearSelection();
81
+ }, []);
82
+ return { exportProject, importProject, clearProject };
67
83
  }
68
84
  /**
69
85
  * Read the editor's live Zustand state into a {@link Workflow} literal.
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkflowSerialization.js","sourceRoot":"","sources":["../../src/hooks/useWorkflowSerialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWorkflowSerialization.js","sourceRoot":"","sources":["../../src/hooks/useWorkflowSerialization.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { Channel } from "@foresthubai/workflow-core/channel";
2
2
  import type { Memory } from "@foresthubai/workflow-core/memory";
3
3
  import type { Model, ModelInfo } from "@foresthubai/workflow-core/model";
4
4
  import type { FunctionDeclaration } from "@foresthubai/workflow-core/function";
5
- export declare function createDefaultChannels(): Record<string, Channel>;
6
5
  import type { BuilderMode } from "../WorkflowBuilder";
7
6
  import type { SidebarTab } from "../panels/BuilderSidebar";
8
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"editorStore.d.ts","sourceRoot":"","sources":["../../src/stores/editorStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAS/E,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG/D;AAED,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAetC,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,UAAU,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAI9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAG/C,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,iFAAiF;IACjF,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,yIAAyI;IACzI,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;wFACoF;IACpF,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC3F,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACvF,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrH,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,cAAc,0EAgGxB,CAAC"}
1
+ {"version":3,"file":"editorStore.d.ts","sourceRoot":"","sources":["../../src/stores/editorStore.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,5 @@
1
1
  import { create } from "zustand";
2
2
  import { getCanvasStore, getOrCreateCanvasStore, MAIN_CANVAS_ID } from "./canvasStore";
3
- // ---------------------------------------------------------------------------
4
- // Default Channels — every workflow starts pre-initialized with a UART
5
- // port so nodes that need a serial port (SerialRead/Write, OnSerialReceive)
6
- // have something to bind to out of the box. Domain shape only — the driver
7
- // binding is supplied at deploy time via the DeploymentMapping, not here.
8
- // ---------------------------------------------------------------------------
9
- export function createDefaultChannels() {
10
- const uart = { id: "uart0", label: "Serial", type: "UART", arguments: {} };
11
- return { [uart.id]: uart };
12
- }
13
3
  const NO_SELECTION = { kind: "none" };
14
4
  // Drop ReactFlow's visual selection on a canvas so previously-glowing nodes/edges
15
5
  // stop glowing. Peek (never create) — clearing selection must not resurrect a
@@ -22,7 +12,7 @@ export const useEditorStore = create((set, get) => ({
22
12
  builderMode: { type: "edit" },
23
13
  selection: NO_SELECTION,
24
14
  activeSidebarTab: "nodes",
25
- channels: createDefaultChannels(),
15
+ channels: {},
26
16
  memory: {},
27
17
  models: {},
28
18
  functions: {},
@@ -1 +1 @@
1
- {"version":3,"file":"editorStore.js","sourceRoot":"","sources":["../../src/stores/editorStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editorStore.js","sourceRoot":"","sources":["../../src/stores/editorStore.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foresthubai/workflow-builder",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Reusable React component library: the workflow canvas/editor. Imports workflow-core for types and validation.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -41,7 +41,7 @@
41
41
  "tailwindcss": "^3.4.0"
42
42
  },
43
43
  "dependencies": {
44
- "@foresthubai/workflow-core": "0.4.0",
44
+ "@foresthubai/workflow-core": "0.4.2",
45
45
  "@radix-ui/react-alert-dialog": "^1.1.1",
46
46
  "@radix-ui/react-checkbox": "^1.1.1",
47
47
  "@radix-ui/react-collapsible": "^1.1.0",
@@ -24,7 +24,6 @@ import { useSuppressThemeTransition } from "./hooks/useSuppressThemeTransition";
24
24
  import { useFunctions } from "./hooks/useFunctions";
25
25
  import { useWorkflowSerialization, readStateFromStores } from "./hooks/useWorkflowSerialization";
26
26
  import {
27
- clearAllCanvasStores,
28
27
  getAllCanvasStores,
29
28
  getOrCreateCanvasStore,
30
29
  subscribeCanvasRegistryChanges,
@@ -134,7 +133,7 @@ export const WorkflowBuilder = forwardRef<WorkflowBuilderHandle, WorkflowBuilder
134
133
  if (language && i18n.language !== language) i18n.changeLanguage(language);
135
134
  }, [language]);
136
135
 
137
- const { importProject, exportProject } = useWorkflowSerialization();
136
+ const { importProject, exportProject, clearProject } = useWorkflowSerialization();
138
137
 
139
138
  // Color-mode toggles should snap, not fade — see hook docs.
140
139
  useSuppressThemeTransition();
@@ -223,7 +222,10 @@ export const WorkflowBuilder = forwardRef<WorkflowBuilderHandle, WorkflowBuilder
223
222
  initialLoadDone.current = true;
224
223
  try {
225
224
  if (initialMode) useEditorStore.getState().setBuilderMode(initialMode);
225
+ // No initialWorkflow → start empty; the module-level stores may still hold the
226
+ // previously mounted project, so clear them rather than leaving them untouched.
226
227
  if (initialWorkflow) importProject(initialWorkflow);
228
+ else clearProject();
227
229
  } catch (e) {
228
230
  onError?.(e instanceof Error ? e : new Error(String(e)));
229
231
  }
@@ -352,13 +354,7 @@ export const WorkflowBuilder = forwardRef<WorkflowBuilderHandle, WorkflowBuilder
352
354
  }
353
355
  },
354
356
  exportWorkflow: () => exportProject(),
355
- clear: () => {
356
- clearAllCanvasStores();
357
- // Function declarations are project-scoped (not in canvas stores), so reset
358
- // them explicitly alongside the cleared bodies.
359
- useEditorStore.getState().setFunctions(() => ({}));
360
- useEditorStore.getState().clearSelection();
361
- },
357
+ clear: () => clearProject(),
362
358
  setMode: (mode) => useEditorStore.getState().setBuilderMode(mode),
363
359
  getMode: () => useEditorStore.getState().builderMode,
364
360
  validate: runValidate,
@@ -366,7 +362,7 @@ export const WorkflowBuilder = forwardRef<WorkflowBuilderHandle, WorkflowBuilder
366
362
  redo: () => getOrCreateCanvasStore(useEditorStore.getState().activeCanvasId).redo(),
367
363
  setDebugPhase: (phase) => useDebugStore.getState().setPhase(phase),
368
364
  }),
369
- [importProject, exportProject, onError, runValidate],
365
+ [importProject, exportProject, clearProject, onError, runValidate],
370
366
  );
371
367
 
372
368
  // I18nextProvider scopes the builder's PRIVATE i18n instance to this subtree,
@@ -7,7 +7,7 @@ import type { Channel } from "@foresthubai/workflow-core/channel";
7
7
  import type { Memory } from "@foresthubai/workflow-core/memory";
8
8
  import type { Model } from "@foresthubai/workflow-core/model";
9
9
  import { Edge, Node } from "@xyflow/react";
10
- import { clearAllCanvasStores, getOrCreateCanvasStore, getAllCanvasStores, notifyCanvasRegistryChange } from "../stores/canvasStore";
10
+ import { clearAllCanvasStores, getOrCreateCanvasStore, getAllCanvasStores, notifyCanvasRegistryChange, MAIN_CANVAS_ID } from "../stores/canvasStore";
11
11
  import { useEditorStore } from "../stores/editorStore";
12
12
  import { getReactFlowType } from "../utils/graphOperations";
13
13
 
@@ -76,7 +76,24 @@ export function useWorkflowSerialization() {
76
76
  return serialize(readStateFromStores());
77
77
  }, []);
78
78
 
79
- return { exportProject, importProject };
79
+ // Inverse of importProject: reset every (module-level) store to empty so a fresh
80
+ // builder never inherits the previously mounted project. Used by the clear() handle
81
+ // and on mount when no initialWorkflow is supplied.
82
+ const clearProject = useCallback((): void => {
83
+ clearAllCanvasStores(); // drops all canvas stores, re-seeds an empty main, notifies
84
+ const editor = useEditorStore.getState();
85
+ // A stale non-main activeCanvasId would lazily resurrect a phantom function body.
86
+ editor.setActiveCanvas(MAIN_CANVAS_ID);
87
+ // Project-scoped resources aren't touched by clearAllCanvasStores. Empty only when
88
+ // non-empty so an already-clean store doesn't bump mutationCount (as importProject).
89
+ editor.setChannels((c) => (Object.keys(c).length ? {} : c));
90
+ editor.setMemory((m) => (Object.keys(m).length ? {} : m));
91
+ editor.setModels((m) => (Object.keys(m).length ? {} : m));
92
+ editor.setFunctions((f) => (Object.keys(f).length ? {} : f));
93
+ editor.clearSelection();
94
+ }, []);
95
+
96
+ return { exportProject, importProject, clearProject };
80
97
  }
81
98
 
82
99
  /**
@@ -5,18 +5,6 @@ import type { Memory } from "@foresthubai/workflow-core/memory";
5
5
  import type { Model, ModelInfo } from "@foresthubai/workflow-core/model";
6
6
  import type { FunctionDeclaration } from "@foresthubai/workflow-core/function";
7
7
 
8
- // ---------------------------------------------------------------------------
9
- // Default Channels — every workflow starts pre-initialized with a UART
10
- // port so nodes that need a serial port (SerialRead/Write, OnSerialReceive)
11
- // have something to bind to out of the box. Domain shape only — the driver
12
- // binding is supplied at deploy time via the DeploymentMapping, not here.
13
- // ---------------------------------------------------------------------------
14
-
15
- export function createDefaultChannels(): Record<string, Channel> {
16
- const uart: Channel = { id: "uart0", label: "Serial", type: "UART", arguments: {} };
17
- return { [uart.id]: uart };
18
- }
19
-
20
8
  import type { BuilderMode } from "../WorkflowBuilder";
21
9
  // Type-only (erased) — the active left-sidebar tab lives here so non-sidebar code
22
10
  // (e.g. validation navigation) can open a specific panel. No runtime cycle.
@@ -108,7 +96,7 @@ export const useEditorStore = create<EditorState>((set, get) => ({
108
96
  builderMode: { type: "edit" },
109
97
  selection: NO_SELECTION,
110
98
  activeSidebarTab: "nodes",
111
- channels: createDefaultChannels(),
99
+ channels: {},
112
100
  memory: {},
113
101
  models: {},
114
102
  functions: {},