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
@@ -4,6 +4,13 @@
4
4
  @tailwind utilities;
5
5
 
6
6
  @layer base {
7
+
8
+ *,
9
+ ::before,
10
+ ::after {
11
+ @apply dark:border-gray-600;
12
+ }
13
+
7
14
  @font-face {
8
15
  font-family: 'Inter';
9
16
  src: url('/Inter-Variable.ttf');
@@ -70,3 +77,4 @@
70
77
  display: flex !important;
71
78
  }
72
79
  }
80
+
@@ -45,4 +45,5 @@ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] exte
45
45
  /** An inclusive range of integer numbers */
46
46
  export type IntRange<F extends number, T extends number> = F | Exclude<Enumerate<T>, Enumerate<F>> | T;
47
47
  export declare function pathToMeta(path: string): Meta;
48
+ export declare function prettyLanguage(lang: string): string;
48
49
  export {};
package/package/common.js CHANGED
@@ -24,3 +24,11 @@ export function pathToMeta(path) {
24
24
  name: splitted.slice(2).join('/')
25
25
  };
26
26
  }
27
+ export function prettyLanguage(lang) {
28
+ switch (lang) {
29
+ case 'nativets':
30
+ return 'Native Typescript';
31
+ default:
32
+ return lang.charAt(0).toUpperCase() + lang.slice(1);
33
+ }
34
+ }
@@ -1,9 +1,11 @@
1
1
  <script>import { createEventDispatcher } from 'svelte';
2
- import { workspaceStore } from '../stores';
3
- import { WorkspaceService } from '../gen';
2
+ import { globalEmailInvite, superadmin, workspaceStore } from '../stores';
3
+ import { UserService, WorkspaceService } from '../gen';
4
4
  import { Button, ToggleButton, ToggleButtonGroup } from './common';
5
5
  import Tooltip from './Tooltip.svelte';
6
6
  import { sendUserToast } from '../toast';
7
+ import { isCloudHosted } from '../cloud';
8
+ import { goto } from '$app/navigation';
7
9
  const dispatch = createEventDispatcher();
8
10
  let email;
9
11
  let username;
@@ -25,6 +27,24 @@ async function addUser() {
25
27
  }
26
28
  });
27
29
  sendUserToast(`Added ${email}`);
30
+ if (!(await UserService.existsEmail({ email }))) {
31
+ let isSuperadmin = $superadmin;
32
+ if (!isCloudHosted()) {
33
+ sendUserToast(`User ${email} is not registered yet on the instance. ${!isSuperadmin
34
+ ? `If not using SSO, ask an administrator to add ${email} to the instance`
35
+ : ''}`, true, isSuperadmin
36
+ ? [
37
+ {
38
+ label: 'Add user to the instance',
39
+ callback: () => {
40
+ $globalEmailInvite = email;
41
+ goto('#superadmin-settings');
42
+ }
43
+ }
44
+ ]
45
+ : []);
46
+ }
47
+ }
28
48
  dispatch('new');
29
49
  }
30
50
  let selected = 'author';
@@ -43,15 +63,17 @@ let selected = 'author';
43
63
  <ToggleButton position="left" value="operator" size="sm"
44
64
  >Operator <Tooltip
45
65
  >An operator can only execute and view scripts/flows/apps from your workspace, and only
46
- those that he has visibility on</Tooltip
66
+ those that he has visibility on.</Tooltip
47
67
  ></ToggleButton
48
68
  >
49
69
  <ToggleButton position="center" value="author" size="sm"
50
70
  >Author <Tooltip
51
- >An Author can execute and view scripts/flows/apps, but he can also create new ones</Tooltip
71
+ >An Author can execute and view scripts/flows/apps, but he can also create new ones.</Tooltip
52
72
  ></ToggleButton
53
73
  >
54
- <ToggleButton position="right" value="admin" size="sm">Admin</ToggleButton>
74
+ <ToggleButton position="right" value="admin" size="sm">Admin<Tooltip
75
+ >An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace.</Tooltip
76
+ ></ToggleButton>
55
77
  </ToggleButtonGroup>
56
78
  <Button
57
79
  variant="contained"
@@ -1,18 +1,21 @@
1
- <script>import { JobService, Preview, ResourceService } from '../gen';
1
+ <script>import { OauthService, ResourceService } from '../gen';
2
2
  import { workspaceStore } from '../stores';
3
3
  import { emptySchema, emptyString } from '../utils';
