windmill-components 1.122.0 → 1.138.2

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 (624) hide show
  1. package/package/assets/app.css +8 -0
  2. package/package/common.d.ts +1 -0
  3. package/package/common.js +8 -0
  4. package/package/components/AddUser.svelte +27 -5
  5. package/package/components/ApiConnectForm.svelte +14 -39
  6. package/package/components/AppConnect.svelte +25 -9
  7. package/package/components/ArgEnum.svelte +1 -0
  8. package/package/components/ArgInfo.svelte +2 -2
  9. package/package/components/ArgInput.svelte +16 -13
  10. package/package/components/ArgInput.svelte.d.ts +1 -0
  11. package/package/components/ArrayTypeNarrowing.svelte +1 -1
  12. package/package/components/Badge.svelte +1 -1
  13. package/package/components/CenteredModal.svelte +7 -13
  14. package/package/components/ChevronButton.svelte +1 -1
  15. package/package/components/CliHelpBox.svelte +4 -25
  16. package/package/components/CollapseLink.svelte +3 -2
  17. package/package/components/CollapseLink.svelte.d.ts +1 -0
  18. package/package/components/CronInput.svelte +5 -5
  19. package/package/components/DBSchemaExplorer.svelte +160 -0
  20. package/package/components/DBSchemaExplorer.svelte.d.ts +17 -0
  21. package/package/components/DarkModeObserver.svelte +18 -0
  22. package/package/components/DarkModeObserver.svelte.d.ts +16 -0
  23. package/package/components/DeployWorkspace.svelte +1 -1
  24. package/package/components/DiffDrawer.svelte +3 -1
  25. package/package/components/DiffEditor.svelte +69 -0
  26. package/package/components/DiffEditor.svelte.d.ts +35 -0
  27. package/package/components/DisplayResult.svelte +29 -13
  28. package/package/components/DisplayResult.svelte.d.ts +8 -0
  29. package/package/components/Dropdown.svelte +8 -8
  30. package/package/components/Editor.svelte +125 -17
  31. package/package/components/Editor.svelte.d.ts +11 -1
  32. package/package/components/EditorBar.svelte +149 -56
  33. package/package/components/EditorBar.svelte.d.ts +5 -1
  34. package/package/components/EditorTheme.svelte +194 -0
  35. package/package/components/EditorTheme.svelte.d.ts +14 -0
  36. package/package/components/FieldHeader.svelte +6 -6
  37. package/package/components/FlowBuilder.svelte +6 -2
  38. package/package/components/FlowGraphViewer.svelte +9 -11
  39. package/package/components/FlowJobResult.svelte +4 -3
  40. package/package/components/FlowJobResult.svelte.d.ts +1 -0
  41. package/package/components/FlowMetadata.svelte +16 -14
  42. package/package/components/FlowPreviewContent.svelte +4 -4
  43. package/package/components/FlowStatusViewer.svelte +20 -17
  44. package/package/components/FlowStatusWaitingForEvents.svelte +1 -1
  45. package/package/components/FlowViewer.svelte +8 -5
  46. package/package/components/FlowViewer.svelte.d.ts +1 -0
  47. package/package/components/FolderEditor.svelte +3 -3
  48. package/package/components/FolderInfo.svelte +2 -2
  49. package/package/components/FolderUsageInfo.svelte +1 -1
  50. package/package/components/GroupEditor.svelte +40 -13
  51. package/package/components/GroupInfo.svelte +2 -2
  52. package/package/components/HighlightCode.svelte +4 -0
  53. package/package/components/HighlightCode.svelte.d.ts +2 -1
  54. package/package/components/IconedResourceType.svelte +1 -1
  55. package/package/components/InlineCodeCopy.svelte +2 -1
  56. package/package/components/InputTransformForm.svelte +1 -5
  57. package/package/components/InputTransformSchemaForm.svelte +2 -2
  58. package/package/components/InputTransformsViewer.svelte +2 -2
  59. package/package/components/InviteGlobalUser.svelte +39 -28
  60. package/package/components/InviteUser.svelte +27 -5
  61. package/package/components/ItemPicker.svelte +13 -7
  62. package/package/components/JobArgs.svelte +4 -4
  63. package/package/components/LightweightArgInput.svelte +3 -3
  64. package/package/components/LogViewer.svelte +10 -5
  65. package/package/components/LoginPageHeader.svelte +16 -0
  66. package/package/components/LoginPageHeader.svelte.d.ts +23 -0
  67. package/package/components/Modal.svelte +2 -2
  68. package/package/components/ModulePreview.svelte +15 -5
  69. package/package/components/ModulePreview.svelte.d.ts +6 -1
  70. package/package/components/ModuleStatus.svelte +2 -2
  71. package/package/components/MoveDrawer.svelte +3 -3
  72. package/package/components/ObjectResourceInput.svelte +2 -0
  73. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  74. package/package/components/Password.svelte +8 -3
  75. package/package/components/Password.svelte.d.ts +1 -0
  76. package/package/components/Path.svelte +31 -18
  77. package/package/components/Path.svelte.d.ts +4 -0
  78. package/package/components/RadioButton.svelte +3 -3
  79. package/package/components/Range.svelte.d.ts +0 -3
  80. package/package/components/Required.svelte +2 -2
  81. package/package/components/ResourceEditor.svelte +10 -9
  82. package/package/components/ResourcePicker.svelte +31 -6
  83. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  84. package/package/components/ResultJobLoader.svelte.d.ts +2 -2
  85. package/package/components/RunForm.svelte +69 -59
  86. package/package/components/RunForm.svelte.d.ts +1 -0
  87. package/package/components/RunPageSchedules.svelte +169 -0
  88. package/package/components/RunPageSchedules.svelte.d.ts +18 -0
  89. package/package/components/SavedInputs.svelte +36 -18
  90. package/package/components/ScheduleEditor.svelte +23 -11
  91. package/package/components/SchemaEditor.svelte +16 -8
  92. package/package/components/SchemaForm.svelte +7 -9
  93. package/package/components/SchemaForm.svelte.d.ts +1 -0
  94. package/package/components/SchemaModal.svelte +41 -13
  95. package/package/components/SchemaModal.svelte.d.ts +2 -1
  96. package/package/components/SchemaViewer.svelte +1 -1
  97. package/package/components/ScriptBuilder.svelte +147 -76
  98. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  99. package/package/components/ScriptEditor.svelte +22 -2
  100. package/package/components/ScriptEditor.svelte.d.ts +6 -3
  101. package/package/components/ScriptPicker.svelte +84 -32
  102. package/package/components/ScriptPicker.svelte.d.ts +1 -0
  103. package/package/components/ScriptVersionHistory.svelte +20 -2
  104. package/package/components/ScriptVersionHistory.svelte.d.ts +3 -0
  105. package/package/components/SharedBadge.svelte +1 -1
  106. package/package/components/SimpleEditor.svelte +25 -10
  107. package/package/components/SimpleEditor.svelte.d.ts +9 -0
  108. package/package/components/Star.svelte +5 -1
  109. package/package/components/StringTypeNarrowing.svelte +2 -2
  110. package/package/components/SupabaseConnect.svelte +160 -0
  111. package/package/components/SupabaseConnect.svelte.d.ts +19 -0
  112. package/package/components/SuperadminSettings.svelte +9 -8
  113. package/package/components/TableCustom.svelte +2 -2
  114. package/package/components/TableSimple.svelte +5 -5
  115. package/package/components/TemplateEditor.svelte +0 -10
  116. package/package/components/TestConnection.svelte +72 -0
  117. package/package/components/TestConnection.svelte.d.ts +17 -0
  118. package/package/components/TestJobLoader.svelte.d.ts +4 -3
  119. package/package/components/Toast.svelte +7 -5
  120. package/package/components/Toggle.svelte +3 -3
  121. package/package/components/ToggleHubWorkspace.svelte +6 -9
  122. package/package/components/Tooltip.svelte +2 -2
  123. package/package/components/Uptodate.svelte +2 -2
  124. package/package/components/UserSettings.svelte +10 -10
  125. package/package/components/VariableEditor.svelte +21 -20
  126. package/package/components/Version.svelte +3 -1
  127. package/package/components/WhitelistIp.svelte +1 -1
  128. package/package/components/apps/components/buttons/AppButton.svelte +2 -2
  129. package/package/components/apps/components/buttons/AppForm.svelte +5 -4
  130. package/package/components/apps/components/buttons/AppFormButton.svelte +1 -1
  131. package/package/components/apps/components/buttons/AppSchemaForm.svelte +1 -1
  132. package/package/components/apps/components/display/AppBarChart.svelte +13 -1
  133. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +1 -1
  134. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +64 -0
  135. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +23 -0
  136. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +72 -0
  137. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +23 -0
  138. package/package/components/apps/components/display/AppMap.svelte +4 -10
  139. package/package/components/apps/components/display/AppPdf.svelte +6 -6
  140. package/package/components/apps/components/display/AppText.svelte +19 -19
  141. package/package/components/apps/components/display/PlotlyHtml.svelte +16 -4
  142. package/package/components/apps/components/display/table/AppAggridTable.svelte +16 -12
  143. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  144. package/package/components/apps/components/display/table/AppTable.svelte +149 -124
  145. package/package/components/apps/components/helpers/ComponentErrorHandler.svelte +2 -2
  146. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  147. package/package/components/apps/components/helpers/InputValue.svelte +14 -4
  148. package/package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -0
  149. package/package/components/apps/components/helpers/Loader.svelte +1 -1
  150. package/package/components/apps/components/helpers/MissingConnectionWarning.svelte +1 -1
  151. package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  152. package/package/components/apps/components/helpers/RunnableComponent.svelte +57 -21
  153. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  154. package/package/components/apps/components/helpers/RunnableWrapper.svelte +52 -28
  155. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +15 -2
  156. package/package/components/apps/components/helpers/eval.d.ts +2 -0
  157. package/package/components/apps/components/helpers/eval.js +6 -1
  158. package/package/components/apps/components/inputs/AppCheckbox.svelte +15 -17
  159. package/package/components/apps/components/inputs/AppDateInput.svelte +19 -1
  160. package/package/components/apps/components/inputs/AppMultiSelect.svelte +81 -22
  161. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +2 -0
  162. package/package/components/apps/components/inputs/AppQuillEditor.svelte +29 -3
  163. package/package/components/apps/components/inputs/AppSelect.svelte +18 -7
  164. package/package/components/apps/components/inputs/AppSelectTab.svelte +3 -8
  165. package/package/components/apps/components/inputs/AppTextInput.svelte +4 -0
  166. package/package/components/apps/components/inputs/AppTextInput.svelte.d.ts +2 -0
  167. package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
  168. package/package/components/apps/components/layout/AppList.svelte +54 -62
  169. package/package/components/apps/components/layout/AppModal.svelte +13 -5
  170. package/package/components/apps/components/layout/AppStepper.svelte +1 -1
  171. package/package/components/apps/components/layout/AppTabs.svelte +3 -3
  172. package/package/components/apps/components/layout/ListWrapper.svelte +0 -1
  173. package/package/components/apps/components/layout/RowWrapper.svelte +22 -0
  174. package/package/components/apps/components/layout/RowWrapper.svelte.d.ts +23 -0
  175. package/package/components/apps/editor/AppComponentInput.svelte +1 -1
  176. package/package/components/apps/editor/AppDeploymentHistory.svelte +34 -0
  177. package/package/components/apps/editor/AppDeploymentHistory.svelte.d.ts +17 -0
  178. package/package/components/apps/editor/AppEditor.svelte +13 -4
  179. package/package/components/apps/editor/AppEditorHeader.svelte +78 -41
  180. package/package/components/apps/editor/AppInputs.svelte +1 -1
  181. package/package/components/apps/editor/AppPreview.svelte +14 -5
  182. package/package/components/apps/editor/ComponentHeader.svelte +4 -4
  183. package/package/components/apps/editor/DeploymentHistory.svelte +8 -6
  184. package/package/components/apps/editor/GridEditor.svelte +4 -4
  185. package/package/components/apps/editor/RecomputeAllComponents.svelte +2 -2
  186. package/package/components/apps/editor/SettingsPanel.svelte +4 -5
  187. package/package/components/apps/editor/TabsDebug.svelte +1 -1
  188. package/package/components/apps/editor/component/Component.svelte +21 -1
  189. package/package/components/apps/editor/component/ComponentNavigation.svelte +15 -1
  190. package/package/components/apps/editor/component/components.d.ts +293 -58
  191. package/package/components/apps/editor/component/components.js +146 -4
  192. package/package/components/apps/editor/component/sets.js +2 -2
  193. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +8 -8
  194. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +4 -4
  195. package/package/components/apps/editor/componentsPanel/CssSettings.svelte +2 -2
  196. package/package/components/apps/editor/componentsPanel/ListItem.svelte +3 -3
  197. package/package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
  198. package/package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +3 -3
  199. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +8 -0
  200. package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +3 -3
  201. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
  202. package/package/components/apps/editor/contextPanel/SubGridOutput.svelte +6 -3
  203. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +18 -24
  204. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +1 -0
  205. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +16 -9
  206. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +16 -26
  207. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +71 -51
  208. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +2 -0
  209. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +1 -1
  210. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +21 -1
  211. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte.d.ts +1 -0
  212. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -2
  213. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +9 -3
  214. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +33 -11
  215. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  216. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  217. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +24 -11
  218. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +0 -1
  219. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +2 -3
  220. package/package/components/apps/editor/settingsPanel/GridPane.svelte +1 -1
  221. package/package/components/apps/editor/settingsPanel/GridTab.svelte +2 -2
  222. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +0 -1
  223. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +4 -5
  224. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
  225. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -4
  226. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +0 -1
  227. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +0 -2
  228. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +0 -1
  229. package/package/components/apps/editor/settingsPanel/Recompute.svelte +5 -5
  230. package/package/components/apps/editor/settingsPanel/TableActions.svelte +12 -7
  231. package/package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
  232. package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -3
  233. package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte.d.ts +0 -1
  234. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +63 -74
  235. package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
  236. package/package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +3 -7
  237. package/package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +5 -5
  238. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -1
  239. package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +3 -3
  240. package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +4 -4
  241. package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +2 -0
  242. package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +2 -2
  243. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +1 -1
  244. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte +2 -2
  245. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte.d.ts +7 -4
  246. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +2 -2
  247. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +2 -2
  248. package/package/components/apps/rx.d.ts +3 -3
  249. package/package/components/apps/rx.js +4 -5
  250. package/package/components/apps/svelte-select/lib/ChevronIcon.svelte +17 -0
  251. package/package/components/apps/svelte-select/lib/ChevronIcon.svelte.d.ts +23 -0
  252. package/package/components/apps/svelte-select/lib/ClearIcon.svelte +21 -0
  253. package/package/components/apps/svelte-select/lib/ClearIcon.svelte.d.ts +23 -0
  254. package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +12 -0
  255. package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte.d.ts +18 -0
  256. package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +9 -0
  257. package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte.d.ts +18 -0
  258. package/package/components/apps/svelte-select/lib/LoadingIcon.svelte +33 -0
  259. package/package/components/apps/svelte-select/lib/LoadingIcon.svelte.d.ts +23 -0
  260. package/package/components/apps/svelte-select/lib/Select.svelte +1129 -0
  261. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +205 -0
  262. package/package/components/apps/svelte-select/lib/filter.d.ts +13 -0
  263. package/package/components/apps/svelte-select/lib/filter.js +32 -0
  264. package/package/components/apps/svelte-select/lib/get-items.d.ts +11 -0
  265. package/package/components/apps/svelte-select/lib/get-items.js +30 -0
  266. package/package/components/apps/svelte-select/lib/index.d.ts +1 -0
  267. package/package/components/apps/svelte-select/lib/index.js +1 -0
  268. package/package/components/apps/svelte-select/lib/tailwind.css +130 -0
  269. package/package/components/apps/types.d.ts +6 -0
  270. package/package/components/apps/utils.d.ts +1 -5
  271. package/package/components/apps/utils.js +6 -34
  272. package/package/components/codeGen/ScriptFix.svelte +123 -0
  273. package/package/components/codeGen/ScriptFix.svelte.d.ts +22 -0
  274. package/package/components/codeGen/ScriptGen.svelte +218 -0
  275. package/package/components/codeGen/ScriptGen.svelte.d.ts +24 -0
  276. package/package/components/codeGen/index.d.ts +1 -0
  277. package/package/components/codeGen/index.js +1 -0
  278. package/package/components/codeGen/lib.d.ts +28 -0
  279. package/package/components/codeGen/lib.js +217 -0
  280. package/package/components/codeGen/prompts/edit.yaml +94 -0
  281. package/package/components/codeGen/prompts/fix.yaml +113 -0
  282. package/package/components/codeGen/prompts/gen.yaml +49 -0
  283. package/package/components/codeGen/prompts/index.d.ts +12 -0
  284. package/package/components/codeGen/prompts/index.js +7 -0
  285. package/package/components/codeGen/utils.d.ts +4 -0
  286. package/package/components/codeGen/utils.js +79 -0
  287. package/package/components/common/CloseButton.svelte +3 -3
  288. package/package/components/common/actionRow/ActionRow.svelte +1 -1
  289. package/package/components/common/alert/Alert.svelte +18 -18
  290. package/package/components/common/breadcrumb/Breadcrumb.svelte +1 -1
  291. package/package/components/common/button/Button.svelte +14 -14
  292. package/package/components/common/button/ButtonDropdown.svelte +2 -2
  293. package/package/components/common/calendarPicker/CalendarPicker.svelte +62 -0
  294. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +19 -0
  295. package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -5
  296. package/package/components/common/drawer/Drawer.svelte +5 -3
  297. package/package/components/common/drawer/DrawerContent.svelte +3 -2
  298. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  299. package/package/components/common/fileInput/FileInput.svelte +3 -3
  300. package/package/components/common/kbd/Kbd.svelte +1 -1
  301. package/package/components/common/languageIcons/LanguageIcon.svelte +22 -1
  302. package/package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  303. package/package/components/common/menu/Menu.svelte +1 -1
  304. package/package/components/common/menu/MenuItem.svelte +1 -1
  305. package/package/components/common/modal/AlwaysMountedModal.svelte +4 -4
  306. package/package/components/common/modal/Modal.svelte +3 -3
  307. package/package/components/common/popup/Popup.svelte +33 -157
  308. package/package/components/common/popup/Popup.svelte.d.ts +6 -45
  309. package/package/components/common/skeleton/SkeletonElement.svelte +1 -1
  310. package/package/components/common/stepper/Stepper.svelte +3 -3
  311. package/package/components/common/table/AppRow.svelte +36 -24
  312. package/package/components/common/table/FlowRow.svelte +13 -39
  313. package/package/components/common/table/RawAppRow.svelte +1 -15
  314. package/package/components/common/table/Row.svelte +22 -23
  315. package/package/components/common/table/RowIcon.svelte +7 -7
  316. package/package/components/common/table/ScriptRow.svelte +17 -41
  317. package/package/components/common/table/Table.svelte +1 -1
  318. package/package/components/common/tabs/Tab.svelte +1 -1
  319. package/package/components/common/tabs/Tabs.svelte +1 -4
  320. package/package/components/common/toggleButton-v2/ToggleButton.svelte +9 -2
  321. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +1 -0
  322. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  323. package/package/components/details/ClipboardPanel.svelte +19 -0
  324. package/package/components/details/ClipboardPanel.svelte.d.ts +17 -0
  325. package/package/components/details/DetailPageDetailPanel.svelte +92 -0
  326. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +23 -0
  327. package/package/components/details/DetailPageHeader.svelte +66 -0
  328. package/package/components/details/DetailPageHeader.svelte.d.ts +29 -0
  329. package/package/components/details/DetailPageLayout.svelte +51 -0
  330. package/package/components/details/DetailPageLayout.svelte.d.ts +35 -0
  331. package/package/components/details/Menu.svelte +53 -0
  332. package/package/components/details/Menu.svelte.d.ts +18 -0
  333. package/package/components/details/WebhooksPanel.svelte +236 -0
  334. package/package/components/details/WebhooksPanel.svelte.d.ts +29 -0
  335. package/package/components/details/createAppFromScript.d.ts +719 -0
  336. package/package/components/details/createAppFromScript.js +723 -0
  337. package/package/components/details/utils.d.ts +8 -0
  338. package/package/components/details/utils.js +50 -0
  339. package/package/components/flows/FlowEditor.svelte +1 -1
  340. package/package/components/flows/common/FlowCardHeader.svelte +4 -4
  341. package/package/components/flows/content/CapturePayload.svelte +2 -2
  342. package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
  343. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  344. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
  345. package/package/components/flows/content/FlowConstants.svelte +43 -3
  346. package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
  347. package/package/components/flows/content/FlowInputs.svelte +85 -34
  348. package/package/components/flows/content/FlowInputsFlow.svelte +2 -2
  349. package/package/components/flows/content/FlowLoop.svelte +29 -29
  350. package/package/components/flows/content/FlowModuleComponent.svelte +61 -1
  351. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +2 -0
  352. package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte +51 -0
  353. package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte.d.ts +17 -0
  354. package/package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  355. package/package/components/flows/content/FlowModuleHeader.svelte +57 -37
  356. package/package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  357. package/package/components/flows/content/FlowModuleTimeout.svelte +43 -0
  358. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +17 -0
  359. package/package/components/flows/content/FlowModuleWrapper.svelte +6 -0
  360. package/package/components/flows/content/FlowRetries.svelte +3 -3
  361. package/package/components/flows/content/FlowSchedules.svelte +1 -1
  362. package/package/components/flows/content/FlowSettings.svelte +102 -24
  363. package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
  364. package/package/components/flows/flowStateUtils.js +1 -1
  365. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
  366. package/package/components/flows/idUtils.js +1 -1
  367. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  368. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  369. package/package/components/flows/map/FlowModuleSchemaItem.svelte +24 -12
  370. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  371. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  372. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  373. package/package/components/flows/map/InsertModuleButton.svelte +10 -10
  374. package/package/components/flows/map/MapItem.svelte +10 -6
  375. package/package/components/flows/map/VirtualItem.svelte +10 -8
  376. package/package/components/flows/map/VirtualItem.svelte.d.ts +1 -1
  377. package/package/components/flows/pickers/FlowScriptPicker.svelte +28 -21
  378. package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  379. package/package/components/flows/pickers/PickHubApp.svelte +3 -3
  380. package/package/components/flows/pickers/PickHubFlow.svelte +3 -3
  381. package/package/components/flows/pickers/PickHubScript.svelte +6 -6
  382. package/package/components/flows/pickers/WorkspaceScriptPicker.svelte +2 -2
  383. package/package/components/flows/utils.js +2 -1
  384. package/package/components/graph/FlowGraph.svelte +53 -34
  385. package/package/components/graph/svelvet/container/views/GraphView.svelte +12 -17
  386. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -4
  387. package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +2 -2
  388. package/package/components/home/ItemsList.svelte +13 -9
  389. package/package/components/home/ListFilters.svelte +2 -1
  390. package/package/components/home/ListFilters.svelte.d.ts +1 -0
  391. package/package/components/home/NoItemFound.svelte +1 -1
  392. package/package/components/icons/BigQueryIcon.svelte +36 -0
  393. package/package/components/icons/BigQueryIcon.svelte.d.ts +17 -0
  394. package/package/components/icons/PowershellIcon.svelte +56 -0
  395. package/package/components/icons/PowershellIcon.svelte.d.ts +17 -0
  396. package/package/components/icons/RestIcon.svelte +21 -0
  397. package/package/components/icons/RestIcon.svelte.d.ts +17 -0
  398. package/package/components/jobs/JobDetail.svelte +21 -21
  399. package/package/components/jobs/JobPreview.svelte +6 -6
  400. package/package/components/preview/FlowPreviewStatus.svelte +2 -2
  401. package/package/components/progressBar/ProgressBar.svelte +2 -2
  402. package/package/components/propertyPicker/ObjectViewer.svelte +13 -18
  403. package/package/components/propertyPicker/PropPicker.svelte +5 -2
  404. package/package/components/scriptEditor/LogPanel.svelte +13 -4
  405. package/package/components/scriptEditor/LogPanel.svelte.d.ts +4 -0
  406. package/package/components/sidebar/DarkModeToggle.svelte +30 -0
  407. package/package/components/sidebar/DarkModeToggle.svelte.d.ts +17 -0
  408. package/package/components/sidebar/FavoriteMenu.svelte +4 -3
  409. package/package/components/sidebar/MenuLink.svelte +3 -2
  410. package/package/components/sidebar/MultiplayerMenu.svelte +2 -2
  411. package/package/components/sidebar/SidebarContent.svelte +9 -1
  412. package/package/components/sidebar/UserMenu.svelte +11 -10
  413. package/package/components/sidebar/WorkspaceMenu.svelte +11 -10
  414. package/package/components/theme/nord.json +93 -0
  415. package/package/defaults.d.ts +1 -0
  416. package/package/defaults.js +2 -1
  417. package/package/editorUtils.js +2 -0
  418. package/package/gen/core/CancelablePromise.js +1 -0
  419. package/package/gen/core/OpenAPI.d.ts +5 -5
  420. package/package/gen/core/OpenAPI.js +1 -1
  421. package/package/gen/core/request.d.ts +17 -0
  422. package/package/gen/core/request.js +27 -16
  423. package/package/gen/index.d.ts +43 -1
  424. package/package/gen/index.js +2 -0
  425. package/package/gen/models/AccountId.d.ts +1 -0
  426. package/package/gen/models/{Postgresql.js → AccountId.js} +1 -0
  427. package/package/gen/models/ActionKind.d.ts +9 -0
  428. package/package/gen/models/ActionKind.js +14 -0
  429. package/package/gen/models/After.d.ts +4 -0
  430. package/package/gen/models/After.js +5 -0
  431. package/package/gen/models/AppWithLastVersion.js +1 -0
  432. package/package/gen/models/AppWithLastVersionWDraft.js +1 -0
  433. package/package/gen/models/ArgsFilter.d.ts +4 -0
  434. package/package/gen/models/ArgsFilter.js +5 -0
  435. package/package/gen/models/AuditLog.js +1 -0
  436. package/package/gen/models/Before.d.ts +4 -0
  437. package/package/gen/models/Before.js +5 -0
  438. package/package/gen/models/BranchAll.js +1 -0
  439. package/package/gen/models/BranchOne.js +1 -0
  440. package/package/gen/models/ClientName.d.ts +1 -0
  441. package/package/gen/models/ClientName.js +5 -0
  442. package/package/gen/models/CompletedJob.d.ts +8 -4
  443. package/package/gen/models/CompletedJob.js +7 -2
  444. package/package/gen/models/ContextualVariable.js +1 -0
  445. package/package/gen/models/CreateInput.js +1 -0
  446. package/package/gen/models/CreateResource.js +1 -0
  447. package/package/gen/models/CreateVariable.js +1 -0
  448. package/package/gen/models/CreateWorkspace.js +1 -0
  449. package/package/gen/models/CreatedBy.d.ts +4 -0
  450. package/package/gen/models/CreatedBy.js +5 -0
  451. package/package/gen/models/EditResource.js +1 -0
  452. package/package/gen/models/EditResourceType.js +1 -0
  453. package/package/gen/models/EditSchedule.js +1 -0
  454. package/package/gen/models/EditVariable.js +1 -0
  455. package/package/gen/models/EditWorkspaceUser.js +1 -0
  456. package/package/gen/models/Flow.js +1 -0
  457. package/package/gen/models/FlowMetadata.d.ts +1 -0
  458. package/package/gen/models/FlowMetadata.js +1 -0
  459. package/package/gen/models/FlowModule.d.ts +1 -0
  460. package/package/gen/models/FlowModule.js +1 -0
  461. package/package/gen/models/FlowModuleValue.d.ts +1 -2
  462. package/package/gen/models/FlowModuleValue.js +1 -0
  463. package/package/gen/models/FlowPreview.d.ts +1 -0
  464. package/package/gen/models/FlowPreview.js +1 -0
  465. package/package/gen/models/FlowStatus.js +1 -0
  466. package/package/gen/models/FlowStatusModule.js +1 -0
  467. package/package/gen/models/FlowValue.js +1 -0
  468. package/package/gen/models/Folder.js +1 -0
  469. package/package/gen/models/ForloopFlow.js +1 -0
  470. package/package/gen/models/GlobalUserInfo.js +1 -0
  471. package/package/gen/models/Graphql.js +1 -0
  472. package/package/gen/models/Group.js +1 -0
  473. package/package/gen/models/Http.js +1 -0
  474. package/package/gen/models/Identity.js +1 -0
  475. package/package/gen/models/IncludeHeader.d.ts +6 -0
  476. package/package/gen/models/IncludeHeader.js +5 -0
  477. package/package/gen/models/Input.d.ts +1 -0
  478. package/package/gen/models/Input.js +1 -0
  479. package/package/gen/models/InputId.d.ts +1 -0
  480. package/package/gen/models/InputId.js +5 -0
  481. package/package/gen/models/InputTransform.js +1 -0
  482. package/package/gen/models/InstanceGroup.d.ts +4 -0
  483. package/package/gen/models/InstanceGroup.js +5 -0
  484. package/package/gen/models/JavascriptTransform.js +1 -0
  485. package/package/gen/models/Job.js +1 -0
  486. package/package/gen/models/JobId.d.ts +1 -0
  487. package/package/gen/models/JobId.js +5 -0
  488. package/package/gen/models/JobKinds.d.ts +4 -0
  489. package/package/gen/models/JobKinds.js +5 -0
  490. package/package/gen/models/ListableApp.js +1 -0
  491. package/package/gen/models/ListableRawApp.js +1 -0
  492. package/package/gen/models/ListableResource.js +1 -0
  493. package/package/gen/models/ListableVariable.js +1 -0
  494. package/package/gen/models/Login.js +1 -0
  495. package/package/gen/models/MainArgSignature.js +1 -0
  496. package/package/gen/models/Name.d.ts +1 -0
  497. package/package/gen/models/Name.js +5 -0
  498. package/package/gen/models/NewJobId.d.ts +4 -0
  499. package/package/gen/models/NewJobId.js +5 -0
  500. package/package/gen/models/NewSchedule.js +1 -0
  501. package/package/gen/models/NewScript.d.ts +9 -1
  502. package/package/gen/models/NewScript.js +7 -0
  503. package/package/gen/models/NewScriptWithDraft.js +1 -0
  504. package/package/gen/models/NewToken.js +1 -0
  505. package/package/gen/models/NewTokenImpersonate.js +1 -0
  506. package/package/gen/models/NewUser.js +1 -0
  507. package/package/gen/models/OpenFlow.js +1 -0
  508. package/package/gen/models/OpenFlowWPath.d.ts +1 -0
  509. package/package/gen/models/OpenFlowWPath.js +1 -0
  510. package/package/gen/models/Operation.d.ts +4 -0
  511. package/package/gen/models/Operation.js +5 -0
  512. package/package/gen/models/OrderDesc.d.ts +4 -0
  513. package/package/gen/models/OrderDesc.js +5 -0
  514. package/package/gen/models/Page.d.ts +4 -0
  515. package/package/gen/models/Page.js +5 -0
  516. package/package/gen/models/ParentJob.d.ts +4 -0
  517. package/package/gen/models/ParentJob.js +5 -0
  518. package/package/gen/models/Path.d.ts +1 -0
  519. package/package/gen/models/Path.js +5 -0
  520. package/package/gen/models/PathFlow.js +1 -0
  521. package/package/gen/models/PathId.d.ts +1 -0
  522. package/package/gen/models/PathId.js +5 -0
  523. package/package/gen/models/PathScript.js +1 -0
  524. package/package/gen/models/Payload.d.ts +6 -0
  525. package/package/gen/models/Payload.js +5 -0
  526. package/package/gen/models/PerPage.d.ts +4 -0
  527. package/package/gen/models/PerPage.js +5 -0
  528. package/package/gen/models/Policy.js +1 -0
  529. package/package/gen/models/Preview.d.ts +7 -3
  530. package/package/gen/models/Preview.js +7 -2
  531. package/package/gen/models/QueueLimit.d.ts +5 -0
  532. package/package/gen/models/QueueLimit.js +5 -0
  533. package/package/gen/models/QueuedJob.d.ts +8 -4
  534. package/package/gen/models/QueuedJob.js +7 -2
  535. package/package/gen/models/RawScript.d.ts +8 -1
  536. package/package/gen/models/RawScript.js +6 -0
  537. package/package/gen/models/Resource.js +1 -0
  538. package/package/gen/models/ResourceName.d.ts +4 -0
  539. package/package/gen/models/ResourceName.js +5 -0
  540. package/package/gen/models/ResourceType.js +1 -0
  541. package/package/gen/models/ResultFilter.d.ts +4 -0
  542. package/package/gen/models/ResultFilter.js +5 -0
  543. package/package/gen/models/Retry.js +1 -0
  544. package/package/gen/models/RunnableId.d.ts +1 -0
  545. package/package/gen/models/RunnableId.js +5 -0
  546. package/package/gen/models/RunnableType.js +1 -0
  547. package/package/gen/models/RunnableTypeQuery.d.ts +2 -0
  548. package/package/gen/models/RunnableTypeQuery.js +5 -0
  549. package/package/gen/models/Running.d.ts +4 -0
  550. package/package/gen/models/Running.js +5 -0
  551. package/package/gen/models/Schedule.js +1 -0
  552. package/package/gen/models/SchedulePath.d.ts +4 -0
  553. package/package/gen/models/SchedulePath.js +5 -0
  554. package/package/gen/models/ScheduleWJobs.js +1 -0
  555. package/package/gen/models/Script.d.ts +9 -1
  556. package/package/gen/models/Script.js +7 -0
  557. package/package/gen/models/ScriptArgs.js +1 -0
  558. package/package/gen/models/ScriptExactHash.d.ts +4 -0
  559. package/package/gen/models/ScriptExactHash.js +5 -0
  560. package/package/gen/models/ScriptExactPath.d.ts +4 -0
  561. package/package/gen/models/ScriptExactPath.js +5 -0
  562. package/package/gen/models/ScriptHash.d.ts +1 -0
  563. package/package/gen/models/ScriptHash.js +5 -0
  564. package/package/gen/models/ScriptPath.d.ts +1 -0
  565. package/package/gen/models/ScriptPath.js +5 -0
  566. package/package/gen/models/ScriptStartPath.d.ts +4 -0
  567. package/package/gen/models/ScriptStartPath.js +5 -0
  568. package/package/gen/models/SlackToken.js +1 -0
  569. package/package/gen/models/StartedAfter.d.ts +4 -0
  570. package/package/gen/models/StartedAfter.js +5 -0
  571. package/package/gen/models/StartedBefore.d.ts +4 -0
  572. package/package/gen/models/StartedBefore.js +5 -0
  573. package/package/gen/models/StaticTransform.js +1 -0
  574. package/package/gen/models/Success.d.ts +4 -0
  575. package/package/gen/models/Success.js +5 -0
  576. package/package/gen/models/Suspended.d.ts +4 -0
  577. package/package/gen/models/Suspended.js +5 -0
  578. package/package/gen/models/Tag.d.ts +4 -0
  579. package/package/gen/models/Tag.js +5 -0
  580. package/package/gen/models/Token.d.ts +1 -0
  581. package/package/gen/models/Token.js +5 -0
  582. package/package/gen/models/TokenResponse.js +1 -0
  583. package/package/gen/models/TruncatedToken.js +1 -0
  584. package/package/gen/models/UpdateInput.js +1 -0
  585. package/package/gen/models/Usage.js +1 -0
  586. package/package/gen/models/User.js +1 -0
  587. package/package/gen/models/UserWorkspaceList.js +1 -0
  588. package/package/gen/models/Username.d.ts +4 -0
  589. package/package/gen/models/Username.js +5 -0
  590. package/package/gen/models/VersionId.d.ts +1 -0
  591. package/package/gen/models/VersionId.js +5 -0
  592. package/package/gen/models/WorkerPing.d.ts +1 -0
  593. package/package/gen/models/WorkerPing.js +1 -0
  594. package/package/gen/models/Workspace.js +1 -0
  595. package/package/gen/models/WorkspaceId.d.ts +1 -0
  596. package/package/gen/models/WorkspaceId.js +5 -0
  597. package/package/gen/models/WorkspaceInvite.js +1 -0
  598. package/package/gen/services/GroupService.d.ts +15 -0
  599. package/package/gen/services/GroupService.js +25 -0
  600. package/package/gen/services/JobService.d.ts +2 -2
  601. package/package/gen/services/JobService.js +2 -2
  602. package/package/gen/services/OauthService.d.ts +5 -2
  603. package/package/gen/services/OauthService.js +1 -1
  604. package/package/gen/services/ScheduleService.d.ts +6 -1
  605. package/package/gen/services/ScheduleService.js +3 -1
  606. package/package/gen/services/ScriptService.d.ts +1 -1
  607. package/package/gen/services/UserService.d.ts +8 -0
  608. package/package/gen/services/UserService.js +14 -0
  609. package/package/gen/services/WorkspaceService.d.ts +38 -0
  610. package/package/gen/services/WorkspaceService.js +46 -0
  611. package/package/infer.d.ts +6 -2
  612. package/package/infer.js +55 -2
  613. package/package/script_helpers.d.ts +9 -3
  614. package/package/script_helpers.js +77 -57
  615. package/package/scripts.d.ts +3 -1
  616. package/package/scripts.js +26 -2
  617. package/package/stores.d.ts +3 -0
  618. package/package/stores.js +3 -0
  619. package/package/utils.d.ts +5 -3
  620. package/package/utils.js +19 -7
  621. package/package.json +23 -19
  622. package/package/components/common/table/LanguageBadge.svelte +0 -40
  623. package/package/components/common/table/LanguageBadge.svelte.d.ts +0 -17
  624. package/package/gen/models/Postgresql.d.ts +0 -3
