windmill-components 1.444.2 → 1.447.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/autosize.js +1 -1
- package/package/components/AppConnectInner.svelte +2 -1
- package/package/components/ArgInput.svelte +37 -24
- package/package/components/CapturesInputs.svelte +16 -0
- package/package/components/CapturesInputs.svelte.d.ts +21 -0
- package/package/components/Dev.svelte +7 -1
- package/package/components/EditableSchemaForm.svelte +369 -290
- package/package/components/EditableSchemaForm.svelte.d.ts +12 -2
- package/package/components/Editor.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +111 -0
- package/package/components/FirstStepInputs.svelte.d.ts +17 -0
- package/package/components/FlowBuilder.svelte +28 -7
- package/package/components/FlowPreviewContent.svelte +72 -1
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -0
- package/package/components/GfmMarkdown.svelte +93 -2
- package/package/components/HighlightCode.svelte +2 -0
- package/package/components/HistoricInputs.svelte +193 -0
- package/package/components/HistoricInputs.svelte.d.ts +20 -0
- package/package/components/InfiniteList.svelte +161 -0
- package/package/components/InfiniteList.svelte.d.ts +40 -0
- package/package/components/LightweightArgInput.svelte +19 -15
- package/package/components/MoveDrawer.svelte +2 -1
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourcePicker.svelte +2 -1
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/SaveInputsButton.svelte +53 -0
- package/package/components/SaveInputsButton.svelte.d.ts +24 -0
- package/package/components/SavedInputs.svelte +33 -61
- package/package/components/SavedInputsPicker.svelte +264 -0
- package/package/components/SavedInputsPicker.svelte.d.ts +20 -0
- package/package/components/ScheduleEditorInner.svelte +0 -1
- package/package/components/SchemaForm.svelte +22 -3
- package/package/components/ScriptBuilder.svelte +595 -562
- package/package/components/ScriptEditor.svelte +10 -3
- package/package/components/ScriptEditor.svelte.d.ts +5 -2
- package/package/components/ScriptSchema.svelte +1 -2
- package/package/components/Section.svelte +6 -4
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SimpleEditor.svelte +39 -7
- package/package/components/SimpleEditor.svelte.d.ts +1 -4
- package/package/components/StringTypeNarrowing.svelte +3 -1
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/WorkerGroup.svelte +2 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/component/default-codes.d.ts +1 -1
- package/package/components/apps/editor/component/default-codes.js +10 -10
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +2 -1
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/common/button/Button.svelte +10 -52
- package/package/components/common/button/PulseButton.svelte +81 -0
- package/package/components/common/button/PulseButton.svelte.d.ts +34 -0
- package/package/components/common/button/RoundIconButton.svelte +11 -0
- package/package/components/common/button/RoundIconButton.svelte.d.ts +19 -0
- package/package/components/common/button/model.d.ts +1 -0
- package/package/components/common/button/model.js +47 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -1
- package/package/components/common/fileUpload/FileUpload.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
- package/package/components/common/layout/List.svelte +10 -4
- package/package/components/common/layout/List.svelte.d.ts +1 -0
- package/package/components/common/tabs/Tab.svelte +14 -1
- package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
- package/package/components/copilot/ScriptGen.svelte +1 -1
- package/package/components/copilot/lib.js +1 -1
- package/package/components/copilot/prompts/edit.yaml +1 -1
- package/package/components/copilot/prompts/editPrompt.js +1 -1
- package/package/components/copilot/prompts/fix.yaml +1 -1
- package/package/components/copilot/prompts/fixPrompt.js +1 -1
- package/package/components/copilot/prompts/gen.yaml +1 -1
- package/package/components/copilot/prompts/genPrompt.js +1 -1
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/details/DetailPageDetailPanel.svelte +20 -19
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +4 -1
- package/package/components/details/DetailPageLayout.svelte +4 -1
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/DetailPageTriggerPanel.svelte +84 -63
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +1 -1
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +2 -1
- package/package/components/details/EmailTriggerPanel.svelte +2 -0
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +2 -0
- package/package/components/flows/FlowEditor.svelte +8 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCard.svelte +12 -6
- package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +15 -9
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +449 -98
- package/package/components/flows/content/FlowInput.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInputEditor.svelte +46 -0
- package/package/components/flows/content/FlowInputEditor.svelte.d.ts +25 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +192 -194
- package/package/components/flows/content/FlowModuleComponent.svelte +372 -382
- package/package/components/flows/content/FlowModuleMock.svelte +6 -7
- package/package/components/flows/content/FlowPathViewer.svelte +2 -1
- package/package/components/flows/content/FlowSettings.svelte +25 -3
- package/package/components/flows/content/FlowWhileLoop.svelte +97 -99
- package/package/components/flows/flowStore.d.ts +13 -0
- package/package/components/flows/flowStore.js +41 -0
- package/package/components/flows/header/FlowPreviewButtons.svelte +10 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -2
- package/package/components/flows/header/FlowYamlEditor.svelte +3 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +8 -58
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +67 -0
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +24 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/pickers/FlowScriptPicker.svelte +1 -1
- package/package/components/flows/previousResults.d.ts +1 -1
- package/package/components/flows/previousResults.js +7 -2
- package/package/components/flows/types.d.ts +7 -0
- package/package/components/flows/utils.d.ts +1 -0
- package/package/components/flows/utils.js +3 -0
- package/package/components/graph/graphBuilder.js +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +22 -8
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
- package/package/components/icons/NatsIcon.svelte +19 -0
- package/package/components/icons/NatsIcon.svelte.d.ts +18 -0
- package/package/components/icons/OracleDBIcon.svelte +15 -0
- package/package/components/icons/OracleDBIcon.svelte.d.ts +25 -0
- package/package/components/icons/index.d.ts +7 -1
- package/package/components/icons/index.js +8 -2
- package/package/components/meltComponents/ButtonDropDown.svelte +32 -0
- package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +27 -0
- package/package/components/meltComponents/Popover.svelte +7 -4
- package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
- package/package/components/runs/RunsFilter.svelte +2 -2
- package/package/components/schema/AddPropertyFormV2.svelte +46 -0
- package/package/components/schema/AddPropertyFormV2.svelte.d.ts +18 -0
- package/package/components/schema/AddPropertyV2.svelte +151 -0
- package/package/components/schema/AddPropertyV2.svelte.d.ts +25 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +17 -8
- package/package/components/schema/EditableSchemaWrapper.svelte +58 -14
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -3
- package/package/components/schema/JobSchemaPicker.svelte +32 -0
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +19 -0
- package/package/components/schema/PropertyEditor.svelte +9 -1
- package/package/components/schema/RunningJobSchemaPicker.svelte +67 -0
- package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +21 -0
- package/package/components/schema/SchemaFormDND.svelte +1 -1
- package/package/components/schema/SchemaPicker.svelte +92 -0
- package/package/components/schema/SchemaPicker.svelte.d.ts +23 -0
- package/package/components/schema/SchemaPickerRow.svelte +95 -0
- package/package/components/schema/SchemaPickerRow.svelte.d.ts +22 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -1
- package/package/components/settings/ChangeWorkspaceColor.svelte +103 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte.d.ts +16 -0
- package/package/components/settings/ChangeWorkspaceId.svelte +1 -0
- package/package/components/settings/ChangeWorkspaceName.svelte +4 -0
- package/package/components/sidebar/MenuButton.svelte +5 -2
- package/package/components/sidebar/MenuButton.svelte.d.ts +1 -0
- package/package/components/sidebar/SidebarContent.svelte +8 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +40 -21
- package/package/components/table/DataTable.svelte +43 -3
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +11 -1
- package/package/components/table/Row.svelte.d.ts +3 -0
- package/package/components/table/index.d.ts +3 -0
- package/package/components/table/index.js +3 -0
- package/package/components/triggers/CaptureButton.svelte +38 -4
- package/package/components/triggers/CaptureButton.svelte.d.ts +3 -1
- package/package/components/triggers/CaptureIcon.svelte +7 -4
- package/package/components/triggers/CaptureIcon.svelte.d.ts +7 -13
- package/package/components/triggers/CaptureSection.svelte +50 -17
- package/package/components/triggers/CaptureSection.svelte.d.ts +5 -3
- package/package/components/triggers/CaptureTable.svelte +239 -186
- package/package/components/triggers/CaptureTable.svelte.d.ts +9 -11
- package/package/components/triggers/CaptureWrapper.svelte +126 -109
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +1 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +16 -4
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggersPanel.svelte +2 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers/NatsTriggerEditor.svelte +19 -0
- package/package/components/triggers/NatsTriggerEditor.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte +239 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte +276 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/NatsTriggersPanel.svelte +126 -0
- package/package/components/triggers/NatsTriggersPanel.svelte.d.ts +26 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte +12 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +5 -1
- package/package/components/triggers/RouteEditorInner.svelte +5 -0
- package/package/components/triggers/RoutesPanel.svelte +4 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersEditor.svelte +146 -97
- package/package/components/triggers/TriggersEditor.svelte.d.ts +2 -0
- package/package/components/triggers/TriggersEditorSection.svelte +19 -13
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersWrapper.svelte +7 -3
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksConfigSection.svelte +1 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksPanel.svelte +2 -0
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +2 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +3 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebsocketTriggersPanel.svelte +2 -0
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers.d.ts +2 -1
- package/package/components/triggers.js +2 -0
- package/package/components/vscode.js +12 -8
- package/package/consts.d.ts +1 -0
- package/package/consts.js +18 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +207 -13
- package/package/gen/schemas.gen.js +207 -13
- package/package/gen/services.gen.d.ts +118 -10
- package/package/gen/services.gen.js +237 -17
- package/package/gen/types.gen.d.ts +400 -40
- package/package/hubPaths.json +2 -1
- package/package/infer.js +11 -2
- package/package/monaco_workers/build_workers.js +39 -37
- package/package/monaco_workers/graphql.worker.bundle.js +18371 -36513
- package/package/script_helpers.d.ts +5 -2
- package/package/script_helpers.js +46 -8
- package/package/scripts.js +4 -0
- package/package/stores.d.ts +2 -1
- package/package/stores.js +2 -1
- package/package.json +14 -16
- package/package/monaco_workers/graphql.worker.bundle.d.ts +0 -0
|
@@ -10,7 +10,7 @@ import FlowCard from '../common/FlowCard.svelte';
|
|
|
10
10
|
import FlowModuleHeader from './FlowModuleHeader.svelte';
|
|
11
11
|
import { getLatestHashForScript, scriptLangToEditorLang } from '../../../scripts';
|
|
12
12
|
import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
|
|
13
|
-
import {
|
|
13
|
+
import { getContext, tick } from 'svelte';
|
|
14
14
|
import FlowModuleScript from './FlowModuleScript.svelte';
|
|
15
15
|
import FlowModuleEarlyStop from './FlowModuleEarlyStop.svelte';
|
|
16
16
|
import FlowModuleSuspend from './FlowModuleSuspend.svelte';
|
|
@@ -67,9 +67,6 @@ let selected = preprocessorModule ? 'test' : 'inputs';
|
|
|
67
67
|
let advancedSelected = 'retries';
|
|
68
68
|
let advancedRuntimeSelected = 'concurrency';
|
|
69
69
|
let s3Kind = 's3_client';
|
|
70
|
-
let wrapper;
|
|
71
|
-
let panes;
|
|
72
|
-
let totalTopGap = 0;
|
|
73
70
|
let validCode = true;
|
|
74
71
|
let width = 1200;
|
|
75
72
|
const { modulesStore: copilotModulesStore } = getContext('FlowCopilotContext') || {};
|
|
@@ -135,14 +132,6 @@ function selectAdvanced(subtab) {
|
|
|
135
132
|
selected = 'advanced';
|
|
136
133
|
advancedSelected = subtab;
|
|
137
134
|
}
|
|
138
|
-
afterUpdate(() => {
|
|
139
|
-
totalTopGap = 0;
|
|
140
|
-
if (!(wrapper && panes))
|
|
141
|
-
return;
|
|
142
|
-
const wrapperTop = wrapper.getBoundingClientRect().top;
|
|
143
|
-
const panesTop = panes.getBoundingClientRect().top;
|
|
144
|
-
totalTopGap = panesTop - wrapperTop;
|
|
145
|
-
});
|
|
146
135
|
let forceReload = 0;
|
|
147
136
|
let editorPanelSize = noEditor ? 0 : flowModule.value.type == 'script' ? 30 : 50;
|
|
148
137
|
let editorSettingsPanelSize = 100 - editorPanelSize;
|
|
@@ -170,7 +159,7 @@ function setFlowInput(argName) {
|
|
|
170
159
|
<svelte:window on:keydown={onKeyDown} />
|
|
171
160
|
|
|
172
161
|
{#if flowModule.value}
|
|
173
|
-
<div class="h-full" bind:
|
|
162
|
+
<div class="h-full" bind:clientWidth={width}>
|
|
174
163
|
<FlowCard
|
|
175
164
|
on:reload={() => {
|
|
176
165
|
forceReload++
|
|
@@ -224,400 +213,401 @@ function setFlowInput(argName) {
|
|
|
224
213
|
/>
|
|
225
214
|
</svelte:fragment>
|
|
226
215
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
acc[key
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
216
|
+
<div class="h-full flex flex-col">
|
|
217
|
+
{#if flowModule.value.type === 'rawscript' && !noEditor}
|
|
218
|
+
<div class="border-b-2 shadow-sm px-1">
|
|
219
|
+
<EditorBar
|
|
220
|
+
customUi={customUi?.editorBar}
|
|
221
|
+
{validCode}
|
|
222
|
+
{editor}
|
|
223
|
+
{diffEditor}
|
|
224
|
+
lang={flowModule.value['language'] ?? 'deno'}
|
|
225
|
+
{websocketAlive}
|
|
226
|
+
iconOnly={width < 950}
|
|
227
|
+
kind={scriptKind}
|
|
228
|
+
template={scriptTemplate}
|
|
229
|
+
args={Object.entries(flowModule.value.input_transforms).reduce((acc, [key, obj]) => {
|
|
230
|
+
acc[key] = obj.type === 'static' ? obj.value : undefined
|
|
231
|
+
return acc
|
|
232
|
+
}, {})}
|
|
233
|
+
/>
|
|
234
|
+
</div>
|
|
235
|
+
{/if}
|
|
246
236
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
237
|
+
<div class="min-h-0 flex-grow" id="flow-editor-editor">
|
|
238
|
+
<Splitpanes horizontal>
|
|
239
|
+
<Pane bind:size={editorPanelSize} minSize={10}>
|
|
240
|
+
{#if flowModule.value.type === 'rawscript'}
|
|
241
|
+
{#if !noEditor}
|
|
242
|
+
{#key flowModule.id}
|
|
243
|
+
<Editor
|
|
244
|
+
folding
|
|
245
|
+
path={$pathStore + '/' + flowModule.id}
|
|
246
|
+
bind:websocketAlive
|
|
247
|
+
bind:this={editor}
|
|
248
|
+
class="h-full relative"
|
|
249
|
+
bind:code={flowModule.value.content}
|
|
250
|
+
lang={scriptLangToEditorLang(flowModule.value.language)}
|
|
251
|
+
scriptLang={flowModule.value.language}
|
|
252
|
+
automaticLayout={true}
|
|
253
|
+
cmdEnterAction={async () => {
|
|
254
|
+
selected = 'test'
|
|
255
|
+
if ($selectedId == flowModule.id) {
|
|
256
|
+
if (flowModule.value.type === 'rawscript') {
|
|
257
|
+
flowModule.value.content = editor.getCode()
|
|
258
|
+
}
|
|
259
|
+
await reload(flowModule)
|
|
260
|
+
modulePreview?.runTestWithStepArgs()
|
|
261
|
+
}
|
|
262
|
+
}}
|
|
263
|
+
on:change={async (event) => {
|
|
271
264
|
if (flowModule.value.type === 'rawscript') {
|
|
272
|
-
flowModule.value.content =
|
|
265
|
+
flowModule.value.content = event.detail
|
|
273
266
|
}
|
|
274
267
|
await reload(flowModule)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
{}
|
|
295
|
-
|
|
296
|
-
/>
|
|
297
|
-
<DiffEditor
|
|
298
|
-
open={false}
|
|
299
|
-
bind:this={diffEditor}
|
|
300
|
-
automaticLayout
|
|
301
|
-
fixedOverflowWidgets
|
|
302
|
-
defaultLang={scriptLangToEditorLang(flowModule.value.language)}
|
|
303
|
-
class="h-full"
|
|
304
|
-
/>
|
|
305
|
-
{/key}
|
|
306
|
-
{/if}
|
|
307
|
-
{:else if flowModule.value.type === 'script'}
|
|
308
|
-
{#if !noEditor}
|
|
309
|
-
<div class="border-t">
|
|
310
|
-
{#key forceReload}
|
|
311
|
-
<FlowModuleScript
|
|
312
|
-
bind:tag
|
|
313
|
-
showAllCode={false}
|
|
314
|
-
path={flowModule.value.path}
|
|
315
|
-
hash={flowModule.value.hash}
|
|
268
|
+
}}
|
|
269
|
+
formatAction={() => {
|
|
270
|
+
reload(flowModule)
|
|
271
|
+
saveDraft()
|
|
272
|
+
}}
|
|
273
|
+
fixedOverflowWidgets={true}
|
|
274
|
+
args={Object.entries(flowModule.value.input_transforms).reduce(
|
|
275
|
+
(acc, [key, obj]) => {
|
|
276
|
+
acc[key] = obj.type === 'static' ? obj.value : undefined
|
|
277
|
+
return acc
|
|
278
|
+
},
|
|
279
|
+
{}
|
|
280
|
+
)}
|
|
281
|
+
/>
|
|
282
|
+
<DiffEditor
|
|
283
|
+
open={false}
|
|
284
|
+
bind:this={diffEditor}
|
|
285
|
+
automaticLayout
|
|
286
|
+
fixedOverflowWidgets
|
|
287
|
+
defaultLang={scriptLangToEditorLang(flowModule.value.language)}
|
|
288
|
+
class="h-full"
|
|
316
289
|
/>
|
|
317
290
|
{/key}
|
|
318
|
-
|
|
319
|
-
{
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
{
|
|
333
|
-
|
|
291
|
+
{/if}
|
|
292
|
+
{:else if flowModule.value.type === 'script'}
|
|
293
|
+
{#if !noEditor && (customUi?.hubCode != false || !flowModule?.value?.path?.startsWith('hub/'))}
|
|
294
|
+
<div class="border-t">
|
|
295
|
+
{#key forceReload}
|
|
296
|
+
<FlowModuleScript
|
|
297
|
+
bind:tag
|
|
298
|
+
showAllCode={false}
|
|
299
|
+
path={flowModule.value.path}
|
|
300
|
+
hash={flowModule.value.hash}
|
|
301
|
+
/>
|
|
302
|
+
{/key}
|
|
303
|
+
</div>
|
|
304
|
+
{/if}
|
|
305
|
+
{:else if flowModule.value.type === 'flow'}
|
|
306
|
+
{#key forceReload}
|
|
307
|
+
<FlowPathViewer path={flowModule.value.path} />
|
|
308
|
+
{/key}
|
|
334
309
|
{/if}
|
|
335
|
-
</
|
|
336
|
-
<
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
310
|
+
</Pane>
|
|
311
|
+
<Pane bind:size={editorSettingsPanelSize} minSize={20}>
|
|
312
|
+
<Tabs bind:selected>
|
|
313
|
+
{#if !preprocessorModule}
|
|
314
|
+
<Tab value="inputs">Step Input</Tab>
|
|
315
|
+
{/if}
|
|
316
|
+
<Tab value="test">Test this step</Tab>
|
|
317
|
+
{#if !preprocessorModule}
|
|
318
|
+
<Tab value="advanced">Advanced</Tab>
|
|
319
|
+
{/if}
|
|
320
|
+
</Tabs>
|
|
321
|
+
<div
|
|
322
|
+
class={advancedSelected === 'runtime'
|
|
323
|
+
? 'h-[calc(100%-68px)]'
|
|
324
|
+
: 'h-[calc(100%-34px)]'}
|
|
325
|
+
>
|
|
326
|
+
{#if selected === 'inputs' && (flowModule.value.type == 'rawscript' || flowModule.value.type == 'script' || flowModule.value.type == 'flow')}
|
|
327
|
+
<div class="h-full overflow-auto bg-surface" id="flow-editor-step-input">
|
|
328
|
+
<PropPickerWrapper
|
|
349
329
|
pickableProperties={stepPropPicker.pickableProperties}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
bind:args={flowModule.value.input_transforms}
|
|
353
|
-
extraLib={stepPropPicker.extraLib}
|
|
354
|
-
{enableAi}
|
|
355
|
-
on:changeArg={(e) => {
|
|
356
|
-
const { argName } = e.detail
|
|
357
|
-
setFlowInput(argName)
|
|
358
|
-
}}
|
|
359
|
-
/>
|
|
360
|
-
</PropPickerWrapper>
|
|
361
|
-
</div>
|
|
362
|
-
{:else if selected === 'test'}
|
|
363
|
-
<ModulePreview
|
|
364
|
-
pickableProperties={stepPropPicker.pickableProperties}
|
|
365
|
-
bind:this={modulePreview}
|
|
366
|
-
mod={flowModule}
|
|
367
|
-
{editor}
|
|
368
|
-
{diffEditor}
|
|
369
|
-
{noEditor}
|
|
370
|
-
lang={flowModule.value['language'] ?? 'deno'}
|
|
371
|
-
schema={$flowStateStore[$selectedId]?.schema ?? {}}
|
|
372
|
-
/>
|
|
373
|
-
{:else if selected === 'advanced'}
|
|
374
|
-
<Tabs bind:selected={advancedSelected}>
|
|
375
|
-
<Tab value="retries" active={flowModule.retry !== undefined}>Retries</Tab>
|
|
376
|
-
{#if !$selectedId.includes('failure')}
|
|
377
|
-
<Tab value="runtime">Runtime</Tab>
|
|
378
|
-
<Tab value="cache" active={Boolean(flowModule.cache_ttl)}>Cache</Tab>
|
|
379
|
-
<Tab
|
|
380
|
-
value="early-stop"
|
|
381
|
-
active={Boolean(
|
|
382
|
-
flowModule.stop_after_if || flowModule.stop_after_all_iters_if
|
|
383
|
-
)}
|
|
330
|
+
error={failureModule}
|
|
331
|
+
noPadding
|
|
384
332
|
>
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
333
|
+
<InputTransformSchemaForm
|
|
334
|
+
class="px-1 xl:px-2"
|
|
335
|
+
bind:this={inputTransformSchemaForm}
|
|
336
|
+
pickableProperties={stepPropPicker.pickableProperties}
|
|
337
|
+
schema={$flowStateStore[$selectedId]?.schema ?? {}}
|
|
338
|
+
previousModuleId={previousModule?.id}
|
|
339
|
+
bind:args={flowModule.value.input_transforms}
|
|
340
|
+
extraLib={stepPropPicker.extraLib}
|
|
341
|
+
{enableAi}
|
|
342
|
+
on:changeArg={(e) => {
|
|
343
|
+
const { argName } = e.detail
|
|
344
|
+
setFlowInput(argName)
|
|
345
|
+
}}
|
|
346
|
+
/>
|
|
347
|
+
</PropPickerWrapper>
|
|
348
|
+
</div>
|
|
349
|
+
{:else if selected === 'test'}
|
|
350
|
+
<ModulePreview
|
|
351
|
+
pickableProperties={stepPropPicker.pickableProperties}
|
|
352
|
+
bind:this={modulePreview}
|
|
353
|
+
mod={flowModule}
|
|
354
|
+
{editor}
|
|
355
|
+
{diffEditor}
|
|
356
|
+
{noEditor}
|
|
357
|
+
lang={flowModule.value['language'] ?? 'deno'}
|
|
358
|
+
schema={$flowStateStore[$selectedId]?.schema ?? {}}
|
|
359
|
+
/>
|
|
360
|
+
{:else if selected === 'advanced'}
|
|
361
|
+
<Tabs bind:selected={advancedSelected}>
|
|
362
|
+
<Tab value="retries" active={flowModule.retry !== undefined}>Retries</Tab>
|
|
363
|
+
{#if !$selectedId.includes('failure')}
|
|
364
|
+
<Tab value="runtime">Runtime</Tab>
|
|
365
|
+
<Tab value="cache" active={Boolean(flowModule.cache_ttl)}>Cache</Tab>
|
|
366
|
+
<Tab
|
|
367
|
+
value="early-stop"
|
|
368
|
+
active={Boolean(
|
|
369
|
+
flowModule.stop_after_if || flowModule.stop_after_all_iters_if
|
|
370
|
+
)}
|
|
371
|
+
>
|
|
372
|
+
Early Stop
|
|
373
|
+
</Tab>
|
|
374
|
+
<Tab value="skip" active={Boolean(flowModule.skip_if)}>Skip</Tab>
|
|
375
|
+
<Tab value="suspend" active={Boolean(flowModule.suspend)}>Suspend</Tab>
|
|
376
|
+
<Tab value="sleep" active={Boolean(flowModule.sleep)}>Sleep</Tab>
|
|
377
|
+
<Tab value="mock" active={Boolean(flowModule.mock?.enabled)}>Mock</Tab>
|
|
378
|
+
<Tab value="same_worker">Shared Directory</Tab>
|
|
379
|
+
{#if flowModule.value['language'] === 'python3' || flowModule.value['language'] === 'deno'}
|
|
380
|
+
<Tab value="s3">S3</Tab>
|
|
381
|
+
{/if}
|
|
394
382
|
{/if}
|
|
395
|
-
{/if}
|
|
396
|
-
</Tabs>
|
|
397
|
-
{#if advancedSelected === 'runtime'}
|
|
398
|
-
<Tabs bind:selected={advancedRuntimeSelected}>
|
|
399
|
-
<Tab value="concurrency">Concurrency</Tab>
|
|
400
|
-
<Tab value="timeout">Timeout</Tab>
|
|
401
|
-
<Tab value="priority">Priority</Tab>
|
|
402
|
-
<Tab value="lifetime">Lifetime</Tab>
|
|
403
383
|
</Tabs>
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
<
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
<
|
|
415
|
-
|
|
384
|
+
{#if advancedSelected === 'runtime'}
|
|
385
|
+
<Tabs bind:selected={advancedRuntimeSelected}>
|
|
386
|
+
<Tab value="concurrency">Concurrency</Tab>
|
|
387
|
+
<Tab value="timeout">Timeout</Tab>
|
|
388
|
+
<Tab value="priority">Priority</Tab>
|
|
389
|
+
<Tab value="lifetime">Lifetime</Tab>
|
|
390
|
+
</Tabs>
|
|
391
|
+
{/if}
|
|
392
|
+
<div class="h-[calc(100%-32px)] overflow-auto p-4">
|
|
393
|
+
{#if advancedSelected === 'retries'}
|
|
394
|
+
<Section label="Retries">
|
|
395
|
+
<svelte:fragment slot="header">
|
|
396
|
+
<Tooltip documentationLink="https://www.windmill.dev/docs/flows/retries">
|
|
397
|
+
If defined, upon error this step will be retried with a delay and a
|
|
398
|
+
maximum number of attempts as defined below.
|
|
399
|
+
</Tooltip>
|
|
400
|
+
</svelte:fragment>
|
|
401
|
+
<span class="text-2xs">After all retries attempts have been exhausted:</span
|
|
402
|
+
>
|
|
403
|
+
<div class="flex gap-2 mb-4">
|
|
404
|
+
<Toggle
|
|
405
|
+
size="xs"
|
|
406
|
+
bind:checked={flowModule.continue_on_error}
|
|
407
|
+
options={{
|
|
408
|
+
left: 'Stop on error and propagate error up',
|
|
409
|
+
right: "Continue on error with error as step's return"
|
|
410
|
+
}}
|
|
411
|
+
/>
|
|
412
|
+
<Tooltip>
|
|
413
|
+
When enabled, the flow will continue to the next step after going
|
|
414
|
+
through all the retries (if any) even if this step fails. This enables
|
|
415
|
+
to process the error in a branch one for instance.
|
|
416
|
+
</Tooltip>
|
|
417
|
+
</div>
|
|
418
|
+
<div class="my-8" />
|
|
419
|
+
<FlowRetries bind:flowModuleRetry={flowModule.retry} />
|
|
420
|
+
</Section>
|
|
421
|
+
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'concurrency'}
|
|
422
|
+
<Section label="Concurrency limits" class="flex flex-col gap-4" eeOnly>
|
|
423
|
+
<svelte:fragment slot="header">
|
|
424
|
+
<Tooltip>Allowed concurrency within a given timeframe</Tooltip>
|
|
425
|
+
</svelte:fragment>
|
|
426
|
+
{#if flowModule.value.type == 'rawscript'}
|
|
427
|
+
<Label label="Max number of executions within the time window">
|
|
428
|
+
<div class="flex flex-row gap-2 max-w-sm">
|
|
429
|
+
<input
|
|
430
|
+
disabled={!$enterpriseLicense}
|
|
431
|
+
bind:value={flowModule.value.concurrent_limit}
|
|
432
|
+
type="number"
|
|
433
|
+
/>
|
|
434
|
+
<Button
|
|
435
|
+
size="xs"
|
|
436
|
+
color="light"
|
|
437
|
+
variant="border"
|
|
438
|
+
on:click={() => {
|
|
439
|
+
if (flowModule.value.type == 'rawscript') {
|
|
440
|
+
flowModule.value.concurrent_limit = undefined
|
|
441
|
+
}
|
|
442
|
+
}}
|
|
443
|
+
>
|
|
444
|
+
<div class="flex flex-row gap-2"> Remove Limits </div>
|
|
445
|
+
</Button>
|
|
446
|
+
</div>
|
|
447
|
+
</Label>
|
|
448
|
+
<Label label="Time window in seconds">
|
|
449
|
+
<SecondsInput
|
|
450
|
+
disabled={!$enterpriseLicense}
|
|
451
|
+
bind:seconds={flowModule.value.concurrency_time_window_s}
|
|
452
|
+
/>
|
|
453
|
+
</Label>
|
|
454
|
+
<Label label="Custom concurrency key (optional)">
|
|
455
|
+
<svelte:fragment slot="header">
|
|
456
|
+
<Tooltip>
|
|
457
|
+
Concurrency keys are global, you can have them be workspace specific
|
|
458
|
+
using the variable `$workspace`. You can also use an argument's
|
|
459
|
+
value using `$args[name_of_arg]`</Tooltip
|
|
460
|
+
>
|
|
461
|
+
</svelte:fragment>
|
|
462
|
+
<!-- svelte-ignore a11y-autofocus -->
|
|
463
|
+
<input
|
|
464
|
+
type="text"
|
|
465
|
+
autofocus
|
|
466
|
+
disabled={!$enterpriseLicense}
|
|
467
|
+
bind:value={flowModule.value.custom_concurrency_key}
|
|
468
|
+
placeholder={`$workspace/script/${$pathStore}-$args[foo]`}
|
|
469
|
+
/>
|
|
470
|
+
</Label>
|
|
471
|
+
{:else}
|
|
472
|
+
<Alert type="warning" title="Limitation" size="xs">
|
|
473
|
+
The concurrency limit of a workspace script is only settable in the
|
|
474
|
+
script metadata itself. For hub scripts, this feature is non available
|
|
475
|
+
yet.
|
|
476
|
+
</Alert>
|
|
477
|
+
{/if}
|
|
478
|
+
</Section>
|
|
479
|
+
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'timeout'}
|
|
480
|
+
<div>
|
|
481
|
+
<FlowModuleTimeout bind:flowModule />
|
|
482
|
+
</div>
|
|
483
|
+
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'priority'}
|
|
484
|
+
<Section label="Priority" class="flex flex-col gap-4">
|
|
485
|
+
<!-- TODO: Add EE-only badge when we have it -->
|
|
416
486
|
<Toggle
|
|
417
|
-
|
|
418
|
-
|
|
487
|
+
disabled={!$enterpriseLicense || isCloudHosted()}
|
|
488
|
+
checked={flowModule.priority !== undefined && flowModule.priority > 0}
|
|
489
|
+
on:change={() => {
|
|
490
|
+
if (flowModule.priority) {
|
|
491
|
+
flowModule.priority = undefined
|
|
492
|
+
} else {
|
|
493
|
+
flowModule.priority = 100
|
|
494
|
+
}
|
|
495
|
+
}}
|
|
419
496
|
options={{
|
|
420
|
-
|
|
421
|
-
|
|
497
|
+
right: 'Enabled high priority flow step',
|
|
498
|
+
rightTooltip: `Jobs scheduled from this step when the flow is executed are labeled as high priority and take precedence over the other jobs in the jobs queue. ${
|
|
499
|
+
!$enterpriseLicense
|
|
500
|
+
? 'This is a feature only available on enterprise edition.'
|
|
501
|
+
: ''
|
|
502
|
+
}`
|
|
422
503
|
}}
|
|
423
504
|
/>
|
|
424
|
-
<
|
|
425
|
-
When enabled, the flow will continue to the next step after going through
|
|
426
|
-
all the retries (if any) even if this step fails. This enables to process
|
|
427
|
-
the error in a branch one for instance.
|
|
428
|
-
</Tooltip>
|
|
429
|
-
</div>
|
|
430
|
-
<div class="my-8" />
|
|
431
|
-
<FlowRetries bind:flowModuleRetry={flowModule.retry} />
|
|
432
|
-
</Section>
|
|
433
|
-
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'concurrency'}
|
|
434
|
-
<Section label="Concurrency limits" class="flex flex-col gap-4" eeOnly>
|
|
435
|
-
<svelte:fragment slot="header">
|
|
436
|
-
<Tooltip>Allowed concurrency within a given timeframe</Tooltip>
|
|
437
|
-
</svelte:fragment>
|
|
438
|
-
{#if flowModule.value.type == 'rawscript'}
|
|
439
|
-
<Label label="Max number of executions within the time window">
|
|
440
|
-
<div class="flex flex-row gap-2 max-w-sm">
|
|
441
|
-
<input
|
|
442
|
-
disabled={!$enterpriseLicense}
|
|
443
|
-
bind:value={flowModule.value.concurrent_limit}
|
|
444
|
-
type="number"
|
|
445
|
-
/>
|
|
446
|
-
<Button
|
|
447
|
-
size="xs"
|
|
448
|
-
color="light"
|
|
449
|
-
variant="border"
|
|
450
|
-
on:click={() => {
|
|
451
|
-
if (flowModule.value.type == 'rawscript') {
|
|
452
|
-
flowModule.value.concurrent_limit = undefined
|
|
453
|
-
}
|
|
454
|
-
}}
|
|
455
|
-
>
|
|
456
|
-
<div class="flex flex-row gap-2"> Remove Limits </div>
|
|
457
|
-
</Button>
|
|
458
|
-
</div>
|
|
459
|
-
</Label>
|
|
460
|
-
<Label label="Time window in seconds">
|
|
461
|
-
<SecondsInput
|
|
462
|
-
disabled={!$enterpriseLicense}
|
|
463
|
-
bind:seconds={flowModule.value.concurrency_time_window_s}
|
|
464
|
-
/>
|
|
465
|
-
</Label>
|
|
466
|
-
<Label label="Custom concurrency key (optional)">
|
|
505
|
+
<Label label="Priority number">
|
|
467
506
|
<svelte:fragment slot="header">
|
|
468
|
-
<Tooltip>
|
|
469
|
-
Concurrency keys are global, you can have them be workspace specific
|
|
470
|
-
using the variable `$workspace`. You can also use an argument's value
|
|
471
|
-
using `$args[name_of_arg]`</Tooltip
|
|
472
|
-
>
|
|
507
|
+
<Tooltip>The higher the number, the higher the priority.</Tooltip>
|
|
473
508
|
</svelte:fragment>
|
|
474
|
-
<!-- svelte-ignore a11y-autofocus -->
|
|
475
509
|
<input
|
|
476
|
-
type="
|
|
477
|
-
|
|
478
|
-
disabled={
|
|
479
|
-
bind:value={flowModule.
|
|
480
|
-
|
|
510
|
+
type="number"
|
|
511
|
+
class="!w-24"
|
|
512
|
+
disabled={flowModule.priority === undefined}
|
|
513
|
+
bind:value={flowModule.priority}
|
|
514
|
+
on:focus
|
|
515
|
+
on:change={() => {
|
|
516
|
+
if (flowModule.priority && flowModule.priority > 100) {
|
|
517
|
+
flowModule.priority = 100
|
|
518
|
+
} else if (flowModule.priority && flowModule.priority < 0) {
|
|
519
|
+
flowModule.priority = 0
|
|
520
|
+
}
|
|
521
|
+
}}
|
|
481
522
|
/>
|
|
482
523
|
</Label>
|
|
483
|
-
|
|
524
|
+
|
|
484
525
|
<Alert type="warning" title="Limitation" size="xs">
|
|
485
|
-
|
|
486
|
-
|
|
526
|
+
Setting priority is only available for enterprise edition and not
|
|
527
|
+
available on the cloud.
|
|
487
528
|
</Alert>
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
disabled={flowModule.priority === undefined}
|
|
524
|
-
bind:value={flowModule.priority}
|
|
525
|
-
on:focus
|
|
526
|
-
on:change={() => {
|
|
527
|
-
if (flowModule.priority && flowModule.priority > 100) {
|
|
528
|
-
flowModule.priority = 100
|
|
529
|
-
} else if (flowModule.priority && flowModule.priority < 0) {
|
|
530
|
-
flowModule.priority = 0
|
|
531
|
-
}
|
|
529
|
+
</Section>
|
|
530
|
+
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'lifetime'}
|
|
531
|
+
<div>
|
|
532
|
+
<FlowModuleDeleteAfterUse bind:flowModule disabled={!$enterpriseLicense} />
|
|
533
|
+
</div>
|
|
534
|
+
{:else if advancedSelected === 'cache'}
|
|
535
|
+
<div>
|
|
536
|
+
<FlowModuleCache bind:flowModule />
|
|
537
|
+
</div>
|
|
538
|
+
{:else if advancedSelected === 'early-stop'}
|
|
539
|
+
<FlowModuleEarlyStop bind:flowModule />
|
|
540
|
+
{:else if advancedSelected === 'skip'}
|
|
541
|
+
<FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
|
|
542
|
+
{:else if advancedSelected === 'suspend'}
|
|
543
|
+
<div>
|
|
544
|
+
<FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
|
|
545
|
+
</div>
|
|
546
|
+
{:else if advancedSelected === 'sleep'}
|
|
547
|
+
<div>
|
|
548
|
+
<FlowModuleSleep previousModuleId={previousModule?.id} bind:flowModule />
|
|
549
|
+
</div>
|
|
550
|
+
{:else if advancedSelected === 'mock'}
|
|
551
|
+
<div>
|
|
552
|
+
<FlowModuleMock bind:flowModule />
|
|
553
|
+
</div>
|
|
554
|
+
{:else if advancedSelected === 'same_worker'}
|
|
555
|
+
<div>
|
|
556
|
+
<Alert type="info" title="Share a directory between steps">
|
|
557
|
+
If shared directory is set, will share a folder that will be mounted on
|
|
558
|
+
`./shared` for each of them to pass data between each other.
|
|
559
|
+
</Alert>
|
|
560
|
+
<Button
|
|
561
|
+
btnClasses="mt-4"
|
|
562
|
+
on:click={() => {
|
|
563
|
+
$selectedId = 'settings-same-worker'
|
|
532
564
|
}}
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
<Alert type="warning" title="Limitation" size="xs">
|
|
537
|
-
Setting priority is only available for enterprise edition and not available
|
|
538
|
-
on the cloud.
|
|
539
|
-
</Alert>
|
|
540
|
-
</Section>
|
|
541
|
-
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'lifetime'}
|
|
542
|
-
<div>
|
|
543
|
-
<FlowModuleDeleteAfterUse bind:flowModule disabled={!$enterpriseLicense} />
|
|
544
|
-
</div>
|
|
545
|
-
{:else if advancedSelected === 'cache'}
|
|
546
|
-
<div>
|
|
547
|
-
<FlowModuleCache bind:flowModule />
|
|
548
|
-
</div>
|
|
549
|
-
{:else if advancedSelected === 'early-stop'}
|
|
550
|
-
<FlowModuleEarlyStop bind:flowModule />
|
|
551
|
-
{:else if advancedSelected === 'skip'}
|
|
552
|
-
<FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
|
|
553
|
-
{:else if advancedSelected === 'suspend'}
|
|
554
|
-
<div>
|
|
555
|
-
<FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
|
|
556
|
-
</div>
|
|
557
|
-
{:else if advancedSelected === 'sleep'}
|
|
558
|
-
<div>
|
|
559
|
-
<FlowModuleSleep previousModuleId={previousModule?.id} bind:flowModule />
|
|
560
|
-
</div>
|
|
561
|
-
{:else if advancedSelected === 'mock'}
|
|
562
|
-
<div>
|
|
563
|
-
<FlowModuleMock bind:flowModule />
|
|
564
|
-
</div>
|
|
565
|
-
{:else if advancedSelected === 'same_worker'}
|
|
566
|
-
<div>
|
|
567
|
-
<Alert type="info" title="Share a directory between steps">
|
|
568
|
-
If shared directory is set, will share a folder that will be mounted on
|
|
569
|
-
`./shared` for each of them to pass data between each other.
|
|
570
|
-
</Alert>
|
|
571
|
-
<Button
|
|
572
|
-
btnClasses="mt-4"
|
|
573
|
-
on:click={() => {
|
|
574
|
-
$selectedId = 'settings-same-worker'
|
|
575
|
-
}}
|
|
576
|
-
>
|
|
577
|
-
Set shared directory in the flow settings
|
|
578
|
-
</Button>
|
|
579
|
-
</div>
|
|
580
|
-
{:else if advancedSelected === 's3'}
|
|
581
|
-
<div>
|
|
582
|
-
<h2 class="pb-4">
|
|
583
|
-
S3 snippets
|
|
584
|
-
<Tooltip>
|
|
585
|
-
Read/Write object from/to S3 and leverage Polars and DuckDB to run
|
|
586
|
-
efficient ETL processes.
|
|
587
|
-
</Tooltip>
|
|
588
|
-
</h2>
|
|
589
|
-
</div>
|
|
590
|
-
<div class="flex gap-2 justify-between mb-4 items-center">
|
|
591
|
-
<div class="flex gap-2">
|
|
592
|
-
<ToggleButtonGroup bind:selected={s3Kind} class="w-auto">
|
|
593
|
-
{#if flowModule.value['language'] === 'deno'}
|
|
594
|
-
<ToggleButton value="s3_client" size="sm" label="S3 lite client" />
|
|
595
|
-
{:else}
|
|
596
|
-
<ToggleButton value="s3_client" size="sm" label="Boto3" />
|
|
597
|
-
<ToggleButton value="polars" size="sm" label="Polars" />
|
|
598
|
-
<ToggleButton value="duckdb" size="sm" label="DuckDB" />
|
|
599
|
-
{/if}
|
|
600
|
-
</ToggleButtonGroup>
|
|
565
|
+
>
|
|
566
|
+
Set shared directory in the flow settings
|
|
567
|
+
</Button>
|
|
601
568
|
</div>
|
|
569
|
+
{:else if advancedSelected === 's3'}
|
|
570
|
+
<div>
|
|
571
|
+
<h2 class="pb-4">
|
|
572
|
+
S3 snippets
|
|
573
|
+
<Tooltip>
|
|
574
|
+
Read/Write object from/to S3 and leverage Polars and DuckDB to run
|
|
575
|
+
efficient ETL processes.
|
|
576
|
+
</Tooltip>
|
|
577
|
+
</h2>
|
|
578
|
+
</div>
|
|
579
|
+
<div class="flex gap-2 justify-between mb-4 items-center">
|
|
580
|
+
<div class="flex gap-2">
|
|
581
|
+
<ToggleButtonGroup bind:selected={s3Kind} class="w-auto">
|
|
582
|
+
{#if flowModule.value['language'] === 'deno'}
|
|
583
|
+
<ToggleButton value="s3_client" size="sm" label="S3 lite client" />
|
|
584
|
+
{:else}
|
|
585
|
+
<ToggleButton value="s3_client" size="sm" label="Boto3" />
|
|
586
|
+
<ToggleButton value="polars" size="sm" label="Polars" />
|
|
587
|
+
<ToggleButton value="duckdb" size="sm" label="DuckDB" />
|
|
588
|
+
{/if}
|
|
589
|
+
</ToggleButtonGroup>
|
|
590
|
+
</div>
|
|
602
591
|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
592
|
+
<Button
|
|
593
|
+
size="xs"
|
|
594
|
+
on:click={() =>
|
|
595
|
+
editor.setCode(s3Scripts[flowModule.value['language']][s3Kind])}
|
|
596
|
+
>
|
|
597
|
+
Apply snippet
|
|
598
|
+
</Button>
|
|
599
|
+
</div>
|
|
600
|
+
<HighlightCode
|
|
601
|
+
language={flowModule.value['language']}
|
|
602
|
+
code={s3Scripts[flowModule.value['language']][s3Kind]}
|
|
603
|
+
/>
|
|
604
|
+
{/if}
|
|
605
|
+
</div>
|
|
606
|
+
{/if}
|
|
607
|
+
</div>
|
|
608
|
+
</Pane>
|
|
609
|
+
</Splitpanes>
|
|
610
|
+
</div>
|
|
621
611
|
</div>
|
|
622
612
|
</FlowCard>
|
|
623
613
|
</div>
|