windmill-components 1.46.3 → 1.52.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 (496) hide show
  1. package/common.d.ts +6 -5
  2. package/components/ApiConnectForm.svelte +21 -0
  3. package/components/ApiConnectForm.svelte.d.ts +18 -0
  4. package/components/AppConnect.svelte +229 -174
  5. package/components/AppConnect.svelte.d.ts +4 -3
  6. package/components/ArgInfo.svelte +2 -2
  7. package/components/ArgInfo.svelte.d.ts +3 -3
  8. package/components/ArgInput.svelte +82 -28
  9. package/components/ArgInput.svelte.d.ts +10 -3
  10. package/components/Badge.svelte.d.ts +3 -3
  11. package/components/Button.svelte +1 -1
  12. package/components/Button.svelte.d.ts +3 -3
  13. package/components/ButtonAndDropdown.svelte.d.ts +3 -3
  14. package/components/CenteredModal.svelte +20 -13
  15. package/components/CenteredModal.svelte.d.ts +3 -3
  16. package/components/ChevronButton.svelte.d.ts +3 -3
  17. package/components/CollapseLink.svelte.d.ts +3 -3
  18. package/components/CronInput.svelte +1 -1
  19. package/components/CronInput.svelte.d.ts +3 -3
  20. package/components/DisplayResult.svelte.d.ts +3 -3
  21. package/components/Dropdown.svelte +13 -7
  22. package/components/Dropdown.svelte.d.ts +3 -3
  23. package/components/Editor.svelte +3 -2
  24. package/components/Editor.svelte.d.ts +4 -3
  25. package/components/EditorBar.svelte +34 -38
  26. package/components/EditorBar.svelte.d.ts +3 -3
  27. package/components/FieldHeader.svelte +4 -3
  28. package/components/FieldHeader.svelte.d.ts +3 -3
  29. package/components/FlowBuilder.svelte +37 -14
  30. package/components/FlowBuilder.svelte.d.ts +4 -3
  31. package/components/FlowGraphViewer.svelte +76 -0
  32. package/components/FlowGraphViewer.svelte.d.ts +23 -0
  33. package/components/FlowJobResult.svelte.d.ts +3 -3
  34. package/components/FlowMetadata.svelte.d.ts +3 -3
  35. package/components/FlowPreviewContent.svelte +54 -64
  36. package/components/FlowPreviewContent.svelte.d.ts +3 -3
  37. package/components/FlowStatusViewer.svelte +156 -106
  38. package/components/FlowStatusViewer.svelte.d.ts +5 -4
  39. package/components/FlowViewer.svelte +3 -78
  40. package/components/FlowViewer.svelte.d.ts +3 -3
  41. package/components/GroupModal.svelte.d.ts +3 -3
  42. package/components/HighlightCode.svelte.d.ts +3 -3
  43. package/components/IconedPath.svelte.d.ts +3 -3
  44. package/components/IconedResourceType.svelte +3 -61
  45. package/components/IconedResourceType.svelte.d.ts +3 -3
  46. package/components/InputTransformForm.svelte +108 -77
  47. package/components/InputTransformForm.svelte.d.ts +10 -5
  48. package/components/InputTransformsViewer.svelte.d.ts +3 -3
  49. package/components/InviteGlobalUser.svelte.d.ts +3 -3
  50. package/components/InviteUser.svelte.d.ts +3 -3
  51. package/components/ItemPicker.svelte +77 -29
  52. package/components/ItemPicker.svelte.d.ts +6 -4
  53. package/components/JobArgs.svelte +5 -5
  54. package/components/JobArgs.svelte.d.ts +3 -3
  55. package/components/JobStatus.svelte.d.ts +3 -3
  56. package/components/LogViewer.svelte +19 -4
  57. package/components/LogViewer.svelte.d.ts +3 -3
  58. package/components/Modal.svelte.d.ts +3 -3
  59. package/components/ModulePreview.svelte +8 -0
  60. package/components/ModulePreview.svelte.d.ts +3 -3
  61. package/components/ObjectResourceInput.svelte +37 -21
  62. package/components/ObjectResourceInput.svelte.d.ts +4 -3
  63. package/components/ObjectTypeNarrowing.svelte.d.ts +3 -3
  64. package/components/PageHeader.svelte +2 -2
  65. package/components/PageHeader.svelte.d.ts +3 -3
  66. package/components/Password.svelte +2 -2
  67. package/components/Password.svelte.d.ts +4 -4
  68. package/components/Path.svelte +4 -1
  69. package/components/Path.svelte.d.ts +5 -4
  70. package/components/Popover.svelte.d.ts +3 -3
  71. package/components/RadioButton.svelte.d.ts +3 -3
  72. package/components/Required.svelte.d.ts +3 -3
  73. package/components/ResourceEditor.svelte +73 -163
  74. package/components/ResourceEditor.svelte.d.ts +3 -5
  75. package/components/ResourcePicker.svelte +33 -30
  76. package/components/ResourcePicker.svelte.d.ts +3 -3
  77. package/components/ResourceTypePicker.svelte.d.ts +3 -3
  78. package/components/RunChart.svelte.d.ts +3 -3
  79. package/components/RunForm.svelte.d.ts +3 -3
  80. package/components/SchemaEditor.svelte +55 -23
  81. package/components/SchemaEditor.svelte.d.ts +3 -3
  82. package/components/SchemaEditorProperty.svelte.d.ts +3 -3
  83. package/components/SchemaForm.svelte +97 -33
  84. package/components/SchemaForm.svelte.d.ts +8 -4
  85. package/components/SchemaModal.svelte.d.ts +4 -4
  86. package/components/SchemaViewer.svelte.d.ts +3 -3
  87. package/components/ScriptBuilder.svelte +64 -66
  88. package/components/ScriptBuilder.svelte.d.ts +3 -3
  89. package/components/ScriptEditor.svelte +26 -28
  90. package/components/ScriptEditor.svelte.d.ts +4 -3
  91. package/components/ScriptPicker.svelte +28 -38
  92. package/components/ScriptPicker.svelte.d.ts +4 -3
  93. package/components/ScriptSchema.svelte +1 -1
  94. package/components/ScriptSchema.svelte.d.ts +3 -3
  95. package/components/SearchItems.svelte +29 -0
  96. package/components/SearchItems.svelte.d.ts +23 -0
  97. package/components/ShareModal.svelte.d.ts +3 -3
  98. package/components/SharedBadge.svelte +4 -2
  99. package/components/SharedBadge.svelte.d.ts +3 -3
  100. package/components/SimpleEditor.svelte +33 -7
  101. package/components/SimpleEditor.svelte.d.ts +4 -4
  102. package/components/Star.svelte +42 -0
  103. package/components/Star.svelte.d.ts +19 -0
  104. package/components/StringTypeNarrowing.svelte.d.ts +3 -3
  105. package/components/SuperadminSettings.svelte +18 -15
  106. package/components/SuperadminSettings.svelte.d.ts +3 -3
  107. package/components/TableCustom.svelte +1 -1
  108. package/components/TableCustom.svelte.d.ts +3 -3
  109. package/components/TableSimple.svelte.d.ts +3 -3
  110. package/components/TestJobLoader.svelte +41 -24
  111. package/components/TestJobLoader.svelte.d.ts +9 -3
  112. package/components/Toggle.svelte.d.ts +3 -3
  113. package/components/Tooltip.svelte.d.ts +3 -3
  114. package/components/UserSettings.svelte.d.ts +3 -3
  115. package/components/VariableEditor.svelte +71 -32
  116. package/components/VariableEditor.svelte.d.ts +5 -3
  117. package/components/apps/CreateApp.svelte +65 -0
  118. package/components/apps/CreateApp.svelte.d.ts +14 -0
  119. package/components/apps/components/DisplayComponent.svelte +23 -0
  120. package/components/apps/components/DisplayComponent.svelte.d.ts +19 -0
  121. package/components/apps/components/buttons/AppButton.svelte +42 -0
  122. package/components/apps/components/buttons/AppButton.svelte.d.ts +25 -0
  123. package/components/apps/components/dataDisplay/AppBarChart.svelte +18 -0
  124. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +23 -0
  125. package/components/apps/components/dataDisplay/AppPieChart.svelte +22 -0
  126. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +23 -0
  127. package/components/apps/components/dataDisplay/AppTable.svelte +135 -0
  128. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +27 -0
  129. package/components/apps/components/dataDisplay/AppText.svelte +15 -0
  130. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +21 -0
  131. package/components/apps/components/helpers/AlignWrapper.svelte +29 -0
  132. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +19 -0
  133. package/components/apps/components/helpers/DebouncedInput.svelte +16 -0
  134. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +19 -0
  135. package/components/apps/components/helpers/InputValue.svelte +37 -0
  136. package/components/apps/components/helpers/InputValue.svelte.d.ts +18 -0
  137. package/components/apps/components/helpers/RunnableComponent.svelte +182 -0
  138. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +28 -0
  139. package/components/apps/components/index.d.ts +22 -0
  140. package/components/apps/components/index.js +42 -0
  141. package/components/apps/components/selectInputs/AppCheckbox.svelte +26 -0
  142. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +22 -0
  143. package/components/apps/editor/AppEditor.svelte +105 -0
  144. package/components/apps/editor/AppEditor.svelte.d.ts +19 -0
  145. package/components/apps/editor/AppEditorHeader.svelte +75 -0
  146. package/components/apps/editor/AppEditorHeader.svelte.d.ts +19 -0
  147. package/components/apps/editor/ComponentEditor.svelte +64 -0
  148. package/components/apps/editor/ComponentEditor.svelte.d.ts +18 -0
  149. package/components/apps/editor/GridEditor.svelte +45 -0
  150. package/components/apps/editor/GridEditor.svelte.d.ts +14 -0
  151. package/components/apps/editor/componentsPanel/ComponentList.svelte +92 -0
  152. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +14 -0
  153. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +7 -0
  154. package/components/apps/editor/componentsPanel/componentDefaultProps.js +9 -0
  155. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -0
  156. package/components/apps/editor/componentsPanel/componentStaticValues.js +6 -0
  157. package/components/apps/editor/componentsPanel/data.d.ts +3 -0
  158. package/components/apps/editor/componentsPanel/data.js +158 -0
  159. package/components/apps/editor/componentsPanel/store.d.ts +9 -0
  160. package/components/apps/editor/componentsPanel/store.js +16 -0
  161. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +22 -0
  162. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +19 -0
  163. package/components/apps/editor/contextPanel/ContextPanel.svelte +184 -0
  164. package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +16 -0
  165. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +29 -0
  166. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +16 -0
  167. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +196 -0
  168. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +18 -0
  169. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +64 -0
  170. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +17 -0
  171. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +11 -0
  172. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -0
  173. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +99 -0
  174. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +20 -0
  175. package/components/apps/editor/settingsPanel/PickFlow.svelte +37 -0
  176. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +16 -0
  177. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +38 -0
  178. package/components/apps/editor/settingsPanel/PickInlineScript.svelte.d.ts +20 -0
  179. package/components/apps/editor/settingsPanel/SectionPanel.svelte +70 -0
  180. package/components/apps/editor/settingsPanel/SectionPanel.svelte.d.ts +19 -0
  181. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +29 -0
  182. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +18 -0
  183. package/components/apps/editor/settingsPanel/TableActions.svelte +107 -0
  184. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +19 -0
  185. package/components/apps/editor/settingsPanel/UserInputEditor.svelte +2 -0
  186. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +14 -0
  187. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +11 -0
  188. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +19 -0
  189. package/components/apps/gridUtils.d.ts +11 -0
  190. package/components/apps/gridUtils.js +24 -0
  191. package/components/apps/rx.d.ts +27 -0
  192. package/components/apps/rx.js +87 -0
  193. package/components/apps/types.d.ts +120 -0
  194. package/components/apps/types.js +1 -0
  195. package/components/apps/utils.d.ts +36 -0
  196. package/components/apps/utils.js +96 -0
  197. package/components/common/actionRow/ActionRow.svelte.d.ts +3 -3
  198. package/components/common/alert/Alert.svelte +29 -7
  199. package/components/common/alert/Alert.svelte.d.ts +4 -3
  200. package/components/common/alert/model.d.ts +1 -1
  201. package/components/common/badge/Badge.svelte +3 -7
  202. package/components/common/badge/Badge.svelte.d.ts +6 -4
  203. package/components/common/badge/model.d.ts +2 -2
  204. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +3 -3
  205. package/components/common/button/Button.svelte +24 -6
  206. package/components/common/button/Button.svelte.d.ts +6 -4
  207. package/components/common/button/ButtonPopup.svelte +3 -1
  208. package/components/common/button/ButtonPopup.svelte.d.ts +5 -4
  209. package/components/common/button/ButtonPopupItem.svelte.d.ts +3 -3
  210. package/components/common/button/model.d.ts +2 -1
  211. package/components/common/button/model.js +2 -1
  212. package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +3 -3
  213. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +3 -3
  214. package/components/common/drawer/Drawer.svelte +5 -1
  215. package/components/common/drawer/Drawer.svelte.d.ts +3 -3
  216. package/components/common/drawer/DrawerContent.svelte +11 -3
  217. package/components/common/drawer/DrawerContent.svelte.d.ts +5 -3
  218. package/components/common/languageIcons/LanguageIcon.svelte +6 -4
  219. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +4 -4
  220. package/components/common/menu/Menu.svelte +7 -5
  221. package/components/common/menu/Menu.svelte.d.ts +7 -6
  222. package/components/common/menu/MenuItem.svelte +1 -0
  223. package/components/common/popup/Popup.svelte.d.ts +3 -3
  224. package/components/common/skeleton/Skeleton.svelte.d.ts +3 -3
  225. package/components/common/skeleton/SkeletonElement.svelte.d.ts +3 -3
  226. package/components/common/skeleton/model.d.ts +4 -4
  227. package/components/common/table/AppRow.svelte +61 -0
  228. package/components/common/table/AppRow.svelte.d.ts +23 -0
  229. package/components/common/table/FlowRow.svelte +136 -0
  230. package/components/common/table/FlowRow.svelte.d.ts +25 -0
  231. package/components/common/table/LanguageBadge.svelte +32 -0
  232. package/components/common/table/LanguageBadge.svelte.d.ts +24 -0
  233. package/components/common/table/Row.svelte +47 -0
  234. package/components/common/table/Row.svelte.d.ts +27 -0
  235. package/components/common/table/RowIcon.svelte +23 -0
  236. package/components/common/table/RowIcon.svelte.d.ts +16 -0
  237. package/components/common/table/ScriptRow.svelte +147 -0
  238. package/components/common/table/ScriptRow.svelte.d.ts +25 -0
  239. package/components/common/table/Table.svelte +9 -0
  240. package/components/common/table/Table.svelte.d.ts +23 -0
  241. package/components/common/tabs/Tab.svelte +15 -4
  242. package/components/common/tabs/Tab.svelte.d.ts +5 -3
  243. package/components/common/tabs/TabContent.svelte.d.ts +3 -3
  244. package/components/common/tabs/Tabs.svelte +5 -1
  245. package/components/common/tabs/Tabs.svelte.d.ts +4 -4
  246. package/components/common/toggleButton/ToggleButton.svelte +12 -9
  247. package/components/common/toggleButton/ToggleButton.svelte.d.ts +6 -4
  248. package/components/common/toggleButton/ToggleButtonGroup.svelte +12 -19
  249. package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +10 -8
  250. package/components/flows/CreateActionsFlow.svelte +66 -0
  251. package/components/flows/CreateActionsFlow.svelte.d.ts +14 -0
  252. package/components/flows/FlowEditor.svelte +22 -5
  253. package/components/flows/FlowEditor.svelte.d.ts +4 -3
  254. package/components/flows/FlowProgressBar.svelte.d.ts +3 -3
  255. package/components/flows/common/FlowCard.svelte.d.ts +3 -3
  256. package/components/flows/common/FlowCardHeader.svelte +3 -1
  257. package/components/flows/common/FlowCardHeader.svelte.d.ts +3 -3
  258. package/components/flows/content/CapturePayload.svelte.d.ts +3 -3
  259. package/components/flows/content/DynamicInputHelpBox.svelte +2 -32
  260. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +4 -6
  261. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +3 -3
  262. package/components/flows/content/FlowBranchOneWrapper.svelte +3 -2
  263. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +3 -3
  264. package/components/flows/content/FlowBranchesWrapper.svelte +2 -2
  265. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +3 -3
  266. package/components/flows/content/FlowEditorPanel.svelte +2 -0
  267. package/components/flows/content/FlowEditorPanel.svelte.d.ts +3 -3
  268. package/components/flows/content/FlowFailureModule.svelte.d.ts +3 -3
  269. package/components/flows/content/FlowInput.svelte +9 -12
  270. package/components/flows/content/FlowInput.svelte.d.ts +3 -3
  271. package/components/flows/content/FlowInputs.svelte +119 -140
  272. package/components/flows/content/FlowInputs.svelte.d.ts +4 -7
  273. package/components/flows/content/FlowLoop.svelte +3 -2
  274. package/components/flows/content/FlowLoop.svelte.d.ts +3 -3
  275. package/components/flows/content/FlowModuleComponent.svelte +49 -45
  276. package/components/flows/content/FlowModuleComponent.svelte.d.ts +3 -3
  277. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -2
  278. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +3 -3
  279. package/components/flows/content/FlowModuleHeader.svelte +6 -3
  280. package/components/flows/content/FlowModuleHeader.svelte.d.ts +3 -3
  281. package/components/flows/content/FlowModuleScript.svelte.d.ts +3 -3
  282. package/components/flows/content/FlowModuleSuspend.svelte +9 -3
  283. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +3 -3
  284. package/components/flows/content/FlowModuleWrapper.svelte +0 -22
  285. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +3 -3
  286. package/components/flows/content/FlowRetries.svelte.d.ts +3 -3
  287. package/components/flows/content/FlowSchedules.svelte.d.ts +3 -3
  288. package/components/flows/content/FlowSettings.svelte +88 -93
  289. package/components/flows/content/FlowSettings.svelte.d.ts +3 -3
  290. package/components/flows/content/RemoveStepConfirmationModal.svelte.d.ts +3 -3
  291. package/components/flows/flowState.d.ts +2 -2
  292. package/components/flows/flowStateUtils.d.ts +1 -0
  293. package/components/flows/flowStateUtils.js +13 -2
  294. package/components/flows/flowStore.d.ts +1 -1
  295. package/components/flows/flowStore.js +1 -1
  296. package/components/flows/header/FlowImportExportMenu.svelte +9 -23
  297. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +3 -3
  298. package/components/flows/header/FlowPreviewButtons.svelte +20 -16
  299. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +3 -3
  300. package/components/flows/map/FlowBranchAllMap.svelte +47 -37
  301. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +3 -3
  302. package/components/flows/map/FlowBranchOneMap.svelte +50 -42
  303. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +3 -3
  304. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -3
  305. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +3 -3
  306. package/components/flows/map/FlowInputsItem.svelte +3 -2
  307. package/components/flows/map/FlowInputsItem.svelte.d.ts +3 -3
  308. package/components/flows/map/FlowModuleSchemaItem.svelte +26 -31
  309. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  310. package/components/flows/map/FlowModuleSchemaMap.svelte +50 -92
  311. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +3 -4
  312. package/components/flows/map/FlowSettingsItem.svelte +8 -7
  313. package/components/flows/map/FlowSettingsItem.svelte.d.ts +3 -3
  314. package/components/flows/map/InsertModuleButton.svelte +62 -8
  315. package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  316. package/components/flows/map/MapItem.svelte +30 -16
  317. package/components/flows/map/MapItem.svelte.d.ts +4 -6
  318. package/components/flows/pickers/FlowScriptPicker.svelte +11 -4
  319. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +8 -6
  320. package/components/flows/pickers/PickHubScript.svelte +74 -29
  321. package/components/flows/pickers/PickHubScript.svelte.d.ts +5 -6
  322. package/components/flows/pickers/PickScript.svelte +16 -9
  323. package/components/flows/pickers/PickScript.svelte.d.ts +3 -4
  324. package/components/flows/pickers/WorkspaceScriptPicker.svelte +53 -0
  325. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +19 -0
  326. package/components/flows/pickers/model.d.ts +5 -3
  327. package/components/flows/previousResults.d.ts +2 -2
  328. package/components/flows/previousResults.js +5 -5
  329. package/components/flows/propPicker/PropPickerWrapper.svelte +2 -2
  330. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +7 -7
  331. package/components/flows/scheduleUtils.d.ts +1 -1
  332. package/components/flows/scheduleUtils.js +1 -1
  333. package/components/flows/types.d.ts +1 -1
  334. package/components/flows/utils.d.ts +1 -1
  335. package/components/flows/utils.js +4 -9
  336. package/components/graph/FlowGraph.svelte +57 -18
  337. package/components/graph/FlowGraph.svelte.d.ts +6 -4
  338. package/components/graph/model.d.ts +7 -6
  339. package/components/icons/AirtableIcon.svelte.d.ts +3 -3
  340. package/components/icons/DbIcon.svelte.d.ts +3 -3
  341. package/components/icons/DiscordIcon.svelte.d.ts +3 -3
  342. package/components/icons/GCloudIcon.svelte.d.ts +3 -3
  343. package/components/icons/GItlabIcon.svelte.d.ts +3 -3
  344. package/components/icons/GSheetsIcon.svelte.d.ts +3 -3
  345. package/components/icons/GcalIcon.svelte.d.ts +3 -3
  346. package/components/icons/GdriveIcon.svelte.d.ts +3 -3
  347. package/components/icons/GithubIcon.svelte.d.ts +3 -3
  348. package/components/icons/GmailIcon.svelte.d.ts +3 -3
  349. package/components/icons/HatIcon.svelte.d.ts +3 -3
  350. package/components/icons/HttpIcon.svelte.d.ts +3 -3
  351. package/components/icons/Mail.svelte.d.ts +3 -3
  352. package/components/icons/MailchimpIcon.svelte +18 -0
  353. package/components/icons/MailchimpIcon.svelte.d.ts +17 -0
  354. package/components/icons/MastodonIcon.svelte.d.ts +3 -3
  355. package/components/icons/MatrixIcon.svelte.d.ts +3 -3
  356. package/components/icons/Mysql.svelte.d.ts +3 -3
  357. package/components/icons/PostgresIcon.svelte.d.ts +3 -3
  358. package/components/icons/S3Icon.svelte.d.ts +3 -3
  359. package/components/icons/SendgridIcon.svelte +66 -0
  360. package/components/icons/SendgridIcon.svelte.d.ts +17 -0
  361. package/components/icons/Slack.svelte.d.ts +3 -3
  362. package/components/icons/TogglIcon.svelte.d.ts +3 -3
  363. package/components/icons/WindmillIcon.svelte.d.ts +3 -3
  364. package/components/icons/index.d.ts +48 -0
  365. package/components/icons/index.js +48 -0
  366. package/components/jobs/JobDetail.svelte +2 -2
  367. package/components/jobs/JobDetail.svelte.d.ts +3 -3
  368. package/components/preview/FlowPreviewStatus.svelte.d.ts +3 -3
  369. package/components/progressBar/ProgressBar.svelte.d.ts +3 -3
  370. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +3 -3
  371. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +3 -3
  372. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +3 -3
  373. package/components/progressBar/model.d.ts +9 -9
  374. package/components/propertyPicker/ObjectViewer.svelte +34 -9
  375. package/components/propertyPicker/ObjectViewer.svelte.d.ts +4 -3
  376. package/components/propertyPicker/PropPicker.svelte +118 -110
  377. package/components/propertyPicker/PropPicker.svelte.d.ts +3 -3
  378. package/components/propertyPicker/PropPickerResult.svelte +0 -1
  379. package/components/propertyPicker/PropPickerResult.svelte.d.ts +3 -3
  380. package/components/scriptEditor/LogPanel.svelte +4 -4
  381. package/components/scriptEditor/LogPanel.svelte.d.ts +3 -3
  382. package/components/scripts/{CreateActions.svelte → CreateActionsScript.svelte} +7 -46
  383. package/components/scripts/CreateActionsScript.svelte.d.ts +14 -0
  384. package/components/sidebar/MenuLink.svelte +7 -4
  385. package/components/sidebar/MenuLink.svelte.d.ts +4 -3
  386. package/components/sidebar/SidebarContent.svelte +25 -18
  387. package/components/sidebar/SidebarContent.svelte.d.ts +7 -3
  388. package/components/sidebar/UserMenu.svelte +1 -1
  389. package/components/sidebar/UserMenu.svelte.d.ts +3 -3
  390. package/components/sidebar/WorkspaceMenu.svelte +3 -3
  391. package/components/sidebar/WorkspaceMenu.svelte.d.ts +3 -3
  392. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +3 -3
  393. package/editorUtils.d.ts +1 -1
  394. package/editorUtils.js +2 -2
  395. package/gen/core/ApiRequestOptions.d.ts +1 -1
  396. package/gen/core/ApiResult.d.ts +1 -1
  397. package/gen/core/OpenAPI.d.ts +3 -3
  398. package/gen/core/OpenAPI.js +1 -1
  399. package/gen/index.d.ts +2 -0
  400. package/gen/index.js +1 -0
  401. package/gen/models/AppWithLastVersion.d.ts +12 -12
  402. package/gen/models/AuditLog.d.ts +1 -1
  403. package/gen/models/BranchAll.d.ts +1 -1
  404. package/gen/models/BranchOne.d.ts +1 -1
  405. package/gen/models/CompletedJob.d.ts +1 -1
  406. package/gen/models/ContextualVariable.d.ts +1 -1
  407. package/gen/models/CreateResource.d.ts +1 -2
  408. package/gen/models/CreateVariable.d.ts +1 -1
  409. package/gen/models/CreateWorkspace.d.ts +1 -1
  410. package/gen/models/EditResource.d.ts +1 -1
  411. package/gen/models/EditResourceType.d.ts +1 -1
  412. package/gen/models/EditSchedule.d.ts +1 -1
  413. package/gen/models/EditVariable.d.ts +1 -1
  414. package/gen/models/EditWorkspaceUser.d.ts +1 -1
  415. package/gen/models/Flow.d.ts +1 -1
  416. package/gen/models/FlowMetadata.d.ts +2 -1
  417. package/gen/models/FlowModule.d.ts +1 -1
  418. package/gen/models/FlowModuleValue.d.ts +1 -1
  419. package/gen/models/FlowPreview.d.ts +1 -1
  420. package/gen/models/FlowStatus.d.ts +1 -1
  421. package/gen/models/FlowStatusModule.d.ts +1 -1
  422. package/gen/models/FlowValue.d.ts +1 -1
  423. package/gen/models/ForloopFlow.d.ts +1 -1
  424. package/gen/models/GlobalUserInfo.d.ts +1 -1
  425. package/gen/models/Group.d.ts +1 -1
  426. package/gen/models/Identity.d.ts +1 -1
  427. package/gen/models/InputTransform.d.ts +1 -1
  428. package/gen/models/JavascriptTransform.d.ts +1 -1
  429. package/gen/models/Job.d.ts +1 -1
  430. package/gen/models/ListableApp.d.ts +10 -8
  431. package/gen/models/ListableResource.d.ts +13 -0
  432. package/gen/models/ListableResource.js +4 -0
  433. package/gen/models/ListableVariable.d.ts +4 -1
  434. package/gen/models/Login.d.ts +1 -1
  435. package/gen/models/MainArgSignature.d.ts +1 -1
  436. package/gen/models/NewSchedule.d.ts +1 -1
  437. package/gen/models/NewToken.d.ts +1 -1
  438. package/gen/models/NewUser.d.ts +1 -1
  439. package/gen/models/OpenFlow.d.ts +1 -1
  440. package/gen/models/OpenFlowWPath.d.ts +1 -1
  441. package/gen/models/PathScript.d.ts +1 -1
  442. package/gen/models/Policy.d.ts +1 -1
  443. package/gen/models/Preview.d.ts +1 -1
  444. package/gen/models/QueuedJob.d.ts +1 -1
  445. package/gen/models/RawScript.d.ts +2 -1
  446. package/gen/models/Resource.d.ts +1 -1
  447. package/gen/models/ResourceType.d.ts +1 -1
  448. package/gen/models/Retry.d.ts +1 -1
  449. package/gen/models/Schedule.d.ts +1 -1
  450. package/gen/models/Script.d.ts +2 -1
  451. package/gen/models/ScriptArgs.d.ts +1 -1
  452. package/gen/models/SlackToken.d.ts +1 -1
  453. package/gen/models/StaticTransform.d.ts +1 -1
  454. package/gen/models/TokenResponse.d.ts +1 -1
  455. package/gen/models/TruncatedToken.d.ts +1 -1
  456. package/gen/models/Usage.d.ts +1 -1
  457. package/gen/models/User.d.ts +1 -1
  458. package/gen/models/UserWorkspaceList.d.ts +1 -1
  459. package/gen/models/WorkerPing.d.ts +1 -1
  460. package/gen/models/Workspace.d.ts +1 -1
  461. package/gen/models/WorkspaceInvite.d.ts +1 -1
  462. package/gen/services/AppService.d.ts +101 -1
  463. package/gen/services/AppService.js +88 -1
  464. package/gen/services/FavoriteService.d.ts +27 -0
  465. package/gen/services/FavoriteService.js +36 -0
  466. package/gen/services/FlowService.d.ts +7 -91
  467. package/gen/services/FlowService.js +2 -73
  468. package/gen/services/JobService.d.ts +15 -0
  469. package/gen/services/JobService.js +19 -0
  470. package/gen/services/ResourceService.d.ts +3 -2
  471. package/gen/services/ResourceService.js +1 -1
  472. package/gen/services/ScheduleService.d.ts +1 -1
  473. package/gen/services/ScheduleService.js +1 -1
  474. package/gen/services/ScriptService.d.ts +7 -1
  475. package/gen/services/ScriptService.js +2 -1
  476. package/package.json +422 -361
  477. package/script_helpers.d.ts +3 -1
  478. package/script_helpers.js +73 -25
  479. package/stateMachine.d.ts +4 -4
  480. package/stores.d.ts +2 -0
  481. package/stores.js +1 -0
  482. package/utils.d.ts +4 -2
  483. package/utils.js +20 -3
  484. package/components/FlowModulesViewer.svelte +0 -191
  485. package/components/FlowModulesViewer.svelte.d.ts +0 -18
  486. package/components/landing/FlowGettingStarted.svelte +0 -50
  487. package/components/landing/FlowGettingStarted.svelte.d.ts +0 -19
  488. package/components/landing/FlowLandingBox.svelte +0 -39
  489. package/components/landing/FlowLandingBox.svelte.d.ts +0 -17
  490. package/components/landing/RessourceGettingStarted.svelte +0 -21
  491. package/components/landing/RessourceGettingStarted.svelte.d.ts +0 -19
  492. package/components/landing/ScriptBox.svelte +0 -52
  493. package/components/landing/ScriptBox.svelte.d.ts +0 -17
  494. package/components/landing/ScriptGettingStarted.svelte +0 -48
  495. package/components/landing/ScriptGettingStarted.svelte.d.ts +0 -19
  496. package/components/scripts/CreateActions.svelte.d.ts +0 -14