@@ -0,0 +1,8 @@
1
+ import { Script } from '../../gen';
2
+ export declare function deleteScript(hash: string, workspace: string): Promise<Script>;
3
+ export declare function archiveScript(hash: string, workspace: string): Promise<Script>;
4
+ export declare function unarchiveScript(hash: string, workspace: string): Promise<string>;
5
+ export declare function getScriptDeploymentStatus(hash: string, workspace: string): Promise<any>;
6
+ export declare function loadScript(hash: string, workspace: string): Promise<any>;
7
+ export declare function runScript(scheduledForStr: string | undefined, args: Record<string, any>, hash: string, workspace: string, invisibleToOwner?: boolean): Promise<string>;
8
+ export declare function curlCommand(async: boolean, args: any, $page: any, workspace: string, script: any): string;
@@ -0,0 +1,50 @@
1
+ import { ScriptService, JobService, Script } from '../../gen';
2
+ export async function deleteScript(hash, workspace) {
3
+ return await ScriptService.deleteScriptByHash({ workspace: workspace, hash });
4
+ }
5
+ export async function archiveScript(hash, workspace) {
6
+ return await ScriptService.archiveScriptByHash({ workspace: workspace, hash });
7
+ }
8
+ export async function unarchiveScript(hash, workspace) {
9
+ const r = await ScriptService.getScriptByHash({ workspace: workspace, hash });
10
+ const ns = await ScriptService.createScript({
11
+ workspace: workspace,
12
+ requestBody: {
13
+ ...r,
14
+ parent_hash: hash,
15
+ lock: r.lock?.split('\n')
16
+ }
17
+ });
18
+ return ns;
19
+ }
20
+ export async function getScriptDeploymentStatus(hash, workspace) {
21
+ return await ScriptService.getScriptDeploymentStatus({
22
+ workspace: workspace,
23
+ hash: hash
24
+ });
25
+ }
26
+ export async function loadScript(hash, workspace) {
27
+ let script;
28
+ try {
29
+ script = await ScriptService.getScriptByHash({ workspace: workspace, hash });
30
+ }
31
+ catch {
32
+ script = await ScriptService.getScriptByPath({ workspace: workspace, path: hash });
33
+ hash = script.hash;
34
+ }
35
+ return { script, hash };
36
+ }
37
+ export async function runScript(scheduledForStr, args, hash, workspace, invisibleToOwner) {
38
+ const scheduledFor = scheduledForStr ? new Date(scheduledForStr).toISOString() : undefined;
39
+ let run = await JobService.runScriptByHash({
40
+ workspace: workspace,
41
+ hash: hash,
42
+ requestBody: args,
43
+ scheduledFor,
44
+ invisibleToOwner
45
+ });
46
+ return run;
47
+ }
48
+ export function curlCommand(async, args, $page, workspace, script) {
49
+ return `curl -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d '${JSON.stringify(args)}' ${$page.url.protocol}//${$page.url.hostname}/api/w/${workspace}/jobs/run${async ? '' : '_wait_result'}/p/${script?.path}`;
50
+ }
@@ -12,7 +12,7 @@ let size = 40;
12
12
  <div class="h-full overflow-hidden border-t">
