windmill-components 1.269.4 → 1.291.4

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 (339) hide show
  1. package/package/ata/apis.d.ts +8 -5
  2. package/package/ata/apis.js +20 -9
  3. package/package/ata/edgeCases.js +5 -1
  4. package/package/ata/index.d.ts +3 -3
  5. package/package/ata/index.js +51 -28
  6. package/package/common.d.ts +1 -0
  7. package/package/components/AddUser.svelte +15 -6
  8. package/package/components/ApiConnectForm.svelte +1 -1
  9. package/package/components/ArgEnum.svelte +1 -1
  10. package/package/components/ArgEnum.svelte.d.ts +1 -1
  11. package/package/components/ArgInfo.svelte +2 -1
  12. package/package/components/ArgInput.svelte +7 -6
  13. package/package/components/ArgInput.svelte.d.ts +1 -1
  14. package/package/components/ArrayTypeNarrowing.svelte +2 -0
  15. package/package/components/CenteredModal.svelte +5 -2
  16. package/package/components/ChangeInstanceUsername.svelte +123 -0
  17. package/package/components/ChangeInstanceUsername.svelte.d.ts +20 -0
  18. package/package/components/ContentSearch.svelte +3 -4
  19. package/package/components/ContentSearch.svelte.d.ts +0 -3
  20. package/package/components/DateTimeInput.svelte +73 -9
  21. package/package/components/DateTimeInput.svelte.d.ts +8 -1
  22. package/package/components/DefaultScripts.svelte +26 -0
  23. package/package/components/DefaultScripts.svelte.d.ts +14 -0
  24. package/package/components/DefaultScriptsInner.svelte +75 -0
  25. package/package/components/DefaultScriptsInner.svelte.d.ts +14 -0
  26. package/package/components/Dev.svelte +59 -17
  27. package/package/components/DisplayResult.svelte +73 -67
  28. package/package/components/DurationMs.svelte +9 -8
  29. package/package/components/DurationMs.svelte.d.ts +1 -0
  30. package/package/components/Editor.svelte +23 -7
  31. package/package/components/FieldHeader.svelte +7 -7
  32. package/package/components/FlowBuilder.svelte +24 -13
  33. package/package/components/FlowBuilder.svelte.d.ts +0 -3
  34. package/package/components/FlowLoopIterationPreview.svelte +6 -5
  35. package/package/components/FlowMetadata.svelte +6 -2
  36. package/package/components/FlowPreviewContent.svelte +5 -5
  37. package/package/components/FolderEditor.svelte +20 -39
  38. package/package/components/GroupEditor.svelte +1 -1
  39. package/package/components/HighlightCode.svelte +7 -5
  40. package/package/components/IconedResourceType.svelte +5 -3
  41. package/package/components/IconedResourceType.svelte.d.ts +21 -7
  42. package/package/components/InputTransformForm.svelte +6 -1
  43. package/package/components/InstanceSettings.svelte +29 -17
  44. package/package/components/InstanceSettings.svelte.d.ts +3 -0
  45. package/package/components/InviteGlobalUser.svelte +1 -1
  46. package/package/components/JobArgs.svelte +20 -7
  47. package/package/components/JobStatus.svelte +8 -2
  48. package/package/components/LightweightArgInput.svelte +30 -14
  49. package/package/components/LightweightSchemaForm.svelte +1 -0
  50. package/package/components/LogViewer.svelte +21 -6
  51. package/package/components/ModulePreview.svelte +19 -11
  52. package/package/components/ModulePreview.svelte.d.ts +3 -2
  53. package/package/components/ObjectResourceInput.svelte +2 -0
  54. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  55. package/package/components/Password.svelte +5 -2
  56. package/package/components/Password.svelte.d.ts +1 -0
  57. package/package/components/Path.svelte +10 -11
  58. package/package/components/ResourcePicker.svelte +28 -9
  59. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  60. package/package/components/RunChart.svelte +1 -0
  61. package/package/components/RunForm.svelte +9 -17
  62. package/package/components/RunFormAdvancedPopup.svelte +11 -12
  63. package/package/components/S3FilePicker.svelte +1 -0
  64. package/package/components/ScheduleEditorInner.svelte +10 -9
  65. package/package/components/ScheduleEditorInner.svelte.d.ts +2 -2
  66. package/package/components/SchemaEditor.svelte +12 -1
  67. package/package/components/SchemaForm.svelte +1 -2
  68. package/package/components/SchemaModal.svelte +2 -2
  69. package/package/components/ScriptBuilder.svelte +152 -79
  70. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  71. package/package/components/ScriptEditor.svelte +8 -9
  72. package/package/components/ScriptSchedules.svelte +99 -0
  73. package/package/components/ScriptSchedules.svelte.d.ts +20 -0
  74. package/package/components/ShareModal.svelte +1 -0
  75. package/package/components/StringTypeNarrowing.svelte +9 -3
  76. package/package/components/SuperadminSettings.svelte +114 -10
  77. package/package/components/TestJobLoader.svelte +8 -0
  78. package/package/components/TestJobLoader.svelte.d.ts +1 -0
  79. package/package/components/TimeAgo.svelte +2 -2
  80. package/package/components/TimelineBar.svelte +5 -2
  81. package/package/components/Toggle.svelte +5 -2
  82. package/package/components/Toggle.svelte.d.ts +1 -0
  83. package/package/components/Tooltip.svelte +13 -2
  84. package/package/components/Tooltip.svelte.d.ts +1 -0
  85. package/package/components/Uptodate.svelte +12 -6
  86. package/package/components/UserSettings.svelte +87 -73
  87. package/package/components/WorkerTagPicker.svelte +4 -2
  88. package/package/components/WorkflowTimeline.svelte +106 -0
  89. package/package/components/WorkflowTimeline.svelte.d.ts +18 -0
  90. package/package/components/WorkspaceGroup.svelte +1 -0
  91. package/package/components/apps/components/buttons/AppButton.svelte +9 -19
  92. package/package/components/apps/components/display/AppCustomComponent.svelte +2 -4
  93. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +246 -94
  94. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte.d.ts +0 -3
  95. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +17 -5
  96. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte.d.ts +6 -2
  97. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +6 -4
  98. package/package/components/apps/components/display/dbtable/DeleteRow.svelte.d.ts +3 -3
  99. package/package/components/apps/components/display/dbtable/InsertRow.svelte +55 -37
  100. package/package/components/apps/components/display/dbtable/InsertRow.svelte.d.ts +17 -1
  101. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +4 -3
  102. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte.d.ts +2 -2
  103. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +5 -4
  104. package/package/components/apps/components/display/dbtable/UpdateCell.svelte.d.ts +3 -3
  105. package/package/components/apps/components/display/dbtable/queries/count.d.ts +4 -0
  106. package/package/components/apps/components/display/dbtable/queries/count.js +140 -0
  107. package/package/components/apps/components/display/dbtable/queries/delete.d.ts +3 -0
  108. package/package/components/apps/components/display/dbtable/queries/delete.js +68 -0
  109. package/package/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  110. package/package/components/apps/components/display/dbtable/queries/insert.js +121 -0
  111. package/package/components/apps/components/display/dbtable/queries/select.d.ts +7 -0
  112. package/package/components/apps/components/display/dbtable/queries/select.js +196 -0
  113. package/package/components/apps/components/display/dbtable/queries/update.d.ts +3 -0
  114. package/package/components/apps/components/display/dbtable/queries/update.js +75 -0
  115. package/package/components/apps/components/display/dbtable/utils.d.ts +79 -0
  116. package/package/components/apps/components/display/dbtable/utils.js +284 -309
  117. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +39 -19
  118. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +0 -2
  119. package/package/components/apps/components/display/table/AppAggridTable.svelte +4 -1
  120. package/package/components/apps/components/display/table/AppTable.svelte +4 -0
  121. package/package/components/apps/components/display/table/AppTable.svelte.d.ts +2 -2
  122. package/package/components/apps/components/display/table/utils.js +42 -0
  123. package/package/components/apps/components/helpers/InputValue.svelte +10 -8
  124. package/package/components/apps/components/helpers/InputValue.svelte.d.ts +1 -0
  125. package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  126. package/package/components/apps/components/helpers/ResolveConfig.svelte +2 -0
  127. package/package/components/apps/components/helpers/RunnableComponent.svelte +6 -2
  128. package/package/components/apps/components/helpers/eval.d.ts +2 -2
  129. package/package/components/apps/components/helpers/eval.js +33 -11
  130. package/package/components/apps/components/inputs/AppCheckbox.svelte +4 -0
  131. package/package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +1 -0
  132. package/package/components/apps/components/inputs/AppDateInput.svelte +2 -2
  133. package/package/components/apps/components/inputs/AppDateTimeInput.svelte +121 -0
  134. package/package/components/apps/components/inputs/AppDateTimeInput.svelte.d.ts +22 -0
  135. package/package/components/apps/components/inputs/AppSelect.svelte +5 -0
  136. package/package/components/apps/components/inputs/AppSelect.svelte.d.ts +1 -0
  137. package/package/components/apps/components/inputs/AppTimeInput.svelte +103 -0
  138. package/package/components/apps/components/inputs/AppTimeInput.svelte.d.ts +21 -0
  139. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +0 -1
  140. package/package/components/apps/components/layout/AppDecisionTree.svelte +12 -0
  141. package/package/components/apps/components/layout/AppStepper.svelte +4 -2
  142. package/package/components/apps/editor/AppEditor.svelte +19 -4
  143. package/package/components/apps/editor/AppEditorHeader.svelte +42 -14
  144. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -0
  145. package/package/components/apps/editor/AppTimeline.svelte +4 -4
  146. package/package/components/apps/editor/DecisionTreeDebug.svelte +1 -1
  147. package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
  148. package/package/components/apps/editor/GridEditorMenu.svelte +3 -3
  149. package/package/components/apps/editor/RecomputeAllComponents.svelte +1 -1
  150. package/package/components/apps/editor/SettingsPanel.svelte +2 -0
  151. package/package/components/apps/editor/TabsDebug.svelte +2 -2
  152. package/package/components/apps/editor/appUtils.js +8 -0
  153. package/package/components/apps/editor/component/Component.svelte +21 -0
  154. package/package/components/apps/editor/component/components.d.ts +168 -9
  155. package/package/components/apps/editor/component/components.js +203 -10
  156. package/package/components/apps/editor/component/sets.js +2 -0
  157. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +3 -3
  158. package/package/components/apps/editor/componentsPanel/ThemeList.svelte +1 -0
  159. package/package/components/apps/editor/componentsPanel/ThemeList.svelte.d.ts +2 -0
  160. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +8 -4
  161. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +2 -0
  162. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +6 -0
  163. package/package/components/apps/editor/contextPanel/DebugPanel.svelte +178 -0
  164. package/package/components/apps/editor/contextPanel/DebugPanel.svelte.d.ts +14 -0
  165. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +3 -1
  166. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +9 -18
  167. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +11 -16
  168. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +2 -2
  169. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +2 -2
  170. package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +4 -12
  171. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +27 -4
  172. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +3 -1
  173. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +68 -28
  174. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +1 -1
  175. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +57 -43
  176. package/package/components/apps/editor/settingsPanel/GridTab.svelte +15 -12
  177. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +9 -3
  178. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +4 -0
  179. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +8 -0
  180. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +2 -0
  181. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +6 -0
  182. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +2 -0
  183. package/package/components/apps/editor/settingsPanel/Recompute.svelte +4 -5
  184. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +3 -0
  185. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +4 -2
  186. package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte +42 -0
  187. package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte.d.ts +19 -0
  188. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +24 -2
  189. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +2 -0
  190. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +25 -15
  191. package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +1 -1
  192. package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +1 -1
  193. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +8 -1
  194. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte.d.ts +1 -0
  195. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +13 -0
  196. package/package/components/apps/inputType.d.ts +2 -2
  197. package/package/components/apps/svelte-select/lib/Select.svelte +2 -1
  198. package/package/components/apps/types.d.ts +5 -3
  199. package/package/components/build_workers.js +9 -13
  200. package/package/components/common/button/Button.svelte +78 -36
  201. package/package/components/common/button/Button.svelte.d.ts +7 -0
  202. package/package/components/common/button/model.d.ts +0 -1
  203. package/package/components/common/button/model.js +0 -8
  204. package/package/components/common/calendarPicker/CalendarPicker.svelte +11 -37
  205. package/package/components/common/confirmationModal/ConfirmationModal.svelte +11 -10
  206. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +5 -12
  207. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +0 -3
  208. package/package/components/common/table/ScriptRow.svelte +28 -1
  209. package/package/components/common/tabs/Tab.svelte +6 -4
  210. package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
  211. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -2
  212. package/package/components/copilot/IteratorGen.svelte +10 -5
  213. package/package/components/copilot/MetadataGen.svelte +6 -1
  214. package/package/components/copilot/PredicateGen.svelte +3 -4
  215. package/package/components/copilot/ScriptFix.svelte +1 -1
  216. package/package/components/copilot/StepGen.svelte +2 -1
  217. package/package/components/copilot/StepGen.svelte.d.ts +1 -0
  218. package/package/components/copilot/StepInputGen.svelte +13 -7
  219. package/package/components/copilot/StepInputsGen.svelte +12 -7
  220. package/package/components/copilot/lib.d.ts +1 -1
  221. package/package/components/copilot/lib.js +2 -2
  222. package/package/components/details/Menu.svelte +11 -6
  223. package/package/components/details/Menu.svelte.d.ts +1 -3
  224. package/package/components/details/WebhooksPanel.svelte +1 -1
  225. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +11 -10
  226. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +11 -9
  227. package/package/components/flows/content/FlowInputs.svelte +84 -238
  228. package/package/components/flows/content/FlowLoop.svelte +25 -16
  229. package/package/components/flows/content/FlowModuleComponent.svelte +17 -2
  230. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  231. package/package/components/flows/content/FlowModuleWrapper.svelte +5 -0
  232. package/package/components/flows/content/FlowSchedules.svelte +75 -1
  233. package/package/components/flows/content/FlowSettings.svelte +5 -0
  234. package/package/components/flows/content/SuspendDrawer.svelte +1 -1
  235. package/package/components/flows/flowStateUtils.d.ts +1 -1
  236. package/package/components/flows/flowStateUtils.js +2 -2
  237. package/package/components/flows/idUtils.js +12 -1
  238. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  239. package/package/components/flows/map/InsertModuleButton.svelte +1 -3
  240. package/package/components/flows/map/MapItem.svelte +1 -1
  241. package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  242. package/package/components/flows/scheduleUtils.d.ts +2 -1
  243. package/package/components/flows/scheduleUtils.js +2 -1
  244. package/package/components/home/ItemsList.svelte +10 -9
  245. package/package/components/icons/AsanaIcon.svelte +5 -0
  246. package/package/components/icons/AsanaIcon.svelte.d.ts +17 -0
  247. package/package/components/icons/BitbucketIcon.svelte +19 -0
  248. package/package/components/icons/BitbucketIcon.svelte.d.ts +17 -0
  249. package/package/components/icons/CACertificate.svelte +7 -0
  250. package/package/components/icons/CACertificate.svelte.d.ts +17 -0
  251. package/package/components/icons/CurrencyApiIcon.svelte +24 -0
  252. package/package/components/icons/CurrencyApiIcon.svelte.d.ts +17 -0
  253. package/package/components/icons/DynatraceIcon.svelte +26 -0
  254. package/package/components/icons/DynatraceIcon.svelte.d.ts +17 -0
  255. package/package/components/icons/EdgeDbIcon.svelte +25 -0
  256. package/package/components/icons/EdgeDbIcon.svelte.d.ts +17 -0
  257. package/package/components/icons/GitIcon.svelte +7 -0
  258. package/package/components/icons/GitIcon.svelte.d.ts +17 -0
  259. package/package/components/icons/GoogleCloudIcon.svelte +20 -0
  260. package/package/components/icons/GoogleCloudIcon.svelte.d.ts +17 -0
  261. package/package/components/icons/IpinfoIcon.svelte +8 -0
  262. package/package/components/icons/IpinfoIcon.svelte.d.ts +17 -0
  263. package/package/components/icons/MSTeamsIcon.svelte +5 -0
  264. package/package/components/icons/MSTeamsIcon.svelte.d.ts +17 -0
  265. package/package/components/icons/MailgunIcon.svelte +11 -0
  266. package/package/components/icons/MailgunIcon.svelte.d.ts +17 -0
  267. package/package/components/icons/PushoverIcon.svelte +8 -0
  268. package/package/components/icons/PushoverIcon.svelte.d.ts +17 -0
  269. package/package/components/icons/QuickbooksIcon.svelte +5 -0
  270. package/package/components/icons/QuickbooksIcon.svelte.d.ts +17 -0
  271. package/package/components/icons/ResendIcon.svelte +7 -0
  272. package/package/components/icons/ResendIcon.svelte.d.ts +17 -0
  273. package/package/components/icons/TrelloIcon.svelte +5 -0
  274. package/package/components/icons/TrelloIcon.svelte.d.ts +17 -0
  275. package/package/components/icons/TwilioIcon.svelte +11 -0
  276. package/package/components/icons/TwilioIcon.svelte.d.ts +17 -0
  277. package/package/components/icons/ZendeskIcon.svelte +11 -0
  278. package/package/components/icons/ZendeskIcon.svelte.d.ts +17 -0
  279. package/package/components/icons/index.d.ts +36 -1
  280. package/package/components/icons/index.js +37 -2
  281. package/package/components/instanceSettings.js +38 -1
  282. package/package/components/jobs/JobPreview.svelte +4 -1
  283. package/package/components/runs/JobLoader.svelte +6 -4
  284. package/package/components/runs/JobPreview.svelte +15 -1
  285. package/package/components/runs/ManuelDatePicker.svelte +1 -1
  286. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -3
  287. package/package/components/runs/RunRow.svelte +5 -19
  288. package/package/components/runs/RunsFilter.svelte +1 -1
  289. package/package/components/runs/RunsTable.svelte +1 -1
  290. package/package/components/scriptEditor/LogPanel.svelte +12 -0
  291. package/package/components/settings/PremiumInfo.svelte +92 -31
  292. package/package/components/settings/WorkspaceUserSettings.svelte +42 -6
  293. package/package/components/sidebar/changelogs.js +20 -0
  294. package/package/components/table/AutoDataTable.svelte +18 -4
  295. package/package/consts.d.ts +0 -3
  296. package/package/consts.js +0 -3
  297. package/package/enterpriseUtils.d.ts +1 -0
  298. package/package/enterpriseUtils.js +17 -0
  299. package/package/gen/core/OpenAPI.js +1 -1
  300. package/package/gen/index.d.ts +5 -2
  301. package/package/gen/models/LargeFileStorage.d.ts +3 -1
  302. package/package/gen/models/LargeFileStorage.js +2 -0
  303. package/package/gen/models/User.d.ts +0 -2
  304. package/package/gen/models/UserUsage.d.ts +4 -0
  305. package/package/gen/models/WorkflowStatus.d.ts +6 -0
  306. package/package/gen/models/WorkflowStatusRecord.d.ts +2 -0
  307. package/package/gen/models/WorkflowStatusRecord.js +5 -0
  308. package/package/gen/models/WorkflowTask.d.ts +4 -0
  309. package/package/gen/models/WorkflowTask.js +5 -0
  310. package/package/gen/models/WorkspaceDefaultScripts.d.ts +5 -0
  311. package/package/gen/models/WorkspaceDefaultScripts.js +5 -0
  312. package/package/gen/services/AdminService.d.ts +6 -9
  313. package/package/gen/services/AdminService.js +6 -7
  314. package/package/gen/services/FolderService.d.ts +3 -2
  315. package/package/gen/services/JobService.d.ts +27 -2
  316. package/package/gen/services/JobService.js +22 -2
  317. package/package/gen/services/SettingService.d.ts +11 -0
  318. package/package/gen/services/SettingService.js +13 -0
  319. package/package/gen/services/UserService.d.ts +14 -9
  320. package/package/gen/services/UserService.js +20 -7
  321. package/package/gen/services/WorkspaceService.d.ts +62 -0
  322. package/package/gen/services/WorkspaceService.js +76 -0
  323. package/package/infer.d.ts +20 -1
  324. package/package/infer.js +39 -19
  325. package/package/script_helpers.d.ts +7 -6
  326. package/package/script_helpers.js +24 -7
  327. package/package/scripts.d.ts +11 -0
  328. package/package/scripts.js +38 -1
  329. package/package/stores.d.ts +2 -1
  330. package/package/stores.js +2 -0
  331. package/package/utils.d.ts +1 -1
  332. package/package/utils.js +3 -3
  333. package/package.json +3 -4
  334. package/package/components/common/confirmationModal/model.d.ts +0 -9
  335. package/package/components/common/confirmationModal/model.js +0 -1
  336. package/package/gen/models/NewUser.d.ts +0 -5
  337. package/package/gen/models/Usage.d.ts +0 -3
  338. /package/package/gen/models/{NewUser.js → UserUsage.js} +0 -0
  339. /package/package/gen/models/{Usage.js → WorkflowStatus.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  <script>import { Alert } from '../../common';
2
2
  import ToggleHubWorkspace from '../../ToggleHubWorkspace.svelte';
3
3
  import Tooltip from '../../Tooltip.svelte';
4
- import { RawScript, Script } from '../../../gen';
4
+ import { Script } from '../../../gen';
5
5
  import { createEventDispatcher } from 'svelte';
6
6
  import FlowScriptPicker from '../pickers/FlowScriptPicker.svelte';
7
7
  import PickHubScript from '../pickers/PickHubScript.svelte';
@@ -12,6 +12,9 @@ import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.sv
12
12
  import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
13
13
  import { Check, Code, Zap } from 'lucide-svelte';
14
14
  import SuspendDrawer from './SuspendDrawer.svelte';
15
+ import { defaultScripts } from '../../../stores';
16
+ import { defaultScriptLanguages } from '../../../scripts';
17
+ import DefaultScripts from '../../DefaultScripts.svelte';
15
18
  export let failureModule;
16
19
  export let shouldDisableTriggerScripts = false;
17
20
  export let noEditor;
@@ -26,6 +29,23 @@ let kind = failureModule
26
29
  : 'script';
27
30
  let pick_existing = 'hub';
28
31
  let filter = '';
32
+ $: langs = ($defaultScripts?.order ?? Object.keys(defaultScriptLanguages))
33
+ .map((l) => [defaultScriptLanguages[l], l])
34
+ .filter((x) => $defaultScripts?.hidden == undefined || !$defaultScripts.hidden.includes(x[1]));
35
+ function displayLang(lang, kind) {
36
+ if (lang == Script.language.BUN ||
37
+ lang == Script.language.PYTHON3 ||
38
+ lang == Script.language.DENO) {
39
+ return true;
40
+ }
41
+ if (lang == Script.language.GO) {
42
+ return kind == 'script' || kind == 'trigger' || failureModule;
43
+ }
44
+ if (lang == Script.language.BASH || lang == Script.language.NATIVETS) {
45
+ return kind == 'script';
46
+ }
47
+ return kind == 'script' && !failureModule;
48
+ }
29
49
  </script>
30
50
 
31
51
  <div class="p-4 h-full flex flex-col" id="flow-editor-flow-inputs">
@@ -96,7 +116,7 @@ let filter = '';
96
116
  </Alert>
97
117
  {/if}
98
118
 
99
- {#if kind == 'script'}
119
+ {#if kind == 'script' && !noEditor}
100
120
  <div class="mt-2" />
101
121
  <Alert title="Action Scripts" role="info">
102
122
  An action script is simply a script that is neither a trigger nor an approval script. Those
@@ -105,40 +125,51 @@ let filter = '';
105
125
  {/if}
106
126
 
107
127
  {#if kind == 'approval'}
108
- <div class="mt-2" />
109
- <Alert title="Approval/Prompt Step" role="info">
110
- An approval/prompt step will suspend the execution of a flow until it has been approved
111
- and/or the prompts have been filled in the UI or through the resume endpoints or the
112
- approval page by and solely by the recipients of the secret urls. See details in 'Advanced'
113
- -> 'Suspend' settings of the step. A prompt is a specialized approval step with payload that
114
- can be self-approved by the caller.<br /><br />
115
- For further details, visit
128
+ {#if !noEditor}
129
+ <div class="mt-2" />
130
+ <Alert title="Approval/Prompt Step" role="info">
131
+ An approval/prompt step will suspend the execution of a flow until it has been approved
132
+ and/or the prompts have been filled in the UI or through the resume endpoints or the
133
+ approval page by and solely by the recipients of the secret urls. See details in
134
+ 'Advanced' -> 'Suspend' settings of the step. A prompt is a specialized approval step with
135
+ payload that can be self-approved by the caller.<br /><br />
136
+ For further details, visit
137
+ <a
138
+ href="https://www.windmill.dev/docs/flows/flow_approval"
139
+ target="_blank"
140
+ class="text-blue-500">Approval/Prompt Steps Documentation</a
141
+ >
142
+ or
143
+ <div class="inline-flex">
144
+ <SuspendDrawer text="Approval/Step prompt helpers" />
145
+ </div>
146
+ </Alert>
147
+ {:else}
116
148
  <a
117
149
  href="https://www.windmill.dev/docs/flows/flow_approval"
118
150
  target="_blank"
119
151
  class="text-blue-500">Approval/Prompt Steps Documentation</a
120
152
  >
121
- or
122
- <div class="inline-flex">
123
- <SuspendDrawer text="Approval/Step prompt helpers" />
124
- </div>
125
- </Alert>
153
+ {/if}
126
154
  {/if}
127
- <h3 class="pb-2 pt-4">
128
- Inline new <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script
129
- <Tooltip
130
- documentationLink={kind === 'script'
131
- ? 'https://www.windmill.dev/docs/flows/editor_components#flow-actions'
132
- : kind === 'trigger'
133
- ? 'https://www.windmill.dev/docs/flows/flow_trigger'
134
- : kind === 'approval'
135
- ? 'https://www.windmill.dev/docs/flows/flow_approval'
136
- : 'https://www.windmill.dev/docs/getting_started/flows_quickstart#flow-editor'}
137
- >
138
- Embed <span>{kind == 'script' ? 'action' : kind}</span> script directly inside a flow instead
139
- of saving the script into your workspace for reuse. You can always save an inline script to your
140
- workspace later.
141
- </Tooltip>
155
+ <h3 class="pb-2 pt-4 flex gap-x-8 flex-wrap">
156
+ <div>
157
+ Inline new <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script
158
+ <Tooltip
159
+ documentationLink={kind === 'script'
160
+ ? 'https://www.windmill.dev/docs/flows/editor_components#flow-actions'
161
+ : kind === 'trigger'
162
+ ? 'https://www.windmill.dev/docs/flows/flow_trigger'
163
+ : kind === 'approval'
164
+ ? 'https://www.windmill.dev/docs/flows/flow_approval'
165
+ : 'https://www.windmill.dev/docs/getting_started/flows_quickstart#flow-editor'}
166
+ >
167
+ Embed <span>{kind == 'script' ? 'action' : kind}</span> script directly inside a flow instead
168
+ of saving the script into your workspace for reuse. You can always save an inline script to
169
+ your workspace later.
170
+ </Tooltip>
171
+ </div>
172
+ <DefaultScripts />
142
173
  </h3>
143
174
  {#if noEditor}
144
175
  <div
@@ -153,226 +184,41 @@ let filter = '';
153
184
  {/if}
154
185
  <div class="flex flex-row">
155
186
  <div class="flex flex-row flex-wrap gap-2" id="flow-editor-action-script">
156
- <FlowScriptPicker
157
- disabled={noEditor && (summary == undefined || summary == '')}
158
- label="TypeScript (Deno)"
159
- lang={Script.language.DENO}
160
- on:click={() => {
161
- dispatch('new', {
162
- language: RawScript.language.DENO,
163
- kind,
164
- subkind: 'flow',
165
- summary
166
- })
167
- }}
168
- />
169
-
170
- <FlowScriptPicker
171
- disabled={noEditor && (summary == undefined || summary == '')}
172
- label="Python"
173
- lang={Script.language.PYTHON3}
174
- on:click={() => {
175
- dispatch('new', {
176
- language: RawScript.language.PYTHON3,
177
- kind,
178
- subkind: 'flow',
179
- summary
180
- })
181
- }}
182
- />
183
-
184
- <FlowScriptPicker
185
- disabled={noEditor && (summary == undefined || summary == '')}
186
- label="TypeScript (Bun)"
187
- lang={Script.language.BUN}
188
- on:click={() => {
189
- dispatch('new', {
190
- language: RawScript.language.BUN,
191
- kind,
192
- subkind: 'flow',
193
- summary
194
- })
195
- }}
196
- />
197
-
198
- {#if kind != 'approval'}
199
- <FlowScriptPicker
200
- disabled={noEditor && (summary == undefined || summary == '')}
201
- label="Go"
202
- lang={Script.language.GO}
203
- on:click={() => {
204
- dispatch('new', {
205
- language: RawScript.language.GO,
206
- kind,
207
- subkind: 'flow',
208
- summary
209
- })
210
- }}
211
- />
212
- {/if}
213
-
214
- {#if kind == 'script'}
215
- <FlowScriptPicker
216
- disabled={noEditor && (summary == undefined || summary == '')}
217
- label="Bash"
218
- lang={Script.language.BASH}
219
- on:click={() => {
220
- dispatch('new', {
221
- language: RawScript.language.BASH,
222
- kind,
223
- subkind: 'flow',
224
- summary
225
- })
226
- }}
227
- />
228
-
229
- <FlowScriptPicker
230
- disabled={noEditor && (summary == undefined || summary == '')}
231
- label="REST"
232
- lang={Script.language.NATIVETS}
233
- on:click={() => {
234
- dispatch('new', {
235
- language: RawScript.language.NATIVETS,
236
- kind,
237
- subkind: 'flow',
238
- summary
239
- })
240
- }}
241
- />
242
-
243
- {#if !failureModule}
244
- <FlowScriptPicker
245
- disabled={noEditor && (summary == undefined || summary == '')}
246
- label="PostgreSQL"
247
- lang={Script.language.POSTGRESQL}
248
- on:click={() => {
249
- dispatch('new', {
250
- language: RawScript.language.POSTGRESQL,
251
- kind,
252
- subkind: 'flow',
253
- summary
254
- })
255
- }}
256
- />
257
- <FlowScriptPicker
258
- disabled={noEditor && (summary == undefined || summary == '')}
259
- label="MySQL"
260
- lang={Script.language.MYSQL}
261
- on:click={() => {
262
- dispatch('new', {
263
- language: RawScript.language.MYSQL,
264
- kind,
265
- subkind: 'flow',
266
- summary
267
- })
268
- }}
269
- />
270
- <FlowScriptPicker
271
- disabled={noEditor && (summary == undefined || summary == '')}
272
- label="BigQuery"
273
- lang={Script.language.BIGQUERY}
274
- on:click={() => {
275
- dispatch('new', {
276
- language: RawScript.language.BIGQUERY,
277
- kind,
278
- subkind: 'flow',
279
- summary
280
- })
281
- }}
282
- />
283
- <FlowScriptPicker
284
- disabled={noEditor && (summary == undefined || summary == '')}
285
- label="Snowflake"
286
- lang={Script.language.SNOWFLAKE}
287
- on:click={() => {
288
- dispatch('new', {
289
- language: RawScript.language.SNOWFLAKE,
290
- kind,
291
- subkind: 'flow',
292
- summary
293
- })
294
- }}
295
- />
296
-
297
- <FlowScriptPicker
298
- disabled={noEditor && (summary == undefined || summary == '')}
299
- label="MS SQL Server"
300
- lang={Script.language.MSSQL}
301
- on:click={() => {
302
- dispatch('new', {
303
- language: RawScript.language.MSSQL,
304
- kind,
305
- subkind: 'flow',
306
- summary
307
- })
308
- }}
309
- />
310
-
311
- <FlowScriptPicker
312
- disabled={noEditor && (summary == undefined || summary == '')}
313
- label="GraphQL"
314
- lang={Script.language.GRAPHQL}
315
- on:click={() => {
316
- dispatch('new', {
317
- language: RawScript.language.GRAPHQL,
318
- kind,
319
- subkind: 'flow',
320
- summary
321
- })
322
- }}
323
- />
324
-
187
+ {#each langs as [label, lang] (lang)}
188
+ {#if displayLang(lang, kind)}
325
189
  <FlowScriptPicker
326
190
  disabled={noEditor && (summary == undefined || summary == '')}
327
- label={`Docker`}
328
- lang="docker"
191
+ {label}
192
+ lang={lang == 'docker' ? Script.language.BASH : lang}
329
193
  on:click={() => {
330
- if (isCloudHosted()) {
331
- sendUserToast(
332
- 'You cannot use Docker scripts on the multi-tenant platform. Use a dedicated instance or self-host windmill instead.',
333
- true,
334
- [
335
- {
336
- label: 'Learn more',
337
- callback: () => {
338
- window.open('https://www.windmill.dev/docs/advanced/docker', '_blank')
194
+ if (lang == 'docker') {
195
+ if (isCloudHosted()) {
196
+ sendUserToast(
197
+ 'You cannot use Docker scripts on the multi-tenant platform. Use a dedicated instance or self-host windmill instead.',
198
+ true,
199
+ [
200
+ {
201
+ label: 'Learn more',
202
+ callback: () => {
203
+ window.open('https://www.windmill.dev/docs/advanced/docker', '_blank')
204
+ }
339
205
  }
340
- }
341
- ]
342
- )
343
- return
206
+ ]
207
+ )
208
+ return
209
+ }
344
210
  }
211
+ console.log(lang, kind)
345
212
  dispatch('new', {
346
- language: RawScript.language.BASH,
347
- kind,
348
- subkind: 'docker',
349
- summary
350
- })
351
- }}
352
- />
353
-
354
- <FlowScriptPicker
355
- disabled={noEditor && (summary == undefined || summary == '')}
356
- label="PowerShell"
357
- lang={Script.language.POWERSHELL}
358
- on:click={() => {
359
- dispatch('new', {
360
- language: RawScript.language.POWERSHELL,
213
+ language: lang == 'docker' ? Script.language.BASH : lang,
361
214
  kind,
362
- subkind: 'flow',
215
+ subkind: lang == 'docker' ? 'docker' : 'flow',
363
216
  summary
364
217
  })
365
218
  }}
366
219
  />
367
-
368
- <!-- <FlowScriptPicker
369
- label={`MySQL`}
370
- lang="mysql"
371
- on:click={() =>
372
- dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'mysql' })}
373
- /> -->
374
220
  {/if}
375
- {/if}
221
+ {/each}
376
222
  </div>
377
223
  </div>
378
224
 
@@ -55,16 +55,20 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
55
55
 
56
56
  <Splitpanes horizontal class="!max-h-[calc(100%-48px)]">
57
57
  <Pane size={60} minSize={20} class="p-4">
58
- <Alert
59
- type="info"
60
- title="For loops"
61
- tooltip="For loops"
62
- documentationLink="https://www.windmill.dev/docs/flows/flow_loops"
63
- class="mb-4"
64
- >
65
- Add steps inside the loop and specify an iterator expression that defines the sequence
66
- over which your subsequent steps will iterate.
67
- </Alert>
58
+ {#if !noEditor}
59
+ <Alert
60
+ type="info"
61
+ title="For loops"
62
+ tooltip="For loops"
63
+ documentationLink="https://www.windmill.dev/docs/flows/flow_loops"
64
+ class="mb-4"
65
+ size="xs"
66
+ >
67
+ Add steps inside the loop and specify an iterator expression that defines the sequence
68
+ over which your subsequent steps will iterate.
69
+ </Alert>
70
+ {/if}
71
+
68
72
  {#if mod.value.type === 'forloopflow'}
69
73
  <div class="flex flex-row gap-8 mt-2 mb-6">
70
74
  <div>
@@ -105,8 +109,9 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
105
109
  />
106
110
  </div>
107
111
  </div>
112
+
108
113
  <div class="my-2 flex flex-row gap-2 items-center">
109
- <div class="text-sm font-bold">
114
+ <div class="text-sm font-bold whitespace-nowrap">
110
115
  Iterator expression
111
116
  <Tooltip documentationLink="https://www.windmill.dev/docs/flows/flow_loops">
112
117
  List to iterate over.
@@ -133,7 +138,16 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
133
138
  pickableProperties={stepPropPicker.pickableProperties}
134
139
  />
135
140
  {/if}
141
+ <div class="flex w-full justify-end">
142
+ <Button
143
+ on:click={() => (previewOpen = true)}
144
+ startIcon={{ icon: Play }}
145
+ color="dark"
146
+ size="sm">Test an iteration</Button
147
+ >
148
+ </div>
136
149
  </div>
150
+
137
151
  {#if mod.value.iterator.type == 'javascript'}
138
152
  <!-- svelte-ignore a11y-no-static-element-interactions -->
139
153
  <div
@@ -175,11 +189,6 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
175
189
  />
176
190
  {/if}
177
191
  {/if}
178
- <div class="flex mt-4">
179
- <Button on:click={() => (previewOpen = true)} startIcon={{ icon: Play }} color="dark"
180
- >Test an iteration</Button
181
- >
182
- </div>
183
192
  </Pane>
184
193
  <Pane size={40} minSize={20} class="flex flex-col flex-1">
185
194
  <Tabs bind:selected>
@@ -47,6 +47,7 @@ export let previousModule;
47
47
  export let scriptKind = 'script';
48
48
  export let scriptTemplate = 'script';
49
49
  export let noEditor;
50
+ export let enableAi;
50
51
  let editor;
51
52
  let diffEditor;
52
53
  let modulePreview;
@@ -86,7 +87,14 @@ $: stepPropPicker = failureModule
86
87
  previousId: undefined,
87
88
  hasResume: false
88
89
  },
89
- extraLib: ''
90
+ extraLib: `
91
+ declare const error: {
92
+ message: string
93
+ name: string
94
+ stack: string
95
+ }
96
+
97
+ `
90
98
  }
91
99
  : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
92
100
  function onKeyDown(event) {
@@ -306,7 +314,7 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
306
314
  previousModuleId={previousModule?.id}
307
315
  bind:args={flowModule.value.input_transforms}
308
316
  extraLib={stepPropPicker.extraLib}
309
- enableAi
317
+ {enableAi}
310
318
  />
311
319
  </PropPickerWrapper>
312
320
  </div>
@@ -317,6 +325,7 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
317
325
  mod={flowModule}
318
326
  {editor}
319
327
  {diffEditor}
328
+ {noEditor}
320
329
  lang={flowModule.value['language'] ?? 'deno'}
321
330
  schema={$flowStateStore[$selectedId]?.schema ?? {}}
322
331
  />
@@ -390,6 +399,12 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
390
399
  bind:seconds={flowModule.value.concurrency_time_window_s}
391
400
  />
392
401
  </Label>
402
+ <Label label="Custom concurrency key">
403
+ <div class="text-tertiary text-xs"
404
+ >Custom concurrency keys can only be set as the setting of a workspace
405
+ script</div
406
+ >
407
+ </Label>
393
408
  {:else}
394
409
  <Alert type="warning" title="Limitation" size="xs">
395
410
  The concurrency limit of a workspace script is only settable in the script
@@ -9,6 +9,7 @@ declare const __propDef: {
9
9
  scriptKind?: "script" | "trigger" | "approval" | undefined;
10
10
  scriptTemplate?: "script" | "powershell" | "mysql" | "pgsql" | "docker" | undefined;
11
11
  noEditor: boolean;
12
+ enableAi: boolean;
12
13
  };
13
14
  events: {
14
15
  focus: FocusEvent;
@@ -122,11 +122,13 @@ async function createModuleFromScript(path, summary, kind, hash) {
122
122
  failureModule={$selectedId === 'failure'}
123
123
  {scriptKind}
124
124
  {scriptTemplate}
125
+ {enableAi}
125
126
  />
126
127
  {/if}
127
128
  {:else if flowModule.value.type === 'forloopflow'}
128
129
  {#each flowModule.value.modules as submodule, index (index)}
129
130
  <svelte:self
131
+ {noEditor}
130
132
  bind:flowModule={submodule}
131
133
  bind:parentModule={flowModule}
132
134
  previousModule={flowModule.value.modules[index - 1]}
@@ -142,6 +144,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
142
144
  {:else}
143
145
  {#each flowModule.value.default as submodule, index}
144
146
  <svelte:self
147
+ {noEditor}
145
148
  bind:flowModule={submodule}
146
149
  bind:parentModule={flowModule}
147
150
  previousModule={flowModule.value.default[index - 1]}
@@ -161,6 +164,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
161
164
  {:else}
162
165
  {#each branch.modules as submodule, index}
163
166
  <svelte:self
167
+ {noEditor}
164
168
  bind:flowModule={submodule}
165
169
  bind:parentModule={flowModule}
166
170
  previousModule={flowModule.value.branches[branchIndex].modules[index - 1]}
@@ -176,6 +180,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
176
180
  {:else}
177
181
  {#each branch.modules as submodule, index}
178
182
  <svelte:self
183
+ {noEditor}
179
184
  bind:flowModule={submodule}
180
185
  bind:parentModule={flowModule}
181
186
  previousModule={flowModule.value.branches[branchIndex].modules[index - 1]}
@@ -3,9 +3,40 @@ import SchemaForm from '../../SchemaForm.svelte';
3
3
  import Toggle from '../../Toggle.svelte';
4
4
  import { emptyString } from '../../../utils';
5
5
  import { getContext } from 'svelte';
6
- const { schedule, flowStore } = getContext('FlowEditorContext');
6
+ import { Alert, Button, Skeleton } from '../../common';
7
+ import ScheduleEditor from '../../ScheduleEditor.svelte';
8
+ import { ScheduleService } from '../../../gen';
9
+ import { workspaceStore } from '../../../stores';
10
+ import { Calendar } from 'lucide-svelte';
11
+ const { schedule, flowStore, initialPath } = getContext('FlowEditorContext');
12
+ let schedules = undefined;
13
+ async function loadSchedules() {
14
+ try {
15
+ schedules = (await ScheduleService.listSchedules({
16
+ workspace: $workspaceStore ?? '',
17
+ path: initialPath,
18
+ isFlow: true
19
+ })).filter((s) => s.path != initialPath);
20
+ }
21
+ catch (e) {
22
+ console.error('impossible to load schedules');
23
+ }
24
+ }
25
+ let scheduleEditor;
26
+ $: initialPath && loadSchedules();
7
27
  </script>
8
28
 
29
+ <div class="w-full py-2">
30
+ <!-- svelte-ignore a11y-autofocus -->
31
+ <input
32
+ autofocus
33
+ type="text"
34
+ placeholder="Schedule summary"
35
+ class="text-sm w-full font-semibold mb-4"
36
+ bind:value={$schedule.summary}
37
+ />
38
+ </div>
39
+
9
40
  <CronInput bind:schedule={$schedule.cron} bind:timezone={$schedule.timezone} />
10
41
  <div class="mt-10" />
11
42
  <SchemaForm schema={$flowStore.schema} bind:args={$schedule.args} />
@@ -20,3 +51,46 @@ const { schedule, flowStore } = getContext('FlowEditorContext');
20
51
  right: 'Schedule enabled'
21
52
  }}
22
53
  />
54
+ <Alert bgClass="my-4" type="warning" title="Changes only applied upon deploy">
55
+ Changes to the primary schedule are only applied upon deploy. Other schedules' changes are applied
56
+ immediately.
57
+ </Alert>
58
+
59
+ {#if initialPath != ''}
60
+ <ScheduleEditor
61
+ on:update={() => {
62
+ loadSchedules()
63
+ }}
64
+ bind:this={scheduleEditor}
65
+ />
66
+ <h2 class="pt-7">Other schedules</h2>
67
+ <div class="py-4 flex">
68
+ <Button
69
+ on:click={() => scheduleEditor?.openNew(true, initialPath)}
70
+ variant="border"
71
+ color="light"
72
+ size="xs"
73
+ startIcon={{ icon: Calendar }}
74
+ >
75
+ New Schedule
76
+ </Button>
77
+ </div>
78
+
79
+ {#if schedules}
80
+ {#if schedules.length == 0}
81
+ <div class="text-xs text-secondary px-2"> No other schedules </div>
82
+ {:else}
83
+ <div class="flex flex-col divide-y px-2 pt-2 max-w-lg">
84
+ {#each schedules as schedule (schedule.path)}
85
+ <div class="grid grid-cols-6 text-2xs items-center py-2"
86
+ ><div class="col-span-3 truncate">{schedule.path}</div><div>{schedule.schedule}</div>
87
+ <div>{schedule.enabled ? 'on' : 'off'}</div>
88
+ <button on:click={() => scheduleEditor?.openEdit(schedule.path, true)}>Edit</button>
89
+ </div>
90
+ {/each}
91
+ </div>
92
+ {/if}
93
+ {:else}
94
+ <Skeleton layout={[[8]]} />
95
+ {/if}
96
+ {/if}
@@ -483,6 +483,11 @@ let dirtyPath = false;
483
483
  bind:seconds={$flowStore.value.concurrency_time_window_s}
484
484
  />
485
485
  </Label>
486
+ <Label label="Custom concurrency key">
487
+ <div class="text-tertiary text-xs"
488
+ >Custom concurrency keys can only be set as the setting of a workspace script</div
489
+ >
490
+ </Label>
486
491
  </div>
487
492
  </Section>
488
493
  </TabContent>
@@ -32,8 +32,8 @@ export let text = 'Approval Help';
32
32
  resume url in the returned payload of the step. The UX will automatically adapt and show the
33
33
  prompt to the operator when running the flow. e.g:
34
34
  <Tabs selected="deno" class="pt-4">
35
- <Tab value="deno">TypeScript (Deno)</Tab>
36
35
  <Tab value="bun">TypeScript (Bun)</Tab>
36
+ <Tab value="deno">TypeScript (Deno)</Tab>
37
37
  <Tab value="python">Python</Tab>
38
38
 
39
39
  <svelte:fragment slot="content">
@@ -11,7 +11,7 @@ export declare function pickFlow(path: string, summary: string, id: string): Pro
11
11
  value: PathFlow;
12
12
  }, FlowModuleState]>;
13
13
  export declare function createInlineScriptModule(language: RawScript.language, kind: Script.kind, subkind: 'pgsql' | 'flow', id: string, summary?: string): Promise<[FlowModule, FlowModuleState]>;
14
- export declare function createLoop(id: string): Promise<[FlowModule, FlowModuleState]>;
14
+ export declare function createLoop(id: string, enabledAi: boolean): Promise<[FlowModule, FlowModuleState]>;
15
15
  export declare function createBranches(id: string): Promise<[FlowModule, FlowModuleState]>;
16
16
  export declare function createBranchAll(id: string): Promise<[FlowModule, FlowModuleState]>;
17
17
  export declare function createFlow(id: string): Promise<[FlowModule, FlowModuleState]>;