windmill-components 1.309.7 → 1.352.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/package/assets/app.css +22 -13
  2. package/package/ata/index.js +1 -0
  3. package/package/autosize.js +2 -2
  4. package/package/common.d.ts +14 -2
  5. package/package/common.js +6 -1
  6. package/package/components/AllFlowLogs.svelte +30 -0
  7. package/package/components/AllFlowLogs.svelte.d.ts +18 -0
  8. package/package/components/ApiConnectForm.svelte +10 -4
  9. package/package/components/AppConnectDrawer.svelte +74 -0
  10. package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
  11. package/package/components/AppConnectInner.svelte +507 -0
  12. package/package/components/AppConnectInner.svelte.d.ts +28 -0
  13. package/package/components/ArgEnum.svelte +4 -1
  14. package/package/components/ArgEnum.svelte.d.ts +3 -1
  15. package/package/components/ArgInfo.svelte +19 -3
  16. package/package/components/ArgInput.svelte +222 -122
  17. package/package/components/ArgInput.svelte.d.ts +11 -7
  18. package/package/components/ArrayTypeNarrowing.svelte +29 -27
  19. package/package/components/CenteredPage.svelte +2 -2
  20. package/package/components/ConcurrentJobsChart.svelte +212 -0
  21. package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
  22. package/package/components/CustomOauth.svelte +2 -2
  23. package/package/components/DateInput.svelte +47 -0
  24. package/package/components/DateInput.svelte.d.ts +24 -0
  25. package/package/components/DateTimeInput.svelte +25 -3
  26. package/package/components/DefaultScripts.svelte +5 -8
  27. package/package/components/DefaultTags.svelte +3 -2
  28. package/package/components/DefaultTags.svelte.d.ts +3 -1
  29. package/package/components/DefaultTagsInner.svelte +2 -11
  30. package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
  31. package/package/components/Dev.svelte +72 -10
  32. package/package/components/DiffDrawer.svelte +1 -2
  33. package/package/components/DiffEditor.svelte +3 -0
  34. package/package/components/DisplayResult.svelte +467 -344
  35. package/package/components/DisplayResult.svelte.d.ts +1 -0
  36. package/package/components/DropdownV2.svelte.d.ts +2 -2
  37. package/package/components/DurationMs.svelte +11 -3
  38. package/package/components/DurationMs.svelte.d.ts +2 -0
  39. package/package/components/EditableSchemaForm.svelte +447 -100
  40. package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
  41. package/package/components/Editor.svelte +112 -93
  42. package/package/components/Editor.svelte.d.ts +4 -2
  43. package/package/components/EditorBar.svelte +101 -10
  44. package/package/components/EditorBar.svelte.d.ts +0 -1
  45. package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
  46. package/package/components/FlowBuilder.svelte +14 -6
  47. package/package/components/FlowGraphViewer.svelte +2 -1
  48. package/package/components/FlowGraphViewerStep.svelte +56 -10
  49. package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
  50. package/package/components/FlowJobResult.svelte +14 -3
  51. package/package/components/FlowJobResult.svelte.d.ts +3 -0
  52. package/package/components/FlowMetadata.svelte +41 -36
  53. package/package/components/FlowMetadata.svelte.d.ts +3 -1
  54. package/package/components/FlowPreviewContent.svelte +18 -9
  55. package/package/components/FlowStatusViewer.svelte +4 -0
  56. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  57. package/package/components/FlowStatusViewerInner.svelte +96 -19
  58. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
  59. package/package/components/FlowTimeline.svelte +13 -0
  60. package/package/components/FlowTimeline.svelte.d.ts +2 -0
  61. package/package/components/FlowViewer.svelte +0 -5
  62. package/package/components/FolderEditor.svelte +25 -0
  63. package/package/components/FolderEditor.svelte.d.ts +2 -0
  64. package/package/components/GroupEditor.svelte +36 -91
  65. package/package/components/GroupInfo.svelte +1 -1
  66. package/package/components/HighlightCode.svelte +3 -0
  67. package/package/components/InputTransformForm.svelte +19 -1
  68. package/package/components/InputTransformForm.svelte.d.ts +2 -0
  69. package/package/components/InputTransformSchemaForm.svelte +6 -0
  70. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  71. package/package/components/InstanceSettings.svelte +196 -16
  72. package/package/components/InstanceSettings.svelte.d.ts +4 -0
  73. package/package/components/JobLogs.svelte +12 -0
  74. package/package/components/JobLogs.svelte.d.ts +16 -0
  75. package/package/components/JobStatus.svelte +3 -3
  76. package/package/components/Label.svelte +1 -1
  77. package/package/components/Label.svelte.d.ts +1 -0
  78. package/package/components/LightweightArgInput.svelte +342 -264
  79. package/package/components/LightweightArgInput.svelte.d.ts +6 -2
  80. package/package/components/LightweightResourcePicker.svelte +74 -26
  81. package/package/components/LightweightSchemaForm.svelte +49 -39
  82. package/package/components/LogViewer.svelte +52 -15
  83. package/package/components/LogViewer.svelte.d.ts +1 -0
  84. package/package/components/Login.svelte +288 -0
  85. package/package/components/Login.svelte.d.ts +19 -0
  86. package/package/components/ModulePreviewForm.svelte +4 -0
  87. package/package/components/NoMainFuncBadge.svelte +8 -0
  88. package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
  89. package/package/components/NumberTypeNarrowing.svelte +71 -44
  90. package/package/components/OauthExtraParams.svelte +1 -1
  91. package/package/components/OauthScopes.svelte +1 -1
  92. package/package/components/ObjectResourceInput.svelte +2 -0
  93. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  94. package/package/components/ObjectStoreConfigSettings.svelte +12 -1
  95. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
  96. package/package/components/ObjectTypeNarrowing.svelte +0 -1
  97. package/package/components/ParqetCsvTableRenderer.svelte +181 -0
  98. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
  99. package/package/components/Password.svelte +1 -0
  100. package/package/components/Password.svelte.d.ts +2 -0
  101. package/package/components/PasswordArgInput.svelte +49 -0
  102. package/package/components/PasswordArgInput.svelte.d.ts +17 -0
  103. package/package/components/Path.svelte +2 -2
  104. package/package/components/PersistentScriptDrawer.svelte +6 -3
  105. package/package/components/QueueMetricsDrawer.svelte +225 -0
  106. package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
  107. package/package/components/Range.svelte +88 -286
  108. package/package/components/Range.svelte.d.ts +9 -23
  109. package/package/components/ResourceEditor.svelte +138 -140
  110. package/package/components/ResourceEditor.svelte.d.ts +9 -2
  111. package/package/components/ResourceEditorDrawer.svelte +45 -0
  112. package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
  113. package/package/components/ResourcePicker.svelte +8 -9
  114. package/package/components/ResourceTypePicker.svelte +88 -36
  115. package/package/components/ResultJobLoader.svelte +2 -2
  116. package/package/components/ResultJobLoader.svelte.d.ts +9 -9
  117. package/package/components/RunChart.svelte +55 -5
  118. package/package/components/RunChart.svelte.d.ts +1 -0
  119. package/package/components/RunForm.svelte +1 -1
  120. package/package/components/S3FilePicker.svelte +21 -9
  121. package/package/components/S3FilePicker.svelte.d.ts +2 -0
  122. package/package/components/SavedInputs.svelte +49 -13
  123. package/package/components/ScheduleEditorInner.svelte +294 -264
  124. package/package/components/SchemaForm.svelte +193 -99
  125. package/package/components/SchemaForm.svelte.d.ts +17 -2
  126. package/package/components/ScriptBuilder.svelte +23 -14
  127. package/package/components/ScriptEditor.svelte +1 -2
  128. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  129. package/package/components/ScriptSchedules.svelte +11 -8
  130. package/package/components/ScriptSchema.svelte +3 -21
  131. package/package/components/ScriptVersionHistory.svelte +1 -1
  132. package/package/components/SimpleEditor.svelte +4 -1
  133. package/package/components/StringTypeNarrowing.svelte +229 -167
  134. package/package/components/StringTypeNarrowing.svelte.d.ts +6 -1
  135. package/package/components/TemplateEditor.svelte +1 -0
  136. package/package/components/TestJobLoader.svelte +14 -5
  137. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  138. package/package/components/Toggle.svelte +6 -3
  139. package/package/components/Toggle.svelte.d.ts +1 -0
  140. package/package/components/Tooltip.svelte +8 -2
  141. package/package/components/Tooltip.svelte.d.ts +1 -0
  142. package/package/components/UserSettings.svelte +24 -1
  143. package/package/components/WorkspaceGroup.svelte +84 -21
  144. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  145. package/package/components/app_connect.d.ts +7 -0
  146. package/package/components/app_connect.js +78 -0
  147. package/package/components/apps/components/buttons/AppButton.svelte +2 -1
  148. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  149. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  150. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  151. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  152. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  153. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
  154. package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
  155. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  156. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +23 -10
  157. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
  158. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +22 -10
  159. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
  160. package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
  161. package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
  162. package/package/components/apps/components/display/AppMap.svelte +3 -2
  163. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  164. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  165. package/package/components/apps/components/display/AppText.svelte +7 -2
  166. package/package/components/apps/components/display/charts/AppAgCharts.svelte +31 -18
  167. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  168. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  169. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  170. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  171. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  172. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  173. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  174. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  175. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  176. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  177. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  178. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  179. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  180. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  181. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  182. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  183. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +13 -2
  184. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  185. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  186. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  187. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  188. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  189. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  190. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  191. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  192. package/package/components/apps/components/display/table/utils.js +22 -0
  193. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  194. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  195. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  196. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  197. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  198. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  199. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  200. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  201. package/package/components/apps/components/helpers/RunnableComponent.svelte +102 -41
  202. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +9 -5
  203. package/package/components/apps/components/helpers/RunnableWrapper.svelte +9 -1
  204. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +6 -0
  205. package/package/components/apps/components/helpers/eval.js +1 -36
  206. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  207. package/package/components/apps/components/inputs/AppFileInput.svelte +13 -2
  208. package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
  209. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  210. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  211. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  212. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  213. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  214. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  215. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  216. package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
  217. package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
  218. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  219. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  220. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  221. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  222. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +10 -3
  223. package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
  224. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  225. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  226. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  227. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  228. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  229. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  230. package/package/components/apps/components/layout/AppStepper.svelte +7 -2
  231. package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
  232. package/package/components/apps/components/layout/AppTabs.svelte +4 -2
  233. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  234. package/package/components/apps/editor/AppEditor.svelte +3 -2
  235. package/package/components/apps/editor/AppEditorHeader.svelte +68 -38
  236. package/package/components/apps/editor/AppInputs.svelte +1 -1
  237. package/package/components/apps/editor/AppPreview.svelte +18 -7
  238. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  239. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  240. package/package/components/apps/editor/GridEditor.svelte +15 -6
  241. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  242. package/package/components/apps/editor/GridViewer.svelte +14 -5
  243. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  244. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  245. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  246. package/package/components/apps/editor/SettingsPanel.svelte +19 -5
  247. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  248. package/package/components/apps/editor/appUtils.d.ts +6 -1
  249. package/package/components/apps/editor/appUtils.js +85 -7
  250. package/package/components/apps/editor/component/Component.svelte +86 -18
  251. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  252. package/package/components/apps/editor/component/components.d.ts +285 -23
  253. package/package/components/apps/editor/component/components.js +178 -13
  254. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  255. package/package/components/apps/editor/component/default-codes.js +241 -9
  256. package/package/components/apps/editor/component/sets.d.ts +3 -0
  257. package/package/components/apps/editor/component/sets.js +12 -2
  258. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  259. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  260. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  261. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  262. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  263. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  264. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  265. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
  266. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  267. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  268. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  269. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
  270. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  272. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +41 -29
  273. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  274. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  275. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  276. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  277. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  278. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
  279. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
  280. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
  281. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
  282. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +14 -36
  283. package/package/components/apps/editor/settingsPanel/GridTab.svelte +4 -24
  284. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  285. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  286. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  287. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +32 -2
  288. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  289. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  290. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
  291. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  292. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  293. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +8 -1
  294. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
  295. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  296. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  297. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  298. package/package/components/apps/inputType.d.ts +4 -0
  299. package/package/components/apps/rx.d.ts +1 -1
  300. package/package/components/apps/rx.js +7 -0
  301. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  302. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  303. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  304. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  305. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  306. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  307. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  308. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  309. package/package/components/apps/types.d.ts +1 -0
  310. package/package/components/apps/utils.js +13 -3
  311. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  312. package/package/components/build_workers.js +1 -0
  313. package/package/components/common/alert/Alert.svelte +17 -17
  314. package/package/components/common/badge/Badge.svelte +6 -3
  315. package/package/components/common/badge/model.d.ts +1 -1
  316. package/package/components/common/button/Button.svelte +22 -14
  317. package/package/components/common/button/ButtonDropdown.svelte +1 -0
  318. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  319. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  320. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  321. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  322. package/package/components/common/drawer/Disposable.svelte +67 -0
  323. package/package/components/common/drawer/Disposable.svelte.d.ts +37 -0
  324. package/package/components/common/drawer/Drawer.svelte +40 -56
  325. package/package/components/common/drawer/Drawer.svelte.d.ts +2 -1
  326. package/package/components/common/fileDownload/FileDownload.svelte +4 -2
  327. package/package/components/common/fileInput/FileInput.svelte +3 -3
  328. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  329. package/package/components/common/fileUpload/FileUpload.svelte +5 -4
  330. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  331. package/package/components/common/modal/Modal.svelte +4 -1
  332. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  333. package/package/components/common/popup/Popup.svelte +1 -1
  334. package/package/components/common/table/RowIcon.svelte +4 -4
  335. package/package/components/common/table/ScriptRow.svelte +12 -1
  336. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  337. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
  338. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  339. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  340. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  341. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
  342. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
  343. package/package/components/copilot/CronGen.svelte +2 -2
  344. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  345. package/package/components/copilot/RegexGen.svelte +17 -39
  346. package/package/components/copilot/ScriptGen.svelte +14 -5
  347. package/package/components/copilot/StepInputGen.svelte +2 -1
  348. package/package/components/copilot/StepInputsGen.svelte +2 -1
  349. package/package/components/copilot/completion.js +60 -9
  350. package/package/components/copilot/lib.js +5 -3
  351. package/package/components/copilot/prompts/edit.yaml +24 -0
  352. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  353. package/package/components/copilot/prompts/editPrompt.js +3 -0
  354. package/package/components/copilot/prompts/fix.yaml +25 -0
  355. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  356. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  357. package/package/components/copilot/prompts/gen.yaml +20 -0
  358. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  359. package/package/components/copilot/prompts/genPrompt.js +3 -0
  360. package/package/components/copilot/utils.d.ts +2 -1
  361. package/package/components/copilot/utils.js +38 -0
  362. package/package/components/details/createAppFromScript.d.ts +26 -0
  363. package/package/components/details/createAppFromScript.js +50 -24
  364. package/package/components/flows/CreateActionsApp.svelte +1 -0
  365. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  366. package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
  367. package/package/components/flows/content/FlowInput.svelte +63 -53
  368. package/package/components/flows/content/FlowInputs.svelte +2 -2
  369. package/package/components/flows/content/FlowModuleComponent.svelte +41 -9
  370. package/package/components/flows/content/FlowModuleScript.svelte +40 -1
  371. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  372. package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
  373. package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
  374. package/package/components/flows/content/FlowSchedules.svelte +11 -8
  375. package/package/components/flows/content/ScriptEditorDrawer.svelte +6 -6
  376. package/package/components/flows/flowExplorer.js +4 -1
  377. package/package/components/flows/flowStateUtils.js +4 -1
  378. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  379. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  380. package/package/components/flows/map/FlowModuleSchemaItem.svelte +19 -1
  381. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  382. package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
  383. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  384. package/package/components/flows/map/MapItem.svelte +2 -0
  385. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  386. package/package/components/flows/types.d.ts +4 -0
  387. package/package/components/flows/utils.d.ts +5 -1
  388. package/package/components/flows/utils.js +36 -0
  389. package/package/components/graph/FlowGraph.svelte +6 -2
  390. package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
  391. package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
  392. package/package/components/graph/svelvet/container/models/index.js +1 -1
  393. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
  394. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  395. package/package/components/graph/util.d.ts +1 -37
  396. package/package/components/graph/util.js +0 -34
  397. package/package/components/home/ItemsList.svelte +44 -9
  398. package/package/components/home/TreeView.svelte +2 -0
  399. package/package/components/icons/AzureIcon.svelte +25 -1
  400. package/package/components/icons/PHPIcon.svelte +117 -0
  401. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  402. package/package/components/instanceSettings.d.ts +1 -1
  403. package/package/components/instanceSettings.js +20 -3
  404. package/package/components/jobs/JobPreview.svelte +6 -1
  405. package/package/components/multiselect/MultiSelect.svelte +783 -0
  406. package/package/components/multiselect/MultiSelect.svelte.d.ts +98 -0
  407. package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
  408. package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
  409. package/package/components/multiselect/types.d.ts +56 -0
  410. package/package/components/multiselect/types.js +1 -0
  411. package/package/components/multiselect/utils.d.ts +7 -0
  412. package/package/components/multiselect/utils.js +54 -0
  413. package/package/components/propertyPicker/ObjectViewer.svelte +19 -2
  414. package/package/components/runs/JobLoader.svelte +135 -17
  415. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  416. package/package/components/runs/JobPreview.svelte +44 -4
  417. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  418. package/package/components/runs/RunRow.svelte +99 -33
  419. package/package/components/runs/RunRow.svelte.d.ts +5 -1
  420. package/package/components/runs/RunsFilter.svelte +125 -9
  421. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  422. package/package/components/runs/RunsTable.svelte +71 -10
  423. package/package/components/runs/RunsTable.svelte.d.ts +8 -1
  424. package/package/components/schema/AddProperty.svelte +149 -0
  425. package/package/components/schema/AddProperty.svelte.d.ts +23 -0
  426. package/package/components/schema/AddPropertyForm.svelte +33 -0
  427. package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
  428. package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
  429. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
  430. package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
  431. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
  432. package/package/components/schema/FlowPropertyEditor.svelte +393 -0
  433. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
  434. package/package/components/schema/PropertyEditor.svelte +185 -0
  435. package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
  436. package/package/components/schema/SchemaFormDND.svelte +75 -0
  437. package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
  438. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  439. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  440. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  441. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  442. package/package/components/sidebar/MenuButton.svelte +1 -1
  443. package/package/components/sidebar/MenuLink.svelte +1 -1
  444. package/package/components/sidebar/changelogs.js +40 -0
  445. package/package/components/table/AutoDataTable.svelte +124 -163
  446. package/package/components/table/Cell.svelte +4 -1
  447. package/package/components/table/Cell.svelte.d.ts +1 -0
  448. package/package/components/table/DataTable.svelte +13 -5
  449. package/package/components/table/DataTable.svelte.d.ts +1 -0
  450. package/package/components/table/DownloadCsv.svelte +30 -0
  451. package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
  452. package/package/components/table/tableUtils.d.ts +8 -0
  453. package/package/components/table/tableUtils.js +37 -0
  454. package/package/components/vscode.js +1 -1
  455. package/package/components/wizards/AgGridWizard.svelte +27 -2
  456. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  457. package/package/consts.js +7 -1
  458. package/package/defaults.d.ts +2 -2
  459. package/package/defaults.js +2 -2
  460. package/package/deno_fetch.d.ts.txt +36 -0
  461. package/package/editorUtils.js +2 -0
  462. package/package/gen/core/OpenAPI.js +5 -6
  463. package/package/gen/core/request.js +4 -1
  464. package/package/gen/index.d.ts +0 -1
  465. package/package/gen/index.js +0 -1
  466. package/package/gen/schemas.gen.d.ts +173 -428
  467. package/package/gen/schemas.gen.js +173 -433
  468. package/package/gen/services.gen.d.ts +3182 -1840
  469. package/package/gen/services.gen.js +3652 -2368
  470. package/package/gen/types.gen.d.ts +5445 -1529
  471. package/package/infer.d.ts +1 -1
  472. package/package/infer.js +6 -2
  473. package/package/inferArgSig.d.ts +10 -0
  474. package/package/inferArgSig.js +64 -4
  475. package/package/init_scripts/python_init_code.d.ts +1 -1
  476. package/package/init_scripts/python_init_code.js +1 -1
  477. package/package/process.d.ts.txt +1770 -0
  478. package/package/script_helpers.d.ts +3 -2
  479. package/package/script_helpers.js +28 -3
  480. package/package/scripts.d.ts +3 -1
  481. package/package/scripts.js +10 -3
  482. package/package/utils.d.ts +5 -1
  483. package/package/utils.js +53 -5
  484. package/package/windmill_fetch.d.ts.txt +16966 -0
  485. package/package/workspace_settings.d.ts +15 -0
  486. package/package/workspace_settings.js +81 -0
  487. package/package/zIndexes.d.ts +12 -0
  488. package/package/zIndexes.js +12 -0
  489. package/package.json +19 -10
  490. package/package/components/AppConnect.svelte +0 -566
  491. package/package/components/AppConnect.svelte.d.ts +0 -23
  492. package/package/components/ContextMenu.svelte +0 -89
  493. package/package/components/ContextMenu.svelte.d.ts +0 -28
  494. package/package/components/ParqetTableRenderer.svelte +0 -121
  495. package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
  496. package/package/components/PropertyRow.svelte +0 -80
  497. package/package/components/PropertyRow.svelte.d.ts +0 -23
  498. package/package/components/SchemaEditor.svelte +0 -344
  499. package/package/components/SchemaEditor.svelte.d.ts +0 -23
  500. package/package/components/SchemaModal.svelte +0 -350
  501. package/package/components/SchemaModal.svelte.d.ts +0 -31
  502. package/package/components/apps/components/display/index.d.ts +0 -17
  503. package/package/components/apps/components/display/index.js +0 -17
  504. package/package/components/apps/components/helpers/index.d.ts +0 -10
  505. package/package/components/apps/components/helpers/index.js +0 -10
  506. package/package/components/apps/components/index.d.ts +0 -5
  507. package/package/components/apps/components/index.js +0 -5
  508. package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
  509. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
