windmill-components 1.309.6 → 1.339.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/package/assets/app.css +22 -1
  2. package/package/autosize.js +1 -1
  3. package/package/common.d.ts +8 -0
  4. package/package/common.js +5 -1
  5. package/package/components/AllFlowLogs.svelte +30 -0
  6. package/package/components/AllFlowLogs.svelte.d.ts +18 -0
  7. package/package/components/ApiConnectForm.svelte +10 -4
  8. package/package/components/AppConnectDrawer.svelte +74 -0
  9. package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
  10. package/package/components/AppConnectInner.svelte +513 -0
  11. package/package/components/AppConnectInner.svelte.d.ts +28 -0
  12. package/package/components/ArgInfo.svelte +19 -3
  13. package/package/components/ArgInput.svelte +73 -16
  14. package/package/components/ArgInput.svelte.d.ts +4 -0
  15. package/package/components/ConcurrentJobsChart.svelte +212 -0
  16. package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
  17. package/package/components/CustomOauth.svelte +2 -2
  18. package/package/components/DateInput.svelte +47 -0
  19. package/package/components/DateInput.svelte.d.ts +24 -0
  20. package/package/components/DateTimeInput.svelte +25 -3
  21. package/package/components/DefaultScripts.svelte +5 -8
  22. package/package/components/DefaultTags.svelte +3 -2
  23. package/package/components/DefaultTags.svelte.d.ts +3 -1
  24. package/package/components/DefaultTagsInner.svelte +1 -10
  25. package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
  26. package/package/components/Dev.svelte +70 -9
  27. package/package/components/DiffEditor.svelte +3 -0
  28. package/package/components/DisplayResult.svelte +186 -123
  29. package/package/components/DisplayResult.svelte.d.ts +1 -0
  30. package/package/components/DropdownV2.svelte.d.ts +2 -2
  31. package/package/components/EditableSchemaForm.svelte +3 -0
  32. package/package/components/Editor.svelte +110 -93
  33. package/package/components/Editor.svelte.d.ts +4 -2
  34. package/package/components/EditorBar.svelte +99 -8
  35. package/package/components/EditorBar.svelte.d.ts +0 -1
  36. package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
  37. package/package/components/FlowGraphViewer.svelte +1 -0
  38. package/package/components/FlowGraphViewerStep.svelte +19 -1
  39. package/package/components/FlowJobResult.svelte +13 -0
  40. package/package/components/FlowJobResult.svelte.d.ts +3 -0
  41. package/package/components/FlowMetadata.svelte +40 -35
  42. package/package/components/FlowMetadata.svelte.d.ts +3 -1
  43. package/package/components/FlowPreviewContent.svelte +13 -6
  44. package/package/components/FlowStatusViewerInner.svelte +46 -2
  45. package/package/components/HighlightCode.svelte +3 -0
  46. package/package/components/InputTransformForm.svelte +3 -0
  47. package/package/components/InstanceSettings.svelte +163 -16
  48. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  49. package/package/components/JobLogs.svelte +12 -0
  50. package/package/components/JobLogs.svelte.d.ts +16 -0
  51. package/package/components/JobStatus.svelte +1 -1
  52. package/package/components/Label.svelte +1 -1
  53. package/package/components/Label.svelte.d.ts +1 -0
  54. package/package/components/LightweightArgInput.svelte +294 -268
  55. package/package/components/LightweightArgInput.svelte.d.ts +3 -0
  56. package/package/components/LightweightResourcePicker.svelte +74 -26
  57. package/package/components/LightweightSchemaForm.svelte +25 -24
  58. package/package/components/LogViewer.svelte +52 -15
  59. package/package/components/LogViewer.svelte.d.ts +1 -0
  60. package/package/components/Login.svelte +288 -0
  61. package/package/components/Login.svelte.d.ts +19 -0
  62. package/package/components/ModulePreviewForm.svelte +3 -0
  63. package/package/components/NoMainFuncBadge.svelte +8 -0
  64. package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
  65. package/package/components/OauthExtraParams.svelte +1 -1
  66. package/package/components/OauthScopes.svelte +1 -1
  67. package/package/components/ObjectStoreConfigSettings.svelte +12 -1
  68. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
  69. package/package/components/ParqetTableRenderer.svelte +12 -16
  70. package/package/components/Password.svelte +1 -0
  71. package/package/components/Password.svelte.d.ts +2 -0
  72. package/package/components/PasswordArgInput.svelte +49 -0
  73. package/package/components/PasswordArgInput.svelte.d.ts +17 -0
  74. package/package/components/PropertyRow.svelte +10 -2
  75. package/package/components/QueueMetricsDrawer.svelte +225 -0
  76. package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
  77. package/package/components/ResourceEditor.svelte +1 -0
  78. package/package/components/ResourcePicker.svelte +3 -7
  79. package/package/components/ResultJobLoader.svelte +2 -2
  80. package/package/components/ResultJobLoader.svelte.d.ts +9 -9
  81. package/package/components/S3FilePicker.svelte +1 -1
  82. package/package/components/SavedInputs.svelte +49 -13
  83. package/package/components/ScheduleEditorInner.svelte +255 -228
  84. package/package/components/SchemaEditor.svelte +5 -3
  85. package/package/components/SchemaEditor.svelte.d.ts +2 -0
  86. package/package/components/SchemaForm.svelte +5 -0
  87. package/package/components/SchemaForm.svelte.d.ts +1 -0
  88. package/package/components/SchemaModal.svelte +101 -8
  89. package/package/components/SchemaModal.svelte.d.ts +2 -0
  90. package/package/components/ScriptBuilder.svelte +15 -8
  91. package/package/components/ScriptBuilder.svelte.d.ts +1 -0
  92. package/package/components/ScriptEditor.svelte +1 -2
  93. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  94. package/package/components/SimpleEditor.svelte +4 -1
  95. package/package/components/StringTypeNarrowing.svelte +43 -24
  96. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -0
  97. package/package/components/TemplateEditor.svelte +1 -0
  98. package/package/components/TestJobLoader.svelte +14 -5
  99. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  100. package/package/components/Toggle.svelte +1 -1
  101. package/package/components/Tooltip.svelte +8 -2
  102. package/package/components/Tooltip.svelte.d.ts +1 -0
  103. package/package/components/WorkspaceGroup.svelte +74 -9
  104. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  105. package/package/components/app_connect.d.ts +7 -0
  106. package/package/components/app_connect.js +78 -0
  107. package/package/components/apps/components/buttons/AppButton.svelte +0 -1
  108. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  109. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  110. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  111. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  112. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  113. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +2 -2
  114. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
  115. package/package/components/apps/components/display/AppMap.svelte +3 -2
  116. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  117. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  118. package/package/components/apps/components/display/AppText.svelte +7 -2
  119. package/package/components/apps/components/display/charts/AppAgCharts.svelte +6 -3
  120. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  121. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  122. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  123. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  124. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  125. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  126. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  127. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  128. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  129. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  130. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  131. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  132. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  133. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  134. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  135. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  136. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +11 -2
  137. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  138. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  139. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  140. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  141. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  142. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  143. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  144. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  145. package/package/components/apps/components/display/table/utils.js +22 -0
  146. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  147. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  148. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  149. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  150. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  151. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  152. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  153. package/package/components/apps/components/helpers/RunnableComponent.svelte +86 -35
  154. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +8 -5
  155. package/package/components/apps/components/helpers/RunnableWrapper.svelte +7 -1
  156. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -0
  157. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  158. package/package/components/apps/components/inputs/AppFileInput.svelte +11 -2
  159. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  160. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  161. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  162. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  163. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  164. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  165. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  166. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  167. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  168. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  169. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  170. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +7 -2
  171. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  172. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  173. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  174. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  175. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  176. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  177. package/package/components/apps/components/layout/AppStepper.svelte +2 -1
  178. package/package/components/apps/components/layout/AppTabs.svelte +1 -1
  179. package/package/components/apps/editor/AppEditor.svelte +3 -2
  180. package/package/components/apps/editor/AppEditorHeader.svelte +62 -31
  181. package/package/components/apps/editor/AppInputs.svelte +1 -1
  182. package/package/components/apps/editor/AppPreview.svelte +18 -7
  183. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  184. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  185. package/package/components/apps/editor/GridEditor.svelte +15 -6
  186. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  187. package/package/components/apps/editor/GridViewer.svelte +14 -5
  188. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  189. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  190. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  191. package/package/components/apps/editor/SettingsPanel.svelte +6 -2
  192. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  193. package/package/components/apps/editor/appUtils.d.ts +6 -1
  194. package/package/components/apps/editor/appUtils.js +85 -7
  195. package/package/components/apps/editor/component/Component.svelte +78 -2
  196. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  197. package/package/components/apps/editor/component/components.d.ts +274 -21
  198. package/package/components/apps/editor/component/components.js +176 -12
  199. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  200. package/package/components/apps/editor/component/default-codes.js +241 -9
  201. package/package/components/apps/editor/component/sets.d.ts +3 -0
  202. package/package/components/apps/editor/component/sets.js +12 -2
  203. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  204. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  205. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  206. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  207. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  208. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  209. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  210. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  211. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  212. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  213. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  214. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  215. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +54 -4
  216. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  217. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  218. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  219. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  220. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  221. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +27 -25
  222. package/package/components/apps/editor/settingsPanel/GridTab.svelte +1 -1
  223. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  224. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  225. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  226. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +27 -1
  227. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  228. package/package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
  229. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  230. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  231. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +1 -0
  232. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  233. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  234. package/package/components/apps/inputType.d.ts +4 -0
  235. package/package/components/apps/rx.d.ts +1 -1
  236. package/package/components/apps/rx.js +7 -0
  237. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  238. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  239. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  240. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  241. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  242. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  243. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  244. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  245. package/package/components/apps/types.d.ts +1 -0
  246. package/package/components/apps/utils.js +13 -3
  247. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  248. package/package/components/build_workers.js +1 -0
  249. package/package/components/common/alert/Alert.svelte +17 -17
  250. package/package/components/common/badge/Badge.svelte +6 -3
  251. package/package/components/common/badge/model.d.ts +1 -1
  252. package/package/components/common/button/Button.svelte +22 -14
  253. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  254. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  255. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  256. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  257. package/package/components/common/drawer/Disposable.svelte +66 -0
  258. package/package/components/common/drawer/Disposable.svelte.d.ts +36 -0
  259. package/package/components/common/drawer/Drawer.svelte +29 -55
  260. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -1
  261. package/package/components/common/fileInput/FileInput.svelte +3 -3
  262. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  263. package/package/components/common/fileUpload/FileUpload.svelte +1 -1
  264. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  265. package/package/components/common/table/RowIcon.svelte +4 -4
  266. package/package/components/common/table/ScriptRow.svelte +12 -1
  267. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  268. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  269. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  270. package/package/components/copilot/CronGen.svelte +2 -2
  271. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  272. package/package/components/copilot/RegexGen.svelte +17 -39
  273. package/package/components/copilot/ScriptGen.svelte +14 -5
  274. package/package/components/copilot/StepInputGen.svelte +2 -1
  275. package/package/components/copilot/StepInputsGen.svelte +2 -1
  276. package/package/components/copilot/completion.js +60 -9
  277. package/package/components/copilot/lib.js +5 -3
  278. package/package/components/copilot/prompts/edit.yaml +24 -0
  279. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  280. package/package/components/copilot/prompts/editPrompt.js +3 -0
  281. package/package/components/copilot/prompts/fix.yaml +25 -0
  282. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  283. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  284. package/package/components/copilot/prompts/gen.yaml +20 -0
  285. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  286. package/package/components/copilot/prompts/genPrompt.js +3 -0
  287. package/package/components/copilot/utils.d.ts +2 -1
  288. package/package/components/copilot/utils.js +38 -0
  289. package/package/components/details/createAppFromScript.d.ts +26 -0
  290. package/package/components/details/createAppFromScript.js +50 -24
  291. package/package/components/flows/CreateActionsApp.svelte +1 -0
  292. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  293. package/package/components/flows/content/FlowInputs.svelte +2 -2
  294. package/package/components/flows/content/FlowModuleComponent.svelte +15 -6
  295. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
  296. package/package/components/flows/flowExplorer.js +4 -1
  297. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  298. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  299. package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -0
  300. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  301. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  302. package/package/components/flows/map/MapItem.svelte +2 -0
  303. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  304. package/package/components/graph/FlowGraph.svelte +1 -0
  305. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  306. package/package/components/home/ItemsList.svelte +44 -9
  307. package/package/components/home/TreeView.svelte +2 -0
  308. package/package/components/icons/AzureIcon.svelte +25 -1
  309. package/package/components/icons/PHPIcon.svelte +117 -0
  310. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  311. package/package/components/instanceSettings.d.ts +1 -1
  312. package/package/components/instanceSettings.js +18 -2
  313. package/package/components/jobs/JobPreview.svelte +5 -0
  314. package/package/components/multiselect/MultiSelect.svelte +782 -0
  315. package/package/components/multiselect/MultiSelect.svelte.d.ts +97 -0
  316. package/package/components/multiselect/types.d.ts +56 -0
  317. package/package/components/multiselect/types.js +1 -0
  318. package/package/components/multiselect/utils.d.ts +7 -0
  319. package/package/components/multiselect/utils.js +54 -0
  320. package/package/components/propertyPicker/ObjectViewer.svelte +14 -1
  321. package/package/components/runs/JobLoader.svelte +135 -17
  322. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  323. package/package/components/runs/JobPreview.svelte +39 -3
  324. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  325. package/package/components/runs/RunRow.svelte +78 -31
  326. package/package/components/runs/RunRow.svelte.d.ts +3 -0
  327. package/package/components/runs/RunsFilter.svelte +125 -9
  328. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  329. package/package/components/runs/RunsTable.svelte +53 -5
  330. package/package/components/runs/RunsTable.svelte.d.ts +6 -0
  331. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  332. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  333. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  334. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  335. package/package/components/sidebar/MenuButton.svelte +1 -1
  336. package/package/components/sidebar/MenuLink.svelte +1 -1
  337. package/package/components/sidebar/changelogs.js +40 -0
  338. package/package/components/table/AutoDataTable.svelte +77 -102
  339. package/package/components/table/DataTable.svelte +13 -5
  340. package/package/components/table/DataTable.svelte.d.ts +1 -0
  341. package/package/components/vscode.js +1 -1
  342. package/package/components/wizards/AgGridWizard.svelte +27 -2
  343. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  344. package/package/consts.js +5 -1
  345. package/package/defaults.d.ts +2 -2
  346. package/package/defaults.js +2 -2
  347. package/package/deno_fetch.d.ts.txt +30 -0
  348. package/package/editorUtils.js +2 -0
  349. package/package/gen/core/OpenAPI.js +5 -6
  350. package/package/gen/core/request.js +4 -1
  351. package/package/gen/index.d.ts +0 -1
  352. package/package/gen/index.js +0 -1
  353. package/package/gen/schemas.gen.d.ts +97 -428
  354. package/package/gen/schemas.gen.js +97 -433
  355. package/package/gen/services.gen.d.ts +3087 -1840
  356. package/package/gen/services.gen.js +3442 -2358
  357. package/package/gen/types.gen.d.ts +5048 -1505
  358. package/package/infer.d.ts +1 -1
  359. package/package/infer.js +6 -2
  360. package/package/inferArgSig.js +5 -2
  361. package/package/init_scripts/python_init_code.d.ts +1 -1
  362. package/package/init_scripts/python_init_code.js +1 -1
  363. package/package/process.d.ts.txt +1770 -0
  364. package/package/script_helpers.d.ts +3 -2
  365. package/package/script_helpers.js +28 -3
  366. package/package/scripts.d.ts +1 -1
  367. package/package/scripts.js +4 -0
  368. package/package/utils.d.ts +3 -0
  369. package/package/utils.js +46 -3
  370. package/package/windmill_fetch.d.ts.txt +16966 -0
  371. package/package/zIndexes.d.ts +12 -0
  372. package/package/zIndexes.js +12 -0
  373. package/package.json +5 -5
  374. package/package/components/AppConnect.svelte +0 -566
  375. package/package/components/AppConnect.svelte.d.ts +0 -23
  376. package/package/components/ContextMenu.svelte +0 -89
  377. package/package/components/ContextMenu.svelte.d.ts +0 -28
  378. package/package/components/apps/components/display/index.d.ts +0 -17
  379. package/package/components/apps/components/display/index.js +0 -17
  380. package/package/components/apps/components/helpers/index.d.ts +0 -10
  381. package/package/components/apps/components/helpers/index.js +0 -10
  382. package/package/components/apps/components/index.d.ts +0 -5
  383. package/package/components/apps/components/index.js +0 -5
