windmill-components 1.60.3 → 1.83.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. package/assets/app.css +15 -1
  2. package/common.d.ts +7 -3
  3. package/components/ApiConnectForm.svelte +66 -5
  4. package/components/AppConnect.svelte +26 -10
  5. package/components/ArgInput.svelte +56 -83
  6. package/components/ArgInput.svelte.d.ts +2 -3
  7. package/components/CliHelpBox.svelte +49 -0
  8. package/components/CliHelpBox.svelte.d.ts +14 -0
  9. package/components/DisplayResult.svelte +82 -11
  10. package/components/DisplayResult.svelte.d.ts +1 -0
  11. package/components/Dropdown.svelte +14 -4
  12. package/components/Editor.svelte +17 -10
  13. package/components/Editor.svelte.d.ts +0 -1
  14. package/components/EditorBar.svelte +129 -111
  15. package/components/FieldHeader.svelte +12 -9
  16. package/components/FieldHeader.svelte.d.ts +0 -4
  17. package/components/FlowBuilder.svelte +113 -39
  18. package/components/FlowBuilder.svelte.d.ts +5 -0
  19. package/components/FlowGraphViewer.svelte +6 -5
  20. package/components/FlowJobResult.svelte +13 -5
  21. package/components/FlowJobResult.svelte.d.ts +1 -0
  22. package/components/FlowMetadata.svelte +24 -8
  23. package/components/FlowPreviewContent.svelte +5 -11
  24. package/components/FlowStatusViewer.svelte +69 -21
  25. package/components/FlowStatusViewer.svelte.d.ts +1 -0
  26. package/components/FlowViewer.svelte +0 -1
  27. package/components/FolderEditor.svelte +4 -3
  28. package/components/FolderUsageInfo.svelte +16 -6
  29. package/components/FolderUsageInfo.svelte.d.ts +2 -0
  30. package/components/GroupEditor.svelte +8 -0
  31. package/components/HighlightCode.svelte +7 -1
  32. package/components/InlineCodeCopy.svelte +11 -0
  33. package/components/InlineCodeCopy.svelte.d.ts +16 -0
  34. package/components/InputTransformForm.svelte +22 -26
  35. package/components/InputTransformSchemaForm.svelte +103 -0
  36. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  37. package/components/LightweightArgInput.svelte +302 -0
  38. package/components/LightweightArgInput.svelte.d.ts +45 -0
  39. package/components/LightweightSchemaForm.svelte +31 -0
  40. package/components/LightweightSchemaForm.svelte.d.ts +18 -0
  41. package/components/LogViewer.svelte +7 -1
  42. package/components/LogViewer.svelte.d.ts +1 -0
  43. package/components/ModulePreview.svelte +14 -3
  44. package/components/MoveDrawer.svelte +1 -1
  45. package/components/Multiselect.svelte +1 -1
  46. package/components/Multiselect.svelte.d.ts +2 -2
  47. package/components/ObjectResourceInput.svelte +6 -1
  48. package/components/PageHeader.svelte +1 -1
  49. package/components/Path.svelte +53 -17
  50. package/components/Popover.svelte +10 -15
  51. package/components/Popover.svelte.d.ts +1 -0
  52. package/components/Range.svelte.d.ts +2 -2
  53. package/components/ResourceEditor.svelte +39 -16
  54. package/components/ResourcePicker.svelte +33 -15
  55. package/components/RunChart.svelte +24 -5
  56. package/components/RunForm.svelte +26 -3
  57. package/components/RunForm.svelte.d.ts +2 -0
  58. package/components/ScheduleEditor.svelte +1 -1
  59. package/components/SchemaEditor.svelte +15 -10
  60. package/components/SchemaForm.svelte +72 -60
  61. package/components/SchemaForm.svelte.d.ts +1 -5
  62. package/components/ScriptBuilder.svelte +169 -130
  63. package/components/ScriptBuilder.svelte.d.ts +1 -0
  64. package/components/ScriptEditor.svelte +1 -0
  65. package/components/ScriptPicker.svelte +3 -0
  66. package/components/SettingSection.svelte +44 -0
  67. package/components/SettingSection.svelte.d.ts +21 -0
  68. package/components/SharedBadge.svelte +5 -5
  69. package/components/SimpleEditor.svelte +5 -3
  70. package/components/SimpleEditor.svelte.d.ts +4 -1
  71. package/components/Slider.svelte +19 -0
  72. package/components/Slider.svelte.d.ts +20 -0
  73. package/components/StringTypeNarrowing.svelte +0 -1
  74. package/components/SuperadminSettings.svelte +11 -3
  75. package/components/SuperadminSettings.svelte.d.ts +2 -0
  76. package/components/TemplateEditor.svelte +4 -2
  77. package/components/TemplateEditor.svelte.d.ts +205 -0
  78. package/components/TestJobLoader.svelte +5 -5
  79. package/components/Toggle.svelte +23 -8
  80. package/components/Toggle.svelte.d.ts +3 -1
  81. package/components/Tooltip.svelte +4 -2
  82. package/components/UserSettings.svelte +27 -28
  83. package/components/UserSettings.svelte.d.ts +2 -0
  84. package/components/VariableEditor.svelte +3 -2
  85. package/components/WhitelistIp.svelte +21 -0
  86. package/components/WhitelistIp.svelte.d.ts +14 -0
  87. package/components/apps/components/buttons/AppButton.svelte +89 -53
  88. package/components/apps/components/buttons/AppButton.svelte.d.ts +11 -3
  89. package/components/apps/components/{form → buttons}/AppForm.svelte +40 -33
  90. package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +4 -1
  91. package/components/apps/components/buttons/AppFormButton.svelte +125 -0
  92. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +26 -0
  93. package/components/apps/components/buttons/index.d.ts +3 -0
  94. package/components/apps/components/buttons/index.js +3 -0
  95. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +32 -9
  96. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +5 -3
  97. package/components/apps/components/display/AppDisplayComponent.svelte +46 -0
  98. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +22 -0
  99. package/components/apps/components/display/AppHtml.svelte +56 -0
  100. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +6 -5
  101. package/components/apps/components/display/AppIcon.svelte +49 -0
  102. package/components/apps/components/display/AppIcon.svelte.d.ts +22 -0
  103. package/components/apps/components/display/AppImage.svelte +46 -0
  104. package/components/apps/components/display/AppImage.svelte.d.ts +22 -0
  105. package/components/apps/components/display/AppMap.svelte +221 -0
  106. package/components/apps/components/display/AppMap.svelte.d.ts +20 -0
  107. package/components/apps/components/display/AppPdf.svelte +310 -0
  108. package/components/apps/components/display/AppPdf.svelte.d.ts +21 -0
  109. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte +21 -8
  110. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +5 -3
  111. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +18 -5
  112. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +5 -3
  113. package/components/apps/components/display/AppText.svelte +131 -0
  114. package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +5 -3
  115. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +19 -6
  116. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +5 -3
  117. package/components/apps/components/display/PlotlyHtml.svelte +54 -0
  118. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
  119. package/components/apps/components/display/VegaLiteHtml.svelte +52 -0
  120. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +6 -5
  121. package/components/apps/components/display/index.d.ts +15 -0
  122. package/components/apps/components/display/index.js +15 -0
  123. package/components/apps/components/display/table/AppAggridTable.svelte +100 -0
  124. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +24 -0
  125. package/components/apps/components/display/table/AppTable.svelte +354 -0
  126. package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +7 -5
  127. package/components/apps/components/{table → display/table}/AppTableFooter.svelte +11 -3
  128. package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +3 -0
  129. package/components/apps/components/{table → display/table}/tableOptions.js +1 -1
  130. package/components/apps/components/helpers/AlignWrapper.svelte +29 -23
  131. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +6 -2
  132. package/components/apps/components/helpers/DebouncedInput.svelte +1 -0
  133. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -0
  134. package/components/apps/components/helpers/HiddenComponent.svelte +36 -0
  135. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
  136. package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
  137. package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
  138. package/components/apps/components/helpers/InputValue.svelte +62 -54
  139. package/components/apps/components/helpers/InputValue.svelte.d.ts +6 -4
  140. package/components/apps/components/helpers/Loader.svelte +18 -0
  141. package/components/apps/components/helpers/Loader.svelte.d.ts +18 -0
  142. package/components/apps/components/helpers/NonRunnableComponent.svelte +12 -8
  143. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  144. package/components/apps/components/helpers/RefreshButton.svelte +4 -12
  145. package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -0
  146. package/components/apps/components/helpers/ResizeWrapper.svelte +23 -0
  147. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  148. package/components/apps/components/helpers/ResolveConfig.svelte +29 -0
  149. package/components/apps/components/helpers/ResolveConfig.svelte.d.ts +21 -0
  150. package/components/apps/components/helpers/RunnableComponent.svelte +210 -164
  151. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +18 -3
  152. package/components/apps/components/helpers/RunnableWrapper.svelte +61 -11
  153. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +31 -3
  154. package/components/apps/components/helpers/eval.d.ts +7 -0
  155. package/components/apps/components/helpers/eval.js +94 -0
  156. package/components/apps/components/helpers/index.d.ts +10 -0
  157. package/components/apps/components/helpers/index.js +10 -0
  158. package/components/apps/components/icon.d.ts +1 -0
  159. package/components/apps/components/icon.js +18 -0
  160. package/components/apps/components/index.d.ts +5 -0
  161. package/components/apps/components/index.js +5 -0
  162. package/components/apps/components/inputs/AppCheckbox.svelte +38 -0
  163. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +4 -4
  164. package/components/apps/components/inputs/AppDateInput.svelte +49 -0
  165. package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +7 -5
  166. package/components/apps/components/inputs/AppFileInput.svelte +44 -0
  167. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +20 -0
  168. package/components/apps/components/inputs/AppMultiSelect.svelte +93 -0
  169. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +22 -0
  170. package/components/apps/components/inputs/AppNumberInput.svelte +54 -0
  171. package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +4 -4
  172. package/components/apps/components/inputs/AppRangeInput.svelte +94 -0
  173. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +24 -0
  174. package/components/apps/components/inputs/AppSelect.svelte +144 -0
  175. package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +4 -4
  176. package/components/apps/components/inputs/AppSliderInputs.svelte +81 -0
  177. package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +5 -4
  178. package/components/apps/components/inputs/AppTextInput.svelte +83 -0
  179. package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +5 -4
  180. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +60 -0
  181. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +21 -0
  182. package/components/apps/components/inputs/currency/CurrencyInput.svelte +183 -0
  183. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +33 -0
  184. package/components/apps/components/inputs/index.d.ts +9 -0
  185. package/components/apps/components/inputs/index.js +9 -0
  186. package/components/apps/components/layout/AppContainer.svelte +38 -0
  187. package/components/apps/components/layout/AppContainer.svelte.d.ts +20 -0
  188. package/components/apps/components/layout/AppDivider.svelte +43 -0
  189. package/components/apps/components/layout/AppDivider.svelte.d.ts +23 -0
  190. package/components/apps/components/layout/AppDrawer.svelte +90 -0
  191. package/components/apps/components/layout/AppDrawer.svelte.d.ts +23 -0
  192. package/components/apps/components/layout/AppSplitpanes.svelte +93 -0
  193. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +22 -0
  194. package/components/apps/components/layout/AppTabs.svelte +115 -0
  195. package/components/apps/components/layout/AppTabs.svelte.d.ts +24 -0
  196. package/components/apps/components/layout/index.d.ts +5 -0
  197. package/components/apps/components/layout/index.js +5 -0
  198. package/components/apps/editor/AppComponentInput.svelte +34 -0
  199. package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
  200. package/components/apps/editor/AppEditor.svelte +244 -128
  201. package/components/apps/editor/AppEditor.svelte.d.ts +4 -1
  202. package/components/apps/editor/AppEditorHeader.svelte +213 -70
  203. package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  204. package/components/apps/editor/AppInputs.svelte +59 -0
  205. package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
  206. package/components/apps/editor/AppPreview.svelte +120 -20
  207. package/components/apps/editor/AppPreview.svelte.d.ts +2 -0
  208. package/components/apps/editor/ComponentHeader.svelte +92 -36
  209. package/components/apps/editor/ComponentHeader.svelte.d.ts +4 -2
  210. package/components/apps/editor/ConnectionInstructions.svelte +29 -0
  211. package/components/apps/editor/ConnectionInstructions.svelte.d.ts +14 -0
  212. package/components/apps/editor/GridEditor.svelte +102 -105
  213. package/components/apps/editor/GridViewer.svelte +91 -0
  214. package/components/apps/editor/GridViewer.svelte.d.ts +32 -0
  215. package/components/apps/editor/RecomputeAllComponents.svelte +26 -9
  216. package/components/apps/editor/SettingsPanel.svelte +115 -10
  217. package/components/apps/editor/SubGridEditor.svelte +146 -0
  218. package/components/apps/editor/SubGridEditor.svelte.d.ts +27 -0
  219. package/components/apps/editor/appUtils.d.ts +73 -0
  220. package/components/apps/editor/appUtils.js +437 -0
  221. package/components/apps/editor/component/Component.svelte +417 -0
  222. package/components/apps/editor/component/Component.svelte.d.ts +24 -0
  223. package/components/apps/editor/component/ComponentNavigation.svelte +201 -0
  224. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  225. package/components/apps/editor/component/ComponentWrapper.svelte +59 -0
  226. package/components/apps/editor/component/ComponentWrapper.svelte.d.ts +20 -0
  227. package/components/apps/editor/component/README.md +19 -0
  228. package/components/apps/editor/component/components.d.ts +1628 -0
  229. package/components/apps/editor/component/components.js +1425 -0
  230. package/components/apps/editor/component/default-codes.d.ts +3 -0
  231. package/components/apps/editor/component/default-codes.js +322 -0
  232. package/components/apps/editor/component/index.d.ts +4 -0
  233. package/components/apps/editor/component/index.js +4 -0
  234. package/components/apps/editor/component/sets.d.ts +2 -0
  235. package/components/apps/editor/component/sets.js +56 -0
  236. package/components/apps/editor/componentsPanel/ComponentList.svelte +92 -108
  237. package/components/apps/editor/componentsPanel/CssProperty.svelte +83 -0
  238. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +24 -0
  239. package/components/apps/editor/componentsPanel/CssSettings.svelte +147 -0
  240. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  241. package/components/apps/editor/componentsPanel/ListItem.svelte +42 -0
  242. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +22 -0
  243. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +170 -0
  244. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte.d.ts +18 -0
  245. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +130 -0
  246. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte.d.ts +21 -0
  247. package/components/apps/editor/componentsPanel/quickStyleProperties.d.ts +535 -0
  248. package/components/apps/editor/componentsPanel/quickStyleProperties.js +598 -0
  249. package/components/apps/editor/componentsPanel/store.js +4 -4
  250. package/components/apps/editor/contextPanel/ComponentOutput.svelte +43 -0
  251. package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +20 -0
  252. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +19 -12
  253. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +0 -1
  254. package/components/apps/editor/contextPanel/ContextPanel.svelte +63 -85
  255. package/components/apps/editor/contextPanel/SubGridOutput.svelte +66 -0
  256. package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
  257. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +18 -0
  258. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +18 -0
  259. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +8 -0
  260. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +14 -0
  261. package/components/apps/editor/contextPanel/components/OutputHeader.svelte +107 -0
  262. package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +23 -0
  263. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +17 -0
  264. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +17 -0
  265. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +13 -0
  266. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +17 -0
  267. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +138 -12
  268. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +2 -1
  269. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +193 -88
  270. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +7 -1
  271. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  272. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +133 -42
  273. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +3 -0
  274. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +61 -31
  275. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +181 -75
  276. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -3
  277. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +29 -0
  278. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte.d.ts +17 -0
  279. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +7 -5
  280. package/components/apps/editor/inlineScriptsPanel/utils.js +51 -9
  281. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +11 -3
  282. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  283. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +57 -44
  284. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +6 -39
  285. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  286. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +226 -101
  287. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +8 -3
  288. package/components/apps/editor/settingsPanel/GridPane.svelte +73 -0
  289. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  290. package/components/apps/editor/settingsPanel/GridTab.svelte +61 -0
  291. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +20 -0
  292. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +131 -11
  293. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -2
  294. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +36 -100
  295. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +4 -2
  296. package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +52 -0
  297. package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +28 -0
  298. package/components/apps/editor/settingsPanel/Recompute.svelte +6 -2
  299. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +74 -21
  300. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte.d.ts +2 -0
  301. package/components/apps/editor/settingsPanel/StylePanel.svelte +61 -0
  302. package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +17 -0
  303. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +7 -5
  304. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +3 -2
  305. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +2 -2
  306. package/components/apps/editor/settingsPanel/TableActions.svelte +28 -47
  307. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  308. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +7 -6
  309. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +0 -1
  310. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  311. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +18 -0
  312. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +4 -8
  313. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +7 -3
  314. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +119 -0
  315. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +19 -0
  316. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +5 -4
  317. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +8 -2
  318. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte +5 -5
  319. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte.d.ts +2 -0
  320. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +98 -23
  321. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +11 -2
  322. package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +46 -0
  323. package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte.d.ts +20 -0
  324. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +21 -0
  325. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  326. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  327. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  328. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +11 -21
  329. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
  330. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +47 -0
  331. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte.d.ts +14 -0
  332. package/components/apps/editor/settingsPanel/secondaryMenu/index.d.ts +2 -0
  333. package/components/apps/editor/settingsPanel/secondaryMenu/index.js +2 -0
  334. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.d.ts +13 -0
  335. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.js +16 -0
  336. package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte +31 -0
  337. package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte.d.ts +22 -0
  338. package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte +24 -0
  339. package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte.d.ts +21 -0
  340. package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte +156 -0
  341. package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte.d.ts +22 -0
  342. package/components/apps/editor/settingsPanel/triggerLists/triggerListUtils.d.ts +2 -0
  343. package/components/apps/editor/settingsPanel/triggerLists/triggerListUtils.js +11 -0
  344. package/components/apps/gridUtils.d.ts +3 -3
  345. package/components/apps/gridUtils.js +6 -18
  346. package/components/apps/inputType.d.ts +48 -15
  347. package/components/apps/rx.d.ts +11 -7
  348. package/components/apps/rx.js +45 -19
  349. package/components/apps/store.d.ts +6 -1
  350. package/components/apps/svelte-grid/Grid.svelte +179 -0
  351. package/components/apps/svelte-grid/Grid.svelte.d.ts +50 -0
  352. package/components/apps/svelte-grid/LICENSE +23 -0
  353. package/components/apps/svelte-grid/MoveResize.svelte +343 -0
  354. package/components/apps/svelte-grid/MoveResize.svelte.d.ts +48 -0
  355. package/components/apps/svelte-grid/types.d.ts +15 -0
  356. package/components/apps/svelte-grid/utils/container.d.ts +1 -0
  357. package/components/apps/svelte-grid/utils/container.js +4 -0
  358. package/components/apps/svelte-grid/utils/helper.d.ts +9 -0
  359. package/components/apps/svelte-grid/utils/helper.js +29 -0
  360. package/components/apps/svelte-grid/utils/item.d.ts +14 -0
  361. package/components/apps/svelte-grid/utils/item.js +192 -0
  362. package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
  363. package/components/apps/svelte-grid/utils/matrix.js +53 -0
  364. package/components/apps/svelte-grid/utils/other.d.ts +3 -0
  365. package/components/apps/svelte-grid/utils/other.js +30 -0
  366. package/components/apps/types.d.ts +91 -59
  367. package/components/apps/types.js +1 -1
  368. package/components/apps/utils.d.ts +9 -6
  369. package/components/apps/utils.js +109 -97
  370. package/components/common/CloseButton.svelte +18 -0
  371. package/components/common/CloseButton.svelte.d.ts +27 -0
  372. package/components/common/badge/Badge.svelte +6 -1
  373. package/components/common/badge/Badge.svelte.d.ts +1 -0
  374. package/components/common/button/Button.svelte +12 -5
  375. package/components/common/button/Button.svelte.d.ts +3 -1
  376. package/components/common/button/ButtonPopup.svelte +7 -2
  377. package/components/common/button/ButtonPopup.svelte.d.ts +7 -2
  378. package/components/common/button/ButtonPopupItem.svelte +2 -1
  379. package/components/common/button/ButtonPopupItem.svelte.d.ts +1 -0
  380. package/components/common/button/UndoRedo.svelte +32 -0
  381. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  382. package/components/common/button/model.d.ts +2 -2
  383. package/components/common/button/model.js +21 -6
  384. package/components/common/clearableInput/ClearableInput.svelte +56 -0
  385. package/components/common/clearableInput/ClearableInput.svelte.d.ts +28 -0
  386. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  387. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  388. package/components/common/drawer/Drawer.svelte +13 -5
  389. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  390. package/components/common/drawer/DrawerContent.svelte +2 -7
  391. package/components/common/fileInput/FileInput.svelte +138 -0
  392. package/components/common/fileInput/FileInput.svelte.d.ts +29 -0
  393. package/components/common/fileInput/model.d.ts +1 -0
  394. package/components/common/fileInput/model.js +1 -0
  395. package/components/common/index.d.ts +3 -0
  396. package/components/common/index.js +3 -0
  397. package/components/common/kbd/Kbd.svelte +4 -1
  398. package/components/common/kbd/Kbd.svelte.d.ts +7 -15
  399. package/components/common/languageIcons/JavaScript.svelte +11 -0
  400. package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
  401. package/components/common/languageIcons/LanguageIcon.svelte +3 -1
  402. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  403. package/components/common/menu/Menu.svelte +11 -4
  404. package/components/common/menu/Menu.svelte.d.ts +5 -1
  405. package/components/common/modal/AlwaysMountedModal.svelte +109 -0
  406. package/components/common/modal/AlwaysMountedModal.svelte.d.ts +22 -0
  407. package/components/common/modal/Modal.svelte +79 -0
  408. package/components/common/modal/Modal.svelte.d.ts +24 -0
  409. package/components/common/popup/Popup.svelte +35 -17
  410. package/components/common/popup/Popup.svelte.d.ts +20 -4
  411. package/components/common/skeleton/Skeleton.svelte +1 -1
  412. package/components/common/table/AppRow.svelte +14 -8
  413. package/components/common/table/AppRow.svelte.d.ts +1 -0
  414. package/components/common/table/FlowRow.svelte +41 -12
  415. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  416. package/components/common/table/LanguageBadge.svelte +10 -4
  417. package/components/common/table/Row.svelte +1 -1
  418. package/components/common/table/ScriptRow.svelte +45 -16
  419. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  420. package/components/common/tabs/Tab.svelte +13 -5
  421. package/components/common/tabs/Tab.svelte.d.ts +6 -1
  422. package/components/common/tabs/Tabs.svelte +12 -8
  423. package/components/common/tabs/Tabs.svelte.d.ts +6 -2
  424. package/components/flows/CreateActionsFlow.svelte +2 -3
  425. package/components/flows/FlowEditor.svelte +6 -4
  426. package/components/flows/common/FlowCardHeader.svelte +4 -1
  427. package/components/flows/content/BranchPredicateEditor.svelte +13 -12
  428. package/components/flows/content/CapturePayload.svelte +4 -5
  429. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  430. package/components/flows/content/FlowConstants.svelte +7 -13
  431. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  432. package/components/flows/content/FlowFailureModule.svelte +2 -1
  433. package/components/flows/content/FlowInput.svelte +4 -2
  434. package/components/flows/content/FlowInputs.svelte +109 -99
  435. package/components/flows/content/FlowLoop.svelte +4 -5
  436. package/components/flows/content/FlowModuleComponent.svelte +26 -13
  437. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  438. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  439. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  440. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  441. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  442. package/components/flows/content/FlowRetries.svelte +8 -6
  443. package/components/flows/content/FlowSchedules.svelte +1 -2
  444. package/components/flows/content/FlowSettings.svelte +77 -51
  445. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  446. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  447. package/components/flows/flowState.d.ts +2 -2
  448. package/components/flows/flowState.js +1 -3
  449. package/components/flows/flowStateUtils.d.ts +7 -6
  450. package/components/flows/flowStateUtils.js +17 -12
  451. package/components/flows/flowStore.d.ts +5 -3
  452. package/components/flows/flowStore.js +6 -17
  453. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  454. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  455. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  456. package/components/flows/map/FlowInputsItem.svelte +2 -3
  457. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  458. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  459. package/components/flows/map/FlowModuleSchemaMap.svelte +163 -130
  460. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  461. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  462. package/components/flows/map/InsertModuleButton.svelte +34 -18
  463. package/components/flows/map/InsertModuleButton.svelte.d.ts +2 -0
  464. package/components/flows/map/MapItem.svelte +176 -101
  465. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  466. package/components/flows/map/VirtualItem.svelte +129 -0
  467. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  468. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  469. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  470. package/components/flows/previousResults.d.ts +1 -1
  471. package/components/flows/previousResults.js +32 -17
  472. package/components/flows/types.d.ts +13 -1
  473. package/components/flows/utils.js +17 -11
  474. package/components/graph/FlowGraph.svelte +245 -164
  475. package/components/graph/FlowGraph.svelte.d.ts +14 -1
  476. package/components/graph/model.d.ts +6 -36
  477. package/components/graph/model.js +1 -1
  478. package/components/graph/svelvet/LICENSE +21 -0
  479. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  480. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  481. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  482. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  483. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  484. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  485. package/components/graph/svelvet/container/README.md +7 -0
  486. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  487. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  488. package/components/graph/svelvet/container/views/GraphView.svelte +227 -0
  489. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +22 -0
  490. package/components/graph/svelvet/container/views/Svelvet.svelte +115 -0
  491. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +33 -0
  492. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  493. package/components/graph/svelvet/customCss/controllers/getCss.js +46 -0
  494. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  495. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  496. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  497. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  498. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  499. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  500. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  501. package/components/graph/svelvet/edges/controllers/util.js +71 -0
  502. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  503. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  504. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  505. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  506. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  507. package/components/graph/svelvet/edges/types/types.js +1 -0
  508. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  509. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  510. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  511. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  512. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  513. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  514. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  515. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  516. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  517. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  518. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  519. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  520. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  521. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  522. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  523. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  524. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  525. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  526. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  527. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  528. package/components/graph/svelvet/nodes/models/Node.d.ts +74 -0
  529. package/components/graph/svelvet/nodes/models/Node.js +157 -0
  530. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  531. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  532. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  533. package/components/graph/svelvet/store/controllers/storeApi.js +106 -0
  534. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  535. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  536. package/components/graph/svelvet/store/controllers/util.d.ts +24 -0
  537. package/components/graph/svelvet/store/controllers/util.js +148 -0
  538. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  539. package/components/graph/svelvet/store/models/store.js +9 -0
  540. package/components/graph/svelvet/store/types/types.d.ts +129 -0
  541. package/components/graph/svelvet/store/types/types.js +1 -0
  542. package/components/graph/svelvet/types/README.md +3 -0
  543. package/components/graph/svelvet/types/index.d.ts +2 -0
  544. package/components/graph/svelvet/types/index.js +1 -0
  545. package/components/graph/svelvet/types/types.d.ts +49 -0
  546. package/components/graph/svelvet/types/types.js +18 -0
  547. package/components/graph/util.js +2 -2
  548. package/components/home/ItemsList.svelte +53 -5
  549. package/components/home/ItemsList.svelte.d.ts +1 -0
  550. package/components/home/ListFilters.svelte +7 -2
  551. package/components/icons/SquareIcon.svelte +9 -0
  552. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  553. package/components/icons/index.d.ts +2 -0
  554. package/components/icons/index.js +2 -0
  555. package/components/jobs/JobDetail.svelte +40 -5
  556. package/components/propertyPicker/ObjectViewer.svelte +20 -16
  557. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  558. package/components/propertyPicker/PropPicker.svelte +12 -2
  559. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  560. package/components/random_positive_adjetive.d.ts +1 -0
  561. package/components/random_positive_adjetive.js +961 -0
  562. package/components/scriptEditor/LogPanel.svelte +5 -4
  563. package/components/sidebar/SidebarContent.svelte +3 -3
  564. package/components/sidebar/UserMenu.svelte +46 -16
  565. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  566. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  567. package/components/sidebar/settings.d.ts +2 -0
  568. package/components/sidebar/settings.js +2 -0
  569. package/consts.d.ts +1 -0
  570. package/consts.js +1 -0
  571. package/defaults.d.ts +4 -0
  572. package/defaults.js +4 -0
  573. package/gen/core/OpenAPI.js +1 -1
  574. package/gen/models/CompletedJob.d.ts +1 -0
  575. package/gen/models/QueuedJob.d.ts +1 -0
  576. package/gen/models/WorkerPing.d.ts +1 -1
  577. package/gen/services/FlowService.d.ts +9 -0
  578. package/gen/services/FlowService.js +15 -0
  579. package/gen/services/JobService.d.ts +82 -15
  580. package/gen/services/JobService.js +56 -14
  581. package/gen/services/ScriptService.d.ts +10 -1
  582. package/gen/services/ScriptService.js +16 -1
  583. package/gen/services/VariableService.d.ts +4 -2
  584. package/gen/services/VariableService.js +8 -2
  585. package/gen/services/WorkspaceService.d.ts +17 -0
  586. package/gen/services/WorkspaceService.js +16 -0
  587. package/history.d.ts +9 -0
  588. package/history.js +63 -0
  589. package/infer.js +9 -1
  590. package/init_scripts/python_failure_module.py +10 -0
  591. package/init_scripts/python_init_code.py +37 -0
  592. package/init_scripts/python_init_code_clear.py +5 -0
  593. package/init_scripts/python_init_code_trigger.py +14 -0
  594. package/logout.js +2 -1
  595. package/package.json +673 -522
  596. package/script_helpers.d.ts +6 -5
  597. package/script_helpers.js +8 -73
  598. package/scripts.d.ts +1 -1
  599. package/scripts.js +8 -1
  600. package/stores.d.ts +5 -1
  601. package/stores.js +8 -1
  602. package/user.d.ts +1 -1
  603. package/user.js +14 -8
  604. package/utils.d.ts +13 -5
  605. package/utils.js +59 -14
  606. package/components/apps/components/DisplayComponent.svelte +0 -16
  607. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  608. package/components/apps/components/dataDisplay/AppHtml.svelte +0 -35
  609. package/components/apps/components/dataDisplay/AppText.svelte +0 -86
  610. package/components/apps/components/dataDisplay/VegaLiteHtml.svelte +0 -28
  611. package/components/apps/components/dateInputs/AppDateInput.svelte +0 -34
  612. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  613. package/components/apps/components/numberInputs/AppSliderInputs.svelte +0 -37
  614. package/components/apps/components/selectInputs/AppCheckbox.svelte +0 -32
  615. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  616. package/components/apps/components/table/AppTable.svelte +0 -188
  617. package/components/apps/components/textInputs/AppTextInput.svelte +0 -31
  618. package/components/apps/editor/ComponentEditor.svelte +0 -138
  619. package/components/apps/editor/ComponentEditor.svelte.d.ts +0 -23
  620. package/components/apps/editor/TablePanel.svelte +0 -17
  621. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  622. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +0 -7
  623. package/components/apps/editor/componentsPanel/componentStaticValues.js +0 -9
  624. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  625. package/components/apps/editor/componentsPanel/data.js +0 -465
  626. package/components/apps/editorUtils.d.ts +0 -1
  627. package/components/apps/editorUtils.js +0 -253
  628. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  629. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  630. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  631. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
  632. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