@@ -1,7 +1,6 @@
1
1
  <script>import { VariableService } from '../gen';
2
2
  import { workspaceStore } from '../stores';
3
3
  import { allTrue, computeShow } from '../utils';
4
- import ArgInput from './ArgInput.svelte';
5
4
  import { Button } from './common';
6
5
  import ItemPicker from './ItemPicker.svelte';
7
6
  import VariableEditor from './VariableEditor.svelte';
@@ -9,6 +8,12 @@ import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte
9
8
  import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
10
9
  import { getResourceTypes } from './resourceTypesStore';
11
10
  import { Plus } from 'lucide-svelte';
11
+ import ArgInput from './ArgInput.svelte';
12
+ import { createEventDispatcher } from 'svelte';
13
+ import LightweightArgInput from './LightweightArgInput.svelte';
14
+ import { deepEqual } from 'fast-equals';
15
+ import { dragHandleZone } from '@windmill-labs/svelte-dnd-action';
16
+ import { flip } from 'svelte/animate';
12
17
  export let schema;
13
18
  export let schemaSkippedValues = [];
14
19
  export let schemaFieldTooltip = {};
@@ -28,8 +33,11 @@ export let prettifyHeader = false;
28
33
  export let disablePortal = false;
29
34
  export let showSchemaExplorer = false;