@@ -10,10 +10,13 @@ import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'
10
10
  import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution';
11
11
  import 'monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution';
12
12
  import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution';
13
+ import 'monaco-editor/esm/vs/basic-languages/php/php.contribution';
13
14
  import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
14
15
  import 'monaco-editor/esm/vs/basic-languages/css/css.contribution';
15
16
  import libStdContent from '../es6.d.ts.txt?raw';
16
17
  import denoFetchContent from '../deno_fetch.d.ts.txt?raw';
18
+ import processStdContent from '../process.d.ts.txt?raw';
19
+ import windmillFetchContent from '../windmill_fetch.d.ts.txt?raw';
17
20
  import { MonacoLanguageClient } from 'monaco-languageclient';
18
21
  import { toSocket, WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc';
19
22
  import { CloseAction, ErrorAction, RequestType } from 'vscode-languageclient';
@@ -41,7 +44,6 @@ export let formatAction = undefined;
41
44
  export let automaticLayout = true;
42
45
  export let websocketAlive = {
43
46
  pyright: false,
44
- black: false,
45
47
  ruff: false,
46
48
  deno: false,
47
49
  go: false,
@@ -102,6 +104,11 @@ export function arrowDown() {
102
104
  }
103
105
  }
104
106
  }
107
+ export function backspace() {
108
+ if (editor) {
109
+ editor.trigger('keyboard', 'deleteLeft', {});
110
+ }
111
+ }
105
112
  export function insertAtBeginning(code) {
106
113
  if (editor) {
107
114
  const range = { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 };
@@ -547,7 +554,7 @@ export async function reloadWebsocket() {
547
554
  }
548
555
  }
549
556
  const wsProtocol = BROWSER && window.location.protocol == 'https:' ? 'wss' : 'ws';
550
- const hostname = BROWSER ? window.location.protocol + '//' + window.location.host : 'SSR';
557
+ const hostname = getHostname();
551
558
  let encodedImportMap = '';
552
559
  // if (lang == 'typescript') {
553
560
  // let worker = await languages.typescript.getTypeScriptWorker()
@@ -612,82 +619,6 @@ export async function reloadWebsocket() {
612
619
  ];
613
620
  });