@@ -1,17 +1,18 @@
1
1
  import type { Script } from "./gen";
2
- export declare const PYTHON_INIT_CODE = "import os\nimport wmill\n\n# You can import any package from PyPI, even if the assistant complains\n\n\"\"\"\nUse Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.\nThe client is used to interact with windmill itself through its standard API.\nOne can explore the methods available through autocompletion of `wmill.XXX`.\n\"\"\"\n\ndef main(no_default: str,\n name = \"Nicolas Bourbaki\",\n age = 42,\n obj: dict = {\"even\": \"dicts\"},\n l: list = [\"or\", \"lists!\"],\n file_: bytes = bytes(0)):\n \"\"\"A main function is required for the script to be able to accept arguments.\n Types are recommended.\"\"\"\n print(f\"Hello World and a warm welcome especially to {name}\")\n print(\"and its acolytes..\", age, obj, l, len(file_))\n # retrieve variables, including secrets by querying the windmill platform.\n # secret fetching is audited by windmill.\n\n try:\n secret = wmill.get_variable(\"f/examples/secret\")\n except:\n secret = \"No secret yet at f/examples/secret !\"\n\n print(f\"The variable at `f/examples/secret`: {secret}\")\n \n # Get last state of this script execution by the same trigger/user\n last_state = wmill.get_state()\n new_state = {\"foo\": 42} if last_state is None else last_state\n new_state[\"foo\"] += 1\n wmill.set_state(new_state)\n\n # fetch reserved variables as environment variables\n user = os.environ.get(\"WM_USERNAME\")\n # the return value is then parsed and can be retrieved by other scripts conveniently\n return {\"splitted\": name.split(), \"user\": user, \"state\": new_state}\n";
2
+ import PYTHON_INIT_CODE from './init_scripts/python_init_code.py?raw';
3
+ import PYTHON_INIT_CODE_CLEAR from './init_scripts/python_init_code_clear.py?raw';
4
+ import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger.py?raw';
5
+ import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module.py?raw';
6
+ export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
3
7
  export declare const DENO_INIT_CODE: string;