4
- import { Loader2 } from 'lucide-svelte';
5
- import Button from './common/button/Button.svelte';
6
4
  import SchemaForm from './SchemaForm.svelte';
7
5
  import SimpleEditor from './SimpleEditor.svelte';
8
6
  import Toggle from './Toggle.svelte';
9
- import { sendUserToast } from '../toast';
7
+ import TestConnection from './TestConnection.svelte';
8
+ import { Button } from './common';
10
9
  export let resource_type;
11
10
  export let args = {};
12
11
  export let password;
13
12
  export let isValid = true;
14
13
  let schema = emptySchema();
15
14
  let notFound = false;
15
+ let supabaseWizard = false;
16
+ async function isSupabaseAvailable() {
17
+ supabaseWizard = (await OauthService.listOAuthConnects())['supabase_wizard'] != undefined;
18
+ }
16
19
  async function loadSchema() {
17
20
  rawCode = '{}';
18
21
  viewJsonSchema = false;
@@ -56,36 +59,7 @@ function switchTab(asJson) {
56
59
  parseJson();
57
60
  }
58
61
  }
59
- let loading = false;
60
- async function testConnection() {
61
- loading = true;
62
- const job = await JobService.runScriptPreview({
63
- workspace: $workspaceStore,
64
- requestBody: {
65
- language: 'deno',
66
- content: `
67
- import { Client } from 'https://deno.land/x/postgres/mod.ts'
68
- export async function main(args: any) {
69
- const client = new Client("postgres://" + args.user + ":" + args.password + "@" + args.host + ":" + args.port + "/" + args.dbname + "?sslmode=" + args.sslmode)
70
- await client.connect()
71
- return 'Connection successful'
72
- }
73
- `,
74
- args: {
75
- args
76
- }
77
- }
78
- });
79
- await new Promise((r) => setTimeout(r, 3000));
80
- loading = false;
81
- const testResult = await JobService.getCompletedJob({
82
- workspace: $workspaceStore,
83
- id: job
84
- });
85
- if (testResult) {
86
- sendUserToast(testResult.success ? testResult.result : testResult.result?.['error']?.['message'], !testResult.success);
87
- }
88
- }
62
+ $: resource_type == 'postgresql' && isSupabaseAvailable();
89
63
  </script>
90
64
 
91
65
  {#if !notFound}
@@ -96,14 +70,15 @@ export async function main(args: any) {
96
70
  right: 'As JSON'
97
71
  }}
98
72
  />
