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
@@ -1,14 +1,10 @@
1
- <script lang="ts">import { preventDefault, stopPropagation } from 'svelte/legacy';
2
- import { createEventDispatcher } from 'svelte';
3
- import { Bug, Cross } from 'lucide-svelte';
1
+ <script lang="ts">import { Bug, Cross } from 'lucide-svelte';
4
2
  import InsertModuleInner from './InsertModuleInner.svelte';
5
3
  import { twMerge } from 'tailwind-merge';
6
4
  import PopupV2 from '../../common/popup/PopupV2.svelte';
7
5
  import { flip, offset } from 'svelte-floating-ui/dom';
8
6
  import { SchedulePollIcon } from '../../icons';
9
- // import type { Writable } from 'svelte/store'
10
- const dispatch = createEventDispatcher();
11
- let { index = 0, funcDesc = $bindable(''), kind = 'script', iconSize = 12, clazz = '', placement = 'bottom-center' } = $props();
7
+ let { index = 0, funcDesc = $bindable(''), kind = 'script', iconSize = 12, clazz = '', placement = 'bottom-center', disableAi = false } = $props();
12
8
  let floatingConfig = {
13
9
  strategy: 'fixed',
14
10
  // @ts-ignore
@@ -31,7 +27,7 @@ noTransition
31
27
  shouldUsePortal={true} -->
32
28
 
33
29
  <PopupV2 {floatingConfig} bind:open target="#flow-editor">
34
- {#snippet button({ pointerdown, pointerup })}
30
+ {#snippet button()}
35
31
  <button
36
32
  title={`Add ${
37
33
  kind === 'failure'
@@ -48,13 +44,9 @@ shouldUsePortal={true} -->
48
44
  'w-[17.5px] h-[17.5px] flex items-center justify-center !outline-[1px] outline dark:outline-gray-500 outline-gray-300 text-secondary bg-surface focus:outline-none hover:bg-surface-hover rounded',
49
45
  clazz
50
46
  )}
51
- onpointerdown={stopPropagation(
52
- preventDefault(() => {
53
- dispatch('open')
54
- pointerdown()
55
- })
56
- )}
57
- onpointerup={pointerup}
47
+ onpointerdown={() => {
48
+ open = !open
49
+ }}
58
50
  >
59
51
  {#if kind === 'trigger'}
60
52
  <SchedulePollIcon size={14} />
@@ -70,13 +62,14 @@ shouldUsePortal={true} -->
70
62
  {/snippet}
71
63
  {#snippet children({ close })}
72
64
  <InsertModuleInner
73
- on:close={() => close(null)}
65
+ on:close={() => close()}
74
66
  on:insert
75
67
  on:new
76
68
  on:pickFlow
77
69
  on:pickScript
78
70
  allowTrigger={index == 0}
79
71
  {kind}
72
+ {disableAi}
80
73
  />
81
74
  {/snippet}
82
75
  </PopupV2>
@@ -2,12 +2,13 @@ type Alignment = 'start' | 'end' | 'center';
2
2
  type Side = 'top' | 'bottom';
3
3
  type Placement = `${Side}-${Alignment}`;
4
4
  interface Props {
5
- index?: number;
5
+ index?: number | 'error-handler-button';
6
6
  funcDesc?: string;
7
7
  kind?: 'script' | 'trigger' | 'preprocessor' | 'failure';
8
8
  iconSize?: number;
9
9
  clazz?: string;
10
10
  placement?: Placement;
11
+ disableAi?: boolean;
11
12
  }
12
13
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
13
14
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -25,9 +26,8 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
25
26
  declare const InsertModuleButton: $$__sveltets_2_IsomorphicComponent<Props, {
26
27
  insert: CustomEvent<any>;
27
28
  new: CustomEvent<any>;
28
- pickFlow: CustomEvent<any>;
29
- pickScript: CustomEvent<any>;
30
- open: CustomEvent<any>;
29
+ pickFlow: any;
30
+ pickScript: any;
31
31
  } & {
32
32
  [evt: string]: CustomEvent<any>;
33
33
  }, {}, {}, "funcDesc">;
@@ -1,32 +1,26 @@
1
+ <script lang="ts" module>"use strict";
2
+ let refreshCount = $state({ val: 0 });
3
+ </script>
4
+
1
5
  <script lang="ts">import { createEventDispatcher, getContext } from 'svelte';
2
6
  import StepGenQuick from '../../copilot/StepGenQuick.svelte';
3
7
  import FlowInputsQuick from '../content/FlowInputsQuick.svelte';
4
8
  import ToggleHubWorkspaceQuick from '../../ToggleHubWorkspaceQuick.svelte';
5
9
  import TopLevelNode from '../pickers/TopLevelNode.svelte';
6
- // import type { Writable } from 'svelte/store'
10
+ import RefreshButton from '../../common/button/RefreshButton.svelte';
7
11
  const dispatch = createEventDispatcher();
8
12
  let { stop = false, funcDesc = $bindable(''), disableAi = false, kind = 'script', allowTrigger = true, scriptOnly = false } = $props();
9
13
  let customUi = getContext('customUi');
10
14
  let selectedKind = $state(kind);
11
15
  let preFilter = $state('all');
12
16
  let loading = $state(false);
13
- let small = $state(false);
17
+ let small = $derived(kind === 'preprocessor' || kind === 'failure');
14
18
  let width = $state(0);
15
19
  let height = $state(0);
20
+ let owners = $state([]);
16
21
  let displayPath = $derived(width > 650 || height > 400);
17
- $effect(() => {
18
- small = kind === 'preprocessor' || kind === 'failure';
19
- });
20
22
  </script>
21
23
 
22
- <!-- <Menu transitionDuration={0} pointerDown bind:show={open} noMinW {placement} let:close> -->
23
-
24
- <!-- {floatingConfig}
25
- floatingClasses="mt-2"
26
- containerClasses="border rounded-lg shadow-lg bg-surface"
27
- noTransition
28
- shouldUsePortal={true} -->
29
-
30
24
  <div
31
25
  id="flow-editor-insert-module"
32
26
  class="flex flex-col h-[400px] {small
@@ -53,6 +47,7 @@ shouldUsePortal={true} -->
53
47
  {#if selectedKind != 'preprocessor' && selectedKind != 'flow'}
54
48
  <ToggleHubWorkspaceQuick bind:selected={preFilter} />
55
49
  {/if}
50
+ <RefreshButton size="md" light {loading} on:click={() => (refreshCount.val += 1)} />
56
51
  </div>
57
52
 
58
53
  <div class="flex flex-row grow min-h-0">
@@ -128,13 +123,15 @@ shouldUsePortal={true} -->
128
123
  dispatch('new', { kind: 'branchall' })
129
124
  }}
130
125
  />
131
- <TopLevelNode
132
- label="AI Agent"
133
- on:select={() => {
134
- dispatch('close')
135
- dispatch('new', { kind: 'aiagent' })
136
- }}
137
- />
126
+ {#if customUi?.aiAgent != false}
127
+ <TopLevelNode
128
+ label="AI Agent"
129
+ on:select={() => {
130
+ dispatch('close')
131
+ dispatch('new', { kind: 'aiagent' })
132
+ }}
133
+ />
134
+ {/if}
138
135
  </div>
139
136
  {/if}
140
137
 
@@ -145,6 +142,7 @@ shouldUsePortal={true} -->
145
142
  {disableAi}
146
143
  {funcDesc}
147
144
  {kind}
145
+ bind:owners
148
146
  on:close={() => {
149
147
  dispatch('close')
150
148
  }}
@@ -154,6 +152,7 @@ shouldUsePortal={true} -->
154
152
  {preFilter}
155
153
  {small}
156
154
  {displayPath}
155
+ refreshCount={refreshCount.val}
157
156
  />
158
157
  </div>
159
158
  </div>
@@ -22,8 +22,8 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
22
22
  declare const InsertModuleInner: $$__sveltets_2_IsomorphicComponent<Props, {
23
23
  insert: CustomEvent<any>;
24
24
  new: CustomEvent<any>;
25
- pickScript: CustomEvent<any>;
26
- pickFlow: CustomEvent<any>;
25
+ pickScript: any;
26
+ pickFlow: any;
27
27
  close: CustomEvent<any>;
28
28
  } & {
29
29
  [evt: string]: CustomEvent<any>;
@@ -40,7 +40,7 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
40
40
  <div
41
41
  class={twMerge(
42
42
  'absolute z-10 right-0 -top-4 center-center text-tertiary text-2xs',
43
- editMode ? 'text-gray-400 dark:text-gray-500 text-2xs font-normal mr-2' : ''
43
+ editMode ? 'text-gray-400 dark:text-gray-500 text-2xs font-normal mr-2 right-10' : ''
44
44
  )}
45
45
  >
46
46
  {msToSec(duration_ms)}s
@@ -41,13 +41,12 @@ const outputType = $derived(showJobStatus
41
41
  <div class="flex flex-col w-full">
42
42
  <div
43
43
  style={borderColor ? `border-color: ${borderColor};` : 'border: 0'}
44
- class="flex flex-row gap-1 justify-between {center
44
+ class="flex flex-row justify-between {center
45
45
  ? 'items-center'
46
46
  : 'items-baseline'} w-full overflow-hidden rounded-sm border p-2 text-2xs module text-primary border-gray-400 dark:border-gray-600"
47
47
  >
48
48
  {#if icon}
49
49
  {@render icon?.()}
50
- <span class="mr-2"></span>
51
50
  {/if}
52
51
  <div class="flex flex-col flex-grow shrink-0 max-w-full min-w-0">
53
52
  {#if label}
@@ -1,73 +1,70 @@
1
+ <script module lang="ts">"use strict";
2
+ let listHubIntegrationsCached = createCache(({ kind }) => IntegrationService.listHubIntegrations({ kind }), { initial: { kind: 'script', refreshCount: 0 }, invalidateMs: 1000 * 60 });
3
+ console.log('listHubIntegrationsCached', listHubIntegrationsCached);
4
+ let listHubScriptsCached = createCache(async ({ filter, kind, appFilter }) => get(userStore)
5
+ ? filter.length > 0
6
+ ? await ScriptService.queryHubScripts({ text: filter, limit: 40, kind })
7
+ : ((await ScriptService.getTopHubScripts({ limit: 40, kind, app: appFilter })).asks ?? [])
8
+ : undefined, {
9
+ initial: { filter: '', kind: 'script', appFilter: undefined, refreshCount: 0 },
10
+ invalidateMs: 1000 * 60
11
+ });
12
+ </script>
13
+
1
14
  <script lang="ts">import { createEventDispatcher, untrack } from 'svelte';
2
15
  import { Skeleton } from '../../common';
3
- import { classNames } from '../../../utils';
16
+ import { classNames, createCache } from '../../../utils';
4
17
  import { APP_TO_ICON_COMPONENT } from '../../icons';
5
18
  import { IntegrationService, ScriptService } from '../../../gen';
6
19
  import { Circle } from 'lucide-svelte';
7
20
  import Popover from '../../Popover.svelte';
21
+ import { usePromise } from '../../../svelte5Utils.svelte';
22
+ import { userStore } from '../../../stores';
23
+ import { get } from 'svelte/store';
8
24
  let hubNotAvailable = $state(false);
9
25
  const dispatch = createEventDispatcher();
10
- let { kind = 'script', filter = $bindable(''), loading = $bindable(false), selected = undefined, appFilter = undefined, items = $bindable([]), displayPath = false, apps = $bindable([]) } = $props();
11
- let allApps = [];
26
+ let { kind = 'script', filter = $bindable(''), loading = $bindable(false), selected = undefined, appFilter = undefined, items = $bindable([]), displayPath = false, apps = $bindable([]), refreshCount = 0 } = $props();
27
+ let allApps = $state([]);
28
+ $effect(() => {
29
+ if (filter.length > 0) {
30
+ apps = Array.from(new Set(items?.map((x) => x.app) ?? [])).sort();
31
+ }
32
+ else {
33
+ apps = allApps;
34
+ }
35
+ });
12
36
  async function getAllApps(filterKind) {
13
37
  try {
14
38
  hubNotAvailable = false;
15
- allApps = (await IntegrationService.listHubIntegrations({
16
- kind: filterKind
17
- })).map((x) => x.name);
18
- apps = allApps;
39
+ allApps = (await listHubIntegrationsCached({ kind: filterKind, refreshCount })).map((x) => x.name);
19
40
  }
20
41
  catch (err) {
21
42
  console.error('Hub is not available');
22
43
  allApps = [];
23
- apps = [];
24
44
  hubNotAvailable = true;
25
45
  }
26
46
  }
27
- let startTs = 0;
28
- async function applyFilter(filter, filterKind, appFilter) {
29
- try {
30
- loading = true;
31
- hubNotAvailable = false;
32
- const ts = Date.now();
33
- startTs = ts;
34
- await new Promise((resolved, rejected) => setTimeout(resolved, 200));
35
- if (ts < startTs)
47
+ let hubScriptsFilteredPromise = usePromise(() => listHubScriptsCached({ appFilter, filter, kind, refreshCount }), { loadInit: false });
48
+ $effect(() => {
49
+ ;
50
+ [filter, kind, appFilter, refreshCount];
51
+ hubScriptsFilteredPromise.refresh();
52
+ });
53
+ $effect(() => {
54
+ loading = hubScriptsFilteredPromise.status === 'loading';
55
+ hubNotAvailable = !!hubScriptsFilteredPromise.error;
56
+ const scripts = hubScriptsFilteredPromise.value;
57
+ untrack(() => {
58
+ if (!scripts)
36
59
  return;
37
- const scripts = filter.length > 0
38
- ? await ScriptService.queryHubScripts({
39
- text: `${filter}`,
40
- limit: 40,
41
- kind: filterKind
42
- })
43
- : ((await ScriptService.getTopHubScripts({
44
- limit: 40,
45
- kind: filterKind,
46
- app: appFilter
47
- })).asks ?? []);
48
60
  const mappedItems = scripts.map((x) => ({
49
61
  ...x,
50
62
  path: `hub/${x.version_id}/${x.app}/${x.summary.toLowerCase().replaceAll(/\s+/g, '_')}`,
51
63
  summary: `${x.summary} (${x.app})`
52
64
  }));
53
- if (filter.length > 0) {
54
- apps = Array.from(new Set(mappedItems?.map((x) => x.app) ?? [])).sort();
55
- }
56
- else {
57
- apps = allApps;
58
- }
59
65
  items = appFilter ? mappedItems.filter((x) => x.app === appFilter) : mappedItems;
60
- if (ts === startTs) {
61
- loading = false;
62
- }
63
- hubNotAvailable = false;
64
- }
65
- catch (err) {
66
- hubNotAvailable = true;
67
- console.error('Hub not available');
68
- loading = false;
69
- }
70
- }
66
+ });
67
+ });
71
68
  function onKeyDown(e) {
72
69
  if (selected != undefined &&
73
70
  items &&
@@ -81,13 +78,7 @@ function onKeyDown(e) {
81
78
  }
82
79
  $effect(() => {
83
80
  ;
84
- [filter, kind, appFilter];
85
- untrack(() => {
86
- applyFilter(filter, kind, appFilter);
87
- });
88
- });
89
- $effect(() => {
90
- kind;
81
+ [kind, refreshCount];
91
82
  untrack(() => {
92
83
  getAllApps(kind);
93
84
  });
@@ -16,6 +16,7 @@ interface Props {
16
16
  }[];
17
17
  displayPath?: boolean;
18
18
  apps?: string[];
19
+ refreshCount?: number;
19
20
  }
20
21
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
21
22
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -34,6 +35,6 @@ declare const PickHubScriptQuick: $$__sveltets_2_IsomorphicComponent<Props, {
34
35
  pickScript: CustomEvent<any>;
35
36
  } & {
36
37
  [evt: string]: CustomEvent<any>;
37
- }, {}, {}, "filter" | "items" | "loading" | "apps">;
38
+ }, {}, {}, "items" | "filter" | "loading" | "apps">;
38
39
  type PickHubScriptQuick = InstanceType<typeof PickHubScriptQuick>;
39
40
  export default PickHubScriptQuick;
@@ -1,25 +1,37 @@
1
+ <script module lang="ts">"use strict";
2
+ let initialWorkspace = get(workspaceStore);
3
+ let loadItemsCached = createCache(({ workspace, kind, isTemplate }) => workspace && get(userStore)
4
+ ? kind == 'flow'
5
+ ? FlowService.listFlows({ workspace })
6
+ : ScriptService.listScripts({ workspace, kinds: kind, isTemplate })
7
+ : undefined, initialWorkspace
8
+ ? {
9
+ initial: {
10
+ workspace: initialWorkspace,
11
+ kind: 'script',
12
+ isTemplate: undefined,
13
+ refreshCount: 0
14
+ },
15
+ invalidateMs: 1000 * 60
16
+ }
17
+ : {});
18
+ </script>
19
+
1
20
  <script lang="ts">import { workspaceStore } from '../../../stores';
2
21
  import { createEventDispatcher, untrack } from 'svelte';
3
22
  import { FlowService, ScriptService } from '../../../gen';
4
23
  import SearchItems from '../../SearchItems.svelte';
5
24
  import { Skeleton } from '../../common';
6
- import { emptyString } from '../../../utils';
25
+ import { createCache, emptyString } from '../../../utils';
7
26
  import { Code2 } from 'lucide-svelte';
8
27
  import BarsStaggered from '../../icons/BarsStaggered.svelte';
9
28
  import Popover from '../../Popover.svelte';
10
- let items = $state(undefined);
29
+ import { usePromise } from '../../../svelte5Utils.svelte';
30
+ import { get } from 'svelte/store';
31
+ import { userStore } from '../../../stores';
32
+ let items = usePromise(async () => await loadItemsCached({ workspace: $workspaceStore, kind, isTemplate, refreshCount }), { loadInit: false, clearValueOnRefresh: false });
11
33
  let filteredItems = $state(undefined);
12
- async function loadItems() {
13
- items =
14
- kind == 'flow'
15
- ? await FlowService.listFlows({ workspace: $workspaceStore })
16
- : await ScriptService.listScripts({
17
- workspace: $workspaceStore,
18
- kinds: kind,
19
- isTemplate
20
- });
21
- }
22
- let { kind = 'script', isTemplate = undefined, selected = undefined, displayPath = false, filteredWithOwner = $bindable(undefined), filter = '', owners = $bindable([]), ownerFilter = $bindable(undefined) } = $props();
34
+ let { kind = 'script', isTemplate = undefined, selected = undefined, displayPath = false, filteredWithOwner = $bindable(undefined), filter = '', owners = $bindable([]), ownerFilter = $bindable(undefined), refreshCount = 0 } = $props();
23
35
  const dispatch = createEventDispatcher();
24
36
  let lockHash = false;
25
37
  function onKeyDown(e) {
@@ -39,7 +51,8 @@ function onKeyDown(e) {
39
51
  }
40
52
  }
41
53
  $effect(() => {
42
- $workspaceStore && kind && untrack(() => loadItems());
54
+ refreshCount;
55
+ $workspaceStore && kind && untrack(() => items.refresh());
43
56
  });
44
57
  $effect(() => {
45
58
  if ($workspaceStore) {
@@ -47,17 +60,19 @@ $effect(() => {
47
60
  }
48
61
  });
49
62
  $effect(() => {
50
- owners = Array.from(new Set(filteredItems?.map((x) => x.path.split('/').slice(0, 2).join('/')) ?? [])).sort((a, b) => {
51
- if (a.startsWith('u/') && !b.startsWith('u/'))
52
- return -1;
53
- if (b.startsWith('u/') && !a.startsWith('u/'))
54
- return 1;
55
- if (a.startsWith('f/') && !b.startsWith('f/'))
56
- return -1;
57
- if (b.startsWith('f/') && !a.startsWith('f/'))
58
- return 1;
59
- return a.localeCompare(b);
60
- });
63
+ if (filteredItems) {
64
+ owners = Array.from(new Set(filteredItems?.map((x) => x.path.split('/').slice(0, 2).join('/')) ?? [])).sort((a, b) => {
65
+ if (a.startsWith('u/') && !b.startsWith('u/'))
66
+ return -1;
67
+ if (b.startsWith('u/') && !a.startsWith('u/'))
68
+ return 1;
69
+ if (a.startsWith('f/') && !b.startsWith('f/'))
70
+ return -1;
71
+ if (b.startsWith('f/') && !a.startsWith('f/'))
72
+ return 1;
73
+ return a.localeCompare(b);
74
+ });
75
+ }
61
76
  });
62
77
  $effect(() => {
63
78
  filteredWithOwner =
@@ -69,7 +84,7 @@ $effect(() => {
69
84
 
70
85
  <SearchItems
71
86
  {filter}
72
- {items}
87
+ items={items.value}
73
88
  bind:filteredItems
74
89
  f={(x) => (emptyString(x.summary) ? x.path : x.summary + ' (' + x.path + ')')}
75
90
  />
@@ -18,6 +18,7 @@ interface Props {
18
18
  kind: 'inline' | 'owner' | 'integrations';
19
19
  name: string | undefined;
20
20
  } | undefined;
21
+ refreshCount?: number;
21
22
  }
22
23
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
23
24
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -102,6 +102,7 @@ onMount(() => {
102
102
  <div class="flex flex-row items-center justify-center w-full h-full">
103
103
  {#if showInput}
104
104
  <Popover
105
+ enableFlyTransition
105
106
  floatingConfig={{
106
107
  placement: 'bottom',
107
108
  gutter: 0,
@@ -144,6 +145,7 @@ onMount(() => {
144
145
  {/if}
145
146
 
146
147
  <Popover
148
+ enableFlyTransition
147
149
  floatingConfig={{
148
150
  placement: 'bottom',
149
151
  gutter: 0,
@@ -76,11 +76,7 @@ async function getPropPickerElements() {
76
76
  >
77
77
  <slot />
78
78
  </Pane>
79
- <Pane
80
- minSize={20}
81
- size={40}
82
- class="!transition-none z-1000 {$propPickerConfig ? 'ml-[-1px]' : ''} {paneClass}"
83
- >
79
+ <Pane minSize={20} size={40} class="!transition-none z-1000 {paneClass}">
84
80
  <AnimatedButton
85
81
  animate={$propPickerConfig?.insertionMode == 'connect'}
86
82
  baseRadius="4px"
@@ -126,13 +122,3 @@ async function getPropPickerElements() {
126
122
  </Pane>
127
123
  </Splitpanes>
128
124
  </div>
129
-
130
- <style>
131
- :global(.splitpanes-remove-splitter > .splitpanes__pane) {
132
- background-color: inherit !important;
133
- }
134
- :global(.splitpanes-remove-splitter > .splitpanes__splitter) {
135
- background-color: transparent !important;
136
- width: 0 !important;
137
- border: none !important;
138
- }</style>
@@ -5,10 +5,34 @@ import GitSyncFilterSettings from '../workspaceSettings/GitSyncFilterSettings.sv
5
5
  import Toggle from '../Toggle.svelte';
6
6
  import { sendUserToast } from '../../toast';
7
7
  import { workspaceStore } from '../../stores';
8
- let { idx } = $props();
8
+ import GitSyncModeDisplay from './GitSyncModeDisplay.svelte';
9
+ let { idx, mode } = $props();
9
10
  const gitSyncContext = getGitSyncContext();
10
11
  const repo = $derived(gitSyncContext.getRepository(idx));
12
+ let targetBranch = $state('main');
13
+ // Update target branch when repository changes
14
+ $effect(() => {
15
+ const abortController = new AbortController();
16
+ if (repo?.git_repo_resource_path) {
17
+ gitSyncContext.getTargetBranch(repo).then(branch => {
18
+ if (!abortController.signal.aborted) {
19
+ targetBranch = branch;
20
+ }
21
+ }).catch(error => {
22
+ if (!abortController.signal.aborted) {
23
+ console.warn('Failed to get target branch:', error);
24
+ }
25
+ });
26
+ }
27
+ return () => {
28
+ abortController.abort();
29
+ };
30
+ });
11
31
  async function handleDetect() {
32
+ if (!repo) {
33
+ sendUserToast('Repository not found', true);
34
+ return;
35
+ }
12
36
  try {
13
37
  await gitSyncContext.detectRepository(idx);
14
38
  }
@@ -43,24 +67,13 @@ async function handleSaveConnection() {
43
67
  }
44
68
  </script>
45
69
 
70
+
46
71
  {#if repo}
47
72
  <div class="space-y-4">
48
73
  {#if !repo.detectionState || repo.detectionState === 'idle'}
49
- <!-- Step 1: Show toggles first, then check button -->
50
- <div class="space-y-3">
51
- <Toggle
52
- disabled={!repo.git_repo_resource_path}
53
- bind:checked={repo.use_individual_branch}
54
- options={{
55
- left: 'Sync mode',
56
- leftTooltip: 'Changes will be committed directly to the branch',
57
- right: 'Promotion mode',
58
- rightTooltip:
59
- "Changes will be made to a new branch per deployed object (prefixed with 'wm_deploy/')"
60
- }}
61
- />
62
-
63
- {#if repo.use_individual_branch}
74
+ <!-- Folder grouping option for promotion mode -->
75
+ {#if mode === 'promotion'}
76
+ <div class="space-y-3">
64
77
  <Toggle
65
78
  disabled={!repo.git_repo_resource_path}
66
79
  bind:checked={repo.group_by_folder}
@@ -70,8 +83,8 @@ async function handleSaveConnection() {
70
83
  'Instead of creating a branch per object, Windmill will create a branch per folder containing objects being deployed.'
71
84
  }}
72
85
  />
73
- {/if}
74
- </div>
86
+ </div>
87
+ {/if}
75
88
 
76
89
  <!-- Check repo settings button -->
77
90
  <div class="flex justify-start">
@@ -110,19 +123,7 @@ async function handleSaveConnection() {
110
123
  useIndividualBranch={repo.use_individual_branch}
111
124
  />
112
125
 
113
- <!-- Display mode settings as prominent text -->
114
- <div class="text-base">
115
- {#if repo.use_individual_branch}
116
- <div
117
- ><span class="font-bold">Promotion:</span> Creating branches whose promotion target is main</div
118
- >
119
- {#if repo.group_by_folder}
120
- <div class="text-sm text-tertiary mt-1">Grouped by folder</div>
121
- {/if}
122
- {:else}
123
- <div>Sync: <span class="font-bold">Syncing back to branch main</span></div>
124
- {/if}
125
- </div>
126
+ <GitSyncModeDisplay {mode} {targetBranch} repository={repo} />
126
127
 
127
128
  <!-- Initialize button -->
128
129
  <div class="flex justify-start">
@@ -149,19 +150,7 @@ async function handleSaveConnection() {
149
150
  useIndividualBranch={repo.use_individual_branch}
150
151
  />
151
152
 
152
- <!-- Display mode settings as prominent text -->
153
- <div class="text-base">
154
- {#if repo.use_individual_branch}
155
- <div
156
- ><span class="font-bold">Promotion:</span> Creating branches whose promotion target is main</div
157
- >
158
- {#if repo.group_by_folder}
159
- <div class="text-sm text-tertiary mt-1">Grouped by folder</div>
160
- {/if}
161
- {:else}
162
- <div>Sync: <span class="font-bold">Syncing back to branch main</span></div>
163
- {/if}
164
- </div>
153
+ <GitSyncModeDisplay {mode} {targetBranch} repository={repo} />
165
154
 
166
155
  <!-- Save connection button -->
167
156
  <div class="flex justify-start">
@@ -1,5 +1,6 @@
1
1
  type $$ComponentProps = {
2
2
  idx: number;
3
+ mode?: 'sync' | 'promotion';
3
4
  };
4
5
  declare const DetectionFlow: import("svelte").Component<$$ComponentProps, {}, "">;
5
6
  type DetectionFlow = ReturnType<typeof DetectionFlow>;