windmill-components 1.532.0 → 1.542.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 (371) hide show
  1. package/package/components/AIProviderPicker.svelte +181 -0
  2. package/package/components/AIProviderPicker.svelte.d.ts +15 -0
  3. package/package/components/ArgInfo.svelte +2 -2
  4. package/package/components/ArgInput.svelte +60 -27
  5. package/package/components/ArgInput.svelte.d.ts +3 -3
  6. package/package/components/AssignableTagsInner.svelte +89 -3
  7. package/package/components/Auth0Setting.svelte +8 -3
  8. package/package/components/ConcurrentJobsChart.svelte +36 -48
  9. package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
  10. package/package/components/CustomPopover.svelte.d.ts +1 -1
  11. package/package/components/Dev.svelte +5 -4
  12. package/package/components/DiffDrawer.svelte +2 -2
  13. package/package/components/DiffEditor.svelte +34 -37
  14. package/package/components/DiffEditor.svelte.d.ts +23 -39
  15. package/package/components/DropdownSelect.svelte +26 -0
  16. package/package/components/DropdownSelect.svelte.d.ts +11 -0
  17. package/package/components/DropdownV2Inner.svelte +1 -1
  18. package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
  19. package/package/components/DynamicInput.svelte.d.ts +11 -0
  20. package/package/components/EditableSchemaForm.svelte +155 -140
  21. package/package/components/EditableSchemaForm.svelte.d.ts +6 -7
  22. package/package/components/Editor.svelte +101 -87
  23. package/package/components/Editor.svelte.d.ts +7 -1
  24. package/package/components/EditorBar.svelte +2 -5
  25. package/package/components/FlowBuilder.svelte +10 -7
  26. package/package/components/FlowLogRow.svelte +64 -0
  27. package/package/components/FlowLogRow.svelte.d.ts +15 -0
  28. package/package/components/FlowLogViewer.svelte +406 -373
  29. package/package/components/FlowLogViewer.svelte.d.ts +5 -1
  30. package/package/components/FlowLogViewerWrapper.svelte +44 -1
  31. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  32. package/package/components/FlowPreviewContent.svelte +3 -3
  33. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  34. package/package/components/FlowStatusViewer.svelte +28 -0
  35. package/package/components/FlowStatusViewerInner.svelte +106 -23
  36. package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
  37. package/package/components/FolderPicker.svelte +1 -1
  38. package/package/components/InputTransformForm.svelte +20 -10
  39. package/package/components/JobArgs.svelte +1 -1
  40. package/package/components/JobLoader.svelte.d.ts +1 -1
  41. package/package/components/JobStatus.svelte +2 -0
  42. package/package/components/LogSnippetViewer.svelte +3 -3
  43. package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
  44. package/package/components/LogViewer.svelte +87 -71
  45. package/package/components/LogViewer.svelte.d.ts +1 -0
  46. package/package/components/ModulePreview.svelte +2 -1
  47. package/package/components/ModulePreview.svelte.d.ts +1 -0
  48. package/package/components/ModulePreviewForm.svelte +72 -65
  49. package/package/components/ModulePreviewResultViewer.svelte +13 -18
  50. package/package/components/ModuleTest.svelte +6 -5
  51. package/package/components/ModuleTest.svelte.d.ts +1 -0
  52. package/package/components/OktaSetting.svelte +8 -3
  53. package/package/components/Path.svelte +7 -1
  54. package/package/components/Path.svelte.d.ts +1 -1
  55. package/package/components/Portal.svelte +11 -7
  56. package/package/components/Portal.svelte.d.ts +19 -39
  57. package/package/components/PrefixedInput.svelte +120 -0
  58. package/package/components/PrefixedInput.svelte.d.ts +8 -0
  59. package/package/components/QueuePosition.svelte +81 -0
  60. package/package/components/QueuePosition.svelte.d.ts +8 -0
  61. package/package/components/ResourceNarrowing.svelte +13 -0
  62. package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
  63. package/package/components/ResourceTypePicker.svelte +49 -74
  64. package/package/components/RunChart.svelte +74 -89
  65. package/package/components/RunChart.svelte.d.ts +10 -22
  66. package/package/components/RunForm.svelte +2 -2
  67. package/package/components/RunForm.svelte.d.ts +1 -1
  68. package/package/components/RunFormAdvancedPopup.svelte +13 -1
  69. package/package/components/S3FilePicker.svelte +1 -1
  70. package/package/components/SchemaForm.svelte +1 -2
  71. package/package/components/SchemaForm.svelte.d.ts +2 -2
  72. package/package/components/ScriptBuilder.svelte +3 -2
  73. package/package/components/ScriptEditor.svelte +25 -10
  74. package/package/components/ScriptEditor.svelte.d.ts +2 -1
  75. package/package/components/ServiceLogsInner.svelte +1 -1
  76. package/package/components/ShareModal.svelte.d.ts +1 -1
  77. package/package/components/SimpleEditor.svelte +4 -68
  78. package/package/components/StringTypeNarrowing.svelte +5 -10
  79. package/package/components/TemplateEditor.svelte +2 -16
  80. package/package/components/TimeAgo.svelte +1 -1
  81. package/package/components/TimeAgo.svelte.d.ts +1 -0
  82. package/package/components/Toggle.svelte +2 -1
  83. package/package/components/Toggle.svelte.d.ts +2 -1
  84. package/package/components/WorkerRepl.svelte +1 -1
  85. package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
  86. package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
  87. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
  88. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
  89. package/package/components/apps/components/display/table/utils.js +36 -5
  90. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
  91. package/package/components/apps/components/layout/AppModal.svelte +2 -2
  92. package/package/components/apps/editor/AppEditor.svelte +4 -3
  93. package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
  94. package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
  95. package/package/components/apps/editor/SettingsPanel.svelte +2 -2
  96. package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
  97. package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
  98. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
  99. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  100. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +0 -1
  102. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  103. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +29 -4
  104. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
  105. package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
  106. package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
  107. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
  108. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
  109. package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
  110. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
  111. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
  112. package/package/components/assets/JobAssetsViewer.svelte +28 -24
  113. package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
  114. package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
  115. package/package/components/common/OnChange.svelte.d.ts +11 -4
  116. package/package/components/common/badge/Badge.svelte +9 -2
  117. package/package/components/common/badge/Badge.svelte.d.ts +2 -1
  118. package/package/components/common/button/model.d.ts +1 -1
  119. package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
  120. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
  121. package/package/components/common/drawer/Disposable.svelte +45 -26
  122. package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
  123. package/package/components/common/drawer/Drawer.svelte +17 -14
  124. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  125. package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
  126. package/package/components/common/modal/Modal.svelte.d.ts +1 -1
  127. package/package/components/common/tabs/TabContent.svelte +2 -7
  128. package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
  129. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
  130. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  131. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
  132. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  133. package/package/components/copilot/MetadataGen.svelte +14 -3
  134. package/package/components/copilot/chat/AIChatInput.svelte +0 -1
  135. package/package/components/copilot/chat/AIChatManager.svelte.js +26 -104
  136. package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
  137. package/package/components/copilot/chat/AvailableContextList.svelte +192 -66
  138. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -2
  139. package/package/components/copilot/chat/ContextElementBadge.svelte +3 -3
  140. package/package/components/copilot/chat/ContextManager.svelte.js +36 -13
  141. package/package/components/copilot/chat/ContextTextarea.svelte +21 -48
  142. package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
  143. package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
  144. package/package/components/copilot/chat/anthropic.d.ts +15 -0
  145. package/package/components/copilot/chat/anthropic.js +208 -0
  146. package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
  147. package/package/components/copilot/chat/api/apiTools.js +10 -7
  148. package/package/components/copilot/chat/api/core.d.ts +1 -1
  149. package/package/components/copilot/chat/api/core.js +7 -2
  150. package/package/components/copilot/chat/ask/core.d.ts +1 -1
  151. package/package/components/copilot/chat/ask/core.js +7 -2
  152. package/package/components/copilot/chat/context.d.ts +7 -2
  153. package/package/components/copilot/chat/flow/FlowAIChat.svelte +110 -8
  154. package/package/components/copilot/chat/flow/core.d.ts +12 -1
  155. package/package/components/copilot/chat/flow/core.js +133 -5
  156. package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
  157. package/package/components/copilot/chat/flow/uiIntents.js +5 -0
  158. package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
  159. package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
  160. package/package/components/copilot/chat/monaco-adapter.d.ts +23 -4
  161. package/package/components/copilot/chat/monaco-adapter.js +55 -16
  162. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  163. package/package/components/copilot/chat/navigator/core.js +7 -2
  164. package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
  165. package/package/components/copilot/chat/script/core.d.ts +5 -4
  166. package/package/components/copilot/chat/script/core.js +134 -21
  167. package/package/components/copilot/chat/shared.d.ts +10 -9
  168. package/package/components/copilot/chat/shared.js +24 -12
  169. package/package/components/copilot/lib.d.ts +29 -8
  170. package/package/components/copilot/lib.js +211 -31
  171. package/package/components/copilot/shared.d.ts +1 -1
  172. package/package/components/copilot/shared.js +16 -10
  173. package/package/components/flows/FlowEditor.svelte +4 -2
  174. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  175. package/package/components/flows/FlowModuleIcon.svelte +8 -8
  176. package/package/components/flows/common/FlowCardHeader.svelte +4 -1
  177. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
  178. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
  179. package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
  180. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
  181. package/package/components/flows/content/FlowInput.svelte +36 -39
  182. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
  183. package/package/components/flows/content/FlowLoop.svelte +7 -0
  184. package/package/components/flows/content/FlowModuleComponent.svelte +42 -46
  185. package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
  186. package/package/components/flows/content/FlowModuleScript.svelte +1 -1
  187. package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
  188. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -18
  189. package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
  190. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
  191. package/package/components/flows/content/FlowRetries.svelte +108 -3
  192. package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
  193. package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
  194. package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
  195. package/package/components/flows/dfs.d.ts +1 -1
  196. package/package/components/flows/dfs.js +6 -6
  197. package/package/components/flows/flowInfers.js +15 -42
  198. package/package/components/flows/flowStateUtils.svelte.js +1 -2
  199. package/package/components/flows/flowStore.d.ts +45 -1
  200. package/package/components/flows/flowStore.js +1 -1
  201. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  202. package/package/components/flows/map/FlowModuleSchemaItem.svelte +73 -80
  203. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
  204. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
  205. package/package/components/flows/map/InsertModuleButton.svelte +1 -0
  206. package/package/components/flows/map/InsertModuleInner.svelte +12 -15
  207. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
  208. package/package/components/flows/map/MapItem.svelte +8 -4
  209. package/package/components/flows/map/VirtualItem.svelte +1 -1
  210. package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
  211. package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
  212. package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
  213. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
  214. package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
  215. package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
  216. package/package/components/flows/types.d.ts +16 -3
  217. package/package/components/flows/utils.js +3 -0
  218. package/package/components/git_sync/DetectionFlow.svelte +15 -17
  219. package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
  220. package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
  221. package/package/components/graph/FlowGraphV2.svelte +1 -1
  222. package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
  223. package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
  224. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
  225. package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
  226. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
  227. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
  228. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
  229. package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
  230. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
  231. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
  232. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
  233. package/package/components/home/ItemsList.svelte +17 -13
  234. package/package/components/home/TreeView.svelte +21 -27
  235. package/package/components/home/TreeView.svelte.d.ts +2 -29
  236. package/package/components/home/TreeViewRoot.svelte +11 -23
  237. package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
  238. package/package/components/icons/GitIcon.svelte +10 -2
  239. package/package/components/icons/GitIcon.svelte.d.ts +1 -0
  240. package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
  241. package/package/components/meltComponents/Popover.svelte +23 -3
  242. package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
  243. package/package/components/monacoLanguagesOptions.d.ts +3 -0
  244. package/package/components/monacoLanguagesOptions.js +109 -0
  245. package/package/components/propertyPicker/ObjectViewer.svelte +18 -5
  246. package/package/components/propertyPicker/PropPicker.svelte +1 -1
  247. package/package/components/propertyPicker/utils.js +14 -7
  248. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
  249. package/package/components/runs/JobRunsPreview.svelte +212 -177
  250. package/package/components/runs/JobsLoader.svelte +2 -2
  251. package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
  252. package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
  253. package/package/components/runs/RunBadges.svelte +100 -0
  254. package/package/components/runs/RunBadges.svelte.d.ts +12 -0
  255. package/package/components/runs/RunLabels.svelte +86 -0
  256. package/package/components/runs/RunLabels.svelte.d.ts +10 -0
  257. package/package/components/runs/RunOption.svelte +20 -0
  258. package/package/components/runs/RunOption.svelte.d.ts +10 -0
  259. package/package/components/runs/RunRow.svelte +239 -151
  260. package/package/components/runs/RunRow.svelte.d.ts +12 -9
  261. package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
  262. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
  263. package/package/components/runs/RunsFilter.svelte +369 -243
  264. package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
  265. package/package/components/runs/RunsQueue.svelte +96 -25
  266. package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
  267. package/package/components/runs/RunsTable.svelte +62 -71
  268. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  269. package/package/components/runs/runs-grid.css +95 -0
  270. package/package/components/schema/AddPropertyV2.svelte +2 -7
  271. package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
  272. package/package/components/schema/EditableSchemaDrawer.svelte +121 -127
  273. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
  274. package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
  275. package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
  276. package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
  277. package/package/components/schema/FlowPropertyEditor.svelte +195 -236
  278. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  279. package/package/components/schema/PropertyEditor.svelte +33 -35
  280. package/package/components/schema/SchemaFormDND.svelte +11 -10
  281. package/package/components/schema/SchemaFormDND.svelte.d.ts +4 -3
  282. package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
  283. package/package/components/search/GlobalSearchModal.svelte +8 -1
  284. package/package/components/select/DraggableTags.svelte.d.ts +17 -7
  285. package/package/components/select/MultiSelect.svelte.d.ts +21 -11
  286. package/package/components/select/Select.svelte +2 -1
  287. package/package/components/select/Select.svelte.d.ts +25 -13
  288. package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
  289. package/package/components/settings/PremiumInfo.svelte +7 -2
  290. package/package/components/settings/TokenDisplay.svelte +1 -1
  291. package/package/components/sidebar/OperatorMenu.svelte +5 -0
  292. package/package/components/sidebar/SidebarContent.svelte +48 -2
  293. package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
  294. package/package/components/toast.js +6 -3
  295. package/package/components/triggers/AddTriggersButton.svelte +7 -6
  296. package/package/components/triggers/CaptureWrapper.svelte +21 -16
  297. package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
  298. package/package/components/triggers/TriggerLabel.svelte +8 -0
  299. package/package/components/triggers/TriggerTokens.svelte +1 -1
  300. package/package/components/triggers/TriggersEditor.svelte +9 -5
  301. package/package/components/triggers/TriggersTable.svelte +2 -2
  302. package/package/components/triggers/TriggersWrapper.svelte +17 -5
  303. package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
  304. package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
  305. package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
  306. package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
  307. package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
  308. package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
  309. package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
  310. package/package/components/triggers/email/EmailCapture.svelte +39 -0
  311. package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
  312. package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
  313. package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
  314. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
  315. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
  316. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
  317. package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
  318. package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
  319. package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
  320. package/package/components/triggers/email/utils.d.ts +4 -0
  321. package/package/components/triggers/email/utils.js +52 -0
  322. package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
  323. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  324. package/package/components/triggers/http/utils.js +1 -1
  325. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
  326. package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
  327. package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
  328. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  329. package/package/components/triggers/triggers.svelte.js +24 -2
  330. package/package/components/triggers/utils.js +19 -5
  331. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
  332. package/package/components/triggers.d.ts +1 -1
  333. package/package/components/triggers.js +2 -0
  334. package/package/components/wizards/AgGridWizard.svelte +85 -80
  335. package/package/components/workspaceSettings/AISettings.svelte +74 -22
  336. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  337. package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
  338. package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
  339. package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
  340. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
  341. package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
  342. package/package/gen/core/OpenAPI.js +1 -1
  343. package/package/gen/schemas.gen.d.ts +142 -3
  344. package/package/gen/schemas.gen.js +144 -3
  345. package/package/gen/services.gen.d.ts +129 -1
  346. package/package/gen/services.gen.js +267 -1
  347. package/package/gen/types.gen.d.ts +434 -8
  348. package/package/hubPaths.json +6 -2
  349. package/package/infer.js +1 -1
  350. package/package/keyboardChain.d.ts +5 -0
  351. package/package/keyboardChain.js +40 -0
  352. package/package/script_helpers.d.ts +2 -2
  353. package/package/script_helpers.js +2 -0
  354. package/package/services/JobManager.js +2 -2
  355. package/package/stores.d.ts +4 -1
  356. package/package/stores.js +16 -6
  357. package/package/utils/workspaceHierarchy.d.ts +27 -0
  358. package/package/utils/workspaceHierarchy.js +101 -0
  359. package/package/utils.d.ts +6 -3
  360. package/package/utils.js +30 -15
  361. package/package/workspace_settings.js +2 -3
  362. package/package.json +10 -12
  363. package/package/components/DynSelect.svelte.d.ts +0 -11
  364. package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
  365. package/package/components/ObjectTypeNarrowing.svelte +0 -18
  366. package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
  367. package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
  368. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
  369. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
  370. package/package/components/details/EmailTriggerPanel.svelte +0 -76
  371. package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
