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.
Files changed (285) hide show
  1. package/package/components/ArgInput.svelte +12 -16
  2. package/package/components/ArgInput.svelte.d.ts +1 -0
  3. package/package/components/AssignableTags.svelte +3 -1
  4. package/package/components/AssignableTags.svelte.d.ts +1 -0
  5. package/package/components/AuthSettings.svelte +248 -0
  6. package/package/components/AuthSettings.svelte.d.ts +19 -0
  7. package/package/components/AutoscalingConfigEditor.svelte +2 -2
  8. package/package/components/CronInput.svelte +2 -2
  9. package/package/components/DeployWorkspace.svelte +1 -1
  10. package/package/components/Description.svelte +9 -0
  11. package/package/components/Description.svelte.d.ts +18 -0
  12. package/package/components/Dev.svelte +18 -3
  13. package/package/components/DisplayResult.svelte +7 -4
  14. package/package/components/DisplayResult.svelte.d.ts +1 -0
  15. package/package/components/DropdownV2.svelte +2 -1
  16. package/package/components/DropdownV2.svelte.d.ts +1 -0
  17. package/package/components/EditableSchemaForm.svelte +2 -2
  18. package/package/components/Editor.svelte +9 -6
  19. package/package/components/Editor.svelte.d.ts +4 -2
  20. package/package/components/EditorBar.svelte +51 -6
  21. package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
  22. package/package/components/ExecutionDuration.svelte +2 -1
  23. package/package/components/FieldHeader.svelte +9 -1
  24. package/package/components/FieldHeader.svelte.d.ts +1 -0
  25. package/package/components/FlowBuilder.svelte +16 -3
  26. package/package/components/FlowGraphViewer.svelte +2 -0
  27. package/package/components/FlowPreviewContent.svelte +6 -15
  28. package/package/components/FlowStatusViewerInner.svelte +14 -10
  29. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
  30. package/package/components/HighlightCode.svelte +3 -0
  31. package/package/components/InputTransformSchemaForm.svelte +1 -1
  32. package/package/components/InstanceSetting.svelte +774 -0
  33. package/package/components/InstanceSetting.svelte.d.ts +27 -0
  34. package/package/components/InstanceSettings.svelte +68 -1005
  35. package/package/components/InstanceSettings.svelte.d.ts +0 -4
  36. package/package/components/Label.svelte +16 -6
  37. package/package/components/Label.svelte.d.ts +3 -0
  38. package/package/components/Login.svelte +17 -9
  39. package/package/components/OAuthSetting.svelte +4 -3
  40. package/package/components/OauthExtraParams.svelte +1 -1
  41. package/package/components/OauthScopes.svelte +2 -2
  42. package/package/components/ObjectStoreConfigSettings.svelte +141 -128
  43. package/package/components/QueueMetricsDrawer.svelte +5 -5
  44. package/package/components/ResourceEditor.svelte +4 -0
  45. package/package/components/ResourceEditor.svelte.d.ts +1 -0
  46. package/package/components/ResourceEditorDrawer.svelte +15 -3
  47. package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
  48. package/package/components/ResourcePicker.svelte +16 -5
  49. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  50. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  51. package/package/components/RunPageSchedules.svelte +15 -10
  52. package/package/components/SavedInputs.svelte +1 -1
  53. package/package/components/ScheduleEditorInner.svelte +58 -27
  54. package/package/components/SchemaForm.svelte +7 -5
  55. package/package/components/SchemaForm.svelte.d.ts +1 -0
  56. package/package/components/ScriptBuilder.svelte +58 -5
  57. package/package/components/ScriptEditor.svelte +78 -40
  58. package/package/components/ScriptEditor.svelte.d.ts +17 -2
  59. package/package/components/ScriptPicker.svelte +41 -34
  60. package/package/components/ScriptPicker.svelte.d.ts +1 -0
  61. package/package/components/ScriptVersionHistory.svelte +1 -1
  62. package/package/components/Section.svelte +38 -35
  63. package/package/components/Section.svelte.d.ts +2 -0
  64. package/package/components/ServiceLogsInner.svelte +1 -1
  65. package/package/components/SimpleEditor.svelte +2 -0
  66. package/package/components/Subsection.svelte +52 -0
  67. package/package/components/Subsection.svelte.d.ts +27 -0
  68. package/package/components/SuperadminSettings.svelte +23 -13
  69. package/package/components/TemplateEditor.svelte +4 -3
  70. package/package/components/TestConnection.svelte +5 -0
  71. package/package/components/TestJobLoader.svelte +2 -1
  72. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  73. package/package/components/Toggle.svelte +2 -4
  74. package/package/components/UserSettings.svelte +1 -1
  75. package/package/components/WorkerGroup.svelte +4 -4
  76. package/package/components/WorkerTagPicker.svelte +4 -2
  77. package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
  78. package/package/components/WorkerTagSelect.svelte +2 -0
  79. package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
  80. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  81. package/package/components/apps/components/display/dbtable/utils.js +26 -1
  82. package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
  83. package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
  84. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
  85. package/package/components/apps/editor/AppEditor.svelte +5 -34
  86. package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
  87. package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
  88. package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
  89. package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
  90. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  91. package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
  92. package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
  93. package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
  94. package/package/components/apps/editor/appUtils.d.ts +1 -0
  95. package/package/components/apps/editor/appUtils.js +17 -0
  96. package/package/components/apps/editor/component/components.d.ts +82 -81
  97. package/package/components/apps/editor/component/components.js +4 -3
  98. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
  99. package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
  100. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  102. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
  103. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
  104. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
  105. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  106. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
  107. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
  108. package/package/components/apps/inputType.d.ts +2 -2
  109. package/package/components/apps/types.d.ts +2 -0
  110. package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
  111. package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
  112. package/package/components/common/alert/Notification.svelte +15 -0
  113. package/package/components/common/alert/Notification.svelte.d.ts +17 -0
  114. package/package/components/common/button/AnimatedButton.svelte +1 -1
  115. package/package/components/common/button/RefreshButton.svelte +30 -0
  116. package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
  117. package/package/components/common/fileDownload/FileDownload.svelte +4 -3
  118. package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
  119. package/package/components/common/fileUpload/FileUpload.svelte +3 -3
  120. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  121. package/package/components/common/layout/List.svelte +35 -0
  122. package/package/components/common/layout/List.svelte.d.ts +21 -0
  123. package/package/components/common/layout/ListElement.svelte +3 -0
  124. package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
  125. package/package/components/common/menu/MenuV2.svelte +3 -2
  126. package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
  127. package/package/components/common/modal/Modal.svelte +6 -4
  128. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  129. package/package/components/common/modal/Modal2.svelte +101 -0
  130. package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
  131. package/package/components/common/popup/Popup.svelte +5 -1
  132. package/package/components/common/popup/Popup.svelte.d.ts +2 -0
  133. package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
  134. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  135. package/package/components/details/ClipboardPanel.svelte +12 -2
  136. package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +24 -0
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
  139. package/package/components/details/DetailPageLayout.svelte +3 -1
  140. package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
  141. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
  142. package/package/components/details/EmailTriggerPanel.svelte +27 -74
  143. package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
  144. package/package/components/flows/FlowEditor.svelte +1 -1
  145. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  146. package/package/components/flows/FlowHistoryInner.svelte +1 -1
  147. package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
  148. package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
  149. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
  150. package/package/components/flows/content/FlowInput.svelte +2 -15
  151. package/package/components/flows/content/FlowInputs.svelte +1 -1
  152. package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
  153. package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
  154. package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
  155. package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
  156. package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
  157. package/package/components/flows/content/FlowPathViewer.svelte +3 -1
  158. package/package/components/flows/content/FlowRetries.svelte +32 -5
  159. package/package/components/flows/content/FlowSettings.svelte +56 -48
  160. package/package/components/flows/flowStateUtils.d.ts +10 -1
  161. package/package/components/flows/flowStateUtils.js +23 -0
  162. package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
  163. package/package/components/flows/map/InsertModuleButton.svelte +3 -3
  164. package/package/components/flows/map/VirtualItem.svelte +29 -1
  165. package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
  166. package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
  167. package/package/components/flows/previousResults.js +8 -2
  168. package/package/components/flows/types.d.ts +1 -0
  169. package/package/components/graph/FlowGraphV2.svelte +5 -1
  170. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  171. package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
  172. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
  173. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  174. package/package/components/icons/CSharpIcon.svelte +14 -0
  175. package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
  176. package/package/components/icons/GitIcon.svelte +5 -2
  177. package/package/components/icons/XeroIcon.svelte +24 -0
  178. package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
  179. package/package/components/icons/index.d.ts +3 -1
  180. package/package/components/icons/index.js +4 -2
  181. package/package/components/instanceSettings.d.ts +3 -1
  182. package/package/components/instanceSettings.js +77 -69
  183. package/package/components/meltComponents/Popover.svelte +82 -0
  184. package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
  185. package/package/components/propertyPicker/PropPicker.svelte +5 -3
  186. package/package/components/runs/JobLoader.svelte +5 -2
  187. package/package/components/runs/JobPreview.svelte +5 -5
  188. package/package/components/runs/RunRow.svelte +3 -4
  189. package/package/components/runs/RunsFilter.svelte +4 -4
  190. package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
  191. package/package/components/schema/PropertyEditor.svelte +1 -1
  192. package/package/components/schema/SchemaFormDND.svelte +2 -0
  193. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  194. package/package/components/scriptEditor/LogPanel.svelte +176 -164
  195. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  196. package/package/components/search/GlobalSearchModal.svelte +3 -3
  197. package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
  198. package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
  199. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
  200. package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
  201. package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
  202. package/package/components/sidebar/OperatorMenu.svelte +30 -8
  203. package/package/components/sidebar/SideBarNotification.svelte +3 -6
  204. package/package/components/sidebar/SidebarContent.svelte +5 -5
  205. package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
  206. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
  207. package/package/components/sidebar/changelogs.js +82 -17
  208. package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
  209. package/package/components/table/AutoDataTable.svelte +1 -1
  210. package/package/components/table/Cell.svelte +5 -3
  211. package/package/components/table/Cell.svelte.d.ts +1 -0
  212. package/package/components/table/DataTable.svelte +65 -58
  213. package/package/components/table/DataTable.svelte.d.ts +2 -0
  214. package/package/components/table/Head.svelte +1 -1
  215. package/package/components/table/Row.svelte +3 -1
  216. package/package/components/table/Row.svelte.d.ts +1 -0
  217. package/package/components/toast.js +3 -1
  218. package/package/components/triggers/CaptureButton.svelte +77 -0
  219. package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
  220. package/package/components/triggers/CaptureIcon.svelte +17 -0
  221. package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
  222. package/package/components/triggers/CaptureSection.svelte +76 -0
  223. package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
  224. package/package/components/triggers/CaptureTable.svelte +224 -0
  225. package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
  226. package/package/components/triggers/CaptureWrapper.svelte +237 -0
  227. package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
  228. package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
  229. package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
  230. package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
  231. package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
  232. package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
  233. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
  234. package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
  235. package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
  236. package/package/components/triggers/RouteEditor.svelte +2 -2
  237. package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
  238. package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
  239. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
  240. package/package/components/triggers/RouteEditorInner.svelte +98 -163
  241. package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
  242. package/package/components/triggers/RoutesPanel.svelte +69 -54
  243. package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
  244. package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
  245. package/package/components/triggers/TriggersEditor.svelte +119 -89
  246. package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
  247. package/package/components/triggers/TriggersEditorSection.svelte +109 -0
  248. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
  249. package/package/components/triggers/TriggersWrapper.svelte +60 -0
  250. package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
  251. package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
  252. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
  253. package/package/components/triggers/WebhooksPanel.svelte +32 -331
  254. package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
  255. package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
  256. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
  257. package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
  258. package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
  259. package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
  260. package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
  261. package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
  262. package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
  263. package/package/components/triggers.d.ts +6 -2
  264. package/package/components/triggers.js +16 -0
  265. package/package/components/wizards/AgGridWizard.svelte +4 -4
  266. package/package/editorUtils.d.ts +2 -0
  267. package/package/editorUtils.js +6 -3
  268. package/package/gen/core/OpenAPI.js +1 -1
  269. package/package/gen/schemas.gen.d.ts +17 -8
  270. package/package/gen/schemas.gen.js +17 -8
  271. package/package/gen/services.gen.d.ts +55 -5
  272. package/package/gen/services.gen.js +108 -5
  273. package/package/gen/types.gen.d.ts +180 -13
  274. package/package/hubPaths.json +6 -3
  275. package/package/infer.js +9 -0
  276. package/package/script_helpers.d.ts +5 -0
  277. package/package/script_helpers.js +68 -8
  278. package/package/scripts.d.ts +1 -1
  279. package/package/scripts.js +5 -1
  280. package/package/stores.d.ts +1 -0
  281. package/package/utils.d.ts +3 -1
  282. package/package/utils.js +20 -4
  283. package/package.json +11 -8
  284. package/package/components/flows/content/CapturePayload.svelte +0 -114
  285. 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
