windmill-components 1.37.0 → 1.46.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 (401) hide show
  1. package/common.d.ts +1 -0
  2. package/components/AppConnect.svelte +45 -49
  3. package/components/ArgInfo.svelte +37 -15
  4. package/components/ArgInput.svelte +33 -34
  5. package/components/ArgInput.svelte.d.ts +3 -1
  6. package/components/ButtonAndDropdown.svelte +1 -1
  7. package/components/CenteredPage.svelte +2 -2
  8. package/components/CronInput.svelte +24 -20
  9. package/components/CronInput.svelte.d.ts +1 -0
  10. package/components/DisplayResult.svelte +2 -2
  11. package/components/Dropdown.svelte +10 -13
  12. package/components/Dropdown.svelte.d.ts +4 -1
  13. package/components/Editor.svelte +27 -3
  14. package/components/Editor.svelte.d.ts +3 -1
  15. package/components/EditorBar.svelte +77 -30
  16. package/components/EditorBar.svelte.d.ts +3 -1
  17. package/components/FieldHeader.svelte +6 -5
  18. package/components/FlowBuilder.svelte +52 -55
  19. package/components/FlowBuilder.svelte.d.ts +2 -0
  20. package/components/FlowJobResult.svelte +11 -18
  21. package/components/FlowJobResult.svelte.d.ts +2 -2
  22. package/components/FlowMetadata.svelte +65 -0
  23. package/components/FlowMetadata.svelte.d.ts +17 -0
  24. package/components/FlowModulesViewer.svelte +18 -4
  25. package/components/FlowPreviewContent.svelte +88 -50
  26. package/components/FlowPreviewContent.svelte.d.ts +1 -0
  27. package/components/FlowStatusViewer.svelte +123 -61
  28. package/components/FlowStatusViewer.svelte.d.ts +8 -3
  29. package/components/FlowViewer.svelte +84 -9
  30. package/components/FlowViewer.svelte.d.ts +1 -0
  31. package/components/GroupModal.svelte +43 -44
  32. package/components/GroupModal.svelte.d.ts +2 -2
  33. package/components/HighlightCode.svelte +4 -1
  34. package/components/HighlightCode.svelte.d.ts +1 -1
  35. package/components/IconedResourceType.svelte +6 -4
  36. package/components/IconedResourceType.svelte.d.ts +1 -0
  37. package/components/InputTransformForm.svelte +38 -27
  38. package/components/InputTransformsViewer.svelte +2 -1
  39. package/components/InviteGlobalUser.svelte +6 -10
  40. package/components/InviteGlobalUser.svelte.d.ts +1 -4
  41. package/components/InviteUser.svelte +4 -8
  42. package/components/InviteUser.svelte.d.ts +1 -4
  43. package/components/ItemPicker.svelte +50 -43
  44. package/components/ItemPicker.svelte.d.ts +2 -2
  45. package/components/JobArgs.svelte +33 -0
  46. package/components/JobArgs.svelte.d.ts +16 -0
  47. package/components/JobStatus.svelte +21 -17
  48. package/components/LogViewer.svelte +11 -6
  49. package/components/Modal.svelte +5 -5
  50. package/components/Modal.svelte.d.ts +4 -4
  51. package/components/ModulePreview.svelte +47 -63
  52. package/components/ModulePreview.svelte.d.ts +0 -1
  53. package/components/PageHeader.svelte +6 -6
  54. package/components/Password.svelte +1 -1
  55. package/components/Path.svelte +28 -7
  56. package/components/Path.svelte.d.ts +3 -3
  57. package/components/Popover.svelte +61 -0
  58. package/components/Popover.svelte.d.ts +17 -0
  59. package/components/Required.svelte +4 -4
  60. package/components/Required.svelte.d.ts +1 -0
  61. package/components/ResourceEditor.svelte +105 -116
  62. package/components/ResourceEditor.svelte.d.ts +0 -1
  63. package/components/ResourcePicker.svelte +9 -6
  64. package/components/ResourceTypePicker.svelte +3 -1
  65. package/components/RunChart.svelte +102 -0
  66. package/components/RunChart.svelte.d.ts +20 -0
  67. package/components/RunForm.svelte +58 -40
  68. package/components/RunForm.svelte.d.ts +13 -0
  69. package/components/SchemaEditor.svelte +5 -5
  70. package/components/SchemaEditorProperty.svelte +1 -1
  71. package/components/SchemaForm.svelte +3 -1
  72. package/components/SchemaForm.svelte.d.ts +1 -0
  73. package/components/SchemaModal.svelte +113 -105
  74. package/components/SchemaModal.svelte.d.ts +4 -4
  75. package/components/SchemaViewer.svelte +7 -4
  76. package/components/ScriptBuilder.svelte +143 -163
  77. package/components/ScriptBuilder.svelte.d.ts +1 -0
  78. package/components/ScriptEditor.svelte +117 -114
  79. package/components/ScriptEditor.svelte.d.ts +1 -0
  80. package/components/ScriptPicker.svelte +16 -24
  81. package/components/ScriptSchema.svelte +33 -32
  82. package/components/ShareModal.svelte +74 -68
  83. package/components/ShareModal.svelte.d.ts +2 -2
  84. package/components/SimpleEditor.svelte +4 -2
  85. package/components/SuperadminSettings.svelte +134 -0
  86. package/components/SuperadminSettings.svelte.d.ts +19 -0
  87. package/components/TableCustom.svelte +1 -1
  88. package/components/TableSimple.svelte +1 -1
  89. package/components/TestJobLoader.svelte +14 -6
  90. package/components/TestJobLoader.svelte.d.ts +4 -2
  91. package/components/Toggle.svelte +5 -3
  92. package/components/Toggle.svelte.d.ts +2 -0
  93. package/components/Tooltip.svelte +9 -64
  94. package/components/UserSettings.svelte +241 -0
  95. package/components/UserSettings.svelte.d.ts +19 -0
  96. package/components/VariableEditor.svelte +80 -74
  97. package/components/common/actionRow/ActionRow.svelte +5 -4
  98. package/components/common/alert/Alert.svelte +1 -1
  99. package/components/common/alert/Alert.svelte.d.ts +1 -0
  100. package/components/common/badge/Badge.svelte +2 -2
  101. package/components/common/breadcrumb/Breadcrumb.svelte +24 -0
  102. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +22 -0
  103. package/components/common/button/Button.svelte +20 -8
  104. package/components/common/button/Button.svelte.d.ts +1 -0
  105. package/components/common/button/model.d.ts +1 -1
  106. package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
  107. package/components/common/drawer/Drawer.svelte +38 -7
  108. package/components/common/drawer/Drawer.svelte.d.ts +6 -0
  109. package/components/common/drawer/DrawerContent.svelte +21 -7
  110. package/components/common/drawer/DrawerContent.svelte.d.ts +4 -0
  111. package/components/common/index.d.ts +1 -0
  112. package/components/common/index.js +1 -0
  113. package/components/common/kbd/Kbd.svelte +1 -1
  114. package/components/common/languageIcons/Bash.svelte +18 -0
  115. package/components/common/languageIcons/Bash.svelte.d.ts +27 -0
  116. package/components/common/languageIcons/Go.svelte +34 -0
  117. package/components/common/languageIcons/Go.svelte.d.ts +27 -0
  118. package/components/common/languageIcons/LanguageIcon.svelte +19 -0
  119. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +21 -0
  120. package/components/common/languageIcons/Python.svelte +51 -0
  121. package/components/common/languageIcons/Python.svelte.d.ts +27 -0
  122. package/components/common/languageIcons/TypeScript.svelte +31 -0
  123. package/components/common/languageIcons/TypeScript.svelte.d.ts +27 -0
  124. package/components/common/languageIcons/index.d.ts +5 -0
  125. package/components/common/languageIcons/index.js +5 -0
  126. package/components/common/menu/Menu.svelte +15 -19
  127. package/components/common/skeleton/Skeleton.svelte +1 -2
  128. package/components/common/skeleton/Skeleton.svelte.d.ts +0 -1
  129. package/components/common/skeleton/SkeletonElement.svelte +1 -1
  130. package/components/common/tabs/TabContent.svelte +2 -1
  131. package/components/common/tabs/TabContent.svelte.d.ts +1 -0
  132. package/components/common/tabs/Tabs.svelte +8 -6
  133. package/components/common/tabs/Tabs.svelte.d.ts +1 -0
  134. package/components/flows/FlowEditor.svelte +11 -20
  135. package/components/flows/FlowProgressBar.svelte +55 -0
  136. package/components/flows/FlowProgressBar.svelte.d.ts +21 -0
  137. package/components/flows/common/FlowCardHeader.svelte +5 -6
  138. package/components/flows/content/CapturePayload.svelte +112 -0
  139. package/components/flows/content/CapturePayload.svelte.d.ts +17 -0
  140. package/components/flows/content/DynamicInputHelpBox.svelte +6 -10
  141. package/components/flows/content/FlowBranchAllWrapper.svelte +21 -0
  142. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +21 -0
  143. package/components/flows/content/FlowBranchOneWrapper.svelte +49 -0
  144. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +23 -0
  145. package/components/flows/content/FlowBranchesWrapper.svelte +140 -0
  146. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +19 -0
  147. package/components/flows/content/FlowEditorPanel.svelte +8 -6
  148. package/components/flows/content/FlowFailureModule.svelte +4 -6
  149. package/components/flows/content/FlowInput.svelte +31 -5
  150. package/components/flows/content/FlowInputs.svelte +119 -50
  151. package/components/flows/content/FlowInputs.svelte.d.ts +5 -4
  152. package/components/flows/content/FlowLoop.svelte +85 -142
  153. package/components/flows/content/FlowLoop.svelte.d.ts +2 -1
  154. package/components/flows/content/FlowModuleComponent.svelte +231 -0
  155. package/components/flows/content/FlowModuleComponent.svelte.d.ts +20 -0
  156. package/components/flows/content/FlowModuleEarlyStop.svelte +45 -48
  157. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +1 -0
  158. package/components/flows/content/FlowModuleHeader.svelte +11 -40
  159. package/components/flows/content/FlowModuleHeader.svelte.d.ts +0 -1
  160. package/components/flows/content/FlowModuleScript.svelte +7 -12
  161. package/components/flows/content/FlowModuleScript.svelte.d.ts +1 -2
  162. package/components/flows/content/FlowModuleSuspend.svelte +31 -15
  163. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +1 -0
  164. package/components/flows/content/FlowModuleWrapper.svelte +138 -38
  165. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +6 -1
  166. package/components/flows/content/FlowRetries.svelte +13 -2
  167. package/components/flows/content/FlowRetries.svelte.d.ts +1 -0
  168. package/components/flows/content/FlowSchedules.svelte +0 -2
  169. package/components/flows/content/FlowSettings.svelte +103 -72
  170. package/components/flows/flowState.d.ts +8 -8
  171. package/components/flows/flowState.js +32 -17
  172. package/components/flows/flowStateUtils.d.ts +21 -38
  173. package/components/flows/flowStateUtils.js +86 -158
  174. package/components/flows/flowStore.d.ts +3 -2
  175. package/components/flows/flowStore.js +60 -7
  176. package/components/flows/header/FlowImportExportMenu.svelte +12 -22
  177. package/components/flows/header/FlowPreviewButtons.svelte +11 -11
  178. package/components/flows/map/FlowBranchAllMap.svelte +90 -0
  179. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +17 -0
  180. package/components/flows/map/FlowBranchOneMap.svelte +116 -0
  181. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +17 -0
  182. package/components/flows/map/FlowErrorHandlerItem.svelte +14 -11
  183. package/components/flows/map/FlowInputsItem.svelte +19 -0
  184. package/components/flows/map/FlowInputsItem.svelte.d.ts +14 -0
  185. package/components/flows/map/FlowModuleSchemaItem.svelte +53 -36
  186. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  187. package/components/flows/map/FlowModuleSchemaMap.svelte +73 -144
  188. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -3
  189. package/components/flows/map/FlowSettingsItem.svelte +29 -0
  190. package/components/flows/map/FlowSettingsItem.svelte.d.ts +14 -0
  191. package/components/flows/map/InsertModuleButton.svelte +11 -0
  192. package/components/flows/map/InsertModuleButton.svelte.d.ts +16 -0
  193. package/components/flows/map/MapItem.svelte +105 -0
  194. package/components/flows/map/MapItem.svelte.d.ts +22 -0
  195. package/components/flows/pickers/FlowScriptPicker.svelte +14 -4
  196. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  197. package/components/flows/pickers/PickHubScript.svelte +5 -4
  198. package/components/flows/pickers/PickHubScript.svelte.d.ts +1 -0
  199. package/components/flows/pickers/PickScript.svelte +6 -5
  200. package/components/flows/pickers/PickScript.svelte.d.ts +1 -0
  201. package/components/flows/previousResults.d.ts +14 -0
  202. package/components/flows/previousResults.js +118 -0
  203. package/components/flows/propPicker/PropPickerWrapper.svelte +22 -15
  204. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +6 -2
  205. package/components/flows/utils.d.ts +8 -5
  206. package/components/flows/utils.js +86 -56
  207. package/components/graph/FlowGraph.svelte +259 -0
  208. package/components/graph/FlowGraph.svelte.d.ts +20 -0
  209. package/components/graph/index.d.ts +3 -0
  210. package/components/graph/index.js +3 -0
  211. package/components/graph/model.d.ts +20 -0
  212. package/components/graph/model.js +9 -0
  213. package/components/graph/util.d.ts +9 -0
  214. package/components/graph/util.js +14 -0
  215. package/components/icons/WindmillIcon.svelte +85 -52
  216. package/components/icons/WindmillIcon.svelte.d.ts +2 -0
  217. package/components/jobs/JobDetail.svelte +40 -30
  218. package/components/landing/FlowGettingStarted.svelte +4 -3
  219. package/components/landing/FlowLandingBox.svelte +23 -53
  220. package/components/landing/RessourceGettingStarted.svelte +1 -1
  221. package/components/landing/ScriptBox.svelte +25 -27
  222. package/components/landing/ScriptGettingStarted.svelte +4 -3
  223. package/components/preview/FlowPreviewStatus.svelte +1 -1
  224. package/components/progressBar/ProgressBar.svelte +89 -0
  225. package/components/{ProgressBar.svelte.d.ts → progressBar/ProgressBar.svelte.d.ts} +5 -2
  226. package/components/progressBar/ProgressBarGeneralPart.svelte +22 -0
  227. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +19 -0
  228. package/components/progressBar/ProgressBarLoopAccessor.svelte +14 -0
  229. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +19 -0
  230. package/components/progressBar/ProgressBarLoopPart.svelte +34 -0
  231. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +19 -0
  232. package/components/progressBar/index.d.ts +2 -0
  233. package/components/progressBar/index.js +2 -0
  234. package/components/progressBar/model.d.ts +32 -0
  235. package/components/progressBar/model.js +14 -0
  236. package/components/propertyPicker/ObjectViewer.svelte +18 -13
  237. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  238. package/components/propertyPicker/PropPicker.svelte +90 -44
  239. package/components/propertyPicker/PropPicker.svelte.d.ts +4 -1
  240. package/components/propertyPicker/PropPickerResult.svelte +12 -0
  241. package/components/propertyPicker/PropPickerResult.svelte.d.ts +18 -0
  242. package/components/propertyPicker/utils.d.ts +1 -1
  243. package/components/propertyPicker/utils.js +4 -1
  244. package/components/{script_editor → scriptEditor}/LogPanel.svelte +30 -20
  245. package/components/{script_editor → scriptEditor}/LogPanel.svelte.d.ts +0 -0
  246. package/components/scripts/CreateActions.svelte +2 -2
  247. package/components/sidebar/SidebarContent.svelte +1 -1
  248. package/components/sidebar/UserMenu.svelte +17 -1
  249. package/components/sidebar/UserMenu.svelte.d.ts +3 -0
  250. package/components/sidebar/WorkspaceMenu.svelte +16 -14
  251. package/components/splitPanes/SplitPanesWrapper.svelte +34 -0
  252. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +20 -0
  253. package/editorUtils.js +2 -0
  254. package/gen/core/OpenAPI.js +1 -1
  255. package/gen/index.d.ts +8 -1
  256. package/gen/index.js +5 -0
  257. package/gen/models/AppWithLastVersion.d.ts +21 -0
  258. package/gen/models/AppWithLastVersion.js +12 -0
  259. package/gen/models/BranchAll.d.ts +10 -0
  260. package/gen/models/{Branches.js → BranchAll.js} +0 -0
  261. package/gen/models/{Branches.d.ts → BranchOne.d.ts} +3 -5
  262. package/gen/models/BranchOne.js +4 -0
  263. package/gen/models/CompletedJob.d.ts +4 -2
  264. package/gen/models/CompletedJob.js +2 -0
  265. package/gen/models/FlowModule.d.ts +2 -1
  266. package/gen/models/FlowModuleValue.d.ts +4 -2
  267. package/gen/models/FlowStatusModule.d.ts +11 -2
  268. package/gen/models/ForloopFlow.d.ts +1 -0
  269. package/gen/models/Identity.d.ts +3 -0
  270. package/gen/models/Identity.js +4 -0
  271. package/gen/models/ListableApp.d.ts +16 -0
  272. package/gen/models/ListableApp.js +12 -0
  273. package/gen/models/ListableVariable.d.ts +1 -1
  274. package/gen/models/PathScript.d.ts +2 -0
  275. package/gen/models/Policy.d.ts +12 -0
  276. package/gen/models/Policy.js +12 -0
  277. package/gen/models/Preview.d.ts +2 -1
  278. package/gen/models/Preview.js +1 -0
  279. package/gen/models/QueuedJob.d.ts +4 -2
  280. package/gen/models/QueuedJob.js +2 -0
  281. package/gen/models/RawScript.d.ts +4 -1
  282. package/gen/models/RawScript.js +1 -0
  283. package/gen/models/Script.d.ts +4 -2
  284. package/gen/models/Script.js +2 -0
  285. package/gen/services/AppService.d.ts +31 -0
  286. package/gen/services/AppService.js +49 -0
  287. package/gen/services/CaptureService.d.ts +30 -0
  288. package/gen/services/CaptureService.js +52 -0
  289. package/gen/services/FlowService.d.ts +90 -0
  290. package/gen/services/FlowService.js +72 -0
  291. package/gen/services/JobService.d.ts +57 -8
  292. package/gen/services/JobService.js +78 -10
  293. package/gen/services/OauthService.d.ts +6 -15
  294. package/gen/services/OauthService.js +6 -19
  295. package/gen/services/ResourceService.d.ts +10 -1
  296. package/gen/services/ResourceService.js +16 -1
  297. package/gen/services/ScriptService.d.ts +28 -3
  298. package/gen/services/ScriptService.js +27 -0
  299. package/gen/services/UserService.d.ts +14 -6
  300. package/gen/services/UserService.js +25 -11
  301. package/infer.d.ts +1 -1
  302. package/infer.js +35 -18
  303. package/logout.d.ts +1 -1
  304. package/logout.js +7 -9
  305. package/package.json +74 -68
  306. package/script_helpers.d.ts +5 -3
  307. package/script_helpers.js +42 -12
  308. package/scripts.js +9 -4
  309. package/utils.d.ts +8 -9
  310. package/utils.js +42 -81
  311. package/components/AutosizedTextarea.svelte +0 -34
  312. package/components/AutosizedTextarea.svelte.d.ts +0 -19
  313. package/components/ProgressBar.svelte +0 -31
  314. package/components/ProgressBarPart.svelte +0 -20
  315. package/components/ProgressBarPart.svelte.d.ts +0 -20
  316. package/components/Switch.svelte +0 -61
  317. package/components/Switch.svelte.d.ts +0 -31
  318. package/components/flows/content/CopyFirstStepSchema.svelte +0 -13
  319. package/components/flows/content/CopyFirstStepSchema.svelte.d.ts +0 -14
  320. package/components/flows/content/FlowLoopWrapper.svelte +0 -9
  321. package/components/flows/content/FlowLoopWrapper.svelte.d.ts +0 -14
  322. package/components/flows/content/FlowModule.svelte +0 -217
  323. package/components/flows/content/FlowModule.svelte.d.ts +0 -29
  324. package/gen/schemas/$AuditLog.d.ts +0 -32
  325. package/gen/schemas/$AuditLog.js +0 -35
  326. package/gen/schemas/$CompletedJob.d.ts +0 -98
  327. package/gen/schemas/$CompletedJob.js +0 -103
  328. package/gen/schemas/$ContextualVariable.d.ts +0 -16
  329. package/gen/schemas/$ContextualVariable.js +0 -19
  330. package/gen/schemas/$CreateResource.d.ts +0 -22
  331. package/gen/schemas/$CreateResource.js +0 -25
  332. package/gen/schemas/$CreateVariable.d.ts +0 -26
  333. package/gen/schemas/$CreateVariable.js +0 -29
  334. package/gen/schemas/$CreateWorkspace.d.ts +0 -20
  335. package/gen/schemas/$CreateWorkspace.js +0 -23
  336. package/gen/schemas/$EditResource.d.ts +0 -13
  337. package/gen/schemas/$EditResource.js +0 -16
  338. package/gen/schemas/$EditResourceType.d.ts +0 -10
  339. package/gen/schemas/$EditResourceType.js +0 -13
  340. package/gen/schemas/$EditSchedule.d.ts +0 -20
  341. package/gen/schemas/$EditSchedule.js +0 -23
  342. package/gen/schemas/$EditVariable.d.ts +0 -16
  343. package/gen/schemas/$EditVariable.js +0 -19
  344. package/gen/schemas/$EditWorkspaceUser.d.ts +0 -7
  345. package/gen/schemas/$EditWorkspaceUser.js +0 -10
  346. package/gen/schemas/$Flow.d.ts +0 -23
  347. package/gen/schemas/$Flow.js +0 -26
  348. package/gen/schemas/$FlowMetadata.d.ts +0 -31
  349. package/gen/schemas/$FlowMetadata.js +0 -34
  350. package/gen/schemas/$FlowPreview.d.ts +0 -80
  351. package/gen/schemas/$FlowPreview.js +0 -83
  352. package/gen/schemas/$GlobalUserInfo.d.ts +0 -26
  353. package/gen/schemas/$GlobalUserInfo.js +0 -29
  354. package/gen/schemas/$Group.d.ts +0 -23
  355. package/gen/schemas/$Group.js +0 -26
  356. package/gen/schemas/$Job.d.ts +0 -17
  357. package/gen/schemas/$Job.js +0 -20
  358. package/gen/schemas/$ListableVariable.d.ts +0 -35
  359. package/gen/schemas/$ListableVariable.js +0 -38
  360. package/gen/schemas/$Login.d.ts +0 -12
  361. package/gen/schemas/$Login.js +0 -15
  362. package/gen/schemas/$MainArgSignature.d.ts +0 -50
  363. package/gen/schemas/$MainArgSignature.js +0 -53
  364. package/gen/schemas/$NewSchedule.d.ts +0 -30
  365. package/gen/schemas/$NewSchedule.js +0 -33
  366. package/gen/schemas/$NewToken.d.ts +0 -11
  367. package/gen/schemas/$NewToken.js +0 -14
  368. package/gen/schemas/$NewUser.d.ts +0 -16
  369. package/gen/schemas/$NewUser.js +0 -19
  370. package/gen/schemas/$Preview.d.ts +0 -19
  371. package/gen/schemas/$Preview.js +0 -22
  372. package/gen/schemas/$QueuedJob.d.ts +0 -139
  373. package/gen/schemas/$QueuedJob.js +0 -144
  374. package/gen/schemas/$Resource.d.ts +0 -31
  375. package/gen/schemas/$Resource.js +0 -34
  376. package/gen/schemas/$ResourceType.d.ts +0 -17
  377. package/gen/schemas/$ResourceType.js +0 -20
  378. package/gen/schemas/$Schedule.d.ts +0 -47
  379. package/gen/schemas/$Schedule.js +0 -50
  380. package/gen/schemas/$Script.d.ts +0 -77
  381. package/gen/schemas/$Script.js +0 -80
  382. package/gen/schemas/$ScriptArgs.d.ts +0 -6
  383. package/gen/schemas/$ScriptArgs.js +0 -9
  384. package/gen/schemas/$SlackToken.d.ts +0 -24
  385. package/gen/schemas/$SlackToken.js +0 -27
  386. package/gen/schemas/$TokenResponse.d.ts +0 -23
  387. package/gen/schemas/$TokenResponse.js +0 -26
  388. package/gen/schemas/$TruncatedToken.d.ts +0 -25
  389. package/gen/schemas/$TruncatedToken.js +0 -28
  390. package/gen/schemas/$Usage.d.ts +0 -13
  391. package/gen/schemas/$Usage.js +0 -16
  392. package/gen/schemas/$User.d.ts +0 -42
  393. package/gen/schemas/$User.js +0 -45
  394. package/gen/schemas/$UserWorkspaceList.d.ts +0 -28
  395. package/gen/schemas/$UserWorkspaceList.js +0 -31
  396. package/gen/schemas/$WorkerPing.d.ts +0 -31
  397. package/gen/schemas/$WorkerPing.js +0 -34
  398. package/gen/schemas/$Workspace.d.ts +0 -19
  399. package/gen/schemas/$Workspace.js +0 -22
  400. package/gen/schemas/$WorkspaceInvite.d.ts +0 -16
  401. package/gen/schemas/$WorkspaceInvite.js +0 -19