614
621
  }
615
- else if (lang === 'typescript') {
616
- const stdLib = { content: libStdContent, filePath: 'es6.d.ts' };
617
- if (scriptLang == 'bun') {
618
- languages.typescript.typescriptDefaults.setExtraLibs([stdLib]);
619
- }
620
- else {
621
- const denoFetch = { content: denoFetchContent, filePath: 'deno_fetch.d.ts' };
622
- languages.typescript.typescriptDefaults.setExtraLibs([stdLib, denoFetch]);
623
- }
624
- if (scriptLang == 'bun' && ata == undefined) {
625
- const addLibraryToRuntime = async (code, _path) => {
626
- const path = 'file://' + _path;
627
- let uri = mUri.parse(path);
628
- console.log('adding library to runtime', path);
629
- languages.typescript.typescriptDefaults.addExtraLib(code, path);
630
- try {
631
- await vscode.workspace.fs.writeFile(uri, new TextEncoder().encode(code));
632
- }
633
- catch (e) {
634
- console.log('error writing file', e);
635
- }
636
- };
637
- const addLocalFile = async (code, _path) => {
638
- let p = new URL(_path, uri).href;
639
- // if (_path?.startsWith('/')) {
640
- // p = 'file://' + p
641
- // }
642
- let nuri = mUri.parse(p);
643
- console.log('adding local file', _path, nuri.toString());
644
- if (editor) {
645
- let localModel = meditor.getModel(nuri);
646
- if (localModel) {
647
- localModel.setValue(code);
648
- }
649
- else {
650
- meditor.createModel(code, 'javascript', nuri);
651
- }
652
- try {
653
- if (model) {
654
- model?.setValue(model.getValue());
655
- }
656
- }
657
- catch (e) {
658
- console.log('error resetting model', e);
659
- }
660
- }
661
- };
662
- await initWasm();
663
- const root = await genRoot(hostname);
664
- console.log('SETUP TYPE ACQUISITION', { root, path });
665
- ata = setupTypeAcquisition({
666
- projectName: 'Windmill',
667
- depsParser: (c) => {
668
- return parseDeps(c);
669
- },
670
- root,
671
- scriptPath: path,
672
- logger: console,
673
- delegate: {
674
- receivedFile: addLibraryToRuntime,
675
- localFile: addLocalFile,
676
- progress: (downloaded, total) => {
677
- // console.log({ dl, ttl })
678
- },
679
- started: () => {
680
- console.log('ATA start');
681
- },
682
- finished: (f) => {
683
- console.log('ATA done');
684
- }
685
- }
686
- });
687
- ata?.('import "bun-types"');
688
- ata?.(code);
689
- }
690
- }
691
622
  else if (lang === 'python') {
692
623
  await connectToLanguageServer(`${wsProtocol}://${window.location.host}/ws/pyright`, 'pyright', {}, (params, token, next) => {
693
624
  if (params.items.find((x) => x.section === 'python')) {
@@ -715,17 +646,6 @@ export async function reloadWebsocket() {
715
646
  return next(params, token);
716
647
  });
717
648
  connectToLanguageServer(`${wsProtocol}://${window.location.host}/ws/ruff`, 'ruff', {}, undefined);
718
- connectToLanguageServer(`${wsProtocol}://${window.location.host}/ws/diagnostic`, 'black', {
719
- formatters: {
720
- black: {
721
- command: 'black',
722
- args: ['--quiet', '-']
723
- }
724
- },
725
- formatFiletypes: {
726
- python: 'black'
727
- }
728
- }, undefined);
729
649
  }
730
650
  else if (lang === 'go') {
731
651
  connectToLanguageServer(`${wsProtocol}://${window.location.host}/ws/go`, 'go', {
@@ -772,8 +692,7 @@ export async function reloadWebsocket() {
772
692
  if (document.visibilityState == 'visible') {
773
693
  if (!lastWsAttempt ||
774
694
  (new Date().getTime() - lastWsAttempt.getTime() > 60000 && nbWsAttempt < 2)) {
775
- if (!websocketAlive.black &&
776
- !websocketAlive.deno &&
695
+ if (!websocketAlive.deno &&
777
696
  !websocketAlive.pyright &&
778
697
  !websocketAlive.go &&
779
698
  !websocketAlive.shellcheck &&
@@ -796,6 +715,9 @@ export async function reloadWebsocket() {
796
715
  }
797
716
  }
798
717
  let pathTimeout = undefined;
718
+ function getHostname() {
719
+ return BROWSER ? window.location.protocol + '//' + window.location.host : 'SSR';
720
+ }
799
721
  function handlePathChange() {
800
722
  console.log('path changed, reloading language server', initialPath, path);
801
723
  initialPath = path;
@@ -871,6 +793,7 @@ async function loadMonaco() {
871
793
  noUnusedLocals: true,
872
794
  strict: true,
873
795
  noLib: false,
796
+ allowImportingTsExtensions: true,
874
797
  moduleResolution: languages.typescript.ModuleResolutionKind.NodeJs
875
798
  });
876
799
  languages.typescript.javascriptDefaults.setModeConfiguration({
@@ -980,8 +903,11 @@ async function loadMonaco() {
980
903
  code = getCode();
981
904
  shouldBindKey && cmdEnterAction && cmdEnterAction();
982
905
  });
983
- if (!websocketAlive.black &&
984
- !websocketAlive.deno &&
906
+ editor.addCommand(KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit7, function () {
907
+ // CMD + slash (toggle comment) on some EU keyboards
908
+ editor?.trigger('keyboard', 'editor.action.commentLine', {});
909
+ });
910
+ if (!websocketAlive.deno &&
985
911
  !websocketAlive.pyright &&
986
912
  !websocketAlive.ruff &&
987
913
  !websocketAlive.shellcheck &&
@@ -993,6 +919,7 @@ async function loadMonaco() {
993
919
  }
994
920
  });
995
921
  reloadWebsocket();
922
+ setTypescriptExtraLibs();
996
923
  return () => {
997
924
  console.log('disposing editor');
998
925
  ata = undefined;
@@ -1007,6 +934,96 @@ async function loadMonaco() {
1007
934
  }
1008
935
  };
1009
936
  }
937
+ async function setTypescriptExtraLibs() {
938
+ if (lang === 'typescript' && scriptLang != 'deno') {
939
+ const hostname = getHostname();
940
+ const stdLib = { content: libStdContent, filePath: 'es6.d.ts' };
941
+ if (scriptLang == 'bun') {
942
+ const processLib = { content: processStdContent, filePath: 'process.d.ts' };
943
+ languages.typescript.typescriptDefaults.setExtraLibs([stdLib, processLib]);
944
+ }
945
+ else {
946
+ const denoFetch = { content: denoFetchContent, filePath: 'deno_fetch.d.ts' };
947
+ languages.typescript.typescriptDefaults.setExtraLibs([stdLib, denoFetch]);
948
+ let localContent = windmillFetchContent;
949
+ let p = '/tmp/monaco/windmill.d.ts';
950
+ let nuri = mUri.parse(p);
951
+ let localModel = meditor.getModel(nuri);
952
+ if (localModel) {
953
+ localModel.setValue(localContent);
954
+ }
955
+ else {
956
+ meditor.createModel(localContent, 'typescript', nuri);
957
+ }
958
+ }
959
+ if (scriptLang == 'bun' && ata == undefined) {
960
+ const addLibraryToRuntime = async (code, _path) => {
961
+ const path = 'file://' + _path;
962
+ let uri = mUri.parse(path);
963
+ console.log('adding library to runtime', path);
964
+ languages.typescript.typescriptDefaults.addExtraLib(code, path);
965
+ try {
966
+ await vscode.workspace.fs.writeFile(uri, new TextEncoder().encode(code));
967
+ }
968
+ catch (e) {
969
+ console.log('error writing file', e);
970
+ }
971
+ };
972
+ const addLocalFile = async (code, _path) => {
973
+ let p = new URL(_path, uri).href;
974
+ // if (_path?.startsWith('/')) {
975
+ // p = 'file://' + p
976
+ // }
977
+ let nuri = mUri.parse(p);
978
+ console.log('adding local file', _path, nuri.toString());
979
+ if (editor) {
980
+ let localModel = meditor.getModel(nuri);
981
+ if (localModel) {
982
+ localModel.setValue(code);
983
+ }
984
+ else {
985
+ meditor.createModel(code, 'typescript', nuri);
986
+ }
987
+ try {
988
+ if (model) {
989
+ model?.setValue(model.getValue());
990
+ }
991
+ }
992
+ catch (e) {
993
+ console.log('error resetting model', e);
994
+ }
995
+ }
996
+ };
997
+ await initWasm();
998
+ const root = await genRoot(hostname);
999
+ console.log('SETUP TYPE ACQUISITION', { root, path });
1000
+ ata = setupTypeAcquisition({
1001
+ projectName: 'Windmill',
1002
+ depsParser: (c) => {
1003
+ return parseDeps(c);
1004
+ },
1005
+ root,
1006
+ scriptPath: path,
1007
+ logger: console,
1008
+ delegate: {
1009
+ receivedFile: addLibraryToRuntime,
1010
+ localFile: addLocalFile,
1011
+ progress: (downloaded, total) => {
1012
+ // console.log({ dl, ttl })
1013
+ },
1014
+ started: () => {
1015
+ console.log('ATA start');
1016
+ },
1017
+ finished: (f) => {
1018
+ console.log('ATA done');
1019
+ }
1020
+ }
1021
+ });
1022
+ ata?.('import "bun-types"');
1023
+ ata?.(code);
1024
+ }
1025
+ }
1026
+ }
1010
1027
  export function addAction(id, label, callback, keybindings = []) {
1011
1028
  editor?.addAction({
1012
1029
  id,
@@ -7,6 +7,7 @@ import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'
7
7
  import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution';
8
8
  import 'monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution';
9
9
  import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution';
10
+ import 'monaco-editor/esm/vs/basic-languages/php/php.contribution';
10
11
  import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
11
12
  import 'monaco-editor/esm/vs/basic-languages/css/css.contribution';
12
13
  import { type Preview } from '../gen';
@@ -14,14 +15,13 @@ import type { Text } from 'yjs';
14
15
  declare const __propDef: {
15
16
  props: {
16
17
  [x: string]: any;
17
- lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'css' | 'javascript';
18
+ lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'php' | 'css' | 'javascript';
18
19
  code?: string | undefined;
19
20
  cmdEnterAction?: (() => void) | undefined;
20
21
  formatAction?: (() => void) | undefined;
21
22
  automaticLayout?: boolean | undefined;
22
23
  websocketAlive?: {
23
24
  pyright: boolean;
24
- black: boolean;
25
25
  ruff: boolean;
26
26
  deno: boolean;
27
27
  go: boolean;
@@ -42,6 +42,7 @@ declare const __propDef: {
42
42
  getCode?: (() => string) | undefined;
43
43
  insertAtCursor?: ((code: string) => void) | undefined;
44
44
  arrowDown?: (() => void) | undefined;
45
+ backspace?: (() => void) | undefined;
45
46
  insertAtBeginning?: ((code: string) => void) | undefined;
46
47
  insertAtLine?: ((code: string, line: number) => void) | undefined;
47
48
  getSelectedLines?: (() => string | undefined) | undefined;
@@ -70,6 +71,7 @@ export default class Editor extends SvelteComponent<EditorProps, EditorEvents, E
70
71
  get getCode(): () => string;
71
72
  get insertAtCursor(): (code: string) => void;
72
73
  get arrowDown(): () => void;
74
+ get backspace(): () => void;
73
75
  get insertAtBeginning(): (code: string) => void;
74
76
  get insertAtLine(): (code: string, line: number) => void;
75
77
  get getSelectedLines(): () => string | undefined;
@@ -52,11 +52,40 @@ let showContextVarPicker = false;
52
52
  let showVarPicker = false;
53
53
  let showResourcePicker = false;
54
54
  let showResourceTypePicker = false;
55
- $: showContextVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
56
- $: showVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
57
- $: showResourcePicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
55
+ $: showContextVarPicker = [
56
+ 'python3',
57
+ 'bash',
58
+ 'powershell',
59
+ 'go',
60
+ 'deno',
61
+ 'bun',
62
+ 'nativets',
63
+ 'php'
64
+ ].includes(lang ?? '');
65
+ $: showVarPicker = [
66
+ 'python3',
67
+ 'bash',
68
+ 'powershell',
69
+ 'go',
70
+ 'deno',
71
+ 'bun',
72
+ 'nativets',
73
+ 'php'
74
+ ].includes(lang ?? '');
75
+ $: showResourcePicker = [
76
+ 'python3',
77
+ 'bash',
78
+ 'powershell',
79
+ 'go',
80
+ 'deno',
81
+ 'bun',
82
+ 'nativets',
83
+ 'php'
84
+ ].includes(lang ?? '');
58
85
  $: showResourceTypePicker =
59
- ['typescript', 'javascript'].includes(scriptLangToEditorLang(lang)) || lang === 'python3';
86
+ ['typescript', 'javascript'].includes(scriptLangToEditorLang(lang)) ||
87
+ lang === 'python3' ||
88
+ lang === 'php';
60
89
  let codeViewer;
61
90
  let codeObj = undefined;
62
91
  function addEditorActions() {
@@ -134,12 +163,51 @@ async function resourceTypePickCallback(name) {
134
163
  editor.insertAtBeginning('from typing import TypedDict\n');
135
164
  }
136
165
  }
166
+ else if (lang === 'php') {
167
+ const phpSchema = phpCompile(resourceType.schema);
168
+ const rtName = toCamel(capitalize(name));
169
+ editor.insertAtCursor(`if (!class_exists('${rtName}')) {\nclass ${rtName} {\n${phpSchema}\n`);
170
+ editor.backspace();
171
+ editor.insertAtCursor('}');
172
+ }
137
173
  else {
138
174
  const tsSchema = compile(resourceType.schema);
139
- editor.insertAtCursor(`type ${toCamel(capitalize(name))} = ${tsSchema}\n`);
175
+ editor.insertAtCursor(`type ${toCamel(capitalize(name))} = ${tsSchema}`);
140
176
  }
141
177
  sendUserToast(`${name} inserted at cursor`);
142
178
  }
179
+ function phpCompile(schema) {
180
+ let res = ' ';
181
+ const entries = Object.entries(schema.properties);
182
+ if (entries.length === 0) {
183
+ return 'array';
184
+ }
185
+ let i = 0;
186
+ for (let [name, prop] of entries) {
187
+ let typ = 'array';
188
+ if (prop.type === 'array') {
189
+ typ = 'array';
190
+ }
191
+ else if (prop.type === 'string') {
192
+ typ = 'string';
193
+ }
194
+ else if (prop.type === 'number') {
195
+ typ = 'float';
196
+ }
197
+ else if (prop.type === 'integer') {
198
+ typ = 'int';
199
+ }
200
+ else if (prop.type === 'boolean') {
201
+ typ = 'bool';
202
+ }
203
+ res += `public ${typ} $${name};`;
204
+ i++;
205
+ if (i < entries.length) {
206
+ res += '\n';
207
+ }
208
+ }
209
+ return res;
210
+ }
143
211
  function pythonCompile(schema) {
144
212
  let res = '';
145
213
  const entries = Object.entries(schema.properties);
@@ -218,8 +286,8 @@ let historyBrowserDrawerOpen = false;
218
286
  if (!editor) return
219
287
  if (lang == 'deno') {
220
288
  editor.insertAtCursor(`Deno.env.get('${name}')`)
221
- } else if (lang === 'bun') {
222
- editor.insertAtCursor(`Bun.env["${name}"]`)
289
+ } else if (lang === 'bun' || lang == 'nativets') {
290
+ editor.insertAtCursor(`process.env["${name}"]`)
223
291
  } else if (lang == 'python3') {
224
292
  if (!editor.getCode().includes('import os')) {
225
293
  editor.insertAtBeginning('import os\n')
@@ -234,6 +302,8 @@ let historyBrowserDrawerOpen = false;
234
302
  editor.insertAtCursor(`$${name}`)
235
303
  } else if (lang == 'powershell') {
236
304
  editor.insertAtCursor(`$Env:${name}`)
305
+ } else if (lang == 'php') {
306
+ editor.insertAtCursor(`getenv('${name}');`)
237
307
  }
238
308
  sendUserToast(`${name} inserted at cursor`)
239
309
  }}
@@ -279,6 +349,17 @@ let historyBrowserDrawerOpen = false;
279
349
  editor.insertAtCursor(
280
350
  `\nInvoke-RestMethod -Headers $Headers -Uri "$Env:BASE_INTERNAL_URL/api/w/$Env:WM_WORKSPACE/variables/get_value/${path}"`
281
351
  )
352
+ } else if (lang == 'nativets') {
353
+ const code = editor.getCode()
354
+ if (!code.includes(`import * as wmill from`)) {
355
+ editor.insertAtBeginning(`import * as wmill from "./windmill.ts"\n`)
356
+ }
357
+ editor.insertAtCursor(`(await wmill.getVariable('${path}'))`)
358
+ } else if (lang == 'php') {
359
+ editor.insertAtCursor(`$ch = curl_init(getenv('BASE_INTERNAL_URL') . '/api/w/' . getenv('WM_WORKSPACE') . '/variables/get_value/${path}');
360
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . getenv('WM_TOKEN')));
361
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
362
+ $var = json_decode(curl_exec($ch));`)
282
363
  }
283
364
  sendUserToast(`${name} inserted at cursor`)
284
365
  }}
@@ -338,6 +419,17 @@ let historyBrowserDrawerOpen = false;
338
419
  editor.insertAtCursor(
339
420
  `\nInvoke-RestMethod -Headers $Headers -Uri "$Env:BASE_INTERNAL_URL/api/w/$Env:WM_WORKSPACE/resources/get_value_interpolated/${path}"`
340
421
  )
422
+ } else if (lang == 'nativets') {
423
+ const code = editor.getCode()
424
+ if (!code.includes(`import * as wmill from`)) {
425
+ editor.insertAtBeginning(`import * as wmill from "./windmill.ts"\n`)
426
+ }
427
+ editor.insertAtCursor(`(await wmill.getResource('${path}'))`)
428
+ } else if (lang == 'php') {
429
+ editor.insertAtCursor(`$ch = curl_init(getenv('BASE_INTERNAL_URL') . '/api/w/' . getenv('WM_WORKSPACE') . '/resources/get_value_interpolated/${path}');
430
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . getenv('WM_TOKEN')));
431
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
432
+ $res = json_decode(curl_exec($ch));`)
341
433
  }
342
434
  sendUserToast(`${path} inserted at cursor`)
343
435
  }}
@@ -482,7 +574,6 @@ let historyBrowserDrawerOpen = false;
482
574
  (<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
483
575
  {:else if lang == 'python3'}
484
576
  (<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
485
- <span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>
486
577
  <span class={websocketAlive.ruff ? 'green' : 'text-red-700'}>Ruff</span>)
487
578
  {:else if lang == 'bash'}
488
579
  (<span class={websocketAlive.shellcheck ? 'green' : 'text-red-700'}>Shellcheck</span>)
@@ -9,7 +9,6 @@ declare const __propDef: {
9
9
  editor: Editor | undefined;
10
10
  websocketAlive: {
11
11
  pyright: boolean;
12
- black: boolean;
13
12
  ruff: boolean;
14
13
  deno: boolean;
15
14
  go: boolean;
@@ -75,7 +75,6 @@ async function sendSlackMessage(channel) {
75
75
  });
76
76
  }
77
77
  async function loadHandlerScriptArgs(p, defaultArgs = []) {
78
- console.log(p);
79
78
  try {
80
79
  let schema = emptySchema();
81
80
  if (p.startsWith('hub/')) {
@@ -26,6 +26,7 @@ const dispatch = createEventDispatcher();
26
26
  stepDetail = e.detail
27
27
  dispatch('select', stepDetail)
28
28
  }}
29
+ rebuildOnChange={flow}
29
30
  />
30
31
  </div>
31
32
  {/if}
@@ -8,10 +8,11 @@ import typescript from 'svelte-highlight/languages/typescript';
8
8
  import FlowPathViewer from './flows/content/FlowPathViewer.svelte';
9
9
  import SchemaViewer from './SchemaViewer.svelte';
10
10
  import { scriptPathToHref } from '../scripts';
11
- import { cleanExpr } from '../utils';
11
+ import { cleanExpr, copyToClipboard } from '../utils';
12
12
  import { hubBaseUrlStore } from '../stores';
13
13
  import { twMerge } from 'tailwind-merge';
14
14
  import FlowModuleScript from './flows/content/FlowModuleScript.svelte';
15
+ import { Copy } from 'lucide-svelte';
15
16
  export let flow;
16
17
  export let stepDetail = undefined;
17
18
  let codeViewer;
@@ -202,6 +203,23 @@ let codeViewer;
202
203
  {/each}
203
204
  </div>
204
205
  {:else if stepDetail.value.type == 'flow'}
206
+ <div class="text-sm mb-1 flex justify-end flex-row">
207
+ <Button
208
+ size="xs2"
209
+ startIcon={{ icon: Copy }}
210
+ color="light"
211
+ on:click={() => {
212
+ if (typeof stepDetail !== 'string') {
213
+ const val = stepDetail?.value
214
+ if (val?.type == 'flow') {
215
+ copyToClipboard(val.path)
216
+ }
217
+ }
218
+ }}
219
+ >
220
+ Copy path
221
+ </Button>
222
+ </div>
205
223
  <FlowPathViewer noSide path={stepDetail.value.path} />
206
224
  {/if}
207
225
  {:else}
@@ -3,6 +3,9 @@ import DisplayResult from './DisplayResult.svelte';
3
3
  import LogViewer from './LogViewer.svelte';
4
4
  import { JobService } from '../gen';
5
5
  import { workspaceStore } from '../stores';
6
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
7
+ import { Drawer } from './common';
8
+ import AllFlowLogs from './AllFlowLogs.svelte';
6
9
  export let result;
7
10
  export let logs;
8
11
  export let col = false;
@@ -12,7 +15,9 @@ export let filename = undefined;
12
15
  export let jobId = undefined;
13
16
  export let workspaceId = undefined;
14
17
  export let refreshLog = false;
18
+ export let durationStates;
15
19
  let lastJobId = undefined;
20
+ let drawer = undefined;
16
21
  $: jobId != lastJobId && diffJobId();
17
22
  async function diffJobId() {
18
23
  if (jobId != lastJobId) {
@@ -44,6 +49,11 @@ async function getLogs() {
44
49
  }
45
50
  </script>
46
51
 
52
+ <Drawer bind:this={drawer}>
53
+ <DrawerContent title="Explore all steps' logs" on:close={drawer.closeDrawer}
54
+ ><AllFlowLogs states={durationStates} /></DrawerContent
55
+ >
56
+ </Drawer>
47
57
  <div
48
58
  class:border={!noBorder}
49
59
  class="grid {!col
@@ -61,6 +71,9 @@ async function getLogs() {
61
71
  {/if}
62
72
  </div>
63
73
  <div class="overflow-auto {col ? '' : 'max-h-80'} h-full relative">
74
+ <div class="absolute z-40 text-sm top-1.5 left-2"
75
+ ><button class="" on:click={drawer.openDrawer}>explore all steps' logs</button></div
76
+ >
64
77
  <LogViewer content={logs ?? ''} {jobId} isLoading={false} tag={undefined} />
65
78
  </div>
66
79
  </div>
@@ -1,4 +1,6 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { DurationStatus } from './graph';
3
+ import type { Writable } from 'svelte/store';
2
4
  declare const __propDef: {
3
5
  props: {
4
6
  result: any;
@@ -10,6 +12,7 @@ declare const __propDef: {
10
12
  jobId?: string | undefined;
11
13
  workspaceId?: string | undefined;
12
14
  refreshLog?: boolean | undefined;
15
+ durationStates: Writable<Record<string, DurationStatus>> | undefined;
13
16
  };
14
17
  events: {
15
18
  [evt: string]: CustomEvent<any>;