4
8
  export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n // wmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\n// the main must return (interface{}, error)\n\nfunc main(x string, nested struct{ Foo string `json:\"foo\"` }) (interface{}, error) {\n\tfmt.Println(\"Hello, World\")\n\tfmt.Println(nested.Foo)\n\tfmt.Println(quote.Opt())\n // v, _ := wmill.GetVariable(\"f/examples/secret\")\n return x, nil\n}\n";
5
9
  export declare const GO_FAILURE_MODULE_CODE = "package inner\n\nimport (\n\t\"fmt\"\n \"os\"\n)\n\n// connect the error parameter to 'previous_result.error'\n\nfunc main(message string, name string) (interface{}, error) {\n\tfmt.Println(message)\n\tfmt.Println(name)\n\tfmt.Println(\"flow id that failed\", os.Getenv(\"WM_FLOW_JOB_ID\"))\n return message, nil\n}\n";
6
10
  export declare const DENO_INIT_CODE_CLEAR: string;
7
11
  export declare const DENO_FAILURE_MODULE_CODE = "// flow is considered recovered and a success unless an exception is thrown\n\nexport async function main(message: string, name: string) {\n const flow_id = Deno.env.get(\"WM_FLOW_JOB_ID\")\n console.log(\"message\", message)\n console.log(\"name\",name)\n return { message, flow_id }\n}\n";
