windmill-components 1.394.7 → 1.405.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/package/ata/edgeCases.d.ts +0 -1
  2. package/package/ata/edgeCases.js +2 -8
  3. package/package/ata/index.js +4 -3
  4. package/package/common.d.ts +1 -1
  5. package/package/common.js +2 -2
  6. package/package/components/ApiConnectForm.svelte +33 -7
  7. package/package/components/ArgInput.svelte +4 -2
  8. package/package/components/CenteredModal.svelte +4 -1
  9. package/package/components/CenteredModal.svelte.d.ts +1 -0
  10. package/package/components/DateInput.svelte +2 -0
  11. package/package/components/DateInput.svelte.d.ts +1 -0
  12. package/package/components/DefaultScripts.svelte +8 -3
  13. package/package/components/DefaultScripts.svelte.d.ts +5 -1
  14. package/package/components/DefaultScriptsInner.svelte +16 -7
  15. package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
  16. package/package/components/Dev.svelte +68 -11
  17. package/package/components/DropdownV2.svelte.d.ts +3 -3
  18. package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
  19. package/package/components/EditableSchemaForm.svelte +1 -0
  20. package/package/components/Editor.svelte +3 -2
  21. package/package/components/Editor.svelte.d.ts +1 -1
  22. package/package/components/ExecutionDuration.svelte +44 -0
  23. package/package/components/ExecutionDuration.svelte.d.ts +24 -0
  24. package/package/components/FlowBuilder.svelte +20 -12
  25. package/package/components/FlowGraphViewer.svelte +9 -2
  26. package/package/components/FlowGraphViewerStep.svelte +23 -10
  27. package/package/components/FlowJobResult.svelte +0 -1
  28. package/package/components/FlowStatusViewerInner.svelte +17 -4
  29. package/package/components/FlowTimeline.svelte +3 -3
  30. package/package/components/HighlightCode.svelte +3 -0
  31. package/package/components/IconedResourceType.svelte +17 -10
  32. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  33. package/package/components/IdEditorInput.svelte +0 -1
  34. package/package/components/InstanceSettings.svelte +247 -129
  35. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  36. package/package/components/JobArgs.svelte +3 -1
  37. package/package/components/LightweightArgInput.svelte +35 -10
  38. package/package/components/LightweightArgInput.svelte.d.ts +1 -0
  39. package/package/components/LightweightObjectResourceInput.svelte +2 -0
  40. package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
  41. package/package/components/LightweightSchemaForm.svelte +2 -0
  42. package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
  43. package/package/components/Login.svelte +10 -5
  44. package/package/components/Login.svelte.d.ts +1 -0
  45. package/package/components/ModulePreview.svelte +21 -2
  46. package/package/components/ModuleStatus.svelte +3 -0
  47. package/package/components/ModuleStatus.svelte.d.ts +1 -0
  48. package/package/components/OAuthSetting.svelte +40 -15
  49. package/package/components/ObjectStoreConfigSettings.svelte +78 -76
  50. package/package/components/ParqetCsvTableRenderer.svelte +25 -3
  51. package/package/components/Password.svelte.d.ts +1 -1
  52. package/package/components/Path.svelte +74 -54
  53. package/package/components/Path.svelte.d.ts +2 -1
  54. package/package/components/ResourceEditor.svelte +38 -9
  55. package/package/components/ResultJobLoader.svelte +6 -3
  56. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  57. package/package/components/ScheduleEditorInner.svelte +2 -2
  58. package/package/components/SchemaForm.svelte +6 -1
  59. package/package/components/ScriptBuilder.svelte +12 -5
  60. package/package/components/ScriptEditor.svelte +33 -3
  61. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  62. package/package/components/Scrollable.svelte +47 -0
  63. package/package/components/Scrollable.svelte.d.ts +21 -0
  64. package/package/components/ShareModal.svelte.d.ts +2 -2
  65. package/package/components/SuperadminSettings.svelte +5 -7
  66. package/package/components/TestJobLoader.svelte +46 -5
  67. package/package/components/TestJobLoader.svelte.d.ts +2 -1
  68. package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
  69. package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
  70. package/package/components/WorkspaceGroup.svelte +3 -2
  71. package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  72. package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
  73. package/package/components/apps/editor/component/components.d.ts +79 -79
  74. package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
  75. package/package/components/common/fileUpload/FileUpload.svelte +1 -1
  76. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  77. package/package/components/common/menu/Menu.svelte +2 -1
  78. package/package/components/common/menu/MenuV2.svelte +3 -1
  79. package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
  80. package/package/components/common/popup/Popup.svelte +22 -12
  81. package/package/components/common/popup/Popup.svelte.d.ts +2 -0
  82. package/package/components/common/popup/PopupV2.svelte +58 -0
  83. package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
  84. package/package/components/copilot/CronGen.svelte +1 -1
  85. package/package/components/copilot/RegexGen.svelte +4 -4
  86. package/package/components/copilot/StepGen.svelte +6 -6
  87. package/package/components/copilot/StepGenQuick.svelte +57 -0
  88. package/package/components/copilot/StepGenQuick.svelte.d.ts +23 -0
  89. package/package/components/copilot/flow.d.ts +2 -0
  90. package/package/components/copilot/flow.js +55 -0
  91. package/package/components/details/DetailPageDetailPanel.svelte +9 -1
  92. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
  93. package/package/components/details/DetailPageLayout.svelte +2 -0
  94. package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
  95. package/package/components/details/utils.d.ts +0 -1
  96. package/package/components/details/utils.js +1 -12
  97. package/package/components/flows/FlowEditor.svelte +2 -1
  98. package/package/components/flows/FlowProgressBar.svelte +16 -1
  99. package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
  100. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
  101. package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
  102. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
  103. package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
  104. package/package/components/flows/content/FlowConstants.svelte +1 -1
  105. package/package/components/flows/content/FlowEditorPanel.svelte +3 -0
  106. package/package/components/flows/content/FlowInputs.svelte +7 -6
  107. package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
  108. package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
  109. package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
  110. package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
  111. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
  112. package/package/components/flows/content/FlowLoop.svelte +7 -1
  113. package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
  114. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  115. package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
  116. package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
  117. package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
  118. package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
  119. package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
  120. package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
  121. package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
  122. package/package/components/flows/content/GenAiQuick.svelte +30 -0
  123. package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
  124. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
  125. package/package/components/flows/flowInfers.js +1 -1
  126. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
  127. package/package/components/flows/idUtils.js +3 -1
  128. package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
  129. package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
  130. package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
  131. package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
  132. package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
  133. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  134. package/package/components/flows/map/FlowModuleSchemaMap.svelte +61 -18
  135. package/package/components/flows/map/InsertModuleButton.svelte +161 -138
  136. package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
  137. package/package/components/flows/map/MapItem.svelte +11 -0
  138. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  139. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
  140. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
  141. package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
  142. package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
  143. package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
  144. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
  145. package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
  146. package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
  147. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
  148. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
  149. package/package/components/flows/types.d.ts +1 -0
  150. package/package/components/graph/FlowGraphV2.svelte +93 -58
  151. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
  152. package/package/components/graph/graphBuilder.d.ts +2 -1
  153. package/package/components/graph/graphBuilder.js +345 -280
  154. package/package/components/graph/model.d.ts +1 -0
  155. package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
  156. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  157. package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
  158. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
  159. package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
  160. package/package/components/graph/util.d.ts +1 -1
  161. package/package/components/graph/util.js +7 -2
  162. package/package/components/home/ListFiltersQuick.svelte +51 -0
  163. package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
  164. package/package/components/icons/AnsibleIcon.svelte +42 -0
  165. package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
  166. package/package/components/icons/WindmillIcon2.svelte +141 -0
  167. package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
  168. package/package/components/icons/index.d.ts +2 -1
  169. package/package/components/icons/index.js +2 -1
  170. package/package/components/instanceSettings.d.ts +2 -2
  171. package/package/components/instanceSettings.js +25 -58
  172. package/package/components/jobs/JobProgressBar.svelte +52 -0
  173. package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
  174. package/package/components/progressBar/ProgressBar.svelte +18 -1
  175. package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
  176. package/package/components/runs/JobPreview.svelte +1 -0
  177. package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
  178. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
  179. package/package/components/schema/AddProperty.svelte +1 -0
  180. package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
  181. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
  182. package/package/components/schema/FlowPropertyEditor.svelte +12 -0
  183. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
  184. package/package/components/scriptEditor/LogPanel.svelte +1 -0
  185. package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
  186. package/package/components/search/GlobalSearchModal.svelte +2 -1
  187. package/package/components/sidebar/SidebarContent.svelte +69 -8
  188. package/package/components/sidebar/changelogs.js +10 -0
  189. package/package/components/triggers/RouteEditor.svelte +19 -0
  190. package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
  191. package/package/components/triggers/RouteEditorInner.svelte +327 -0
  192. package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
  193. package/package/components/triggers/RoutesPanel.svelte +74 -0
  194. package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
  195. package/package/editorUtils.js +2 -0
  196. package/package/gen/core/OpenAPI.js +1 -1
  197. package/package/gen/schemas.gen.d.ts +159 -8
  198. package/package/gen/schemas.gen.js +161 -8
  199. package/package/gen/services.gen.d.ts +139 -1
  200. package/package/gen/services.gen.js +282 -1
  201. package/package/gen/types.gen.d.ts +455 -12
  202. package/package/hubPaths.json +6 -8
  203. package/package/infer.d.ts +4 -2
  204. package/package/infer.js +25 -23
  205. package/package/inferArgSig.js +8 -2
  206. package/package/monaco_workers/build_workers.js +8 -13
  207. package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
  208. package/package/relative_imports.d.ts +3 -0
  209. package/package/relative_imports.js +25 -0
  210. package/package/script_helpers.d.ts +7 -2
  211. package/package/script_helpers.js +151 -3
  212. package/package/scripts.d.ts +1 -1
  213. package/package/scripts.js +5 -1
  214. package/package/stores.d.ts +1 -0
  215. package/package/stores.js +1 -0
  216. package/package/utils.d.ts +1 -0
  217. package/package/utils.js +4 -0
  218. package/package.json +16 -7
  219. package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
  220. package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
  221. package/package/monaco_workers/cssWorker-es.js +0 -43763
  222. package/package/monaco_workers/editorWorker-es.d.ts +0 -2
  223. package/package/monaco_workers/editorWorker-es.js +0 -8066
  224. package/package/monaco_workers/htmlWorker-es.js +0 -21551
  225. package/package/monaco_workers/jsonWorker-es.js +0 -13523
  226. package/package/monaco_workers/tsWorker-es.d.ts +0 -103
  227. package/package/monaco_workers/tsWorker-es.js +0 -212193
