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
@@ -229,28 +229,36 @@ async function testConnection() {
229
229
  <label class="block pb-2">
230
230
  <span class="text-primary font-semibold text-sm">Service Account Key</span>
231
231
  <span class="text-tertiary text-2xs">JSON content of the service account key file</span>
232
- <SimpleEditor
233
- lang="json"
234
- bind:code={
235
- () => {
236
- if (bucket_config?.type === 'Gcs') {
237
- return JSON.stringify(bucket_config.serviceAccountKey)
238
- } else {
239
- return '{}'
240
- }
241
- },
242
- (v) => {
243
- if (bucket_config?.type === 'Gcs') {
244
- try {
245
- bucket_config.serviceAccountKey = JSON.parse(v ?? '{}')
246
- } catch (_) {
247
- bucket_config.serviceAccountKey = {}
232
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
233
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
234
+ <div
235
+ onclick={(ev) => {
236
+ ev.stopPropagation() // this is to prevent wrapping label interference
237
+ }}
238
+ >
239
+ <SimpleEditor
240
+ lang="json"
241
+ bind:code={
242
+ () => {
243
+ if (bucket_config?.type === 'Gcs') {
244
+ return JSON.stringify(bucket_config.serviceAccountKey)
245
+ } else {
246
+ return '{}'
247
+ }
248
+ },
249
+ (v) => {
250
+ if (bucket_config?.type === 'Gcs') {
251
+ try {
252
+ bucket_config.serviceAccountKey = JSON.parse(v ?? '{}')
253
+ } catch (_) {
254
+ bucket_config.serviceAccountKey = {}
255
+ }
248
256
  }
249
257
  }
250
258
  }
251
- }
252
- class="h-80"
253
- />
259
+ class="h-80"
260
+ />
261
+ </div>
254
262
  </label>
255
263
  {:else}
256
264
  <div>Unknown bucket type {bucket_config['type']}</div>
@@ -1,12 +1,8 @@
1
- <script lang="ts">// @ts-nocheck
2
- import { onMount } from 'svelte';
3
- export let password;
4
- export let placeholder = '******';
5
- export let disabled = false;
6
- export let required = false;
7
- export let small = false;
8
- $: red = required && (password == '' || password == undefined);
9
- let hideValue = true;
1
+ <script lang="ts">import { createBubbler } from 'svelte/legacy';
2
+ const bubble = createBubbler();
3
+ let { password = $bindable(), placeholder = '******', disabled = false, required = false, small = false, onKeyDown } = $props();
4
+ let red = $derived(required && (password == '' || password == undefined));
5
+ let hideValue = $state(true);
10
6
  let randomId = (Math.random() * 10e15).toString(16);
11
7
  </script>
12
8
 
@@ -25,7 +21,7 @@ let randomId = (Math.random() * 10e15).toString(16);
25
21
  : ''} text-sm h-9"
26
22
  type="password"
27
23
  bind:value={password}
28
- on:keydown
24
+ onkeydown={onKeyDown}
29
25
  autocomplete="new-password"
30
26
  {placeholder}
31
27
  {disabled}
@@ -37,7 +33,7 @@ let randomId = (Math.random() * 10e15).toString(16);
37
33
  : ''} text-sm h-9"
38
34
  type="text"
39
35
  bind:value={password}
40
- on:keydown
36
+ onkeydown={bubble('keydown')}
41
37
  autocomplete="new-password"
42
38
  {placeholder}
43
39
  {disabled}
@@ -1,26 +1,11 @@
1
- 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> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const Password: $$__sveltets_2_IsomorphicComponent<{
1
+ interface Props {
15
2
  password: string | undefined;
16
3
  placeholder?: string;
17
4
  disabled?: boolean;
18
5
  required?: boolean;
19
6
  small?: boolean;
20
- }, {
21
- keydown: KeyboardEvent;
22
- } & {
23
- [evt: string]: CustomEvent<any>;
24
- }, {}, {}, string>;
25
- type Password = InstanceType<typeof Password>;
7
+ onKeyDown?: (event: KeyboardEvent) => void;
8
+ }
9
+ declare const Password: import("svelte").Component<Props, {}, "password">;
10
+ type Password = ReturnType<typeof Password>;
26
11
  export default Password;
@@ -1,21 +1,20 @@
1
1
  <script lang="ts">import { VariableService } from '../gen';
2
2
  import { userStore, workspaceStore } from '../stores';
3
3
  import { generateRandomString } from '../utils';
4
+ import { Button } from './common';
4
5
  import Password from './Password.svelte';
5
- export let value = undefined;
6
- export let disabled;
7
- let path = '';
8
- let password = value && typeof value === 'string' && !value.startsWith('$var:') ? value : '';
6
+ import { untrack } from 'svelte';
7
+ let { value = $bindable(undefined), disabled } = $props();
8
+ let path = $state('');
9
+ let password = $state(value && typeof value === 'string' && !value.startsWith('$var:') ? value : '');
9
10
  let isGenerating = false;
11
+ let userPrefix = $derived('u/' + ($userStore?.username ?? $userStore?.email)?.split('@')[0] + '/secret_arg/');
10
12
  async function generateValue() {
11
13
  if (isGenerating)
12
14
  return;
13
15
  isGenerating = true;
14
16
  try {
15
- let npath = 'u/' +
16
- ($userStore?.username ?? $userStore?.email)?.split('@')[0] +
17
- '/secret_arg/' +
18
- generateRandomString(12);
17
+ let npath = userPrefix + generateRandomString(12);
19
18
  let nvalue = '$var:' + npath;
20
19
  await VariableService.createVariable({
21
20
  workspace: $workspaceStore,
@@ -28,6 +27,7 @@ async function generateValue() {
28
27
  }
29
28
  });
30
29
  path = npath;
30
+ console.log('generated', nvalue);
31
31
  value = nvalue;
32
32
  debouncedUpdate();
33
33
  }
@@ -54,12 +54,32 @@ function debouncedUpdate() {
54
54
  timeout && clearTimeout(timeout);
55
55
  timeout = setTimeout(updateValue, 500);
56
56
  }
57
- $: password && debouncedUpdate();
58
- $: $workspaceStore &&
59
- ($userStore?.username || $userStore?.email) &&
60
- path == '' &&
61
- password != '' &&
62
- generateValue();
57
+ $effect(() => {
58
+ password && untrack(() => debouncedUpdate());
59
+ });
60
+ $effect(() => {
61
+ $workspaceStore &&
62
+ ($userStore?.username || $userStore?.email) &&
63
+ path == '' &&
64
+ password != '' &&
65
+ untrack(() => generateValue());
66
+ });
63
67
  </script>
64
68
 
65
- <Password {disabled} bind:password />
69
+ {#if value?.startsWith('$var:') && !value.startsWith('$var:' + userPrefix)}
70
+ <div class="flex items-center gap-2 text-sm text-tertiary">
71
+ Linked to static variable
72
+ <Button
73
+ color="light"
74
+ size="xs"
75
+ variant="border"
76
+ onclick={() => {
77
+ value = ''
78
+ }}
79
+ >
80
+ Reset variable link
81
+ </Button>
82
+ </div>
83
+ {:else}
84
+ <Password {disabled} bind:password />
85
+ {/if}
@@ -1,21 +1,7 @@
1
- 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> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const PasswordArgInput: $$__sveltets_2_IsomorphicComponent<{
1
+ interface Props {
15
2
  value?: string | undefined;
16
3
  disabled: boolean;
17
- }, {
18
- [evt: string]: CustomEvent<any>;
19
- }, {}, {}, string>;
20
- type PasswordArgInput = InstanceType<typeof PasswordArgInput>;
4
+ }
5
+ declare const PasswordArgInput: import("svelte").Component<Props, {}, "value">;
6
+ type PasswordArgInput = ReturnType<typeof PasswordArgInput>;
21
7
  export default PasswordArgInput;
@@ -344,10 +344,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
344
344
  <ToggleButton
345
345
  icon={User}
346
346
  disabled={disabled || disableEditing}
347
- light
348
- size="xs"
349
347
  value="user"
350
- position="left"
351
348
  label="User"
352
349
  {item}
353
350
  />
@@ -355,10 +352,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
355
352
  <ToggleButton
356
353
  icon={Folder}
357
354
  disabled={disabled || disableEditing}
358
- light
359
- size="xs"
360
355
  value="folder"
361
- position="right"
362
356
  label="Folder"
363
357
  {item}
364
358
  />
@@ -367,7 +361,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
367
361
  </div>
368
362
  {/if}
369
363
  {#if !hideUser}
370
- <div class="text-xl">/</div>
364
+ <div class="text-xl text-tertiary">/</div>
371
365
  {/if}
372
366
  <div>
373
367
  {#if meta.ownerKind === 'user'}
@@ -389,7 +383,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
389
383
  </label>
390
384
  {/if}
391
385
  </div>
392
- <span class="text-xl">/</span>
386
+ <span class="text-xl text-tertiary">/</span>
393
387
  <label class="block grow w-full max-w-md">
394
388
  <!-- svelte-ignore a11y_autofocus -->
395
389
  <input
@@ -34,6 +34,6 @@ declare const Path: $$__sveltets_2_IsomorphicComponent<Props, {
34
34
  focus: () => void;
35
35
  setName: (x: string) => void;
36
36
  reset: () => Promise<void>;
37
- }, "error" | "path" | "disabled" | "dirty">;
37
+ }, "path" | "disabled" | "error" | "dirty">;
38
38
  type Path = InstanceType<typeof Path>;
39
39
  export default Path;
@@ -16,8 +16,12 @@ $effect(() => {
16
16
  JobService.getScheduledFor({
17
17
  workspace: workspace,
18
18
  id: jobId
19
- }).then((response) => {
19
+ })
20
+ .then((response) => {
20
21
  scheduledFor = response;
22
+ })
23
+ .catch((error) => {
24
+ console.error('Failed to fetch scheduled for:', error);
21
25
  });
22
26
  }
23
27
  catch (error) {
@@ -45,8 +49,8 @@ $effect(() => {
45
49
  queueState = undefined;
46
50
  }
47
51
  return () => {
52
+ scheduledForTimeout && clearTimeout(scheduledForTimeout);
48
53
  if (queuePositionInterval) {
49
- scheduledForTimeout && clearTimeout(scheduledForTimeout);
50
54
  clearInterval(queuePositionInterval);
51
55
  }
52
56
  };
@@ -258,10 +258,9 @@ run(() => {
258
258
  <h5 class="mt-4 inline-flex items-center gap-4 pb-2">
259
259
  File content ({resourceTypeInfo.format_extension})
260
260
  </h5>
261
- <div class="h-full w-full border p-1 rounded">
261
+ <div class="">
262
262
  <SimpleEditor
263
263
  autoHeight
264
- class="editor"
265
264
  lang={resourceTypeInfo.format_extension}
266
265
  bind:code={textFileContent}
267
266
  fixedOverflowWidgets={false}
@@ -291,14 +290,8 @@ run(() => {
291
290
  {#if !emptyString(jsonError)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
292
291
  >{jsonError}</span
293
292
  >{:else}<div class="py-2"></div>{/if}
294
- <div class="h-full w-full border p-1 rounded">
295
- <SimpleEditor
296
- autoHeight
297
- class="editor"
298
- lang="json"
299
- bind:code={rawCode}
300
- fixedOverflowWidgets={false}
301
- />
293
+ <div class="bg-surface-secondary rounded-md border py-2.5">
294
+ <SimpleEditor autoHeight lang="json" bind:code={rawCode} />
302
295
  </div>
303
296
  {/if}
304
297
  </div>
@@ -4,12 +4,14 @@ import { onMount, untrack } from 'svelte';
4
4
  import AppConnect from './AppConnectDrawer.svelte';
5
5
  import ResourceEditorDrawer from './ResourceEditorDrawer.svelte';
6
6
  import { Button } from './common';
7
- import { Pen, Plus, RotateCw } from 'lucide-svelte';
7
+ import { Loader2, Pen, Plus, RotateCw } from 'lucide-svelte';
8
8
  import { sendUserToast } from '../toast';
9
9
  import Select from './select/Select.svelte';
10
10
  import DbManagerDrawer from './DBManagerDrawer.svelte';
11
11
  import ExploreAssetButton, { assetCanBeExplored } from './ExploreAssetButton.svelte';
12
- let { initialValue = $bindable(undefined), value = $bindable(undefined), valueType = $bindable(undefined), resourceType = undefined, disabled = false, disablePortal = false, showSchemaExplorer = false, selectFirst = false, expressOAuthSetup = false, defaultValues = undefined, placeholder = undefined, onClear = undefined, excludedValues = undefined } = $props();
12
+ import { twMerge } from 'tailwind-merge';
13
+ import DropdownV2 from './DropdownV2.svelte';
14
+ let { initialValue = $bindable(undefined), value = $bindable(undefined), valueType = $bindable(undefined), resourceType = undefined, disabled = false, disablePortal = false, showSchemaExplorer = false, selectFirst = false, expressOAuthSetup = false, defaultValues = undefined, placeholder = undefined, selectInputClass = '', class: className = '', onClear = undefined, excludedValues = undefined } = $props();
13
15
  if (initialValue && value == undefined) {
14
16
  console.log('initialValue', initialValue);
15
17
  value = initialValue;
@@ -128,91 +130,102 @@ let dbManagerDrawer = $state();
128
130
  }}
129
131
  />
130
132
  <!-- {JSON.stringify({ value, collection })} -->
131
- <div class="flex flex-col w-full items-start min-h-9">
133
+ <div class="flex flex-col w-full items-start min-h-10 {className}">
132
134
  <div class="flex flex-row w-full items-center">
133
- {#if collection?.length > 0}
134
- <Select
135
- {disabled}
136
- {disablePortal}
137
- bind:value={
138
- () => value,
139
- (v) => {
140
- value = v
141
- valueType = collection.find((x) => x?.value == v)?.type
142
- }
135
+ <Select
136
+ {disabled}
137
+ {disablePortal}
138
+ bind:value={
139
+ () => value,
140
+ (v) => {
141
+ value = v
142
+ valueType = collection.find((x) => x?.value == v)?.type
143
143
  }
144
- onClear={() => {
145
- initialValue = undefined
146
- value = undefined
147
- valueType = undefined
148
- onClear?.()
149
- }}
150
- items={collection}
151
- clearable
152
- class="text-clip grow min-w-0"
153
- placeholder={placeholder ?? `${resourceType ?? 'any'} resource`}
154
- />
155
- {:else if !loading}
156
- <div class="text-2xs text-tertiary mr-2">0 found</div>
157
- {/if}
158
- {#if !loading}
159
- <div class="mx-0.5"></div>
160
- {#if value && value != ''}
144
+ }
145
+ onClear={() => {
146
+ initialValue = undefined
147
+ value = undefined
148
+ valueType = undefined
149
+ onClear?.()
150
+ }}
151
+ items={collection}
152
+ clearable
153
+ class="text-clip grow min-w-0"
154
+ inputClass={twMerge('min-h-10', selectInputClass)}
155
+ placeholder={placeholder ?? `${resourceType ?? 'any'} resource`}
156
+ itemLabelWrapperClasses="flex-1"
157
+ itemButtonWrapperClasses="flex"
158
+ >
159
+ {#snippet endSnippet({ item, close })}
161
160
  <Button
162
161
  {disabled}
163
162
  color="light"
164
163
  variant="contained"
165
- size="sm"
166
- btnClasses="w-8 px-0.5 py-1.5"
167
- on:click={() => resourceEditor?.initEdit?.(value ?? '')}
164
+ size="xs3"
165
+ btnClasses="w-8 px-0.5 py-1.5 bg-transparent hover:bg-surface-secondary"
166
+ wrapperClasses="-mr-2 pl-1"
167
+ on:click={() => (resourceEditor?.initEdit?.(item.value ?? ''), close())}
168
168
  startIcon={{ icon: Pen }}
169
169
  iconOnly
170
170
  />
171
- {/if}
172
-
173
- {#if resourceType?.includes(',')}
174
- {#each resourceType.split(',') as rt}
171
+ {/snippet}
172
+ {#snippet bottomSnippet({ close })}
173
+ <div class="flex bg-surface border-t divide-x">
174
+ {#if resourceType?.includes(',')}
175
+ <DropdownV2
176
+ enableFlyTransition
177
+ items={resourceType?.split(',').map((rt) => ({
178
+ displayName: `${rt} resource`,
179
+ icon: Plus,
180
+ action: () => (appConnect?.open?.(rt), close())
181
+ })) ?? []}
182
+ >
183
+ {#snippet buttonReplacement()}
184
+ <Button
185
+ {disabled}
186
+ color="light"
187
+ variant="contained"
188
+ wrapperClasses="flex-1"
189
+ btnClasses="rounded-none mt-0.5"
190
+ size="sm"
191
+ startIcon={{ icon: Plus }}
192
+ >
193
+ Add a resource
194
+ </Button>
195
+ {/snippet}
196
+ </DropdownV2>
197
+ {:else}
198
+ <Button
199
+ {disabled}
200
+ color="light"
201
+ variant="contained"
202
+ wrapperClasses="flex-1"
203
+ btnClasses="rounded-none"
204
+ size="sm"
205
+ on:click={() => (appConnect?.open?.(resourceType), close())}
206
+ startIcon={{ icon: Plus }}
207
+ >
208
+ Add a {resourceType} resource
209
+ </Button>
210
+ {/if}
175
211
  <Button
176
- {disabled}
177
- color="light"
178
212
  variant="contained"
213
+ color="light"
214
+ btnClasses="rounded-none"
179
215
  size="sm"
180
- btnClasses="w-8 px-0.5 py-1.5"
181
- on:click={() => appConnect?.open?.(rt)}
182
- startIcon={{ icon: Plus }}>{rt}</Button
183
- >
184
- {/each}
185
- {:else}
186
- <Button
187
- {disabled}
188
- color="light"
189
- variant="border"
190
- size="sm"
191
- on:click={() => appConnect?.open?.(resourceType)}
192
- startIcon={{ icon: Plus }}
193
- iconOnly={collection?.length > 0}
194
- >{#if collection?.length == 0}
195
- Add a {resourceType} resource
196
- {/if}</Button
197
- >
198
- <div class="mx-0.5"></div>
199
- {/if}
200
- {/if}
201
-
202
- <Button
203
- variant="contained"
204
- color="light"
205
- btnClasses="w-8 px-0.5 py-1.5"
206
- size="sm"
207
- on:click={() => {
208
- loadResources(resourceType)
209
- }}
210
- startIcon={{ icon: RotateCw }}
211
- iconOnly
212
- />
216
+ on:click={() => {
217
+ loadResources(resourceType)
218
+ }}
219
+ startIcon={loading ? { icon: Loader2, classes: 'animate-spin' } : { icon: RotateCw }}
220
+ iconOnly
221
+ />
222
+ </div>
223
+ {/snippet}
224
+ </Select>
213
225
  </div>
214
226
  {#if showSchemaExplorer && value && assetCanBeExplored({ kind: 'resource', path: value }, { resource_type: resourceType })}
215
227
  <ExploreAssetButton
228
+ class="mt-1"
216
229
  _resourceMetadata={{ resource_type: resourceType }}
217
230
  asset={{ kind: 'resource', path: value }}
218
231
  {dbManagerDrawer}
@@ -10,6 +10,8 @@ interface Props {
10
10
  expressOAuthSetup?: boolean;
11
11
  defaultValues?: Record<string, any> | undefined;
12
12
  placeholder?: string | undefined;
13
+ selectInputClass?: string;
14
+ class?: string;
13
15
  onClear?: () => void;
14
16
  excludedValues?: string[];
15
17
  }
@@ -217,7 +217,7 @@ let scatterOptions = $derived({
217
217
  <!-- {JSON.stringify(jobs?.map((x) => x.started_at))} -->
218
218
  <div class="relative max-h-40">
219
219
  {#if !lastFetchWentToEnd}
220
- <div class="absolute top-[-26px] left-[160px]"
220
+ <div class="absolute top-[-28px] left-[180px]"
221
221
  ><Button size="xs" color="transparent" variant="contained" on:click={() => onLoadExtra()}
222
222
  >Load more <Tooltip2
223
223
  >There are more jobs to load but only the first 1000 were fetched</Tooltip2
@@ -12,7 +12,6 @@ import JsonInputs from './JsonInputs.svelte';
12
12
  import { triggerableByAI } from '../actions/triggerableByAI.svelte';
13
13
  import InputSelectedBadge from './schema/InputSelectedBadge.svelte';
14
14
  import { untrack } from 'svelte';
15
- import {} from '../gen';
16
15
  let reloadArgs = $state(0);
17
16
  let jsonEditor = $state(undefined);
18
17
  let schemaHeight = $state(0);
@@ -159,7 +158,7 @@ $effect(() => {
159
158
  {#if topButton}
160
159
  <Button
161
160
  btnClasses="!px-6 !py-1 w-full"
162
- disabled={!isValid || jsonView}
161
+ disabled={!isValid && !jsonView}
163
162
  on:click={() => runAction(undefined, args ?? {}, invisible_to_owner, overrideTag)}
164
163
  >
165
164
  {buttonText}
@@ -167,10 +166,12 @@ $effect(() => {
167
166
  {/if}
168
167
  {#if runnable?.schema}
169
168
  <div class="my-2"></div>
170
- {#if !runnable.schema.properties || Object.keys(runnable.schema.properties).length === 0}
171
- <div class="text-sm py-4 italic">No arguments</div>
172
- {:else if jsonView}
173
- <div class="py-2" style="height: {schemaHeight}px" data-schema-picker>
169
+ {#if jsonView}
170
+ <div
171
+ class="py-2"
172
+ style="height: {!schemaHeight || schemaHeight < 600 ? 600 : schemaHeight}px"
173
+ data-schema-picker
174
+ >
174
175
  <JsonInputs
175
176
  bind:this={jsonEditor}
176
177
  on:select={(e) => {
@@ -182,23 +183,17 @@ $effect(() => {
182
183
  placeholder={`Write args as JSON.<br/><br/>Example:<br/><br/>{<br/>&nbsp;&nbsp;"foo": "12"<br/>}`}
183
184
  />
184
185
  </div>
186
+ {:else if !runnable.schema.properties || Object.keys(runnable.schema.properties).length === 0}
187
+ <div class="text-sm py-4 italic">No arguments</div>
185
188
  {:else}
186
189
  {#key reloadArgs}
187
190
  <div bind:clientHeight={schemaHeight}>
188
191
  <SchemaForm
189
- helperScript={runnable.hash
190
- ? {
191
- type: 'hash',
192
- hash: runnable.hash
193
- }
194
- : runnable.schema?.['x-windmill-dyn-select-code'] &&
195
- runnable.schema?.['x-windmill-dyn-select-lang']
196
- ? {
197
- type: 'inline',
198
- code: runnable.schema['x-windmill-dyn-select-code'] as string,
199
- lang: runnable.schema['x-windmill-dyn-select-lang'] as ScriptLang
200
- }
201
- : undefined}
192
+ helperScript={{
193
+ source: 'deployed',
194
+ path: runnable.path!,
195
+ runnable_kind: runnable.hash ? 'script' : 'flow'
196
+ }}
202
197
  prettifyHeader
203
198
  {noVariablePicker}
204
199
  {autofocus}
@@ -220,7 +215,7 @@ $effect(() => {
220
215
  {loading}
221
216
  color="dark"
222
217
  btnClasses="!px-6 !py-1 !h-8 inline-flex gap-2"
223
- disabled={!isValid || jsonView}
218
+ disabled={!isValid && !jsonView}
224
219
  on:click={() => runAction(scheduledForStr, args ?? {}, invisible_to_owner, overrideTag)}
225
220
  shortCut={{ Icon: CornerDownLeft, hide: !viewKeybinding }}
226
221
  >
@@ -258,7 +253,7 @@ $effect(() => {
258
253
  {:else if !topButton}
259
254
  <Button
260
255
  btnClasses="!px-6 !py-1 w-full"
261
- disabled={!isValid || jsonView}
256
+ disabled={!isValid && !jsonView}
262
257
  on:click={() => runAction(undefined, args ?? {}, invisible_to_owner, overrideTag)}
263
258
  shortCut={{ Icon: CornerDownLeft, hide: !viewKeybinding }}
264
259
  >
@@ -0,0 +1,18 @@
1
+ <script lang="ts">import { Button } from './common';
2
+ import { Plug } from 'lucide-svelte';
3
+ let { label = 'Add object from an expression', onClick, connecting = false, class: className = '' } = $props();
4
+ </script>
5
+
6
+ {#if !connecting}
7
+ <Button
8
+ variant="border"
9
+ color="light"
10
+ size="xs"
11
+ btnClasses="font-normal text-tertiary"
12
+ startIcon={{ icon: Plug }}
13
+ onclick={onClick}
14
+ wrapperClasses={className}
15
+ >
16
+ {label}
17
+ </Button>
18
+ {/if}
@@ -0,0 +1,9 @@
1
+ interface Props {
2
+ label?: string;
3
+ onClick: () => void;
4
+ connecting?: boolean;
5
+ class?: string;
6
+ }
7
+ declare const S3ArrayHelperButton: import("svelte").Component<Props, {}, "">;
8
+ type S3ArrayHelperButton = ReturnType<typeof S3ArrayHelperButton>;
9
+ export default S3ArrayHelperButton;
@@ -717,7 +717,7 @@ $effect.pre(() => {
717
717
  <div class="flex gap-1">
718
718
  {#if secondaryStorageNames.value?.length}
719
719
  <Select
720
- inputClass="h-10 min-w-44 !placeholder-primary"
720
+ inputClass="h-10 min-w-44 !placeholder-secondary"
721
721
  items={[
722
722
  { value: undefined, label: 'Default storage' },
723
723
  ...secondaryStorageNames.value.map((value) => ({ value }))