8
- export declare const PYTHON_INIT_CODE_CLEAR = "#import wmill\n\ndef main(x: str):\n return x\n";
9
- export declare const PYTHON_FAILURE_MODULE_CODE = "import os\n# flow is considered recovered and a success unless an exception is raised\n\ndef main(message: str, name: str):\n flow_id = os.environ.get(\"WM_FLOW_JOB_ID\")\n print(\"message\", message)\n print(\"name\", name)\n return message, flow_id\n";
10
12
  export declare const POSTGRES_INIT_CODE: string;
11
13
  export declare const MYSQL_INIT_CODE: string;
12
- export declare const BASH_INIT_CODE = "\n# arguments of the form X=\"$I\" are parsed as parameters X of type string\nmsg=\"$1\"\n\n# the last line of the stdout is the return value\necho \"Hello $msg\"\n";
14
+ export declare const BASH_INIT_CODE = "# arguments of the form X=\"$I\" are parsed as parameters X of type string\nmsg=\"$1\"\ndflt=\"${2:-default value}\"\n\n# the last line of the stdout is the return value\necho \"Hello $msg\"\n";
13
15
  export declare const DENO_INIT_CODE_TRIGGER: string;
14
- export declare const PYTHON_INIT_CODE_TRIGGER = "import wmill\n\ndef main():\n # A common trigger script would follow this pattern:\n # 1. Get the last saved state\n # const state = wnmill.get_state()\n # 2. Get the actual state from the external service\n # const newState = ...\n # 3. Compare the two states and update the internal state\n # wmill.setState(newState)\n # 4. Return the new rows\n # return range from (state to newState)\n return [1, 2, 3]\n";
15
16
  export declare const GO_INIT_CODE_TRIGGER = "package inner\n\nimport (\n\twmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\nfunc main() (interface{}, error) {\n\n\t// A common trigger script would follow this pattern:\n\t// 1. Get the last saved state\n\tstate, _ := wmill.GetState()\n\t// 2. Get the actual state from the external service\n\t// newState := ...\n\t// 3. Compare the two states and update the internal state\n\twmill.SetState(4)\n\t// 4. Return the new rows\n\n\treturn state, nil\n\n\t// In subsequent scripts, you may refer to each row/value returned by the trigger script using\n\t// 'flow_input.iter.value'\n}\n";
