windmill-components 1.542.5 → 1.555.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/package/aiStore.d.ts +13 -0
  2. package/package/aiStore.js +70 -0
  3. package/package/common.d.ts +6 -2
  4. package/package/components/AIAgentLogViewer.svelte +1 -1
  5. package/package/components/AIProviderPicker.svelte +25 -8
  6. package/package/components/ArgEnum.svelte +17 -7
  7. package/package/components/ArgEnum.svelte.d.ts +1 -0
  8. package/package/components/ArgInput.svelte +257 -188
  9. package/package/components/ArgInput.svelte.d.ts +4 -1
  10. package/package/components/ArrayTypeNarrowing.svelte +38 -32
  11. package/package/components/AutoscalingEvents.svelte +21 -5
  12. package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
  13. package/package/components/ChannelSelector.svelte +92 -18
  14. package/package/components/ChannelSelector.svelte.d.ts +2 -0
  15. package/package/components/ConnectionSection.svelte +12 -1
  16. package/package/components/DateTimeInput.svelte +8 -6
  17. package/package/components/DeployButton.svelte +1 -1
  18. package/package/components/Dev.svelte +24 -9
  19. package/package/components/Dev.svelte.d.ts +23 -1
  20. package/package/components/DisplayResult.svelte +36 -23
  21. package/package/components/DropdownV2.svelte +8 -2
  22. package/package/components/DropdownV2.svelte.d.ts +1 -0
  23. package/package/components/DynamicInput.svelte +10 -10
  24. package/package/components/EditableSchemaForm.svelte +28 -13
  25. package/package/components/Editor.svelte +2 -1
  26. package/package/components/EditorSettings.svelte +5 -5
  27. package/package/components/EditorSettings.svelte.d.ts +4 -18
  28. package/package/components/ErrorOrRecoveryHandler.svelte +14 -20
  29. package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
  30. package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
  31. package/package/components/FieldHeader.svelte +5 -7
  32. package/package/components/FirstStepInputs.svelte +1 -1
  33. package/package/components/FlowHistoryJobPicker.svelte +3 -0
  34. package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
  35. package/package/components/FlowJobResult.svelte +5 -5
  36. package/package/components/FlowLogRow.svelte +2 -2
  37. package/package/components/FlowLogViewer.svelte +228 -57
  38. package/package/components/FlowLogViewer.svelte.d.ts +16 -5
  39. package/package/components/FlowLogViewerWrapper.svelte +56 -3
  40. package/package/components/FlowLogViewerWrapper.svelte.d.ts +4 -3
  41. package/package/components/FlowLoopIterationPreview.svelte +4 -4
  42. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  43. package/package/components/FlowMetadata.svelte +3 -4
  44. package/package/components/FlowMetadata.svelte.d.ts +4 -18
  45. package/package/components/FlowPlugConnect.svelte +8 -2
  46. package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
  47. package/package/components/FlowPreviewContent.svelte +121 -94
  48. package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
  49. package/package/components/FlowStatusViewer.svelte +63 -59
  50. package/package/components/FlowStatusViewer.svelte.d.ts +2 -2
  51. package/package/components/FlowStatusViewerInner.svelte +186 -94
  52. package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -3
  53. package/package/components/FlowTimeline.svelte +110 -131
  54. package/package/components/FlowTimeline.svelte.d.ts +13 -4
  55. package/package/components/FlowTimelineBar.svelte +227 -0
  56. package/package/components/FlowTimelineBar.svelte.d.ts +24 -0
  57. package/package/components/FolderEditor.svelte +6 -7
  58. package/package/components/GroupEditor.svelte +148 -141
  59. package/package/components/GroupEditor.svelte.d.ts +5 -4
  60. package/package/components/InputTransformForm.svelte +193 -71
  61. package/package/components/InputTransformForm.svelte.d.ts +3 -0
  62. package/package/components/InputTransformSchemaForm.svelte +10 -5
  63. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  64. package/package/components/InstanceSetting.svelte +34 -51
  65. package/package/components/InstanceSettings.svelte +12 -21
  66. package/package/components/JobArgs.svelte +15 -16
  67. package/package/components/JobArgs.svelte.d.ts +4 -18
  68. package/package/components/JobLoader.svelte +23 -42
  69. package/package/components/JobLoader.svelte.d.ts +2 -0
  70. package/package/components/JobStatus.svelte +1 -1
  71. package/package/components/JobStatus.svelte.d.ts +4 -18
  72. package/package/components/JsonEditor.svelte +18 -9
  73. package/package/components/JsonEditor.svelte.d.ts +1 -1
  74. package/package/components/JsonInputs.svelte +1 -1
  75. package/package/components/ModulePreviewForm.svelte +23 -19
  76. package/package/components/ModulePreviewResultViewer.svelte +1 -7
  77. package/package/components/NextcloudSetting.svelte +6 -1
  78. package/package/components/NumberTypeNarrowing.svelte +32 -16
  79. package/package/components/ObjectStoreConfigSettings.svelte +27 -19
  80. package/package/components/Password.svelte +7 -11
  81. package/package/components/Password.svelte.d.ts +5 -20
  82. package/package/components/PasswordArgInput.svelte +35 -15
  83. package/package/components/PasswordArgInput.svelte.d.ts +4 -18
  84. package/package/components/Path.svelte +2 -8
  85. package/package/components/Path.svelte.d.ts +1 -1
  86. package/package/components/QueuePosition.svelte +6 -2
  87. package/package/components/ResourceEditor.svelte +3 -10
  88. package/package/components/ResourcePicker.svelte +85 -72
  89. package/package/components/ResourcePicker.svelte.d.ts +2 -0
  90. package/package/components/RunChart.svelte +1 -1
  91. package/package/components/RunForm.svelte +16 -21
  92. package/package/components/S3ArrayHelperButton.svelte +18 -0
  93. package/package/components/S3ArrayHelperButton.svelte.d.ts +9 -0
  94. package/package/components/S3FilePicker.svelte +1 -1
  95. package/package/components/SchemaForm.svelte +18 -10
  96. package/package/components/SchemaForm.svelte.d.ts +7 -1
  97. package/package/components/SchemaFormWithArgPicker.svelte +1 -1
  98. package/package/components/ScriptBuilder.svelte +2 -2
  99. package/package/components/ScriptEditor.svelte +9 -9
  100. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  101. package/package/components/ShareModal.svelte +4 -4
  102. package/package/components/SimpleEditor.svelte +6 -2
  103. package/package/components/SimpleEditor.svelte.d.ts +3 -0
  104. package/package/components/StringTypeNarrowing.svelte +44 -25
  105. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  106. package/package/components/SuperadminSettingsInner.svelte +3 -3
  107. package/package/components/TeamSelector.svelte +83 -37
  108. package/package/components/TeamSelector.svelte.d.ts +0 -1
  109. package/package/components/TemplateEditor.svelte +18 -9
  110. package/package/components/Toast.svelte +2 -7
  111. package/package/components/Toast.svelte.d.ts +4 -18
  112. package/package/components/Toggle.svelte +17 -7
  113. package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
  114. package/package/components/WorkerGroup.svelte +2 -14
  115. package/package/components/apps/components/buttons/AppButton.svelte +66 -38
  116. package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
  117. package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
  118. package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
  119. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +13 -4
  120. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +2 -2
  121. package/package/components/apps/components/display/table/utils.js +14 -4
  122. package/package/components/apps/components/helpers/RefreshButton.svelte +5 -1
  123. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -5
  124. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  125. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
  126. package/package/components/apps/components/layout/AppTabs.svelte +116 -71
  127. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  128. package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
  129. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
  130. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
  131. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
  132. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
  133. package/package/components/apps/editor/GridEditor.svelte +7 -2
  134. package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
  135. package/package/components/apps/editor/appDeploy.svelte.js +6 -0
  136. package/package/components/apps/editor/appUtils.d.ts +1 -0
  137. package/package/components/apps/editor/appUtils.js +30 -1
  138. package/package/components/apps/editor/component/ComponentInner.svelte +1 -0
  139. package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
  140. package/package/components/apps/editor/component/components.d.ts +19 -4
  141. package/package/components/apps/editor/component/components.js +23 -3
  142. package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
  143. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
  144. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  145. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  146. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  147. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +2 -0
  148. package/package/components/apps/editor/settingsPanel/GridTab.svelte +19 -1
  149. package/package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +3 -1
  150. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte +52 -0
  151. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte.d.ts +9 -0
  152. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
  153. package/package/components/auditLogs/AuditLogsFilters.svelte +7 -1
  154. package/package/components/auditLogs/AuditLogsTable.svelte +17 -7
  155. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  156. package/package/components/common/CloseButton.svelte +2 -2
  157. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  158. package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
  159. package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
  160. package/package/components/common/badge/CountBadge.svelte +29 -0
  161. package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
  162. package/package/components/common/button/Button.svelte +1 -0
  163. package/package/components/common/button/ConnectionButton.svelte +6 -1
  164. package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
  165. package/package/components/common/button/RefreshButton.svelte +8 -4
  166. package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
  167. package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
  168. package/package/components/common/fileInput/FileInput.svelte +7 -6
  169. package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
  170. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
  171. package/package/components/common/layout/List.svelte +3 -7
  172. package/package/components/common/layout/List.svelte.d.ts +7 -29
  173. package/package/components/common/popup/PopupV2.svelte +14 -25
  174. package/package/components/common/popup/PopupV2.svelte.d.ts +4 -2
  175. package/package/components/common/table/ScriptRow.svelte +22 -2
  176. package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
  177. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
  178. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  179. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
  180. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  181. package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
  182. package/package/components/copilot/CronGen.svelte +1 -1
  183. package/package/components/copilot/FlowCopilotInputsModal.svelte +26 -23
  184. package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
  185. package/package/components/copilot/IteratorGen.svelte +30 -25
  186. package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
  187. package/package/components/copilot/MetadataGen.svelte +4 -3
  188. package/package/components/copilot/PredicateGen.svelte +15 -12
  189. package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
  190. package/package/components/copilot/RegexGen.svelte +1 -1
  191. package/package/components/copilot/ScriptFix.svelte +1 -1
  192. package/package/components/copilot/ScriptGen.svelte +2 -1
  193. package/package/components/copilot/StepGenQuick.svelte +15 -16
  194. package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
  195. package/package/components/copilot/StepInputGen.svelte +50 -36
  196. package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
  197. package/package/components/copilot/StepInputsGen.svelte +18 -19
  198. package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
  199. package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
  200. package/package/components/copilot/autocomplete/request.js +1 -1
  201. package/package/components/copilot/chat/AIChat.svelte +2 -1
  202. package/package/components/copilot/chat/AIChatManager.svelte.js +5 -3
  203. package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
  204. package/package/components/copilot/chat/ProviderModelSelector.svelte +11 -10
  205. package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
  206. package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
  207. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -2
  208. package/package/components/copilot/chat/script/core.d.ts +4 -4
  209. package/package/components/copilot/chat/script/core.js +95 -35
  210. package/package/components/copilot/chat/shared.js +2 -1
  211. package/package/components/copilot/lib.d.ts +1 -0
  212. package/package/components/copilot/lib.js +7 -3
  213. package/package/components/custom_ui.d.ts +1 -0
  214. package/package/components/details/DetailPageLayout.svelte +3 -2
  215. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  216. package/package/components/flows/CreateActionsFlow.svelte +1 -1
  217. package/package/components/flows/FlowChatInterface.svelte +404 -0
  218. package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
  219. package/package/components/flows/FlowChatMessage.svelte +41 -0
  220. package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
  221. package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
  222. package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
  223. package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
  224. package/package/components/flows/FlowModuleIcon.svelte +10 -10
  225. package/package/components/flows/FlowProgressBar.svelte +16 -16
  226. package/package/components/flows/FlowProgressBar.svelte.d.ts +7 -22
  227. package/package/components/flows/common/FlowCard.svelte +10 -2
  228. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  229. package/package/components/flows/common/FlowCardHeader.svelte +2 -1
  230. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  231. package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
  232. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
  233. package/package/components/flows/content/FlowInput.svelte +381 -259
  234. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  235. package/package/components/flows/content/FlowInputsQuick.svelte +56 -34
  236. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +3 -2
  237. package/package/components/flows/content/FlowModuleComponent.svelte +29 -11
  238. package/package/components/flows/flowInfers.d.ts +60 -0
  239. package/package/components/flows/flowInfers.js +72 -40
  240. package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +5 -1
  241. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
  242. package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
  243. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  244. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  245. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -1
  246. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  247. package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
  248. package/package/components/flows/map/FlowStickyNode.svelte +2 -2
  249. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  250. package/package/components/flows/map/InsertModuleButton.svelte +8 -15
  251. package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  252. package/package/components/flows/map/InsertModuleInner.svelte +19 -20
  253. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
  254. package/package/components/flows/map/MapItem.svelte +1 -1
  255. package/package/components/flows/map/VirtualItem.svelte +1 -2
  256. package/package/components/flows/pickers/PickHubScriptQuick.svelte +43 -52
  257. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +2 -1
  258. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +41 -26
  259. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -0
  260. package/package/components/flows/propPicker/OutputPicker.svelte +2 -0
  261. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
  262. package/package/components/git_sync/DetectionFlow.svelte +33 -44
  263. package/package/components/git_sync/DetectionFlow.svelte.d.ts +1 -0
  264. package/package/components/git_sync/GitSyncContext.svelte.d.ts +22 -0
  265. package/package/components/git_sync/GitSyncContext.svelte.js +145 -5
  266. package/package/components/git_sync/GitSyncModeDisplay.svelte +14 -0
  267. package/package/components/git_sync/GitSyncModeDisplay.svelte.d.ts +9 -0
  268. package/package/components/git_sync/GitSyncRepositoryCard.svelte +365 -253
  269. package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +10 -1
  270. package/package/components/git_sync/GitSyncSection.svelte +134 -14
  271. package/package/components/git_sync/PullWorkspaceModal.svelte +24 -32
  272. package/package/components/git_sync/PushWorkspaceModal.svelte +24 -32
  273. package/package/components/graph/FlowGraphV2.svelte +2 -1
  274. package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
  275. package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
  276. package/package/components/graph/graphBuilder.svelte.js +1 -0
  277. package/package/components/graph/model.d.ts +5 -5
  278. package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
  279. package/package/components/graph/renderers/edges/EmptyEdge.svelte +3 -10
  280. package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +4 -18
  281. package/package/components/graph/renderers/nodes/AIToolNode.svelte +2 -2
  282. package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
  283. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +5 -10
  284. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
  285. package/package/components/home/ItemsList.svelte +1 -1
  286. package/package/components/instanceSettings.js +17 -0
  287. package/package/components/jobs/JobProgressBar.svelte +27 -21
  288. package/package/components/jobs/JobProgressBar.svelte.d.ts +9 -24
  289. package/package/components/meltComponents/MenuSingleItem.svelte +3 -8
  290. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +0 -3
  291. package/package/components/meltComponents/Popover.svelte +3 -2
  292. package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
  293. package/package/components/meltComponents/Tooltip.svelte +1 -1
  294. package/package/components/progressBar/ProgressBar.svelte +39 -53
  295. package/package/components/progressBar/ProgressBar.svelte.d.ts +11 -26
  296. package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
  297. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
  298. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
  299. package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
  300. package/package/components/raw_apps/RawAppEditor.svelte +6 -7
  301. package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
  302. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
  303. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
  304. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
  305. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
  306. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
  307. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
  308. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
  309. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
  310. package/package/components/raw_apps/RawAppPreview.svelte +3 -7
  311. package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
  312. package/package/components/raw_apps/utils.d.ts +1 -1
  313. package/package/components/raw_apps/utils.js +3 -3
  314. package/package/components/runs/JobsLoader.svelte +1 -1
  315. package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
  316. package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -1
  317. package/package/components/runs/RunOption.svelte +2 -2
  318. package/package/components/runs/RunsFilter.svelte +15 -12
  319. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  320. package/package/components/schema/AddPropertyV2.svelte +7 -4
  321. package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
  322. package/package/components/schema/FlowPropertyEditor.svelte +9 -2
  323. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  324. package/package/components/schema/PropertyEditor.svelte +22 -26
  325. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
  326. package/package/components/schema/SchemaFormDND.svelte +3 -2
  327. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  328. package/package/components/select/DraggableTags.svelte +2 -2
  329. package/package/components/select/MultiSelect.svelte +15 -9
  330. package/package/components/select/MultiSelect.svelte.d.ts +1 -0
  331. package/package/components/select/Select.svelte +12 -5
  332. package/package/components/select/Select.svelte.d.ts +11 -0
  333. package/package/components/select/SelectDropdown.svelte +98 -46
  334. package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
  335. package/package/components/select/utils.svelte.js +2 -0
  336. package/package/components/settings/CreateToken.svelte +76 -49
  337. package/package/components/settings/WorkspaceUserSettings.svelte +111 -17
  338. package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
  339. package/package/components/sidebar/Linkify.svelte +14 -0
  340. package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
  341. package/package/components/sidebar/MenuLink.svelte +2 -1
  342. package/package/components/sidebar/MenuLink.svelte.d.ts +1 -0
  343. package/package/components/sidebar/SidebarContent.svelte +27 -27
  344. package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
  345. package/package/components/table/Cell.svelte +7 -14
  346. package/package/components/table/Cell.svelte.d.ts +13 -35
  347. package/package/components/table/tableUtils.js +1 -1
  348. package/package/components/text_input/TextInput.svelte +30 -0
  349. package/package/components/text_input/TextInput.svelte.d.ts +17 -0
  350. package/package/components/triggers/AddTriggersButton.svelte +1 -0
  351. package/package/components/triggers/TriggersEditor.svelte +11 -1
  352. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
  353. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
  354. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +28 -5
  355. package/package/components/triggers/gcp/utils.js +1 -0
  356. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +1 -0
  357. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  358. package/package/components/triggers/triggers.svelte.js +8 -4
  359. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +143 -63
  360. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -0
  361. package/package/components/triggers/websocket/utils.js +1 -0
  362. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
  363. package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
  364. package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
  365. package/package/components/tutorials/Tutorial.svelte +9 -0
  366. package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
  367. package/package/components/tutorials/app/AppTutorial.svelte +41 -57
  368. package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
  369. package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
  370. package/package/components/tutorials/utils.js +2 -154
  371. package/package/components/vscode.js +16 -8
  372. package/package/components/workspaceSettings/AISettings.svelte +12 -5
  373. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  374. package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
  375. package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
  376. package/package/components/workspaceSettings/ModelTokenLimits.svelte +165 -0
  377. package/package/components/workspaceSettings/ModelTokenLimits.svelte.d.ts +8 -0
  378. package/package/components/workspaceSettings/StorageSettings.svelte +147 -77
  379. package/package/editorUtils.d.ts +1 -1
  380. package/package/gen/core/OpenAPI.js +1 -1
  381. package/package/gen/schemas.gen.d.ts +223 -17
  382. package/package/gen/schemas.gen.js +226 -17
  383. package/package/gen/services.gen.d.ts +221 -27
  384. package/package/gen/services.gen.js +440 -48
  385. package/package/gen/types.gen.d.ts +1067 -218
  386. package/package/hubPaths.json +2 -1
  387. package/package/script_helpers.js +5 -5
  388. package/package/services/JobManager.js +14 -9
  389. package/package/stores.d.ts +4 -12
  390. package/package/stores.js +5 -65
  391. package/package/timelineCompute.svelte.d.ts +21 -0
  392. package/package/timelineCompute.svelte.js +113 -0
  393. package/package/toast.js +2 -1
  394. package/package/utils.d.ts +16 -8
  395. package/package/utils.js +65 -12
  396. package/package/workspace_settings.d.ts +13 -8
  397. package/package/workspace_settings.js +46 -11
  398. package/package.json +4 -4
  399. /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
