windmill-components 1.655.2 → 1.665.1
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/package/components/ApiConnectForm.svelte +6 -6
- package/package/components/ApiConnectForm.svelte.d.ts +3 -2
- package/package/components/AppConnectDrawer.svelte +3 -1
- package/package/components/AppConnectDrawer.svelte.d.ts +2 -0
- package/package/components/AppConnectInner.svelte +137 -72
- package/package/components/AppConnectInner.svelte.d.ts +1 -0
- package/package/components/CompareWorkspaces.svelte +32 -24
- package/package/components/DBManager.svelte +7 -13
- package/package/components/DBTable.svelte +2 -2
- package/package/components/DBTableEditor.svelte +39 -31
- package/package/components/DBTableEditor.svelte.d.ts +2 -2
- package/package/components/DedicatedWorkersSelector.svelte +292 -85
- package/package/components/DeployWorkspace.svelte +30 -26
- package/package/components/Dev.svelte +7 -2
- package/package/components/Dev.svelte.d.ts +3 -0
- package/package/components/Editor.svelte +17 -13
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/FilterSearchbar.svelte +1 -1
- package/package/components/FirstStepInputs.svelte +0 -1
- package/package/components/FlowBuilder.svelte +5 -0
- package/package/components/FlowGraphDiffViewer.svelte +3 -0
- package/package/components/FlowGraphViewer.svelte +7 -4
- package/package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewerStep.svelte +3 -3
- package/package/components/FlowGraphViewerStep.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +11 -1
- package/package/components/FlowStatusViewer.svelte +4 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -1
- package/package/components/FlowStatusViewerInner.svelte +46 -11
- package/package/components/FlowStatusViewerInner.svelte.d.ts +4 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +48 -103
- package/package/components/FlowTimeline.svelte +76 -84
- package/package/components/FlowViewer.svelte +40 -22
- package/package/components/FlowViewer.svelte.d.ts +8 -2
- package/package/components/GroupEditor.svelte +7 -9
- package/package/components/HistoricList.svelte +12 -4
- package/package/components/InstanceGroupEditor.svelte +92 -19
- package/package/components/InstanceSetting.svelte +16 -6
- package/package/components/InstanceSettings.svelte +51 -7
- package/package/components/InstanceSettings.svelte.d.ts +2 -1
- package/package/components/JobLoader.svelte +5 -4
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/Login.svelte +9 -1
- package/package/components/NoMainFuncBadge.svelte +2 -2
- package/package/components/OnBehalfOfSelector.svelte +49 -37
- package/package/components/OnBehalfOfSelector.svelte.d.ts +16 -6
- package/package/components/ResourceEditor.svelte +16 -11
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +3 -1
- package/package/components/ResourceEditorDrawer.svelte.d.ts +6 -2
- package/package/components/ResourcePicker.svelte +10 -5
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/S3FilePickerInner.svelte +12 -4
- package/package/components/SchemaForm.svelte +20 -14
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +158 -18
- package/package/components/ScriptEditor.svelte +674 -150
- package/package/components/ScriptEditor.svelte.d.ts +7 -3
- package/package/components/SuperadminSettings.svelte +4 -1
- package/package/components/SuperadminSettingsInner.svelte +176 -67
- package/package/components/SuperadminSettingsInner.svelte.d.ts +3 -1
- package/package/components/SyncResourceTypes.svelte +31 -0
- package/package/components/SyncResourceTypes.svelte.d.ts +6 -0
- package/package/components/TimelineBar.svelte +14 -8
- package/package/components/TimelineBar.svelte.d.ts +1 -0
- package/package/components/WorkerGroup.svelte +11 -4
- package/package/components/WorkflowTimeline.svelte +386 -58
- package/package/components/WorkflowTimeline.svelte.d.ts +6 -1
- package/package/components/WorkspaceDependenciesEditor.svelte +32 -2
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
- package/package/components/apps/components/display/dbtable/metadata.js +44 -222
- package/package/components/apps/components/display/dbtable/queries/count.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/delete.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/insert.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +7 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/update.d.ts +9 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +11 -9
- package/package/components/apps/editor/appUtilsS3.js +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -10
- package/package/components/common/clearableInput/ClearableInput.svelte +3 -7
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
- package/package/components/common/drawer/Disposable.svelte +24 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +5 -0
- package/package/components/common/modal/Modal.svelte +84 -58
- package/package/components/common/table/AppRow.svelte.d.ts +1 -1
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +31 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -1
- package/package/components/copilot/MetadataGen.svelte +8 -5
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -0
- package/package/components/copilot/TestAIKey.svelte +2 -1
- package/package/components/copilot/TestAIKey.svelte.d.ts +1 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +62 -80
- package/package/components/copilot/chat/HistoryManager.svelte.d.ts +1 -0
- package/package/components/copilot/chat/HistoryManager.svelte.js +3 -0
- package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +47 -31
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +1 -6
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +18 -13
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +46 -29
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +1 -4
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +5 -8
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +82 -108
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +4 -7
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +19 -11
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +3 -0
- package/package/components/copilot/chat/anthropic.d.ts +9 -2
- package/package/components/copilot/chat/anthropic.js +12 -6
- package/package/components/copilot/chat/app/core.js +5 -12
- package/package/components/copilot/chat/chatLoop.d.ts +40 -0
- package/package/components/copilot/chat/chatLoop.js +97 -0
- package/package/components/copilot/chat/openai-responses.d.ts +8 -2
- package/package/components/copilot/chat/openai-responses.js +17 -17
- package/package/components/copilot/chat/shared.d.ts +2 -1
- package/package/components/copilot/chat/shared.js +2 -2
- package/package/components/copilot/lib.d.ts +14 -5
- package/package/components/copilot/lib.js +68 -48
- package/package/components/dbOps.d.ts +2 -2
- package/package/components/dbOps.js +129 -53
- package/package/components/debug/debugUtils.d.ts +5 -0
- package/package/components/debug/debugUtils.js +20 -0
- package/package/components/debug/index.d.ts +1 -1
- package/package/components/debug/index.js +3 -7
- package/package/components/flows/CreateActionsFlow.svelte +221 -43
- package/package/components/flows/DebounceLimit.svelte +42 -9
- package/package/components/flows/common/FlowCard.svelte +2 -1
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +14 -10
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
- package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
- package/package/components/flows/content/FlowRetries.svelte +57 -57
- package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
- package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowSettings.svelte +6 -6
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/package/components/flows/content/SuspendDrawer.svelte +0 -18
- package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowStickyNode.svelte +24 -16
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
- package/package/components/flows/scheduleUtils.js +3 -1
- package/package/components/flows/utils.svelte.js +6 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
- package/package/components/git_sync/GitSyncSection.svelte +135 -99
- package/package/components/graph/DragGhost.svelte +11 -2
- package/package/components/graph/FlowGraphV2.svelte +138 -42
- package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
- package/package/components/graph/GroupActionBar.svelte +124 -0
- package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
- package/package/components/graph/GroupHeader.svelte +98 -0
- package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
- package/package/components/graph/GroupHeaderBlock.svelte +58 -0
- package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
- package/package/components/graph/GroupModuleIcons.svelte +163 -0
- package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
- package/package/components/graph/GroupNodeCard.svelte +127 -0
- package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
- package/package/components/graph/GroupNoteArea.svelte +132 -0
- package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
- package/package/components/graph/GroupOverlay.svelte +71 -0
- package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
- package/package/components/graph/MiniFlowGraph.svelte +17 -2
- package/package/components/graph/SelectionBoundingBox.svelte +14 -14
- package/package/components/graph/compoundLayout.d.ts +17 -1
- package/package/components/graph/compoundLayout.js +129 -14
- package/package/components/graph/flowStructure.d.ts +63 -0
- package/package/components/graph/flowStructure.js +422 -0
- package/package/components/graph/flowStructure.test.d.ts +1 -0
- package/package/components/graph/flowStructure.test.js +205 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
- package/package/components/graph/graphBuilder.svelte.js +170 -67
- package/package/components/graph/graphContext.d.ts +7 -0
- package/package/components/graph/groupDetectionUtils.d.ts +24 -1
- package/package/components/graph/groupDetectionUtils.js +101 -1
- package/package/components/graph/groupEditor.svelte.d.ts +105 -0
- package/package/components/graph/groupEditor.svelte.js +253 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
- package/package/components/graph/model.d.ts +2 -1
- package/package/components/graph/moveManager.svelte.js +0 -3
- package/package/components/graph/nodeExtraSpace.d.ts +32 -0
- package/package/components/graph/nodeExtraSpace.js +113 -0
- package/package/components/graph/noteColors.d.ts +1 -0
- package/package/components/graph/noteColors.js +20 -10
- package/package/components/graph/noteUtils.svelte.d.ts +0 -18
- package/package/components/graph/noteUtils.svelte.js +6 -41
- package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
- package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/graph/util.d.ts +5 -1
- package/package/components/graph/util.js +7 -5
- package/package/components/home/Item.svelte +1 -0
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
- package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
- package/package/components/icons/AlgoliaIcon.svelte +7 -0
- package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
- package/package/components/icons/ApolloIcon.svelte +7 -0
- package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
- package/package/components/icons/BambooHrIcon.svelte +7 -0
- package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
- package/package/components/icons/BaremetricsIcon.svelte +7 -0
- package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
- package/package/components/icons/BitlyIcon.svelte +7 -0
- package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BloggerIcon.svelte +7 -0
- package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
- package/package/components/icons/BlueskyIcon.svelte +7 -0
- package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BoxIcon.svelte +7 -0
- package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrevoIcon.svelte +7 -0
- package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrexIcon.svelte +7 -0
- package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrowserlessIcon.svelte +7 -0
- package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
- package/package/components/icons/BubbleIcon.svelte +11 -0
- package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
- package/package/components/icons/BuildkiteIcon.svelte +7 -0
- package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
- package/package/components/icons/CalcomIcon.svelte +1 -1
- package/package/components/icons/CalendlyIcon.svelte +7 -0
- package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/CircleCiIcon.svelte +7 -0
- package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
- package/package/components/icons/CiscoIcon.svelte +7 -0
- package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClearbitIcon.svelte +7 -0
- package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClerkIcon.svelte +7 -0
- package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloseIcon.svelte +37 -0
- package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloudinaryIcon.svelte +7 -0
- package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
- package/package/components/icons/CockroachDbIcon.svelte +7 -0
- package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/CodaIcon.svelte +7 -0
- package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
- package/package/components/icons/CohereIcon.svelte +16 -0
- package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinbaseIcon.svelte +7 -0
- package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConfluenceIcon.svelte +7 -0
- package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
- package/package/components/icons/ContentfulIcon.svelte +7 -0
- package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConvertKitIcon.svelte +7 -0
- package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
- package/package/components/icons/DatoCmsIcon.svelte +7 -0
- package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeelIcon.svelte +7 -0
- package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeepLIcon.svelte +7 -0
- package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
- package/package/components/icons/DiscourseIcon.svelte +7 -0
- package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
- package/package/components/icons/DocusignIcon.svelte +7 -0
- package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
- package/package/components/icons/DropboxIcon.svelte +7 -0
- package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
- package/package/components/icons/EdgeDbIcon.svelte +16 -20
- package/package/components/icons/EventbriteIcon.svelte +10 -0
- package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
- package/package/components/icons/FigmaIcon.svelte +7 -0
- package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
- package/package/components/icons/FlyIcon.svelte +7 -0
- package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/FreshdeskIcon.svelte +7 -0
- package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
- package/package/components/icons/FrontAppIcon.svelte +7 -0
- package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
- package/package/components/icons/GhostCmsIcon.svelte +7 -0
- package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/GiphyIcon.svelte +7 -0
- package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
- package/package/components/icons/GitBookIcon.svelte +7 -0
- package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
- package/package/components/icons/GroqIcon.svelte +7 -0
- package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
- package/package/components/icons/HttpIcon.svelte +1 -0
- package/package/components/icons/IftttIcon.svelte +7 -0
- package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
- package/package/components/icons/IntercomIcon.svelte +7 -0
- package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
- package/package/components/icons/JoomlaIcon.svelte +7 -0
- package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
- package/package/components/icons/LineIcon.svelte +7 -0
- package/package/components/icons/LineIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinearIcon.svelte +7 -0
- package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinodeIcon.svelte +7 -0
- package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
- package/package/components/icons/LumaAiIcon.svelte +39 -0
- package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/MSTeamsIcon.svelte +20 -38
- package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
- package/package/components/icons/MagentoIcon.svelte +7 -0
- package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
- package/package/components/icons/MailchimpIcon.svelte +25 -13
- package/package/components/icons/MandrillIcon.svelte +7 -0
- package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
- package/package/components/icons/MauticIcon.svelte +7 -0
- package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
- package/package/components/icons/MediumIcon.svelte +7 -0
- package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
- package/package/components/icons/MiroIcon.svelte +7 -0
- package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
- package/package/components/icons/MistralIcon.svelte +7 -0
- package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
- package/package/components/icons/MixpanelIcon.svelte +7 -0
- package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
- package/package/components/icons/MondayIcon.svelte +7 -0
- package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
- package/package/components/icons/NeonDbIcon.svelte +23 -0
- package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/NetlifyIcon.svelte +7 -0
- package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/OneSignalIcon.svelte +9 -0
- package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
- package/package/components/icons/PagerDutyIcon.svelte +7 -0
- package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
- package/package/components/icons/PandaDocIcon.svelte +7 -0
- package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
- package/package/components/icons/PaypalIcon.svelte +7 -0
- package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
- package/package/components/icons/PersonioIcon.svelte +7 -0
- package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
- package/package/components/icons/PinterestIcon.svelte +7 -0
- package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
- package/package/components/icons/PipedriveIcon.svelte +11 -0
- package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
- package/package/components/icons/PostmarkIcon.svelte +7 -0
- package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
- package/package/components/icons/PusherIcon.svelte +7 -0
- package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
- package/package/components/icons/QuickbooksIcon.svelte +13 -1
- package/package/components/icons/RaindropIcon.svelte +27 -0
- package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReadwiseIcon.svelte +12 -0
- package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/RenderIcon.svelte +7 -0
- package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReplicateIcon.svelte +7 -0
- package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
- package/package/components/icons/ResendIcon.svelte +1 -1
- package/package/components/icons/RestIcon.svelte +1 -0
- package/package/components/icons/RingCentralIcon.svelte +7 -0
- package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
- package/package/components/icons/RocketChatIcon.svelte +7 -0
- package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
- package/package/components/icons/RunPodIcon.svelte +8 -0
- package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
- package/package/components/icons/RustIcon.svelte +74 -56
- package/package/components/icons/SalesforceIcon.svelte +7 -0
- package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
- package/package/components/icons/SegmentIcon.svelte +7 -0
- package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
- package/package/components/icons/SentryIcon.svelte +7 -0
- package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
- package/package/components/icons/ServiceNowIcon.svelte +7 -0
- package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
- package/package/components/icons/ShortcutIcon.svelte +7 -0
- package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
- package/package/components/icons/SigNozIcon.svelte +8 -0
- package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
- package/package/components/icons/SmartsheetIcon.svelte +7 -0
- package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
- package/package/components/icons/SpeechifyIcon.svelte +7 -0
- package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/SplitwiseIcon.svelte +7 -0
- package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/StravaIcon.svelte +7 -0
- package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
- package/package/components/icons/TallyIcon.svelte +7 -0
- package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
- package/package/components/icons/TelnyxIcon.svelte +19 -0
- package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
- package/package/components/icons/ThreadsIcon.svelte +7 -0
- package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
- package/package/components/icons/TodoistIcon.svelte +7 -0
- package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
- package/package/components/icons/TogetherAiIcon.svelte +23 -0
- package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/TrelloIcon.svelte +22 -1
- package/package/components/icons/TursoIcon.svelte +7 -0
- package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitchIcon.svelte +7 -0
- package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitterIcon.svelte +7 -0
- package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
- package/package/components/icons/TypeformIcon.svelte +1 -1
- package/package/components/icons/VercelIcon.svelte +7 -0
- package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
- package/package/components/icons/WebflowIcon.svelte +7 -0
- package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
- package/package/components/icons/WooCommerceIcon.svelte +7 -0
- package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
- package/package/components/icons/WordpressIcon.svelte +7 -0
- package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
- package/package/components/icons/XataIcon.svelte +13 -0
- package/package/components/icons/XataIcon.svelte.d.ts +7 -0
- package/package/components/icons/YelpIcon.svelte +7 -0
- package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
- package/package/components/icons/YnabIcon.svelte +7 -0
- package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
- package/package/components/icons/YoutubeIcon.svelte +7 -0
- package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZendeskIcon.svelte +1 -1
- package/package/components/icons/ZeroTierIcon.svelte +7 -0
- package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZoomIcon.svelte +7 -0
- package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
- package/package/components/icons/index.d.ts +111 -1
- package/package/components/icons/index.js +225 -2
- package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
- package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
- package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +92 -2
- package/package/components/mcp/McpScopeSelector.svelte +408 -0
- package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
- package/package/components/meltComponents/Popover.svelte +0 -1
- package/package/components/raw_apps/RawAppPreview.svelte +6 -2
- package/package/components/recording/FlowRecordingReplay.svelte +94 -52
- package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
- package/package/components/recording/ScriptRecordingReplay.svelte +139 -76
- package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
- package/package/components/runs/JobRunsPreview.svelte +8 -1
- package/package/components/runs/TimeframeSelect.svelte +0 -1
- package/package/components/schema/JobSchemaPicker.svelte +8 -2
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
- package/package/components/schema/SchemaFormDND.svelte +15 -3
- package/package/components/scriptEditor/LogPanel.svelte +78 -68
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/scripts/CreateActionsScript.svelte +3 -3
- package/package/components/scripts/WacExportDrawer.svelte +127 -0
- package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
- package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
- package/package/components/scripts/scriptStore.svelte.js +2 -0
- package/package/components/select/SelectDropdown.svelte +1 -1
- package/package/components/settings/AIPromptsModal.svelte +5 -2
- package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
- package/package/components/settings/CloudQuotas.svelte +152 -0
- package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
- package/package/components/settings/CreateToken.svelte +15 -430
- package/package/components/settings/Trashbin.svelte +248 -0
- package/package/components/settings/Trashbin.svelte.d.ts +3 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
- package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
- package/package/components/triggers/PermissionedAsLine.svelte +66 -0
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
- package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
- package/package/components/triggers/TriggerTokens.svelte +3 -3
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/email/utils.js +3 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/gcp/utils.js +2 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
- package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
- package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
- package/package/components/triggers/http/utils.js +3 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
- package/package/components/triggers/kafka/utils.js +3 -1
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
- package/package/components/triggers/mqtt/utils.js +2 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
- package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
- package/package/components/triggers/native/utils.js +3 -2
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/nats/utils.js +2 -0
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/postgres/utils.js +2 -0
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/sqs/utils.js +2 -0
- package/package/components/triggers/utils.js +9 -2
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/websocket/utils.js +3 -1
- package/package/components/workspaceSettings/AISettings.svelte +342 -214
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
- package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
- package/package/forLater.js +4 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +294 -94
- package/package/gen/schemas.gen.js +294 -94
- package/package/gen/services.gen.d.ts +121 -5
- package/package/gen/services.gen.js +237 -5
- package/package/gen/types.gen.d.ts +715 -91
- package/package/githubApp.js +19 -1
- package/package/hubPaths.json +8 -4
- package/package/infer.d.ts +1 -1
- package/package/infer.js +5 -1
- package/package/logoutRedirect.d.ts +1 -0
- package/package/logoutRedirect.js +24 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +15 -1
- package/package/services/trashService.d.ts +28 -0
- package/package/services/trashService.js +47 -0
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/system_prompts/index.d.ts +1 -0
- package/package/system_prompts/index.js +7 -0
- package/package/system_prompts/prompts.d.ts +7 -5
- package/package/system_prompts/prompts.js +182 -11
- package/package/templates/wac_python.py.template +42 -0
- package/package/templates/wac_typescript.ts.template +48 -0
- package/package/utils_deployable.d.ts +22 -21
- package/package/utils_deployable.js +58 -25
- package/package/utils_workspace_deploy.d.ts +15 -4
- package/package/utils_workspace_deploy.js +19 -15
- package/package/wsUrl.d.ts +1 -0
- package/package/wsUrl.js +15 -0
- package/package.json +13 -5
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
- package/dist/sharedUtils/base.d.ts +0 -1
- package/dist/sharedUtils/cloud.d.ts +0 -1
- package/dist/sharedUtils/common.d.ts +0 -111
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
- package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
- package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
- package/dist/sharedUtils/components/apps/types.d.ts +0 -274
- package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
- package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
- package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
- package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
- package/dist/sharedUtils/components/common/index.d.ts +0 -24
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
- package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
- package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
- package/dist/sharedUtils/components/ducklake.d.ts +0 -1
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
- package/dist/sharedUtils/components/icons/index.d.ts +0 -101
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
- package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers.d.ts +0 -20
- package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
- package/dist/sharedUtils/gen/core/request.d.ts +0 -29
- package/dist/sharedUtils/gen/index.d.ts +0 -6
- package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
- package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
- package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
- package/dist/sharedUtils/history.svelte.d.ts +0 -9
- package/dist/sharedUtils/hub.d.ts +0 -49
- package/dist/sharedUtils/jsr.json +0 -6
- package/dist/sharedUtils/lib.d.ts +0 -5
- package/dist/sharedUtils/lib.es.js +0 -1588
- package/dist/sharedUtils/package.json +0 -12
- package/dist/sharedUtils/schema.d.ts +0 -3
- package/dist/sharedUtils/stores.d.ts +0 -97
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
- package/dist/sharedUtils/toast.d.ts +0 -8
- package/dist/sharedUtils/utils.d.ts +0 -265
- package/package/components/graph/NodeContextMenu.svelte +0 -36
- package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
- package/package/svelte5Utils.svelte.d.ts +0 -184
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
<script lang="ts">import { ViewportPortal } from '@xyflow/svelte';
|
|
2
2
|
import { calculateNodesBoundsWithOffset } from './util';
|
|
3
|
-
import {
|
|
3
|
+
import { Move, Copy, Trash2, EllipsisVertical, Group } from 'lucide-svelte';
|
|
4
4
|
import { Button } from '../common';
|
|
5
5
|
import DropdownV2 from '../DropdownV2.svelte';
|
|
6
|
-
import {
|
|
6
|
+
import { getGroupEditorContext } from './groupEditor.svelte';
|
|
7
7
|
import { getGraphContext } from './graphContext';
|
|
8
8
|
import MoveHandleButton from './MoveHandleButton.svelte';
|
|
9
9
|
import { tick } from 'svelte';
|
|
10
10
|
import { isMac } from '../../utils';
|
|
11
11
|
let { selectedNodes, allNodes, onDeleteSelected, onDuplicateSelected, onMoveSelected, onCancelMove, canMoveSelected = false, isMoving = false, resolvedModuleIds = [] } = $props();
|
|
12
12
|
let resolvedCount = $derived(resolvedModuleIds.length);
|
|
13
|
-
// Get
|
|
14
|
-
const
|
|
13
|
+
// Get GroupEditor context for group creation
|
|
14
|
+
const groupEditorContext = getGroupEditorContext();
|
|
15
15
|
// Get Graph context for clearFlowSelection function and moveManager
|
|
16
16
|
const graphContext = getGraphContext();
|
|
17
17
|
const moveManager = graphContext?.moveManager;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
let canCreateGroup = $derived(groupEditorContext?.canCreateGroup.val ?? false);
|
|
19
|
+
function handleAddGroup() {
|
|
20
|
+
if (selectedNodes.length > 0 && groupEditorContext?.groupEditor && graphContext) {
|
|
21
|
+
const flowNodes = graphContext.getFlowNodes?.() ?? [];
|
|
22
|
+
groupEditorContext.groupEditor.createGroup(selectedNodes, flowNodes);
|
|
23
23
|
tick().then(() => {
|
|
24
24
|
graphContext?.clearFlowSelection?.();
|
|
25
25
|
graphContext?.selectionManager.clearSelection();
|
|
@@ -45,13 +45,13 @@ let menuItems = $derived([
|
|
|
45
45
|
shortcut: isMac() ? '⌫' : 'Del',
|
|
46
46
|
action: () => onDeleteSelected?.()
|
|
47
47
|
},
|
|
48
|
-
...(
|
|
48
|
+
...(groupEditorContext?.groupEditor
|
|
49
49
|
? [
|
|
50
50
|
{
|
|
51
|
-
displayName: '
|
|
52
|
-
icon:
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
displayName: 'Create group',
|
|
52
|
+
icon: Group,
|
|
53
|
+
action: handleAddGroup,
|
|
54
|
+
disabled: !canCreateGroup
|
|
55
55
|
}
|
|
56
56
|
]
|
|
57
57
|
: [])
|
|
@@ -14,15 +14,31 @@ type LayoutResult = {
|
|
|
14
14
|
height: number;
|
|
15
15
|
};
|
|
16
16
|
contentMinX: number;
|
|
17
|
+
groupDimensions?: Map<string, {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
}>;
|
|
17
21
|
};
|
|
22
|
+
export declare const GROUP_PADDING = 16;
|
|
23
|
+
export declare const GROUP_TOP_PADDING = 32;
|
|
18
24
|
/**
|
|
19
25
|
* Main entry point for compound layout.
|
|
20
26
|
*
|
|
21
27
|
* Takes the flat list of nodes and edges from graphBuilder and produces
|
|
22
28
|
* absolute positions that account for compound structure (branches, loops).
|
|
29
|
+
*
|
|
30
|
+
* nodeExtraSpace: per-node top/bottom/left/right padding that should be allocated in layout.
|
|
31
|
+
* After layout, each node's y is shifted down by its top padding so decorations
|
|
32
|
+
* (assets, AI tools, group headers) have room above. Left/right padding widens the
|
|
33
|
+
* column allocated to the node so neighbors are pushed further away.
|
|
23
34
|
*/
|
|
24
35
|
export declare function compoundLayout(nodes: {
|
|
25
36
|
id: string;
|
|
26
37
|
parentIds?: string[];
|
|
27
|
-
}[], constants?: Partial<LayoutConstants
|
|
38
|
+
}[], constants?: Partial<LayoutConstants>, nodeExtraSpace?: Map<string, {
|
|
39
|
+
top: number;
|
|
40
|
+
bottom: number;
|
|
41
|
+
left: number;
|
|
42
|
+
right: number;
|
|
43
|
+
}>): LayoutResult;
|
|
28
44
|
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { sugiyama, dagStratify, coordCenter, decrossTwoLayer, decrossOpt } from 'd3-dag';
|
|
2
2
|
import { NODE } from './util';
|
|
3
|
+
import { GROUP_HEADER_HEIGHT } from './groupEditor.svelte';
|
|
3
4
|
const LOOP_INDENT = 25;
|
|
5
|
+
export const GROUP_PADDING = 16;
|
|
6
|
+
export const GROUP_TOP_PADDING = 32;
|
|
4
7
|
/**
|
|
5
8
|
* Detect compound groups from a flat list of node IDs.
|
|
6
9
|
* Uses ID naming conventions from graphBuilder:
|
|
@@ -46,6 +49,19 @@ function detectGroups(nodeIds, allNodes, childrenMap) {
|
|
|
46
49
|
branches: [{ labelId: `${baseId}-start`, innerIds }]
|
|
47
50
|
});
|
|
48
51
|
}
|
|
52
|
+
else if (baseId.startsWith('group:')) {
|
|
53
|
+
// Group pattern: group:{groupId} head + group:{groupId}-end
|
|
54
|
+
// Body is everything reachable from head to end
|
|
55
|
+
const innerIds = findInnerIds(baseId, id, nodeIds, childrenMap);
|
|
56
|
+
if (innerIds.length > 0) {
|
|
57
|
+
groups.push({
|
|
58
|
+
type: 'group',
|
|
59
|
+
headId: baseId,
|
|
60
|
+
endId: id,
|
|
61
|
+
branches: [{ labelId: innerIds[0], innerIds: innerIds.slice(1) }]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
49
65
|
}
|
|
50
66
|
return groups;
|
|
51
67
|
}
|
|
@@ -171,8 +187,27 @@ function runSugiyama(nodes, constants, nodeSizes) {
|
|
|
171
187
|
* 5. Run sugiyama on the simplified graph
|
|
172
188
|
* 6. Expand wrapper positions back to absolute positions
|
|
173
189
|
*/
|
|
190
|
+
/**
|
|
191
|
+
* Build nodeSizes map for sugiyama from nodeExtraSpace.
|
|
192
|
+
* Each node's effective height = top + NODE.height + bottom.
|
|
193
|
+
*/
|
|
194
|
+
function buildNodeSizes(nodeIds, constants, nodeExtraSpace) {
|
|
195
|
+
if (!nodeExtraSpace || nodeExtraSpace.size === 0)
|
|
196
|
+
return undefined;
|
|
197
|
+
const sizes = new Map();
|
|
198
|
+
for (const id of nodeIds) {
|
|
199
|
+
const extra = nodeExtraSpace.get(id);
|
|
200
|
+
if (extra && (extra.top > 0 || extra.bottom > 0 || extra.left > 0 || extra.right > 0)) {
|
|
201
|
+
sizes.set(id, {
|
|
202
|
+
width: constants.nodeWidth + extra.left + extra.right,
|
|
203
|
+
height: constants.nodeHeight + extra.top + extra.bottom
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return sizes.size > 0 ? sizes : undefined;
|
|
208
|
+
}
|
|
174
209
|
const MAX_RECURSION_DEPTH = 50;
|
|
175
|
-
function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
210
|
+
function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0, nodeExtraSpace) {
|
|
176
211
|
const positions = new Map();
|
|
177
212
|
const nodeIdSet = new Set(nodeIds);
|
|
178
213
|
if (nodeIds.length === 0) {
|
|
@@ -188,8 +223,12 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
188
223
|
const n = allNodes.get(id);
|
|
189
224
|
return { id, parentIds: (n.parentIds ?? []).filter((pid) => nodeIdSet.has(pid)) };
|
|
190
225
|
});
|
|
191
|
-
const
|
|
226
|
+
const extraSizes = buildNodeSizes(flatNodes.map((n) => n.id), constants, nodeExtraSpace);
|
|
227
|
+
const result = runSugiyama(flatNodes, constants, extraSizes);
|
|
192
228
|
for (const [id, pos] of result.positions) {
|
|
229
|
+
const extra = nodeExtraSpace?.get(id);
|
|
230
|
+
if (extra)
|
|
231
|
+
pos.y += extra.top;
|
|
193
232
|
positions.set(id, pos);
|
|
194
233
|
}
|
|
195
234
|
return { positions, bbox: { width: result.width, height: result.height }, contentMinX: 0 };
|
|
@@ -230,7 +269,7 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
230
269
|
for (const branch of group.branches) {
|
|
231
270
|
const branchNodeIds = [branch.labelId, ...branch.innerIds];
|
|
232
271
|
// Find sub-groups within this branch
|
|
233
|
-
const result = layoutLevel(branchNodeIds, allNodes, constants, childrenMap, depth + 1);
|
|
272
|
+
const result = layoutLevel(branchNodeIds, allNodes, constants, childrenMap, depth + 1, nodeExtraSpace);
|
|
234
273
|
branchLayouts.push({
|
|
235
274
|
labelId: branch.labelId,
|
|
236
275
|
result,
|
|
@@ -254,6 +293,17 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
254
293
|
// head row + branch content + end row
|
|
255
294
|
wrapperHeight = rowHeight + maxBranchHeight + rowHeight;
|
|
256
295
|
}
|
|
296
|
+
else if (group.type === 'group') {
|
|
297
|
+
// Group: body is centered with padding on all sides
|
|
298
|
+
const bodyWidth = branchLayouts[0]?.bbox.width ?? constants.nodeWidth;
|
|
299
|
+
const bodyHeight = branchLayouts[0]?.bbox.height ?? 0;
|
|
300
|
+
wrapperWidth = Math.max(bodyWidth + GROUP_PADDING * 2, constants.nodeWidth);
|
|
301
|
+
maxBranchHeight = bodyHeight;
|
|
302
|
+
const headExtra = nodeExtraSpace?.get(group.headId);
|
|
303
|
+
const groupHeadRow = GROUP_HEADER_HEIGHT + (headExtra?.bottom ?? 0) + GROUP_TOP_PADDING;
|
|
304
|
+
// head row + body + bottom padding
|
|
305
|
+
wrapperHeight = groupHeadRow + bodyHeight + GROUP_PADDING;
|
|
306
|
+
}
|
|
257
307
|
else {
|
|
258
308
|
// Loop: body is indented
|
|
259
309
|
const bodyWidth = branchLayouts[0]?.bbox.width ?? constants.nodeWidth;
|
|
@@ -298,13 +348,24 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
298
348
|
flatNodes.push({ id: nid, parentIds: newParents });
|
|
299
349
|
}
|
|
300
350
|
// Step 5: Run sugiyama on flattened nodes
|
|
301
|
-
|
|
351
|
+
// Merge wrapperSizes with nodeExtraSpace-derived sizes for non-group nodes
|
|
352
|
+
const extraSizes = buildNodeSizes(flatNodes.map((n) => n.id), constants, nodeExtraSpace);
|
|
353
|
+
const mergedSizes = new Map();
|
|
354
|
+
if (extraSizes) {
|
|
355
|
+
for (const [id, size] of extraSizes)
|
|
356
|
+
mergedSizes.set(id, size);
|
|
357
|
+
}
|
|
358
|
+
for (const [id, size] of wrapperSizes)
|
|
359
|
+
mergedSizes.set(id, size);
|
|
360
|
+
const sugResult = runSugiyama(flatNodes, constants, mergedSizes.size > 0 ? mergedSizes : undefined);
|
|
302
361
|
// Step 6: Resolve absolute positions
|
|
303
362
|
// First, set positions for regular (non-group) nodes
|
|
363
|
+
// Apply per-node y-offset from nodeExtraSpace so decorations above have room
|
|
304
364
|
for (const [nid, pos] of sugResult.positions) {
|
|
305
365
|
if (groupByHeadId.has(nid))
|
|
306
366
|
continue; // Handle groups separately
|
|
307
|
-
|
|
367
|
+
const extra = nodeExtraSpace?.get(nid);
|
|
368
|
+
positions.set(nid, { x: pos.x, y: pos.y + (extra?.top ?? 0) });
|
|
308
369
|
}
|
|
309
370
|
// Now expand group wrappers into absolute positions
|
|
310
371
|
for (const [headId, gl] of groupLayouts) {
|
|
@@ -313,8 +374,14 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
313
374
|
continue;
|
|
314
375
|
const rowHeight = constants.nodeHeight + constants.gapV;
|
|
315
376
|
const isBranch = gl.group.type === 'branch';
|
|
377
|
+
const isGroup = gl.group.type === 'group';
|
|
316
378
|
// Position the head node at the top-center of the wrapper
|
|
317
|
-
|
|
379
|
+
// Apply extra top padding so decorations above the head node have room
|
|
380
|
+
const headExtra = nodeExtraSpace?.get(headId);
|
|
381
|
+
positions.set(headId, {
|
|
382
|
+
x: wrapperPos.x,
|
|
383
|
+
y: wrapperPos.y + (headExtra?.top ?? 0)
|
|
384
|
+
});
|
|
318
385
|
if (isBranch) {
|
|
319
386
|
// Reuse cached branchWidths and totalWidth
|
|
320
387
|
let currentX = wrapperPos.x - gl.totalWidth / 2;
|
|
@@ -338,6 +405,26 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
338
405
|
y: wrapperPos.y + rowHeight + maxBranchHeight + constants.gapV
|
|
339
406
|
});
|
|
340
407
|
}
|
|
408
|
+
else if (isGroup) {
|
|
409
|
+
// Group: body is centered within wrapper (no x offset)
|
|
410
|
+
const headExtra = nodeExtraSpace?.get(gl.group.headId);
|
|
411
|
+
const groupHeadRow = GROUP_HEADER_HEIGHT + (headExtra?.bottom ?? 0) + GROUP_TOP_PADDING;
|
|
412
|
+
const bl = gl.branchLayouts[0];
|
|
413
|
+
if (bl) {
|
|
414
|
+
for (const [innerNodeId, innerPos] of bl.result.positions) {
|
|
415
|
+
positions.set(innerNodeId, {
|
|
416
|
+
x: wrapperPos.x + innerPos.x,
|
|
417
|
+
y: wrapperPos.y + groupHeadRow + innerPos.y
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
// Position end node below body
|
|
422
|
+
const bodyHeight = bl?.bbox.height ?? 0;
|
|
423
|
+
positions.set(gl.group.endId, {
|
|
424
|
+
x: wrapperPos.x,
|
|
425
|
+
y: wrapperPos.y + groupHeadRow + bodyHeight + GROUP_PADDING
|
|
426
|
+
});
|
|
427
|
+
}
|
|
341
428
|
else {
|
|
342
429
|
// Loop: position start, body, and end
|
|
343
430
|
const bl = gl.branchLayouts[0];
|
|
@@ -358,16 +445,34 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
358
445
|
});
|
|
359
446
|
}
|
|
360
447
|
}
|
|
448
|
+
// Collect group dimensions from this level and child layouts
|
|
449
|
+
const groupDimensions = new Map();
|
|
450
|
+
for (const [headId, gl] of groupLayouts) {
|
|
451
|
+
groupDimensions.set(headId, { width: gl.wrapperWidth, height: gl.wrapperHeight });
|
|
452
|
+
// Propagate child groupDimensions from recursive branch layouts
|
|
453
|
+
for (const bl of gl.branchLayouts) {
|
|
454
|
+
if (bl.result.groupDimensions) {
|
|
455
|
+
for (const [childId, dims] of bl.result.groupDimensions) {
|
|
456
|
+
groupDimensions.set(childId, dims);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
361
461
|
// Compute overall bbox (nodes + group wrapper extents)
|
|
362
462
|
let minX = Infinity;
|
|
363
463
|
let maxX = -Infinity;
|
|
364
464
|
let minY = Infinity;
|
|
365
465
|
let maxY = -Infinity;
|
|
366
|
-
for (const pos of positions
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
466
|
+
for (const [nid, pos] of positions) {
|
|
467
|
+
// Group end nodes are zero-height markers — skip them
|
|
468
|
+
if (nid.startsWith('group:') && nid.endsWith('-end'))
|
|
469
|
+
continue;
|
|
470
|
+
const extra = nodeExtraSpace?.get(nid);
|
|
471
|
+
minX = Math.min(minX, pos.x - constants.nodeWidth / 2 - (extra?.left ?? 0));
|
|
472
|
+
maxX = Math.max(maxX, pos.x + constants.nodeWidth / 2 + (extra?.right ?? 0));
|
|
473
|
+
// Account for top decoration space above the node
|
|
474
|
+
minY = Math.min(minY, pos.y - (extra?.top ?? 0));
|
|
475
|
+
maxY = Math.max(maxY, pos.y + constants.nodeHeight + (extra?.bottom ?? 0));
|
|
371
476
|
}
|
|
372
477
|
// Account for group wrapper extents in bbox (e.g. LOOP_INDENT makes wrappers wider than nodes)
|
|
373
478
|
for (const [headId, gl] of groupLayouts) {
|
|
@@ -385,15 +490,25 @@ function layoutLevel(nodeIds, allNodes, constants, childrenMap, depth = 0) {
|
|
|
385
490
|
width: Math.max(bboxWidth, constants.nodeWidth),
|
|
386
491
|
height: Math.max(bboxHeight, 0)
|
|
387
492
|
};
|
|
388
|
-
return {
|
|
493
|
+
return {
|
|
494
|
+
positions,
|
|
495
|
+
bbox: finalBbox,
|
|
496
|
+
contentMinX,
|
|
497
|
+
groupDimensions: groupDimensions.size > 0 ? groupDimensions : undefined
|
|
498
|
+
};
|
|
389
499
|
}
|
|
390
500
|
/**
|
|
391
501
|
* Main entry point for compound layout.
|
|
392
502
|
*
|
|
393
503
|
* Takes the flat list of nodes and edges from graphBuilder and produces
|
|
394
504
|
* absolute positions that account for compound structure (branches, loops).
|
|
505
|
+
*
|
|
506
|
+
* nodeExtraSpace: per-node top/bottom/left/right padding that should be allocated in layout.
|
|
507
|
+
* After layout, each node's y is shifted down by its top padding so decorations
|
|
508
|
+
* (assets, AI tools, group headers) have room above. Left/right padding widens the
|
|
509
|
+
* column allocated to the node so neighbors are pushed further away.
|
|
395
510
|
*/
|
|
396
|
-
export function compoundLayout(nodes, constants) {
|
|
511
|
+
export function compoundLayout(nodes, constants, nodeExtraSpace) {
|
|
397
512
|
const c = {
|
|
398
513
|
nodeWidth: constants?.nodeWidth ?? NODE.width,
|
|
399
514
|
nodeHeight: constants?.nodeHeight ?? NODE.height,
|
|
@@ -415,7 +530,7 @@ export function compoundLayout(nodes, constants) {
|
|
|
415
530
|
}
|
|
416
531
|
}
|
|
417
532
|
const nodeIds = nodes.map((n) => n.id);
|
|
418
|
-
const result = layoutLevel(nodeIds, allNodes, c, childrenMap);
|
|
533
|
+
const result = layoutLevel(nodeIds, allNodes, c, childrenMap, 0, nodeExtraSpace);
|
|
419
534
|
// Shift positions so minX=0 (left-aligned).
|
|
420
535
|
// FlowGraphV2 centers with: xCenter = viewport/2 - bbox.width/2
|
|
421
536
|
// which assumes positions start at x=0.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { FlowModule } from '../../gen';
|
|
2
|
+
import type { FlowGroup, GraphGroup } from './groupEditor.svelte';
|
|
3
|
+
export type ContainerKind = 'forloopflow' | 'whileloopflow' | 'branchone' | 'branchall';
|
|
4
|
+
export type StructureBranch = {
|
|
5
|
+
label?: string;
|
|
6
|
+
children: FlowStructureNode[];
|
|
7
|
+
};
|
|
8
|
+
export type FlowStructureNode = {
|
|
9
|
+
/** FlowModule.id for modules, groupKey(g) for groups */
|
|
10
|
+
id: string;
|
|
11
|
+
kind: 'leaf' | 'group' | ContainerKind;
|
|
12
|
+
/** Only present when kind === 'group' */
|
|
13
|
+
group?: FlowGroup;
|
|
14
|
+
/** Only present when kind === 'group' — flat module IDs for step count */
|
|
15
|
+
moduleIds?: string[];
|
|
16
|
+
/** Child branches. leaf=[], group=[{children}], container=[{children}, ...] */
|
|
17
|
+
branches: StructureBranch[];
|
|
18
|
+
};
|
|
19
|
+
export declare function buildStructureTree(modules: FlowModule[], groups: GraphGroup[]): FlowStructureNode[];
|
|
20
|
+
export declare function moduleToStructureNode(mod: FlowModule): FlowStructureNode;
|
|
21
|
+
/** Generic DFS over the structure tree */
|
|
22
|
+
export declare function dfsStructure(nodes: FlowStructureNode[], fn: (node: FlowStructureNode, parentArray: FlowStructureNode[]) => void): void;
|
|
23
|
+
/** Flatten to ordered module IDs (groups are transparent) */
|
|
24
|
+
export declare function flattenStructureIds(nodes: FlowStructureNode[]): string[];
|
|
25
|
+
/** Collect leaf module IDs recursively (including inside containers) */
|
|
26
|
+
export declare function collectLeafIds(nodes: FlowStructureNode[]): string[];
|
|
27
|
+
export type FindResult = {
|
|
28
|
+
parentChildren: FlowStructureNode[];
|
|
29
|
+
index: number;
|
|
30
|
+
};
|
|
31
|
+
export declare function findInStructure(nodes: FlowStructureNode[], id: string): FindResult | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Match a structure node against a graph node ID.
|
|
34
|
+
* Handles group head/end IDs (group:X, group:X-end) and collapsed-group:X.
|
|
35
|
+
*/
|
|
36
|
+
export declare function matchStructureNode(node: FlowStructureNode, nodeId: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Find insert index using graph node IDs (handles group:X-end etc.).
|
|
39
|
+
* Returns the index OF the matched item (insert before it).
|
|
40
|
+
* For group-end nodes, returns index AFTER the group (insert after it).
|
|
41
|
+
*/
|
|
42
|
+
export declare function findInsertIndexByNodeId(items: FlowStructureNode[], targetNodeId: string): number;
|
|
43
|
+
export declare function deriveGroupsFromStructure(nodes: FlowStructureNode[]): FlowGroup[];
|
|
44
|
+
/**
|
|
45
|
+
* Reconstruct a FlowModule[] from the structure tree, looking up originals
|
|
46
|
+
* from moduleMap and patching container inner arrays to match the tree ordering.
|
|
47
|
+
*/
|
|
48
|
+
export declare function applyStructureToModules(nodes: FlowStructureNode[], moduleMap: Map<string, FlowModule>): FlowModule[];
|
|
49
|
+
/**
|
|
50
|
+
* Walk the tree, remove group nodes that have no leaf modules, and return
|
|
51
|
+
* the removed groups. Mutates the input array in-place.
|
|
52
|
+
* Recurses depth-first so inner groups are cleaned before checking outer ones.
|
|
53
|
+
*/
|
|
54
|
+
export declare function removeEmptyGroups(nodes: FlowStructureNode[]): FlowGroup[];
|
|
55
|
+
/** Walk the structure tree to compute nesting depth for each group (O(n)). */
|
|
56
|
+
export declare function computeGroupDepths(tree: FlowStructureNode[]): Record<string, number>;
|
|
57
|
+
/**
|
|
58
|
+
* Find duplicate groups in the structure tree (same start_id:end_id after mutation).
|
|
59
|
+
* Returns the groups that should be removed (keeps the first, removes subsequent duplicates).
|
|
60
|
+
*/
|
|
61
|
+
export declare function findDuplicateGroups(nodes: FlowStructureNode[]): FlowGroup[];
|
|
62
|
+
/** Remove duplicate groups from the structure tree (keeps first occurrence). */
|
|
63
|
+
export declare function removeDuplicateGroups(nodes: FlowStructureNode[]): FlowGroup[];
|