@foresthubai/workflow-builder 0.4.3 → 0.4.5
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/LICENSE +661 -661
- package/NOTICE +16 -16
- package/README.md +110 -110
- package/dist/BuilderLayout.d.ts.map +1 -1
- package/dist/BuilderLayout.js +52 -61
- package/dist/BuilderLayout.js.map +1 -1
- package/dist/Canvas.d.ts.map +1 -1
- package/dist/Canvas.js +10 -3
- package/dist/Canvas.js.map +1 -1
- package/dist/CanvasEditor.d.ts.map +1 -1
- package/dist/CanvasEditor.js.map +1 -1
- package/dist/CanvasTabsToolbar.d.ts.map +1 -1
- package/dist/CanvasTabsToolbar.js +3 -0
- package/dist/CanvasTabsToolbar.js.map +1 -1
- package/dist/RightConfigPanel.d.ts.map +1 -1
- package/dist/RightConfigPanel.js +3 -0
- package/dist/RightConfigPanel.js.map +1 -1
- package/dist/WorkflowBuilder.d.ts +7 -13
- package/dist/WorkflowBuilder.d.ts.map +1 -1
- package/dist/WorkflowBuilder.js +25 -13
- package/dist/WorkflowBuilder.js.map +1 -1
- package/dist/cn.d.ts.map +1 -1
- package/dist/cn.js +3 -0
- package/dist/cn.js.map +1 -1
- package/dist/components/ui/add-button.d.ts.map +1 -1
- package/dist/components/ui/add-button.js +3 -0
- package/dist/components/ui/add-button.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +3 -0
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/alert.js +3 -0
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +3 -0
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +3 -0
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +3 -0
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +3 -0
- package/dist/components/ui/collapsible.js.map +1 -1
- package/dist/components/ui/command.d.ts +2 -2
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +3 -0
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/delete-button.d.ts.map +1 -1
- package/dist/components/ui/delete-button.js +3 -0
- package/dist/components/ui/delete-button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +3 -0
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +3 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.d.ts +1 -1
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +3 -0
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/label.js +3 -0
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/readonly-banner.d.ts.map +1 -1
- package/dist/components/ui/readonly-banner.js +3 -0
- package/dist/components/ui/readonly-banner.js.map +1 -1
- package/dist/components/ui/resizable.d.ts +1 -1
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/resizable.js +3 -0
- package/dist/components/ui/resizable.js.map +1 -1
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +3 -0
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +3 -0
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/separator.js +3 -0
- package/dist/components/ui/separator.js.map +1 -1
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +3 -0
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/textarea.d.ts +1 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +3 -0
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/toast.d.ts.map +1 -1
- package/dist/components/ui/toast.js +3 -0
- package/dist/components/ui/toast.js.map +1 -1
- package/dist/components/ui/toaster.d.ts.map +1 -1
- package/dist/components/ui/toaster.js +3 -0
- package/dist/components/ui/toaster.js.map +1 -1
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +3 -0
- package/dist/components/ui/toggle-group.js.map +1 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +3 -0
- package/dist/components/ui/toggle.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +3 -0
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/dialogs/NodePickerDialog.d.ts.map +1 -1
- package/dist/dialogs/NodePickerDialog.js +3 -0
- package/dist/dialogs/NodePickerDialog.js.map +1 -1
- package/dist/dialogs/ValidationDialog.d.ts.map +1 -1
- package/dist/dialogs/ValidationDialog.js +3 -0
- package/dist/dialogs/ValidationDialog.js.map +1 -1
- package/dist/graph/BaseNode.d.ts.map +1 -1
- package/dist/graph/BaseNode.js +21 -16
- package/dist/graph/BaseNode.js.map +1 -1
- package/dist/graph/CustomEdge.d.ts.map +1 -1
- package/dist/graph/CustomEdge.js +4 -1
- package/dist/graph/CustomEdge.js.map +1 -1
- package/dist/graph/CustomNode.d.ts.map +1 -1
- package/dist/graph/CustomNode.js +3 -0
- package/dist/graph/CustomNode.js.map +1 -1
- package/dist/graph/FunctionCallNode.d.ts.map +1 -1
- package/dist/graph/FunctionCallNode.js.map +1 -1
- package/dist/graph/PortHandle.d.ts.map +1 -1
- package/dist/graph/PortHandle.js.map +1 -1
- package/dist/graph/reactFlowRegistry.d.ts.map +1 -1
- package/dist/graph/reactFlowRegistry.js +3 -0
- package/dist/graph/reactFlowRegistry.js.map +1 -1
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/use-toast.js +3 -0
- package/dist/hooks/use-toast.js.map +1 -1
- package/dist/hooks/useAvailableVariables.d.ts.map +1 -1
- package/dist/hooks/useAvailableVariables.js +3 -0
- package/dist/hooks/useAvailableVariables.js.map +1 -1
- package/dist/hooks/useCanvasHistory.d.ts.map +1 -1
- package/dist/hooks/useCanvasHistory.js +3 -0
- package/dist/hooks/useCanvasHistory.js.map +1 -1
- package/dist/hooks/useCanvasTabs.d.ts.map +1 -1
- package/dist/hooks/useCanvasTabs.js +3 -0
- package/dist/hooks/useCanvasTabs.js.map +1 -1
- package/dist/hooks/useFunctionDiagnosticsSync.d.ts.map +1 -1
- package/dist/hooks/useFunctionDiagnosticsSync.js +3 -0
- package/dist/hooks/useFunctionDiagnosticsSync.js.map +1 -1
- package/dist/hooks/useFunctionRegistry.d.ts.map +1 -1
- package/dist/hooks/useFunctionRegistry.js +3 -0
- package/dist/hooks/useFunctionRegistry.js.map +1 -1
- package/dist/hooks/useFunctions.d.ts.map +1 -1
- package/dist/hooks/useFunctions.js +3 -0
- package/dist/hooks/useFunctions.js.map +1 -1
- package/dist/hooks/useGraph.d.ts.map +1 -1
- package/dist/hooks/useGraph.js +3 -0
- package/dist/hooks/useGraph.js.map +1 -1
- package/dist/hooks/useNodeDefinitions.d.ts.map +1 -1
- package/dist/hooks/useNodeDefinitions.js +3 -0
- package/dist/hooks/useNodeDefinitions.js.map +1 -1
- package/dist/hooks/useParamErrors.d.ts.map +1 -1
- package/dist/hooks/useParamErrors.js +3 -0
- package/dist/hooks/useParamErrors.js.map +1 -1
- package/dist/hooks/useResolvedTheme.d.ts.map +1 -1
- package/dist/hooks/useResolvedTheme.js +3 -0
- package/dist/hooks/useResolvedTheme.js.map +1 -1
- package/dist/hooks/useResourceDiagnosticsSync.d.ts.map +1 -1
- package/dist/hooks/useResourceDiagnosticsSync.js +3 -0
- package/dist/hooks/useResourceDiagnosticsSync.js.map +1 -1
- package/dist/hooks/useSuppressThemeTransition.d.ts.map +1 -1
- package/dist/hooks/useSuppressThemeTransition.js +3 -0
- package/dist/hooks/useSuppressThemeTransition.js.map +1 -1
- package/dist/hooks/useWorkflowSerialization.d.ts.map +1 -1
- package/dist/hooks/useWorkflowSerialization.js +3 -0
- package/dist/hooks/useWorkflowSerialization.js.map +1 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/inputs/ExpressionInput.d.ts.map +1 -1
- package/dist/inputs/ExpressionInput.js +3 -0
- package/dist/inputs/ExpressionInput.js.map +1 -1
- package/dist/inputs/ParameterEditor.d.ts.map +1 -1
- package/dist/inputs/ParameterEditor.js +3 -0
- package/dist/inputs/ParameterEditor.js.map +1 -1
- package/dist/inputs/PortSection.d.ts.map +1 -1
- package/dist/inputs/PortSection.js.map +1 -1
- package/dist/mode.d.ts +11 -0
- package/dist/mode.d.ts.map +1 -0
- package/dist/mode.js +8 -0
- package/dist/mode.js.map +1 -0
- package/dist/panels/BuilderSidebar.d.ts.map +1 -1
- package/dist/panels/BuilderSidebar.js +3 -0
- package/dist/panels/BuilderSidebar.js.map +1 -1
- package/dist/panels/ChannelConfigPanel.d.ts.map +1 -1
- package/dist/panels/ChannelConfigPanel.js +3 -0
- package/dist/panels/ChannelConfigPanel.js.map +1 -1
- package/dist/panels/ChannelsPanel.d.ts.map +1 -1
- package/dist/panels/ChannelsPanel.js +3 -0
- package/dist/panels/ChannelsPanel.js.map +1 -1
- package/dist/panels/DebugConsolePanel.d.ts.map +1 -1
- package/dist/panels/DebugConsolePanel.js +3 -0
- package/dist/panels/DebugConsolePanel.js.map +1 -1
- package/dist/panels/DebugContextPanel.d.ts.map +1 -1
- package/dist/panels/DebugContextPanel.js +3 -0
- package/dist/panels/DebugContextPanel.js.map +1 -1
- package/dist/panels/DebugExternalIOPanel.d.ts.map +1 -1
- package/dist/panels/DebugExternalIOPanel.js +3 -0
- package/dist/panels/DebugExternalIOPanel.js.map +1 -1
- package/dist/panels/DiagnosticsPanel.d.ts.map +1 -1
- package/dist/panels/DiagnosticsPanel.js +3 -0
- package/dist/panels/DiagnosticsPanel.js.map +1 -1
- package/dist/panels/EdgeConfigPanel.d.ts.map +1 -1
- package/dist/panels/EdgeConfigPanel.js +4 -1
- package/dist/panels/EdgeConfigPanel.js.map +1 -1
- package/dist/panels/FunctionConfigPanel.d.ts.map +1 -1
- package/dist/panels/FunctionConfigPanel.js +4 -1
- package/dist/panels/FunctionConfigPanel.js.map +1 -1
- package/dist/panels/FunctionListPanel.d.ts.map +1 -1
- package/dist/panels/FunctionListPanel.js +3 -0
- package/dist/panels/FunctionListPanel.js.map +1 -1
- package/dist/panels/MemoryConfigPanel.d.ts.map +1 -1
- package/dist/panels/MemoryConfigPanel.js +3 -0
- package/dist/panels/MemoryConfigPanel.js.map +1 -1
- package/dist/panels/MemoryPanel.d.ts.map +1 -1
- package/dist/panels/MemoryPanel.js +3 -0
- package/dist/panels/MemoryPanel.js.map +1 -1
- package/dist/panels/ModelConfigPanel.d.ts.map +1 -1
- package/dist/panels/ModelConfigPanel.js +3 -0
- package/dist/panels/ModelConfigPanel.js.map +1 -1
- package/dist/panels/ModelsPanel.d.ts.map +1 -1
- package/dist/panels/ModelsPanel.js +3 -0
- package/dist/panels/ModelsPanel.js.map +1 -1
- package/dist/panels/NodeConfigPanel.d.ts.map +1 -1
- package/dist/panels/NodeConfigPanel.js +4 -1
- package/dist/panels/NodeConfigPanel.js.map +1 -1
- package/dist/panels/NodeLibrary.d.ts.map +1 -1
- package/dist/panels/NodeLibrary.js +4 -1
- package/dist/panels/NodeLibrary.js.map +1 -1
- package/dist/panels/ResourceConfigPanel.d.ts.map +1 -1
- package/dist/panels/ResourceConfigPanel.js +4 -1
- package/dist/panels/ResourceConfigPanel.js.map +1 -1
- package/dist/panels/ResourceListPanel.d.ts.map +1 -1
- package/dist/panels/ResourceListPanel.js +4 -1
- package/dist/panels/ResourceListPanel.js.map +1 -1
- package/dist/panels/VariableConfigPanel.d.ts.map +1 -1
- package/dist/panels/VariableConfigPanel.js +4 -1
- package/dist/panels/VariableConfigPanel.js.map +1 -1
- package/dist/panels/VariablesPanel.d.ts.map +1 -1
- package/dist/panels/VariablesPanel.js +4 -1
- package/dist/panels/VariablesPanel.js.map +1 -1
- package/dist/stores/canvasStore.d.ts.map +1 -1
- package/dist/stores/canvasStore.js +3 -0
- package/dist/stores/canvasStore.js.map +1 -1
- package/dist/stores/debugStore.d.ts.map +1 -1
- package/dist/stores/debugStore.js +3 -0
- package/dist/stores/debugStore.js.map +1 -1
- package/dist/stores/diagnosticsStore.d.ts.map +1 -1
- package/dist/stores/diagnosticsStore.js +3 -0
- package/dist/stores/diagnosticsStore.js.map +1 -1
- package/dist/stores/editorStore.d.ts +1 -1
- package/dist/stores/editorStore.d.ts.map +1 -1
- package/dist/stores/editorStore.js +3 -0
- package/dist/stores/editorStore.js.map +1 -1
- package/dist/utils/categoryConstants.d.ts.map +1 -1
- package/dist/utils/categoryConstants.js +3 -0
- package/dist/utils/categoryConstants.js.map +1 -1
- package/dist/utils/channelOperations.d.ts.map +1 -1
- package/dist/utils/channelOperations.js +3 -0
- package/dist/utils/channelOperations.js.map +1 -1
- package/dist/utils/connectionRules.d.ts +3 -1
- package/dist/utils/connectionRules.d.ts.map +1 -1
- package/dist/utils/connectionRules.js +11 -16
- package/dist/utils/connectionRules.js.map +1 -1
- package/dist/utils/functionOperations.d.ts.map +1 -1
- package/dist/utils/functionOperations.js +3 -0
- package/dist/utils/functionOperations.js.map +1 -1
- package/dist/utils/graphOperations.d.ts.map +1 -1
- package/dist/utils/graphOperations.js +3 -0
- package/dist/utils/graphOperations.js.map +1 -1
- package/dist/utils/history.d.ts.map +1 -1
- package/dist/utils/history.js +4 -1
- package/dist/utils/history.js.map +1 -1
- package/dist/utils/memoryOperations.d.ts.map +1 -1
- package/dist/utils/memoryOperations.js +3 -0
- package/dist/utils/memoryOperations.js.map +1 -1
- package/dist/utils/migrateFunctionNodes.d.ts.map +1 -1
- package/dist/utils/migrateFunctionNodes.js +3 -0
- package/dist/utils/migrateFunctionNodes.js.map +1 -1
- package/dist/utils/modelOperations.d.ts.map +1 -1
- package/dist/utils/modelOperations.js +3 -0
- package/dist/utils/modelOperations.js.map +1 -1
- package/dist/utils/paramDisplay.d.ts.map +1 -1
- package/dist/utils/paramDisplay.js +3 -0
- package/dist/utils/paramDisplay.js.map +1 -1
- package/dist/utils/resourceHelpers.d.ts.map +1 -1
- package/dist/utils/resourceHelpers.js +3 -0
- package/dist/utils/resourceHelpers.js.map +1 -1
- package/dist/utils/translation.d.ts.map +1 -1
- package/dist/utils/translation.js +3 -0
- package/dist/utils/translation.js.map +1 -1
- package/dist/utils/variableOperations.d.ts.map +1 -1
- package/dist/utils/variableOperations.js +3 -0
- package/dist/utils/variableOperations.js.map +1 -1
- package/package.json +2 -2
- package/src/BuilderLayout.tsx +338 -345
- package/src/Canvas.tsx +270 -261
- package/src/CanvasEditor.tsx +146 -142
- package/src/CanvasTabsToolbar.tsx +180 -176
- package/src/RightConfigPanel.tsx +270 -266
- package/src/WorkflowBuilder.tsx +423 -408
- package/src/cn.ts +10 -6
- package/src/components/ui/add-button.tsx +43 -39
- package/src/components/ui/alert-dialog.tsx +145 -141
- package/src/components/ui/alert.tsx +63 -59
- package/src/components/ui/badge.tsx +40 -36
- package/src/components/ui/button.tsx +89 -85
- package/src/components/ui/card.tsx +83 -79
- package/src/components/ui/checkbox.tsx +32 -28
- package/src/components/ui/collapsible.tsx +13 -9
- package/src/components/ui/command.tsx +157 -153
- package/src/components/ui/delete-button.tsx +27 -23
- package/src/components/ui/dialog.tsx +129 -125
- package/src/components/ui/dropdown-menu.tsx +202 -198
- package/src/components/ui/input.tsx +59 -55
- package/src/components/ui/label.tsx +28 -24
- package/src/components/ui/readonly-banner.tsx +19 -15
- package/src/components/ui/resizable.tsx +47 -43
- package/src/components/ui/scroll-area.tsx +106 -102
- package/src/components/ui/select.tsx +164 -160
- package/src/components/ui/separator.tsx +33 -29
- package/src/components/ui/switch.tsx +31 -27
- package/src/components/ui/textarea.tsx +55 -51
- package/src/components/ui/toast.tsx +131 -127
- package/src/components/ui/toaster.tsx +37 -33
- package/src/components/ui/toggle-group.tsx +63 -59
- package/src/components/ui/toggle.tsx +47 -43
- package/src/components/ui/tooltip.tsx +36 -32
- package/src/dialogs/NodePickerDialog.tsx +88 -84
- package/src/dialogs/ValidationDialog.tsx +188 -184
- package/src/graph/BaseNode.tsx +563 -557
- package/src/graph/CustomEdge.tsx +189 -185
- package/src/graph/CustomNode.tsx +20 -16
- package/src/graph/FunctionCallNode.tsx +34 -30
- package/src/graph/PortHandle.tsx +193 -189
- package/src/graph/reactFlowRegistry.ts +30 -26
- package/src/hooks/use-toast.ts +129 -125
- package/src/hooks/useAvailableVariables.ts +24 -20
- package/src/hooks/useCanvasHistory.ts +26 -22
- package/src/hooks/useCanvasTabs.ts +172 -168
- package/src/hooks/useFunctionDiagnosticsSync.ts +44 -40
- package/src/hooks/useFunctionRegistry.ts +30 -26
- package/src/hooks/useFunctions.ts +48 -44
- package/src/hooks/useGraph.ts +165 -161
- package/src/hooks/useNodeDefinitions.ts +86 -82
- package/src/hooks/useParamErrors.ts +30 -26
- package/src/hooks/useResolvedTheme.ts +34 -30
- package/src/hooks/useResourceDiagnosticsSync.ts +62 -58
- package/src/hooks/useSuppressThemeTransition.ts +83 -79
- package/src/hooks/useWorkflowSerialization.ts +145 -141
- package/src/i18n/index.ts +57 -53
- package/src/i18n/locales/de.json +501 -501
- package/src/i18n/locales/en.json +557 -557
- package/src/index.ts +31 -27
- package/src/inputs/ExpressionInput.tsx +301 -297
- package/src/inputs/ParameterEditor.tsx +519 -515
- package/src/inputs/PortSection.tsx +148 -144
- package/src/mode.ts +15 -0
- package/src/panels/BuilderSidebar.tsx +305 -301
- package/src/panels/ChannelConfigPanel.tsx +53 -49
- package/src/panels/ChannelsPanel.tsx +32 -28
- package/src/panels/DebugConsolePanel.tsx +77 -73
- package/src/panels/DebugContextPanel.tsx +81 -77
- package/src/panels/DebugExternalIOPanel.tsx +184 -180
- package/src/panels/DiagnosticsPanel.tsx +174 -170
- package/src/panels/EdgeConfigPanel.tsx +108 -104
- package/src/panels/FunctionConfigPanel.tsx +183 -179
- package/src/panels/FunctionListPanel.tsx +49 -45
- package/src/panels/MemoryConfigPanel.tsx +59 -55
- package/src/panels/MemoryPanel.tsx +44 -40
- package/src/panels/ModelConfigPanel.tsx +45 -41
- package/src/panels/ModelsPanel.tsx +40 -36
- package/src/panels/NodeConfigPanel.tsx +634 -630
- package/src/panels/NodeLibrary.tsx +292 -288
- package/src/panels/ResourceConfigPanel.tsx +136 -132
- package/src/panels/ResourceListPanel.tsx +117 -113
- package/src/panels/VariableConfigPanel.tsx +165 -161
- package/src/panels/VariablesPanel.tsx +149 -145
- package/src/stores/canvasStore.test.ts +48 -44
- package/src/stores/canvasStore.ts +249 -245
- package/src/stores/debugStore.ts +78 -74
- package/src/stores/diagnosticsStore.ts +134 -130
- package/src/stores/editorStore.ts +194 -190
- package/src/styles/index.css +526 -526
- package/src/utils/categoryConstants.ts +30 -26
- package/src/utils/channelOperations.ts +90 -86
- package/src/utils/connectionRules.ts +140 -137
- package/src/utils/functionOperations.ts +183 -179
- package/src/utils/graphOperations.ts +554 -550
- package/src/utils/history.test.ts +92 -0
- package/src/utils/history.ts +211 -207
- package/src/utils/memoryOperations.ts +61 -57
- package/src/utils/migrateFunctionNodes.ts +111 -107
- package/src/utils/modelOperations.ts +59 -55
- package/src/utils/paramDisplay.ts +75 -71
- package/src/utils/resourceHelpers.ts +36 -32
- package/src/utils/translation.ts +32 -28
- package/src/utils/variableOperations.ts +79 -75
- package/tailwind-preset.ts +170 -166
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -6
- package/dist/lib/utils.js.map +0 -1
- package/dist/toolbars/CanvasTabsToolbar.d.ts +0 -11
- package/dist/toolbars/CanvasTabsToolbar.d.ts.map +0 -1
- package/dist/toolbars/CanvasTabsToolbar.js +0 -101
- package/dist/toolbars/CanvasTabsToolbar.js.map +0 -1
package/NOTICE
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
edge-agents/workflow-builder
|
|
2
|
-
Copyright (c) 2026 ForestHub. All rights reserved.
|
|
3
|
-
|
|
4
|
-
This product includes software developed by ForestHub
|
|
5
|
-
(https://foresthub.ai).
|
|
6
|
-
|
|
7
|
-
The @foresthubai/workflow-builder package is the React canvas/editor
|
|
8
|
-
component library for the edge-agents platform. This package is
|
|
9
|
-
licensed under the GNU Affero General Public License Version 3.0
|
|
10
|
-
(AGPL-3.0-only) or a separate commercial license.
|
|
11
|
-
|
|
12
|
-
It depends on @foresthubai/workflow-core which is licensed under the
|
|
13
|
-
Apache License, Version 2.0. AGPL allows consumption of Apache-licensed
|
|
14
|
-
dependencies; the AGPL terms apply to this package only.
|
|
15
|
-
|
|
16
|
-
For commercial licensing inquiries: root@foresthub.ai
|
|
1
|
+
edge-agents/workflow-builder
|
|
2
|
+
Copyright (c) 2026 ForestHub. All rights reserved.
|
|
3
|
+
|
|
4
|
+
This product includes software developed by ForestHub
|
|
5
|
+
(https://foresthub.ai).
|
|
6
|
+
|
|
7
|
+
The @foresthubai/workflow-builder package is the React canvas/editor
|
|
8
|
+
component library for the edge-agents platform. This package is
|
|
9
|
+
licensed under the GNU Affero General Public License Version 3.0
|
|
10
|
+
(AGPL-3.0-only) or a separate commercial license.
|
|
11
|
+
|
|
12
|
+
It depends on @foresthubai/workflow-core which is licensed under the
|
|
13
|
+
Apache License, Version 2.0. AGPL allows consumption of Apache-licensed
|
|
14
|
+
dependencies; the AGPL terms apply to this package only.
|
|
15
|
+
|
|
16
|
+
For commercial licensing inquiries: root@foresthub.ai
|
package/README.md
CHANGED
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
# @foresthubai/workflow-builder
|
|
2
|
-
|
|
3
|
-
The
|
|
4
|
-
renders the visual builder (node graph, panels, dialogs) and pairs with the
|
|
5
|
-
headless [`@foresthubai/workflow-core`](../workflow-core) for the model, serialization
|
|
6
|
-
and validation. Core owns the data; this package owns the UI.
|
|
7
|
-
|
|
8
|
-
## Requirements
|
|
9
|
-
|
|
10
|
-
- **React 18** (peer dependency).
|
|
11
|
-
- **Tailwind CSS 3** (peer dependency). This package is consumed the Tailwind way —
|
|
12
|
-
it ships design tokens + a Tailwind preset, not a prebuilt stylesheet. A host that
|
|
13
|
-
doesn't use Tailwind can't consume it as-is. This is the single supported path.
|
|
14
|
-
|
|
15
|
-
## Setup
|
|
16
|
-
|
|
17
|
-
Four steps in the host app:
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
// 1. Import the design-system tokens + builder CSS layers, once, at your entry.
|
|
21
|
-
import "@foresthubai/workflow-builder/styles/index.css";
|
|
22
|
-
|
|
23
|
-
// 2. Adopt the Tailwind preset (tokens → utilities, fonts, animations, plugin).
|
|
24
|
-
// tailwind.config.ts:
|
|
25
|
-
import workflowBuilderPreset from "@foresthubai/workflow-builder/tailwind-preset";
|
|
26
|
-
export default {
|
|
27
|
-
presets: [workflowBuilderPreset],
|
|
28
|
-
content: [
|
|
29
|
-
"./src/**/*.{ts,tsx}",
|
|
30
|
-
// 3. Scan the builder so the utility classes its components use are emitted.
|
|
31
|
-
"./node_modules/@foresthubai/workflow-builder/dist/**/*.js",
|
|
32
|
-
],
|
|
33
|
-
};
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
```tsx
|
|
37
|
-
// 4. Render it inside a HEIGHT-CONSTRAINED container — the builder fills h-full/
|
|
38
|
-
// w-full and never assumes the viewport.
|
|
39
|
-
import { WorkflowBuilder } from "@foresthubai/workflow-builder";
|
|
40
|
-
|
|
41
|
-
<div style={{ height: "100vh" }}>
|
|
42
|
-
<WorkflowBuilder models={models} language="en" onChange={...} onError={...} />
|
|
43
|
-
</div>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Ownership rules
|
|
47
|
-
|
|
48
|
-
The builder is a guest in your app. It dresses **itself** and speaks **its own**
|
|
49
|
-
language, but it never reaches into things the host owns.
|
|
50
|
-
|
|
51
|
-
### Styles
|
|
52
|
-
|
|
53
|
-
- **The builder owns its base look** (font, text color, its panels/canvas/nodes)
|
|
54
|
-
and ships the design tokens as **defaults** on `:root` (dark) and `.light`.
|
|
55
|
-
- **The host owns the page.** The builder does **not** style `<body>` — no page
|
|
56
|
-
background, no page font, no `overscroll-behavior`. The host provides page chrome.
|
|
57
|
-
(The builder's translucent "glass" surfaces blur whatever's behind them, so give
|
|
58
|
-
the area a backdrop if you want the glass to read its best.)
|
|
59
|
-
- **The host drives color mode** by toggling a `.light` class on an ancestor
|
|
60
|
-
(typically `<html>`). Default — no class — is dark.
|
|
61
|
-
- **The host themes by overriding tokens.** Redeclare the CSS variables. The
|
|
62
|
-
contract: values are **HSL channels** (`262 83% 58%`, not `#hex`/`hsl()`); override
|
|
63
|
-
in **both** `:root` and `.light`; override at **`:root`/`html`, not a nested
|
|
64
|
-
wrapper** — Radix dialogs/menus/tooltips/selects portal to `<body>`, outside the
|
|
65
|
-
builder root, so a scoped override won't reach them. See
|
|
66
|
-
[`workflow-cli/src/theme-overrides.css`](../workflow-cli/src/theme-overrides.css) for a worked example.
|
|
67
|
-
|
|
68
|
-
### Translations
|
|
69
|
-
|
|
70
|
-
- **The builder owns its strings** (ships `en` + `de`) in a **private** i18next
|
|
71
|
-
instance, served only through its own `I18nextProvider`. It deliberately does
|
|
72
|
-
**not** register with react-i18next's global default (no `initReactI18next`, hence
|
|
73
|
-
no `setI18n`) — that default is a single library-wide pointer with last-init-wins
|
|
74
|
-
semantics, and a guest component must not own it. So the builder never collides
|
|
75
|
-
with the host's i18next.
|
|
76
|
-
- **No host i18n setup is required.** A host with no i18next, or one using
|
|
77
|
-
react-i18next its own way (with or without an `<I18nextProvider>`), both work
|
|
78
|
-
unchanged — the builder's instance is reachable only inside its own subtree and
|
|
79
|
-
leaves the host's `useTranslation()` untouched.
|
|
80
|
-
- **The host drives locale** via the `language` prop. The builder follows it and
|
|
81
|
-
never auto-detects (no `LanguageDetector`, no localStorage writes).
|
|
82
|
-
|
|
83
|
-
## What the builder relies on from the host
|
|
84
|
-
|
|
85
|
-
- React 18; Tailwind with the preset adopted and the builder in `content`.
|
|
86
|
-
- A **sized parent** container (the builder fills it; it never sizes the viewport).
|
|
87
|
-
- **Page chrome** (background/page font) — the builder no longer provides it.
|
|
88
|
-
- A **`.light`** class on an ancestor for light mode (default dark).
|
|
89
|
-
- The **`language`** prop for locale.
|
|
90
|
-
- The **`models`** catalog, `onChange` / `onError` (and other) callbacks, and the
|
|
91
|
-
imperative **ref handle** (`loadWorkflow` / `exportWorkflow` / `clear` / `validate`
|
|
92
|
-
/ undo-redo / selection / `setDebugPhase`). See `WorkflowBuilderProps` and
|
|
93
|
-
`WorkflowBuilderHandle` in [`src/WorkflowBuilder.tsx`](./src/WorkflowBuilder.tsx).
|
|
94
|
-
|
|
95
|
-
## License
|
|
96
|
-
|
|
97
|
-
**AGPL-3.0-only** or a separate commercial license — same dual-license terms as the
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
Read this before embedding: AGPL-3.0 is **network copyleft (§13)**. Because
|
|
101
|
-
`<WorkflowBuilder>` is a React component you bundle into your own web app, serving that
|
|
102
|
-
app to users over a network makes your **entire combined frontend** a "modified work"
|
|
103
|
-
whose corresponding source you must offer to those users. Embedding the builder in a
|
|
104
|
-
proprietary or closed-source SaaS frontend is therefore not possible under the AGPL — for
|
|
105
|
-
that, take the commercial license (contact **root@foresthub.ai**). If your frontend is
|
|
106
|
-
itself AGPL-3.0, you're fine.
|
|
107
|
-
|
|
108
|
-
The headless [`@foresthubai/workflow-core`](../workflow-core) (model, serialization,
|
|
109
|
-
validation) is **Apache-2.0** and carries no such obligation — if you only need the data
|
|
110
|
-
layer, depend on core directly and skip this component.
|
|
1
|
+
# @foresthubai/workflow-builder
|
|
2
|
+
|
|
3
|
+
The Edge Agents workflow **canvas/editor** — a reusable React component library. It
|
|
4
|
+
renders the visual builder (node graph, panels, dialogs) and pairs with the
|
|
5
|
+
headless [`@foresthubai/workflow-core`](../workflow-core) for the model, serialization
|
|
6
|
+
and validation. Core owns the data; this package owns the UI.
|
|
7
|
+
|
|
8
|
+
## Requirements
|
|
9
|
+
|
|
10
|
+
- **React 18** (peer dependency).
|
|
11
|
+
- **Tailwind CSS 3** (peer dependency). This package is consumed the Tailwind way —
|
|
12
|
+
it ships design tokens + a Tailwind preset, not a prebuilt stylesheet. A host that
|
|
13
|
+
doesn't use Tailwind can't consume it as-is. This is the single supported path.
|
|
14
|
+
|
|
15
|
+
## Setup
|
|
16
|
+
|
|
17
|
+
Four steps in the host app:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
// 1. Import the design-system tokens + builder CSS layers, once, at your entry.
|
|
21
|
+
import "@foresthubai/workflow-builder/styles/index.css";
|
|
22
|
+
|
|
23
|
+
// 2. Adopt the Tailwind preset (tokens → utilities, fonts, animations, plugin).
|
|
24
|
+
// tailwind.config.ts:
|
|
25
|
+
import workflowBuilderPreset from "@foresthubai/workflow-builder/tailwind-preset";
|
|
26
|
+
export default {
|
|
27
|
+
presets: [workflowBuilderPreset],
|
|
28
|
+
content: [
|
|
29
|
+
"./src/**/*.{ts,tsx}",
|
|
30
|
+
// 3. Scan the builder so the utility classes its components use are emitted.
|
|
31
|
+
"./node_modules/@foresthubai/workflow-builder/dist/**/*.js",
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
// 4. Render it inside a HEIGHT-CONSTRAINED container — the builder fills h-full/
|
|
38
|
+
// w-full and never assumes the viewport.
|
|
39
|
+
import { WorkflowBuilder } from "@foresthubai/workflow-builder";
|
|
40
|
+
|
|
41
|
+
<div style={{ height: "100vh" }}>
|
|
42
|
+
<WorkflowBuilder models={models} language="en" onChange={...} onError={...} />
|
|
43
|
+
</div>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Ownership rules
|
|
47
|
+
|
|
48
|
+
The builder is a guest in your app. It dresses **itself** and speaks **its own**
|
|
49
|
+
language, but it never reaches into things the host owns.
|
|
50
|
+
|
|
51
|
+
### Styles
|
|
52
|
+
|
|
53
|
+
- **The builder owns its base look** (font, text color, its panels/canvas/nodes)
|
|
54
|
+
and ships the design tokens as **defaults** on `:root` (dark) and `.light`.
|
|
55
|
+
- **The host owns the page.** The builder does **not** style `<body>` — no page
|
|
56
|
+
background, no page font, no `overscroll-behavior`. The host provides page chrome.
|
|
57
|
+
(The builder's translucent "glass" surfaces blur whatever's behind them, so give
|
|
58
|
+
the area a backdrop if you want the glass to read its best.)
|
|
59
|
+
- **The host drives color mode** by toggling a `.light` class on an ancestor
|
|
60
|
+
(typically `<html>`). Default — no class — is dark.
|
|
61
|
+
- **The host themes by overriding tokens.** Redeclare the CSS variables. The
|
|
62
|
+
contract: values are **HSL channels** (`262 83% 58%`, not `#hex`/`hsl()`); override
|
|
63
|
+
in **both** `:root` and `.light`; override at **`:root`/`html`, not a nested
|
|
64
|
+
wrapper** — Radix dialogs/menus/tooltips/selects portal to `<body>`, outside the
|
|
65
|
+
builder root, so a scoped override won't reach them. See
|
|
66
|
+
[`workflow-cli/src/theme-overrides.css`](../workflow-cli/src/theme-overrides.css) for a worked example.
|
|
67
|
+
|
|
68
|
+
### Translations
|
|
69
|
+
|
|
70
|
+
- **The builder owns its strings** (ships `en` + `de`) in a **private** i18next
|
|
71
|
+
instance, served only through its own `I18nextProvider`. It deliberately does
|
|
72
|
+
**not** register with react-i18next's global default (no `initReactI18next`, hence
|
|
73
|
+
no `setI18n`) — that default is a single library-wide pointer with last-init-wins
|
|
74
|
+
semantics, and a guest component must not own it. So the builder never collides
|
|
75
|
+
with the host's i18next.
|
|
76
|
+
- **No host i18n setup is required.** A host with no i18next, or one using
|
|
77
|
+
react-i18next its own way (with or without an `<I18nextProvider>`), both work
|
|
78
|
+
unchanged — the builder's instance is reachable only inside its own subtree and
|
|
79
|
+
leaves the host's `useTranslation()` untouched.
|
|
80
|
+
- **The host drives locale** via the `language` prop. The builder follows it and
|
|
81
|
+
never auto-detects (no `LanguageDetector`, no localStorage writes).
|
|
82
|
+
|
|
83
|
+
## What the builder relies on from the host
|
|
84
|
+
|
|
85
|
+
- React 18; Tailwind with the preset adopted and the builder in `content`.
|
|
86
|
+
- A **sized parent** container (the builder fills it; it never sizes the viewport).
|
|
87
|
+
- **Page chrome** (background/page font) — the builder no longer provides it.
|
|
88
|
+
- A **`.light`** class on an ancestor for light mode (default dark).
|
|
89
|
+
- The **`language`** prop for locale.
|
|
90
|
+
- The **`models`** catalog, `onChange` / `onError` (and other) callbacks, and the
|
|
91
|
+
imperative **ref handle** (`loadWorkflow` / `exportWorkflow` / `clear` / `validate`
|
|
92
|
+
/ undo-redo / selection / `setDebugPhase`). See `WorkflowBuilderProps` and
|
|
93
|
+
`WorkflowBuilderHandle` in [`src/WorkflowBuilder.tsx`](./src/WorkflowBuilder.tsx).
|
|
94
|
+
|
|
95
|
+
## License
|
|
96
|
+
|
|
97
|
+
**AGPL-3.0-only** or a separate commercial license — same dual-license terms as the
|
|
98
|
+
Edge Agents engine.
|
|
99
|
+
|
|
100
|
+
Read this before embedding: AGPL-3.0 is **network copyleft (§13)**. Because
|
|
101
|
+
`<WorkflowBuilder>` is a React component you bundle into your own web app, serving that
|
|
102
|
+
app to users over a network makes your **entire combined frontend** a "modified work"
|
|
103
|
+
whose corresponding source you must offer to those users. Embedding the builder in a
|
|
104
|
+
proprietary or closed-source SaaS frontend is therefore not possible under the AGPL — for
|
|
105
|
+
that, take the commercial license (contact **root@foresthub.ai**). If your frontend is
|
|
106
|
+
itself AGPL-3.0, you're fine.
|
|
107
|
+
|
|
108
|
+
The headless [`@foresthubai/workflow-core`](../workflow-core) (model, serialization,
|
|
109
|
+
validation) is **Apache-2.0** and carries no such obligation — if you only need the data
|
|
110
|
+
layer, depend on core directly and skip this component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderLayout.d.ts","sourceRoot":"","sources":["../src/BuilderLayout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BuilderLayout.d.ts","sourceRoot":"","sources":["../src/BuilderLayout.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAe/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,0FAA0F;IAC1F,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAE/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,aAAa,GAAI,gJAU3B,kBAAkB,4CA8QpB,CAAC"}
|
package/dist/BuilderLayout.js
CHANGED
|
@@ -12,7 +12,7 @@ import { useNodeDefinitions } from "./hooks/useNodeDefinitions";
|
|
|
12
12
|
import { DebugConsolePanel } from "./panels/DebugConsolePanel";
|
|
13
13
|
import { getOrCreateCanvasStore, MAIN_CANVAS_ID } from "./stores/canvasStore";
|
|
14
14
|
import { useEditorStore } from "./stores/editorStore";
|
|
15
|
-
import { isReadOnly } from "./
|
|
15
|
+
import { isReadOnly } from "./mode";
|
|
16
16
|
export const BuilderLayout = ({ functions, onOpenFunction, onCreateFunction, canvasTabs, onCanvasTabChange, onCanvasTabClose, onCanvasTabReorder, onTestNode, onDebugStep, }) => {
|
|
17
17
|
const activeCanvasId = useEditorStore((s) => s.activeCanvasId);
|
|
18
18
|
const builderMode = useEditorStore((s) => s.builderMode);
|
|
@@ -101,72 +101,63 @@ export const BuilderLayout = ({ functions, onOpenFunction, onCreateFunction, can
|
|
|
101
101
|
}
|
|
102
102
|
return result;
|
|
103
103
|
}, [graph]);
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (readOnly) {
|
|
125
|
-
if (event.key === "Escape")
|
|
126
|
-
clearSelection();
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
if ((event.ctrlKey || event.metaKey) && event.key === "z" && !event.shiftKey) {
|
|
130
|
-
event.preventDefault();
|
|
131
|
-
if (canUndo()) {
|
|
132
|
-
clearSelection();
|
|
133
|
-
undo();
|
|
134
|
-
}
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
if ((event.ctrlKey || event.metaKey) && (event.key === "y" || (event.key === "z" && event.shiftKey))) {
|
|
138
|
-
event.preventDefault();
|
|
139
|
-
if (canRedo()) {
|
|
140
|
-
clearSelection();
|
|
141
|
-
redo();
|
|
142
|
-
}
|
|
143
|
-
return;
|
|
104
|
+
// Keyboard handlers — undo/redo/copy/paste/delete/escape. Attached to the
|
|
105
|
+
// builder's root element (focusable via tabIndex), NOT to document: an
|
|
106
|
+
// embedded component must not steal Ctrl+Z/Delete from the host page. The
|
|
107
|
+
// handler fires only while focus is inside the builder, which clicking the
|
|
108
|
+
// canvas or any panel establishes.
|
|
109
|
+
const handleKeyDown = (event) => {
|
|
110
|
+
const target = event.target;
|
|
111
|
+
if (target?.tagName === "INPUT" || target?.tagName === "TEXTAREA" || target?.isContentEditable) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (readOnly) {
|
|
115
|
+
if (event.key === "Escape")
|
|
116
|
+
clearSelection();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if ((event.ctrlKey || event.metaKey) && event.key === "z" && !event.shiftKey) {
|
|
120
|
+
event.preventDefault();
|
|
121
|
+
if (canUndo()) {
|
|
122
|
+
clearSelection();
|
|
123
|
+
undo();
|
|
144
124
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if ((event.ctrlKey || event.metaKey) && (event.key === "y" || (event.key === "z" && event.shiftKey))) {
|
|
128
|
+
event.preventDefault();
|
|
129
|
+
if (canRedo()) {
|
|
130
|
+
clearSelection();
|
|
131
|
+
redo();
|
|
151
132
|
}
|
|
152
|
-
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if ((event.ctrlKey || event.metaKey) && event.key === "c") {
|
|
136
|
+
if (selection.kind === "graph" && selection.nodeIds.length > 0) {
|
|
153
137
|
event.preventDefault();
|
|
154
|
-
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (event.key === "Delete" || event.key === "Backspace") {
|
|
158
|
-
deleteSelected();
|
|
159
|
-
}
|
|
160
|
-
if (event.key === "Escape") {
|
|
161
|
-
clearSelection();
|
|
138
|
+
graph.copySelection(selection.nodeIds);
|
|
162
139
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if ((event.ctrlKey || event.metaKey) && event.key === "v") {
|
|
143
|
+
event.preventDefault();
|
|
144
|
+
handlePaste();
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (event.key === "Delete" || event.key === "Backspace") {
|
|
148
|
+
deleteSelected();
|
|
149
|
+
}
|
|
150
|
+
if (event.key === "Escape") {
|
|
151
|
+
clearSelection();
|
|
152
|
+
}
|
|
153
|
+
};
|
|
167
154
|
const isFunctionCanvas = activeCanvasId !== MAIN_CANVAS_ID;
|
|
168
155
|
// ── Render ───────────────────────────────────────────────────────────────
|
|
169
156
|
const canvasArea = (_jsxs("div", { className: "flex flex-col h-full min-w-0", children: [_jsx(CanvasTabsToolbar, { tabs: canvasTabs, activeTabId: activeCanvasId, onTabChange: onCanvasTabChange, onTabClose: onCanvasTabClose, onTabReorder: onCanvasTabReorder }), _jsx("div", { className: "flex-1 relative", children: _jsx(CanvasEditor, { canvasId: activeCanvasId, viewportCenterRef: viewportCenterRef, nodeDefinitions: nodeDefinitions, onConnect: handleConnect, onAddNode: handleAddNode, onAddNodeAndConnect: handleAddNodeAndConnect, onSelectionChange: handleSelectionChange, onPaneClick: clearSelection, onNodeDragStart: handleNodeDragStart, setSelectionDrag: setSelectionDrag }, activeCanvasId) })] }));
|
|
170
|
-
return (
|
|
157
|
+
return (
|
|
158
|
+
// tabIndex makes the root focusable so clicks anywhere inside land focus
|
|
159
|
+
// here (nearest focusable ancestor) and the scoped key handler receives
|
|
160
|
+
// shortcuts; outline-none suppresses the focus ring this would add.
|
|
161
|
+
_jsx("div", { className: "h-full bg-canvas-bg flex flex-col outline-none", tabIndex: -1, onKeyDown: handleKeyDown, children: _jsxs("div", { className: "flex-1 flex overflow-hidden", children: [_jsx(BuilderSidebar, { canvasId: activeCanvasId, activeTab: activeSidebarTab, onTabChange: setActiveSidebarTab, onAddNode: handleAddNode, nodeDefinitions: nodeDefinitions, getAllCategories: getAllCategories, onSelectNode: selectNodeById, onSelectEdge: selectEdgeById, isFunctionCanvas: isFunctionCanvas, functions: functions, onOpenFunction: onOpenFunction, onCreateFunction: onCreateFunction, isDebugMode: isDebugMode }), _jsx("div", { className: "flex-1 flex flex-col h-full min-w-0", children: isDebugMode ? (_jsxs(ResizablePanelGroup, { direction: "vertical", children: [_jsx(ResizablePanel, { defaultSize: 75, minSize: 30, children: canvasArea }), _jsx(ResizableHandle, { withHandle: true }), _jsx(ResizablePanel, { defaultSize: 25, minSize: 10, children: _jsx(DebugConsolePanel, {}) })] })) : (canvasArea) }), _jsx(RightConfigPanel, { canvasId: activeCanvasId, isDebugMode: isDebugMode, selectionDrag: selectionDrag, getNodeDef: getNodeDefinition, onNodeUpdate: graph.updateNode, onNodeDelete: graph.deleteNode, onEdgeUpdate: graph.updateEdge, onEdgeDelete: handleDeleteEdge, onClearSelection: clearSelection, onTestNode: onTestNode, onDebugStep: onDebugStep })] }) }));
|
|
171
162
|
};
|
|
172
163
|
//# sourceMappingURL=BuilderLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderLayout.js","sourceRoot":"","sources":["../src/BuilderLayout.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"BuilderLayout.js","sourceRoot":"","sources":["../src/BuilderLayout.tsx"],"names":[],"mappings":"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"}
|
package/dist/Canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../src/Canvas.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../src/Canvas.tsx"],"names":[],"mappings":"AAIA,OAAO,EAKL,UAAU,EAIV,IAAI,EAEJ,qBAAqB,EAMtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAgB,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAOzF,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACzE,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CACpF;AAyND,QAAA,MAAM,MAAM,GAAI,OAAO,WAAW,4CAQjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/Canvas.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
// Copyright (c) 2026 ForestHub. All rights reserved.
|
|
4
|
+
// For commercial licensing, contact root@foresthub.ai
|
|
2
5
|
import { applyEdgeChanges, applyNodeChanges, Background, BackgroundVariant, Controls, MiniMap, ReactFlow, ReactFlowProvider, SelectionMode, useNodesInitialized, useReactFlow, } from "@xyflow/react";
|
|
3
6
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
7
|
import { useResolvedTheme } from "./hooks/useResolvedTheme";
|
|
@@ -7,17 +10,21 @@ import { isValidConnection as validateConnection } from "./utils/connectionRules
|
|
|
7
10
|
import { getOrCreateCanvasStore } from "./stores/canvasStore";
|
|
8
11
|
import { useEditorStore } from "./stores/editorStore";
|
|
9
12
|
import { nodeTypes, edgeTypes } from "./graph/reactFlowRegistry";
|
|
10
|
-
import { isReadOnly } from "./
|
|
13
|
+
import { isReadOnly } from "./mode";
|
|
11
14
|
// Inner component that uses useReactFlow - must be inside ReactFlowProvider
|
|
12
15
|
const CanvasArea = ({ canvasId, onConnect, onSelectionChange, onSelectionStart, onSelectionStop, onPaneClick, onAddNode, onNodeDragStart, viewportCenterRef, }) => {
|
|
13
16
|
const readOnly = useEditorStore((s) => isReadOnly(s.builderMode));
|
|
14
17
|
const resolvedTheme = useResolvedTheme();
|
|
15
18
|
const { screenToFlowPosition, getViewport, fitView } = useReactFlow();
|
|
16
19
|
const nodesInitialized = useNodesInitialized();
|
|
20
|
+
// Measure THIS canvas's container, never document.querySelector(".react-flow"):
|
|
21
|
+
// that grabs the first match on the page and breaks with two mounted builders
|
|
22
|
+
// or a host app that uses React Flow itself.
|
|
23
|
+
const containerRef = useRef(null);
|
|
17
24
|
// Expose viewport center calculation to parent via ref so new nodes can be dropped there.
|
|
18
25
|
useEffect(() => {
|
|
19
26
|
viewportCenterRef.current = () => {
|
|
20
|
-
const container =
|
|
27
|
+
const container = containerRef.current;
|
|
21
28
|
if (!container)
|
|
22
29
|
return { x: 250, y: 100 };
|
|
23
30
|
const { width, height } = container.getBoundingClientRect();
|
|
@@ -131,7 +138,7 @@ const CanvasArea = ({ canvasId, onConnect, onSelectionChange, onSelectionStart,
|
|
|
131
138
|
// - display:none removes layout boxes, so nodes never measure and the fit can't compute.
|
|
132
139
|
// opacity applies to the whole subtree as a group (children can't override it) yet keeps
|
|
133
140
|
// layout intact, so measurement/fitView work while it's invisible.
|
|
134
|
-
_jsx("div", { className: "w-full h-full", style: { opacity: ready ? 1 : 0 }, children: _jsxs(ReactFlow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onConnect: onConnect, isValidConnection: (c) => !!validateConnection(c.source, c.target, c.sourceHandle, c.targetHandle, nodes, edges), onPaneClick: onPaneClick, onNodeDragStart: onNodeDragStart, onSelectionChange: onSelectionChange, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionStop, onMoveEnd: (_, vp) => setViewport(vp), nodeTypes: nodeTypes, edgeTypes: edgeTypes, defaultViewport: initialViewport ?? undefined, selectionOnDrag: !readOnly, panOnDrag: [1, 2], selectionMode: SelectionMode.Partial, selectNodesOnDrag: false, nodesConnectable: !readOnly, nodesDraggable: !readOnly, zoomOnScroll: true, zoomOnPinch: true, onDrop: handleDrop, onDragOver: handleDragOver, deleteKeyCode: null, onContextMenu: (e) => e.preventDefault(), onMouseDownCapture: handleMouseDownCapture, onAuxClick: handleAuxClick, colorMode: resolvedTheme, style: { "--xy-background-color": "hsl(var(--canvas-background))" }, children: [_jsx(Background, { variant: BackgroundVariant.Dots, color: "hsl(var(--muted-foreground))", gap: 24, size: 1.5, className: "opacity-40" }), _jsx(Controls, { className: "glass-forest-panel !border !shadow-lg [&_button]:glass-forest-button [&_button]:!text-foreground hover:[&_button]:!scale-105" }), _jsx(MiniMap, { nodeColor: nodeColor, className: "glass-forest-panel !border !shadow-lg", maskColor: "hsl(var(--primary) / 0.15)", nodeBorderRadius: 12, nodeStrokeWidth: 2, style: { width: 120, height: 80 } })] }) }));
|
|
141
|
+
_jsx("div", { ref: containerRef, className: "w-full h-full", style: { opacity: ready ? 1 : 0 }, children: _jsxs(ReactFlow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onConnect: onConnect, isValidConnection: (c) => !!validateConnection(c.source, c.target, c.sourceHandle, c.targetHandle, nodes, edges), onPaneClick: onPaneClick, onNodeDragStart: onNodeDragStart, onSelectionChange: onSelectionChange, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionStop, onMoveEnd: (_, vp) => setViewport(vp), nodeTypes: nodeTypes, edgeTypes: edgeTypes, defaultViewport: initialViewport ?? undefined, selectionOnDrag: !readOnly, panOnDrag: [1, 2], selectionMode: SelectionMode.Partial, selectNodesOnDrag: false, nodesConnectable: !readOnly, nodesDraggable: !readOnly, zoomOnScroll: true, zoomOnPinch: true, onDrop: handleDrop, onDragOver: handleDragOver, deleteKeyCode: null, onContextMenu: (e) => e.preventDefault(), onMouseDownCapture: handleMouseDownCapture, onAuxClick: handleAuxClick, colorMode: resolvedTheme, style: { "--xy-background-color": "hsl(var(--canvas-background))" }, children: [_jsx(Background, { variant: BackgroundVariant.Dots, color: "hsl(var(--muted-foreground))", gap: 24, size: 1.5, className: "opacity-40" }), _jsx(Controls, { className: "glass-forest-panel !border !shadow-lg [&_button]:glass-forest-button [&_button]:!text-foreground hover:[&_button]:!scale-105" }), _jsx(MiniMap, { nodeColor: nodeColor, className: "glass-forest-panel !border !shadow-lg", maskColor: "hsl(var(--primary) / 0.15)", nodeBorderRadius: 12, nodeStrokeWidth: 2, style: { width: 120, height: 80 } })] }) }));
|
|
135
142
|
};
|
|
136
143
|
// Wrapper component that provides ReactFlowProvider context
|
|
137
144
|
const Canvas = (props) => {
|
package/dist/Canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../src/Canvas.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EAEjB,QAAQ,EAER,OAAO,EAIP,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAA4B,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../src/Canvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasEditor.d.ts","sourceRoot":"","sources":["../src/CanvasEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CanvasEditor.d.ts","sourceRoot":"","sources":["../src/CanvasEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAShF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IAEjB,8EAA8E;IAC9E,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAE7E,iEAAiE;IACjE,eAAe,EAAE,cAAc,EAAE,CAAC;IAGlC,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvG,mBAAmB,EAAE,CACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAClC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KACvF,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAGzE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,YAAY,GAAI,iKAW1B,iBAAiB,4CAgFnB,CAAC"}
|
package/dist/CanvasEditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasEditor.js","sourceRoot":"","sources":["../src/CanvasEditor.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"CanvasEditor.js","sourceRoot":"","sources":["../src/CanvasEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasTabsToolbar.d.ts","sourceRoot":"","sources":["../src/CanvasTabsToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CanvasTabsToolbar.d.ts","sourceRoot":"","sources":["../src/CanvasTabsToolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,UAAU,sBAAsB;IAC9B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,iBAAiB,GAAI,+DAM/B,sBAAsB,4CA0JxB,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
// Copyright (c) 2026 ForestHub. All rights reserved.
|
|
4
|
+
// For commercial licensing, contact root@foresthub.ai
|
|
2
5
|
import { ScrollArea } from "./components/ui/scroll-area";
|
|
3
6
|
import { cn } from "./cn";
|
|
4
7
|
import { FunctionSquare, Workflow, X } from "lucide-react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasTabsToolbar.js","sourceRoot":"","sources":["../src/CanvasTabsToolbar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasTabsToolbar.js","sourceRoot":"","sources":["../src/CanvasTabsToolbar.tsx"],"names":[],"mappings":"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"}
|