@bian-womp/spark-workbench 0.2.92 → 0.2.93

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 CHANGED
@@ -3657,6 +3657,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
3657
3657
  const [systemErrors, setSystemErrors] = React.useState([]);
3658
3658
  const [registryErrors, setRegistryErrors] = React.useState([]);
3659
3659
  const [inputValidationErrors, setInputValidationErrors] = React.useState([]);
3660
+ const [registryVersion, setRegistryVersion] = React.useState(0);
3660
3661
  const clearSystemErrors = React.useCallback(() => setSystemErrors([]), []);
3661
3662
  const clearRegistryErrors = React.useCallback(() => setRegistryErrors([]), []);
3662
3663
  const clearInputValidationErrors = React.useCallback(() => setInputValidationErrors([]), []);
@@ -4319,6 +4320,8 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
4319
4320
  try {
4320
4321
  setRegistry(newReg);
4321
4322
  wb.setRegistry(newReg);
4323
+ // Increment registry version to trigger UI updates
4324
+ setRegistryVersion((v) => v + 1);
4322
4325
  // Trigger a graph update so the UI revalidates with new types/enums/nodes
4323
4326
  try {
4324
4327
  await runner.update(wb.def);
@@ -4516,6 +4519,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
4516
4519
  updateEdgeType,
4517
4520
  triggerExternal,
4518
4521
  uiVersion,
4522
+ registryVersion,
4519
4523
  overrides,
4520
4524
  getNodeDisplayName,
4521
4525
  setNodeName,
@@ -4557,6 +4561,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
4557
4561
  wb,
4558
4562
  runner,
4559
4563
  uiVersion,
4564
+ registryVersion,
4560
4565
  overrides,
4561
4566
  getNodeDisplayName,
4562
4567
  setNodeName,
@@ -5538,10 +5543,9 @@ function useKeyboardShortcutToast() {
5538
5543
  }
5539
5544
 
5540
5545
  const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement, getDefaultNodeSize }, ref) => {
5541
- const { wb, registry, inputsMap, inputDefaultsMap, outputsMap, outputTypesMap, valuesTick, nodeStatus, edgeStatus, validationByNode, validationByEdge, uiVersion, runner, engineKind, overrides, } = useWorkbenchContext();
5546
+ const { wb, registry, inputsMap, inputDefaultsMap, outputsMap, outputTypesMap, valuesTick, nodeStatus, edgeStatus, validationByNode, validationByEdge, uiVersion, registryVersion, runner, engineKind, overrides, } = useWorkbenchContext();
5542
5547
  const nodeValidation = validationByNode;
5543
5548
  const edgeValidation = validationByEdge.errors;
5544
- const [registryVersion, setRegistryVersion] = React.useState(0);
5545
5549
  const [historyState, setHistoryState] = React.useState(wb.getHistory());
5546
5550
  const prevNodesRef = React.useRef([]);
5547
5551
  const prevEdgesRef = React.useRef([]);
@@ -5635,6 +5639,7 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement, get
5635
5639
  const resolver = (nodeTypeId) => custom.has(nodeTypeId) ? `spark-${nodeTypeId}` : "spark-default";
5636
5640
  return { nodeTypes: types, resolveNodeType: resolver };
5637
5641
  // Include uiVersion to recompute when custom renderers are registered
5642
+ // Include registryVersion to recompute when registry enums/types change
5638
5643
  }, [wb, registry, uiVersion, ui]);
5639
5644
  const edgeTypes = React.useMemo(() => {
5640
5645
  // Use default edge renderer override if registered, otherwise use DefaultEdge
@@ -5922,12 +5927,6 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement, get
5922
5927
  const onCloseSelectionMenu = React.useCallback(() => {
5923
5928
  setSelectionMenuOpen(false);
5924
5929
  }, []);
5925
- React.useEffect(() => {
5926
- const off = runner.on("registry", () => {
5927
- setRegistryVersion((v) => v + 1);
5928
- });
5929
- return () => off();
5930
- }, [runner]);
5931
5930
  React.useEffect(() => {
5932
5931
  const off = wb.on("historyChanged", (event) => {
5933
5932
  setHistoryState(event.history);