@@ -0,0 +1,65 @@
1
+ <script>import JobStatus from './JobStatus.svelte';
2
+ import Icon from 'svelte-awesome';
3
+ import { displayDaysAgo } from '../utils';
4
+ import { faCalendar, faClock, faRobot, faScroll, faUser, faWind } from '@fortawesome/free-solid-svg-icons';
5
+ export let job;
6
+ const SMALL_ICON_SCALE = 0.7;
7
+ </script>
8
+
9
+ <div class="rounded-md p-3 bg-gray-50 shadow-sm sm:text-sm md:text-base" style="min-height: 150px;">
10
+ <JobStatus {job} />
11
+ <div>
12
+ <Icon class="text-gray-700" data={faClock} scale={SMALL_ICON_SCALE} /><span class="mx-2">
13
+ Created {displayDaysAgo(job.created_at ?? '')}</span
14
+ >
15
+ </div>
16
+ {#if job && 'started_at' in job && job.started_at}
17
+ <div>
18
+ <Icon class="text-gray-700" data={faClock} scale={SMALL_ICON_SCALE} /><span class="mx-2">
19
+ Started {displayDaysAgo(job.started_at ?? '')}</span
20
+ >
21
+ </div>
22
+ {/if}
23
+ <div>
24
+ {#if job && job.parent_job}
25
+ {#if job.is_flow_step}
26
+ <Icon class="text-gray-700" data={faWind} scale={SMALL_ICON_SCALE} /><span class="mx-2">
27
+ Step of flow <a href={`/run/${job.parent_job}`}>{job.parent_job}</a></span
28
+ >
29
+ {:else}
30
+ <Icon class="text-gray-700" data={faRobot} scale={SMALL_ICON_SCALE} /><span class="mx-2">
31
+ Triggered by parent <a href={`/run/${job.parent_job}`}>{job.parent_job}</a></span
32
+ >
33
+ {/if}
34
+ {:else if job && job.schedule_path}
35
+ <Icon class="text-gray-700" data={faCalendar} scale={SMALL_ICON_SCALE} />
36
+ <span
37
+ >Triggered by the schedule: <a
38
+ href={`/schedule/add?edit=${job.schedule_path}&isFlow=${job.job_kind == 'flow'}`}
39
+ >{job.schedule_path}</a
40
+ ></span
41
+ >
42
+ {/if}
43
+
44
+ {#if (job && job.job_kind == 'flow') || job?.job_kind == 'script'}
45
+ {@const stem = `/${job?.job_kind}s`}
46
+ {@const isScript = job?.job_kind === 'script'}
47
+ {@const viewHref = `${stem}/get/${isScript ? job?.script_hash : job?.script_path}`}
48
+ <div>
49
+ <Icon class="text-gray-700" data={faScroll} scale={SMALL_ICON_SCALE} /><span class="mx-2">
50
+ <a href={viewHref}>{isScript ? job?.script_hash : job?.script_path}</a>
51
+ </span>
52
+ </div>
53
+ {/if}
54
+
55
+ <div>
56
+ <Icon class="text-gray-700" data={faUser} scale={SMALL_ICON_SCALE} /><span class="mx-2">
57
+ By {job.created_by}
58
+ {#if job.permissioned_as !== `u/${job.created_by}`}but permissioned as {job.permissioned_as}{/if}
59
+ </span>
60
+ </div>
61
+ </div>
62
+ <div class="text-gray-700 text-2xs pt-2">
63
+ run id: <a href={`/run/${job.id}?workspace=${job.workspace_id}`}>{job.id}</a>
64
+ </div>
65
+ </div>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { Job } from '../gen';
3
+ declare const __propDef: {
4
+ props: {
5
+ job: Job;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export declare type FlowMetadataProps = typeof __propDef.props;
13
+ export declare type FlowMetadataEvents = typeof __propDef.events;
14
+ export declare type FlowMetadataSlots = typeof __propDef.slots;
15
+ export default class FlowMetadata extends SvelteComponentTyped<FlowMetadataProps, FlowMetadataEvents, FlowMetadataSlots> {
16
+ }
17
+ export {};
@@ -53,7 +53,11 @@ let open = {};
53
53
  >
54
54
  {#if open[i]}
55
55
  <div class="border border-black p-2 bg-gray-50 divide-y">
56
- <InputTransformsViewer inputTransforms={mod?.input_transforms} />
56
+ <InputTransformsViewer
57
+ inputTransforms={mod?.value?.input_transforms ??
58
+ mod?.input_transforms ??
59
+ {}}
60
+ />
57
61
  <div class="w-full h-full mt-6">
58
62
  <iframe
59
63
  style="height: 400px;"
@@ -76,7 +80,11 @@ let open = {};
76
80
 
77
81
  {#if open[i]}
78
82
  <div transition:slide class="border border-black p-2 bg-gray-50 w-full">
79
- <InputTransformsViewer inputTransforms={mod?.input_transforms} />
83
+ <InputTransformsViewer
84
+ inputTransforms={mod?.value?.input_transforms ??
85
+ mod?.input_transforms ??
86
+ {}}
87
+ />
80
88
  <HighlightCode
81
89
  language={mod?.value?.language ?? 'deno'}
82
90
  code={mod?.value?.content}
@@ -130,7 +138,9 @@ let open = {};
130
138
  {#if open[modules.length]}
131
139
  <div class="border border-black p-2 bg-gray-50 divide-y">
132
140
  <InputTransformsViewer
133
- inputTransforms={failureModule?.input_transforms}
141
+ inputTransforms={failureModule?.value?.input_transforms ??
142
+ failureModule?.input_transforms ??
143
+ {}}
134
144
  />
135
145
  <div class="w-full h-full mt-6">
136
146
  <iframe
@@ -159,7 +169,11 @@ let open = {};
159
169
 
160
170
  {#if open[modules.length]}
161
171
  <div transition:slide class="border border-black p-2 bg-gray-50 w-full">
162
- <InputTransformsViewer inputTransforms={failureModule?.input_transforms} />
172
+ <InputTransformsViewer
173
+ inputTransforms={failureModule?.value?.input_transforms ??
174
+ failureModule?.input_transforms ??
175
+ {}}
176
+ />
163
177
  <HighlightCode
164
178
  language={failureModule?.value?.language ?? 'deno'}
165
179
  code={failureModule?.value?.content}
@@ -1,86 +1,95 @@
1
- <script>import { JobService } from '../gen';
1
+ <script>import { Job, JobService } from '../gen';
2
2
  import { workspaceStore } from '../stores';
3
3
  import { faClose, faPlay, faRefresh } from '@fortawesome/free-solid-svg-icons';
4
4
  import { Button } from './common';
5
- import { createEventDispatcher, getContext, onDestroy } from 'svelte';
5
+ import { createEventDispatcher, getContext } from 'svelte';
6
6
  import Icon from 'svelte-awesome';
7
- import { flowStateStore } from './flows/flowState';
8
- import { mapJobResultsToFlowState } from './flows/flowStateUtils';
9
- import { flowStore } from './flows/flowStore';
10
- import { runFlowPreview, selectedIdToIndexes } from './flows/utils';
7
+ import { dfs, flowStore } from './flows/flowStore';
8
+ import { runFlowPreview } from './flows/utils';
11
9
  import SchemaForm from './SchemaForm.svelte';
12
10
  import FlowStatusViewer from '../components/FlowStatusViewer.svelte';
11
+ import FlowProgressBar from './flows/FlowProgressBar.svelte';
12
+ import { flowStateStore } from './flows/flowState';
13
+ import CapturePayload from './flows/content/CapturePayload.svelte';
14
+ let capturePayload;
13
15
  export let previewMode;
16
+ export let open;
14
17
  let jobId = undefined;
18
+ let job = undefined;
15
19
  let isValid = false;
16
20
  let isRunning = false;
21
+ let jobProgressReset;
17
22
  const { selectedId, previewArgs } = getContext('FlowEditorContext');
23
+ const dispatch = createEventDispatcher();
24
+ function sliceModules(modules, upTo, idOrders) {
25
+ return modules
26
+ .filter((x) => idOrders.indexOf(x.id) <= upTo)
27
+ .map((m) => {
28
+ if (m.value.type === 'forloopflow') {
29
+ m.value.modules = sliceModules(m.value.modules, upTo, idOrders);
30
+ }
31
+ else if (m.value.type === 'branchone') {
32
+ m.value.branches = m.value.branches.map((b) => {
33
+ b.modules = sliceModules(b.modules, upTo, idOrders);
34
+ return b;
35
+ });
36
+ m.value.default = sliceModules(m.value.default, upTo, idOrders);
37
+ }
38
+ else if (m.value.type === 'branchall') {
39
+ m.value.branches = m.value.branches.map((b) => {
40
+ b.modules = sliceModules(b.modules, upTo, idOrders);
41
+ return b;
42
+ });
43
+ }
44
+ return m;
45
+ });
46
+ }
18
47
  function extractFlow(previewMode) {
19
48
  if (previewMode === 'whole') {
20
49
  return $flowStore;
21
50
  }
22
51
  else {
23
- let [parentIndex, childIndex] = selectedIdToIndexes($selectedId);
24
52
  const flow = JSON.parse(JSON.stringify($flowStore));
25
- const modules = flow.value.modules.slice(0, Number(parentIndex) + 1);
26
- flow.value.modules = modules;
27
- if (childIndex != undefined) {
28
- const lastModule = modules[modules.length - 1].value;
29
- if (lastModule.type === 'forloopflow') {
30
- lastModule.modules = lastModule.modules.slice(0, Number(childIndex) + 1);
31
- }
32
- else {
33
- throw Error('Excepted forloopflow module');
34
- }
53
+ const idOrders = dfs(flow.value.modules);
54
+ let upToIndex = idOrders.indexOf($selectedId);
55
+ if (upToIndex != -1) {
56
+ flow.value.modules = sliceModules(flow.value.modules, upToIndex, idOrders);
35
57
  }
36
58
  return flow;
37
59
  }
38
60
  }
39
- const dispatch = createEventDispatcher();
40
61
  export async function runPreview(args) {
62
+ jobProgressReset();
41
63
  const newFlow = extractFlow(previewMode);
42
64
  jobId = await runFlowPreview(args, newFlow);
43
65
  isRunning = true;
44
66
  }
45
67
  function onKeyDown(event) {
46
- switch (event.key) {
47
- case 'Enter':
48
- if (event.ctrlKey) {
49
- event.preventDefault();
50
- runPreview($previewArgs);
51
- }
52
- break;
53
- case 'Escape':
54
- dispatch('close');
55
- break;
68
+ if (open) {
69
+ switch (event.key) {
70
+ case 'Enter':
71
+ if (event.ctrlKey) {
72
+ event.preventDefault();
73
+ runPreview($previewArgs);
74
+ }
75
+ break;
76
+ }
56
77
  }
57
78
  }
58
- function onJobsLoaded(jobResult) {
59
- if (jobResult.job?.type === 'CompletedJob') {
79
+ function onJobsLoaded(newJob) {
80
+ job = newJob;
81
+ if (job?.type === 'CompletedJob') {
60
82
  isRunning = false;
61
83
  }
62
- const upToIndex = previewMode === 'upTo'
63
- ? selectedIdToIndexes($selectedId)[0] + 1
64
- : $flowStateStore.modules.length;
65
- mapJobResultsToFlowState(jobResult, upToIndex);
66
84
  }
67
85
  </script>
68
86
 
69
- <svelte:window on:keydown={onKeyDown} />
87
+ <CapturePayload bind:this={capturePayload} />
70
88
 
71
- <div class="flex divide-y flex-col space-y-2 h-screen bg-white p-6 w-full">
72
- <div class="flex justify-between">
73
- <div class="flex flex-row justify-center items-center ">
74
- <div class="flex justify-center p-2 w-8 h-8 bg-blue-200 rounded-lg mr-2 ">
75
- <Icon data={faPlay} scale={1} class="text-blue-500" />
76
- </div>
89
+ <svelte:window on:keydown={onKeyDown} />
77
90
 
78
- <h3 class="text-lg leading-6 font-bold text-gray-900">
79
- Test preview - {previewMode === 'upTo'
80
- ? `up to step ${$selectedId.split('-').join(',')}`
81
- : ' whole flow'}
82
- </h3>
83
- </div>
91
+ <div class="flex divide-y flex-col space-y-2 h-screen bg-white px-6 py-2 w-full">
92
+ <div class="flex flex-row justify-between w-full items-center gap-x-1">
84
93
  <Button
85
94
  variant="border"
86
95
  size="lg"
@@ -92,6 +101,30 @@ function onJobsLoaded(jobResult) {
92
101
  >
93
102
  <Icon data={faClose} />
94
103
  </Button>
104
+
105
+ <div class="flex flex-row justify-center items-center">
106
+ <div class="flex justify-center p-2 w-8 h-8 bg-blue-200 rounded-lg mr-2 ">
107
+ <Icon data={faPlay} scale={1} class="text-blue-500" />
108
+ </div>
109
+
110
+ <h3
111
+ class="text-lg leading-6 font-bold text-gray-900 inline-flex flex-row justify-between w-full"
112
+ >
113
+ <div>
114
+ Test {previewMode === 'upTo'
115
+ ? `up to step ${$selectedId.split('-').join(',')}`
116
+ : ' whole flow'}
117
+ </div>
118
+ </h3>
119
+ </div>
120
+ <Button
121
+ btnClasses="ml-2"
122
+ size="sm"
123
+ variant="border"
124
+ on:click={() => {
125
+ capturePayload.openDrawer()
126
+ }}>Fill test args from payload</Button
127
+ >
95
128
  </div>
96
129
  <div class="grow pb-8 max-h-1/2 overflow-auto">
97
130
  <SchemaForm
@@ -125,7 +158,6 @@ function onJobsLoaded(jobResult) {
125
158
  <Button
126
159
  variant="contained"
127
160
  endIcon={{ icon: isRunning ? faRefresh : faPlay }}
128
- size="lg"
129
161
  color="blue"
130
162
  btnClasses="w-full"
131
163
  disabled={!isValid}
@@ -135,9 +167,15 @@ function onJobsLoaded(jobResult) {
135
167
  </Button>
136
168
  {/if}
137
169
 
138
- <div class="h-full overflow-y-auto mb-16 grow">
170
+ <FlowProgressBar {job} bind:reset={jobProgressReset} class="py-4" />
171
+
172
+ <div class="h-full overflow-y-auto mb-16 pt-4 grow">
139
173
  {#if jobId}
140
- <FlowStatusViewer {jobId} on:jobsLoaded={(e) => onJobsLoaded(e.detail)} />
174
+ <FlowStatusViewer
175
+ bind:flowState={$flowStateStore}
176
+ {jobId}
177
+ on:jobsLoaded={({ detail }) => onJobsLoaded(detail)}
178
+ />
141
179
  {/if}
142
180
  </div>
143
181
  </div>
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  previewMode: 'upTo' | 'whole';
5
+ open: boolean;
5
6
  runPreview?: ((args: Record<string, any>) => Promise<void>) | undefined;
6
7
  };
7
8
  events: {
@@ -1,77 +1,100 @@
1
- <script>import { FlowStatusModule, JobService } from '../gen';
1
+ <script>import { FlowStatusModule, Job, JobService } from '../gen';
2
2
  import { workspaceStore } from '../stores';
3
3
  import FlowJobResult from './FlowJobResult.svelte';
4
4
  import FlowPreviewStatus from './preview/FlowPreviewStatus.svelte';
5
- import { Button } from 'flowbite-svelte';
6
5
  import Icon from 'svelte-awesome';
7
- import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
6
+ import { faChevronDown, faChevronUp, faHourglassHalf } from '@fortawesome/free-solid-svg-icons';
8
7
  import { createEventDispatcher } from 'svelte';
9
8
  import { onDestroy } from 'svelte';
9
+ import { Button } from './common';
10
+ import DisplayResult from './DisplayResult.svelte';
10
11
  const dispatch = createEventDispatcher();
11
12
  export let jobId;
12
- export let forloopJobIds = undefined;
13
- export let jobResult = {
14
- job: undefined,
15
- innerJobs: [],
16
- loopJobs: []
17
- };
13
+ export let flowState = undefined;
14
+ export let flowJobIds = undefined;
15
+ export let job = undefined;
16
+ let jobResults = [];
18
17
  let forloop_selected = '';
19
18
  let timeout;
20
- $: innerModules = jobResult?.job?.flow_status?.modules ?? [];
21
- async function loadJobInProgress() {
22
- const job = await JobService.getJob({
23
- workspace: $workspaceStore ?? '',
24
- id: jobId ?? ''
25
- });
26
- if (jobResult) {
27
- jobResult.job = job;
28
- jobResult = jobResult;
19
+ let lastSize = 0;
20
+ $: {
21
+ let len = (flowJobIds?.flowJobs ?? []).length;
22
+ if (len != lastSize) {
23
+ forloop_selected = flowJobIds?.flowJobs[len - 1] ?? '';
24
+ lastSize = len;
29
25
  }
30
- else {
31
- jobResult = {
32
- job: job,
33
- innerJobs: [],
34
- loopJobs: []
35
- };
26
+ }
27
+ $: innerModules =
28
+ job?.flow_status?.modules
29
+ .filter((x) => x.job != jobId)
30
+ .concat(job?.flow_status.failure_module.type != 'WaitingForPriorSteps'
31
+ ? job?.flow_status.failure_module
32
+ : []) ?? [];
33
+ let errorCount = 0;
34
+ async function loadJobInProgress() {
35
+ if (jobId != '00000000-0000-0000-0000-000000000000') {
36
+ try {
37
+ job = await JobService.getJob({
38
+ workspace: $workspaceStore ?? '',
39
+ id: jobId ?? ''
40
+ });
41
+ errorCount = 0;
42
+ }
43
+ catch (e) {
44
+ errorCount += 1;
45
+ console.error(e);
46
+ }
36
47
  }
37
- if (job?.type !== 'CompletedJob') {
48
+ if (job?.type !== 'CompletedJob' && errorCount < 4) {
38
49
  timeout = setTimeout(() => loadJobInProgress(), 500);
39
50
  }
40
51
  }
41
- $: jobResult && dispatch('jobsLoaded', jobResult);
52
+ $: job && dispatch('jobsLoaded', job);
42
53
  function updateJobId() {
43
- if (jobId !== jobResult?.job?.id) {
54
+ if (jobId !== job?.id) {
44
55
  loadJobInProgress();
45
56
  }
46
57
  }
47
58
  $: jobId && updateJobId();
59
+ $: isListJob = flowJobIds && Array.isArray(flowJobIds?.flowJobs);
48
60
  onDestroy(() => {
49
61
  timeout && clearTimeout(timeout);
50
62
  });
51
63
  </script>
52
64
 
53
- {#if jobResult?.job}
54
- <div class="flow-root w-full space-y-4">
65
+ {#if job}
66
+ <div class="flow-root w-full space-y-4 ">
55
67
  {#if innerModules.length > 0}
56
68
  <h3 class="text-md leading-6 font-bold text-gray-900 border-b pb-2">Flow result</h3>
57
69
  {/if}
58
- <FlowPreviewStatus job={jobResult.job} />
59
- {#if `result` in jobResult.job}
60
- <FlowJobResult job={jobResult.job} />
61
- {:else if jobResult.job.logs}
62
- <div class="text-xs p-4 bg-gray-50 overflow-auto max-h-80 border">
63
- <pre class="w-full">{jobResult.job.logs}</pre>
70
+ {#if isListJob}
71
+ <div class="w-full h-full border border-gray-600 bg-white p-1">
72
+ <DisplayResult result={jobResults} />
73
+ </div>
74
+ {:else}
75
+ <div class={innerModules.length > 0 ? 'border border-gray-400 shadow p-2' : ''}>
76
+ <FlowPreviewStatus {job} />
77
+ {#if `result` in job}
78
+ <div class="w-full h-full">
79
+ <FlowJobResult result={job.result} logs={job.logs ?? ''} />
80
+ </div>
81
+ {:else if job.logs}
82
+ <div class="text-xs p-4 bg-gray-50 overflow-auto max-h-80 border">
83
+ <pre class="w-full">{job.logs}</pre>
84
+ </div>
85
+ {/if}
64
86
  </div>
65
87
  {/if}
66
88
 
67
- {#if Array.isArray(forloopJobIds) && forloopJobIds?.length > 0 && Array.isArray(jobResult.loopJobs)}
68
- <h3 class="text-md leading-6 font-bold text-gray-900 border-b mb-4">
69
- Loop results ({forloopJobIds.length} items)
89
+ {#if isListJob}
90
+ <h3 class="text-md leading-6 font-bold text-gray-600 border-b mb-4">
91
+ Embedded flows: ({flowJobIds?.flowJobs.length} items)
70
92
  </h3>
71
- {#each forloopJobIds as loopJobId, j}
93
+ {#each flowJobIds?.flowJobs ?? [] as loopJobId, j}
72
94
  <Button
73
- color={forloop_selected == loopJobId ? 'dark' : 'light'}
74
- class="flex justify-between w-full"
95
+ variant={forloop_selected === loopJobId ? 'contained' : 'border'}
96
+ color={forloop_selected === loopJobId ? 'dark' : 'light'}
97
+ btnClasses="w-full flex justify-start"
75
98
  on:click={() => {
76
99
  if (forloop_selected == loopJobId) {
77
100
  forloop_selected = ''
@@ -80,7 +103,9 @@ onDestroy(() => {
80
103
  }
81
104
  }}
82
105
  >
83
- Iteration: #{j}: {loopJobId}
106
+ <span class="truncate">
107
+ #{j + 1}: {loopJobId}
108
+ </span>
84
109
 
85
110
  <Icon
86
111
  class="ml-2"
@@ -90,10 +115,22 @@ onDestroy(() => {
90
115
  </Button>
91
116
  <div class="border p-6" class:hidden={forloop_selected != loopJobId}>
92
117
  <svelte:self
118
+ {flowState}
93
119
  jobId={loopJobId}
94
- bind:jobResult={jobResult.loopJobs[j]}
95
120
  on:jobsLoaded={(e) => {
96
- jobResult = jobResult
121
+ if (flowJobIds?.moduleId) {
122
+ if (flowState) {
123
+ if (
124
+ !flowState[flowJobIds.moduleId].previewResult ||
125
+ !Array.isArray(flowState[flowJobIds.moduleId]?.previewResult)
126
+ ) {
127
+ flowState[flowJobIds.moduleId].previewResult = []
128
+ }
129
+ flowState[flowJobIds.moduleId].previewResult[j] = e.detail.result
130
+ flowState[flowJobIds.moduleId].previewArgs = e.detail.args
131
+ jobResults[j] = e.detail.result == null ? 'Job in progress ...' : e.detail.result
132
+ }
133
+ }
97
134
  }}
98
135
  />
99
136
  </div>
@@ -105,38 +142,57 @@ onDestroy(() => {
105
142
  </h3>
106
143
 
107
144
  {#each innerModules as mod, i}
108
- <p class="text-gray-500 mb-2 w-full ">
109
- {#if jobResult.job?.raw_flow?.modules && i < jobResult.job?.raw_flow?.modules.length}
145
+ <div class="line w-8 h-10" />
146
+ <h3 class="text-gray-500 mb-2 w-full">
147
+ {#if job?.raw_flow?.modules && i < job?.raw_flow?.modules.length}
110
148
  Step
111
149
  <span class="font-medium text-gray-900">
112
150
  {i + 1}
113
151
  </span>
114
152
  out of
115
- <span class="font-medium text-gray-900"
116
- >{jobResult.job?.raw_flow?.modules.length}</span
117
- >
118
- {#if jobResult.job.raw_flow?.modules[i]?.summary}
119
- : <span class="font-medium text-gray-900"
120
- >{jobResult.job.raw_flow?.modules[i]?.summary ?? ''}</span
121
- >
153
+ <span class="font-medium text-gray-900">{job?.raw_flow?.modules.length}</span>
154
+ {#if job.raw_flow?.modules[i]?.summary}
155
+ : <span class="font-medium text-gray-900">
156
+ {job.raw_flow?.modules[i]?.summary ?? ''}
157
+ </span>
122
158
  {/if}
123
159
  {:else}
124
- <span class="font-medium text-gray-900"> Failure module </span>
160
+ <h3>Failure module</h3>
125
161
  {/if}
126
- </p>
127
-
128
- <li class="w-full border p-6 space-y-2">
162
+ </h3>
163
+ <div class="line w-8 h-10" />
164
+ <li class="w-full border border-gray-600 p-6 space-y-2 bg-blue-50/50">
129
165
  {#if [FlowStatusModule.type.IN_PROGRESS, FlowStatusModule.type.SUCCESS, FlowStatusModule.type.FAILURE].includes(mod.type)}
130
166
  <svelte:self
167
+ {flowState}
131
168
  jobId={mod.job}
132
- bind:jobResult={jobResult.innerJobs[i]}
133
- forloopJobIds={mod.forloop_jobs}
169
+ flowJobIds={mod.flow_jobs
170
+ ? {
171
+ moduleId: mod.id,
172
+ flowJobs: mod.flow_jobs
173
+ }
174
+ : undefined}
134
175
  on:jobsLoaded={(e) => {
135
- jobResult = jobResult
176
+ if (mod.id && (mod.flow_jobs ?? []).length == 0) {
177
+ if (flowState && flowState[mod.id]) {
178
+ flowState[mod.id].previewResult = e.detail.result
179
+ flowState[mod.id].previewArgs = e.detail.args
180
+ }
181
+ }
136
182
  }}
137
183
  />
138
184
  {:else}
139
- <span>{mod.type}</span>
185
+ <span class="italic text-gray-600">
186
+ <Icon data={faHourglassHalf} class="mr-2" />
187
+
188
+ {#if mod.type == FlowStatusModule.type.WAITING_FOR_EVENT}
189
+ Waiting to be resumed by receivent events such as approvals
190
+ {:else if mod.type == FlowStatusModule.type.WAITING_FOR_PRIOR_STEPS}
191
+ Waiting for prior steps to complete
192
+ {:else if mod.type == FlowStatusModule.type.WAITING_FOR_EXECUTOR}
193
+ Job is ready to be executed and will be picked up by the next available worker
194
+ {/if}
195
+ </span>
140
196
  {/if}
141
197
  </li>
142
198
  {/each}
@@ -146,3 +202,9 @@ onDestroy(() => {
146
202
  {:else}
147
203
  Job loading...
148
204
  {/if}
205
+
206
+ <style>
207
+ .line {
208
+ background: repeating-linear-gradient(to bottom, transparent 0 4px, #bbb 4px 8px) 50%/1px 100%
209
+ no-repeat;
210
+ }</style>
@@ -1,10 +1,15 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { JobResult } from './flows/flowStateUtils';
2
+ import { Job } from '../gen';
3
+ import type { FlowState } from './flows/flowState';
3
4
  declare const __propDef: {
4
5
  props: {
5
6
  jobId: string;
6
- forloopJobIds?: string[] | undefined;
7
- jobResult?: JobResult | undefined;
7
+ flowState?: FlowState | undefined;
8
+ flowJobIds?: {
9
+ moduleId: string;
10
+ flowJobs: string[];
11
+ } | undefined;
12
+ job?: Job | undefined;
8
13
  };
9
14
  events: {
10
15
  jobsLoaded: CustomEvent<any>;