@@ -22,8 +22,15 @@ import CaptureTable from '../../triggers/CaptureTable.svelte';
22
22
  import { isObjectTooBig, readFieldsRecursively } from '../../../utils';
23
23
  import { refreshStateStore } from '../../../svelte5Utils.svelte';
24
24
  import { deepEqual } from 'fast-equals';
25
+ import FlowChatInterface from '../FlowChatInterface.svelte';
26
+ import Toggle from '../../Toggle.svelte';
27
+ import { AI_AGENT_SCHEMA } from '../flowInfers';
28
+ import { nextId } from '../flowModuleNextId';
29
+ import ConfirmationModal from '../../common/confirmationModal/ConfirmationModal.svelte';
25
30
  let { noEditor, disabled, onTestFlow, previewOpen } = $props();
26
- const { flowStore, previewArgs, pathStore, initialPathStore, fakeInitialPath, flowInputEditorState } = getContext('FlowEditorContext');
31
+ const { flowStore, flowStateStore, previewArgs, pathStore, initialPathStore, fakeInitialPath, flowInputEditorState } = getContext('FlowEditorContext');
32
+ let chatInputEnabled = $derived(Boolean(flowStore.val.value?.chat_input_enabled));
33
+ let showChatModeWarning = $state(false);
27
34
  let addPropertyV2 = $state(undefined);