16
17
  export declare const DENO_INIT_CODE_APPROVAL = "import * as wmill from \"https://deno.land/x/windmill@v1.41.0/mod.ts\"\n\nexport async function main(approver?: string) {\n return wmill.getResumeEndpoints(approver)\n}";
17
18
  export declare function isInitialCode(content: string): boolean;
package/script_helpers.js CHANGED
@@ -1,45 +1,8 @@
1
- export const PYTHON_INIT_CODE = `import os
2
- import wmill
3
-
4
- # You can import any package from PyPI, even if the assistant complains
5
-
6
- """
7
- Use Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.
8
- The client is used to interact with windmill itself through its standard API.
9
- One can explore the methods available through autocompletion of \`wmill.XXX\`.
10
- """
11
-
12
- def main(no_default: str,
13
- name = "Nicolas Bourbaki",
14
- age = 42,
15
- obj: dict = {"even": "dicts"},
16
- l: list = ["or", "lists!"],
17
- file_: bytes = bytes(0)):
18
- """A main function is required for the script to be able to accept arguments.
19
- Types are recommended."""
20
- print(f"Hello World and a warm welcome especially to {name}")
21
- print("and its acolytes..", age, obj, l, len(file_))
22
- # retrieve variables, including secrets by querying the windmill platform.
23
- # secret fetching is audited by windmill.
24
-
25
- try:
26
- secret = wmill.get_variable("f/examples/secret")
27
- except:
28
- secret = "No secret yet at f/examples/secret !"
29
-
30
- print(f"The variable at \`f/examples/secret\`: {secret}")
31
-
32
- # Get last state of this script execution by the same trigger/user
33
- last_state = wmill.get_state()
34
- new_state = {"foo": 42} if last_state is None else last_state
35
- new_state["foo"] += 1
36
- wmill.set_state(new_state)
37
-
38
- # fetch reserved variables as environment variables
39
- user = os.environ.get("WM_USERNAME")
40
- # the return value is then parsed and can be retrieved by other scripts conveniently
41
- return {"splitted": name.split(), "user": user, "state": new_state}
42
- `;
1
+ import PYTHON_INIT_CODE from './init_scripts/python_init_code.py?raw';
2
+ import PYTHON_INIT_CODE_CLEAR from './init_scripts/python_init_code_clear.py?raw';
3
+ import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger.py?raw';
4
+ import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module.py?raw';
5
+ export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
43
6
  export const DENO_INIT_CODE = `// Ctrl+. to cache dependencies on imports hover, Ctrl+S to format.
44
7
 
45
8
  // import { toWords } from "npm:number-to-words@1"
@@ -105,20 +68,6 @@ export async function main(message: string, name: string) {
105
68
  return { message, flow_id }
106
69
  }
107
70
  `;