@@ -11,12 +11,13 @@ import { Button, Drawer, DrawerContent } from './common';
11
11
  import { copyToClipboard } from '../utils';
12
12
  import { base } from '../base';
13
13
  import { workspaceStore } from '../stores';
14
- import AnsiUp from 'ansi_up';
14
+ import { AnsiUp } from 'ansi_up';
15
15
  import NoWorkerWithTagWarning from './runs/NoWorkerWithTagWarning.svelte';
16
16
  import { JobService } from '../gen';
17
17
  import Tooltip from './Tooltip.svelte';
18
18
  import { twMerge } from 'tailwind-merge';
19
- let { content, isLoading, duration = undefined, mem = undefined, wrapperClass = '', jobId = undefined, tag, small = false, drawerOpen = $bindable(false), noMaxH = false, noAutoScroll = false, download = true, customEmptyMessage = 'No logs are available yet', tagLabel = undefined, noPadding = false } = $props();
19
+ import QueuePosition from './QueuePosition.svelte';
20
+ let { content, isLoading, duration = undefined, mem = undefined, wrapperClass = '', jobId = undefined, tag, small = false, drawerOpen = $bindable(false), noMaxH = false, noAutoScroll = false, download = true, customEmptyMessage = 'No logs are available yet', tagLabel = undefined, noPadding = false, navigationId = undefined } = $props();
20
21
  // @ts-ignore