28
35
  let previewSchema = $state(undefined);
29
36
  let payloadData = undefined;
@@ -159,8 +166,8 @@ function handleKeydown(event) {
159
166
  event.preventDefault();
160
167
  }
161
168
  }
162
- function runPreview() {
163
- onTestFlow?.();
169
+ async function runPreview() {
170
+ await onTestFlow?.();
164
171
  }
165
172
  function updatePreviewSchemaAndArgs(payload) {
166
173
  if (isObjectTooBig(payload)) {
@@ -291,276 +298,391 @@ function resetSelected() {
291
298
  jsonInputs?.resetSelected(true);
292
299
  firstStepInputs?.resetSelected(true);
293
300
  }
301
+ async function runFlowWithMessage(message) {
302
+ previewArgs.val = { user_message: message };
303
+ const jobId = await onTestFlow?.();
304
+ return jobId;
305
+ }
306
+ function hasOtherInputs() {
307
+ const properties = flowStore.val.schema?.properties;
308
+ return Boolean(properties &&
309
+ Object.keys(properties).length > 0 &&
310
+ !(Object.keys(properties).length === 1 && Object.keys(properties).includes('user_message')));
311
+ }
312
+ function handleToggleChatMode() {
313
+ if (!chatInputEnabled) {
314
+ // Check if there are existing inputs
315
+ if (hasOtherInputs()) {
316
+ showChatModeWarning = true;
317
+ }
318
+ else {
319
+ enableChatMode();
320
+ }
321
+ }
322
+ else {
323
+ // Disable chat input - remove from flow.value
324
+ if (flowStore.val.value) {
325
+ flowStore.val.value.chat_input_enabled = false;
326
+ }
327
+ }
328
+ }
329
+ function enableChatMode() {
330
+ // Enable chat input - set in flow.value
331
+ flowStore.val.value.chat_input_enabled = true;
332
+ // Set up the schema for chat input
333
+ flowStore.val.schema = {
334
+ $schema: 'https://json-schema.org/draft/2020-12/schema',
335
+ type: 'object',
336
+ properties: {
337
+ user_message: {
338
+ type: 'string',
339
+ description: 'Message from user'
340
+ }
341
+ },
342
+ required: ['user_message']
343
+ };
344
+ const hasAiAgent = flowStore.val.value.modules.some((m) => m.value.type === 'aiagent');
345
+ if (!hasAiAgent) {
346
+ const aiAgentId = nextId(flowStateStore.val, flowStore.val);
347
+ flowStore.val.value.modules = [
348
+ ...flowStore.val.value.modules,
349
+ {
350
+ id: aiAgentId,
351
+ value: {
352
+ type: 'aiagent',
353
+ tools: [],
354
+ input_transforms: Object.keys(AI_AGENT_SCHEMA.properties ?? {}).reduce((accu, key) => {
355
+ if (key === 'user_message') {
356
+ accu[key] = { type: 'javascript', expr: 'flow_input.user_message' };
357
+ }
358
+ else {
359
+ accu[key] = {
360
+ type: 'static',
361
+ value: undefined
362
+ };
363
+ }
364
+ return accu;
365
+ }, {})
366
+ }
367
+ }
368
+ ];
369
+ }
370
+ showChatModeWarning = false;
371
+ }
294
372
  </script>
295
373
 
296
374
  <!-- Add svelte:window to listen for keyboard events -->
297
375
  <svelte:window onkeydown={handleKeydown} />
298
376
 
377
+ <ConfirmationModal
378
+ open={showChatModeWarning}
379
+ title="Enable Chat Mode?"
380
+ confirmationText="Continue"
381
+ onConfirmed={enableChatMode}
382
+ onCanceled={() => (showChatModeWarning = false)}
383
+ >
384
+ <p class="text-sm text-secondary">
385
+ Enabling Chat Mode will replace all existing flow inputs with a single
386
+ <span class="font-mono text-xs bg-surface-secondary px-1 rounded">user_message</span>
387
+ parameter.
388
+ </p>
389
+ <p class="text-sm text-secondary mt-2">
390
+ Your current input configuration will be lost. Are you sure you want to continue?
391
+ </p>
392
+ </ConfirmationModal>
393
+
299
394
  <FlowCard {noEditor} title="Flow Input">
300
- {#if !disabled}
301
- <div class="py-2 px-4 h-full">
302
- <EditableSchemaForm
303
- bind:this={editableSchemaForm}
304
- bind:schema={flowStore.val.schema}
305
- isFlowInput
306
- on:delete={(e) => {
307
- addPropertyV2?.handleDeleteArgument([e.detail])
395
+ {#snippet action()}
396
+ {#if !disabled}
397
+ <Toggle
398
+ textClass="font-normal text-sm"
399
+ size="sm"
400
+ checked={chatInputEnabled}
401
+ on:change={handleToggleChatMode}
402
+ options={{
403
+ right: 'Chat Mode',
404
+ rightTooltip:
405
+ 'When enabled, the flow execution page will show a chat interface where each message sent runs the flow with the message as "user_message" input parameter. The flow schema will be automatically set to accept only a user_message string input.'
308
406
  }}
309
- showDynOpt
310
- displayWebhookWarning
311
- editTab={$flowInputEditorState?.selectedTab}
312
- {previewSchema}
313
- bind:args={previewArgs.val}
314
- bind:editPanelSize={
315
- () => {
316
- return editPanelSize
317
- },
318
- (v) => {
319
- if (editPanelSize != v) {
320
- editPanelSize = v
321
- }
322
- }
323
- }
324
- editPanelInitialSize={$flowInputEditorState?.editPanelSize}
325
- pannelExtraButtonWidth={$flowInputEditorState?.editPanelSize ? tabButtonWidth : 0}
326
- {diff}
327
- disableDnd={!!previewSchema}
328
- on:rejectChange={(e) => {
329
- rejectChange(e.detail).then(() => {
330
- updatePreviewSchema(selectedSchema)
331
- })
332
- }}
333
- on:acceptChange={(e) => {
334
- acceptChange(e.detail).then(() => {
335
- updatePreviewSchema(selectedSchema)
336
- })
337
- }}
338
- shouldDispatchChanges={true}
339
- onChange={() => {
340
- if (!previewSchema) {
341
- let args = $state.snapshot(previewArgs.val)
342
- if (!deepEqual(args, savedPreviewArgs)) {
343
- savedPreviewArgs = args
407
+ />
408
+ {/if}
409
+ {/snippet}
410
+ {#if !disabled}
411
+ <div class="flex flex-col h-full">
412
+ {#if flowStore.val.value?.chat_input_enabled}
413
+ <div class="flex-1 min-h-0">
414
+ <FlowChatInterface
415
+ onRunFlow={runFlowWithMessage}
416
+ createConversation={async () => {
417
+ const newConversationId = crypto.randomUUID()
418
+ return newConversationId
419
+ }}
420
+ />
421
+ </div>
422
+ {:else}
423
+ <div class="py-2 px-4 flex-1 min-h-0">
424
+ <EditableSchemaForm
425
+ bind:this={editableSchemaForm}
426
+ bind:schema={flowStore.val.schema}
427
+ isFlowInput
428
+ on:delete={(e) => {
429
+ addPropertyV2?.handleDeleteArgument([e.detail])
430
+ }}
431
+ showDynOpt
432
+ displayWebhookWarning
433
+ editTab={$flowInputEditorState?.selectedTab}
434
+ {previewSchema}
435
+ bind:args={previewArgs.val}
436
+ bind:editPanelSize={
437
+ () => {
438
+ return editPanelSize
439
+ },
440
+ (v) => {
441
+ if (editPanelSize != v) {
442
+ editPanelSize = v
443
+ }
444
+ }
344
445
  }
345
- }
346
- }}
347
- bind:isValid
348
- bind:dynCode
349
- bind:dynLang
350
- >
351
- {#snippet openEditTab()}
352
- <div class={twMerge('flex flex-row divide-x', ButtonType.ColorVariants.blue.divider)}>
353
- <SideBarTab {dropdownItems} fullMenu={!!$flowInputEditorState?.selectedTab}>
354
- {#snippet close_button()}
355
- <button
356
- onclick={() => {
357
- handleEditSchema()
446
+ editPanelInitialSize={$flowInputEditorState?.editPanelSize}
447
+ pannelExtraButtonWidth={$flowInputEditorState?.editPanelSize ? tabButtonWidth : 0}
448
+ {diff}
449
+ disableDnd={!!previewSchema}
450
+ on:rejectChange={(e) => {
451
+ rejectChange(e.detail).then(() => {
452
+ updatePreviewSchema(selectedSchema)
453
+ })
454
+ }}
455
+ on:acceptChange={(e) => {
456
+ acceptChange(e.detail).then(() => {
457
+ updatePreviewSchema(selectedSchema)
458
+ })
459
+ }}
460
+ shouldDispatchChanges={true}
461
+ onChange={() => {
462
+ if (!previewSchema) {
463
+ let args = $state.snapshot(previewArgs.val)
464
+ if (!deepEqual(args, savedPreviewArgs)) {
465
+ savedPreviewArgs = args
466
+ }
467
+ }
468
+ }}
469
+ bind:isValid
470
+ bind:dynCode
471
+ bind:dynLang
472
+ >
473
+ {#snippet openEditTab()}
474
+ <div class={twMerge('flex flex-row divide-x', ButtonType.ColorVariants.blue.divider)}>
475
+ <SideBarTab {dropdownItems} fullMenu={!!$flowInputEditorState?.selectedTab}>
476
+ {#snippet close_button()}
477
+ <button
478
+ onclick={() => {
479
+ handleEditSchema()
480
+ }}
481
+ title={!!$flowInputEditorState?.selectedTab
482
+ ? 'Close input editor'
483
+ : 'Open input editor'}
484
+ class={twMerge(
485
+ ButtonType.ColorVariants.blue.contained,
486
+ !!$flowInputEditorState?.selectedTab
487
+ ? 'rounded-tl-md border-l border-t'
488
+ : 'rounded-md border'
489
+ )}
490
+ >
491
+ <div class="p-2 center-center">
492
+ {#if !!$flowInputEditorState?.selectedTab}
493
+ <ChevronRight size={14} />
494
+ {:else}
495
+ <Pen size={14} />
496
+ {/if}
497
+ </div>
498
+ </button>
499
+ {/snippet}
500
+ </SideBarTab>
501
+ </div>
502
+ {/snippet}
503
+ {#snippet addProperty()}
504
+ {#if !!previewSchema}
505
+ <div class="flex flex-row items-center gap-2 right-2 justify-end">
506
+ <Button
507
+ size="xs"
508
+ color="green"
509
+ disabled={!previewSchema}
510
+ shortCut={{ Icon: CornerDownLeft, hide: false, withoutModifier: true }}
511
+ startIcon={{ icon: Check }}
512
+ on:click={() => {
513
+ applySchemaAndArgs()
514
+ connectFirstNode()
515
+ }}
516
+ >
517
+ {Object.values(diff).every((el) => el.diff === 'same')
518
+ ? 'Apply args'
519
+ : 'Update schema'}
520
+ </Button>
521
+ <Button
522
+ variant="border"
523
+ color="light"
524
+ size="xs"
525
+ startIcon={{ icon: X }}
526
+ shortCut={{ key: 'esc', withoutModifier: true }}
527
+ on:click={() => {
528
+ resetSelected()
529
+ }}
530
+ />
531
+ </div>
532
+ {:else}
533
+ <AddPropertyV2
534
+ bind:schema={flowStore.val.schema}
535
+ bind:this={addPropertyV2}
536
+ onAddNew={(argName) => {
537
+ handleEditSchema('inputEditor')
538
+ editableSchemaForm?.openField(argName)
539
+ refreshStateStore(flowStore)
358
540
  }}
359
- title={!!$flowInputEditorState?.selectedTab
360
- ? 'Close input editor'
361
- : 'Open input editor'}
362
- class={twMerge(
363
- ButtonType.ColorVariants.blue.contained,
364
- !!$flowInputEditorState?.selectedTab
365
- ? 'rounded-tl-md border-l border-t'
366
- : 'rounded-md border'
367
- )}
368
541
  >
369
- <div class="p-2 center-center">
370
- {#if !!$flowInputEditorState?.selectedTab}
371
- <ChevronRight size={14} />
372
- {:else}
373
- <Pen size={14} />
374
- {/if}
375
- </div>
376
- </button>
377
- {/snippet}
378
- </SideBarTab>
379
- </div>
380
- {/snippet}
381
- {#snippet addProperty()}
382
- {#if !!previewSchema}
383
- <div class="flex flex-row items-center gap-2 right-2 justify-end">
384
- <Button
385
- size="xs"
386
- color="green"
387
- disabled={!previewSchema}
388
- shortCut={{ Icon: CornerDownLeft, hide: false, withoutModifier: true }}
389
- startIcon={{ icon: Check }}
390
- on:click={() => {
391
- applySchemaAndArgs()
392
- connectFirstNode()
393
- }}
394
- >
395
- {Object.values(diff).every((el) => el.diff === 'same')
396
- ? 'Apply args'
397
- : 'Update schema'}
398
- </Button>
399
- <Button
400
- variant="border"
401
- color="light"
402
- size="xs"
403
- startIcon={{ icon: X }}
404
- shortCut={{ key: 'esc', withoutModifier: true }}
405
- on:click={() => {
406
- resetSelected()
407
- }}
408
- />
409
- </div>
410
- {:else}
411
- <AddPropertyV2
412
- bind:schema={flowStore.val.schema}
413
- bind:this={addPropertyV2}
414
- onAddNew={(argName) => {
415
- handleEditSchema('inputEditor')
416
- editableSchemaForm?.openField(argName)
417
- refreshStateStore(flowStore)
418
- }}
419
- >
420
- {#snippet trigger()}
421
- <div
422
- class="w-full py-2 flex justify-center items-center border border-dashed rounded-md hover:bg-surface-hover"
423
- id="add-flow-input-btn"
542
+ {#snippet trigger()}
543
+ <div
544
+ class="w-full py-2 flex justify-center items-center border border-dashed rounded-md hover:bg-surface-hover"
545
+ id="add-flow-input-btn"
546
+ >
547
+ <Plus size={14} />
548
+ </div>
549
+ {/snippet}
550
+ </AddPropertyV2>
551
+ {/if}
552
+ {/snippet}
553
+ {#snippet extraTab()}
554
+ {#if $flowInputEditorState?.selectedTab === 'history'}
555
+ <FlowInputEditor
556
+ title="History"
557
+ on:destroy={() => {
558
+ updatePreviewSchemaAndArgs(undefined)
559
+ }}
424
560
  >
425
- <Plus size={14} />
426
- </div>
427
- {/snippet}
428
- </AddPropertyV2>
429
- {/if}
430
- {/snippet}
431
- {#snippet extraTab()}
432
- {#if $flowInputEditorState?.selectedTab === 'history'}
433
- <FlowInputEditor
434
- title="History"
435
- on:destroy={() => {
436
- updatePreviewSchemaAndArgs(undefined)
437
- }}
438
- >
439
- <HistoricInputs
440
- bind:this={historicInputs}
441
- runnableId={$initialPathStore ?? undefined}
442
- runnableType={$pathStore ? 'FlowPath' : undefined}
443
- on:select={(e) => {
444
- updatePreviewSchemaAndArgs(e.detail?.args ?? undefined)
445
- }}
446
- limitPayloadSize
447
- />
448
- </FlowInputEditor>
449
- {:else if $flowInputEditorState?.selectedTab === 'captures'}
450
- <FlowInputEditor
451
- on:destroy={() => {
452
- updatePreviewSchemaAndArgs(undefined)
453
- }}
454
- title="Trigger captures"
455
- >
456
- {#snippet action()}
457
- <svelete:fragment>
458
- <div class="center-center">
459
- <CaptureButton on:openTriggers small={true} />
561
+ <HistoricInputs
562
+ bind:this={historicInputs}
563
+ runnableId={$initialPathStore ?? undefined}
564
+ runnableType={$pathStore ? 'FlowPath' : undefined}
565
+ on:select={(e) => {
566
+ updatePreviewSchemaAndArgs(e.detail?.args ?? undefined)
567
+ }}
568
+ limitPayloadSize
569
+ />
570
+ </FlowInputEditor>
571
+ {:else if $flowInputEditorState?.selectedTab === 'captures'}
572
+ <FlowInputEditor
573
+ on:destroy={() => {
574
+ updatePreviewSchemaAndArgs(undefined)
575
+ }}
576
+ title="Trigger captures"
577
+ >
578
+ {#snippet action()}
579
+ <div class="center-center">
580
+ <CaptureButton on:openTriggers small={true} />
581
+ </div>
582
+ {/snippet}
583
+ <div class="h-full">
584
+ <CaptureTable
585
+ path={$initialPathStore || fakeInitialPath}
586
+ on:select={(e) => {
587
+ updatePreviewSchemaAndArgs(e.detail ?? undefined)
588
+ }}
589
+ isFlow={true}
590
+ headless={true}
591
+ addButton={false}
592
+ bind:this={captureTable}
593
+ limitPayloadSize
594
+ />
460
595
  </div>
461
- </svelete:fragment>
462
- {/snippet}
463
- <div class="h-full">
464
- <CaptureTable
465
- path={$initialPathStore || fakeInitialPath}
466
- on:select={(e) => {
467
- updatePreviewSchemaAndArgs(e.detail ?? undefined)
596
+ </FlowInputEditor>
597
+ {:else if $flowInputEditorState?.selectedTab === 'savedInputs'}
598
+ <FlowInputEditor
599
+ on:destroy={() => {
600
+ updatePreviewSchemaAndArgs(undefined)
468
601
  }}
469
- isFlow={true}
470
- headless={true}
471
- addButton={false}
472
- bind:this={captureTable}
473
- limitPayloadSize
474
- />
475
- </div>
476
- </FlowInputEditor>
477
- {:else if $flowInputEditorState?.selectedTab === 'savedInputs'}
478
- <FlowInputEditor
479
- on:destroy={() => {
480
- updatePreviewSchemaAndArgs(undefined)
481
- }}
482
- title="Saved inputs"
483
- >
484
- <SavedInputsPicker
485
- runnableId={$initialPathStore ?? undefined}
486
- runnableType={$pathStore ? 'FlowPath' : undefined}
487
- on:select={(e) => {
488
- updatePreviewSchemaAndArgs(e.detail ?? undefined)
489
- }}
490
- on:isEditing={(e) => {
491
- preventEnter = e.detail
492
- }}
493
- previewArgs={previewArgs.val}
494
- {isValid}
495
- limitPayloadSize
496
- bind:this={savedInputsPicker}
497
- />
498
- </FlowInputEditor>
499
- {:else if $flowInputEditorState?.selectedTab === 'json'}
500
- <FlowInputEditor
501
- on:destroy={() => {
502
- updatePreviewSchemaAndArgs(undefined)
503
- }}
504
- title="Json payload"
505
- >
506
- <JsonInputs
507
- on:focus={() => {
508
- preventEnter = true
509
- }}
510
- on:blur={async () => {
511
- preventEnter = false
512
- }}
513
- on:select={(e) => {
514
- updatePreviewSchemaAndArgs(e.detail ?? undefined)
515
- }}
516
- selected={!!previewArgs.val}
517
- bind:this={jsonInputs}
518
- />
519
- </FlowInputEditor>
520
- {:else if $flowInputEditorState?.selectedTab === 'firstStepInputs'}
521
- <FlowInputEditor
522
- on:destroy={() => {
523
- updatePreviewSchemaAndArgs(undefined)
524
- connectFirstNode = () => {}
525
- }}
526
- title="First step's inputs"
527
- >
528
- <FirstStepInputs
529
- bind:this={firstStepInputs}
530
- on:connectFirstNode={({ detail }) => {
531
- connectFirstNode = detail.connectFirstNode
532
- }}
533
- on:select={(e) => {
534
- if (e.detail) {
535
- const diffSchema = computeDiff(e.detail, flowStore.val.schema)
536
- diff = diffSchema
537
- previewSchema = schemaFromDiff(diffSchema, flowStore.val.schema)
538
- runDisabled = true
539
- } else {
602
+ title="Saved inputs"
603
+ >
604
+ <SavedInputsPicker
605
+ runnableId={$initialPathStore ?? undefined}
606
+ runnableType={$pathStore ? 'FlowPath' : undefined}
607
+ on:select={(e) => {
608
+ updatePreviewSchemaAndArgs(e.detail ?? undefined)
609
+ }}
610
+ on:isEditing={(e) => {
611
+ preventEnter = e.detail
612
+ }}
613
+ previewArgs={previewArgs.val}
614
+ {isValid}
615
+ limitPayloadSize
616
+ bind:this={savedInputsPicker}
617
+ />
618
+ </FlowInputEditor>
619
+ {:else if $flowInputEditorState?.selectedTab === 'json'}
620
+ <FlowInputEditor
621
+ on:destroy={() => {
622
+ updatePreviewSchemaAndArgs(undefined)
623
+ }}
624
+ title="Json payload"
625
+ >
626
+ <JsonInputs
627
+ on:focus={() => {
628
+ preventEnter = true
629
+ }}
630
+ on:blur={async () => {
631
+ preventEnter = false
632
+ }}
633
+ on:select={(e) => {
634
+ updatePreviewSchemaAndArgs(e.detail ?? undefined)
635
+ }}
636
+ selected={!!previewArgs.val}
637
+ bind:this={jsonInputs}
638
+ />
639
+ </FlowInputEditor>
640
+ {:else if $flowInputEditorState?.selectedTab === 'firstStepInputs'}
641
+ <FlowInputEditor
642
+ on:destroy={() => {
540
643
  updatePreviewSchemaAndArgs(undefined)
541
- }
542
- }}
543
- />
544
- </FlowInputEditor>
545
- {/if}
546
- {/snippet}
547
- {#snippet runButton()}
548
- <div class="w-full flex justify-end pr-5">
549
- <Button
550
- color="dark"
551
- btnClasses="w-fit"
552
- disabled={runDisabled || !isValid}
553
- size="xs"
554
- shortCut={{ Icon: CornerDownLeft, hide: false }}
555
- on:click={() => {
556
- runPreview()
557
- }}
558
- >
559
- Run
560
- </Button>
561
- </div>
562
- {/snippet}
563
- </EditableSchemaForm>
644
+ connectFirstNode = () => {}
645
+ }}
646
+ title="First step's inputs"
647
+ >
648
+ <FirstStepInputs
649
+ bind:this={firstStepInputs}
650
+ on:connectFirstNode={({ detail }) => {
651
+ connectFirstNode = detail.connectFirstNode
652
+ }}
653
+ on:select={(e) => {
654
+ if (e.detail) {
655
+ const diffSchema = computeDiff(e.detail, flowStore.val.schema)
656
+ diff = diffSchema
657
+ previewSchema = schemaFromDiff(diffSchema, flowStore.val.schema)
658
+ runDisabled = true
659
+ } else {
660
+ updatePreviewSchemaAndArgs(undefined)
661
+ }
662
+ }}
663
+ />
664
+ </FlowInputEditor>
665
+ {/if}
666
+ {/snippet}
667
+ {#snippet runButton()}
668
+ <div class="w-full flex justify-end pr-5">
669
+ <Button
670
+ color="dark"
671
+ btnClasses="w-fit"
672
+ disabled={runDisabled || !isValid}
673
+ size="xs"
674
+ shortCut={{ Icon: CornerDownLeft, hide: false }}
675
+ on:click={() => {
676
+ runPreview()
677
+ }}
678
+ >
679
+ Run
680
+ </Button>
681
+ </div>
682
+ {/snippet}
683
+ </EditableSchemaForm>
684
+ </div>
685
+ {/if}
564
686
  </div>
565
687
  {:else}
566
688
  <div class="p-4 border-b">