30
35
  export let showReset = false;
31
- let clazz = '';
32
- export { clazz as class };
36
+ export let onlyMaskPassword = false;
37
+ export let lightweightMode = false;
38
+ export let dndConfig = undefined;
39
+ export let items = undefined;
40
+ const dispatch = createEventDispatcher();
33
41
  let inputCheck = {};
34
42
  $: if (args == undefined || typeof args !== 'object') {
35
43
  args = {};
@@ -38,12 +46,15 @@ export function setDefaults() {
38
46
  const nargs = {};
39
47
  Object.keys(schema?.properties ?? {}).forEach((key) => {
40
48
  if (schema?.properties[key].default != undefined && args[key] == undefined) {
41
- nargs[key] = schema?.properties[key].default;
49
+ let value = schema?.properties[key].default;
50
+ nargs[key] = value === 'object' ? JSON.parse(JSON.stringify(value)) : value;
42
51
  }
43
52
  });
44
53
  args = nargs;
45
54
  }
46
- let keys = [];
55
+ let keys = Array.isArray(schema?.order)
56
+ ? schema?.order
57
+ : Object.keys(schema?.properties ?? {});
47
58
  function removeExtraKey() {
48
59
  const nargs = {};
49
60
  Object.keys(args ?? {}).forEach((key) => {
@@ -56,15 +67,6 @@ function removeExtraKey() {
56
67
  let pickForField;
57
68
  let itemPicker = undefined;
58
69
  let variableEditor = undefined;
59
- $: {
60
- let lkeys = Object.keys(schema?.properties ?? {});
61
- if (schema?.properties && JSON.stringify(lkeys) != JSON.stringify(keys)) {
62
- keys = lkeys;
63
- if (!noDelete) {
64
- removeExtraKey();
65
- }
66
- }
67
- }
68
70
  $: isValid = allTrue(inputCheck ?? {});
69
71
  let resourceTypes = undefined;
70
72
  async function loadResourceTypes() {
@@ -72,109 +74,201 @@ async function loadResourceTypes() {
72
74
  }
73
75
  loadResourceTypes();
74
76
  $: schema && reorder();
77
+ function hasExtraKeys() {
78
+ return Object.keys(args ?? {}).some((x) => !keys.includes(x));
79
+ }
75
80
  function reorder() {
76
- if (schema?.order && Array.isArray(schema.order)) {
77
- const n = {};
78
- schema.order.forEach((x) => {
79
- if (schema.properties && schema.properties[x] != undefined) {
81
+ dispatch('change');
82
+ let lkeys = Object.keys(schema?.properties ?? {});
83
+ if (!deepEqual(schema?.order, lkeys) || !deepEqual(keys, lkeys)) {
84
+ if (schema?.order && Array.isArray(schema.order)) {
85
+ const n = {};
86
+ schema.order.forEach((x) => {
87
+ if (schema.properties && schema.properties[x] != undefined) {
88
+ n[x] = schema.properties[x];
89
+ }
90
+ });
91
+ Object.keys(schema.properties ?? {})
92
+ .filter((x) => !schema.order?.includes(x))
93
+ .forEach((x) => {
80
94
  n[x] = schema.properties[x];
81
- }
82
- });
83
- Object.keys(schema.properties ?? {})
84
- .filter((x) => !schema.order?.includes(x))
85
- .forEach((x) => {
86
- n[x] = schema.properties[x];
87
- });
88
- schema.properties = n;
95
+ });
96
+ schema.properties = n;
97
+ }
89
98
  keys = Object.keys(schema.properties ?? {});
90
99
  }
100
+ if (!noDelete && hasExtraKeys()) {
101
+ removeExtraKey();
102
+ }
91
103
  }
104
+ $: fields = items ?? keys.map((x) => ({ id: x, value: x }));
92
105
  </script>
93
106
 
94
107
  {#if showReset}
95
108
  <div class="flex flex-row-reverse w-full">
96
- <Button size="xs" color="light" on:click={() => setDefaults()}
97
- >Reset args to runnable's defaults</Button
98
- >
109
+ <Button size="xs" color="light" on:click={() => setDefaults()}>
110
+ Reset args to runnable's defaults
111
+ </Button>
99
112
  </div>
100
113
  {/if}
101
- <div class="w-full {clazz} {flexWrap ? 'flex flex-row flex-wrap gap-x-6 ' : ''}">
114
+
115
+ <div
116
+ class="w-full {$$props.class} {flexWrap ? 'flex flex-row flex-wrap gap-x-6 ' : ''}"
117
+ use:dragHandleZone={dndConfig ?? { items: [], dragDisabled: true }}
118
+ on:finalize
119
+ on:consider
120
+ >
102
121
  {#if keys.length > 0}
103
- {#each keys as argName, i (argName)}
104
- {#if !schemaSkippedValues.includes(argName) && Object.keys(schema?.properties ?? {}).includes(argName)}
105
- <div>
106
- {#if typeof args == 'object' && schema?.properties[argName]}
107
- {#if computeShow(argName, schema?.properties[argName].showExpr, args)}
108
- <ArgInput
109
- {disablePortal}
110
- {resourceTypes}
111
- {prettifyHeader}
112
- autofocus={i == 0 && autofocus ? true : null}
113
- label={argName}
114
- description={schema.properties[argName].description}
115
- bind:value={args[argName]}
116
- type={schema.properties[argName].type}
117
- required={schema.required.includes(argName)}
118
- pattern={schema.properties[argName].pattern}
119
- bind:valid={inputCheck[argName]}
120
- defaultValue={schema.properties[argName].default}
121
- enum_={schema.properties[argName].enum}
122
- format={schema.properties[argName].format}
123
- contentEncoding={schema.properties[argName].contentEncoding}
124
- customErrorMessage={schema.properties[argName].customErrorMessage}
125
- properties={schema.properties[argName].properties}
126
- nestedRequired={schema.properties[argName].required}
127
- itemsType={schema.properties[argName].items}
128
- disabled={disabledArgs.includes(argName) || disabled}
129
- {compact}
130
- {variableEditor}
131
- {itemPicker}
132
- bind:pickForField
133
- password={linkedSecret == argName}
134
- extra={schema.properties[argName]}
135
- {showSchemaExplorer}
136
- simpleTooltip={schemaFieldTooltip[argName]}
137
- >
138
- <svelte:fragment slot="actions">
139
- {#if linkedSecretCandidates?.includes(argName)}
140
- <div>
141
- <ToggleButtonGroup
142
- selected={linkedSecret == argName}
143
- on:selected={(e) => {
144
- if (e.detail) {
145
- linkedSecret = argName
146
- } else if (linkedSecret == argName) {
147
- linkedSecret = undefined
148
- }
149
- }}
150
- >
151
- <ToggleButton
152
- value={false}
153
- size="sm"
154
- label="Inlined"
155
- tooltip="The value is inlined in the resource and thus has no special treatment."
156
- />
157
- <ToggleButton
158
- position="right"
159
- value={true}
160
- size="sm"
161
- label="Secret"
162
- tooltip="The value will be stored in a newly created linked secret variable at the same path. That variable can be permissioned differently, will be treated as a secret the UI, operators will not be able to load it and every access will generate a corresponding audit log."
163
- />
164
- </ToggleButtonGroup>
165
- </div>{/if}</svelte:fragment
166
- >
167
- </ArgInput>
122
+ {#each fields as item, i (item.id)}
123
+ {@const argName = item.value}
124
+ <div animate:flip={{ duration: 200 }}>
125
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
126
+ {#if !schemaSkippedValues.includes(argName) && Object.keys(schema?.properties ?? {}).includes(argName)}
127
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
128
+ <div
129
+ class="flex flex-row items-center bg-surface"
130
+ on:click={() => {
131
+ dispatch('click', argName)
132
+ }}
133
+ >
134
+ {#if typeof args == 'object' && schema?.properties[argName]}
135
+ {#if computeShow(argName, schema?.properties[argName].showExpr, args)}
136
+ {#if lightweightMode}
137
+ <LightweightArgInput
138
+ label={argName}
139
+ description={schema.properties[argName].description}
140
+ bind:value={args[argName]}
141
+ type={schema.properties[argName].type}
142
+ oneOf={schema.properties[argName].oneOf}
143
+ required={schema?.required?.includes(argName)}
144
+ pattern={schema.properties[argName].pattern}
145
+ bind:valid={inputCheck[argName]}
146
+ defaultValue={schema.properties[argName].default}
147
+ enum_={schema.properties[argName].enum}
148
+ format={schema.properties[argName].format}
149
+ contentEncoding={schema.properties[argName].contentEncoding}
150
+ customErrorMessage={schema.properties[argName].customErrorMessage}
151
+ bind:properties={schema.properties[argName].properties}
152
+ nestedRequired={schema.properties[argName]?.required}
153
+ itemsType={schema.properties[argName].items}
154
+ extra={schema.properties[argName]}
155
+ title={schema.properties[argName].title}
156
+ placeholder={schema.properties[argName].placeholder}
157
+ >
158
+ <svelte:fragment slot="actions">
159
+ <slot name="actions" />
160
+ {#if linkedSecretCandidates?.includes(argName)}
161
+ <div>
162
+ <ToggleButtonGroup
163
+ selected={linkedSecret == argName}
164
+ on:selected={(e) => {
165
+ if (e.detail) {
166
+ linkedSecret = argName
167
+ } else if (linkedSecret == argName) {
168
+ linkedSecret = undefined
169
+ }
170
+ }}
171
+ >
172
+ <ToggleButton
173
+ value={false}
174
+ size="sm"
175
+ label="Inlined"
176
+ tooltip="The value is inlined in the resource and thus has no special treatment."
177
+ />
178
+ <ToggleButton
179
+ position="right"
180
+ value={true}
181
+ size="sm"
182
+ label="Secret"
183
+ tooltip="The value will be stored in a newly created linked secret variable at the same path. That variable can be permissioned differently, will be treated as a secret the UI, operators will not be able to load it and every access will generate a corresponding audit log."
184
+ />
185
+ </ToggleButtonGroup>
186
+ </div>{/if}
187
+ </svelte:fragment>
188
+ </LightweightArgInput>
189
+ {:else}
190
+ <ArgInput
191
+ on:change={() => dispatch('change')}
192
+ {disablePortal}
193
+ {resourceTypes}
194
+ {prettifyHeader}
195
+ autofocus={i == 0 && autofocus ? true : null}
196
+ label={argName}
197
+ description={schema.properties[argName].description}
198
+ bind:value={args[argName]}
199
+ type={schema.properties[argName].type}
200
+ oneOf={schema.properties[argName].oneOf}
201
+ required={schema?.required?.includes(argName)}
202
+ pattern={schema.properties[argName].pattern}
203
+ bind:valid={inputCheck[argName]}
204
+ defaultValue={schema.properties[argName].default}
205
+ enum_={schema.properties[argName].enum}
206
+ format={schema.properties[argName].format}
207
+ contentEncoding={schema.properties[argName].contentEncoding}
208
+ customErrorMessage={schema.properties[argName].customErrorMessage}
209
+ bind:properties={schema.properties[argName].properties}
210
+ bind:order={schema.properties[argName].order}
211
+ nestedRequired={schema.properties[argName]?.required}
212
+ itemsType={schema.properties[argName].items}
213
+ disabled={disabledArgs.includes(argName) || disabled}
214
+ {compact}
215
+ {variableEditor}
216
+ {itemPicker}
217
+ bind:pickForField
218
+ password={linkedSecret == argName}
219
+ extra={schema.properties[argName]}
220
+ {showSchemaExplorer}
221
+ simpleTooltip={schemaFieldTooltip[argName]}
222
+ {onlyMaskPassword}
223
+ nullable={schema.properties[argName].nullable}
224
+ title={schema.properties[argName].title}
225
+ placeholder={schema.properties[argName].placeholder}
226
+ orderEditable={dndConfig != undefined}
227
+ >
228
+ <svelte:fragment slot="actions">
229
+ <slot name="actions" />
230
+ {#if linkedSecretCandidates?.includes(argName)}
231
+ <div>
232
+ <ToggleButtonGroup
233
+ selected={linkedSecret == argName}
234
+ on:selected={(e) => {
235
+ if (e.detail) {
236
+ linkedSecret = argName
237
+ } else if (linkedSecret == argName) {
238
+ linkedSecret = undefined
239
+ }
240
+ }}
241
+ >
242
+ <ToggleButton
243
+ value={false}
244
+ size="sm"
245
+ label="Inlined"
246
+ tooltip="The value is inlined in the resource and thus has no special treatment."
247
+ />
248
+ <ToggleButton
249
+ position="right"
250
+ value={true}
251
+ size="sm"
252
+ label="Secret"
253
+ tooltip="The value will be stored in a newly created linked secret variable at the same path. That variable can be permissioned differently, will be treated as a secret the UI, operators will not be able to load it and every access will generate a corresponding audit log."
254
+ />
255
+ </ToggleButtonGroup>
256
+ </div>{/if}</svelte:fragment
257
+ >
258
+ </ArgInput>
259
+ {/if}
260
+ <!-- svelte-ignore a11y-no-noninteractive-tabindex -->
261
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
262
+ {/if}
168
263
  {/if}
169
- {/if}
170
- </div>
171
- {/if}
264
+ </div>
265
+ {/if}
266
+ </div>
172
267
  {/each}
173
268
  {:else if !shouldHideNoInputs}
174
269
  <div class="text-secondary text-sm">No inputs</div>
175
270
  {/if}
176
271
  </div>
177
-
178
272
  {#if !noVariablePicker}
179
273
  <ItemPicker
180
274
  bind:this={itemPicker}
@@ -1,7 +1,9 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type { Schema } from '../common';
3
+ import { type Options as DndOptions } from '@windmill-labs/svelte-dnd-action';
3
4
  declare const __propDef: {
4
5
  props: {
6
+ [x: string]: any;
5
7
  schema: Schema | any;
6
8
  schemaSkippedValues?: string[] | undefined;
7
9
  schemaFieldTooltip?: Record<string, string> | undefined;
@@ -21,13 +23,26 @@ declare const __propDef: {
21
23
  disablePortal?: boolean | undefined;
22
24
  showSchemaExplorer?: boolean | undefined;
23
25
  showReset?: boolean | undefined;
24
- class?: string | undefined;
26
+ onlyMaskPassword?: boolean | undefined;
27
+ lightweightMode?: boolean | undefined;
28
+ dndConfig?: DndOptions | undefined;
29
+ items?: {
30
+ id: string;
31
+ value: string;
32
+ }[] | undefined;
25
33
  setDefaults?: (() => void) | undefined;
26
34
  };
27
35
  events: {
36
+ finalize: Event | ClipboardEvent | CompositionEvent | UIEvent | FocusEvent | InputEvent | SubmitEvent | FormDataEvent | KeyboardEvent | MouseEvent | DragEvent | TouchEvent | PointerEvent | WheelEvent | AnimationEvent | TransitionEvent | ErrorEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent;
37
+ consider: Event | ClipboardEvent | CompositionEvent | UIEvent | FocusEvent | InputEvent | SubmitEvent | FormDataEvent | KeyboardEvent | MouseEvent | DragEvent | TouchEvent | PointerEvent | WheelEvent | AnimationEvent | TransitionEvent | ErrorEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent;
38
+ click: CustomEvent<any>;
39
+ change: CustomEvent<any>;
40
+ } & {
28
41
  [evt: string]: CustomEvent<any>;
29
42
  };
30
- slots: {};
43
+ slots: {
44
+ actions: {};
45
+ };
31
46
  };
32
47
  export type SchemaFormProps = typeof __propDef.props;
33
48
  export type SchemaFormEvents = typeof __propDef.events;
@@ -22,7 +22,6 @@ import Toggle from './Toggle.svelte';
22
22
  import ScriptSchema from './ScriptSchema.svelte';
23
23
  import Section from './Section.svelte';
24
24
  import Label from './Label.svelte';
25
- import { cloneDeep } from 'lodash';
26
25
  import WorkerTagPicker from './WorkerTagPicker.svelte';
27
26
  import MetadataGen from './copilot/MetadataGen.svelte';
28
27
  import ScriptSchedules from './ScriptSchedules.svelte';
@@ -155,10 +154,11 @@ async function editScript(stay) {
155
154
  }
156
155
  script.schema = script.schema ?? emptySchema();
157
156
  try {
158
- await inferArgs(script.language, script.content, script.schema);
157
+ const noMainFunc = await inferArgs(script.language, script.content, script.schema);
158
+ script.no_main_func = noMainFunc || undefined;
159
159
  }
160
160
  catch (error) {
161
- sendUserToast(`The main signature was not parsable. This script is considered to be without main function`);
161
+ sendUserToast(`Could not parse code, are you sure it is valid?`, true);
162
162
  }
163
163
  const newHash = await ScriptService.createScript({
164
164
  workspace: $workspaceStore,
@@ -184,7 +184,8 @@ async function editScript(stay) {
184
184
  delete_after_use: script.delete_after_use,
185
185
  timeout: script.timeout,
186
186
  concurrency_key: emptyString(script.concurrency_key) ? undefined : script.concurrency_key,
187
- visible_to_runner_only: script.visible_to_runner_only
187
+ visible_to_runner_only: script.visible_to_runner_only,
188
+ no_main_func: script.no_main_func
188
189
  }
189
190
  });
190
191
  const { enabled, timezone, args, cron, summary } = $scheduleStore;
@@ -223,7 +224,7 @@ async function editScript(stay) {
223
224
  else if (enabled) {
224
225
  await createSchedule(script.path);
225
226
  }
226
- savedScript = cloneDeep(script);
227
+ savedScript = structuredClone(script);
227
228
  if (!disableHistoryChange) {
228
229
  history.replaceState(history.state, '', `/scripts/edit/${script.path}`);
229
230
  }
@@ -268,10 +269,11 @@ async function saveDraft(forceSave = false) {
268
269
  }
269
270
  script.schema = script.schema ?? emptySchema();
270
271
  try {
271
- await inferArgs(script.language, script.content, script.schema);
272
+ const noMainFunc = await inferArgs(script.language, script.content, script.schema);
273
+ script.no_main_func = noMainFunc || undefined;
272
274
  }
273
275
  catch (error) {
274
- sendUserToast(`The main signature was not parsable. This script is considered to be without main function`);
276
+ sendUserToast(`Could not parse code, are you sure it is valid?`, true);
275
277
  }
276
278
  if (initialPath == '' || savedScript?.draft_only) {
277
279
  if (savedScript?.draft_only) {
@@ -306,7 +308,8 @@ async function saveDraft(forceSave = false) {
306
308
  concurrency_key: emptyString(script.concurrency_key)
307
309
  ? undefined
308
310
  : script.concurrency_key,
309
- visible_to_runner_only: script.visible_to_runner_only
311
+ visible_to_runner_only: script.visible_to_runner_only,
312
+ no_main_func: script.no_main_func
310
313
  }
311
314
  });
312
315
  }
@@ -320,9 +323,9 @@ async function saveDraft(forceSave = false) {
320
323
  });
321
324
  savedScript = {
322
325
  ...(initialPath == '' || savedScript?.draft_only
323
- ? { ...cloneDeep(script), draft_only: true }
326
+ ? { ...structuredClone(script), draft_only: true }
324
327
  : savedScript),
325
- draft: cloneDeep(script)
328
+ draft: structuredClone(script)
326
329
  };
327
330
  if (initialPath == '' || (savedScript?.draft_only && script.path !== initialPath)) {
328
331
  initialPath = script.path;
@@ -383,7 +386,11 @@ let selectedTab = 'metadata';
383
386
  <slot />
384
387
 
385
388
  {#if !$userStore?.operator}
386
- <Drawer placement="right" bind:open={metadataOpen} size="800px">
389
+ <Drawer
390
+ placement="right"
391
+ bind:open={metadataOpen}
392
+ size={selectedTab === 'ui' ? '1200px' : '800px'}
393
+ >
387
394
  <DrawerContent noPadding title="Settings" on:close={() => (metadataOpen = false)}>
388
395
  <!-- svelte-ignore a11y-autofocus -->
389
396
  <Tabs bind:selected={selectedTab}>
@@ -400,7 +407,10 @@ let selectedTab = 'metadata';
400
407
  </Tab>
401
408
  <Tab value="schedule" active={$scheduleStore.enabled}>Schedule</Tab>
402
409
  <svelte:fragment slot="content">
403
- <div class="p-4">
410
+ <div
411
+ class={selectedTab === 'ui' ? 'p-0' : 'p-4'}
412
+ style={selectedTab === 'ui' ? `height: calc(100% - 32px);` : ''}
413
+ >
404
414
  <TabContent value="metadata">
405
415
  <div class="flex flex-col gap-8">
406
416
  <Section label="Metadata">
@@ -892,8 +902,7 @@ let selectedTab = 'metadata';
892
902
  {/if}
893
903
  </div>
894
904
  </TabContent>
895
- <TabContent value="ui">
896
- <div class="mt-4" />
905
+ <TabContent value="ui" class="h-full">
897
906
  <ScriptSchema bind:schema={script.schema} />
898
907
  </TabContent>
899
908
  <TabContent value="schedule">
@@ -39,7 +39,6 @@ export let noHistory = false;
39
39
  export let saveToWorkspace = false;
40
40
  let websocketAlive = {
41
41
  pyright: false,
42
- black: false,
43
42
  deno: false,
44
43
  go: false,
45
44
  ruff: false,
@@ -239,7 +238,7 @@ function collabUrl() {
239
238
  <SplitPanesWrapper>
240
239
  <Splitpanes class="!overflow-visible">
241
240
  <Pane size={60} minSize={10} class="!overflow-visible">
242
- <div class="pl-2 h-full !overflow-visible bg-gray-50 dark:bg-[#2F343F]">
241
+ <div class="pl-2 h-full !overflow-visible bg-gray-50 dark:bg-[#272D38]">
243
242
  {#key lang}
244
243
  <Editor
245
244
  folding
@@ -37,7 +37,7 @@ export type ScriptEditorProps = typeof __propDef.props;
37
37
  export type ScriptEditorEvents = typeof __propDef.events;
38
38
  export type ScriptEditorSlots = typeof __propDef.slots;
39
39
  export default class ScriptEditor extends SvelteComponent<ScriptEditorProps, ScriptEditorEvents, ScriptEditorSlots> {
40
- get inferSchema(): (code: string, nlang?: "python3" | "deno" | "go" | "bash" | "powershell" | "postgresql" | "mysql" | "bigquery" | "snowflake" | "mssql" | "graphql" | "nativets" | "bun" | undefined) => Promise<void>;
40
+ get inferSchema(): (code: string, nlang?: "python3" | "deno" | "go" | "bash" | "powershell" | "postgresql" | "mysql" | "bigquery" | "snowflake" | "mssql" | "graphql" | "nativets" | "bun" | "php" | undefined) => Promise<void>;
41
41
  get setCollaborationMode(): () => Promise<void>;
42
42
  get disableCollaboration(): () => void;
43
43
  }
@@ -7,6 +7,7 @@ import ScheduleEditor from './ScheduleEditor.svelte';
7
7
  import { ScheduleService } from '../gen';
8
8
  import { workspaceStore } from '../stores';
9
9
  import { Calendar } from 'lucide-svelte';
10
+ import Label from './Label.svelte';
10
11
  export let initialPath;
11
12
  export let schema;
12
13
  export let schedule;
@@ -29,15 +30,17 @@ let scheduleEditor;
29
30
  $: initialPath && loadSchedules();
30
31
  </script>
31
32
 
32
- <div class="w-full py-2">
33
+ <div class="w-full flex flex-col gap-4 mb-4">
33
34
  <!-- svelte-ignore a11y-autofocus -->
34
- <input
35
- autofocus
36
- type="text"
37
- placeholder="Schedule summary"
38
- class="text-sm w-full font-semibold mb-4"
39
- bind:value={$schedule.summary}
40
- />
35
+ <Label label="Summary">
36
+ <input
37
+ autofocus
38
+ type="text"
39
+ placeholder="Short summary to be displayed when listed"
40
+ class="text-sm w-full"
41
+ bind:value={$schedule.summary}
42
+ />
43
+ </Label>
41
44
  </div>
42
45
 
43
46
  <CronInput bind:schedule={$schedule.cron} bind:timezone={$schedule.timezone} />
@@ -1,27 +1,9 @@
1
- <script>import Tab from './common/tabs/Tab.svelte';
2
- import Tabs from './common/tabs/Tabs.svelte';
3
- import TabContent from './common/tabs/TabContent.svelte';
4
- import Highlight from 'svelte-highlight';
5
- import json from 'svelte-highlight/languages/json';
6
- import EditableSchemaForm from './EditableSchemaForm.svelte';
1
+ <script>import EditableSchemaForm from './EditableSchemaForm.svelte';
7
2
  export let schema;
8
3
  export function setSchema(newSchema) {
9
4
  schema = newSchema;
10
5
  }
6
+ const yOffset = 80;
11
7
  </script>
12
8
 
13
- <div class="w-full">
14
- <Tabs selected="ui">
15
- <Tab value="ui">Arguments</Tab>
16
- <Tab value="jsonschema">JSON Schema</Tab>
17
- <svelte:fragment slot="content">
18
- <TabContent value="ui">
19
- <div class="mt-4" />
20
- <EditableSchemaForm bind:schema />
21
- </TabContent>
22
- <TabContent value="jsonschema">
23
- <Highlight language={json} code={JSON.stringify(schema, null, 4)} />
24
- </TabContent>
25
- </svelte:fragment>
26
- </Tabs>
27
- </div>
9
+ <EditableSchemaForm bind:schema uiOnly offset={yOffset} />
@@ -158,7 +158,7 @@ loadVersions();
158
158
  </button>
159
159
  {/if}
160
160
  </span>
161
- <FlowModuleScript path={scriptPath} hash={selectedVersion.script_hash} />
161
+ <FlowModuleScript showDate path={scriptPath} hash={selectedVersion.script_hash} />
162
162
  </div>
163
163
  {/key}
164
164
  {:else}
@@ -166,6 +166,10 @@ async function loadMonaco() {
166
166
  });
167
167
  disableTabCond = editor.createContextKey('disableTabCond', !code);
168
168
  editor.addCommand(KeyCode.Tab, function () { }, 'disableTabCond');
169
+ editor.addCommand(KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit7, function () {
170
+ // CMD + slash (toggle comment) on some EU keyboards
171
+ editor?.trigger('keyboard', 'editor.action.commentLine', {});
172
+ });
169
173
  });
170
174
  if (autoHeight) {
171
175
  const updateHeight = () => {
@@ -275,7 +279,6 @@ function loadExtraLib() {
275
279
  filePath: 'windmill.d.ts'
276
280
  });
277
281
  }
278
- console.log(libs);
279
282
  languages.typescript.javascriptDefaults.setExtraLibs(libs);
280
283
  }
281
284
  }