21
22
  const ansi_up = $state(new AnsiUp());
22
23
  ansi_up.use_classes = true;
@@ -157,78 +158,88 @@ let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != unde
157
158
  </DrawerContent>
158
159
  </Drawer>
159
160
 
160
- <div class="relative w-full h-full {wrapperClass}">
161
- <div
162
- bind:this={div}
163
- class="w-full h-full overflow-auto relative bg-surface-secondary {noMaxH ? '' : 'max-h-screen'}"
164
- >
165
- <div class="sticky z-10 top-0 right-0 w-full flex flex-row-reverse justify-between text-sm">
166
- <div class="flex gap-2 pl-0.5 bg-surface-secondary">
167
- {#if jobId && download}
168
- <div class="flex items-center">
169
- <a
170
- class="text-primary pb-0.5"
171
- target="_blank"
172
- href="{base}/api/w/{$workspaceStore}/jobs_u/get_logs/{jobId}"
173
- download="windmill_logs_{jobId}.txt"
174
- ><Download size="14" />
175
- </a>
176
- </div>
177
- {/if}
178
- <button onclick={logViewer.openDrawer}><Expand size="12" /></button>
179
- {#if !noAutoScroll}
180
- <div
181
- class="{small ? '' : 'py-2'} pr-2 {small
182
- ? '!text-2xs'
183
- : '!text-xs'} flex gap-2 text-tertiary items-center"
184
- >
185
- Auto scroll
186
- <input class="windmillapp" type="checkbox" bind:checked={scroll} />
187
- </div>
188
- {/if}
189
- </div>
190
- </div>
191
- {#if isLoading}
192
- <div class="flex gap-2 absolute top-2 left-2 items-center z-10">
193
- <Loader2 class="animate-spin" />
194
- {#if tag}
195
- <div class="flex flex-row items-center gap-1">
196
- <div class="text-secondary {small ? '!text-2xs' : '!text-xs'}"
197
- >{tagLabel ?? 'tag'}: {tag}</div
161
+ <div class="w-full h-full {wrapperClass}">
162
+ <div class="w-full h-full relative">
163
+ <div
164
+ bind:this={div}
165
+ class="w-full h-full overflow-auto bg-surface-secondary pt-4 {noMaxH ? '' : 'max-h-screen'}"
166
+ data-nav-id={navigationId}
167
+ >
168
+ <div class="absolute z-10 top-0 right-0 flex flex-row-reverse justify-between text-sm">
169
+ <div class="flex gap-2">
170
+ {#if jobId && download}
171
+ <div class="flex items-center">
172
+ <a
173
+ class="text-primary pb-0.5"
174
+ target="_blank"
175
+ href="{base}/api/w/{$workspaceStore}/jobs_u/get_logs/{jobId}"
176
+ download="windmill_logs_{jobId}.txt"
177
+ ><Download size="14" />
178
+ </a>
179
+ </div>
180
+ {/if}
181
+ <button onclick={logViewer.openDrawer}><Expand size="12" /></button>
182
+ {#if !noAutoScroll}
183
+ <div
184
+ class="{small ? '' : 'py-2'} pr-2 {small
185
+ ? '!text-2xs'
186
+ : '!text-xs'} flex gap-2 text-tertiary items-center"
198
187
  >
199
- <NoWorkerWithTagWarning {tagLabel} {tag} />
200
- </div>
201
- {/if}
188
+ Auto scroll
189
+ <input class="windmillapp" type="checkbox" bind:checked={scroll} />
190
+ </div>
191
+ {/if}
192
+ </div>
202
193
  </div>
203
- {:else if duration}
204
- <span
205
- class="absolute {small ? '!text-2xs' : '!text-xs'} text-tertiary dark:text-gray-400 {small
206
- ? 'top-0'
207
- : 'top-2'} left-2">took {duration}ms</span
208
- >
209
- {/if}
210
- {#if mem}
211
- <span
212
- class="absolute {small ? '!text-2xs' : '!text-xs'} text-tertiary dark:text-gray-400 {small
213
- ? 'top-0'
214
- : 'top-2'} left-36">mem peak: {(mem / 1024).toPrecision(4)}MB</span
194
+ {#if isLoading}
195
+ <div class="flex gap-2 absolute top-2 left-2 items-center z-10">
196
+ <Loader2 class="animate-spin" />
197
+ {#if tag}
198
+ <div class="flex flex-row items-center gap-1">
199
+ <div class="text-secondary {small ? '!text-2xs' : '!text-xs'}"
200
+ >{tagLabel ?? 'tag'}: {tag}</div
201
+ >
202
+ <NoWorkerWithTagWarning {tagLabel} {tag} />
203
+ </div>
204
+ {/if}
205
+ {#if jobId}
206
+ <QueuePosition {jobId} />
207
+ {/if}
208
+ </div>
209
+ {:else if duration}
210
+ <span
211
+ class={twMerge(
212
+ 'absolute text-tertiary dark:text-gray-400',
213
+ small ? '!text-2xs' : '!text-xs',
214
+ small ? 'top-0' : 'top-2',
215
+ noPadding ? '' : 'left-2'
216
+ )}>took {duration}ms</span
217
+ >
218
+ {/if}
219
+ {#if mem}
220
+ <span
221
+ class="absolute {small ? '!text-2xs' : '!text-xs'} text-tertiary dark:text-gray-400 {small
222
+ ? 'top-0'
223
+ : 'top-2'} left-36">mem peak: {(mem / 1024).toPrecision(4)}MB</span
224
+ >
225
+ {/if}
226
+ <pre
227
+ class={twMerge(
228
+ 'whitespace-pre break-words w-full',
229
+ small ? '!text-2xs' : '!text-xs',
230
+ noPadding ? '' : 'p-2'
231
+ )}
232
+ >{#if content}{@const len =
233
+ (content?.length ?? 0) +
234
+ (loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button
235
+ onclick={getStoreLogs}
236
+ >Show more... &nbsp;<Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
237
+ ><br />{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)<br
238
+ /><button onclick={() => showMoreTruncate(len)}>Show more..</button><br />{/if}<span
239
+ >{@html html}</span
240
+ >{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
215
241
  >
216
- {/if}
217
- <pre
218
- class={twMerge(
219
- 'whitespace-pre break-words w-full',
220
- small ? '!text-2xs' : '!text-xs',
221
- noPadding ? '' : 'p-2'
222
- )}
223
- >{#if content}{@const len =
224
- (content?.length ?? 0) +
225
- (loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button onclick={getStoreLogs}
226
- >Show more... &nbsp;<Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
227
- ><br />{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)<br
228
- /><button onclick={() => showMoreTruncate(len)}>Show more..</button><br />{/if}<span
229
- >{@html html}</span
230
- >{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
231
- >
242
+ </div>
232
243
  </div>
233
244
  </div>
234
245
 
@@ -435,4 +446,9 @@ let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != unde
435
446
  }
436
447
  :global(.dark) :global(.ansi-bright-white-bg) {
437
448
  background-color: rgb(229, 233, 240);
449
+ }
450
+
451
+ :global([data-nav-id]:focus-visible) {
452
+ outline: none;
453
+ outline-offset: 0;
438
454
  }</style>
@@ -14,6 +14,7 @@ interface Props {
14
14
  customEmptyMessage?: string;
15
15
  tagLabel?: string;
16
16
  noPadding?: boolean;
17
+ navigationId?: string;
17
18
  }
18
19
  declare const LogViewer: import("svelte").Component<Props, {
19
20
  scrollToBottom: () => void;
@@ -4,7 +4,7 @@ import Button from './common/button/Button.svelte';
4
4
  import ModulePreviewForm from './ModulePreviewForm.svelte';
5
5
  import ModuleTest from './ModuleTest.svelte';
6
6
  import { getContext } from 'svelte';
7
- let { mod, schema, pickableProperties, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined), focusArg = undefined } = $props();
7
+ let { mod, schema, pickableProperties, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined), focusArg = undefined, onJobDone } = $props();
8
8
  const { flowStore } = getContext('FlowEditorContext');
9
9
  let moduleTest = $state();
10
10
  export function runTestWithStepArgs() {
@@ -19,6 +19,7 @@ export function runTestWithStepArgs() {
19
19
  bind:testIsLoading
20
20
  bind:scriptProgress
21
21
  bind:this={moduleTest}
22
+ {onJobDone}
22
23
  />
23
24
 
24
25
  <div class="p-4">
@@ -12,6 +12,7 @@ interface Props {
12
12
  noEditor?: boolean;
13
13
  scriptProgress?: any;
14
14
  focusArg?: string;
15
+ onJobDone?: () => void;
15
16
  }
16
17
  declare const ModulePreview: import("svelte").Component<Props, {
17
18
  runTestWithStepArgs: () => void;
@@ -1,13 +1,13 @@
1
- <script lang="ts">import { allTrue, sendUserToast } from '../utils';
1
+ <script lang="ts">import { allTrue } from '../utils';
2
2
  import { RefreshCw } from 'lucide-svelte';
3
3
  import ArgInput from './ArgInput.svelte';
4
4
  import { Button } from './common';
5
- import { getContext, onMount, untrack } from 'svelte';
5
+ import { getContext, untrack } from 'svelte';
6
6
  import { evalValue } from './flows/utils';
7
7
  import { getResourceTypes } from './resourceTypesStore';
8
8
  import { twMerge } from 'tailwind-merge';
9
9
  let { schema, mod, pickableProperties, isValid = $bindable(true), autofocus = false, focusArg = undefined } = $props();
10
- const { testSteps, flowStateStore, flowStore, previewArgs } = getContext('FlowEditorContext');
10
+ const { stepsInputArgs, flowStateStore, flowStore, previewArgs } = getContext('FlowEditorContext');
11
11
  let inputCheck = $state({});
12
12
  $effect(() => {
13
13
  isValid = allTrue(inputCheck) ?? false;
@@ -17,11 +17,11 @@ $effect(() => {
17
17
  let lkeys = Object.keys(schema?.properties ?? {});
18
18
  if (schema?.properties && JSON.stringify(lkeys) != JSON.stringify(keys)) {
19
19
  keys = lkeys;
20
- untrack(() => testSteps?.removeExtraKey(mod.id, keys));
20
+ untrack(() => stepsInputArgs?.removeExtraKey(mod.id, keys));
21
21
  }
22
22
  });
23
23
  function plugIt(argName) {
24
- testSteps?.setEvaluatedStepArg(mod.id, argName, $state.snapshot(evalValue(argName, mod, pickableProperties, true)));
24
+ stepsInputArgs?.setEvaluatedStepArg(mod.id, argName, $state.snapshot(evalValue(argName, mod, pickableProperties, true)));
25
25
  }
26
26
  let editor = $state({});
27
27
  // Animation and highlighting for focusArg
@@ -53,70 +53,77 @@ async function loadResourceTypes() {
53
53
  resourceTypes = await getResourceTypes();
54
54
  }
55
55
  loadResourceTypes();
56
- onMount(() => {
57
- if (!testSteps) {
58
- sendUserToast('testSteps module not initialized. Preview will not work.', true);
56
+ let initialized = $state(false);
57
+ $effect.pre(() => {
58
+ if (!initialized) {
59
+ if (stepsInputArgs) {
60
+ stepsInputArgs?.updateStepArgs(mod.id, flowStateStore.val, flowStore?.val, previewArgs?.val);
61
+ initialized = true;
62
+ }
59
63
  }
60
- testSteps?.updateStepArgs(mod.id, flowStateStore.val, flowStore?.val, previewArgs?.val);
61
64
  });
62
65
  </script>
63
66
 
64
67
  <div class="w-full pt-2" data-popover>
65
- {#if keys.length > 0}
66
- {#each keys as argName, i (argName)}
67
- {#if Object.keys(schema.properties ?? {}).includes(argName)}
68
- <div
69
- class={twMerge(
70
- 'flex gap-2',
71
- animateArg === argName && 'animate-pulse ring-2 ring-offset-2 ring-blue-500 rounded'
72
- )}
73
- data-arg={argName}
74
- >
75
- {#if schema?.properties?.[argName]}
76
- <ArgInput
77
- {resourceTypes}
78
- minW={false}
79
- autofocus={autofocus && !focusArg && i == 0}
80
- label={argName}
81
- description={schema.properties[argName].description}
82
- bind:value={
83
- () => testSteps?.getStepInputArgs(mod.id, argName),
84
- (v) => testSteps?.setStepInputArgs(mod.id, argName, v)
85
- }
86
- type={schema.properties[argName].type}
87
- oneOf={schema.properties[argName].oneOf}
88
- required={schema?.required?.includes(argName)}
89
- pattern={schema.properties[argName].pattern}
90
- bind:editor={editor[argName]}
91
- bind:valid={inputCheck[argName]}
92
- defaultValue={schema.properties[argName].default}
93
- enum_={schema.properties[argName].enum}
94
- format={schema.properties[argName].format}
95
- contentEncoding={schema.properties[argName].contentEncoding}
96
- properties={schema.properties[argName].properties}
97
- nestedRequired={schema.properties[argName].required}
98
- itemsType={schema.properties[argName].items}
99
- extra={schema.properties[argName]}
100
- nullable={schema.properties[argName].nullable}
101
- title={schema.properties[argName].title}
102
- placeholder={schema.properties[argName].placeholder}
103
- />
104
- {/if}
105
- {#if testSteps?.isArgManuallySet(mod.id, argName)}
106
- <div class="pt-6 mt-0.5">
107
- <Button
108
- on:click={() => {
109
- plugIt(argName)
110
- }}
111
- size="sm"
112
- variant="border"
113
- color="light"
114
- title="Re-evaluate input step"><RefreshCw size={14} /></Button
115
- >
116
- </div>
117
- {/if}
118
- </div>
119
- {/if}
120
- {/each}
68
+ {#if initialized}
69
+ {#if keys.length > 0}
70
+ {#each keys as argName, i (argName)}
71
+ {#if Object.keys(schema.properties ?? {}).includes(argName)}
72
+ <div
73
+ class={twMerge(
74
+ 'flex gap-2',
75
+ animateArg === argName && 'animate-pulse ring-2 ring-offset-2 ring-blue-500 rounded'
76
+ )}
77
+ data-arg={argName}
78
+ >
79
+ {#if schema?.properties?.[argName]}
80
+ <ArgInput
81
+ {resourceTypes}
82
+ minW={false}
83
+ autofocus={autofocus && !focusArg && i == 0}
84
+ label={argName}
85
+ description={schema.properties[argName].description}
86
+ bind:value={
87
+ () => stepsInputArgs?.getStepInputArgs(mod.id, argName),
88
+ (v) => stepsInputArgs?.setStepInputArgs(mod.id, argName, v)
89
+ }
90
+ type={schema.properties[argName].type}
91
+ oneOf={schema.properties[argName].oneOf}
92
+ required={schema?.required?.includes(argName)}
93
+ pattern={schema.properties[argName].pattern}
94
+ bind:editor={editor[argName]}
95
+ bind:valid={inputCheck[argName]}
96
+ defaultValue={schema.properties[argName].default}
97
+ enum_={schema.properties[argName].enum}
98
+ format={schema.properties[argName].format}
99
+ contentEncoding={schema.properties[argName].contentEncoding}
100
+ properties={schema.properties[argName].properties}
101
+ nestedRequired={schema.properties[argName].required}
102
+ itemsType={schema.properties[argName].items}
103
+ extra={schema.properties[argName]}
104
+ nullable={schema.properties[argName].nullable}
105
+ title={schema.properties[argName].title}
106
+ placeholder={schema.properties[argName].placeholder}
107
+ />
108
+ {/if}
109
+ {#if stepsInputArgs?.isArgManuallySet(mod.id, argName)}
110
+ <div class="pt-6 mt-0.5">
111
+ <Button
112
+ on:click={() => {
113
+ plugIt(argName)
114
+ }}
115
+ size="sm"
116
+ variant="border"
117
+ color="light"
118
+ title="Re-evaluate input step"><RefreshCw size={14} /></Button
119
+ >
120
+ </div>
121
+ {/if}
122
+ </div>
123
+ {/if}
124
+ {/each}
125
+ {/if}
126
+ {:else}
127
+ <div class="text-center text-sm text-tertiary"> Loading test step arguments... </div>
121
128
  {/if}
122
129
  </div>
@@ -7,18 +7,16 @@ import { Pane, Splitpanes } from 'svelte-splitpanes';
7
7
  import { getContext } from 'svelte';
8
8
  import { getStringError } from './copilot/chat/utils';
9
9
  import AiAgentLogViewer from './AIAgentLogViewer.svelte';
10
- let { lang, editor, diffEditor, loopStatus = undefined, lastJob = undefined, scriptProgress = $bindable(undefined), testJob = undefined, mod, testIsLoading = false, disableMock = false, disableHistory = false, onUpdateMock, loadingJob = false, tagLabel = undefined } = $props();
11
- const { testSteps } = getContext('FlowEditorContext');
12
- let selectedJob = $state(undefined);
13
- let preview = $state(undefined);
10
+ let { lang, editor, diffEditor, loopStatus = undefined, scriptProgress = $bindable(undefined), testJob = undefined, mod, testIsLoading = false, disableMock = false, disableHistory = false, onUpdateMock, loadingJob = false, tagLabel = undefined } = $props();
11
+ const { stepsInputArgs } = getContext('FlowEditorContext');
14
12
  let jobProgressReset = $state(() => { });
15
- $effect(() => {
16
- if (preview != undefined && testJob) {
17
- preview = undefined;
18
- }
19
- });
20
- let forceJson = $state(false);
13
+ let outputPickerInner = $state(undefined);
14
+ export function getOutputPickerInner() {
15
+ return outputPickerInner;
16
+ }
17
+ const selectedJob = $derived.by(() => outputPickerInner?.getSelectedJob?.() ?? undefined);
21
18
  const logJob = $derived(testJob ?? selectedJob);
19
+ const preview = $derived.by(() => outputPickerInner?.getPreview?.());
22
20
  </script>
23
21
 
24
22
  <Splitpanes horizontal>
@@ -33,7 +31,6 @@ const logJob = $derived(testJob ?? selectedJob);
33
31
  {/if}
34
32
 
35
33
  <OutputPickerInner
36
- {lastJob}
37
34
  {testJob}
38
35
  fullResult
39
36
  moduleId={mod.id}
@@ -41,24 +38,22 @@ const logJob = $derived(testJob ?? selectedJob);
41
38
  getLogs
42
39
  {onUpdateMock}
43
40
  mock={mod.mock}
44
- bind:forceJson
45
- bind:selectedJob
46
41
  isLoading={testIsLoading || loadingJob}
47
- bind:preview
48
42
  path={`path` in mod.value ? mod.value.path : ''}
49
43
  {loopStatus}
50
44
  {disableMock}
51
45
  {disableHistory}
46
+ bind:this={outputPickerInner}
52
47
  >
53
48
  {#snippet copilot_fix()}
54
- {#if lang && editor && diffEditor && testSteps.getStepArgs(mod.id) && selectedJob?.type === 'CompletedJob' && !selectedJob.success && getStringError(selectedJob.result)}
49
+ {#if lang && editor && diffEditor && stepsInputArgs.getStepArgs(mod.id) && selectedJob?.type === 'CompletedJob' && !selectedJob.success && getStringError(selectedJob.result)}
55
50
  <ScriptFix {lang} />
56
51
  {/if}
57
52
  {/snippet}
58
53
  </OutputPickerInner>
59
54
  </Pane>
60
55
  <Pane size={35} minSize={10}>
61
- {#if (mod.mock?.enabled && preview != 'job') || preview == 'mock'}
56
+ {#if (mod.mock?.enabled && preview !== 'job' && testJob?.type !== 'QueuedJob') || preview === 'mock'}
62
57
  <LogViewer
63
58
  small
64
59
  content={undefined}
@@ -82,9 +77,9 @@ const logJob = $derived(testJob ?? selectedJob);
82
77
  jobId={logJob?.id}
83
78
  duration={logJob?.['duration_ms']}
84
79
  mem={logJob?.['mem_peak']}
85
- content={logJob?.logs}
80
+ content={logJob?.['logs']}
86
81
  isLoading={(testIsLoading && logJob?.['running'] == false) || loadingJob}
87
- tag={logJob?.tag}
82
+ tag={logJob?.['tag']}
88
83
  {tagLabel}
89
84
  />
90
85
  {/if}
@@ -5,17 +5,17 @@ import { getContext } from 'svelte';
5
5
  import JobLoader, {} from './JobLoader.svelte';
6
6
  import { getStepHistoryLoaderContext } from './stepHistoryLoader.svelte';
7
7
  import { loadSchemaFromModule } from './flows/flowInfers';
8
- let { mod, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined) } = $props();
9
- const { flowStore, flowStateStore, pathStore, testSteps, previewArgs, modulesTestStates } = getContext('FlowEditorContext');
8
+ let { mod, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined), onJobDone } = $props();
9
+ const { flowStore, flowStateStore, pathStore, stepsInputArgs, previewArgs, modulesTestStates } = getContext('FlowEditorContext');
10
10
  let jobLoader = $state(undefined);
11
11
  let jobProgressReset = () => { };
12
12
  let stepHistoryLoader = getStepHistoryLoaderContext();
13
13
  export function runTestWithStepArgs() {
14
- runTest(testSteps.getStepArgs(mod.id));
14
+ runTest(stepsInputArgs.getStepArgs(mod.id));
15
15
  }
16
16
  export function loadArgsAndRunTest() {
17
- testSteps?.updateStepArgs(mod.id, flowStateStore.val, flowStore?.val, previewArgs?.val);
18
- runTest(testSteps.getStepArgs(mod.id));
17
+ stepsInputArgs?.updateStepArgs(mod.id, flowStateStore.val, flowStore?.val, previewArgs?.val);
18
+ runTest(stepsInputArgs.getStepArgs(mod.id));
19
19
  }
20
20
  export async function runTest(args) {
21
21
  // Not defined if JobProgressBar not loaded
@@ -92,6 +92,7 @@ function jobDone(testJob) {
92
92
  if (modulesTestStates.states[mod.id]) {
93
93
  modulesTestStates.states[mod.id].testJob = testJob;
94
94
  }
95
+ onJobDone?.();
95
96
  }
96
97
  export function cancelJob() {
97
98
  modulesTestStates.states[mod.id]?.cancel?.();
@@ -5,6 +5,7 @@ interface Props {
5
5
  testIsLoading?: boolean;
6
6
  noEditor?: boolean;
7
7
  scriptProgress?: any;
8
+ onJobDone?: () => void;
8
9
  }
9
10
  declare const ModuleTest: import("svelte").Component<Props, {
10
11
  runTestWithStepArgs: () => void;
@@ -1,10 +1,12 @@
1
- <script lang="ts">import CollapseLink from './CollapseLink.svelte';
1
+ <script lang="ts">import { untrack } from 'svelte';
2
+ import CollapseLink from './CollapseLink.svelte';
2
3
  import IconedResourceType from './IconedResourceType.svelte';
3
4
  import Toggle from './Toggle.svelte';
4
5
  import Tooltip from './Tooltip.svelte';
5
6
  import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
6
7
  import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
7
8
  let { value = $bindable() } = $props();
9
+ let lastValues = { domain: undefined, custom: undefined };
8
10
  function changeDomain(domain, custom) {
9
11
  if (value) {
10
12
  let baseUrl = custom ? `https://${domain}` : `https://${domain}.okta.com`;
@@ -25,8 +27,11 @@ function changeDomain(domain, custom) {
25
27
  }
26
28
  }
27
29
  let enabled = $derived(value != undefined);
28
- $effect(() => {
29
- changeDomain(value?.['domain'], value?.['custom']);
30
+ $effect.pre(() => {
31
+ if (value?.['domain'] != lastValues.domain || value?.['custom'] != lastValues.custom) {
32
+ lastValues = { domain: value?.['domain'], custom: value?.['custom'] };
33
+ untrack(() => changeDomain(value?.['domain'], value?.['custom']));
34
+ }
30
35
  });
31
36
  </script>
32
37
 
@@ -4,7 +4,7 @@ const lastMetaUsed = writable(undefined);
4
4
 
5
5
  <script lang="ts">import { pathToMeta } from '../common';
6
6
  import { localeConcatAnd, pluralize } from '../utils';
7
- import { AppService, FlowService, FolderService, ResourceService, ScheduleService, ScriptService, HttpTriggerService, VariableService, WebsocketTriggerService, KafkaTriggerService, PostgresTriggerService, NatsTriggerService, MqttTriggerService, SqsTriggerService, GcpTriggerService } from '../gen';
7
+ import { AppService, FlowService, FolderService, ResourceService, ScheduleService, ScriptService, HttpTriggerService, VariableService, WebsocketTriggerService, KafkaTriggerService, PostgresTriggerService, NatsTriggerService, MqttTriggerService, SqsTriggerService, GcpTriggerService, EmailTriggerService } from '../gen';
8
8
  import { superadmin, userStore, workspaceStore } from '../stores';
9
9
  import { createEventDispatcher, getContext, untrack } from 'svelte';
10
10
  import { writable } from 'svelte/store';
@@ -224,6 +224,12 @@ async function pathExists(path, kind) {
224
224
  path: path
225
225
  });
226
226
  }
227
+ else if (kind === 'email_trigger') {
228
+ return await EmailTriggerService.existsEmailTrigger({
229
+ workspace: $workspaceStore,
230
+ path: path
231
+ });
232
+ }
227
233
  else {
228
234
  return false;
229
235
  }
@@ -1,4 +1,4 @@
1
- type PathKind = 'resource' | 'script' | 'variable' | 'flow' | 'schedule' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'postgres_trigger' | 'nats_trigger' | 'mqtt_trigger' | 'sqs_trigger' | 'gcp_trigger';
1
+ type PathKind = 'resource' | 'script' | 'variable' | 'flow' | 'schedule' | 'app' | 'raw_app' | 'http_trigger' | 'websocket_trigger' | 'kafka_trigger' | 'postgres_trigger' | 'nats_trigger' | 'mqtt_trigger' | 'sqs_trigger' | 'gcp_trigger' | 'email_trigger';
2
2
  interface Props {
3
3
  fullNamePlaceholder?: string | undefined;
4
4
  namePlaceholder?: string;
@@ -1,4 +1,4 @@
1
- <script context="module">
1
+ <script module>
2
2
  import { tick } from 'svelte'
3
3
 
4
4
  export function portal(el, options) {
@@ -50,13 +50,17 @@
50
50
 
51
51
  <script>
52
52
  /**
53
- * DOM Element or CSS Selector
54
- * @type { HTMLElement|string}
53
+ * @typedef {Object} Props
54
+ * @property { HTMLElement|string} [target] - DOM Element or CSS Selector
55
+ * @property {any} [name]
56
+ * @property {string|undefined} [class]
57
+ * @property {import('svelte').Snippet} [children]
55
58
  */
56
- export let target = 'body'
57
- export let name = undefined
59
+
60
+ /** @type {Props} */
61
+ let { target = 'body', name = undefined, class: clazz = undefined, children } = $props()
58
62
  </script>
59
63
 
60
- <div use:portal={{ target, name }} hidden class={$$props.class}>
61
- <slot />
64
+ <div use:portal={{ target, name }} hidden class={clazz}>
65
+ {@render children?.()}
62
66
  </div>