99
- {#if resource_type == 'postgresql'}
100
- <Button size="sm" on:click={testConnection}
101
- >{#if loading}<Loader2 class="animate-spin mr-2" />{/if} Test connection</Button
102
- >
73
+ <TestConnection {resource_type} {args} />
74
+ {#if resource_type == 'postgresql' && supabaseWizard}
75
+ <Button variant="border" target="_blank" href="/api/oauth/connect/supabase_wizard">
76
+ Add a Supabase DB
77
+ </Button>
103
78
  {/if}
104
79
  </div>
105
80
  {:else}
106
- <p class="italic text-gray-500 text-xs mb-4"
81
+ <p class="italic text-tertiary text-xs mb-4"
107
82
  >No corresponding resource type found in your workspace for {resource_type}. Define the value in
108
83
  JSON directly</p
109
84
  >
@@ -119,15 +119,20 @@ export function openFromOauth(rt) {
119
119
  drawer.openDrawer?.();
120
120
  }
121
121
  async function loadConnects() {
122
- connects = await OauthService.listOAuthConnects();
122
+ const nconnects = await OauthService.listOAuthConnects();
123
+ if (nconnects['supabase_wizard']) {
124
+ delete nconnects['supabase_wizard'];
125
+ }
126
+ connects = nconnects;
123
127
  }
128
+ const connectAndManual = ['gitlab'];
124
129
  async function loadResources() {
125
130
  await loadConnects();
126
131
  const availableRts = await ResourceService.listResourceTypeNames({
127
132
  workspace: $workspaceStore
128
133
  });
129
134
  connectsManual = availableRts
130
- .filter((x) => !Object.keys(connects ?? {}).includes(x))
135
+ .filter((x) => connectAndManual.includes(x) || !Object.keys(connects ?? {}).includes(x))
131
136
  .map((x) => [
132
137
  x,
133
138
  apiTokenApps[x] ?? {
@@ -267,9 +272,12 @@ let filteredConnectsManual = [];
267
272
  }}
268
273
  size="800px"
269
274
  >
270
- <DrawerContent title="Connect an API or add a Resource" on:close={drawer.closeDrawer}
271
- tooltip="Resources represent connections to third party systems. Learn more on how to integrate external APIs."
272
- documentationLink="https://www.windmill.dev/docs/integrations/integrations_on_windmill">
275
+ <DrawerContent
276
+ title="Connect an API or add a Resource"
277
+ on:close={drawer.closeDrawer}
278
+ tooltip="Resources represent connections to third party systems. Learn more on how to integrate external APIs."
279
+ documentationLink="https://www.windmill.dev/docs/integrations/integrations_on_windmill"
280
+ >
273
281
  {#if step == 1}
274
282
  <div class="w-12/12 pb-2 flex flex-row my-1 gap-1">
275
283
  <input
@@ -287,7 +295,7 @@ let filteredConnectsManual = [];
287
295
  <Button
288
296
  size="sm"
289
297
  variant="border"
290
- color={key === resource_type ? 'blue' : 'dark'}
298
+ color={key === resource_type ? 'blue' : 'light'}
291
299
  btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
292
300
  on:click={() => {
293
301
  manual = false
@@ -305,6 +313,14 @@ let filteredConnectsManual = [];
305
313
  {/each}
306
314
  {/if}
307
315
  </div>
316
+ {#if connects && Object.keys(connects).length == 0}
317
+ <div class="text-secondary text-sm w-full"
318
+ >No OAuth APIs has been setup on the instance. To add oauth APIs, first sync the resource
319
+ types with the hub, then add oauth configuration. See <a
320
+ href="https://www.windmill.dev/docs/misc/setup_oauth">documentation</a
321
+ >
322
+ </div>
323
+ {/if}
308
324
  {#if manual == false && resource_type != ''}
309
325
  <h3>Scopes</h3>
310
326
  {#if !manual && resource_type != ''}
@@ -337,7 +353,7 @@ let filteredConnectsManual = [];
337
353
  >
338
354
  Add item
339
355
  </Button>
340
- <span class="ml-2 text-sm text-gray-500">
356
+ <span class="ml-2 text-sm text-tertiary">
341
357
  ({(scopes ?? []).length} item{(scopes ?? []).length > 1 ? 's' : ''})
342
358
  </span>
343
359
  </div>
@@ -351,7 +367,7 @@ let filteredConnectsManual = [];
351
367
  <Button
352
368
  size="sm"
353
369
  variant="border"
354
- color={key === resource_type ? 'blue' : 'dark'}
370
+ color={key === resource_type ? 'blue' : 'light'}
355
371
  btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
356
372
  on:click={() => {
357
373
  manual = true
@@ -417,7 +433,7 @@ let filteredConnectsManual = [];
417
433
  kind="resource"
418
434
  />
419
435
  {#if apiTokenApps[resource_type] || !manual}
420
- <ul class="mt-10 bg-white">
436
+ <ul class="mt-10">
421
437
  <li>
422
438
  1. A secret variable containing the {apiTokenApps[resource_type]?.key ?? 'token'}
423
439
  <span class="font-bold">{truncateRev(value, 5, '*****')}</span>
@@ -25,6 +25,7 @@ const dispatch = createEventDispatcher();
25
25
  {/each}
26
26
  </select>
27
27
  {:else}
28
+ <!-- svelte-ignore a11y-autofocus -->
28
29
  <input
29
30
  {autofocus}
30
31
  on:focus
@@ -38,7 +38,7 @@ async function getResource(path) {
38
38
  </Drawer>
39
39
 
40
40
  {#if value == undefined || value == null}
41
- <span class="text-gray-600">null</span>
41
+ <span class="text-tertiary">null</span>
42
42
  {:else if value == '<function call>'}
43
43
  {'<function call>'}<Tooltip
44
44
  >The arg was none and the default argument of the script is a function call, hence the actual
@@ -67,7 +67,7 @@ async function getResource(path) {
67
67
  <div class="relative">
68
68
  {#if JSON.stringify(value).length > 120}
69
69
  <button
70
- class="text-xs absolute top-0 right-4 text-gray-500"
70
+ class="text-xs absolute top-0 right-4 text-tertiary"
71
71
  on:click={() => {
72
72
  jsonViewerContent = value
73
73
  jsonViewer.toggleDrawer()
@@ -30,7 +30,7 @@ export let contentEncoding = undefined;
30
30
  export let type = undefined;
31
31
  export let required = false;
32
32
  export let pattern = undefined;
33
- export let valid = required ? false : true;
33
+ export let valid = true;
34
34
  export let enum_ = undefined;
35
35
  export let disabled = false;
36
36
  export let editableSchema = false;
@@ -48,6 +48,7 @@ export let extra = {};
48
48
  export let minW = true;
49
49
  export let prettifyHeader = false;
50
50
  export let resourceTypes;
51
+ export let disablePortal = false;
51
52
  let seeEditable = enum_ != undefined || pattern != undefined;
52
53
  const dispatch = createEventDispatcher();
53
54
  let error = '';
@@ -112,19 +113,19 @@ export function focus() {
112
113
  el.style.height = el.scrollHeight + 50 + 'px';
113
114
  }
114
115
  }
115
- function validateInput(pattern, v) {
116
+ function validateInput(pattern, v, required) {
116
117
  if (required && (v == undefined || v == null || v === '')) {
117
- error = 'This field is required';
118
- valid = false;
118
+ error = 'Required';
119
+ valid && (valid = false);
119
120
  }
120
121
  else {
121
122
  if (pattern && !testRegex(pattern, v)) {
122
123
  error = `Should match ${pattern}`;
123
- valid = false;
124
+ valid && (valid = false);
124
125
  }
125
126
  else {
126
127
  error = '';
127
- valid = true;
128
+ !valid && (valid = true);
128
129
  }
129
130
  }
130
131
  }
@@ -146,7 +147,7 @@ function onKeyDown(e) {
146
147
  let redraw = 0;
147
148
  let itemsLimit = 50;
148
149
  let customValue = false;
149
- $: validateInput(pattern, value);
150
+ $: validateInput(pattern, value, required);
150
151
  </script>
151
152
 
152
153
  <!-- svelte-ignore a11y-autofocus -->
@@ -156,7 +157,7 @@ $: validateInput(pattern, value);
156
157
  <FieldHeader prettify={prettifyHeader} {label} {required} {type} {contentEncoding} {format} />
157
158
  {/if}
158
159
  {#if editableSchema}
159
- <label class="text-gray-700">
160
+ <label class="text-secondary">
160
161
  Description
161
162
  <textarea
162
163
  class="mb-1"
@@ -200,7 +201,7 @@ $: validateInput(pattern, value);
200
201
  {/if}
201
202
 
202
203
  {#if description}
203
- <div class="text-sm italic pb-1">
204
+ <div class="text-sm italic pb-1 text-secondary">
204
205
  {description}
205
206
  </div>
206
207
  {/if}
@@ -283,7 +284,7 @@ $: validateInput(pattern, value);
283
284
  {/if}
284
285
  <button
285
286
  transition:fade|local={{ duration: 100 }}
286
- class="rounded-full p-1 bg-white/60 duration-200 hover:bg-gray-200 ml-2"
287
+ class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover ml-2"
287
288
  aria-label="Clear"
288
289
  on:click={() => {
289
290
  value.splice(i, 1)
@@ -322,11 +323,12 @@ $: validateInput(pattern, value);
322
323
  </div>
323
324
  </div>
324
325
  {:else if inputCat == 'resource-object' && (resourceTypes == undefined || (format.split('-').length > 1 && resourceTypes.includes(format.substring('resource-'.length))))}
325
- <ObjectResourceInput {format} bind:value />
326
+ <ObjectResourceInput {disablePortal} {format} bind:value />
326
327
  {:else if inputCat == 'object' || inputCat == 'resource-object'}
327
328
  {#if properties && Object.keys(properties).length > 0}
328
329
  <div class="p-4 pl-8 border rounded w-full">
329
330
  <SchemaForm
331
+ {disablePortal}
330
332
  {disabled}
331
333
  schema={{ properties, $schema: '', required: [], type: 'object' }}
332
334
  bind:args={value}
@@ -372,6 +374,7 @@ $: validateInput(pattern, value);
372
374
  />
373
375
  {:else if inputCat == 'resource-string'}
374
376
  <ResourcePicker
377
+ {disablePortal}
375
378
  bind:value
376
379
  resourceType={format.split('-').length > 1
377
380
  ? format.substring('resource-'.length)
@@ -419,7 +422,7 @@ $: validateInput(pattern, value);
419
422
  {/if}
420
423
  </div>
421
424
  {#if variableEditor}
422
- <div class="text-sm text-gray-600">
425
+ <div class="text-sm text-tertiary-inverse">
423
426
  {#if value && typeof value == 'string' && value?.startsWith('$var:')}
424
427
  Linked to variable <button
425
428
  class="text-blue-500 underline"
@@ -434,7 +437,7 @@ $: validateInput(pattern, value);
434
437
  <slot name="actions" />
435
438
  </div>
436
439
  {#if !compact || (error && error != '')}
437
- <div class="text-right text-xs text-red-600">
440
+ <div class="text-right text-xs text-red-600 dark:text-red-400">
438
441
  {#if error === ''}
439
442
  &nbsp;
440
443
  {:else}
@@ -38,6 +38,7 @@ declare const __propDef: {
38
38
  minW?: boolean | undefined;
39
39
  prettifyHeader?: boolean | undefined;
40
40
  resourceTypes: string[] | undefined;
41
+ disablePortal?: boolean | undefined;
41
42
  editor?: SimpleEditor | undefined;
42
43
  focus?: (() => void) | undefined;
43
44
  };
@@ -33,7 +33,7 @@ let selected = itemsType?.type != 'string'
33
33
  </select>
34
34
  {#if Array.isArray(itemsType?.enum)}
35
35
  <div class="pt-1" />
36
- <label for="input" class="mb-2 text-gray-700 text-xs">
36
+ <label for="input" class="mb-2 text-secondary text-xs">
37
37
  Enums
38
38
  <div class="flex flex-col gap-1">
39
39
  {#each itemsType?.enum || [] as e}
@@ -1,6 +1,6 @@
1
1
  <script>import Tooltip from './Tooltip.svelte';
2
2
  export let twBgColor = 'bg-blue-200';
3
- export let twTextColor = 'text-gray-700';
3
+ export let twTextColor = 'text-secondary';
4
4
  export let tooltip = undefined;
5
5
  </script>
6
6
 
@@ -1,32 +1,30 @@
1
1
  <script>import WindmillIcon from './icons/WindmillIcon.svelte';
2
- import Uptodate from './Uptodate.svelte';
3
- import Version from './Version.svelte';
2
+ import LoginPageHeader from './LoginPageHeader.svelte';
4
3
  export let subtitle = undefined;
5
4
  export let title = 'Windmill';
6
5
  export let disableLogo = false;
7
6
  </script>
8
7
 
9
- <div class="center-center min-h-screen p-4 relative bg-gray-50">
8
+ <div class="center-center min-h-screen p-4 relative bg-surface-secondary">
10
9
  <div class="flex flex-col gap-2 items-center w-full">
11
10
  {#if !disableLogo}
12
11
  <div class="hidden lg:block">
13
12
  <div>
14
13
  <WindmillIcon height="100px" width="100px" spin="slow" />
15
14
  </div>
16
- <h2 class="text-center pt-2 text-gray-800">Windmill</h2>
15
+ <h2 class="text-center pt-2 text-primary">Windmill</h2>
17
16
  </div>
18
17
  {/if}
19
18
 
20
19
  <div
21
- class="border rounded-md shadow-md bg-white w-full max-w-[640px]
22
- p-4 sm:py-8 sm:px-10 mb-6 md:mb-20 z-10"
20
+ class="border rounded-md shadow-md bg-surface w-full max-w-[640px] p-4 sm:py-8 sm:px-10 mb-6 md:mb-20 z-10"
23
21
  >
24
22
  <div class="mb-10">
25
- <h1 class="text-center">
23
+ <h1 class="text-center text-primary">
26
24
  {title}
27
25
  </h1>
28
26
  {#if subtitle}
29
- <p class="text-sm text-center text-gray-600 mt-2">
27
+ <p class="text-sm text-center text-secondary mt-2">
30
28
  {subtitle}
31
29
  </p>
32
30
  {/if}
@@ -35,9 +33,5 @@ export let disableLogo = false;
35
33
  </div>
36
34
  </div>
37
35
 
38
- <div class="absolute top-0 right-0 text-2xs text-gray-600 italic px-3 py-1">
39
- <span class="font-mono flex flex-col">
40
- <div>Windmill <Version /></div><div><Uptodate /></div>
41
- </span>
42
- </div>
36
+ <LoginPageHeader />
43
37
  </div>
@@ -6,7 +6,7 @@ export let viewOptions = false;
6
6
 
7
7
  <button
8
8
  type="submit"
9
- class="mr-6 text-sm underline text-gray-700 inline-flex items-center"
9
+ class="mr-6 text-sm underline text-secondary inline-flex items-center"
10
10
  on:click={() => {
11
11
  viewOptions = !viewOptions
12
12
  }}
@@ -1,33 +1,12 @@
1
1
  <script>import { page } from '$app/stores';
2
2
  import { workspaceStore } from '../stores';
3
- import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
4
- import Icon from 'svelte-awesome';
5
- import { slide } from 'svelte/transition';
6
3
  import InlineCodeCopy from './InlineCodeCopy.svelte';
7
- $: opened = false;
8
4
  $: url = `${$page.url.protocol}//${$page.url.hostname}/`;
9
5
  </script>
10
6
 
11
- <div class="text-sm mt-2 flex">
12
- <!-- svelte-ignore a11y-click-events-have-key-events -->
13
- <button
14
- class="underline mr-4 text-gray-600"
15
- on:click={() => {
16
- opened = !opened
17
- }}
18
- >
19
- CLI quick setup
20
- <Icon class="ml-2" data={opened ? faChevronUp : faChevronDown} scale={0.7} />
21
- </button>
22
- </div>
23
-
24
- {#if opened}
25
- <div
26
- transition:slide|local={{ duration: 100 }}
27
- class="border border-gray-200 rounded-md p-4 mt-2 text-sm text-gray-600"
28
- role="alert"
29
- id="dynamic-input-help-box"
30
- >
7
+ <div>
8
+ <div class="text-sm font-semibold">CLI quick setup </div>
9
+ <div class="text-sm" role="alert" id="dynamic-input-help-box">
31
10
  <ul class="pl-0 pt-2 list-decimal list-inside">
32
11
  <li
33
12
  >Install the latest wmill CLI from deno.land: <InlineCodeCopy
@@ -43,4 +22,4 @@ $: url = `${$page.url.protocol}//${$page.url.hostname}/`;
43
22
  <li>Use the run command above!</li>
44
23
  </ul>
45
24
  </div>
46
- {/if}
25
+ </div>
@@ -2,16 +2,17 @@
2
2
  import Icon from 'svelte-awesome';
3
3
  import { Button } from './common';
4
4
  import { slide } from 'svelte/transition';
5
+ import { twMerge } from 'tailwind-merge';
5
6
  export let open = false;
6
7
  export let text;
7
8
  export let small = false;
8
9
  </script>
9
10
 
10
- <div class="flex">
11
+ <div class={twMerge('flex', $$props.class)}>
11
12
  <Button
12
13
  variant="border"
13
14
  color="light"
14
- btnClasses="text-gray-600 {small ? 'text-xs' : ''} "
15
+ btnClasses="text-tertiary {small ? 'text-xs' : ''} "
15
16
  on:click={() => (open = !open)}
16
17
  >
17
18
  {text}&nbsp;<Icon data={open ? faChevronUp : faChevronDown} scale={0.5} />
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  open?: boolean | undefined;
5
6
  text: string;
6
7
  small?: boolean | undefined;
@@ -293,16 +293,16 @@ $: dateFormatter = new Intl.DateTimeFormat('en-GB', {
293
293
  <div class="w-full flex flex-col gap-1">
294
294
  <small class="font-bold">Preview New Cron</small>
295
295
 
296
- <div class="flex p-2 px-4 rounded-md bg-gray-100">
296
+ <div class="flex p-2 px-4 rounded-md bg-surface-secondary">
297
297
  <span>{nschedule}</span>
298
298
  </div>
299
299
  </div>
300
300
  </div>
301
301
 
302
302
  <div class="mt-4">
303
- <Button color="dark" size="xs" on:click={() => (schedule = nschedule)}
304
- >Set Cron Schedule</Button
305
- >
303
+ <Button color="dark" size="xs" on:click={() => (schedule = nschedule)}>
304
+ Set Cron Schedule
305
+ </Button>
306
306
  </div>
307
307
  </CollapseLink>
308
308
  </div>
@@ -314,7 +314,7 @@ $: dateFormatter = new Intl.DateTimeFormat('en-GB', {
314
314
  <hr />
315
315
  <div class="flex flex-col space-y-2">
316
316
  <small>Estimated upcoming events ({timezone})</small>
317
- <div class="flex flex-col rounded-md p-4 border text-gray-600">
317
+ <div class="flex flex-col rounded-md p-4 border text-tertiary bg-surface-secondary">
318
318
  {#each preview as date}
319
319
  <div class="flex items-center space-x-2 text-sm">
320
320
  <span>{dateFormatter(new Date(date))}</span>