windmill-components 1.434.1 → 1.444.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ArgInput.svelte +12 -16
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/AssignableTags.svelte +3 -1
- package/package/components/AssignableTags.svelte.d.ts +1 -0
- package/package/components/AuthSettings.svelte +248 -0
- package/package/components/AuthSettings.svelte.d.ts +19 -0
- package/package/components/AutoscalingConfigEditor.svelte +2 -2
- package/package/components/CronInput.svelte +2 -2
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/Description.svelte +9 -0
- package/package/components/Description.svelte.d.ts +18 -0
- package/package/components/Dev.svelte +18 -3
- package/package/components/DisplayResult.svelte +7 -4
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +2 -2
- package/package/components/Editor.svelte +9 -6
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +51 -6
- package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
- package/package/components/ExecutionDuration.svelte +2 -1
- package/package/components/FieldHeader.svelte +9 -1
- package/package/components/FieldHeader.svelte.d.ts +1 -0
- package/package/components/FlowBuilder.svelte +16 -3
- package/package/components/FlowGraphViewer.svelte +2 -0
- package/package/components/FlowPreviewContent.svelte +6 -15
- package/package/components/FlowStatusViewerInner.svelte +14 -10
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformSchemaForm.svelte +1 -1
- package/package/components/InstanceSetting.svelte +774 -0
- package/package/components/InstanceSetting.svelte.d.ts +27 -0
- package/package/components/InstanceSettings.svelte +68 -1005
- package/package/components/InstanceSettings.svelte.d.ts +0 -4
- package/package/components/Label.svelte +16 -6
- package/package/components/Label.svelte.d.ts +3 -0
- package/package/components/Login.svelte +17 -9
- package/package/components/OAuthSetting.svelte +4 -3
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +2 -2
- package/package/components/ObjectStoreConfigSettings.svelte +141 -128
- package/package/components/QueueMetricsDrawer.svelte +5 -5
- package/package/components/ResourceEditor.svelte +4 -0
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +15 -3
- package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
- package/package/components/ResourcePicker.svelte +16 -5
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunPageSchedules.svelte +15 -10
- package/package/components/SavedInputs.svelte +1 -1
- package/package/components/ScheduleEditorInner.svelte +58 -27
- package/package/components/SchemaForm.svelte +7 -5
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/ScriptBuilder.svelte +58 -5
- package/package/components/ScriptEditor.svelte +78 -40
- package/package/components/ScriptEditor.svelte.d.ts +17 -2
- package/package/components/ScriptPicker.svelte +41 -34
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/Section.svelte +38 -35
- package/package/components/Section.svelte.d.ts +2 -0
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/SimpleEditor.svelte +2 -0
- package/package/components/Subsection.svelte +52 -0
- package/package/components/Subsection.svelte.d.ts +27 -0
- package/package/components/SuperadminSettings.svelte +23 -13
- package/package/components/TemplateEditor.svelte +4 -3
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte +2 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +2 -4
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +4 -4
- package/package/components/WorkerTagPicker.svelte +4 -2
- package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
- package/package/components/WorkerTagSelect.svelte +2 -0
- package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
- package/package/components/apps/components/display/dbtable/utils.js +26 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
- package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +5 -34
- package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +17 -0
- package/package/components/apps/editor/component/components.d.ts +82 -81
- package/package/components/apps/editor/component/components.js +4 -3
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
- package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/types.d.ts +2 -0
- package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
- package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
- package/package/components/common/alert/Notification.svelte +15 -0
- package/package/components/common/alert/Notification.svelte.d.ts +17 -0
- package/package/components/common/button/AnimatedButton.svelte +1 -1
- package/package/components/common/button/RefreshButton.svelte +30 -0
- package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -3
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/layout/List.svelte +35 -0
- package/package/components/common/layout/List.svelte.d.ts +21 -0
- package/package/components/common/layout/ListElement.svelte +3 -0
- package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
- package/package/components/common/menu/MenuV2.svelte +3 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +6 -4
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal2.svelte +101 -0
- package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
- package/package/components/common/popup/Popup.svelte +5 -1
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +12 -2
- package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
- package/package/components/details/CopyableCodeBlock.svelte +24 -0
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
- package/package/components/details/DetailPageLayout.svelte +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
- package/package/components/details/EmailTriggerPanel.svelte +27 -74
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistoryInner.svelte +1 -1
- package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInput.svelte +2 -15
- package/package/components/flows/content/FlowInputs.svelte +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowPathViewer.svelte +3 -1
- package/package/components/flows/content/FlowRetries.svelte +32 -5
- package/package/components/flows/content/FlowSettings.svelte +56 -48
- package/package/components/flows/flowStateUtils.d.ts +10 -1
- package/package/components/flows/flowStateUtils.js +23 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
- package/package/components/flows/map/InsertModuleButton.svelte +3 -3
- package/package/components/flows/map/VirtualItem.svelte +29 -1
- package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
- package/package/components/flows/previousResults.js +8 -2
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +5 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/icons/CSharpIcon.svelte +14 -0
- package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
- package/package/components/icons/GitIcon.svelte +5 -2
- package/package/components/icons/XeroIcon.svelte +24 -0
- package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +3 -1
- package/package/components/icons/index.js +4 -2
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +77 -69
- package/package/components/meltComponents/Popover.svelte +82 -0
- package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
- package/package/components/propertyPicker/PropPicker.svelte +5 -3
- package/package/components/runs/JobLoader.svelte +5 -2
- package/package/components/runs/JobPreview.svelte +5 -5
- package/package/components/runs/RunRow.svelte +3 -4
- package/package/components/runs/RunsFilter.svelte +4 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
- package/package/components/schema/PropertyEditor.svelte +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +176 -164
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/search/GlobalSearchModal.svelte +3 -3
- package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
- package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
- package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
- package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
- package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
- package/package/components/sidebar/OperatorMenu.svelte +30 -8
- package/package/components/sidebar/SideBarNotification.svelte +3 -6
- package/package/components/sidebar/SidebarContent.svelte +5 -5
- package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
- package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
- package/package/components/sidebar/changelogs.js +82 -17
- package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
- package/package/components/table/AutoDataTable.svelte +1 -1
- package/package/components/table/Cell.svelte +5 -3
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +65 -58
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +3 -1
- package/package/components/table/Row.svelte.d.ts +1 -0
- package/package/components/toast.js +3 -1
- package/package/components/triggers/CaptureButton.svelte +77 -0
- package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
- package/package/components/triggers/CaptureIcon.svelte +17 -0
- package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
- package/package/components/triggers/CaptureSection.svelte +76 -0
- package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
- package/package/components/triggers/CaptureTable.svelte +224 -0
- package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
- package/package/components/triggers/CaptureWrapper.svelte +237 -0
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
- package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
- package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
- package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers/RouteEditor.svelte +2 -2
- package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
- package/package/components/triggers/RouteEditorInner.svelte +98 -163
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/RoutesPanel.svelte +69 -54
- package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
- package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
- package/package/components/triggers/TriggersEditor.svelte +119 -89
- package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
- package/package/components/triggers/TriggersEditorSection.svelte +109 -0
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
- package/package/components/triggers/TriggersWrapper.svelte +60 -0
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
- package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
- package/package/components/triggers/WebhooksPanel.svelte +32 -331
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
- package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers.d.ts +6 -2
- package/package/components/triggers.js +16 -0
- package/package/components/wizards/AgGridWizard.svelte +4 -4
- package/package/editorUtils.d.ts +2 -0
- package/package/editorUtils.js +6 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +17 -8
- package/package/gen/schemas.gen.js +17 -8
- package/package/gen/services.gen.d.ts +55 -5
- package/package/gen/services.gen.js +108 -5
- package/package/gen/types.gen.d.ts +180 -13
- package/package/hubPaths.json +6 -3
- package/package/infer.js +9 -0
- package/package/script_helpers.d.ts +5 -0
- package/package/script_helpers.js +68 -8
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/utils.d.ts +3 -1
- package/package/utils.js +20 -4
- package/package.json +11 -8
- package/package/components/flows/content/CapturePayload.svelte +0 -114
- package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
|
@@ -6,9 +6,15 @@ declare const __propDef: {
|
|
|
6
6
|
isFlow?: boolean | undefined;
|
|
7
7
|
hash?: string | undefined;
|
|
8
8
|
path: string;
|
|
9
|
-
|
|
9
|
+
isEditor?: boolean | undefined;
|
|
10
|
+
canHavePreprocessor?: boolean | undefined;
|
|
11
|
+
hasPreprocessor?: boolean | undefined;
|
|
12
|
+
newItem?: boolean | undefined;
|
|
10
13
|
};
|
|
11
14
|
events: {
|
|
15
|
+
applyArgs: any;
|
|
16
|
+
addPreprocessor: any;
|
|
17
|
+
} & {
|
|
12
18
|
[evt: string]: CustomEvent<any>;
|
|
13
19
|
};
|
|
14
20
|
slots: {};
|
|
@@ -61,7 +61,7 @@ setContext('PropPickerContext', {
|
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
63
63
|
{:else}
|
|
64
|
-
<FlowEditorPanel {disabledFlowInputs} {newFlow} enableAi={!disableAi} />
|
|
64
|
+
<FlowEditorPanel {disabledFlowInputs} {newFlow} enableAi={!disableAi} on:applyArgs />
|
|
65
65
|
{/if}
|
|
66
66
|
</Pane>
|
|
67
67
|
</Splitpanes>
|
|
@@ -123,7 +123,7 @@ $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
|
|
|
123
123
|
color="blue"
|
|
124
124
|
buttonType="button"
|
|
125
125
|
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
126
|
-
aria-label="Save
|
|
126
|
+
aria-label="Save deployment message"
|
|
127
127
|
on:click={() => {
|
|
128
128
|
updateDeploymentMsg(selectedVersion?.id)
|
|
129
129
|
}}
|
|
@@ -8,11 +8,13 @@ import TriggersEditor from '../../triggers/TriggersEditor.svelte';
|
|
|
8
8
|
import { initFlowStepWarnings } from '../utils';
|
|
9
9
|
import { dfs } from '../dfs';
|
|
10
10
|
import FlowPreprocessorModule from './FlowPreprocessorModule.svelte';
|
|
11
|
+
import { insertNewPreprocessorModule } from '../flowStateUtils';
|
|
11
12
|
export let noEditor = false;
|
|
12
13
|
export let enableAi = false;
|
|
13
14
|
export let newFlow = false;
|
|
14
15
|
export let disabledFlowInputs = false;
|
|
15
16
|
const { selectedId, flowStore, flowStateStore, flowInputsStore, pathStore, initialPath } = getContext('FlowEditorContext');
|
|
17
|
+
const { selectedTrigger, defaultValues, captureOn } = getContext('TriggerContext');
|
|
16
18
|
function checkDup(modules) {
|
|
17
19
|
let seenModules = [];
|
|
18
20
|
for (const m of modules) {
|
|
@@ -44,7 +46,24 @@ onMount(() => {
|
|
|
44
46
|
{#if $selectedId?.startsWith('settings')}
|
|
45
47
|
<FlowSettings {noEditor} />
|
|
46
48
|
{:else if $selectedId === 'Input'}
|
|
47
|
-
<FlowInput
|
|
49
|
+
<FlowInput
|
|
50
|
+
{noEditor}
|
|
51
|
+
disabled={disabledFlowInputs}
|
|
52
|
+
on:openTriggers={(ev) => {
|
|
53
|
+
$selectedId = 'triggers'
|
|
54
|
+
selectedTrigger.set(ev.detail.kind)
|
|
55
|
+
defaultValues.set(ev.detail.config)
|
|
56
|
+
captureOn.set(true)
|
|
57
|
+
}}
|
|
58
|
+
on:applyArgs
|
|
59
|
+
on:updateSchema={(e) => {
|
|
60
|
+
const { schema, redirect } = e.detail
|
|
61
|
+
$flowStore.schema = schema
|
|
62
|
+
if (redirect) {
|
|
63
|
+
$selectedId = 'Input'
|
|
64
|
+
}
|
|
65
|
+
}}
|
|
66
|
+
/>
|
|
48
67
|
{:else if $selectedId === 'Result'}
|
|
49
68
|
<p class="p-4 text-secondary">The result of the flow will be the result of the last node.</p>
|
|
50
69
|
{:else if $selectedId === 'constants'}
|
|
@@ -55,12 +74,22 @@ onMount(() => {
|
|
|
55
74
|
<FlowPreprocessorModule {noEditor} />
|
|
56
75
|
{:else if $selectedId === 'triggers'}
|
|
57
76
|
<TriggersEditor
|
|
77
|
+
on:applyArgs
|
|
78
|
+
on:addPreprocessor={async () => {
|
|
79
|
+
await insertNewPreprocessorModule(flowStore, flowStateStore, {
|
|
80
|
+
language: 'bun',
|
|
81
|
+
subkind: 'preprocessor'
|
|
82
|
+
})
|
|
83
|
+
$selectedId = 'preprocessor'
|
|
84
|
+
}}
|
|
58
85
|
currentPath={$pathStore}
|
|
59
86
|
{initialPath}
|
|
60
87
|
schema={$flowStore.schema}
|
|
61
88
|
{noEditor}
|
|
62
89
|
newItem={newFlow}
|
|
63
90
|
isFlow={true}
|
|
91
|
+
hasPreprocessor={!!$flowStore.value.preprocessor_module}
|
|
92
|
+
canHavePreprocessor={true}
|
|
64
93
|
/>
|
|
65
94
|
{:else if $selectedId.startsWith('subflow:')}
|
|
66
95
|
<div class="p-4"
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { getContext } from 'svelte';
|
|
3
3
|
import FlowCard from '../common/FlowCard.svelte';
|
|
4
4
|
import { copyFirstStepSchema } from '../flowStore';
|
|
5
|
-
import CapturePayload from './CapturePayload.svelte';
|
|
6
5
|
import Drawer from '../../common/drawer/Drawer.svelte';
|
|
7
6
|
import SimpleEditor from '../../SimpleEditor.svelte';
|
|
8
7
|
import { convert } from '@redocly/json-to-json-schema';
|
|
@@ -14,7 +13,6 @@ import FlowInputViewer from '../../FlowInputViewer.svelte';
|
|
|
14
13
|
export let noEditor;
|
|
15
14
|
export let disabled;
|
|
16
15
|
const { flowStore, flowStateStore, previewArgs, initialPath } = getContext('FlowEditorContext');
|
|
17
|
-
let capturePayload;
|
|
18
16
|
let inputLibraryDrawer;
|
|
19
17
|
let jsonPayload;
|
|
20
18
|
let pendingJson;
|
|
@@ -31,21 +29,10 @@ function importJson() {
|
|
|
31
29
|
const yOffset = 191;
|
|
32
30
|
</script>
|
|
33
31
|
|
|
34
|
-
<CapturePayload bind:this={capturePayload} />
|
|
35
|
-
|
|
36
32
|
<FlowCard {noEditor} title="Flow Input">
|
|
37
33
|
{#if !disabled}
|
|
38
34
|
<div class="flex flex-row items-center gap-2 px-4 py-2 border-b">
|
|
39
|
-
<div>Copy input's schema from</div>
|
|
40
|
-
<Button
|
|
41
|
-
color="dark"
|
|
42
|
-
size="xs"
|
|
43
|
-
on:click={() => {
|
|
44
|
-
capturePayload.openDrawer()
|
|
45
|
-
}}
|
|
46
|
-
>
|
|
47
|
-
A request
|
|
48
|
-
</Button>
|
|
35
|
+
<div class="text-sm">Copy input's schema from</div>
|
|
49
36
|
<Button
|
|
50
37
|
color="dark"
|
|
51
38
|
size="xs"
|
|
@@ -62,7 +49,7 @@ const yOffset = 191;
|
|
|
62
49
|
inputLibraryDrawer.openDrawer()
|
|
63
50
|
}}
|
|
64
51
|
>
|
|
65
|
-
Past
|
|
52
|
+
Past runs/Input library
|
|
66
53
|
</Button>
|
|
67
54
|
<Button
|
|
68
55
|
color="dark"
|
|
@@ -108,7 +108,7 @@ let customUi = getContext('customUi');
|
|
|
108
108
|
By default, adding a trigger will set the schedule to 15 minutes. To see all ways to trigger
|
|
109
109
|
a flow, check
|
|
110
110
|
<a
|
|
111
|
-
href="https://www.windmill.dev/docs/getting_started/
|
|
111
|
+
href="https://www.windmill.dev/docs/getting_started/triggers"
|
|
112
112
|
target="_blank"
|
|
113
113
|
class="text-blue-400">Triggering Flows</a
|
|
114
114
|
>.
|
|
@@ -110,8 +110,8 @@ function computeInlineScriptChoices(funcDesc, selected, preFilter, selectedKind)
|
|
|
110
110
|
inlineScripts = [];
|
|
111
111
|
}
|
|
112
112
|
const allToplevelNodes = [
|
|
113
|
-
['For
|
|
114
|
-
['While
|
|
113
|
+
['For loop', 'forloop'],
|
|
114
|
+
['While loop', 'whileloop'],
|
|
115
115
|
['Branch to one', 'branchone'],
|
|
116
116
|
['Branch to all', 'branchall']
|
|
117
117
|
];
|
|
@@ -42,7 +42,7 @@ import { computeFlowStepWarning, initFlowStepWarnings } from '../utils';
|
|
|
42
42
|
import { debounce } from '../../../utils';
|
|
43
43
|
import { dfs } from '../dfs';
|
|
44
44
|
import FlowModuleSkip from './FlowModuleSkip.svelte';
|
|
45
|
-
const { selectedId, previewArgs, flowStateStore, flowStore, pathStore, saveDraft, flowInputsStore, customUi } = getContext('FlowEditorContext');
|
|
45
|
+
const { selectedId, previewArgs, flowStateStore, flowStore, pathStore, saveDraft, flowInputsStore, customUi, executionCount } = getContext('FlowEditorContext');
|
|
46
46
|
export let flowModule;
|
|
47
47
|
export let failureModule = false;
|
|
48
48
|
export let preprocessorModule = false;
|
|
@@ -83,9 +83,10 @@ function setCopilotModuleEditor() {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
$: editor !== undefined && setCopilotModuleEditor();
|
|
86
|
-
$: stepPropPicker =
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
$: stepPropPicker =
|
|
87
|
+
$executionCount != undefined && failureModule
|
|
88
|
+
? getFailureStepPropPicker($flowStateStore, $flowStore, $previewArgs)
|
|
89
|
+
: getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
|
|
89
90
|
function onKeyDown(event) {
|
|
90
91
|
if ((event.ctrlKey || event.metaKey) && event.key == 'Enter') {
|
|
91
92
|
event.preventDefault();
|
|
@@ -214,6 +215,9 @@ function setFlowInput(argName) {
|
|
|
214
215
|
$flowStateStore[flowModule.id].schema,
|
|
215
216
|
$pathStore
|
|
216
217
|
)
|
|
218
|
+
if (flowModule.value.type == 'rawscript') {
|
|
219
|
+
module.value.input_transforms = flowModule.value.input_transforms
|
|
220
|
+
}
|
|
217
221
|
flowModule = module
|
|
218
222
|
$flowStateStore[module.id] = state
|
|
219
223
|
}}
|
|
@@ -427,7 +431,7 @@ function setFlowInput(argName) {
|
|
|
427
431
|
<FlowRetries bind:flowModuleRetry={flowModule.retry} />
|
|
428
432
|
</Section>
|
|
429
433
|
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'concurrency'}
|
|
430
|
-
<Section label="Concurrency
|
|
434
|
+
<Section label="Concurrency limits" class="flex flex-col gap-4" eeOnly>
|
|
431
435
|
<svelte:fragment slot="header">
|
|
432
436
|
<Tooltip>Allowed concurrency within a given timeframe</Tooltip>
|
|
433
437
|
</svelte:fragment>
|
|
@@ -68,7 +68,7 @@ $: parentLoopId = checkIfParentLoop($flowStore);
|
|
|
68
68
|
/>
|
|
69
69
|
|
|
70
70
|
<div
|
|
71
|
-
class="w-full border p-2 flex flex-col {flowModule.stop_after_if
|
|
71
|
+
class="w-full mt-1 border p-2 flex flex-col {flowModule.stop_after_if
|
|
72
72
|
? ''
|
|
73
73
|
: 'bg-surface-secondary'}"
|
|
74
74
|
>
|
|
@@ -162,7 +162,7 @@ $: parentLoopId = checkIfParentLoop($flowStore);
|
|
|
162
162
|
/>
|
|
163
163
|
|
|
164
164
|
<div
|
|
165
|
-
class="w-full border p-2 flex flex-col {flowModule.stop_after_all_iters_if
|
|
165
|
+
class="w-full border mt-1 p-2 flex flex-col {flowModule.stop_after_all_iters_if
|
|
166
166
|
? ''
|
|
167
167
|
: 'bg-surface-secondary'}"
|
|
168
168
|
>
|
|
@@ -105,9 +105,12 @@ $: moduleRetry = module.retry?.constant || module.retry?.exponential;
|
|
|
105
105
|
}}
|
|
106
106
|
startIcon={{ icon: Pen }}
|
|
107
107
|
iconOnly={false}
|
|
108
|
+
tooltip={module.value.hash != undefined
|
|
109
|
+
? 'Script is locked with a specific hash'
|
|
110
|
+
: undefined}
|
|
108
111
|
disabled={module.value.hash != undefined}
|
|
109
112
|
>
|
|
110
|
-
Edit
|
|
113
|
+
Edit
|
|
111
114
|
</Button>
|
|
112
115
|
{/if}
|
|
113
116
|
{#if customUi?.tagEdit != false}
|
|
@@ -14,7 +14,9 @@ setContext('TriggerContext', {
|
|
|
14
14
|
primarySchedule: primaryScheduleStore,
|
|
15
15
|
selectedTrigger: selectedTriggerStore,
|
|
16
16
|
triggersCount: triggersCount,
|
|
17
|
-
simplifiedPoll: writable(false)
|
|
17
|
+
simplifiedPoll: writable(false),
|
|
18
|
+
defaultValues: writable(undefined),
|
|
19
|
+
captureOn: writable(undefined)
|
|
18
20
|
});
|
|
19
21
|
async function loadFlow(path) {
|
|
20
22
|
flow = await FlowService.getFlowByPath({ workspace: $workspaceStore, path });
|
|
@@ -41,6 +41,7 @@ function resetDelayType() {
|
|
|
41
41
|
}
|
|
42
42
|
$: flowModuleRetry === undefined && resetDelayType();
|
|
43
43
|
$: !loaded && initialLoad();
|
|
44
|
+
const u32Max = 4294967295;
|
|
44
45
|
</script>
|
|
45
46
|
|
|
46
47
|
<div class="h-full flex flex-col {$$props.class ?? ''}">
|
|
@@ -67,14 +68,34 @@ $: !loaded && initialLoad();
|
|
|
67
68
|
{#if delayType === 'constant'}
|
|
68
69
|
{#if flowModuleRetry?.constant}
|
|
69
70
|
<div class="text-xs font-bold !mt-2">Attempts</div>
|
|
70
|
-
<
|
|
71
|
+
<div class="flex gap-1">
|
|
72
|
+
<input
|
|
73
|
+
max={u32Max.toString()}
|
|
74
|
+
bind:value={flowModuleRetry.constant.attempts}
|
|
75
|
+
type="number"
|
|
76
|
+
/>
|
|
77
|
+
<button
|
|
78
|
+
class="text-xs"
|
|
79
|
+
on:click={() =>
|
|
80
|
+
flowModuleRetry?.constant && (flowModuleRetry.constant.attempts = u32Max)}
|
|
81
|
+
>max</button
|
|
82
|
+
>
|
|
83
|
+
</div>
|
|
71
84
|
<div class="text-xs font-bold !mt-2">Delay</div>
|
|
72
85
|
<SecondsInput bind:seconds={flowModuleRetry.constant.seconds} />
|
|
73
86
|
{/if}
|
|
74
87
|
{:else if delayType === 'exponential'}
|
|
75
88
|
{#if flowModuleRetry?.exponential}
|
|
76
89
|
<div class="text-xs font-bold !mt-2">Attempts</div>
|
|
77
|
-
<
|
|
90
|
+
<div class="flex gap-1">
|
|
91
|
+
<input max="100" bind:value={flowModuleRetry.exponential.attempts} type="number" />
|
|
92
|
+
<button
|
|
93
|
+
class="text-xs"
|
|
94
|
+
on:click={() =>
|
|
95
|
+
flowModuleRetry?.exponential && (flowModuleRetry.exponential.attempts = 100)}
|
|
96
|
+
>max</button
|
|
97
|
+
>
|
|
98
|
+
</div>
|
|
78
99
|
<div class="text-xs font-bold !mt-2">Multiplier</div>
|
|
79
100
|
<span class="text-xs text-tertiary">delay = multiplier * base ^ (number of attempt)</span>
|
|
80
101
|
<input bind:value={flowModuleRetry.exponential.multiplier} type="number" />
|
|
@@ -118,9 +139,9 @@ $: !loaded && initialLoad();
|
|
|
118
139
|
multiplier,
|
|
119
140
|
random_factor
|
|
120
141
|
} = flowModuleRetry?.exponential || {}}
|
|
121
|
-
{@const cArray = Array.from({ length: cAttempts || 0 }, () => cSeconds)}
|
|
142
|
+
{@const cArray = Array.from({ length: Math.min(cAttempts || 0, 100) }, () => cSeconds)}
|
|
122
143
|
{@const eArray = Array.from(
|
|
123
|
-
{ length: eAttempts || 0 },
|
|
144
|
+
{ length: Math.min(eAttempts || 0, 100) },
|
|
124
145
|
(_, i) => (multiplier || 0) * (eSeconds || 0) ** (i + cArray.length + 1)
|
|
125
146
|
)}
|
|
126
147
|
{@const array = [...cArray, ...eArray]}
|
|
@@ -137,7 +158,7 @@ $: !loaded && initialLoad();
|
|
|
137
158
|
seconds){/if}</td
|
|
138
159
|
>
|
|
139
160
|
</tr>
|
|
140
|
-
{#each array.slice(1) as delay, i}
|
|
161
|
+
{#each array.slice(1, 100) as delay, i}
|
|
141
162
|
{@const index = i + 2}
|
|
142
163
|
<tr>
|
|
143
164
|
<td class="font-semibold pr-1 align-top">{index}:</td>
|
|
@@ -154,6 +175,12 @@ $: !loaded && initialLoad();
|
|
|
154
175
|
</td>
|
|
155
176
|
</tr>
|
|
156
177
|
{/each}
|
|
178
|
+
{#if (cAttempts ?? 0) > 100 || (eAttempts ?? 0) > 100}
|
|
179
|
+
<tr>
|
|
180
|
+
<td class="font-semibold pr-1 align-top">...</td>
|
|
181
|
+
<td class="pb-1">...</td>
|
|
182
|
+
</tr>
|
|
183
|
+
{/if}
|
|
157
184
|
</table>
|
|
158
185
|
{:else}
|
|
159
186
|
<div class="text-xs">No retries</div>
|
|
@@ -128,7 +128,7 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
128
128
|
right: 'Worker group tag (queue)',
|
|
129
129
|
rightTooltip:
|
|
130
130
|
"When a worker group tag is defined at the flow level, any steps inside the flow will run on any worker group that listen to that tag, regardless of the steps tag. If no worker group tags is defined, the flow controls will be executed with the default tag 'flow' and the steps will be executed with their respective tag",
|
|
131
|
-
|
|
131
|
+
rightDocumentationLink: 'https://www.windmill.dev/docs/core_concepts/worker_groups'
|
|
132
132
|
}}
|
|
133
133
|
class="py-1"
|
|
134
134
|
/>
|
|
@@ -175,7 +175,8 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
175
175
|
}}
|
|
176
176
|
options={{
|
|
177
177
|
right: 'Cache the results for each possible inputs',
|
|
178
|
-
rightTooltip:
|
|
178
|
+
rightTooltip:
|
|
179
|
+
'When enabled, the flow will cache the results of the flow for each possible set of inputs.',
|
|
179
180
|
rightDocumentationLink: 'https://www.windmill.dev/docs/flows/cache#cache-flows'
|
|
180
181
|
}}
|
|
181
182
|
class="py-1"
|
|
@@ -216,7 +217,8 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
216
217
|
rightTooltip:
|
|
217
218
|
'If the inputs meet the predefined condition, the flow will not run.' +
|
|
218
219
|
'to decide if the flow should stop early.',
|
|
219
|
-
rightDocumentationLink:
|
|
220
|
+
rightDocumentationLink:
|
|
221
|
+
'https://www.windmill.dev/docs/flows/early_stop#early-stop-for-flow'
|
|
220
222
|
}}
|
|
221
223
|
class="py-1"
|
|
222
224
|
/>
|
|
@@ -306,7 +308,8 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
306
308
|
'Steps will share a folder at `./shared` in which they can store heavier data and ' +
|
|
307
309
|
'pass them to the next step. Beware that the `./shared` folder is not ' +
|
|
308
310
|
'preserved across suspends and sleeps.',
|
|
309
|
-
rightDocumentationLink:
|
|
311
|
+
rightDocumentationLink:
|
|
312
|
+
'https://www.windmill.dev/docs/core_concepts/persistent_storage/within_windmill#shared-directory'
|
|
310
313
|
}}
|
|
311
314
|
class="py-1"
|
|
312
315
|
/>
|
|
@@ -329,7 +332,8 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
329
332
|
right: 'Make runs invisible to others',
|
|
330
333
|
rightTooltip:
|
|
331
334
|
'When this option is enabled, manual executions of this script are invisible to users other than the user running it, including the owner(s). This setting can be overridden when this script is run manually from the advanced menu.',
|
|
332
|
-
rightDocumentationLink:
|
|
335
|
+
rightDocumentationLink:
|
|
336
|
+
'https://www.windmill.dev/docs/core_concepts/monitor_past_and_future_runs#invisible-runs'
|
|
333
337
|
}}
|
|
334
338
|
class="py-1"
|
|
335
339
|
/>
|
|
@@ -355,27 +359,29 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
355
359
|
<!-- Concurrency Section -->
|
|
356
360
|
{#if customUi?.settingsTabs?.concurrency != false}
|
|
357
361
|
<div>
|
|
358
|
-
<
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
$flowStore.value.concurrent_limit
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
362
|
+
<div class="flex flex-row items-center gap-2">
|
|
363
|
+
<Toggle
|
|
364
|
+
textClass="font-normal text-sm"
|
|
365
|
+
color="nord"
|
|
366
|
+
size="xs"
|
|
367
|
+
disabled={!$enterpriseLicense}
|
|
368
|
+
checked={Boolean($flowStore.value.concurrent_limit)}
|
|
369
|
+
on:change={() => {
|
|
370
|
+
if ($flowStore.value.concurrent_limit) {
|
|
371
|
+
$flowStore.value.concurrent_limit = undefined
|
|
372
|
+
} else {
|
|
373
|
+
$flowStore.value.concurrent_limit = 1
|
|
374
|
+
}
|
|
375
|
+
}}
|
|
376
|
+
options={{
|
|
377
|
+
right: 'Concurrency limits',
|
|
378
|
+
rightTooltip: 'Allowed concurrency within a given timeframe',
|
|
379
|
+
rightDocumentationLink: 'https://www.windmill.dev/docs/flows/concurrency_limit'
|
|
380
|
+
}}
|
|
381
|
+
class="py-1"
|
|
382
|
+
eeOnly={true}
|
|
383
|
+
/>
|
|
384
|
+
</div>
|
|
379
385
|
|
|
380
386
|
{#if $flowStore.value.concurrent_limit}
|
|
381
387
|
<div class="flex flex-col gap-4">
|
|
@@ -473,28 +479,30 @@ $: activeAdvancedOptionNames = activeAdvancedOptions
|
|
|
473
479
|
</Toggle>
|
|
474
480
|
|
|
475
481
|
<div>
|
|
476
|
-
<
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
$flowStore.dedicated_worker
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
'When enabled, the flow will be executed on a dedicated worker.',
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
482
|
+
<div class="flex flex-row items-center gap-2">
|
|
483
|
+
<Toggle
|
|
484
|
+
textClass="font-normal text-sm"
|
|
485
|
+
color="nord"
|
|
486
|
+
size="xs"
|
|
487
|
+
disabled={!$enterpriseLicense || isCloudHosted()}
|
|
488
|
+
checked={Boolean($flowStore.dedicated_worker)}
|
|
489
|
+
on:change={() => {
|
|
490
|
+
if ($flowStore.dedicated_worker) {
|
|
491
|
+
$flowStore.dedicated_worker = undefined
|
|
492
|
+
} else {
|
|
493
|
+
$flowStore.dedicated_worker = true
|
|
494
|
+
}
|
|
495
|
+
}}
|
|
496
|
+
options={{
|
|
497
|
+
right: 'Flow is run on dedicated workers',
|
|
498
|
+
rightTooltip: 'When enabled, the flow will be executed on a dedicated worker.',
|
|
499
|
+
rightDocumentationLink:
|
|
500
|
+
'https://www.windmill.dev/docs/core_concepts/jobs#high-priority-jobs'
|
|
501
|
+
}}
|
|
502
|
+
class="py-1"
|
|
503
|
+
eeOnly={true}
|
|
504
|
+
/>
|
|
505
|
+
</div>
|
|
498
506
|
|
|
499
507
|
{#if $flowStore.dedicated_worker}
|
|
500
508
|
<div>
|
|
@@ -3,6 +3,7 @@ import type { Schema } from '../../common';
|
|
|
3
3
|
import { type FlowModule, type PathFlow, type PathScript, type RawScript, type OpenFlow, type Script } from '../../gen';
|
|
4
4
|
import { type Writable } from 'svelte/store';
|
|
5
5
|
import type { FlowModuleState, FlowState } from './flowState';
|
|
6
|
+
import type { ExtendedOpenFlow } from './types';
|
|
6
7
|
export declare function loadFlowModuleState(flowModule: FlowModule): Promise<FlowModuleState>;
|
|
7
8
|
export declare function pickScript(path: string, summary: string, id: string, hash?: string, kind?: string): Promise<[FlowModule & {
|
|
8
9
|
value: PathScript;
|
|
@@ -10,7 +11,7 @@ export declare function pickScript(path: string, summary: string, id: string, ha
|
|
|
10
11
|
export declare function pickFlow(path: string, summary: string, id: string): Promise<[FlowModule & {
|
|
11
12
|
value: PathFlow;
|
|
12
13
|
}, FlowModuleState]>;
|
|
13
|
-
export declare function createInlineScriptModule(language: RawScript['language'], kind: Script['kind'], subkind: 'pgsql' | 'flow', id: string, summary?: string): Promise<[FlowModule, FlowModuleState]>;
|
|
14
|
+
export declare function createInlineScriptModule(language: RawScript['language'], kind: Script['kind'], subkind: 'pgsql' | 'flow' | 'preprocessor', id: string, summary?: string): Promise<[FlowModule, FlowModuleState]>;
|
|
14
15
|
export declare function createLoop(id: string, enabledAi: boolean): Promise<[FlowModule, FlowModuleState]>;
|
|
15
16
|
export declare function createWhileLoop(id: string): Promise<[FlowModule, FlowModuleState]>;
|
|
16
17
|
export declare function createBranches(id: string): Promise<[FlowModule, FlowModuleState]>;
|
|
@@ -25,3 +26,11 @@ export declare function createScriptFromInlineScript(flowModule: FlowModule, suf
|
|
|
25
26
|
}, FlowModuleState]>;
|
|
26
27
|
export declare function deleteFlowStateById(id: string, flowStateStore: Writable<FlowState>): void;
|
|
27
28
|
export declare function sliceModules(modules: FlowModule[], upTo: number, idOrders: string[]): FlowModule[];
|
|
29
|
+
export declare function insertNewPreprocessorModule(flowStore: Writable<ExtendedOpenFlow>, flowStateStore: Writable<FlowState>, inlineScript?: {
|
|
30
|
+
language: RawScript['language'];
|
|
31
|
+
subkind: 'preprocessor';
|
|
32
|
+
}, wsScript?: {
|
|
33
|
+
path: string;
|
|
34
|
+
summary: string;
|
|
35
|
+
hash: string | undefined;
|
|
36
|
+
}): Promise<void>;
|
|
@@ -211,3 +211,26 @@ export function sliceModules(modules, upTo, idOrders) {
|
|
|
211
211
|
return m;
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
|
+
export async function insertNewPreprocessorModule(flowStore, flowStateStore, inlineScript, wsScript) {
|
|
215
|
+
var module = {
|
|
216
|
+
id: 'preprocessor',
|
|
217
|
+
value: { type: 'identity' }
|
|
218
|
+
};
|
|
219
|
+
var state = emptyFlowModuleState();
|
|
220
|
+
if (inlineScript) {
|
|
221
|
+
;
|
|
222
|
+
[module, state] = await createInlineScriptModule(inlineScript.language, 'script', inlineScript.subkind, 'preprocessor');
|
|
223
|
+
}
|
|
224
|
+
else if (wsScript) {
|
|
225
|
+
;
|
|
226
|
+
[module, state] = await pickScript(wsScript.path, wsScript.summary, module.id, wsScript.hash);
|
|
227
|
+
}
|
|
228
|
+
flowStore.update((fs) => {
|
|
229
|
+
fs.value.preprocessor_module = module;
|
|
230
|
+
return fs;
|
|
231
|
+
});
|
|
232
|
+
flowStateStore.update((fss) => {
|
|
233
|
+
fss[module.id] = state;
|
|
234
|
+
return fss;
|
|
235
|
+
});
|
|
236
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { createEventDispatcher, getContext, tick } from 'svelte';
|
|
2
|
-
import { createInlineScriptModule, createBranchAll, createBranches, createLoop, createWhileLoop, deleteFlowStateById, emptyModule, pickScript, pickFlow } from '../flowStateUtils';
|
|
2
|
+
import { createInlineScriptModule, createBranchAll, createBranches, createLoop, createWhileLoop, deleteFlowStateById, emptyModule, pickScript, pickFlow, insertNewPreprocessorModule } from '../flowStateUtils';
|
|
3
3
|
import { emptyFlowModuleState, initFlowStepWarnings } from '../utils';
|
|
4
4
|
import FlowSettingsItem from './FlowSettingsItem.svelte';
|
|
5
5
|
import FlowConstantsItem from './FlowConstantsItem.svelte';
|
|
@@ -89,23 +89,6 @@ async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsFlow, in
|
|
|
89
89
|
modules.splice(index, 0, module);
|
|
90
90
|
return modules;
|
|
91
91
|
}
|
|
92
|
-
async function insertNewPreprocessorModule(inlineScript, wsScript) {
|
|
93
|
-
var module = {
|
|
94
|
-
id: 'preprocessor',
|
|
95
|
-
value: { type: 'identity' }
|
|
96
|
-
};
|
|
97
|
-
var state = emptyFlowModuleState();
|
|
98
|
-
if (inlineScript) {
|
|
99
|
-
;
|
|
100
|
-
[module, state] = await createInlineScriptModule(inlineScript.language, 'script', inlineScript.subkind, 'preprocessor');
|
|
101
|
-
}
|
|
102
|
-
else if (wsScript) {
|
|
103
|
-
;
|
|
104
|
-
[module, state] = await pickScript(wsScript.path, wsScript.summary, module.id, wsScript.hash);
|
|
105
|
-
}
|
|
106
|
-
$flowStore.value.preprocessor_module = module;
|
|
107
|
-
$flowStateStore[module.id] = state;
|
|
108
|
-
}
|
|
109
92
|
function removeAtId(modules, id) {
|
|
110
93
|
const index = modules.findIndex((mod) => mod.id == id);
|
|
111
94
|
if (index != -1) {
|
|
@@ -252,6 +235,8 @@ function setExpr(module, expr) {
|
|
|
252
235
|
|
|
253
236
|
<div class="z-10 flex-auto grow bg-surface-secondary" bind:clientHeight={minHeight}>
|
|
254
237
|
<FlowGraphV2
|
|
238
|
+
earlyStop={$flowStore.value?.skip_expr !== undefined}
|
|
239
|
+
cache={$flowStore.value?.cache_ttl !== undefined}
|
|
255
240
|
triggerNode={true}
|
|
256
241
|
path={$pathStore}
|
|
257
242
|
{newFlow}
|
|
@@ -311,7 +296,12 @@ function setExpr(module, expr) {
|
|
|
311
296
|
$moving = undefined
|
|
312
297
|
} else {
|
|
313
298
|
if (detail.detail === 'preprocessor') {
|
|
314
|
-
insertNewPreprocessorModule(
|
|
299
|
+
insertNewPreprocessorModule(
|
|
300
|
+
flowStore,
|
|
301
|
+
flowStateStore,
|
|
302
|
+
detail.inlineScript,
|
|
303
|
+
detail.script
|
|
304
|
+
)
|
|
315
305
|
$selectedId = 'preprocessor'
|
|
316
306
|
} else {
|
|
317
307
|
const index = detail.index ?? 0
|