108
- export const PYTHON_INIT_CODE_CLEAR = `#import wmill
109
-
110
- def main(x: str):
111
- return x
112
- `;
113
- export const PYTHON_FAILURE_MODULE_CODE = `import os
114
- # flow is considered recovered and a success unless an exception is raised
115
-
116
- def main(message: str, name: str):
117
- flow_id = os.environ.get("WM_FLOW_JOB_ID")
118
- print("message", message)
119
- print("name", name)
120
- return message, flow_id
121
- `;
122
71
  export const POSTGRES_INIT_CODE = `import {
123
72
  pgSql,
124
73
  type Resource,
@@ -138,7 +87,7 @@ export async function main(
138
87
  export const MYSQL_INIT_CODE = `import {
139
88
  mySql,
140
89
  type Resource
141
- } from "https://deno.land/x/windmill@v${__pkg__.version}/mod.ts";
90
+ } from "https://deno.land/x/windmill@v${__pkg__.version}/mysql.ts";
142
91
 
143
92
  // MySQL parameterized statement. No SQL injection is possible.
144
93
  export async function main(
@@ -151,9 +100,9 @@ export async function main(
151
100
  )\`INSERT INTO demo VALUES (\${key}, \${value})\`;
152
101
  return query.rows;
153
102
  }`;
154
- export const BASH_INIT_CODE = `
155
- # arguments of the form X="$I" are parsed as parameters X of type string
103
+ export const BASH_INIT_CODE = `# arguments of the form X="$I" are parsed as parameters X of type string
156
104
  msg="$1"
105
+ dflt="\${2:-default value}"
157
106
 
158
107
  # the last line of the stdout is the return value
159
108
  echo "Hello $msg"
@@ -178,20 +127,6 @@ export async function main() {
178
127
  // 'flow_input.iter.value'
179
128
  }
180
129
  `;
181
- export const PYTHON_INIT_CODE_TRIGGER = `import wmill
182
-
183
- def main():
184
- # A common trigger script would follow this pattern:
185
- # 1. Get the last saved state
186
- # const state = wnmill.get_state()
187
- # 2. Get the actual state from the external service
188
- # const newState = ...
189
- # 3. Compare the two states and update the internal state
190
- # wmill.setState(newState)
191
- # 4. Return the new rows
192
- # return range from (state to newState)
193
- return [1, 2, 3]
194
- `;
195
130
  export const GO_INIT_CODE_TRIGGER = `package inner
196
131
 
197
132
  import (
package/scripts.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import type { Schema } from './common';
2
- export declare function loadSchema(path: string): Promise<Schema>;
2
+ export declare function loadSchema(path: string, hash?: string): Promise<Schema>;
3
3
  export declare function loadSchemaFlow(path: string): Promise<Schema>;
package/scripts.js CHANGED
@@ -3,7 +3,7 @@ import { FlowService, ScriptService } from './gen';
3
3
  import { inferArgs } from './infer';
4
4
  import { workspaceStore } from './stores';
5
5
  import { emptySchema } from './utils';
6
- export async function loadSchema(path) {
6
+ export async function loadSchema(path, hash) {
7
7
  if (path.startsWith('hub/')) {
8
8
  const { content, language, schema } = await ScriptService.getHubScriptByPath({ path });
9
9
  if (language == 'deno') {
@@ -15,6 +15,13 @@ export async function loadSchema(path) {
15
15
  return schema ?? emptySchema();
16
16
  }
17
17
  }
18
+ else if (hash) {
19
+ const script = await ScriptService.getScriptByHash({
20
+ workspace: get(workspaceStore),
21
+ hash
22
+ });
23
+ return script.schema;
24
+ }
18
25
  else {
19
26
  const script = await ScriptService.getScriptByPath({
20
27
  workspace: get(workspaceStore),
package/stores.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Readable } from "svelte/store";
2
2
  import type { UserWorkspaceList } from "./gen/models/UserWorkspaceList.js";
3
- import type { TokenResponse } from "./gen";
3
+ import { type TokenResponse } from "./gen";
4
4
  export interface UserExt {
5
5
  email: string;
6
6
  username: string;
@@ -16,6 +16,10 @@ export declare const usageStore: import("svelte/store").Writable<number>;
16
16
  export declare const oauthStore: import("svelte/store").Writable<TokenResponse | undefined>;
17
17
  export declare const userStore: import("svelte/store").Writable<UserExt | undefined>;
18
18
  export declare const workspaceStore: import("svelte/store").Writable<string | undefined>;
19
+ export declare const premiumStore: import("svelte/store").Writable<{
20
+ premium: boolean;
21
+ usage?: number | undefined;
22
+ }>;
19
23
  export declare const starStore: import("svelte/store").Writable<number>;
20
24
  export declare const usersWorkspaceStore: import("svelte/store").Writable<UserWorkspaceList | undefined>;
21
25
  export declare const superadmin: import("svelte/store").Writable<false | String | undefined>;
package/stores.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { browser } from "$app/environment";
2
2
  import { derived, writable } from "svelte/store";
3
3
  import { getUserExt } from "./user";
4
+ import { WorkspaceService } from "./gen";
5
+ import { isCloudHosted } from "./utils";
4
6
  let persistedWorkspace = browser && localStorage.getItem("workspace");
5
7
  export const usageStore = writable(0);
6
8
  export const oauthStore = writable(undefined);
7
9
  export const userStore = writable(undefined);
8
10
  export const workspaceStore = writable(persistedWorkspace ? String(persistedWorkspace) : undefined);
11
+ export const premiumStore = writable({ premium: false });
9
12
  export const starStore = writable(1);
10
13
  export const usersWorkspaceStore = writable(undefined);
11
14
  export const superadmin = writable(undefined);
@@ -32,7 +35,11 @@ if (browser) {
32
35
  catch (e) {
33
36
  console.error('Could not persist workspace to local storage', e);
34
37
  }
35
- userStore.set(await getUserExt(workspace));
38
+ const user = await getUserExt(workspace);
39
+ userStore.set(user);
40
+ if (isCloudHosted() && user?.is_admin) {
41
+ premiumStore.set((await WorkspaceService.getPremiumInfo({ workspace })));
42
+ }
36
43
  }
37
44
  else {
38
45
  userStore.set(undefined);
package/user.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { type UserExt } from './stores.js';
1
+ import { type UserExt } from "./stores.js";
2
2
  export declare function refreshSuperadmin(): Promise<void>;
3
3
  export declare function getUserExt(workspace: string): Promise<UserExt | undefined>;
package/user.js CHANGED
@@ -1,16 +1,22 @@
1
- import { get } from 'svelte/store';
2
- import { UserService } from './gen';
3
- import { superadmin } from './stores.js';
1
+ import { get } from "svelte/store";
2
+ import { UserService } from "./gen";
3
+ import { superadmin } from "./stores.js";
4
+ import { goto } from "$app/navigation";
4
5
  export async function refreshSuperadmin() {
5
6
  if (get(superadmin) == undefined) {
6
- UserService.globalWhoami().then((x) => {
7
- if (x.super_admin) {
8
- superadmin.set(x.email);
7
+ try {
8
+ const me = await UserService.globalWhoami();
9
+ if (me.super_admin) {
10
+ superadmin.set(me.email);
9
11
  }
10
12
  else {
11
13
  superadmin.set(false);
12
14
  }
13
- });
15
+ }
16
+ catch {
17
+ superadmin.set(false);
18
+ goto("/user/logout");
19
+ }
14
20
  }
15
21
  }
16
22
  export async function getUserExt(workspace) {
@@ -26,6 +32,6 @@ function mapUserToUserExt(user) {
26
32
  return {
27
33
  ...user,
28
34
  groups: user.groups,
29
- pgroups: user.groups.map((x) => `g/${x}`)
35
+ pgroups: user.groups.map((x) => `g/${x}`),
30
36
  };
31
37
  }
package/utils.d.ts CHANGED
@@ -6,7 +6,7 @@ export declare function isToday(someDate: Date): boolean;
6
6
  export declare function daysAgo(someDate: Date): number;
7
7
  export declare function secondsAgo(date: Date): number;
8
8
  export declare function displayDaysAgo(dateString: string): string;
9
- export declare function displayDate(dateString: string | undefined, displaySecond?: boolean): string;
9
+ export declare function displayDate(dateString: string | Date | undefined, displaySecond?: boolean): string;
10
10
  export declare function msToSec(ms: number | undefined): string;
11
11
  export declare function getToday(): Date;
12
12
  export declare function sendUserToast(message: string, error?: boolean): void;
@@ -16,7 +16,6 @@ export declare function validatePassword(password: string): boolean;
16
16
  export declare function clickOutside(node: Node): {
17
17
  destroy(): void;
18
18
  };
19
- export type DropdownType = 'action' | 'delete';
20
19
  export interface DropdownItem {
21
20
  displayName: string;
22
21
  eventName?: string;
@@ -24,12 +23,12 @@ export interface DropdownItem {
24
23
  href?: string;
25
24
  separatorTop?: boolean;
26
25
  separatorBottom?: boolean;
27
- type?: DropdownType;
26
+ type?: 'action' | 'delete';
28
27
  disabled?: boolean;
29
28
  icon?: any | undefined;
30
29
  }
31
30
  export declare function emptySchema(): {
32
- $schema: string;
31
+ $schema: string | undefined;
33
32
  properties: {};
34
33
  required: never[];
35
34
  type: string;
@@ -62,7 +61,10 @@ export declare function encodeState(state: any): string;
62
61
  export declare function decodeState(query: string): any;
63
62
  export declare function decodeArgs(queryArgs: string | undefined): any;
64
63
  export declare function setQuery(url: URL, key: string, value: string): Promise<void>;
65
- export declare function setQueryWithoutLoad(url: URL, key: string, value: string): void;
64
+ export declare function setQueryWithoutLoad(url: URL, args: {
65
+ key: string;
66
+ value: string | null | undefined;
67
+ }[], bounceTime?: number): void;
66
68
  export declare function groupBy<T>(scripts: T[], toGroup: (t: T) => string, dflts?: string[]): [string, T[]][];
67
69
  export declare function removeMarkdown(text: string): string;
68
70
  export declare function truncate(s: string, n: number, suffix?: string): string;
@@ -80,6 +82,7 @@ export declare function getScriptByPath(path: string): Promise<{
80
82
  schema: any;
81
83
  description: string;
82
84
  }>;
85
+ export declare function getLatestHashForScript(path: string): Promise<string>;
83
86
  export declare function loadHubScripts(): Promise<void>;
84
87
  export declare function loadHubFlows(): Promise<{
85
88
  id: number;
@@ -109,3 +112,8 @@ export declare function capitalize(word: string): string;
109
112
  export declare function addWhitespaceBeforeCapitals(word?: string): string;
110
113
  export declare function isCloudHosted(): boolean;
111
114
  export declare function isObject(obj: any): boolean;
115
+ export declare function debounce(func: (...args: any[]) => any, wait: number): (...args: any[]) => void;
116
+ export declare function throttle<T>(func: (...args: any[]) => T, wait: number): (...args: any[]) => void;
117
+ export declare function isMac(): boolean;
118
+ export declare function getModifierKey(): string;
119
+ export declare function isValidHexColor(color: string): boolean;
package/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
2
2
  import { goto } from '$app/navigation';
3
- import { AppService, FlowService, FolderService, Script, ScriptService, UserService } from './gen';
3
+ import { AppService, FlowService, Script, ScriptService, UserService } from './gen';
4
4
  import { toast } from '@zerodevx/svelte-toast';
5
5
  import { hubScripts, workspaceStore } from './stores';
6
6
  import { page } from '$app/stores';
@@ -24,7 +24,7 @@ export function daysAgo(someDate) {
24
24
  return Math.floor((today.getTime() - someDate.getTime()) / 86400000);
25
25
  }
26
26
  export function secondsAgo(date) {
27
- return Math.floor((new Date().getTime() - date.getTime()) / 1000);
27
+ return Math.max(0, Math.floor((new Date().getTime() - date.getTime()) / 1000));
28
28
  }
29
29
  export function displayDaysAgo(dateString) {
30
30
  const date = new Date(dateString);
@@ -57,11 +57,11 @@ export function displayDate(dateString, displaySecond = false) {
57
57
  return '';
58
58
  }
59
59
  else {
60
- return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()} at ${date.toLocaleTimeString([], {
60
+ return `${date.toLocaleTimeString([], {
61
61
  hour: '2-digit',
62
62
  minute: '2-digit',
63
63
  second: displaySecond ? '2-digit' : undefined
64
- })}`;
64
+ })} ${date.getDate()}/${date.getMonth() + 1}`;
65
65
  }
66
66
  }
67
67
  export function msToSec(ms) {
@@ -147,7 +147,7 @@ export function removeItemAll(arr, value) {
147
147
  return arr;
148
148
  }
149
149
  export async function isOwner(path, user, workspace) {
150
- if (user.is_admin && ((workspace == 'starter' || workspace == 'admin') && user.is_super_admin)) {
150
+ if (user.is_admin && (workspace == 'starter' || workspace == 'admin') && user.is_super_admin) {
151
151
  return true;
152
152
  }
153
153
  else if (workspace == 'starter' || workspace == 'admin') {
@@ -208,8 +208,12 @@ export function removeKeysWithEmptyValues(obj) {
208
208
  export function allTrue(dict) {
209
209
  return Object.values(dict).every(Boolean);
210
210
  }
211
+ function subtractSeconds(date, seconds) {
212
+ date.setSeconds(date.getSeconds() - seconds);
213
+ return date;
214
+ }
211
215
  export function forLater(scheduledString) {
212
- return new Date() < new Date(scheduledString);
216
+ return new Date() < subtractSeconds(new Date(scheduledString), 5);
213
217
  }
214
218
  export function elapsedSinceSecs(date) {
215
219
  return Math.round((new Date().getTime() - new Date(date).getTime()) / 1000);
@@ -240,18 +244,25 @@ export async function setQuery(url, key, value) {
240
244
  await goto(`?${url.searchParams.toString()}`);
241
245
  }
242
246
  let debounced = undefined;
243
- export function setQueryWithoutLoad(url, key, value) {
247
+ export function setQueryWithoutLoad(url, args, bounceTime) {
244
248
  debounced && clearTimeout(debounced);
245
249
  debounced = setTimeout(() => {
246
250
  const nurl = new URL(url.toString());
247
- nurl.searchParams.set(key, value);
251
+ for (const { key, value } of args) {
252
+ if (value) {
253
+ nurl.searchParams.set(key, value);
254
+ }
255
+ else {
256
+ nurl.searchParams.delete(key);
257
+ }
258
+ }
248
259
  try {
249
260
  history.replaceState(history.state, '', nurl.toString());
250
261
  }
251
262
  catch (e) {
252
263
  console.error(e);
253
264
  }
254
- }, 200);
265
+ }, bounceTime ?? 200);
255
266
  }
256
267
  export function groupBy(scripts, toGroup, dflts = []) {
257
268
  let r = {};
@@ -390,9 +401,6 @@ export function setInputCat(type, format, itemsType, enum_, contentEncoding) {
390
401
  else if (type == 'string' && contentEncoding == 'base64') {
391
402
  return 'base64';
392
403
  }
393
- else if (type == 'string' && format?.startsWith('resource')) {
394
- return 'resource-string';
395
- }
396
404
  else {
397
405
  return 'string';
398
406
  }
@@ -402,7 +410,7 @@ export function scriptPathToHref(path) {
402
410
  return 'https://hub.windmill.dev/from_version/' + path.substring(4);
403
411
  }
404
412
  else {
405
- return `/scripts/get/${path}`;
413
+ return `/scripts/get/${path}?workspace_id=${get(workspaceStore)}`;
406
414
  }
407
415
  }
408
416
  export async function getScriptByPath(path) {
@@ -428,6 +436,13 @@ export async function getScriptByPath(path) {
428
436
  };
429
437
  }
430
438
  }
439
+ export async function getLatestHashForScript(path) {
440
+ const script = await ScriptService.getScriptByPath({
441
+ workspace: get(workspaceStore),
442
+ path: path ?? ''
443
+ });
444
+ return script.hash;
445
+ }
431
446
  export async function loadHubScripts() {
432
447
  try {
433
448
  const scripts = (await ScriptService.listHubScripts()).asks ?? [];
@@ -560,8 +575,38 @@ export function addWhitespaceBeforeCapitals(word) {
560
575
  return word.replace(/([A-Z])/g, ' $1').trim();
561
576
  }
562
577
  export function isCloudHosted() {
563
- return get(page).url.hostname == 'app.windmill.dev';
578
+ return get(page)?.url?.hostname == 'app.windmill.dev';
564
579
  }
565
580
  export function isObject(obj) {
566
581
  return typeof obj === 'object';
567
582
  }
583
+ export function debounce(func, wait) {
584
+ let timeout;
585
+ return function (...args) {
586
+ // @ts-ignore
587
+ const context = this;
588
+ clearTimeout(timeout);
589
+ timeout = setTimeout(() => func.apply(context, args), wait);
590
+ };
591
+ }
592
+ export function throttle(func, wait) {
593
+ let timeout;
594
+ return function (...args) {
595
+ if (!timeout) {
596
+ timeout = setTimeout(() => {
597
+ timeout = null;
598
+ // @ts-ignore
599
+ func.apply(this, args);
600
+ }, wait);
601
+ }
602
+ };
603
+ }
604
+ export function isMac() {
605
+ return navigator.userAgent.indexOf('Mac OS X') !== -1;
606
+ }
607
+ export function getModifierKey() {
608
+ return isMac() ? '⌘' : 'CTRL';
609
+ }
610
+ export function isValidHexColor(color) {
611
+ return /^#(([A-F0-9]{2}){3,4}|[A-F0-9]{3})$/i.test(color);
612
+ }
@@ -1,16 +0,0 @@
1
- <script>import DisplayResult from '../../DisplayResult.svelte';
2
- import RunnableWrapper from './helpers/RunnableWrapper.svelte';
3
- export let id;
4
- export let componentInput;
5
- let result = undefined;
6
- export const staticOutputs = ['result', 'loading'];
7
- </script>
8
-
9
- <RunnableWrapper flexWrap bind:result bind:componentInput {id}>
10
- <div class="w-full border-b px-2 text-xs p-1 font-semibold bg-gray-500 text-white rounded-t-sm">
11
- Results
12
- </div>
13
- <div class="p-2">
14
- <DisplayResult {result} />
15
- </div>
16
- </RunnableWrapper>
@@ -1,20 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { AppInput } from '../inputType';
3
- declare const __propDef: {
4
- props: {
5
- id: string;
6
- componentInput: AppInput | undefined;
7
- staticOutputs?: string[] | undefined;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- };
14
- export type DisplayComponentProps = typeof __propDef.props;
15
- export type DisplayComponentEvents = typeof __propDef.events;
16
- export type DisplayComponentSlots = typeof __propDef.slots;
17
- export default class DisplayComponent extends SvelteComponentTyped<DisplayComponentProps, DisplayComponentEvents, DisplayComponentSlots> {
18
- get staticOutputs(): string[];
19
- }
20
- export {};
@@ -1,35 +0,0 @@
1
- <script>import AlignWrapper from '../helpers/AlignWrapper.svelte';
2
- import RunnableWrapper from '../helpers/RunnableWrapper.svelte';
3
- export let id;
4
- export let componentInput;
5
- export let horizontalAlignment = 'left';
6
- export let verticalAlignment = undefined;
7
- export let configuration;
8
- export const staticOutputs = ['result', 'loading'];
9
- let result = undefined;
10
- let h = undefined;
11
- let w = undefined;
12
- </script>
13
-
14
- <div
15
- on:pointerdown={(e) => {
16
- e?.preventDefault()
17
- }}
18
- class="h-full w-full"
19
- bind:clientHeight={h}
20
- bind:clientWidth={w}
21
- >
22
- <RunnableWrapper flexWrap bind:componentInput {id} bind:result>
23
- <AlignWrapper {horizontalAlignment} {verticalAlignment}>
24
- {#key result}
25
- <iframe
26
- frameborder="0"
27
- style="height: {h}px; width: {w}px"
28
- class="p-0"
29
- title="sandbox"
30
- srcdoc={result ? '<scr' + `ipt src="/tailwind.css"></script>` + result : 'No html'}
31
- />
32
- {/key}
33
- </AlignWrapper>
34
- </RunnableWrapper>
35
- </div>
@@ -1,86 +0,0 @@
1
- <script>import { Clipboard } from 'lucide-svelte';
2
- import { copyToClipboard } from '../../../../utils';
3
- import Button from '../../../common/button/Button.svelte';
4
- import Popover from '../../../Popover.svelte';
5
- import AlignWrapper from '../helpers/AlignWrapper.svelte';
6
- import InputValue from '../helpers/InputValue.svelte';
7
- import RunnableWrapper from '../helpers/RunnableWrapper.svelte';
8
- export let id;
9
- export let componentInput;
10
- export let horizontalAlignment = 'left';
11
- export let verticalAlignment = undefined;
12
- export let configuration;
13
- export const staticOutputs = ['result', 'loading'];
14
- let extraStyle = undefined;
15
- let result = undefined;
16
- let style = undefined;
17
- let copyButton;
18
- function getComponent() {
19
- switch (style) {
20
- case 'Title':
21
- return 'h1';
22
- case 'Subtitle':
23
- return 'h3';
24
- case 'Body':
25
- return 'p';
26
- case 'Caption':
27
- return 'p';
28
- case 'Label':
29
- return 'label';
30
- default:
31
- return 'p';
32
- }
33
- }
34
- function getClasses() {
35
- switch (style) {
36
- case 'Caption':
37
- return 'text-sm italic text-gray-500';
38
- case 'Label':
39
- return 'font-semibold text-sm';
40
- default:
41
- return '';
42
- }
43
- }
44
- let component = 'p';
45
- let classes = '';
46
- $: style && (component = getComponent());
47
- $: style && (classes = getClasses());
48
- </script>
49
-
50
- <InputValue {id} input={configuration.extraStyle} bind:value={extraStyle} />
51
- <InputValue {id} input={configuration.style} bind:value={style} />
52
- <InputValue {id} input={configuration.copyButton} bind:value={copyButton} />
53
-
54
- <RunnableWrapper flexWrap bind:componentInput {id} bind:result>
55
- <AlignWrapper {horizontalAlignment} {verticalAlignment}>
56
- {#if !result || result === ''}
57
- <div class="text-gray-400 bg-gray-100 flex justify-center items-center h-full w-full">
58
- No text
59
- </div>
60
- {:else}
61
- <div class="flex flex-wrap gap-2">
62
- <svelte:element
63
- this={component}
64
- class="whitespace-pre-wrap {classes}"
65
- style={extraStyle}
66
- >
67
- {String(result)}
68
- </svelte:element>
69
- {#if copyButton && result}
70
- <Popover notClickable>
71
- <Button
72
- size="xs"
73
- btnClasses="!px-2"
74
- on:click={() => copyToClipboard(result)}
75
- >
76
- <Clipboard size={14} strokeWidth={2} />
77
- </Button>
78
- <svelte:fragment slot="text">
79
- Copy to clipboard
80
- </svelte:fragment>
81
- </Popover>
82
- {/if}
83
- </div>
84
- {/if}
85
- </AlignWrapper>
86
- </RunnableWrapper>