- email?: string | undefined;
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>
@@ -12,6 +12,7 @@ declare const __propDef: {
12
12
  };
13
13
  events: {
14
14
  reload: any;
15
+ applyArgs: any;
15
16
  } & {
16
17
  [evt: string]: CustomEvent<any>;
17
18
  };
@@ -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 Deployment Message"
126
+ aria-label="Save deployment message"
127
127
  on:click={() => {
128
128
  updateDeploymentMsg(selectedVersion?.id)
129
129
  }}
@@ -57,7 +57,7 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
57
57
  on:click={() => (open = !open)}
58
58
  id="flow-editor-edit-predicate"
59
59
  >
60
- Edit Predicate
60
+ Edit predicate
61
61
  </Button>
62
62
  </div>
63
63
  </div>
@@ -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 {noEditor} disabled={disabledFlowInputs} />
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"
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  disabledFlowInputs?: boolean | undefined;
8
8
  };
9
9
  events: {
10
+ applyArgs: any;
11
+ } & {
10
12
  [evt: string]: CustomEvent<any>;
11
13
  };
12
14
  slots: {};
@@ -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 Runs/Input library
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/trigger_flows"
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 Loop', 'forloop'],
114
- ['While Loop', 'whileloop'],
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 = failureModule
87
- ? getFailureStepPropPicker($flowStateStore, $flowStore, $previewArgs)
88
- : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
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 Limits" class="flex flex-col gap-4" eeOnly>
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 {#if module.value.hash != undefined} (locked hash){/if}
113
+ Edit
111
114
  </Button>
112
115
  {/if}
113
116
  {#if customUi?.tagEdit != false}
@@ -225,7 +225,7 @@ let jsonView = false;
225
225
  label="JSON View"
226
226
  size="xs"
227
227
  options={{
228
- right: 'JSON Editor',
228
+ right: 'JSON editor',
229
229
  rightTooltip:
230
230
  'Arguments can be edited either using the wizard, or by editing their JSON Schema.'
231
231
  }}
@@ -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
- <input bind:value={flowModuleRetry.constant.attempts} type="number" />
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
- <input bind:value={flowModuleRetry.exponential.attempts} type="number" />
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
- rightDocumentationLink: 'https://www.windmill.dev/docs/core_concepts/worker_groups'
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: 'When enabled, the flow will cache the results of the flow for each possible set of inputs.',
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: 'https://www.windmill.dev/docs/flows/early_stop#early-stop-for-flow'
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: 'https://www.windmill.dev/docs/core_concepts/persistent_storage/within_windmill#shared-directory'
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: 'https://www.windmill.dev/docs/core_concepts/monitor_past_and_future_runs#invisible-runs'
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
- <Toggle
359
- textClass="font-normal text-sm"
360
- color="nord"
361
- size="xs"
362
- disabled={!$enterpriseLicense}
363
- checked={Boolean($flowStore.value.concurrent_limit)}
364
- on:change={() => {
365
- if ($flowStore.value.concurrent_limit) {
366
- $flowStore.value.concurrent_limit = undefined
367
- } else {
368
- $flowStore.value.concurrent_limit = 1
369
- }
370
- }}
371
- options={{
372
- right: 'Concurrency limits',
373
- rightTooltip: 'Allowed concurrency within a given timeframe',
374
- rightDocumentationLink: 'https://www.windmill.dev/docs/flows/concurrency_limit'
375
- }}
376
- class="py-1"
377
- eeOnly={true}
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
- <Toggle
477
- textClass="font-normal text-sm"
478
- color="nord"
479
- size="xs"
480
- disabled={!$enterpriseLicense || isCloudHosted()}
481
- checked={Boolean($flowStore.dedicated_worker)}
482
- on:change={() => {
483
- if ($flowStore.dedicated_worker) {
484
- $flowStore.dedicated_worker = undefined
485
- } else {
486
- $flowStore.dedicated_worker = true
487
- }
488
- }}
489
- options={{
490
- right: 'Flow is run on dedicated workers',
491
- rightTooltip:
492
- 'When enabled, the flow will be executed on a dedicated worker.',
493
- rightDocumentationLink: 'https://www.windmill.dev/docs/core_concepts/jobs#high-priority-jobs'
494
- }}
495
- class="py-1"
496
- eeOnly={true}
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(detail.inlineScript, detail.script)
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