@@ -321,6 +321,7 @@ const testStepStore = writable({});
321
321
  function select(selectedId) {
322
322
  selectedIdStore.set(selectedId);
323
323
  }
324
+ let insertButtonOpen = writable(false);
324
325
  setContext('FlowEditorContext', {
325
326
  selectedId: selectedIdStore,
326
327
  schedule: scheduleStore,
@@ -335,7 +336,8 @@ setContext('FlowEditorContext', {
335
336
  saveDraft,
336
337
  initialPath,
337
338
  flowInputsStore: writable({}),
338
- customUi
339
+ customUi,
340
+ insertButtonOpen
339
341
  });
340
342
  async function loadSchedule() {
341
343
  loadFlowSchedule(initialPath, $workspaceStore)
@@ -381,20 +383,24 @@ function onKeyDown(event) {
381
383
  }
382
384
  break;
383
385
  case 'ArrowDown': {
384
- let ids = generateIds();
385
- let idx = ids.indexOf($selectedIdStore);
386
- if (idx > -1 && idx < ids.length - 1) {
387
- $selectedIdStore = ids[idx + 1];
388
- event.preventDefault();
386
+ if (!$insertButtonOpen) {
387
+ let ids = generateIds();
388
+ let idx = ids.indexOf($selectedIdStore);
389
+ if (idx > -1 && idx < ids.length - 1) {
390
+ $selectedIdStore = ids[idx + 1];
391
+ event.preventDefault();
392
+ }
389
393
  }
390
394
  break;
391
395
  }
392
396
  case 'ArrowUp': {
393
- let ids = generateIds();
394
- let idx = ids.indexOf($selectedIdStore);
395
- if (idx > 0 && idx < ids.length) {
396
- $selectedIdStore = ids[idx - 1];
397
- event.preventDefault();
397
+ if (!$insertButtonOpen) {
398
+ let ids = generateIds();
399
+ let idx = ids.indexOf($selectedIdStore);
400
+ if (idx > 0 && idx < ids.length) {
401
+ $selectedIdStore = ids[idx - 1];
402
+ event.preventDefault();
403
+ }
398
404
  }
399
405
  break;
400
406
  }
@@ -404,6 +410,7 @@ function generateIds() {
404
410
  return [
405
411
  'settings-metadata',
406
412
  'constants',
413
+ 'preprocessor',
407
414
  ...dfsApply($flowStore.value.modules, (module) => module.id)
408
415
  ];
409
416
  }
@@ -718,7 +725,8 @@ async function genFlow(idx, flowModules, stepOnly = false) {
718
725
  const schemaProperty = Object.entries(schema?.properties ?? {}).find((x) => x[0] === key)?.[1];
719
726
  const snakeKey = snakeCase(key);
720
727
  if (schemaProperty &&
721
- (!$flowStore.schema || !(snakeKey in $flowStore.schema.properties ?? {})) // prevent overriding flow inputs
728
+ (!$flowStore.schema ||
729
+ !(snakeKey in ($flowStore?.schema?.properties ?? {}))) // prevent overriding flow inputs
722
730
  ) {
723
731
  copilotFlowInputs[snakeKey] = schemaProperty;
724
732
  if (schema?.required.includes(snakeKey)) {
@@ -23,9 +23,16 @@ const dispatch = createEventDispatcher();
23
23
  minHeight={400}
24
24
  modules={flow?.value?.modules}
25
25
  failureModule={flow?.value?.failure_module}
26
+ preprocessorModule={flow?.value?.preprocessor_module}
26
27
  on:select={(e) => {
27
- const mod = dfs(flow?.value?.modules ?? [], (m) => m).find((m) => m?.id === e?.detail)
28
- stepDetail = mod ?? e.detail
28
+ if (e?.detail === 'failure') {
29
+ stepDetail = flow?.value?.failure_module
30
+ } else if (e?.detail === 'preprocessor') {
31
+ stepDetail = flow?.value?.preprocessor_module
32
+ } else {
33
+ stepDetail = dfs(flow?.value?.modules ?? [], (m) => m).find((m) => m?.id === e?.detail)
34
+ }
35
+ stepDetail = stepDetail ?? e?.detail
29
36
  dispatch('select', stepDetail)
30
37
  }}
31
38
  />
@@ -98,12 +98,17 @@ let codeViewer;
98
98
  {:else if typeof stepDetail != 'string' && stepDetail.value}
99
99
  <div class="">
100
100
  <div class="sticky top-0 bg-surface w-full flex items-center py-2">
101
- {#if stepDetail.id}
101
+ {#if stepDetail.id && stepDetail.id != 'failure' && stepDetail.id != 'preprocessor'}
102
102
  <Badge color="indigo">
103
103
  {stepDetail.id}
104
104
  </Badge>
105
105
  {/if}
106
- <span class="ml-2 font-medium text-lg">
106
+ <span
107
+ class={twMerge(
108
+ 'font-medium text-lg',
109
+ stepDetail.id !== 'failure' && stepDetail.id !== 'preprocessor' ? 'ml-2' : ''
110
+ )}
111
+ >
107
112
  {#if stepDetail.summary}
108
113
  {stepDetail.summary}
109
114
  {:else if stepDetail.value.type == 'identity'}
@@ -119,6 +124,10 @@ let codeViewer;
119
124
  Inner flow
120
125
  {:else if stepDetail.value.type == 'whileloopflow'}
121
126
  While loop
127
+ {:else if stepDetail.id === 'failure'}
128
+ Error handler
129
+ {:else if stepDetail.id === 'preprocessor'}
130
+ Preprocessor
122
131
  {:else}
123
132
  Anonymous step
124
133
  {/if}
@@ -142,10 +151,12 @@ let codeViewer;
142
151
  An identity step returns its inputs as outputs
143
152
  </p>
144
153
  {:else if stepDetail.value.type == 'rawscript'}
145
- <div class="text-xs">
146
- <h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
147
- <InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
148
- </div>
154
+ {#if stepDetail.id !== 'preprocessor'}
155
+ <div class="text-xs">
156
+ <h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
157
+ <InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
158
+ </div>
159
+ {/if}
149
160
 
150
161
  <div>
151
162
  <div class="mb-2 mt-4 flex justify-between items-center">
@@ -175,10 +186,12 @@ let codeViewer;
175
186
  </div>
176
187
  </div>
177
188
  {:else if stepDetail.value.type == 'script'}
178
- <div class="text-2xs">
179
- <h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
180
- <InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
181
- </div>
189
+ {#if stepDetail.id !== 'preprocessor'}
190
+ <div class="text-2xs">
191
+ <h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
192
+ <InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
193
+ </div>
194
+ {/if}
182
195
  {#if stepDetail.value.path.startsWith('hub/')}
183
196
  <div class="flex flex-col grow">
184
197
  <div class="mb-2 flex justify-between items-center">
@@ -32,7 +32,6 @@ async function diffJobId() {
32
32
  let logOffset = 0;
33
33
  async function getLogs() {
34
34
  if (jobId) {
35
- console.log('getLogs');
36
35
  const getUpdate = await JobService.getJobUpdates({
37
36
  workspace: workspaceId ?? $workspaceStore,
38
37
  id: jobId,
@@ -94,6 +94,9 @@ let innerModules = [];
94
94
  function updateStatus(status) {
95
95
  innerModules =
96
96
  status?.modules?.concat(status.failure_module.type != 'WaitingForPriorSteps' ? status.failure_module : []) ?? [];
97
+ if (status.preprocessor_module) {
98
+ innerModules.unshift(status.preprocessor_module);
99
+ }
97
100
  updateInnerModules();
98
101
  let count = status.retry?.fail_count;
99
102
  if (count) {
@@ -339,7 +342,8 @@ function onJobsLoaded(mod, job, force) {
339
342
  flow_jobs: mod.flow_jobs,
340
343
  flow_jobs_success: mod.flow_jobs_success,
341
344
  iteration_total: mod.iterator?.itered?.length,
342
- retries: mod?.failed_retries?.length
345
+ retries: mod?.failed_retries?.length,
346
+ skipped: mod.skipped
343
347
  // retries: $flowStateStore?.raw_flow
344
348
  }, force);
345
349
  setDurationStatusByJob(mod.id, job.id, {
@@ -660,6 +664,7 @@ let wrapperHeight = 0;
660
664
  {/each}
661
665
  </div>
662
666
  {:else if innerModules.length > 0 && (job.raw_flow?.modules.length ?? 0) > 0}
667
+ {@const hasPreprocessor = innerModules[0]?.id == 'preprocessor' ? 1 : 0}
663
668
  <ul class="w-full">
664
669
  <h3 class="text-md leading-6 font-bold text-primary border-b mb-4 py-2">
665
670
  Step-by-step
@@ -669,10 +674,12 @@ let wrapperHeight = 0;
669
674
  {#if render}
670
675
  <div class="line w-8 h-10" />
671
676
  <h3 class="text-tertiary mb-2 w-full">
672
- {#if job?.raw_flow?.modules && i < job?.raw_flow?.modules.length}
677
+ {#if mod.id === 'preprocessor'}
678
+ <h3>Preprocessor module</h3>
679
+ {:else if job?.raw_flow?.modules && i < job?.raw_flow?.modules.length + hasPreprocessor}
673
680
  Step
674
681
  <span class="font-medium text-primary">
675
- {i + 1}
682
+ {i + 1 - hasPreprocessor}
676
683
  </span>
677
684
  out of
678
685
  <span class="font-medium text-primary">{job?.raw_flow?.modules.length}</span>
@@ -844,6 +851,8 @@ let wrapperHeight = 0;
844
851
  globalRefreshes[detail.moduleId]?.({ job: detail.id, index: detail.index })
845
852
  }}
846
853
  modules={job.raw_flow?.modules ?? []}
854
+ failureModule={job.raw_flow?.failure_module}
855
+ preprocessorModule={job.raw_flow?.preprocessor_module}
847
856
  />
848
857
  </div>
849
858
  <div
@@ -917,7 +926,11 @@ let wrapperHeight = 0;
917
926
  <span class="pl-1 text-tertiary text-lg pt-4">Selected subflow</span>
918
927
  {/if}
919
928
  <div class="px-2 flex gap-2 min-w-0 w-full">
920
- <ModuleStatus type={node.type} scheduled_for={node.scheduled_for} />
929
+ <ModuleStatus
930
+ type={node.type}
931
+ scheduled_for={node.scheduled_for}
932
+ skipped={node.skipped}
933
+ />
921
934
  {#if node.duration_ms}
922
935
  <Badge>
923
936
  <Hourglass class="mr-2" size={10} />
@@ -146,10 +146,10 @@ onDestroy(() => {
146
146
  {/if}
147
147
 
148
148
  <div class="px-2 py-2 grid grid-cols-6 w-full">
149
- <div>{k}</div>
150
- <div class="col-span-5 flex min-h-6 w-full">
149
+ <div class="truncate">{k}</div>
150
+ <div class="col-span-5 flex min-h-6">
151
151
  {#if min && total}
152
- <div class="flex flex-col gap-2 w-full p-2">
152
+ <div class="flex flex-col gap-2 w-full p-2 ml-4">
153
153
  {#each items?.[k] ?? [] as b}
154
154
  {@const waitingLen = b?.created_at
155
155
  ? b.started_at
@@ -9,6 +9,7 @@ import sql from 'svelte-highlight/languages/sql';
9
9
  import powershell from 'svelte-highlight/languages/powershell';
10
10
  import php from 'svelte-highlight/languages/php';
11
11
  import rust from 'svelte-highlight/languages/rust';
12
+ import yaml from 'svelte-highlight/languages/yaml';
12
13
  import { Button } from './common';
13
14
  import { copyToClipboard } from '../utils';
14
15
  import { ClipboardCopy } from 'lucide-svelte';
@@ -50,6 +51,8 @@ function getLang(lang) {
50
51
  return php;
51
52
  case 'rust':
52
53
  return rust;
54
+ case 'ansible':
55
+ return yaml;
53
56
  default:
54
57
  return typescript;
55
58
  }
@@ -1,13 +1,15 @@
1
1
  <script>
2
- import { APP_TO_ICON_COMPONENT } from './icons';
3
- export let name;
4
- export let silent = false;
5
- export let after = false;
6
- export let height = '24px';
7
- export let width = '24px';
8
- export let center = false;
9
- export let isSelected = false;
10
- $: iconComponent = APP_TO_ICON_COMPONENT[name] || APP_TO_ICON_COMPONENT[name.split('_')[0]];
2
+ import { FileText } from 'lucide-svelte'
3
+ import { APP_TO_ICON_COMPONENT } from './icons'
4
+ export let name
5
+ export let silent = false
6
+ export let after = false
7
+ export let height = '24px'
8
+ export let width = '24px'
9
+ export let center = false
10
+ export let isSelected = false
11
+ export let formatExtension = undefined
12
+ $: iconComponent = APP_TO_ICON_COMPONENT[name] || APP_TO_ICON_COMPONENT[name.split('_')[0]]
11
13
  </script>
12
14
 
13
15
  <div class="truncate flex flex-row gap-2 {center ? 'justify-center items-center' : ''} -pl-2">
@@ -18,10 +20,15 @@ $: iconComponent = APP_TO_ICON_COMPONENT[name] || APP_TO_ICON_COMPONENT[name.spl
18
20
  <span class={isSelected ? 'text-secondary' : 'text-secondary grayscale'}>
19
21
  <svelte:component this={iconComponent} {height} {width} />
20
22
  </span>
23
+ {:else if formatExtension}
24
+ <span class={isSelected ? 'text-secondary' : 'text-secondary grayscale'}>
25
+ <svelte:component this={FileText} {height} {width} />
26
+ </span>
21
27
  {:else}
22
28
  <span style="width: {width}; height: {height}" class="bg-gray-100 rounded-full" />
23
29
  {/if}
24
30
  {#if !silent && after}
25
31
  {name}
26
32
  {/if}
27
- </div>
33
+ </div>
34
+
@@ -9,6 +9,7 @@ export default class IconedResourceType extends SvelteComponent<{
9
9
  width?: string | undefined;
10
10
  silent?: boolean | undefined;
11
11
  isSelected?: boolean | undefined;
12
+ formatExtension?: any;
12
13
  }, {
13
14
  [evt: string]: CustomEvent<any>;
14
15
  }, {}> {
@@ -26,6 +27,7 @@ declare const __propDef: {
26
27
  width?: string | undefined;
27
28
  silent?: boolean | undefined;
28
29
  isSelected?: boolean | undefined;
30
+ formatExtension?: any;
29
31
  };
30
32
  events: {
31
33
  [evt: string]: CustomEvent<any>;
@@ -43,7 +43,6 @@ $: inputDiv?.focus();
43
43
  <div class="flex w-full">
44
44
  <input
45
45
  bind:this={inputDiv}
46
- autofocus
47
46
  type="text"
48
47
  bind:value
49
48
  class="!w-auto grow"