windmill-components 1.655.2 → 1.665.0
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 +140 -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/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
|
@@ -6,11 +6,11 @@ import { getAllModules } from './flows/flowExplorer';
|
|
|
6
6
|
import Button from './common/button/Button.svelte';
|
|
7
7
|
import Tooltip from './Tooltip.svelte';
|
|
8
8
|
import Alert from './common/alert/Alert.svelte';
|
|
9
|
-
import { DiffIcon, Loader2 } from 'lucide-svelte';
|
|
9
|
+
import { DiffIcon, FileJson, Loader2 } from 'lucide-svelte';
|
|
10
10
|
import Badge from './common/badge/Badge.svelte';
|
|
11
11
|
import DiffDrawer from './DiffDrawer.svelte';
|
|
12
12
|
import { getTriggerDependency } from '../utils_deployable';
|
|
13
|
-
import { checkItemExists, deployItem, getItemValue,
|
|
13
|
+
import { checkItemExists, deployItem, getItemValue, getOnBehalfOf } from '../utils_workspace_deploy';
|
|
14
14
|
import { getAllGridItems } from './apps/editor/appUtils';
|
|
15
15
|
import { isRunnableByPath } from './apps/inputType';
|
|
16
16
|
import WorkspaceDeployLayout from './WorkspaceDeployLayout.svelte';
|
|
@@ -30,20 +30,25 @@ let sourceOnBehalfOfInfo = $state({});
|
|
|
30
30
|
// Target workspace on_behalf_of emails (keyed by kind:path)
|
|
31
31
|
let targetOnBehalfOfInfo = $state({});
|
|
32
32
|
let onBehalfOfChoice = $state({});
|
|
33
|
-
let
|
|
33
|
+
let customOnBehalfOf = $state({});
|
|
34
34
|
let canPreserveOnBehalfOf = $state(false);
|
|
35
35
|
// Check if an item needs on_behalf_of selection
|
|
36
36
|
function itemNeedsOnBehalfOfSelection(statusPath, kind) {
|
|
37
37
|
return needsOnBehalfOfSelection(kind, sourceOnBehalfOfInfo[statusPath]);
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Get the on_behalf_of value for deployment based on user's choice.
|
|
41
|
+
* Returns an email for flows/scripts/apps, or permissioned_as (u/username, g/group) for triggers/schedules.
|
|
42
|
+
*/
|
|
43
|
+
function getOnBehalfOfForDeploy(statusPath, kind) {
|
|
41
44
|
const choice = onBehalfOfChoice[statusPath];
|
|
42
45
|
if (choice === 'target')
|
|
43
46
|
return targetOnBehalfOfInfo[statusPath];
|
|
44
|
-
if (choice === 'custom')
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
if (choice === 'custom') {
|
|
48
|
+
const details = customOnBehalfOf[statusPath];
|
|
49
|
+
return kind === 'trigger' ? details?.permissionedAs : details?.email;
|
|
50
|
+
}
|
|
51
|
+
// 'me' or undefined = don't pass, backend will use deploying user's identity
|
|
47
52
|
return undefined;
|
|
48
53
|
}
|
|
49
54
|
async function reload(path) {
|
|
@@ -51,9 +56,7 @@ async function reload(path) {
|
|
|
51
56
|
if (!$superadmin) {
|
|
52
57
|
const targetUser = await UserService.whoami({ workspace: workspaceToDeployTo });
|
|
53
58
|
canPreserveOnBehalfOf =
|
|
54
|
-
targetUser.is_admin ||
|
|
55
|
-
targetUser.groups?.includes('wm_deployers') ||
|
|
56
|
-
false;
|
|
59
|
+
targetUser.is_admin || targetUser.groups?.includes('wm_deployers') || false;
|
|
57
60
|
}
|
|
58
61
|
else {
|
|
59
62
|
canPreserveOnBehalfOf = true;
|
|
@@ -93,13 +96,13 @@ async function reload(path) {
|
|
|
93
96
|
for (const dep of sortedSet.filter((d) => ['flow', 'script', 'app', 'trigger'].includes(d.kind))) {
|
|
94
97
|
const key = computeStatusPath(dep.kind, dep.path);
|
|
95
98
|
try {
|
|
96
|
-
sourceOnBehalfOfInfo[key] = await
|
|
99
|
+
sourceOnBehalfOfInfo[key] = await getOnBehalfOf(dep.kind, dep.path, $workspaceStore, additionalInformation);
|
|
97
100
|
}
|
|
98
101
|
catch {
|
|
99
102
|
sourceOnBehalfOfInfo[key] = undefined;
|
|
100
103
|
}
|
|
101
104
|
try {
|
|
102
|
-
targetOnBehalfOfInfo[key] = await
|
|
105
|
+
targetOnBehalfOfInfo[key] = await getOnBehalfOf(dep.kind, dep.path, workspaceToDeployTo, additionalInformation);
|
|
103
106
|
}
|
|
104
107
|
catch {
|
|
105
108
|
targetOnBehalfOfInfo[key] = undefined;
|
|
@@ -236,7 +239,7 @@ async function deploy(kind, path) {
|
|
|
236
239
|
workspaceFrom: $workspaceStore,
|
|
237
240
|
workspaceTo: workspaceToDeployTo,
|
|
238
241
|
additionalInformation,
|
|
239
|
-
|
|
242
|
+
onBehalfOf: getOnBehalfOfForDeploy(statusPath, kind)
|
|
240
243
|
});
|
|
241
244
|
if (result.success) {
|
|
242
245
|
allAlreadyExists[statusPath] = true;
|
|
@@ -376,24 +379,27 @@ function deselectAll() {
|
|
|
376
379
|
{@const statusPath = item.key}
|
|
377
380
|
{@const exists = allAlreadyExists[statusPath]}
|
|
378
381
|
{@const status = deploymentStatus[statusPath]}
|
|
379
|
-
{@const
|
|
382
|
+
{@const targetValue = targetOnBehalfOfInfo[statusPath]}
|
|
380
383
|
|
|
381
384
|
<!-- On-behalf-of selector -->
|
|
382
385
|
{#if itemNeedsOnBehalfOfSelection(statusPath, item.kind)}
|
|
383
386
|
<OnBehalfOfSelector
|
|
384
387
|
targetWorkspace={workspaceToDeployTo!}
|
|
385
|
-
{
|
|
388
|
+
{targetValue}
|
|
386
389
|
selected={onBehalfOfChoice[statusPath]}
|
|
387
|
-
onSelect={(choice,
|
|
390
|
+
onSelect={(choice, details) => {
|
|
388
391
|
onBehalfOfChoice[statusPath] = choice
|
|
389
|
-
if (
|
|
392
|
+
if (details) customOnBehalfOf[statusPath] = details
|
|
390
393
|
}}
|
|
391
394
|
kind={item.kind}
|
|
392
395
|
canPreserve={canPreserveOnBehalfOf}
|
|
393
|
-
|
|
396
|
+
customValue={customOnBehalfOf[statusPath]?.permissionedAs}
|
|
394
397
|
/>
|
|
395
398
|
{/if}
|
|
396
399
|
|
|
400
|
+
{#if item.kind === 'raw_app'}
|
|
401
|
+
<Badge small icon={{ icon: FileJson }}>Raw</Badge>
|
|
402
|
+
{/if}
|
|
397
403
|
{#if exists === false}
|
|
398
404
|
{#if item.include}
|
|
399
405
|
<Badge
|
|
@@ -452,18 +458,16 @@ function deselectAll() {
|
|
|
452
458
|
{#if hasUnselectedOnBehalfOf}
|
|
453
459
|
<span class="text-xs text-yellow-600">
|
|
454
460
|
{#if kind === 'trigger'}
|
|
455
|
-
You must set the "
|
|
461
|
+
You must set the "permissioned as" user for all triggers before deploying
|
|
456
462
|
<Tooltip class="text-yellow-600">
|
|
457
|
-
The "
|
|
458
|
-
|
|
459
|
-
before deploying.
|
|
463
|
+
The "permissioned as" field defines which user's permissions will be applied when
|
|
464
|
+
the trigger fires. Make sure this is set appropriately before deploying.
|
|
460
465
|
</Tooltip>
|
|
461
466
|
{:else}
|
|
462
467
|
You must set the "on behalf of" user for all items before deploying
|
|
463
468
|
<Tooltip class="text-yellow-600">
|
|
464
|
-
The "run on behalf of" field defines which user's permissions will be
|
|
465
|
-
|
|
466
|
-
before deploying.
|
|
469
|
+
The "run on behalf of" field defines which user's permissions will be applied
|
|
470
|
+
during execution. Make sure this is set to an appropriate user before deploying.
|
|
467
471
|
</Tooltip>
|
|
468
472
|
{/if}
|
|
469
473
|
</span>
|
|
@@ -21,6 +21,7 @@ import { writable } from 'svelte/store';
|
|
|
21
21
|
import { initHistory } from '../history.svelte';
|
|
22
22
|
import { SelectionManager } from './graph/selectionUtils.svelte';
|
|
23
23
|
import { NoteEditor, setNoteEditorContext } from './graph/noteEditor.svelte';
|
|
24
|
+
import { GroupEditor, setGroupEditorContext } from './graph/groupEditor.svelte';
|
|
24
25
|
import { dfs } from './flows/dfs';
|
|
25
26
|
import { loadSchemaFromModule } from './flows/flowInfers';
|
|
26
27
|
import { CornerDownLeft, Play } from 'lucide-svelte';
|
|
@@ -137,7 +138,7 @@ const el = (event) => {
|
|
|
137
138
|
done(x) {
|
|
138
139
|
loadPastTests();
|
|
139
140
|
}
|
|
140
|
-
});
|
|
141
|
+
}, undefined, currentScript.modules);
|
|
141
142
|
}
|
|
142
143
|
else {
|
|
143
144
|
sendUserToast(`Bundle received ${lastCommandId} was obsolete, ignoring`, true);
|
|
@@ -302,7 +303,7 @@ function runTest() {
|
|
|
302
303
|
}
|
|
303
304
|
else {
|
|
304
305
|
//@ts-ignore
|
|
305
|
-
jobLoader.runPreview(currentScript.path, currentScript.content, currentScript.language, args, currentScript.tag, useLock ? currentScript.lock : undefined);
|
|
306
|
+
jobLoader.runPreview(currentScript.path, currentScript.content, currentScript.language, args, currentScript.tag, useLock ? currentScript.lock : undefined, undefined, undefined, undefined, currentScript.modules);
|
|
306
307
|
}
|
|
307
308
|
}
|
|
308
309
|
}
|
|
@@ -454,6 +455,10 @@ const noteEditor = new NoteEditor(flowStore, () => {
|
|
|
454
455
|
flowModuleSchemaMap?.enableNotes?.();
|
|
455
456
|
});
|
|
456
457
|
setNoteEditorContext(noteEditor);
|
|
458
|
+
// Set up GroupEditor context for group editing capabilities
|
|
459
|
+
const groupEditor = new GroupEditor(flowStore);
|
|
460
|
+
let canCreateGroup = $state({ val: false });
|
|
461
|
+
setGroupEditorContext(groupEditor, canCreateGroup);
|
|
457
462
|
let lastSent = undefined;
|
|
458
463
|
function updateFlow(flow) {
|
|
459
464
|
if (lockChanges) {
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
7
|
<script lang="ts">import { BROWSER } from 'esm-env';
|
|
8
|
+
import { buildWsUrl } from '../wsUrl';
|
|
8
9
|
import { sendUserToast } from '../toast';
|
|
9
10
|
import { createEventDispatcher, onDestroy, onMount, untrack } from 'svelte';
|
|
10
11
|
// import libStdContent from '../es6.d.ts.txt?raw'
|
|
@@ -203,7 +204,9 @@ export function hide() {
|
|
|
203
204
|
divEl?.classList.add('hidden');
|
|
204
205
|
}
|
|
205
206
|
export function setCode(ncode, noHistory = false) {
|
|
206
|
-
|
|
207
|
+
// Track whether the code actually changed before updating.
|
|
208
|
+
const changed = code != ncode;
|
|
209
|
+
if (changed) {
|
|
207
210
|
code = ncode;
|
|
208
211
|
}
|
|
209
212
|
if (noHistory) {
|
|
@@ -222,7 +225,13 @@ export function setCode(ncode, noHistory = false) {
|
|
|
222
225
|
editor.pushUndoStop();
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
|
-
//
|
|
228
|
+
// Dispatch change immediately when code actually changed. This ensures
|
|
229
|
+
// callers like the Reset button and copilot trigger on:change handlers.
|
|
230
|
+
// The debounced onDidChangeModelContent handler will no-op since code
|
|
231
|
+
// will already match by the time it fires.
|
|
232
|
+
if (changed) {
|
|
233
|
+
dispatch('change', ncode);
|
|
234
|
+
}
|
|
226
235
|
updateRawAppLintDiagnostics();
|
|
227
236
|
}
|
|
228
237
|
/** Collect Monaco markers and update the raw app lint store */
|
|
@@ -769,7 +778,6 @@ export async function reloadWebsocket() {
|
|
|
769
778
|
console.error(`connection to ${name} language server failed`);
|
|
770
779
|
}
|
|
771
780
|
}
|
|
772
|
-
const wsProtocol = BROWSER && window.location.protocol == 'https:' ? 'wss' : 'ws';
|
|
773
781
|
const hostname = getHostname();
|
|
774
782
|
let encodedImportMap = '';
|
|
775
783
|
if (useWebsockets) {
|
|
@@ -794,7 +802,7 @@ export async function reloadWebsocket() {
|
|
|
794
802
|
}
|
|
795
803
|
}
|
|
796
804
|
encodedImportMap = 'data:text/plain;base64,' + btoa(JSON.stringify(importMap));
|
|
797
|
-
await connectToLanguageServer(
|
|
805
|
+
await connectToLanguageServer(buildWsUrl('/ws/deno'), 'deno', {
|
|
798
806
|
certificateStores: null,
|
|
799
807
|
enablePaths: [],
|
|
800
808
|
config: null,
|
|
@@ -832,7 +840,7 @@ export async function reloadWebsocket() {
|
|
|
832
840
|
});
|
|
833
841
|
}
|
|
834
842
|
else if (lang === 'python') {
|
|
835
|
-
await connectToLanguageServer(
|
|
843
|
+
await connectToLanguageServer(buildWsUrl('/ws/pyright'), 'pyright', {}, (params, token, next) => {
|
|
836
844
|
if (params.items.find((x) => x.section === 'python')) {
|
|
837
845
|
return [
|
|
838
846
|
{
|
|
@@ -857,15 +865,15 @@ export async function reloadWebsocket() {
|
|
|
857
865
|
}
|
|
858
866
|
return next(params, token);
|
|
859
867
|
});
|
|
860
|
-
connectToLanguageServer(
|
|
868
|
+
connectToLanguageServer(buildWsUrl('/ws/ruff'), 'ruff', {}, undefined);
|
|
861
869
|
}
|
|
862
870
|
else if (lang === 'go') {
|
|
863
|
-
connectToLanguageServer(
|
|
871
|
+
connectToLanguageServer(buildWsUrl('/ws/go'), 'go', {
|
|
864
872
|
'build.allowImplicitNetworkAccess': true
|
|
865
873
|
}, undefined);
|
|
866
874
|
}
|
|
867
875
|
else if (lang === 'shell') {
|
|
868
|
-
connectToLanguageServer(
|
|
876
|
+
connectToLanguageServer(buildWsUrl('/ws/diagnostic'), 'shellcheck', {
|
|
869
877
|
linters: {
|
|
870
878
|
shellcheck: {
|
|
871
879
|
command: 'shellcheck',
|
|
@@ -1593,11 +1601,7 @@ let handleSqlTypingInTs = useDebounce(function handleSqlTypingInTs() {
|
|
|
1593
1601
|
// Worker async function call freezes if we pass a Proxy, $state.snapshot() is very important here
|
|
1594
1602
|
updateSqlQueriesInWorker(uri, $state.snapshot(preparedAssetsSqlQueries));
|
|
1595
1603
|
}, 250);
|
|
1596
|
-
watch([
|
|
1597
|
-
() => preparedAssetsSqlQueries,
|
|
1598
|
-
() => lang,
|
|
1599
|
-
() => isTsWorkerInitialized.current
|
|
1600
|
-
], () => {
|
|
1604
|
+
watch([() => preparedAssetsSqlQueries, () => lang, () => isTsWorkerInitialized.current], () => {
|
|
1601
1605
|
handleSqlTypingInTs();
|
|
1602
1606
|
});
|
|
1603
1607
|
watch([() => customTsTypesData.current], setTypescriptCustomTypes);
|
|
@@ -15,7 +15,7 @@ interface Props {
|
|
|
15
15
|
iconOnly?: boolean;
|
|
16
16
|
validCode?: boolean;
|
|
17
17
|
kind?: 'script' | 'trigger' | 'approval';
|
|
18
|
-
template?: 'pgsql' | 'mysql' | 'script' | 'docker' | 'powershell' | 'bunnative' | 'claudesandbox';
|
|
18
|
+
template?: 'pgsql' | 'mysql' | 'script' | 'docker' | 'powershell' | 'bunnative' | 'claudesandbox' | 'wac_python' | 'wac_typescript';
|
|
19
19
|
collabMode?: boolean;
|
|
20
20
|
collabLive?: boolean;
|
|
21
21
|
collabUsers?: {
|
|
@@ -491,7 +491,7 @@ function appendFilterAsText(presetValue) {
|
|
|
491
491
|
{#if !currentTag || !schema[currentTag]}
|
|
492
492
|
{#if presets.length}
|
|
493
493
|
<div class="text-xs px-2 my-2 font-bold">Presets</div>
|
|
494
|
-
<div class="mb-3 px-2 flex gap-2 flex-wrap">
|
|
494
|
+
<div class="mb-3 px-2 flex gap-2 flex-wrap max-h-24 overflow-y-auto">
|
|
495
495
|
{#each presets as preset}
|
|
496
496
|
{@render presetTag(preset)}
|
|
497
497
|
{/each}
|
|
@@ -19,6 +19,7 @@ import FlowPreviewButtons from './flows/header/FlowPreviewButtons.svelte';
|
|
|
19
19
|
import { SelectionManager } from './graph/selectionUtils.svelte';
|
|
20
20
|
import { NoteEditor } from './graph/noteEditor.svelte';
|
|
21
21
|
import { setNoteEditorContext } from './graph/noteEditor.svelte';
|
|
22
|
+
import { GroupEditor, setGroupEditorContext } from './graph/groupEditor.svelte';
|
|
22
23
|
import { cleanFlow } from './flows/utils.svelte';
|
|
23
24
|
import { Calendar, Save, DiffIcon, HistoryIcon, FileJson, Settings, Undo, Redo, BookOpen, Circle, CheckCircle, RefreshCw, CheckCheck, Disc } from 'lucide-svelte';
|
|
24
25
|
import Awareness from './Awareness.svelte';
|
|
@@ -524,6 +525,10 @@ const noteEditor = new NoteEditor(untrack(() => flowStore), () => {
|
|
|
524
525
|
flowEditor?.enableNotes?.();
|
|
525
526
|
});
|
|
526
527
|
setNoteEditorContext(noteEditor);
|
|
528
|
+
// Set up GroupEditor context for group editing capabilities
|
|
529
|
+
const groupEditor = new GroupEditor(flowStore);
|
|
530
|
+
let canCreateGroup = $state({ val: false });
|
|
531
|
+
setGroupEditorContext(groupEditor, canCreateGroup);
|
|
527
532
|
setContext('FlowGraphAssetContext', initFlowGraphAssetsCtx({ getModules: () => flowStore.val.value.modules }));
|
|
528
533
|
// Add triggers context store
|
|
529
534
|
const triggersState = $state(new Triggers([
|
|
@@ -125,6 +125,7 @@ $effect(() => {
|
|
|
125
125
|
<FlowGraphV2
|
|
126
126
|
bind:this={beforeGraph}
|
|
127
127
|
modules={beforeFlow.value.modules}
|
|
128
|
+
groups={beforeFlow.value.groups}
|
|
128
129
|
failureModule={beforeFlow.value.failure_module}
|
|
129
130
|
preprocessorModule={beforeFlow.value.preprocessor_module}
|
|
130
131
|
earlyStop={beforeFlow.value.skip_expr !== undefined}
|
|
@@ -156,6 +157,7 @@ $effect(() => {
|
|
|
156
157
|
bind:this={afterGraph}
|
|
157
158
|
diffBeforeFlow={beforeFlow}
|
|
158
159
|
modules={afterFlow.value.modules}
|
|
160
|
+
groups={afterFlow.value.groups}
|
|
159
161
|
failureModule={afterFlow.value.failure_module}
|
|
160
162
|
preprocessorModule={afterFlow.value.preprocessor_module}
|
|
161
163
|
earlyStop={afterFlow.value.skip_expr !== undefined}
|
|
@@ -186,6 +188,7 @@ $effect(() => {
|
|
|
186
188
|
<FlowGraphV2
|
|
187
189
|
diffBeforeFlow={beforeFlow}
|
|
188
190
|
modules={afterFlow.value.modules}
|
|
191
|
+
groups={afterFlow.value.groups}
|
|
189
192
|
failureModule={afterFlow.value.failure_module}
|
|
190
193
|
preprocessorModule={afterFlow.value.preprocessor_module}
|
|
191
194
|
earlyStop={afterFlow.value.skip_expr !== undefined}
|
|
@@ -4,14 +4,16 @@ import FlowGraphViewerStep from './FlowGraphViewerStep.svelte';
|
|
|
4
4
|
import FlowGraphV2 from './graph/FlowGraphV2.svelte';
|
|
5
5
|
import { dfs } from './flows/dfs';
|
|
6
6
|
import { workspaceStore } from '../stores';
|
|
7
|
-
let { flow, overflowAuto = false, noSide = false, download = false, noGraph = false, triggerNode = false, stepDetail = $bindable(undefined), workspace = $workspaceStore, minHeight = 400, noBorder = false } = $props();
|
|
7
|
+
let { flow, overflowAuto = false, noSide = false, download = false, noGraph = false, triggerNode = false, stepDetail = $bindable(undefined), workspace = $workspaceStore, minHeight = 400, noBorder = false, hideDefaultInputs = false } = $props();
|
|
8
8
|
const dispatch = createEventDispatcher();
|
|
9
9
|
</script>
|
|
10
10
|
|
|
11
11
|
<div class="grid grid-cols-3 w-full h-full">
|
|
12
12
|
{#if !noGraph}
|
|
13
13
|
<div
|
|
14
|
-
class="{noSide
|
|
14
|
+
class="{noSide || (hideDefaultInputs && stepDetail == undefined)
|
|
15
|
+
? 'col-span-3'
|
|
16
|
+
: 'sm:col-span-2 col-span-3'} w-full max-h-full"
|
|
15
17
|
class:overflow-auto={overflowAuto}
|
|
16
18
|
class:border={!noBorder}
|
|
17
19
|
>
|
|
@@ -27,6 +29,7 @@ const dispatch = createEventDispatcher();
|
|
|
27
29
|
failureModule={flow?.value?.failure_module}
|
|
28
30
|
preprocessorModule={flow?.value?.preprocessor_module}
|
|
29
31
|
notes={flow?.value?.notes}
|
|
32
|
+
groups={flow?.value?.groups}
|
|
30
33
|
onSelect={(nodeId) => {
|
|
31
34
|
if (nodeId === 'Trigger') {
|
|
32
35
|
dispatch('triggerDetail')
|
|
@@ -44,14 +47,14 @@ const dispatch = createEventDispatcher();
|
|
|
44
47
|
/>
|
|
45
48
|
</div>
|
|
46
49
|
{/if}
|
|
47
|
-
{#if !noSide}
|
|
50
|
+
{#if !noSide && !(hideDefaultInputs && stepDetail == undefined)}
|
|
48
51
|
<div
|
|
49
52
|
class={twMerge(
|
|
50
53
|
'relative w-full h-full min-h-[150px] max-h-[90vh] border-r border-b border-t p-2 pt-0 overflow-auto hidden sm:flex flex-col gap-4',
|
|
51
54
|
noGraph ? 'border-0 w-max' : ''
|
|
52
55
|
)}
|
|
53
56
|
>
|
|
54
|
-
<FlowGraphViewerStep schema={flow.schema} {stepDetail} />
|
|
57
|
+
<FlowGraphViewerStep schema={flow.schema} {stepDetail} {hideDefaultInputs} />
|
|
55
58
|
</div>
|
|
56
59
|
{/if}
|
|
57
60
|
</div>
|
|
@@ -16,6 +16,7 @@ interface Props {
|
|
|
16
16
|
workspace?: string | undefined;
|
|
17
17
|
minHeight?: number;
|
|
18
18
|
noBorder?: boolean;
|
|
19
|
+
hideDefaultInputs?: boolean;
|
|
19
20
|
}
|
|
20
21
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
21
22
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -15,7 +15,7 @@ import FlowModuleScript from './flows/content/FlowModuleScript.svelte';
|
|
|
15
15
|
import { Copy, Expand } from 'lucide-svelte';
|
|
16
16
|
import HighlightTheme from './HighlightTheme.svelte';
|
|
17
17
|
import LanguageIcon from './common/languageIcons/LanguageIcon.svelte';
|
|
18
|
-
let { schema = undefined, stepDetail = undefined, jobScriptHash = undefined } = $props();
|
|
18
|
+
let { schema = undefined, stepDetail = undefined, jobScriptHash = undefined, hideDefaultInputs = false } = $props();
|
|
19
19
|
let codeViewer = $state();
|
|
20
20
|
</script>
|
|
21
21
|
|
|
@@ -82,10 +82,10 @@ let codeViewer = $state();
|
|
|
82
82
|
<div class={twMerge('p-2 overflow-y-scroll')}>
|
|
83
83
|
{#if stepDetail == undefined}
|
|
84
84
|
<div>
|
|
85
|
-
<p class="
|
|
85
|
+
<p class="text-secondary text-xs italic px-2 pt-2">
|
|
86
86
|
Click on a step to see its details
|
|
87
87
|
</p>
|
|
88
|
-
{#if schema}
|
|
88
|
+
{#if schema && !hideDefaultInputs}
|
|
89
89
|
<h3 class="mb-2 font-semibold">Flow Inputs</h3>
|
|
90
90
|
<SchemaViewer {schema} />
|
|
91
91
|
{/if}
|
|
@@ -3,6 +3,7 @@ interface Props {
|
|
|
3
3
|
schema?: any | undefined;
|
|
4
4
|
stepDetail?: FlowModule | string | undefined;
|
|
5
5
|
jobScriptHash?: string | undefined;
|
|
6
|
+
hideDefaultInputs?: boolean;
|
|
6
7
|
}
|
|
7
8
|
declare const FlowGraphViewerStep: import("svelte").Component<Props, {}, "">;
|
|
8
9
|
type FlowGraphViewerStep = ReturnType<typeof FlowGraphViewerStep>;
|
|
@@ -335,7 +335,8 @@ export function flowHasChanged() {
|
|
|
335
335
|
startIcon={{ icon: isRunning ? RefreshCw : Play }}
|
|
336
336
|
size="sm"
|
|
337
337
|
btnClasses="w-full max-w-lg"
|
|
338
|
-
on:click={() =>
|
|
338
|
+
on:click={() =>
|
|
339
|
+
recordingMode ? recordAndTest() : runPreview(previewArgs.val, undefined)}
|
|
339
340
|
id="flow-editor-test-flow-drawer"
|
|
340
341
|
shortCut={{ Icon: CornerDownLeft }}
|
|
341
342
|
>
|
|
@@ -550,6 +551,13 @@ export function flowHasChanged() {
|
|
|
550
551
|
onDone={async ({ job: completedJob }) => {
|
|
551
552
|
isRunning = false
|
|
552
553
|
$executionCount = $executionCount + 1
|
|
554
|
+
// Reset 'initial' flags for modules that were part of this flow test,
|
|
555
|
+
// so OutputPicker no longer shows "Run loaded from history"
|
|
556
|
+
for (const mod of completedJob.flow_status?.modules ?? []) {
|
|
557
|
+
if (mod.id) {
|
|
558
|
+
stepHistoryLoader?.resetInitial(mod.id)
|
|
559
|
+
}
|
|
560
|
+
}
|
|
553
561
|
if (flowRecording.active) {
|
|
554
562
|
lastRecording = flowRecording.stop()
|
|
555
563
|
setActiveRecording(undefined)
|
|
@@ -566,6 +574,8 @@ export function flowHasChanged() {
|
|
|
566
574
|
{render}
|
|
567
575
|
{customUi}
|
|
568
576
|
showLogsWithResult
|
|
577
|
+
notes={flowStore.val.value.notes}
|
|
578
|
+
groups={flowStore.val.value.groups}
|
|
569
579
|
/>
|
|
570
580
|
{:else if loadingHistory}
|
|
571
581
|
<div class="italic text-primary h-full grow mx-auto flex flex-row items-center gap-2">
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { setContext, untrack } from 'svelte';
|
|
3
3
|
import { isOwner as loadIsOwner } from '../utils';
|
|
4
4
|
import { userStore, workspaceStore } from '../stores';
|
|
5
|
-
let { jobId, initialJob = undefined, workspaceId = undefined, flowState = $bindable({}), selectedJobStep = $bindable(undefined), hideTimeline = false, hideDownloadInGraph = false, hideNodeDefinition = false, hideJobId = false, hideDownloadLogs = false, rightColumnSelect = $bindable('timeline'), isOwner = $bindable(false), wideResults = false, localModuleStates = $bindable({}), localDurationStatuses = $bindable({}), job = $bindable(undefined), render = true, suspendStatus = $bindable({ val: {} }), customUi, onStart, onJobsLoaded, onDone, showLogsWithResult = false } = $props();
|
|
5
|
+
let { jobId, initialJob = undefined, workspaceId = undefined, flowState = $bindable({}), selectedJobStep = $bindable(undefined), hideFlowResult = false, hideTimeline = false, hideDownloadInGraph = false, hideNodeDefinition = false, hideJobId = false, hideDownloadLogs = false, rightColumnSelect = $bindable('timeline'), isOwner = $bindable(false), wideResults = false, localModuleStates = $bindable({}), localDurationStatuses = $bindable({}), job = $bindable(undefined), render = true, suspendStatus = $bindable({ val: {} }), customUi, onStart, onJobsLoaded, onDone, showLogsWithResult = false, notes: notesProp = undefined, groups: groupsProp = undefined } = $props();
|
|
6
6
|
let lastJobId = untrack(() => jobId);
|
|
7
7
|
let retryStatus = $state({ val: {} });
|
|
8
8
|
let globalRefreshes = $state({});
|
|
@@ -104,5 +104,8 @@ let toolCallIndicesToLoad = $state([]);
|
|
|
104
104
|
}
|
|
105
105
|
}}
|
|
106
106
|
{showLogsWithResult}
|
|
107
|
+
{hideFlowResult}
|
|
108
|
+
notes={notesProp}
|
|
109
|
+
groups={groupsProp}
|
|
107
110
|
/>
|
|
108
111
|
{/key}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FlowState } from './flows/flowState';
|
|
2
2
|
import type { DurationStatus, GraphModuleState } from './graph';
|
|
3
3
|
import { type StateStore } from '../utils';
|
|
4
|
-
import type { CompletedJob, Job } from '../gen';
|
|
4
|
+
import type { CompletedJob, FlowNote, FlowValue, Job } from '../gen';
|
|
5
5
|
interface Props {
|
|
6
6
|
jobId: string;
|
|
7
7
|
initialJob?: Job | undefined;
|
|
@@ -37,6 +37,8 @@ interface Props {
|
|
|
37
37
|
job: CompletedJob;
|
|
38
38
|
}) => void;
|
|
39
39
|
showLogsWithResult?: boolean;
|
|
40
|
+
notes?: FlowNote[];
|
|
41
|
+
groups?: FlowValue['groups'];
|
|
40
42
|
}
|
|
41
43
|
declare const FlowStatusViewer: import("svelte").Component<Props, {}, "job" | "isOwner" | "suspendStatus" | "localModuleStates" | "localDurationStatuses" | "flowState" | "rightColumnSelect" | "selectedJobStep">;
|
|
42
44
|
type FlowStatusViewer = ReturnType<typeof FlowStatusViewer>;
|
|
@@ -3,6 +3,7 @@ import { JobService, ResourceService } from '../gen';
|
|
|
3
3
|
import { workspaceStore } from '../stores';
|
|
4
4
|
import { base } from '../base';
|
|
5
5
|
import FlowJobResult from './FlowJobResult.svelte';
|
|
6
|
+
import WorkflowTimeline from './WorkflowTimeline.svelte';
|
|
6
7
|
import DisplayResult from './DisplayResult.svelte';
|
|
7
8
|
import { getContext, setContext, tick, untrack } from 'svelte';
|
|
8
9
|
import { onDestroy } from 'svelte';
|
|
@@ -36,7 +37,7 @@ import { useThrottle } from 'runed';
|
|
|
36
37
|
import { Splitpanes, Pane } from 'svelte-splitpanes';
|
|
37
38
|
import { getActiveReplay } from './recording/flowRecording.svelte';
|
|
38
39
|
let { flowState: flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition, hideDownloadLogs } = getContext('FlowStatusViewer');
|
|
39
|
-
let { jobId, initialJob = undefined, workspaceId = undefined, flowJobIds = undefined, innerModule = undefined, render = true, selectedNode = $bindable(undefined), globalModuleStates, globalDurationStatuses = [], updateRecursiveRefreshFn = undefined, isSelectedBranch = true, isSubflow = false, reducedPolling = false, wideResults = false, workspace = $workspaceStore, prefix = undefined, topModuleStates = undefined, refreshGlobal, updateGlobalRefresh, subflowParentsGlobalModuleStates = [], subflowParentsDurationStatuses = [], isForloopSelected = false, job = $bindable(undefined), rightColumnSelect = $bindable('timeline'), localModuleStates = $bindable({}), localDurationStatuses = $bindable({}), customUi, onResultStreamUpdate = undefined, graphTabOpen, isNodeSelected, loadExtraLogs = undefined, onStart = undefined, onJobsLoaded = undefined, onDone = undefined, toolCallStore, showLogsWithResult = false, showJobDetailHeader = false } = $props();
|
|
40
|
+
let { jobId, initialJob = undefined, workspaceId = undefined, flowJobIds = undefined, innerModule = undefined, render = true, selectedNode = $bindable(undefined), globalModuleStates, globalDurationStatuses = [], updateRecursiveRefreshFn = undefined, isSelectedBranch = true, isSubflow = false, reducedPolling = false, wideResults = false, workspace = $workspaceStore, prefix = undefined, topModuleStates = undefined, refreshGlobal, updateGlobalRefresh, subflowParentsGlobalModuleStates = [], subflowParentsDurationStatuses = [], isForloopSelected = false, job = $bindable(undefined), rightColumnSelect = $bindable('timeline'), localModuleStates = $bindable({}), localDurationStatuses = $bindable({}), customUi, onResultStreamUpdate = undefined, graphTabOpen, isNodeSelected, loadExtraLogs = undefined, onStart = undefined, onJobsLoaded = undefined, onDone = undefined, toolCallStore, showLogsWithResult = false, showJobDetailHeader = false, hideFlowResult = false, notes: notesProp = undefined, groups: groupsProp = undefined } = $props();
|
|
40
41
|
let getTopModuleStates = $derived(topModuleStates ?? localModuleStates);
|
|
41
42
|
// Cache replay check to avoid repeated function calls in the template
|
|
42
43
|
let isReplay = $derived(!!getActiveReplay());
|
|
@@ -82,6 +83,19 @@ $effect(() => {
|
|
|
82
83
|
});
|
|
83
84
|
});
|
|
84
85
|
let jobResults = $state(untrack(() => flowJobIds)?.flowJobs?.map((x, id) => `iter #${id + 1} not loaded by frontend yet`) ?? []);
|
|
86
|
+
function asWorkflowStatus(x) {
|
|
87
|
+
if (!x || typeof x !== 'object')
|
|
88
|
+
return {};
|
|
89
|
+
const result = {};
|
|
90
|
+
for (const [k, v] of Object.entries(x)) {
|
|
91
|
+
if (!k.startsWith('_') || k.startsWith('_step/'))
|
|
92
|
+
result[k] = v;
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
function getStepResults(x) {
|
|
97
|
+
return x?._checkpoint?.completed_steps ?? {};
|
|
98
|
+
}
|
|
85
99
|
let retry_selected = $state('');
|
|
86
100
|
let timeout = undefined;
|
|
87
101
|
let expandedSubflows = $state({});
|
|
@@ -651,7 +665,8 @@ function onJobsLoadedInner(mod, job, force) {
|
|
|
651
665
|
tag: job.tag,
|
|
652
666
|
started_at,
|
|
653
667
|
parent_module: mod['parent_module'],
|
|
654
|
-
script_hash: job.script_hash
|
|
668
|
+
script_hash: job.script_hash,
|
|
669
|
+
workflow_as_code_status: job['workflow_as_code_status']
|
|
655
670
|
}, force);
|
|
656
671
|
setDurationStatusByJob(id, job.id, {
|
|
657
672
|
created_at: job.created_at ? new Date(job.created_at).getTime() : undefined,
|
|
@@ -679,8 +694,8 @@ function onJobsLoadedInner(mod, job, force) {
|
|
|
679
694
|
retries: mod?.failed_retries?.length,
|
|
680
695
|
skipped: mod.skipped,
|
|
681
696
|
agent_actions: mod.agent_actions,
|
|
682
|
-
script_hash: job.script_hash
|
|
683
|
-
|
|
697
|
+
script_hash: job.script_hash,
|
|
698
|
+
workflow_as_code_status: job['workflow_as_code_status']
|
|
684
699
|
}, force);
|
|
685
700
|
setDurationStatusByJob(id, job.id, {
|
|
686
701
|
created_at: job.created_at ? new Date(job.created_at).getTime() : undefined,
|
|
@@ -841,7 +856,7 @@ function allModulesForTimeline(modules, expandedSubflows) {
|
|
|
841
856
|
});
|
|
842
857
|
function rec(ids, prefix) {
|
|
843
858
|
return ids.concat(ids.flatMap(({ id }) => {
|
|
844
|
-
let fms = expandedSubflows[id];
|
|
859
|
+
let fms = expandedSubflows[id]?.modules;
|
|
845
860
|
let oid = id.split(':').pop();
|
|
846
861
|
if (!oid) {
|
|
847
862
|
return [];
|
|
@@ -987,7 +1002,7 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
987
1002
|
/>
|
|
988
1003
|
</div>
|
|
989
1004
|
{/if}
|
|
990
|
-
{:else if render}
|
|
1005
|
+
{:else if render && !hideFlowResult}
|
|
991
1006
|
<div class={'flex flex-col w-full'}>
|
|
992
1007
|
{#if showLogsWithResult && job}
|
|
993
1008
|
<!-- Side-by-side result and logs for simple jobs -->
|
|
@@ -1537,7 +1552,8 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
1537
1552
|
earlyStop={job.raw_flow?.skip_expr !== undefined}
|
|
1538
1553
|
cache={job.raw_flow?.cache_ttl !== undefined}
|
|
1539
1554
|
modules={job.raw_flow?.modules ?? []}
|
|
1540
|
-
notes={job.raw_flow?.notes ?? []}
|
|
1555
|
+
notes={notesProp ?? job.raw_flow?.notes ?? []}
|
|
1556
|
+
groups={groupsProp ?? job.raw_flow?.groups}
|
|
1541
1557
|
failureModule={job.raw_flow?.failure_module}
|
|
1542
1558
|
preprocessorModule={job.raw_flow?.preprocessor_module}
|
|
1543
1559
|
allowSimplifiedPoll={false}
|
|
@@ -1630,7 +1646,9 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
1630
1646
|
{#if job.args}
|
|
1631
1647
|
<JobArgs
|
|
1632
1648
|
id={isReplay ? undefined : job.id}
|
|
1633
|
-
workspace={isReplay
|
|
1649
|
+
workspace={isReplay
|
|
1650
|
+
? undefined
|
|
1651
|
+
: (job.workspace_id ?? $workspaceStore ?? 'no_w')}
|
|
1634
1652
|
args={job.args}
|
|
1635
1653
|
/>
|
|
1636
1654
|
{:else}
|
|
@@ -1700,11 +1718,28 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
1700
1718
|
<div class="text-xs text-emphasis font-semibold mb-1">Inputs</div>
|
|
1701
1719
|
<JobArgs
|
|
1702
1720
|
id={isReplay ? undefined : node.job_id}
|
|
1703
|
-
workspace={isReplay
|
|
1721
|
+
workspace={isReplay
|
|
1722
|
+
? undefined
|
|
1723
|
+
: (job.workspace_id ?? $workspaceStore ?? 'no_w')}
|
|
1704
1724
|
args={node.args}
|
|
1705
1725
|
/>
|
|
1706
1726
|
</div>
|
|
1707
1727
|
{/if}
|
|
1728
|
+
{#if node.workflow_as_code_status}
|
|
1729
|
+
<div>
|
|
1730
|
+
<div class="text-xs text-emphasis font-semibold mb-1"
|
|
1731
|
+
>Workflow timeline</div
|
|
1732
|
+
>
|
|
1733
|
+
<WorkflowTimeline
|
|
1734
|
+
flow_status={asWorkflowStatus(node.workflow_as_code_status)}
|
|
1735
|
+
flowDone={node.type === 'Success' || node.type === 'Failure'}
|
|
1736
|
+
stepResults={getStepResults(node.workflow_as_code_status)}
|
|
1737
|
+
result={node.result}
|
|
1738
|
+
success={node.type === 'Success'}
|
|
1739
|
+
jobId={node.job_id}
|
|
1740
|
+
/>
|
|
1741
|
+
</div>
|
|
1742
|
+
{/if}
|
|
1708
1743
|
</div>
|
|
1709
1744
|
<FlowJobResult
|
|
1710
1745
|
tagLabel={customUi?.tagLabel}
|
|
@@ -1752,7 +1787,7 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
1752
1787
|
likely did not run yet</p
|
|
1753
1788
|
>
|
|
1754
1789
|
{/if}
|
|
1755
|
-
{:else}<p class="
|
|
1790
|
+
{:else}<p class="text-secondary text-xs italic"
|
|
1756
1791
|
>Select a node to see its details here</p
|
|
1757
1792
|
>{/if}
|
|
1758
1793
|
</div>
|
|
@@ -1768,7 +1803,7 @@ let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce
|
|
|
1768
1803
|
{#if node?.job_id}
|
|
1769
1804
|
<JobOtelTraces jobId={node.job_id} />
|
|
1770
1805
|
{:else}
|
|
1771
|
-
<div class="p-4 text-secondary"
|
|
1806
|
+
<div class="p-4 text-secondary text-xs italic"
|
|
1772
1807
|
>Select a node with a job to see HTTP request traces</div
|
|
1773
1808
|
>
|
|
1774
1809
|
{/if}
|