windmill-components 1.522.0 → 1.531.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/AIAgentLogViewer.svelte +123 -0
- package/package/components/AIAgentLogViewer.svelte.d.ts +13 -0
- package/package/components/AppConnectInner.svelte +10 -10
- package/package/components/AutoscalingConfigEditor.svelte +76 -2
- package/package/components/Dev.svelte +12 -28
- package/package/components/DiffEditor.svelte +6 -3
- package/package/components/DiffEditor.svelte.d.ts +1 -0
- package/package/components/DisplayResult.svelte +16 -10
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +5 -2
- package/package/components/Editor.svelte +26 -8
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/EditorBar.svelte +25 -5
- package/package/components/EditorSettings.svelte +6 -0
- package/package/components/FirstStepInputs.svelte +2 -2
- package/package/components/FlowBuilder.svelte +18 -36
- package/package/components/FlowGraphViewerStep.svelte +7 -0
- package/package/components/FlowJobResult.svelte +15 -63
- package/package/components/FlowJobResult.svelte.d.ts +10 -4
- package/package/components/FlowLogViewer.svelte +660 -0
- package/package/components/FlowLogViewer.svelte.d.ts +34 -0
- package/package/components/FlowLogViewerWrapper.svelte +52 -0
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
- package/package/components/FlowLoopIterationPreview.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte +4 -5
- package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
- package/package/components/FlowPreviewResult.svelte +4 -5
- package/package/components/FlowPreviewResult.svelte.d.ts +3 -5
- package/package/components/FlowStatusViewer.svelte +28 -16
- package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
- package/package/components/FlowStatusViewerInner.svelte +483 -296
- package/package/components/FlowStatusViewerInner.svelte.d.ts +27 -33
- package/package/components/FlowTimeline.svelte +11 -13
- package/package/components/FlowTimeline.svelte.d.ts +6 -5
- package/package/components/HighlightCode.svelte +4 -1
- package/package/components/IconedResourceType.svelte +9 -5
- package/package/components/JobLoader.svelte +61 -8
- package/package/components/JobLoader.svelte.d.ts +9 -1
- package/package/components/LogViewer.svelte +8 -2
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/LogViewerHeader.svelte +32 -0
- package/package/components/LogViewerHeader.svelte.d.ts +8 -0
- package/package/components/ModulePreviewForm.svelte +10 -6
- package/package/components/ModulePreviewResultViewer.svelte +16 -0
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
- package/package/components/ModuleTest.svelte +59 -16
- package/package/components/RelativeLineNumbers.svelte +16 -0
- package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +9 -4
- package/package/components/ScriptBuilder.svelte +13 -11
- package/package/components/ScriptEditor.svelte +2 -2
- package/package/components/SimpleEditor.svelte +10 -4
- package/package/components/SimpleEditor.svelte.d.ts +1 -0
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/UserSettings.svelte +4 -4
- package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
- package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte +2 -2
- package/package/components/apps/components/helpers/HiddenComponent.svelte +0 -1
- package/package/components/apps/components/helpers/InputValue.svelte +6 -1
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +7 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
- package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +31 -20
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +9 -8
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
- package/package/components/apps/components/layout/AppStepper.svelte +9 -5
- package/package/components/apps/components/layout/AppTabs.svelte +2 -2
- package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
- package/package/components/apps/editor/GridEditor.svelte +24 -19
- package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
- package/package/components/apps/editor/GridViewer.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +7 -11
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
- package/package/components/apps/editor/appUtils.js +17 -68
- package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
- package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -46
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +29 -43
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +23 -25
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
- package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
- package/package/components/apps/utils.d.ts +2 -0
- package/package/components/apps/utils.js +22 -0
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/fileDownload/FileDownload.svelte +1 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
- package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
- package/package/components/copilot/MetadataGen.svelte +19 -1
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
- package/package/components/copilot/ScriptGen.svelte +23 -31
- package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
- package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
- package/package/components/copilot/chat/AIChatInput.svelte +29 -6
- package/package/components/copilot/chat/AIChatManager.svelte.js +110 -26
- package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.js +192 -0
- package/package/components/copilot/chat/api/core.d.ts +7 -0
- package/package/components/copilot/chat/api/core.js +61 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
- package/package/components/copilot/chat/flow/core.js +213 -42
- package/package/components/copilot/chat/flow/utils.js +3 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
- package/package/components/copilot/chat/monaco-adapter.js +10 -4
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +20 -22
- package/package/components/copilot/chat/script/core.d.ts +11 -3
- package/package/components/copilot/chat/script/core.js +92 -15
- package/package/components/copilot/chat/shared.d.ts +30 -3
- package/package/components/copilot/chat/shared.js +228 -9
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +15 -6
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/details/DetailPageLayout.svelte +34 -33
- package/package/components/flow_builder.d.ts +1 -2
- package/package/components/flows/FlowEditor.svelte +3 -3
- package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
- package/package/components/flows/common/FlowCard.svelte +2 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +13 -4
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
- package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
- package/package/components/flows/content/FlowConstants.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
- package/package/components/flows/content/FlowLoop.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowResult.svelte +2 -3
- package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
- package/package/components/flows/dfs.d.ts +3 -1
- package/package/components/flows/dfs.js +5 -1
- package/package/components/flows/flowInfers.js +78 -0
- package/package/components/flows/flowState.d.ts +2 -3
- package/package/components/flows/flowState.js +2 -2
- package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
- package/package/components/flows/flowStateUtils.svelte.js +14 -13
- package/package/components/flows/flowStore.d.ts +3 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
- package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +12 -12
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +26 -19
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
- package/package/components/flows/map/InsertModuleInner.svelte +9 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
- package/package/components/flows/map/MapItem.svelte +4 -2
- package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
- package/package/components/flows/propPicker/OutputBadge.svelte +11 -9
- package/package/components/flows/propPicker/OutputPickerInner.svelte +10 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/flows/testSteps.svelte.d.ts +3 -2
- package/package/components/flows/testSteps.svelte.js +26 -23
- package/package/components/flows/types.d.ts +1 -1
- package/package/components/flows/utils.d.ts +3 -5
- package/package/components/flows/utils.js +3 -4
- package/package/components/git_sync/GitSyncContext.svelte.js +2 -1
- package/package/components/graph/FlowGraphV2.svelte +44 -24
- package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
- package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
- package/package/components/graph/graphBuilder.svelte.js +30 -14
- package/package/components/graph/model.d.ts +9 -6
- package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/AssetNode.svelte +15 -10
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
- package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
- package/package/components/icons/RubyIcon.svelte +656 -0
- package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings.js +9 -0
- package/package/components/modulesTest.svelte.d.ts +6 -3
- package/package/components/modulesTest.svelte.js +32 -0
- package/package/components/preview/FlowPreviewStatus.svelte +3 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -26
- package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
- package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +1 -4
- package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
- package/package/components/runs/RunRow.svelte +5 -1
- package/package/components/schema/AddProperty.svelte +41 -36
- package/package/components/schema/AddProperty.svelte.d.ts +2 -2
- package/package/components/schema/AddPropertyV2.svelte +41 -37
- package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -6
- package/package/components/search/RunsSearch.svelte +1 -1
- package/package/components/settings/CreateToken.svelte +132 -12
- package/package/components/settings/CreateToken.svelte.d.ts +3 -20
- package/package/components/settings/TokenDisplay.svelte +18 -42
- package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
- package/package/components/settings/TokensTable.svelte +2 -4
- package/package/components/settings/TokensTable.svelte.d.ts +3 -19
- package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
- package/package/components/sidebar/MenuButton.svelte +12 -10
- package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
- package/package/components/stepHistoryLoader.svelte.js +7 -12
- package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
- package/package/components/tutorials/utils.js +3 -0
- package/package/components/worker_group.d.ts +4 -1
- package/package/components/worker_group.js +3 -2
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/editorUtils.d.ts +2 -1
- package/package/editorUtils.js +2 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +296 -8
- package/package/gen/schemas.gen.js +364 -70
- package/package/gen/services.gen.d.ts +118 -16
- package/package/gen/services.gen.js +226 -19
- package/package/gen/types.gen.d.ts +660 -16
- package/package/hubPaths.json +7 -4
- package/package/infer.js +10 -1
- package/package/monaco_workers/graphql.worker.bundle.js +144 -110
- package/package/script_helpers.d.ts +3 -0
- package/package/script_helpers.js +58 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +3 -2
- package/package/stores.d.ts +2 -0
- package/package/stores.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +16 -0
- package/package/svelte5Utils.svelte.js +26 -0
- package/package/utils.d.ts +1 -1
- package/package.json +20 -19
- package/package/components/AllFlowLogs.svelte +0 -31
- package/package/components/AllFlowLogs.svelte.d.ts +0 -8
- package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
- package/package/components/copilot/chat/navigator/apiTools.js +0 -258
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
2
|
-
import { CheckCircle2, ChevronRight, Code, GitBranch, Repeat, Square, Zap } from 'lucide-svelte';
|
|
2
|
+
import { BotIcon, CheckCircle2, ChevronRight, Code, GitBranch, Repeat, Square, Zap } from 'lucide-svelte';
|
|
3
3
|
import { createEventDispatcher } from 'svelte';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
export let label;
|
|
@@ -51,6 +51,9 @@ const dispatch = createEventDispatcher();
|
|
|
51
51
|
{:else if label === 'Branch to all'}
|
|
52
52
|
<GitBranch size={14} />
|
|
53
53
|
Branch to all
|
|
54
|
+
{:else if label === 'AI Agent'}
|
|
55
|
+
<BotIcon size={14} />
|
|
56
|
+
AI Agent
|
|
54
57
|
{/if}
|
|
55
58
|
</span>
|
|
56
59
|
{#if returnIcon && selected}
|
|
@@ -5,13 +5,14 @@ import { DollarSign, Pencil, RefreshCw, SquareFunction } from 'lucide-svelte';
|
|
|
5
5
|
let { inputTransform, id, onEditInput } = $props();
|
|
6
6
|
const { flowStore, flowStateStore, testSteps, previewArgs } = getContext('FlowEditorContext') || {};
|
|
7
7
|
onMount(() => {
|
|
8
|
-
testSteps?.updateStepArgs(id,
|
|
8
|
+
testSteps?.updateStepArgs(id, flowStateStore?.val, flowStore?.val, previewArgs?.val);
|
|
9
9
|
});
|
|
10
|
-
const input = $derived(testSteps?.getStepArgs(id)
|
|
10
|
+
const input = $derived(testSteps?.getStepArgs(id));
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<div class="p-4 pr-6 h-full overflow-y-auto">
|
|
14
|
-
|
|
14
|
+
<!-- {JSON.stringify({ inputTransform, input })} -->
|
|
15
|
+
<ObjectViewer json={input} {metaData} {editKey} />
|
|
15
16
|
</div>
|
|
16
17
|
|
|
17
18
|
{#snippet metaData(key: string)}
|
|
@@ -31,7 +32,7 @@ const input = $derived(testSteps?.getStepArgs(id)?.value);
|
|
|
31
32
|
{#if testSteps?.isArgManuallySet(id, key)}
|
|
32
33
|
<button
|
|
33
34
|
onclick={() => {
|
|
34
|
-
testSteps?.evalArg(id, key,
|
|
35
|
+
testSteps?.evalArg(id, key, flowStateStore?.val, flowStore?.val, previewArgs?.val)
|
|
35
36
|
}}
|
|
36
37
|
title="Re-evaluate input"
|
|
37
38
|
class="-my-1 ml-0.5 hover:text-primary dark:hover:text-primary dark:text-gray-500 text-gray-300"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { twMerge } from 'tailwind-merge';
|
|
2
2
|
import { base } from '../../../base';
|
|
3
3
|
import { ExternalLink } from 'lucide-svelte';
|
|
4
|
+
import { emptyString } from '../../../utils';
|
|
4
5
|
export let job = undefined;
|
|
5
6
|
</script>
|
|
6
7
|
|
|
@@ -22,17 +23,18 @@ export let job = undefined;
|
|
|
22
23
|
)}
|
|
23
24
|
title={'success' in job && job.success ? 'Success' : 'Failed'}
|
|
24
25
|
></div>
|
|
25
|
-
|
|
26
26
|
<span class="text-xs truncate" dir="rtl" title={`job id: ${job.id}`}>
|
|
27
27
|
{job.id.slice(-5)}
|
|
28
28
|
</span>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
{#if !emptyString(job.id)}
|
|
30
|
+
<a
|
|
31
|
+
target="_blank"
|
|
32
|
+
href="{base}/run/{job.id}?workspace={job.workspace_id}"
|
|
33
|
+
class="text-right float-right text-gray-300 group-hover:text-gray-400 transition-all duration-200 dark:text-gray-500 dark:group-hover:text-gray-300"
|
|
34
|
+
title="See run detail in a new tab"
|
|
35
|
+
>
|
|
36
|
+
<ExternalLink size={12} />
|
|
37
|
+
</a>
|
|
38
|
+
{/if}
|
|
37
39
|
</div>
|
|
38
40
|
{/if}
|
|
@@ -329,6 +329,15 @@ const copilot_fix_render = $derived(copilot_fix);
|
|
|
329
329
|
>
|
|
330
330
|
{/if}
|
|
331
331
|
</div>
|
|
332
|
+
{:else if testJob}
|
|
333
|
+
<!-- {JSON.stringify(testJob)} -->
|
|
334
|
+
<OutputBadge
|
|
335
|
+
job={testJob}
|
|
336
|
+
class={twMerge(
|
|
337
|
+
'min-w-16 text-secondary',
|
|
338
|
+
preview || testJob?.id !== job?.id ? 'bg-surface shadow-sm h-[23px]' : ''
|
|
339
|
+
)}
|
|
340
|
+
/>
|
|
332
341
|
{/if}
|
|
333
342
|
|
|
334
343
|
{#if !disableMock && !isLoadingAndNotMock}
|
|
@@ -418,7 +427,7 @@ const copilot_fix_render = $derived(copilot_fix);
|
|
|
418
427
|
</div>
|
|
419
428
|
|
|
420
429
|
<div class="px-2">
|
|
421
|
-
{#if selectedJob &&
|
|
430
|
+
{#if selectedJob && displayResultJob && toolbarLocationJob === 'external'}
|
|
422
431
|
<DisplayResultControlBar
|
|
423
432
|
workspaceId={selectedJob.workspace_id}
|
|
424
433
|
jobId={selectedJob.id}
|
|
@@ -56,6 +56,6 @@ interface Props {
|
|
|
56
56
|
onResetInitial?: () => void;
|
|
57
57
|
customEmptyJobMessage?: string;
|
|
58
58
|
}
|
|
59
|
-
declare const OutputPickerInner: import("svelte").Component<Props, {}, "preview" | "forceJson" | "
|
|
59
|
+
declare const OutputPickerInner: import("svelte").Component<Props, {}, "preview" | "forceJson" | "mock" | "isLoading" | "selectedJob" | "derivedHistoryOpen">;
|
|
60
60
|
type OutputPickerInner = ReturnType<typeof OutputPickerInner>;
|
|
61
61
|
export default OutputPickerInner;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { FlowModule, OpenFlow } from '../../gen';
|
|
2
2
|
import type { FlowState } from './flowState';
|
|
3
3
|
import { type PickableProperties } from './previousResults';
|
|
4
|
-
import { type ModuleArgs } from './utils';
|
|
5
4
|
export declare class TestSteps {
|
|
6
5
|
#private;
|
|
7
6
|
constructor();
|
|
8
7
|
setStepArgsManually(moduleId: string, args: Record<string, any>): void;
|
|
9
|
-
getStepArgs(moduleId: string):
|
|
8
|
+
getStepArgs(moduleId: string): Record<string, any> | undefined;
|
|
9
|
+
getStepInputArgs(moduleId: string, argName: string): any | undefined;
|
|
10
10
|
setStepArgs(moduleId: string, args: Record<string, any>): void;
|
|
11
|
+
setStepInputArgs(moduleId: string, argName: string, value: any): void;
|
|
11
12
|
getStepArg(moduleId: string, argName: string): any | undefined;
|
|
12
13
|
setEvaluatedStepArg(moduleId: string, argName: string, value: any): void;
|
|
13
14
|
isArgManuallySet(moduleId: string, argName: string): boolean;
|
|
@@ -5,40 +5,43 @@ export class TestSteps {
|
|
|
5
5
|
#steps = $state({});
|
|
6
6
|
constructor() { }
|
|
7
7
|
setStepArgsManually(moduleId, args) {
|
|
8
|
-
|
|
9
|
-
this.#steps[moduleId] = { value: {} };
|
|
10
|
-
}
|
|
11
|
-
this.#steps[moduleId].value = args;
|
|
8
|
+
this.#steps[moduleId] = args;
|
|
12
9
|
}
|
|
13
10
|
getStepArgs(moduleId) {
|
|
14
11
|
return this.#steps[moduleId];
|
|
15
12
|
}
|
|
13
|
+
getStepInputArgs(moduleId, argName) {
|
|
14
|
+
return this.#steps[moduleId]?.[argName];
|
|
15
|
+
}
|
|
16
16
|
setStepArgs(moduleId, args) {
|
|
17
|
+
this.#steps[moduleId] = args;
|
|
18
|
+
}
|
|
19
|
+
setStepInputArgs(moduleId, argName, value) {
|
|
17
20
|
if (!this.#steps[moduleId]) {
|
|
18
|
-
this.#steps[moduleId] = {
|
|
21
|
+
this.#steps[moduleId] = {};
|
|
19
22
|
}
|
|
20
|
-
this.#steps[moduleId]
|
|
23
|
+
this.#steps[moduleId][argName] = value;
|
|
21
24
|
}
|
|
22
25
|
getStepArg(moduleId, argName) {
|
|
23
26
|
return this.#steps[moduleId]?.[argName];
|
|
24
27
|
}
|
|
25
28
|
setEvaluatedStepArg(moduleId, argName, value) {
|
|
26
29
|
if (!this.#steps[moduleId]) {
|
|
27
|
-
this.#steps[moduleId] = {
|
|
30
|
+
this.#steps[moduleId] = {};
|
|
28
31
|
}
|
|
29
32
|
if (!this.#stepsEvaluated[moduleId]) {
|
|
30
|
-
this.#stepsEvaluated[moduleId] = {
|
|
33
|
+
this.#stepsEvaluated[moduleId] = {};
|
|
31
34
|
}
|
|
32
|
-
this.#steps[moduleId]
|
|
33
|
-
this.#stepsEvaluated[moduleId]
|
|
35
|
+
this.#steps[moduleId][argName] = $state.snapshot(value);
|
|
36
|
+
this.#stepsEvaluated[moduleId][argName] = $state.snapshot(value);
|
|
34
37
|
}
|
|
35
38
|
isArgManuallySet(moduleId, argName) {
|
|
36
|
-
return (JSON.stringify(this.#steps[moduleId]?.
|
|
37
|
-
JSON.stringify(this.#stepsEvaluated[moduleId]?.
|
|
39
|
+
return (JSON.stringify(this.#steps[moduleId]?.[argName]) !==
|
|
40
|
+
JSON.stringify(this.#stepsEvaluated[moduleId]?.[argName]));
|
|
38
41
|
}
|
|
39
42
|
getManuallyEditedArgs(moduleId) {
|
|
40
43
|
const manuallyEditedArgs = [];
|
|
41
|
-
const moduleArgs = this.#steps[moduleId]
|
|
44
|
+
const moduleArgs = this.#steps[moduleId] ?? {};
|
|
42
45
|
Object.keys(moduleArgs).forEach((argName) => {
|
|
43
46
|
if (this.isArgManuallySet(moduleId, argName)) {
|
|
44
47
|
manuallyEditedArgs.push(argName);
|
|
@@ -65,8 +68,8 @@ export class TestSteps {
|
|
|
65
68
|
const stepPropPicker = getStepPropPicker(flowState, parentModule, previousModule, moduleId, flow, previewArgs, false);
|
|
66
69
|
const pickableProperties = stepPropPicker.pickableProperties;
|
|
67
70
|
const argSnapshot = $state.snapshot(evalValue(argName, modules[0], pickableProperties, false));
|
|
68
|
-
this.#stepsEvaluated[moduleId]
|
|
69
|
-
this.#steps[moduleId]
|
|
71
|
+
this.#stepsEvaluated[moduleId][argName] = argSnapshot;
|
|
72
|
+
this.#steps[moduleId][argName] = structuredClone(argSnapshot);
|
|
70
73
|
}
|
|
71
74
|
initializeFromSchema(mod, schema, pickableProperties) {
|
|
72
75
|
const args = Object.fromEntries(Object.keys(schema.properties ?? {}).map((k) => [
|
|
@@ -75,20 +78,20 @@ export class TestSteps {
|
|
|
75
78
|
]));
|
|
76
79
|
const manuallyEditedArgs = this.getManuallyEditedArgs(mod.id);
|
|
77
80
|
if (!this.#steps[mod.id]) {
|
|
78
|
-
this.#steps[mod.id] = {
|
|
81
|
+
this.#steps[mod.id] = {};
|
|
79
82
|
}
|
|
80
83
|
if (!this.#stepsEvaluated[mod.id]) {
|
|
81
|
-
this.#stepsEvaluated[mod.id] = {
|
|
84
|
+
this.#stepsEvaluated[mod.id] = {};
|
|
82
85
|
}
|
|
83
|
-
this.#stepsEvaluated[mod.id]
|
|
86
|
+
this.#stepsEvaluated[mod.id] = $state.snapshot(args);
|
|
84
87
|
// Preserve manually edited args
|
|
85
88
|
const argsSnapshot = $state.snapshot(args);
|
|
86
89
|
Object.keys(argsSnapshot).forEach((key) => {
|
|
87
90
|
if (manuallyEditedArgs.includes(key)) {
|
|
88
|
-
argsSnapshot[key] = this.#steps[mod.id]?.
|
|
91
|
+
argsSnapshot[key] = this.#steps[mod.id]?.[key];
|
|
89
92
|
}
|
|
90
93
|
});
|
|
91
|
-
this.#steps[mod.id]
|
|
94
|
+
this.#steps[mod.id] = argsSnapshot;
|
|
92
95
|
}
|
|
93
96
|
updateStepArgs(id, flowState, flow, previewArgs) {
|
|
94
97
|
if (!flowState || !flow) {
|
|
@@ -112,11 +115,11 @@ export class TestSteps {
|
|
|
112
115
|
return;
|
|
113
116
|
}
|
|
114
117
|
const nargs = {};
|
|
115
|
-
Object.keys(this.#stepsEvaluated[moduleId]
|
|
118
|
+
Object.keys(this.#stepsEvaluated[moduleId] ?? {}).forEach((key) => {
|
|
116
119
|
if (keys.includes(key)) {
|
|
117
|
-
nargs[key] = this.#stepsEvaluated[moduleId]?.
|
|
120
|
+
nargs[key] = this.#stepsEvaluated[moduleId]?.[key];
|
|
118
121
|
}
|
|
119
122
|
});
|
|
120
|
-
this.#stepsEvaluated[moduleId]
|
|
123
|
+
this.#stepsEvaluated[moduleId] = nargs;
|
|
121
124
|
}
|
|
122
125
|
}
|
|
@@ -56,7 +56,7 @@ export type FlowEditorContext = {
|
|
|
56
56
|
pathStore: Writable<string>;
|
|
57
57
|
flowStore: StateStore<ExtendedOpenFlow>;
|
|
58
58
|
flowInputEditorState: Writable<FlowInputEditorState>;
|
|
59
|
-
flowStateStore:
|
|
59
|
+
flowStateStore: StateStore<FlowState>;
|
|
60
60
|
testSteps: TestSteps;
|
|
61
61
|
saveDraft: () => void;
|
|
62
62
|
initialPathStore: Writable<string>;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { type FlowModule, type Job, type RestartedFrom, type OpenFlow } from '../../gen';
|
|
2
|
-
import { type Writable } from 'svelte/store';
|
|
3
2
|
import type { FlowModuleState } from './flowState';
|
|
4
3
|
import { type PickableProperties } from './previousResults';
|
|
5
4
|
import type { ExtendedOpenFlow } from './types';
|
|
6
5
|
import type { GraphModuleState } from '../graph';
|
|
7
6
|
import type { ModulesTestStates } from '../modulesTest.svelte';
|
|
8
|
-
export type ModuleArgs = {
|
|
9
|
-
value: Record<string, any>;
|
|
10
|
-
};
|
|
11
7
|
export declare function evalValue(k: string, mod: FlowModule, pickableProperties: PickableProperties | undefined, showError: boolean): any;
|
|
12
8
|
export declare function filteredContentForExport(flow: ExtendedOpenFlow): {
|
|
13
9
|
summary: string;
|
|
@@ -40,4 +36,6 @@ export declare function checkIfParentLoop(flowStore: ExtendedOpenFlow, modId: st
|
|
|
40
36
|
* Extracts job information and converts it to GraphModuleState format
|
|
41
37
|
* for graph rendering
|
|
42
38
|
*/
|
|
43
|
-
export declare function updateDerivedModuleStatesFromTestJobs(moduleId: string | undefined, moduleTestStates: ModulesTestStates | undefined, moduleStates:
|
|
39
|
+
export declare function updateDerivedModuleStatesFromTestJobs(moduleId: string | undefined, moduleTestStates: ModulesTestStates | undefined, moduleStates: Record<string, GraphModuleState> | undefined): {
|
|
40
|
+
[x: string]: GraphModuleState;
|
|
41
|
+
} | undefined;
|
|
@@ -181,9 +181,8 @@ export function updateDerivedModuleStatesFromTestJobs(moduleId, moduleTestStates
|
|
|
181
181
|
};
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
...currentStates,
|
|
184
|
+
return {
|
|
185
|
+
...moduleStates,
|
|
187
186
|
...newStates
|
|
188
|
-
}
|
|
187
|
+
};
|
|
189
188
|
}
|
|
@@ -386,7 +386,8 @@ export function createGitSyncContext(workspace) {
|
|
|
386
386
|
workspace,
|
|
387
387
|
path: hubPaths.gitSyncTest,
|
|
388
388
|
requestBody: {
|
|
389
|
-
repo_url_resource_path: repo.git_repo_resource_path
|
|
389
|
+
repo_url_resource_path: repo.git_repo_resource_path,
|
|
390
|
+
init: repo.isUnsavedConnection || false
|
|
390
391
|
},
|
|
391
392
|
skipPreprocessor: true
|
|
392
393
|
});
|
|
@@ -4,7 +4,7 @@ import { getContext, onDestroy, setContext, tick, untrack } from 'svelte';
|
|
|
4
4
|
import { get, writable } from 'svelte/store';
|
|
5
5
|
import '@xyflow/svelte/dist/base.css';
|
|
6
6
|
import { SvelteFlow, ConnectionLineType, Controls, ControlButton, SvelteFlowProvider } from '@xyflow/svelte';
|
|
7
|
-
import { graphBuilder, isTriggerStep } from './graphBuilder.svelte';
|
|
7
|
+
import { graphBuilder, isTriggerStep, topologicalSort } from './graphBuilder.svelte';
|
|
8
8
|
import ModuleNode from './renderers/nodes/ModuleNode.svelte';
|
|
9
9
|
import InputNode from './renderers/nodes/InputNode.svelte';
|
|
10
10
|
import BranchAllStart from './renderers/nodes/BranchAllStart.svelte';
|
|
@@ -29,16 +29,19 @@ import FlowYamlEditor from '../flows/header/FlowYamlEditor.svelte';
|
|
|
29
29
|
import BranchOneEndNode from './renderers/nodes/branchOneEndNode.svelte';
|
|
30
30
|
import { workspaceStore } from '../../stores';
|
|
31
31
|
import SubflowBound from './renderers/nodes/SubflowBound.svelte';
|
|
32
|
-
import { deepEqual } from 'fast-equals';
|
|
33
32
|
import ViewportResizer from './ViewportResizer.svelte';
|
|
34
33
|
import AssetNode, { computeAssetNodes } from './renderers/nodes/AssetNode.svelte';
|
|
35
34
|
import AssetsOverflowedNode from './renderers/nodes/AssetsOverflowedNode.svelte';
|
|
35
|
+
import AiToolNode, { computeAIToolNodes } from './renderers/nodes/AIToolNode.svelte';
|
|
36
|
+
import NewAiToolNode from './renderers/nodes/NewAIToolNode.svelte';
|
|
37
|
+
import { ChangeTracker } from '../../svelte5Utils.svelte';
|
|
38
|
+
import { deepEqual } from 'fast-equals';
|
|
36
39
|
let useDataflow = writable(false);
|
|
37
40
|
const triggerContext = getContext('TriggerContext');
|
|
38
41
|
let fullWidth = 0;
|
|
39
42
|
let width = $state(0);
|
|
40
43
|
let simplifiableFlow = $state(undefined);
|
|
41
|
-
let { onInsert = undefined, onDelete = undefined, onMove = undefined, onDeleteBranch = undefined, onNewBranch = undefined, onSelect = undefined, onChangeId = undefined, onUpdateMock = undefined, onSelectedIteration = undefined, success = undefined, modules = [], failureModule = undefined, preprocessorModule = undefined, minHeight = 0, maxHeight = undefined, notSelectable = false, flowModuleStates = undefined, selectedId = writable(undefined), path = undefined, newFlow = false, insertable = false, earlyStop = false, cache = false, scroll = false, moving = undefined, download = false, fullSize = false, disableAi = false, triggerNode = false, workspace = $workspaceStore ?? 'NO_WORKSPACE', editMode = false, allowSimplifiedPoll = true, expandedSubflows = $bindable({}), onTestUpTo = undefined, onEditInput = undefined, isOwner = false, onTestFlow = undefined, isRunning = false, onCancelTestFlow = undefined, onOpenPreview = undefined, onHideJobStatus = undefined, individualStepTests = false, flowJob = undefined, showJobStatus = false, suspendStatus =
|
|
44
|
+
let { onInsert = undefined, onDelete = undefined, onMove = undefined, onDeleteBranch = undefined, onNewBranch = undefined, onSelect = undefined, onChangeId = undefined, onUpdateMock = undefined, onSelectedIteration = undefined, success = undefined, modules = [], failureModule = undefined, preprocessorModule = undefined, minHeight = 0, maxHeight = undefined, notSelectable = false, flowModuleStates = undefined, testModuleStates = undefined, selectedId = writable(undefined), path = undefined, newFlow = false, insertable = false, earlyStop = false, cache = false, scroll = false, moving = undefined, download = false, fullSize = false, disableAi = false, triggerNode = false, workspace = $workspaceStore ?? 'NO_WORKSPACE', editMode = false, allowSimplifiedPoll = true, expandedSubflows = $bindable({}), onTestUpTo = undefined, onEditInput = undefined, isOwner = false, onTestFlow = undefined, isRunning = false, onCancelTestFlow = undefined, onOpenPreview = undefined, onHideJobStatus = undefined, individualStepTests = false, flowJob = undefined, showJobStatus = false, suspendStatus = {}, flowHasChanged = false } = $props();
|
|
42
45
|
setContext('FlowGraphContext', { selectedId, useDataflow });
|
|
43
46
|
if (triggerContext && allowSimplifiedPoll) {
|
|
44
47
|
if (isSimplifiable(modules)) {
|
|
@@ -63,9 +66,11 @@ function onModulesChange(modules) {
|
|
|
63
66
|
let lastNodes = undefined;
|
|
64
67
|
function layoutNodes(nodes) {
|
|
65
68
|
let lastResult = lastNodes?.[1];
|
|
66
|
-
if (lastResult && nodes
|
|
69
|
+
if (lastResult && deepEqual(nodes, lastNodes?.[0])) {
|
|
70
|
+
console.debug('layoutNodes', 'same nodes');
|
|
67
71
|
return lastResult;
|
|
68
72
|
}
|
|
73
|
+
console.debug('layoutNodes', nodes.length);
|
|
69
74
|
let seenId = [];
|
|
70
75
|
for (const n of nodes) {
|
|
71
76
|
if (seenId.includes(n.id)) {
|
|
@@ -77,7 +82,7 @@ function layoutNodes(nodes) {
|
|
|
77
82
|
const nodes2 = nodes.map((n) => {
|
|
78
83
|
return { ...n, position: { x: 0, y: 0 } };
|
|
79
84
|
});
|
|
80
|
-
for (const n of nodes
|
|
85
|
+
for (const n of topologicalSort(nodes)) {
|
|
81
86
|
const endId = n.id + '-end';
|
|
82
87
|
if (nodeWidths[endId] != undefined) {
|
|
83
88
|
nodeWidths[n.id] = Math.max(nodeWidths[n.id] ?? 0, nodeWidths[endId]);
|
|
@@ -111,12 +116,11 @@ function layoutNodes(nodes) {
|
|
|
111
116
|
}
|
|
112
117
|
const yOffset = insertable ? 100 : 0;
|
|
113
118
|
const newNodes = dag.descendants().map((des) => ({
|
|
114
|
-
...des.data,
|
|
115
119
|
id: des.data.id,
|
|
116
120
|
position: {
|
|
117
121
|
x: des.x
|
|
118
122
|
? // @ts-ignore
|
|
119
|
-
(des.data.
|
|
123
|
+
(des.data.offset ?? 0) +
|
|
120
124
|
// @ts-ignore
|
|
121
125
|
des.x +
|
|
122
126
|
(fullSize ? fullWidth : width) / 2 -
|
|
@@ -195,14 +199,7 @@ let eventHandler = {
|
|
|
195
199
|
onHideJobStatus?.();
|
|
196
200
|
}
|
|
197
201
|
};
|
|
198
|
-
let
|
|
199
|
-
let moduleCounter = $state(0);
|
|
200
|
-
function onModulesChange2(modules) {
|
|
201
|
-
if (!deepEqual(modules, lastModules)) {
|
|
202
|
-
lastModules = $state.snapshot(modules);
|
|
203
|
-
moduleCounter++;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
202
|
+
let moduleTracker = new ChangeTracker($state.snapshot(modules));
|
|
206
203
|
let nodes = $state.raw([]);
|
|
207
204
|
let edges = $state.raw([]);
|
|
208
205
|
let height = $state(0);
|
|
@@ -220,9 +217,29 @@ async function updateStores() {
|
|
|
220
217
|
if (graph.error) {
|
|
221
218
|
return;
|
|
222
219
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
220
|
+
// console.log('compute')
|
|
221
|
+
let layoutedNodes = layoutNodes(Object.values(graph.nodes).map((n) => ({
|
|
222
|
+
id: n.id,
|
|
223
|
+
parentIds: n.parentIds,
|
|
224
|
+
offset: n.data.offset ?? 0
|
|
225
|
+
})));
|
|
226
|
+
let newNodes = layoutedNodes.map((n) => ({ ...n, ...graph.nodes[n.id] }));
|
|
227
|
+
let assetNodesResult = computeAssetNodes(newNodes.map((n) => ({
|
|
228
|
+
data: { assets: n.data?.assets },
|
|
229
|
+
id: n.id,
|
|
230
|
+
position: n.position
|
|
231
|
+
})));
|
|
232
|
+
newNodes = newNodes.map((n) => ({
|
|
233
|
+
...n,
|
|
234
|
+
position: assetNodesResult.newNodePositions[n.id]
|
|
235
|
+
}));
|
|
236
|
+
let aiToolNodesResult = computeAIToolNodes(newNodes, eventHandler, insertable, flowModuleStates);
|
|
237
|
+
nodes = [
|
|
238
|
+
...newNodes.map((n) => ({ ...n, position: aiToolNodesResult.newNodePositions[n.id] })),
|
|
239
|
+
...assetNodesResult.newAssetNodes,
|
|
240
|
+
...aiToolNodesResult.toolNodes
|
|
241
|
+
];
|
|
242
|
+
edges = [...assetNodesResult.newAssetEdges, ...aiToolNodesResult.toolEdges, ...graph.edges];
|
|
226
243
|
await tick();
|
|
227
244
|
height = Math.max(...nodes.map((n) => n.position.y + NODE.height + 100), minHeight);
|
|
228
245
|
}
|
|
@@ -242,7 +259,9 @@ const nodeTypes = {
|
|
|
242
259
|
noBranch: NoBranchNode,
|
|
243
260
|
trigger: TriggersNode,
|
|
244
261
|
asset: AssetNode,
|
|
245
|
-
assetsOverflowed: AssetsOverflowedNode
|
|
262
|
+
assetsOverflowed: AssetsOverflowedNode,
|
|
263
|
+
aiTool: AiToolNode,
|
|
264
|
+
newAiTool: NewAiToolNode
|
|
246
265
|
};
|
|
247
266
|
const edgeTypes = {
|
|
248
267
|
edge: BaseEdge,
|
|
@@ -261,15 +280,16 @@ $effect(() => {
|
|
|
261
280
|
});
|
|
262
281
|
$effect(() => {
|
|
263
282
|
readFieldsRecursively(modules);
|
|
264
|
-
untrack(() =>
|
|
283
|
+
untrack(() => moduleTracker.track($state.snapshot(modules)));
|
|
265
284
|
});
|
|
266
285
|
let graph = $derived.by(() => {
|
|
267
|
-
|
|
286
|
+
moduleTracker.counter;
|
|
268
287
|
return graphBuilder(untrack(() => modules), {
|
|
269
288
|
disableAi,
|
|
270
289
|
insertable,
|
|
271
|
-
flowModuleStates,
|
|
272
|
-
|
|
290
|
+
flowModuleStates: untrack(() => flowModuleStates),
|
|
291
|
+
testModuleStates: untrack(() => testModuleStates),
|
|
292
|
+
selectedId: untrack(() => $selectedId),
|
|
273
293
|
path,
|
|
274
294
|
newFlow,
|
|
275
295
|
cache,
|
|
@@ -283,7 +303,7 @@ let graph = $derived.by(() => {
|
|
|
283
303
|
suspendStatus,
|
|
284
304
|
flowHasChanged,
|
|
285
305
|
additionalAssetsMap: flowGraphAssetsCtx?.val.additionalAssetsMap
|
|
286
|
-
}, failureModule, preprocessorModule, eventHandler, success, $useDataflow, $selectedId, moving, simplifiableFlow, triggerNode ? path : undefined, expandedSubflows);
|
|
306
|
+
}, untrack(() => failureModule), untrack(() => preprocessorModule), eventHandler, success, $useDataflow, untrack(() => $selectedId), moving, simplifiableFlow, triggerNode ? path : undefined, expandedSubflows);
|
|
287
307
|
});
|
|
288
308
|
$effect(() => {
|
|
289
309
|
;
|
|
@@ -3,6 +3,7 @@ import { type GraphModuleState } from '.';
|
|
|
3
3
|
import { type Writable } from 'svelte/store';
|
|
4
4
|
import '@xyflow/svelte/dist/base.css';
|
|
5
5
|
import { type InlineScript, type InsertKind, type onSelectedIteration } from './graphBuilder.svelte';
|
|
6
|
+
import type { ModulesTestStates } from '../modulesTest.svelte';
|
|
6
7
|
interface Props {
|
|
7
8
|
success?: boolean | undefined;
|
|
8
9
|
modules?: FlowModule[] | undefined;
|
|
@@ -12,6 +13,7 @@ interface Props {
|
|
|
12
13
|
maxHeight?: number | undefined;
|
|
13
14
|
notSelectable?: boolean;
|
|
14
15
|
flowModuleStates?: Record<string, GraphModuleState> | undefined;
|
|
16
|
+
testModuleStates?: ModulesTestStates;
|
|
15
17
|
selectedId?: Writable<string | undefined>;
|
|
16
18
|
path?: string | undefined;
|
|
17
19
|
newFlow?: boolean;
|
|
@@ -33,10 +35,10 @@ interface Props {
|
|
|
33
35
|
individualStepTests?: boolean;
|
|
34
36
|
flowJob?: Job | undefined;
|
|
35
37
|
showJobStatus?: boolean;
|
|
36
|
-
suspendStatus?:
|
|
38
|
+
suspendStatus?: Record<string, {
|
|
37
39
|
job: Job;
|
|
38
40
|
nb: number;
|
|
39
|
-
}
|
|
41
|
+
}>;
|
|
40
42
|
onDelete?: (id: string) => void;
|
|
41
43
|
onInsert?: (detail: {
|
|
42
44
|
sourceId?: string;
|
|
@@ -48,6 +50,7 @@ interface Props {
|
|
|
48
50
|
index: number;
|
|
49
51
|
detail: string;
|
|
50
52
|
isPreprocessor?: boolean;
|
|
53
|
+
agentId?: string;
|
|
51
54
|
inlineScript?: InlineScript;
|
|
52
55
|
script?: {
|
|
53
56
|
path: string;
|