13
13
  <Splitpanes>
14
14
  <Pane {size} minSize={15} class="h-full relative z-0">
15
- <div class="grow overflow-auto bg-gray h-full bg-gray-50 relative">
15
+ <div class="grow overflow-auto bg-gray h-full bg-surface-secondary relative">
16
16
  {#if loading}
17
17
  <div class="p-2 pt-10">
18
18
  {#each new Array(6) as _}
@@ -31,7 +31,7 @@ $: $workspaceStore &&
31
31
  {#if flowModule.value.type === 'identity'}
32
32
  <span class="font-bold text-xs">Identity (input copied to output)</span>
33
33
  {:else if flowModule?.value.type === 'rawscript'}
34
- <div class="w-4 mx-0.5">
34
+ <div class="w-8 mx-0.5">
35
35
  <LanguageIcon lang={flowModule.value.language} class="w-4 h-4" />
36
36
  </div>
37
37
  <input bind:value={flowModule.summary} placeholder={'Summary'} class="w-full grow" />
@@ -54,7 +54,7 @@ $: $workspaceStore &&
54
54
  <Button
55
55
  title="Unlock hash to always use latest deployed version at that path"
56
56
  size="xs"
57
- btnClasses="text-gray-600 inline-flex gap-1 items-center"
57
+ btnClasses="text-tertiary inline-flex gap-1 items-center"
58
58
  color="light"
59
59
  on:click={() => {
60
60
  if (flowModule?.value.type == 'script') {
@@ -67,7 +67,7 @@ $: $workspaceStore &&
67
67
  title="Lock hash to always use this specific version"
68
68
  color="light"
69
69
  size="xs"
70
- btnClasses="text-gray-600 inline-flex gap-1 items-center"
70
+ btnClasses="text-tertiary inline-flex gap-1 items-center"
71
71
  on:click={() => {
72
72
  if (flowModule?.value.type == 'script') {
73
73
  flowModule.value.hash = latestHash
@@ -84,7 +84,7 @@ $: $workspaceStore &&
84
84
  </span>
85
85
  {/if}
86
86
  {#if title}
87
- <div class="text-sm font-bold text-gray-900">{title}</div>
87
+ <div class="text-sm font-bold text-primary">{title}</div>
88
88
  {/if}
89
89
  <slot />
90
90
  </div>
@@ -62,7 +62,7 @@ let hostname = BROWSER ? window.location.protocol + '//' + window.location.host
62
62
  <Icon data={faClipboard} /></a
63
63
  >
64
64
  </div>
65
- <p class="text-gray-600 mt-4 text-xs">CURL example</p>
65
+ <p class="text-secondary mt-4 text-xs">CURL example</p>
66
66
 
67
67
  <div class="text-xs box mb-4 b">
68
68
  <pre class="overflow-auto"
@@ -71,7 +71,7 @@ let hostname = BROWSER ? window.location.protocol + '//' + window.location.host
71
71
  -d '{"foo": 42}'`}</pre
72
72
  >
73
73
  </div>
74
- <div class="items-center flex flex-row gap-x-2 text-xs text-gray-600">
74
+ <div class="items-center flex flex-row gap-x-2 text-xs text-secondary">
75
75
  Listening for new requests
76
76
  <WindmillIcon class="animate-[pulse_5s_linear_infinite]" spin="fast" /></div
77
77
  >
@@ -20,7 +20,7 @@ $: opened = false;
20
20
  {#if opened}
21
21
  <div
22
22
  transition:slide|local
23
- class="bg-gray-100 border-l-4 border-gray-600 text-gray-700 p-4 m-4"
23
+ class="bg-gray-100 border-l-4 border-gray-600 text-secondary p-4 m-4"
24
24
  role="alert"
25
25
  id="dynamic-input-help-box"
26
26
  >
@@ -64,7 +64,7 @@ let selected = 'early-stop';
64
64
  <Tab value="sleep">Sleep</Tab>
65
65
  <Tab value="mock">Mock</Tab>
66
66
  <svelte:fragment slot="content">
67
- <div class="overflow-hidden bg-white">
67
+ <div class="overflow-hidden bg-surface">
68
68
  <TabContent value="early-stop" class="flex flex-col flex-1 h-full">
69
69
  <div class="p-4 overflow-y-auto">
70
70
  <FlowModuleEarlyStop bind:flowModule />
@@ -32,7 +32,7 @@ let selected = 'early-stop';
32
32
  <div class="py-2">
33
33
  <div class="flex flex-row gap-2 text-sm p-2">
34
34
  <Badge large={true} color="blue">Default branch</Badge>
35
- <p class="italic text-gray-600"
35
+ <p class="italic text-tertiary"
36
36
  >If none of the predicates' expressions evaluated in-order match, this branch is
37
37
  chosen</p
38
38
  >
@@ -64,7 +64,7 @@ let selected = 'early-stop';
64
64
  <Tab value="sleep">Sleep</Tab>
65
65
  <Tab value="mock">Mock</Tab>
66
66
  <svelte:fragment slot="content">
67
- <div class="overflow-hidden bg-white">
67
+ <div class="overflow-hidden bg-surface">
68
68
  <TabContent value="early-stop" class="flex flex-col flex-1 h-full">
69
69
  <div class="p-4 overflow-y-auto">
70
70
  <FlowModuleEarlyStop bind:flowModule />
@@ -7,9 +7,34 @@ import Toggle from '../../Toggle.svelte';
7
7
  import InputTransformSchemaForm from '../../InputTransformSchemaForm.svelte';
8
8
  let hideOptional = false;
9
9
  const { flowStateStore, flowStore } = getContext('FlowEditorContext');
10
- $: steps = dfs($flowStore.value.modules, (x) => x)
10
+ $: scriptModules = dfs($flowStore.value.modules, (x) => x)
11
11
  .map((x) => [x.value, x])
12
- .filter((x) => x[0].type == 'script' || x[0].type == 'rawscript')
12
+ .filter((x) => x[0].type == 'script' || x[0].type == 'rawscript');
13
+ $: resources = Object.fromEntries(scriptModules
14
+ .map(([v, m]) => [
15
+ m.id,
16
+ Object.entries(v.input_transforms)
17
+ .map((x) => {
18
+ let schema = $flowStateStore[m.id]?.schema;
19
+ let val = undefined;
20
+ const [k, inputTransform] = x;
21
+ const v = schema.properties[k];
22
+ if (v.format?.includes('resource') &&
23
+ inputTransform.type === 'static' &&
24
+ (inputTransform.value === '' ||
25
+ inputTransform.value === undefined ||
26
+ inputTransform.value === null)) {
27
+ val = {
28
+ argName: k,
29
+ type: v.format.split('-')[1]
30
+ };
31
+ }
32
+ return val;
33
+ })
34
+ .filter(Boolean)
35
+ ])
36
+ .filter((x) => x[1].length > 0));
37
+ $: steps = scriptModules
13
38
  .map(([v, m]) => [
14
39
  v.input_transforms,
15
40
  Object.entries(v.input_transforms)
@@ -40,6 +65,21 @@ setContext('PropPickerWrapper', {
40
65
  useful when forking a flow to get an overview of all the variables to parametrize that are
41
66
  not exposed directly as flow inputs.</Alert
42
67
  >
68
+ {#if Object.keys(resources).length > 0}
69
+ <Alert type="warning" title="Missing resources" class="m-4">
70
+ The following resources are missing and the flow will not be fully runnable until they are
71
+ set. Add your own resources:
72
+ {#each Object.entries(resources) as [id, r]}
73
+ {#each r as resource}
74
+ <div class="mt-2">
75
+ <Badge color="red">{id}</Badge> is missing a resource of type{' '}
76
+ <Badge color="red">{resource?.type}</Badge> for the input{' '}
77
+ <Badge color="red">{resource?.argName}</Badge>
78
+ </div>
79
+ {/each}
80
+ {/each}
81
+ </Alert>
82
+ {/if}
43
83
  {#if steps.length == 0}
44
84
  <div class="mt-2" />
45
85
  {#if $flowStore.value.modules.length == 0}
@@ -56,7 +96,7 @@ setContext('PropPickerWrapper', {
56
96
  {#each steps as [args, filter, m] (m.id)}
57
97
  {#if filter.length > 0}
58
98
  <div class="relative h-full border-t p-4">
59
- <h2 class="sticky w-full top-0 z-10 inline-flex items-center bg-white py-2">
99
+ <h2 class="sticky w-full top-0 z-10 inline-flex items-center py-2">
60
100
  <span class="mr-4">{m.summary || m.value['path'] || 'Inline script'}</span>
61
101
  <Badge large color="indigo">{m.id}</Badge>
62
102
  </h2>
@@ -12,7 +12,7 @@ const { selectedId, flowStore } = getContext('FlowEditorContext');
12
12
  {:else if $selectedId === 'Input'}
13
13
  <FlowInput />
14
14
  {:else if $selectedId === 'Result'}
15
- <p class="p-4 text-gray-600">Nothing to show about the result node. Happy flow building!</p>
15
+ <p class="p-4 text-secondary">Nothing to show about the result node. Happy flow building!</p>
16
16
  {:else if $selectedId === 'constants'}
17
17
  <FlowConstants />
18
18
  {:else if $selectedId === 'failure'}
@@ -1,14 +1,16 @@
1
- <script>import { Alert, ToggleButton, ToggleButtonGroup } from '../../common';
1
+ <script>import { Alert } from '../../common';
2
2
  import ToggleHubWorkspace from '../../ToggleHubWorkspace.svelte';
3
3
  import Tooltip from '../../Tooltip.svelte';
4
4
  import { RawScript, Script } from '../../../gen';
5
- import { faBolt, faCheck, faCode } from '@fortawesome/free-solid-svg-icons';
6
5
  import { createEventDispatcher } from 'svelte';
7
6
  import FlowScriptPicker from '../pickers/FlowScriptPicker.svelte';
8
7
  import PickHubScript from '../pickers/PickHubScript.svelte';
9
8
  import WorkspaceScriptPicker from '../pickers/WorkspaceScriptPicker.svelte';
10
9
  import { isCloudHosted } from '../../../cloud';
11
10
  import { sendUserToast } from '../../../toast';
11
+ import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
12
+ import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
13
+ import { Check, Code, Zap } from 'lucide-svelte';
12
14
  export let failureModule;
13
15
  export let shouldDisableTriggerScripts = false;
14
16
  export let summary = undefined;
@@ -33,37 +35,26 @@ let filter = '';
33
35
  <div class="center-center">
34
36
  <div class="max-w-min">
35
37
  <ToggleButtonGroup bind:selected={kind}>
36
- <ToggleButton position="left" value="script" size="sm" startIcon={{ icon: faCode }}>
37
- Action &nbsp;<Tooltip>
38
- An action script is simply a script that is neither a trigger nor an approval
39
- script. Those are the majority of the scripts.
40
- </Tooltip>
41
- </ToggleButton>
38
+ <ToggleButton
39
+ value="script"
40
+ icon={Code}
41
+ label="Action"
42
+ tooltip="An action script is simply a script that is neither a trigger nor an approval script. Those are the majority of the scripts."
43
+ />
42
44
  {#if !shouldDisableTriggerScripts}
43
45
  <ToggleButton
44
- position="center"
45
46
  value="trigger"
46
- size="sm"
47
- startIcon={{ icon: faBolt }}
48
- >
49
- Trigger &nbsp;<Tooltip
50
- documentationLink="https://www.windmill.dev/docs/flows/flow_trigger"
51
- >
52
- Used as a first step most commonly with a state and a schedule to watch for
53
- changes on an external system, compute the diff since last time and set the new
54
- state. The diffs are then treated one by one with a for-loop.
55
- </Tooltip>
56
- </ToggleButton>
47
+ icon={Zap}
48
+ label="Trigger"
49
+ tooltip="Used as a first step most commonly with a state and a schedule to watch for changes on an external system, compute the diff since last time and set the new state. The diffs are then treated one by one with a for-loop."
50
+ />
57
51
  {/if}
58
- <ToggleButton position="right" value="approval" size="sm" startIcon={{ icon: faCheck }}>
59
- Approval &nbsp;<Tooltip
60
- documentationLink="https://www.windmill.dev/docs/flows/flow_approval"
61
- >
62
- An approval step will suspend the execution of a flow until it has been approved
63
- through the resume endpoints or the approval page by and solely by the recipients of
64
- those secret urls.
65
- </Tooltip>
66
- </ToggleButton>
52
+ <ToggleButton
53
+ value="approval"
54
+ icon={Check}
55
+ label="Approval"
56
+ tooltip="An approval step will suspend the execution of a flow until it has been approved through the resume endpoints or the approval page by and solely by the recipients of those secret urls."
57
+ />
67
58
  </ToggleButtonGroup>
68
59
  </div>
69
60
  </div>
@@ -85,7 +76,7 @@ let filter = '';
85
76
  <div class="flex flex-row">
86
77
  <div class="flex flex-row flex-wrap gap-2">
87
78
  <FlowScriptPicker
88
- label="Typescript"
79
+ label="TypeScript (Deno)"
89
80
  lang={Script.language.DENO}
90
81
  on:click={() => {
91
82
  dispatch('new', {
@@ -135,13 +126,53 @@ let filter = '';
135
126
  }}
136
127
  />
137
128
 
129
+ <FlowScriptPicker
130
+ label="REST"
131
+ lang={Script.language.NATIVETS}
132
+ on:click={() => {
133
+ dispatch('new', {
134
+ language: RawScript.language.NATIVETS,
135
+ kind,
136
+ subkind: 'flow'
137
+ })
138
+ }}
139
+ />
140
+
138
141
  {#if !failureModule}
139
142
  <FlowScriptPicker
140
- label={`PostgreSQL`}
141
- lang="pgsql"
142
- on:click={() =>
143
- dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'pgsql' })}
143
+ label="PostgreSQL"
144
+ lang={Script.language.POSTGRESQL}
145
+ on:click={() => {
146
+ dispatch('new', {
147
+ language: RawScript.language.POSTGRESQL,
148
+ kind,
149
+ subkind: 'flow'
150
+ })
151
+ }}
152
+ />
153
+ <FlowScriptPicker
154
+ label="MySQL"
155
+ lang={Script.language.MYSQL}
156
+ on:click={() => {
157
+ dispatch('new', {
158
+ language: RawScript.language.MYSQL,
159
+ kind,
160
+ subkind: 'flow'
161
+ })
162
+ }}
144
163
  />
164
+ <FlowScriptPicker
165
+ label="BigQuery"
166
+ lang={Script.language.BIGQUERY}
167
+ on:click={() => {
168
+ dispatch('new', {
169
+ language: RawScript.language.BIGQUERY,
170
+ kind,
171
+ subkind: 'flow'
172
+ })
173
+ }}
174
+ />
175
+
145
176
  <FlowScriptPicker
146
177
  label={`Docker`}
147
178
  lang="docker"
@@ -165,6 +196,14 @@ let filter = '';
165
196
  }}
166
197
  />
167
198
 
199
+ <FlowScriptPicker
200
+ label={`Powershell`}
201
+ lang="powershell"
202
+ on:click={() => {
203
+ dispatch('new', { language: RawScript.language.BASH, kind, subkind: 'powershell' })
204
+ }}
205
+ />
206
+
168
207
  <!-- <FlowScriptPicker
169
208
  label={`MySQL`}
170
209
  lang="mysql"
@@ -173,6 +212,18 @@ let filter = '';
173
212
  /> -->
174
213
  {/if}
175
214
  {/if}
215
+
216
+ <FlowScriptPicker
217
+ label="TypeScript (Bun)"
218
+ lang={Script.language.DENO}
219
+ on:click={() => {
220
+ dispatch('new', {
221
+ language: RawScript.language.DENO,
222
+ kind,
223
+ subkind: 'flow'
224
+ })
225
+ }}
226
+ />
176
227
  </div>
177
228
  </div>
178
229
 
@@ -63,11 +63,11 @@ async function loadFlows() {
63
63
  {#if filter.length > 0 && filteredItems.length == 0}
64
64
  <NoItemFound />
65
65
  {/if}
66
- <ul class="divide-y divide-gray-200 overflow-auto">
66
+ <ul class="divide-y overflow-auto">
67
67
  {#each filteredItems as { path, summary, description, marked }}
68
68
  <li class="flex flex-row w-full">
69
69
  <button
70
- class="py-4 px-1 gap-1 flex flex-row grow hover:bg-blue-50 bg-white transition-all text-black"
70
+ class="p-4 gap-1 flex flex-row grow hover:bg-surface-hover bg-surface transition-all text-primary"
71
71
  on:click={() => {
72
72
  dispatch('pick', { path })
73
73
  }}
@@ -29,11 +29,37 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
29
29
  <Splitpanes horizontal class="!max-h-[calc(100%-48px)]">
30
30
  <Pane size={60} minSize={20} class="p-4">
31
31
  {#if mod.value.type === 'forloopflow'}
32
- <div class="mb-2 text-sm font-bold">
32
+ <div class="flex flex-row gap-8 mt-2 mb-6">
33
+ <div>
34
+ <div class="mb-2 text-sm font-bold"
35
+ >Skip failures <Tooltip
36
+ >If disabled, the flow will fail as soon as one of the iteration fail. Otherwise,
37
+ the error will be collected as the result of the iteration. Regardless of this
38
+ setting, if an error handler is defined, it will process the error.</Tooltip
39
+ ></div
40
+ >
41
+ <Toggle
42
+ bind:checked={mod.value.skip_failures}
43
+ options={{
44
+ right: 'Skip failures'
45
+ }}
46
+ />
47
+ </div>
48
+ <div>
49
+ <div class="mb-2 text-sm font-bold">Run in parallel</div>
50
+ <Toggle
51
+ bind:checked={mod.value.parallel}
52
+ options={{
53
+ right: 'All iterations run in parallel'
54
+ }}
55
+ />
56
+ </div>
57
+ </div>
58
+ <div class="my-2 text-sm font-bold">
33
59
  Iterator expression
34
60
  <Tooltip>
35
61
  List to iterate over. For more information see the
36
- <a href="https://www.windmill.dev/docs/getting_started/flows_quickstart">docs.</a>
62
+ <a href="https://www.windmill.dev/docs/flows/flow_loops">docs.</a>
37
63
  </Tooltip>
38
64
  </div>
39
65
  {#if mod.value.iterator.type == 'javascript'}
@@ -63,32 +89,6 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
63
89
  }}
64
90
  />
65
91
  {/if}
66
- <div class="flex flex-row gap-8">
67
- <div>
68
- <div class="mt-6 mb-2 text-sm font-bold"
69
- >Skip failures <Tooltip
70
- >If disabled, the flow will fail as soon as one of the iteration fail. Otherwise,
71
- the error will be collected as the result of the iteration. Regardless of this
72
- setting, if an error handler is defined, it will process the error.</Tooltip
73
- ></div
74
- >
75
- <Toggle
76
- bind:checked={mod.value.skip_failures}
77
- options={{
78
- right: 'Skip failures'
79
- }}
80
- />
81
- </div>
82
- <div>
83
- <div class="mt-6 mb-2 text-sm font-bold">Run in parallel</div>
84
- <Toggle
85
- bind:checked={mod.value.parallel}
86
- options={{
87
- right: 'All iterations run in parallel'
88
- }}
89
- />
90
- </div>
91
- </div>
92
92
  {/if}
93
93
  </Pane>
94
94
  <Pane size={40} minSize={20} class="flex flex-col flex-1">
@@ -100,7 +100,7 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
100
100
  <Tab value="mock">Mock</Tab>
101
101
 
102
102
  <svelte:fragment slot="content">
103
- <div class="overflow-hidden bg-white" style="height:calc(100% - 32px);">
103
+ <div class="overflow-hidden bg-surface" style="height:calc(100% - 32px);">
104
104
  <!-- <TabContent value="retries" class="flex flex-col flex-1 h-full">
105
105
  <div class="p-4 overflow-y-auto">
106
106
  <FlowRetries bind:flowModule={mod} />
@@ -26,12 +26,19 @@ import FlowPathViewer from './FlowPathViewer.svelte';
26
26
  import InputTransformSchemaForm from '../../InputTransformSchemaForm.svelte';
27
27
  import { schemaToObject } from '../../../schema';
28
28
  import FlowModuleMock from './FlowModuleMock.svelte';
29
+ import Tooltip from '../../Tooltip.svelte';
30
+ import { SecondsInput } from '../../common';
31
+ import DiffEditor from '../../DiffEditor.svelte';
32
+ import FlowModuleTimeout from './FlowModuleTimeout.svelte';
29
33
  const { selectedId, previewArgs, flowStateStore, flowStore, saveDraft } = getContext('FlowEditorContext');
30
34
  export let flowModule;
31
35
  export let failureModule = false;
32
36
  export let parentModule = undefined;
33
37
  export let previousModule;
38
+ export let scriptKind = 'script';
39
+ export let scriptTemplate = 'script';
34
40
  let editor;
41
+ let diffEditor;
35
42
  let modulePreview;
36
43
  let websocketAlive = {
37
44
  pyright: false,
@@ -72,6 +79,9 @@ async function reload(flowModule) {
72
79
  const { input_transforms, schema } = await loadSchemaFromModule(flowModule);
73
80
  validCode = true;
74
81
  inputTransformSchemaForm?.setArgs(input_transforms);
82
+ if (flowModule.value.type == 'rawscript' && flowModule.value.lock != undefined) {
83
+ flowModule.value.lock = undefined;
84
+ }
75
85
  await tick();
76
86
  if (!deepEqual(schema, $flowStateStore[flowModule.id]?.schema)) {
77
87
  if (!$flowStateStore[flowModule.id]) {
@@ -113,6 +123,7 @@ let forceReload = 0;
113
123
  on:toggleSleep={() => selectAdvanced('sleep')}
114
124
  on:toggleMock={() => selectAdvanced('mock')}
115
125
  on:toggleRetry={() => selectAdvanced('retries')}
126
+ on:toggleConcurrency={() => selectAdvanced('concurrency')}
116
127
  on:toggleCache={() => selectAdvanced('cache')}
117
128
  on:toggleStopAfterIf={() => selectAdvanced('early-stop')}
118
129
  on:fork={async () => {
@@ -122,7 +133,6 @@ let forceReload = 0;
122
133
  }}
123
134
  on:reload={async () => {
124
135
  if (flowModule.value.type == 'script') {
125
- console.log('reload')
126
136
  if (flowModule.value.hash != undefined) {
127
137
  flowModule.value.hash = await getLatestHashForScript(flowModule.value.path)
128
138
  }
@@ -148,9 +158,12 @@ let forceReload = 0;
148
158
  <EditorBar
149
159
  {validCode}
150
160
  {editor}
161
+ {diffEditor}
151
162
  lang={flowModule.value['language'] ?? 'deno'}
152
163
  {websocketAlive}
153
164
  iconOnly={width < 850}
165
+ kind={scriptKind}
166
+ template={scriptTemplate}
154
167
  />
155
168
  </div>
156
169
  {/if}
@@ -196,6 +209,12 @@ let forceReload = 0;
196
209
  }}
197
210
  fixedOverflowWidgets={true}
198
211
  />
212
+ <DiffEditor
213
+ bind:this={diffEditor}
214
+ automaticLayout
215
+ fixedOverflowWidgets
216
+ class="hidden h-full"
217
+ />
199
218
  {/key}
200
219
  {:else if flowModule.value.type === 'script'}
201
220
  <div class="border-t border-gray-200">
@@ -234,6 +253,9 @@ let forceReload = 0;
234
253
  pickableProperties={stepPropPicker.pickableProperties}
235
254
  bind:this={modulePreview}
236
255
  mod={flowModule}
256
+ {editor}
257
+ {diffEditor}
258
+ lang={flowModule.value['language'] ?? 'deno'}
237
259
  schema={$flowStateStore[$selectedId]?.schema ?? {}}
238
260
  />
239
261
  {:else if selected === 'advanced'}
@@ -241,11 +263,13 @@ let forceReload = 0;
241
263
  <Tab value="retries">Retries</Tab>
242
264
  {#if !$selectedId.includes('failure')}
243
265
  <Tab value="cache">Cache</Tab>
266
+ <Tab value="concurrency">Concurrency</Tab>
244
267
  <Tab value="early-stop">Early Stop/Break</Tab>
245
268
  <Tab value="suspend">Suspend/Approval</Tab>
246
269
  <Tab value="sleep">Sleep</Tab>
247
270
  <Tab value="mock">Mock</Tab>
248
271
  <Tab value="same_worker">Shared Directory</Tab>
272
+ <Tab value="timeout">Timeout</Tab>
249
273
  {/if}
250
274
  </Tabs>
251
275
  <div class="h-[calc(100%-32px)] overflow-auto p-4">
@@ -269,6 +293,42 @@ let forceReload = 0;
269
293
  <div>
270
294
  <FlowModuleMock bind:flowModule />
271
295
  </div>
296
+ {:else if advancedSelected === 'timeout'}
297
+ <div>
298
+ <FlowModuleTimeout bind:flowModule />
299
+ </div>
300
+ {:else if advancedSelected === 'concurrency'}
301
+ <div>
302
+ <h2 class="pb-4">
303
+ Concurrency Limits
304
+ <Tooltip>Allowed concurrency within a given timeframe</Tooltip>
305
+ </h2>
306
+ </div>
307
+ {#if flowModule.value.type == 'rawscript'}
308
+ <div>
309
+ <div class="text-xs font-bold !mt-2"
310
+ >Max number of executions within the time window</div
311
+ >
312
+ <div class="flex flex-row gap-2 max-w-sm"
313
+ ><input bind:value={flowModule.value.concurrent_limit} type="number" />
314
+ <Button
315
+ size="sm"
316
+ color="light"
317
+ on:click={() => {
318
+ if (flowModule.value.type == 'rawscript') {
319
+ flowModule.value.concurrent_limit = undefined
320
+ }
321
+ }}
322
+ variant="border">Remove Limits</Button
323
+ ></div
324
+ >
325
+ <div class="text-xs font-bold !mt-2">Time window in seconds</div>
326
+ <SecondsInput bind:seconds={flowModule.value.concurrency_time_window_s} />
327
+ </div>
328
+ {:else}
329
+ The concurrency limit of a workspace script is only settable in the script
330
+ metadata itself. For hub scripts, this feature is non available yet.
331
+ {/if}
272
332
  {:else if advancedSelected === 'same_worker'}
273
333
  <div>
274
334
  <Alert type="info" title="Share a directory between steps">
@@ -6,6 +6,8 @@ declare const __propDef: {
6
6
  failureModule?: boolean | undefined;
7
7
  parentModule?: FlowModule | undefined;
8
8
  previousModule: FlowModule | undefined;
9
+ scriptKind?: "script" | "trigger" | "approval" | undefined;
10
+ scriptTemplate?: "script" | "mysql" | "pgsql" | "docker" | "powershell" | undefined;
9
11
  };
10
12
  events: {
11
13
  [evt: string]: CustomEvent<any>;