@@ -1,11 +1,13 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { IconDefinition } from '@fortawesome/free-brands-svg-icons';
2
+ import type { SupportedLanguage } from '../../../common';
3
+ import type { IconDefinition } from '@fortawesome/free-solid-svg-icons';
3
4
  declare const __propDef: {
4
5
  props: {
5
6
  disabled?: boolean | undefined;
6
- icon: IconDefinition;
7
7
  label: string;
8
- iconColor: string;
8
+ lang?: SupportedLanguage | 'pgsql' | undefined;
9
+ icon?: IconDefinition | undefined;
10
+ iconColor?: string | undefined;
9
11
  };
10
12
  events: {
11
13
  click: CustomEvent<any>;
@@ -14,9 +16,9 @@ declare const __propDef: {
14
16
  };
15
17
  slots: {};
16
18
  };
17
- export declare type FlowScriptPickerProps = typeof __propDef.props;
18
- export declare type FlowScriptPickerEvents = typeof __propDef.events;
19
- export declare type FlowScriptPickerSlots = typeof __propDef.slots;
19
+ export type FlowScriptPickerProps = typeof __propDef.props;
20
+ export type FlowScriptPickerEvents = typeof __propDef.events;
21
+ export type FlowScriptPickerSlots = typeof __propDef.slots;
20
22
  export default class FlowScriptPicker extends SvelteComponentTyped<FlowScriptPickerProps, FlowScriptPickerEvents, FlowScriptPickerSlots> {
21
23
  }
22
24
  export {};
@@ -1,33 +1,78 @@
1
- <script>import { faUserGroup } from '@fortawesome/free-solid-svg-icons';
2
- import FlowScriptPicker from './FlowScriptPicker.svelte';
3
- import ItemPicker from '../../ItemPicker.svelte';
4
- import { hubScripts } from '../../../stores';
5
- import { createEventDispatcher } from 'svelte';
6
- import { Script } from '../../../gen';
7
- export let kind;
8
- export let customText = undefined;
9
- let items;
10
- $: items = $hubScripts?.filter((x) => x.kind == kind) ?? [];
11
- let itemPicker;
1
+ <script>import { hubScripts } from '../../../stores';
2
+ import { createEventDispatcher, onMount } from 'svelte';
3
+ import IconedResourceType from '../../IconedResourceType.svelte';
4
+ import { Badge, Skeleton } from '../../common';
5
+ import SearchItems from '../../SearchItems.svelte';
6
+ import { loadHubScripts } from '../../../utils';
7
+ export let kind = 'script';
8
+ export let filter = '';
9
+ $: items = ($hubScripts ?? []).filter((i) => i.kind === kind);
10
+ let filteredItems = [];
11
+ let appFilter = undefined;
12
+ $: prefilteredItems = appFilter ? (items ?? []).filter((i) => i.app == appFilter) : items ?? [];
13
+ $: apps = Array.from(new Set(filteredItems?.map((x) => x.app) ?? [])).sort();
12
14
  const dispatch = createEventDispatcher();
15
+ onMount(() => {
16
+ if (!$hubScripts) {
17
+ loadHubScripts();
18
+ }
19
+ });
13
20
  </script>
14
21
 
15
- <ItemPicker
16
- bind:this={itemPicker}
17
- pickCallback={(path, summary) => {
18
- dispatch('pick', { path, summary, kind })
19
- }}
20
- itemName={'Script'}
21
- extraField="summary"
22
- loadItems={async () => {
23
- return items
24
- }}
25
- noItemMessage="Hub not reachable. If your environment is air gapped, contact sales@windmill.dev to setup a local mirror."
26
- />
22
+ <SearchItems {filter} items={prefilteredItems} bind:filteredItems f={(x) => x.summary} />
27
23
 
28
- <FlowScriptPicker
29
- label={customText ?? `${kind == Script.kind.SCRIPT ? 'Script' : `${kind} script`} from the Hub`}
30
- icon={faUserGroup}
31
- iconColor="text-blue-500"
32
- on:click={() => itemPicker.openDrawer()}
33
- />
24
+ <div class="flex flex-col min-h-0">
25
+ <div class="w-12/12 pb-2 flex flex-row my-1 gap-1">
26
+ <input type="text" placeholder="Search Hub Scripts" bind:value={filter} class="text-2xl grow" />
27
+ </div>
28
+
29
+ <div class="gap-2 w-full flex flex-wrap pb-2">
30
+ {#each apps as app}
31
+ <Badge
32
+ class="cursor-pointer hover:bg-gray-200"
33
+ on:click={() => {
34
+ appFilter = appFilter == app ? undefined : app
35
+ }}
36
+ capitalize
37
+ color={app === appFilter ? 'blue' : 'gray'}
38
+ >
39
+ {app}
40
+ {#if app === appFilter}&cross;{/if}
41
+ </Badge>
42
+ {/each}
43
+ </div>
44
+ <div class="overflow-auto">
45
+ <ul class="divide-y divide-gray-200">
46
+ {#if $hubScripts}
47
+ {#if filter.length > 0 && filteredItems.length == 0}
48
+ <p>No items found</p>
49
+ {/if}
50
+ {#each filteredItems as obj}
51
+ <li class="flex flex-row w-full">
52
+ <button
53
+ class="py-4 px-1 gap-1 flex flex-row grow hover:bg-blue-50 bg-white transition-all"
54
+ on:click={() => {
55
+ dispatch('pick', obj)
56
+ }}
57
+ >
58
+ <div class="mr-2 text-sm text-left truncate w-32 shrink-0">
59
+ <IconedResourceType after={true} silent={false} name={obj['app']} />
60
+ </div>
61
+ <div class="mr-2 text-left">
62
+ {#if obj.marked}
63
+ {@html obj.marked ?? ''}
64
+ {:else}
65
+ {obj.summary ?? ''}
66
+ {/if}
67
+ </div>
68
+ </button>
69
+ </li>
70
+ {/each}
71
+ {:else}
72
+ {#each Array(10).fill(0) as sk}
73
+ <Skeleton layout={[[4], 0.5]} />
74
+ {/each}
75
+ {/if}
76
+ </ul>
77
+ </div>
78
+ </div>
@@ -1,9 +1,8 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import { Script } from '../../../gen';
3
2
  declare const __propDef: {
4
3
  props: {
5
- kind: Script.kind;
6
- customText?: string | undefined;
4
+ kind?: "script" | "failure" | "trigger" | "approval" | undefined;
5
+ filter?: string | undefined;
7
6
  };
8
7
  events: {
9
8
  pick: CustomEvent<any>;
@@ -12,9 +11,9 @@ declare const __propDef: {
12
11
  };
13
12
  slots: {};
14
13
  };
15
- export declare type PickHubScriptProps = typeof __propDef.props;
16
- export declare type PickHubScriptEvents = typeof __propDef.events;
17
- export declare type PickHubScriptSlots = typeof __propDef.slots;
14
+ export type PickHubScriptProps = typeof __propDef.props;
15
+ export type PickHubScriptEvents = typeof __propDef.events;
16
+ export type PickHubScriptSlots = typeof __propDef.slots;
18
17
  export default class PickHubScript extends SvelteComponentTyped<PickHubScriptProps, PickHubScriptEvents, PickHubScriptSlots> {
19
18
  }
20
19
  export {};
@@ -1,11 +1,10 @@
1
1
  <script>import ItemPicker from '../../ItemPicker.svelte';
2
- import { faUserGroup } from '@fortawesome/free-solid-svg-icons';
3
- import { Script, ScriptService } from '../../../gen';
2
+ import { ScriptService } from '../../../gen';
4
3
  import { workspaceStore } from '../../../stores';
5
4
  import { createEventDispatcher } from 'svelte';
6
- import FlowScriptPicker from './FlowScriptPicker.svelte';
5
+ import Button from '../../common/button/Button.svelte';
6
+ import { Code } from 'svelte-lucide';
7
7
  export let kind;
8
- export let customText = undefined;
9
8
  let itemPicker;
10
9
  const dispatch = createEventDispatcher();
11
10
  async function loadItems() {
@@ -23,9 +22,17 @@ async function loadItems() {
23
22
  {loadItems}
24
23
  />
25
24
 
26
- <FlowScriptPicker
27
- label={customText ?? `${kind == Script.kind.SCRIPT ? 'Script' : `${kind} script`} from workspace`}
28
- icon={faUserGroup}
29
- iconColor="text-blue-500"
25
+ <Button
30
26
  on:click={() => itemPicker.openDrawer()}
31
- />
27
+ btnClasses="w-24 truncate"
28
+ size="sm"
29
+ spacingSize="md"
30
+ variant="border"
31
+ color="light"
32
+ >
33
+ <div class="flex justify-center flex-col items-center gap-2">
34
+ <Code size="18px" />
35
+
36
+ <span class="text-xs">Script</span>
37
+ </div>
38
+ </Button>
@@ -2,7 +2,6 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  kind: string;
5
- customText?: string | undefined;
6
5
  };
7
6
  events: {
8
7
  pick: CustomEvent<any>;
@@ -11,9 +10,9 @@ declare const __propDef: {
11
10
  };
12
11
  slots: {};
13
12
  };
14
- export declare type PickScriptProps = typeof __propDef.props;
15
- export declare type PickScriptEvents = typeof __propDef.events;
16
- export declare type PickScriptSlots = typeof __propDef.slots;
13
+ export type PickScriptProps = typeof __propDef.props;
14
+ export type PickScriptEvents = typeof __propDef.events;
15
+ export type PickScriptSlots = typeof __propDef.slots;
17
16
  export default class PickScript extends SvelteComponentTyped<PickScriptProps, PickScriptEvents, PickScriptSlots> {
18
17
  }
19
18
  export {};
@@ -0,0 +1,53 @@
1
+ <script>import { workspaceStore } from '../../../stores';
2
+ import { createEventDispatcher } from 'svelte';
3
+ import Fuse from 'fuse.js';
4
+ import { ScriptService } from '../../../gen';
5
+ export let kind = 'script';
6
+ let items = [];
7
+ let filteredItems = [];
8
+ export let filter = '';
9
+ const fuseOptions = {
10
+ includeScore: false,
11
+ keys: ['path', 'summay']
12
+ };
13
+ const fuse = new Fuse(items, fuseOptions);
14
+ $: $workspaceStore && kind && loadItems();
15
+ $: filteredItems =
16
+ filter.length > 0 && items ? fuse.search(filter).map((value) => value.item) : items;
17
+ async function loadItems() {
18
+ items = await ScriptService.listScripts({ workspace: $workspaceStore, kind });
19
+ fuse.setCollection(items);
20
+ }
21
+ const dispatch = createEventDispatcher();
22
+ </script>
23
+
24
+ <div class="flex flex-col min-h-0">
25
+ <div class="w-12/12 pb-4 mt-1">
26
+ <input type="text" placeholder="Search script" bind:value={filter} class="text-2xl grow" />
27
+ </div>
28
+
29
+ {#if filteredItems}
30
+ <ul class="divide-y divide-gray-200 overflow-auto">
31
+ {#each filteredItems as obj}
32
+ <li class="flex flex-row w-full">
33
+ <button
34
+ class="py-4 px-1 gap-1 flex flex-row grow hover:bg-blue-50 bg-white transition-all text-black"
35
+ on:click={() => {
36
+ dispatch('pick', obj)
37
+ }}
38
+ >
39
+ <div class="flex flex-col">
40
+ <div class="text-sm font-semibold flex flex-col">
41
+ <span class="mr-2 text-left">{obj['summary'] ?? ''}</span>
42
+ <span class="font-normal text-xs text-left italic overflow-hidden"
43
+ >{obj['path'] ?? ''}</span
44
+ >
45
+ </div>
46
+ <div class="text-xs font-light italic text-left">{obj['description'] ?? ''}</div>
47
+ </div>
48
+ </button>
49
+ </li>
50
+ {/each}
51
+ </ul>
52
+ {/if}
53
+ </div>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ kind?: "script" | "failure" | "trigger" | "approval" | undefined;
5
+ filter?: string | undefined;
6
+ };
7
+ events: {
8
+ pick: CustomEvent<any>;
9
+ } & {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type WorkspaceScriptPickerProps = typeof __propDef.props;
15
+ export type WorkspaceScriptPickerEvents = typeof __propDef.events;
16
+ export type WorkspaceScriptPickerSlots = typeof __propDef.slots;
17
+ export default class WorkspaceScriptPicker extends SvelteComponentTyped<WorkspaceScriptPickerProps, WorkspaceScriptPickerEvents, WorkspaceScriptPickerSlots> {
18
+ }
19
+ export {};
@@ -1,5 +1,7 @@
1
1
  export interface HubItem {
2
- summary: String;
3
- path: String;
4
- version?: String;
2
+ app: string;
3
+ summary: string;
4
+ path: string;
5
+ version?: string;
6
+ ask_id: number;
5
7
  }
@@ -1,11 +1,11 @@
1
1
  import type { Flow, FlowModule } from '../../gen';
2
2
  import type { FlowState } from './flowState';
3
- export declare type PickableProperties = {
3
+ export type PickableProperties = {
4
4
  flow_input: Object;
5
5
  priorIds: Record<string, any>;
6
6
  previousId: string | undefined;
7
7
  };
8
- declare type StepPropPicker = {
8
+ type StepPropPicker = {
9
9
  pickableProperties: PickableProperties;
10
10
  extraLib: string;
11
11
  };
@@ -92,27 +92,27 @@ export function buildExtraLib(flowInput, results) {
92
92
  * get variable (including secret) at path
93
93
  * @param {string} path - path of the variable (e.g: g/all/pretty_secret)
94
94
  */
95
- export function variable(path: string): string;
95
+ declare function variable(path: string): string;
96
96
 
97
97
  /**
98
98
  * get resource at path
99
99
  * @param {string} path - path of the resource (e.g: g/all/my_resource)
100
100
  */
101
- export function resource(path: string): any;
101
+ declare function resource(path: string): any;
102
102
 
103
103
  /**
104
104
  * flow input as an object
105
105
  */
106
- export const flow_input = ${JSON.stringify(flowInput)};
106
+ declare const flow_input = ${JSON.stringify(flowInput)};
107
107
 
108
108
  /**
109
109
  * static params of this same step
110
110
  */
111
- export const params: any;
111
+ declare const params: any;
112
112
 
113
113
  /**
114
114
  * result by id
115
115
  */
116
- export const results = ${JSON.stringify(results)};
116
+ declare const results = ${JSON.stringify(results)};
117
117
  `;
118
118
  }
@@ -29,10 +29,10 @@ setContext('PropPickerWrapper', {
29
29
  </script>
30
30
 
31
31
  <Splitpanes>
32
- <Pane minSize={20} size={66} class="relative p-4 !transition-none">
32
+ <Pane minSize={20} size={60} class="relative p-4 !transition-none">
33
33
  <slot />
34
34
  </Pane>
35
- <Pane minSize={20} size={34} class="px-2 py-2 h-full !transition-none">
35
+ <Pane minSize={20} size={40} class="py-2 relative !transition-none">
36
36
  {#if result}
37
37
  <PropPickerResult {result} />
38
38
  {:else if pickableProperties}
@@ -1,12 +1,12 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- declare type InsertionMode = 'append' | 'connect' | 'insert';
3
- declare type SelectCallback = (path: string) => boolean;
4
- declare type PropPickerConfig = {
2
+ type InsertionMode = 'append' | 'connect' | 'insert';
3
+ type SelectCallback = (path: string) => boolean;
4
+ type PropPickerConfig = {
5
5
  insertionMode: InsertionMode;
6
6
  propName: string;
7
7
  onSelect: SelectCallback;
8
8
  };
9
- export declare type PropPickerWrapperContext = {
9
+ export type PropPickerWrapperContext = {
10
10
  propPickerConfig: Writable<PropPickerConfig | undefined>;
11
11
  focusProp: (propName: string, insertionMode: InsertionMode, onSelect: SelectCallback) => void;
12
12
  clearFocus: () => void;
@@ -30,9 +30,9 @@ declare const __propDef: {
30
30
  default: {};
31
31
  };
32
32
  };
33
- export declare type PropPickerWrapperProps = typeof __propDef.props;
34
- export declare type PropPickerWrapperEvents = typeof __propDef.events;
35
- export declare type PropPickerWrapperSlots = typeof __propDef.slots;
33
+ export type PropPickerWrapperProps = typeof __propDef.props;
34
+ export type PropPickerWrapperEvents = typeof __propDef.events;
35
+ export type PropPickerWrapperSlots = typeof __propDef.slots;
36
36
  export default class PropPickerWrapper extends SvelteComponentTyped<PropPickerWrapperProps, PropPickerWrapperEvents, PropPickerWrapperSlots> {
37
37
  }
38
38
  export {};
@@ -1,4 +1,4 @@
1
- export declare type Schedule = {
1
+ export type Schedule = {
2
2
  args: Record<string, any>;
3
3
  cron: string;
4
4
  enabled: boolean;
@@ -6,7 +6,7 @@ export async function loadFlowSchedule(path, workspace = '') {
6
6
  path
7
7
  });
8
8
  if (!existsSchedule) {
9
- throw new Error(`Flow at path: ${path} doesn't exit`);
9
+ throw new Error(`Flow at path: ${path} doesn't exist`);
10
10
  }
11
11
  const schedule = await ScheduleService.getSchedule({
12
12
  workspace,
@@ -1,6 +1,6 @@
1
1
  import type { Writable } from 'svelte/store';
2
2
  import type { Schedule } from './scheduleUtils';
3
- export declare type FlowEditorContext = {
3
+ export type FlowEditorContext = {
4
4
  selectedId: Writable<string>;
5
5
  select: (id: string) => void;
6
6
  schedule: Writable<Schedule>;
@@ -9,7 +9,7 @@ export declare function loadSchemaFromModule(module: FlowModule): Promise<{
9
9
  schema: Schema;
10
10
  }>;
11
11
  export declare function isCodeInjection(expr: string | undefined): boolean;
12
- export declare function getDefaultExpr(importPath?: string | undefined, key?: string, previousExpr?: string): string;
12
+ export declare function getDefaultExpr(key: string | undefined, previousModuleId: string | undefined, previousExpr?: string): string;
13
13
  export declare function jobsToResults(jobs: Job[]): any;
14
14
  export declare function runFlowPreview(args: Record<string, any>, flow: Flow): Promise<string>;
15
15
  export declare function codeToStaticTemplate(code?: string): string | undefined;
@@ -93,11 +93,8 @@ export function isCodeInjection(expr) {
93
93
  }
94
94
  return dynamicTemplateRegex.test(expr);
95
95
  }
96
- export function getDefaultExpr(importPath = undefined, key = 'myfield', previousExpr) {
97
- const expr = previousExpr ?? `results.${key}`;
98
- return `import { results, flow_input, variable, resource, params } from 'windmill${importPath ? `@${importPath}` : ''}'
99
-
100
- ${expr}`;
96
+ export function getDefaultExpr(key = 'myfield', previousModuleId, previousExpr) {
97
+ return previousExpr ?? (previousModuleId ? `results.${previousModuleId}.${key}` : `flow_input.${key}`);
101
98
  }
102
99
  export function jobsToResults(jobs) {
103
100
  return jobs.map((job) => {
@@ -121,12 +118,10 @@ export async function runFlowPreview(args, flow) {
121
118
  });
122
119
  }
123
120
  export function codeToStaticTemplate(code) {
124
- if (!code)
121
+ if (!code || typeof code != 'string')
125
122
  return undefined;
126
123
  const lines = code
127
- .split('\n')
128
- .slice(1)
129
- .filter((x) => x != '');
124
+ .split('\n');
130
125
  if (lines.length == 1) {
131
126
  const line = lines[0].trim();
132
127
  if (line[0] == '`' && line.charAt(line.length - 1) == '`') {
@@ -1,12 +1,16 @@
1
1
  <script>import Svelvet, {} from 'svelvet';
2
- import { sugiyama, dagStratify, decrossOpt, coordGreedy, coordCenter } from 'd3-dag';
2
+ import { sugiyama, dagStratify, decrossOpt, coordCenter } from 'd3-dag';
3
+ import { FlowStatusModule, RawScript } from '../../gen';
3
4
  import { NODE, createIdGenerator, isNode, isLoop, isBranch } from '.';
4
- import { truncate, truncateRev } from '../../utils';
5
+ import { defaultIfEmptyString, truncateRev } from '../../utils';
5
6
  import { createEventDispatcher } from 'svelte';
6
7
  import { numberToChars } from '../flows/utils';
7
8
  export let modules = [];
8
9
  export let failureModule = undefined;
9
10
  export let minHeight = 0;
11
+ export let notSelectable = false;
12
+ export let flowModuleStates = undefined;
13
+ let selectedNode = undefined;
10
14
  const idGenerator = createIdGenerator();
11
15
  let nestedNodes;
12
16
  let nodes = [];
@@ -14,8 +18,8 @@ let edges = [];
14
18
  let width, height;
15
19
  let dispatch = createEventDispatcher();
16
20
  $: {
17
- width && height && minHeight;
18
- if (modules?.length) {
21
+ width && height && minHeight && selectedNode && flowModuleStates;
22
+ if (modules) {
19
23
  createGraph(modules, failureModule);
20
24
  }
21
25
  else {
@@ -53,20 +57,22 @@ function getConvertedFlowModule(module, parent = undefined, edgeLabel = undefine
53
57
  return flowModuleToNode(parentIds, module.id, module.summary || module.value.path, isHub ? 'hub' : 'workspace', module, undefined, edgeLabel);
54
58
  }
55
59
  else if (type === 'forloopflow') {
56
- const expr = module.value.iterator['expr'];
57
- return flowModuleToLoop(module.value.modules, `For loop: ${truncate(expr, 10)}`, parent);
60
+ return flowModuleToLoop(module.value.modules, module, parent);
58
61
  }
59
62
  else if (type === 'branchone') {
60
63
  const branches = [module.value.default, ...module.value.branches.map((b) => b.modules)];
61
- return flowModuleToBranch(branches, ['Default', ...module.value.branches.map((x) => `If ${truncateRev(x.expr, 20)}`)], parent);
64
+ return flowModuleToBranch(module, branches, ['Default', ...module.value.branches.map((x) => `If ${truncateRev(x.expr, 20)}`)], parent);
62
65
  }
63
66
  else if (type === 'branchall') {
64
67
  const branches = module.value.branches.map((b) => b.modules);
65
- return flowModuleToBranch(branches, [], parent);
68
+ return flowModuleToBranch(module, branches, [], parent);
66
69
  }
67
- return flowModuleToNode(parentIds, module.id, module.summary || 'Identity script', 'inline', module, undefined, edgeLabel);
70
+ return flowModuleToNode(parentIds, module.id, module.summary || 'Identity step', 'inline', module, undefined, edgeLabel);
68
71
  }
69
72
  function getParentIds(items = undefined) {
73
+ if (typeof items == 'string') {
74
+ return [items];
75
+ }
70
76
  const item = items?.at(-1) || nestedNodes.at(-1);
71
77
  if (!item)
72
78
  return [];
@@ -81,6 +87,18 @@ function getParentIds(items = undefined) {
81
87
  }
82
88
  return [];
83
89
  }
90
+ function getStateColor(state) {
91
+ switch (state) {
92
+ case FlowStatusModule.type.SUCCESS:
93
+ return 'rgb(34 197 94)';
94
+ case FlowStatusModule.type.FAILURE:
95
+ return 'rgb(248 113 113)';
96
+ case FlowStatusModule.type.IN_PROGRESS:
97
+ return 'rgb(253 224 71)';
98
+ default:
99
+ return '#fff';
100
+ }
101
+ }
84
102
  function flowModuleToNode(parentIds, id, title, host, onClickDetail, lang, edgeLabel) {
85
103
  const langImg = {
86
104
  deno: '/icons/ts-lang.svg',
@@ -117,39 +135,56 @@ function flowModuleToNode(parentIds, id, title, host, onClickDetail, lang, edgeL
117
135
  host,
118
136
  width: NODE.width,
119
137
  height: NODE.height,
120
- bgColor: 'white',
138
+ borderColor: selectedNode == onClickDetail.id ? 'black' : '#999',
139
+ bgColor: selectedNode == onClickDetail.id
140
+ ? '#f5f5f5'
141
+ : getStateColor(flowModuleStates?.[onClickDetail.id]),
121
142
  parentIds,
122
143
  clickCallback: (node) => {
144
+ if (!notSelectable) {
145
+ selectedNode = onClickDetail.id;
146
+ }
123
147
  dispatch('click', onClickDetail);
124
148
  },
125
149
  edgeLabel
126
150
  };
127
151
  }
128
- function flowModuleToLoop(modules, startLabel, parent = undefined) {
152
+ function flowModuleToLoop(modules, module, parent = undefined) {
153
+ const value = module.value;
154
+ const expr = value.iterator.type == 'static' ? value.iterator.value : value.iterator.expr;
129
155
  const loop = {
130
156
  type: 'loop',
131
- items: [createVirtualNode(getParentIds(parent), startLabel)]
157
+ items: [
158
+ flowModuleToNode(getParentIds(parent), module.id, module.summary || `For Loop: ${defaultIfEmptyString(expr ?? '', 'TBD')}`, 'inline', module, undefined)
159
+ ]
132
160
  };
133
161
  modules.forEach((module) => {
134
162
  const item = getConvertedFlowModule(module, loop.items);
135
163
  item && loop.items.push(item);
136
164
  });
137
- loop.items.push(createVirtualNode(getParentIds(loop.items), "Collect iterations' results"));
165
+ loop.items.push(createVirtualNode(getParentIds(loop.items), `Collect iterations' results of For Loop ${module.id}`));
138
166
  return loop;
139
167
  }
140
- function flowModuleToBranch(branches, edgesLabel, parent = undefined) {
168
+ function flowModuleToBranch(module, branches, edgesLabel, parent = undefined) {
141
169
  const branch = {
142
170
  type: 'branch',
171
+ node: flowModuleToNode(getParentIds(parent), module.id, module.summary || module.value.type == 'branchall'
172
+ ? 'Run all branches'
173
+ : 'Run one branch given predicate', 'inline', module, undefined),
143
174
  items: []
144
175
  };
176
+ const branchParent = [branch.node.id.toString()];
177
+ if (branches.length == 0) {
178
+ branch.items.push([createVirtualNode(branchParent, 'No branches')]);
179
+ }
145
180
  branches.forEach((modules, i) => {
146
181
  const items = [];
147
182
  if (!modules.length) {
148
- items.push(createVirtualNode(getParentIds(parent), 'Empty branch', edgesLabel[i]));
183
+ items.push(createVirtualNode(branchParent, 'Empty branch', edgesLabel[i]));
149
184
  }
150
185
  else {
151
186
  modules.forEach((module) => {
152
- const item = getConvertedFlowModule(module, items.length ? items : parent, edgesLabel[i]);
187
+ const item = getConvertedFlowModule(module, items.length ? items : branch.node.id.toString(), edgesLabel[i]);
153
188
  item && items.push(item);
154
189
  });
155
190
  }
@@ -167,6 +202,7 @@ function flattenNestedNodes(nestedNodes, nodes = []) {
167
202
  flattenNestedNodes(node.items, array);
168
203
  }
169
204
  else if (isBranch(node)) {
205
+ array.push(node.node);
170
206
  node.items.forEach((item) => {
171
207
  flattenNestedNodes(item, array);
172
208
  });
@@ -175,8 +211,6 @@ function flattenNestedNodes(nestedNodes, nodes = []) {
175
211
  return array;
176
212
  }
177
213
  function layoutNodes(nodes) {
178
- if (!nodes.length)
179
- return { nodes: [], height: 0 };
180
214
  const stratify = dagStratify().id(({ id }) => '' + id);
181
215
  const dag = stratify(nodes);
182
216
  const layout = sugiyama()
@@ -228,6 +262,7 @@ function createVirtualNode(parentIds, label, edgesLabel) {
228
262
  },
229
263
  width: NODE.width,
230
264
  height: NODE.height,
265
+ borderColor: '#999',
231
266
  bgColor: '#d4e4ff',
232
267
  parentIds
233
268
  };
@@ -246,8 +281,12 @@ function createErrorHandler(parentIds, module) {
246
281
  width: NODE.width,
247
282
  height: NODE.height,
248
283
  bgColor: 'rgb(248 113 113)',
284
+ borderColor: '#999',
249
285
  parentIds,
250
286
  clickCallback: (node) => {
287
+ if (!notSelectable) {
288
+ selectedNode = module.id;
289
+ }
251
290
  dispatch('click', module);
252
291
  }
253
292
  };