windmill-components 1.623.1 → 1.623.2

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 (480) hide show
  1. package/package/assets/tokens/tokens.json +11 -1
  2. package/package/ata/apis.js +78 -5
  3. package/package/cancelable-promise-utils.js +4 -2
  4. package/package/components/AddUser.svelte +1 -1
  5. package/package/components/ApiConnectForm.svelte +6 -0
  6. package/package/components/AppConnectDrawer.svelte +1 -0
  7. package/package/components/AppConnectInner.svelte +1 -0
  8. package/package/components/AuthSettings.svelte +3 -1
  9. package/package/components/BedrockCredentialsCheck.svelte +241 -0
  10. package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
  11. package/package/components/CenteredModal.svelte +32 -24
  12. package/package/components/CenteredModal.svelte.d.ts +7 -27
  13. package/package/components/CenteredPage.svelte +6 -2
  14. package/package/components/CenteredPage.svelte.d.ts +3 -0
  15. package/package/components/CompareWorkspaces.svelte +74 -16
  16. package/package/components/ConcurrentJobsChart.svelte +3 -2
  17. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  18. package/package/components/CustomPopover.svelte +20 -23
  19. package/package/components/CustomPopover.svelte.d.ts +14 -39
  20. package/package/components/DBManager.svelte +134 -42
  21. package/package/components/DBManager.svelte.d.ts +13 -2
  22. package/package/components/DBManagerContent.svelte +25 -63
  23. package/package/components/DBManagerContent.svelte.d.ts +38 -4
  24. package/package/components/DBManagerDrawer.svelte +7 -9
  25. package/package/components/DBTable.svelte +1 -1
  26. package/package/components/DBTable.svelte.d.ts +3 -1
  27. package/package/components/DBTableEditor.svelte +234 -178
  28. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  29. package/package/components/DateInput.svelte +29 -35
  30. package/package/components/DateInput.svelte.d.ts +10 -11
  31. package/package/components/DedicatedWorkersSelector.svelte +569 -0
  32. package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
  33. package/package/components/DeployWorkspace.svelte +106 -29
  34. package/package/components/Description.svelte +3 -2
  35. package/package/components/Dev.svelte +36 -2
  36. package/package/components/DiffDrawer.svelte +8 -29
  37. package/package/components/DiffEditor.svelte +32 -2
  38. package/package/components/DisplayResult.svelte +32 -24
  39. package/package/components/DropdownV2.svelte +2 -1
  40. package/package/components/DropdownV2.svelte.d.ts +1 -0
  41. package/package/components/Editor.svelte +71 -26
  42. package/package/components/Editor.svelte.d.ts +3 -0
  43. package/package/components/EditorBar.svelte +1 -1
  44. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  45. package/package/components/FlowBuilder.svelte +17 -11
  46. package/package/components/FlowDiffViewer.svelte +37 -0
  47. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  48. package/package/components/FlowGraphViewer.svelte +5 -2
  49. package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
  50. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  51. package/package/components/FlowPreviewContent.svelte +3 -2
  52. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  53. package/package/components/FlowPreviewResult.svelte +0 -4
  54. package/package/components/FlowRestartButton.svelte +2 -3
  55. package/package/components/FlowRestartButton.svelte.d.ts +3 -0
  56. package/package/components/FlowStatusViewerInner.svelte +55 -35
  57. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  58. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  59. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  60. package/package/components/FlowViewer.svelte +103 -2
  61. package/package/components/FlowViewer.svelte.d.ts +9 -3
  62. package/package/components/ForkWorkspaceBanner.svelte +32 -13
  63. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  64. package/package/components/HistoricInputs.svelte +25 -27
  65. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  66. package/package/components/InfiniteList.svelte +27 -20
  67. package/package/components/InfiniteList.svelte.d.ts +2 -0
  68. package/package/components/InstanceSetting.svelte +38 -0
  69. package/package/components/InviteUser.svelte +16 -42
  70. package/package/components/InviteUser.svelte.d.ts +4 -18
  71. package/package/components/JobLoader.svelte.d.ts +1 -1
  72. package/package/components/JobOtelTraces.svelte +287 -0
  73. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  74. package/package/components/JsonInputs.svelte +6 -8
  75. package/package/components/JsonInputs.svelte.d.ts +7 -8
  76. package/package/components/LogViewer.svelte +91 -33
  77. package/package/components/Login.svelte +27 -0
  78. package/package/components/ManualPopover.svelte +5 -6
  79. package/package/components/ManualPopover.svelte.d.ts +9 -35
  80. package/package/components/MemoryFootprintViewer.svelte +2 -6
  81. package/package/components/ModulePreview.svelte +23 -21
  82. package/package/components/ModulePreview.svelte.d.ts +1 -0
  83. package/package/components/NextcloudSetting.svelte +1 -1
  84. package/package/components/OAuthSetting.svelte +1 -0
  85. package/package/components/Path.svelte +2 -2
  86. package/package/components/Path.svelte.d.ts +1 -1
  87. package/package/components/PocketIdSetting.svelte +82 -0
  88. package/package/components/PocketIdSetting.svelte.d.ts +6 -0
  89. package/package/components/ResourceEditor.svelte +4 -4
  90. package/package/components/ResourcePicker.svelte +4 -0
  91. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  92. package/package/components/RunButton.svelte +5 -15
  93. package/package/components/RunButton.svelte.d.ts +7 -19
  94. package/package/components/RunChart.svelte +8 -4
  95. package/package/components/RunChart.svelte.d.ts +2 -2
  96. package/package/components/RunForm.svelte +9 -17
  97. package/package/components/RunForm.svelte.d.ts +0 -1
  98. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  99. package/package/components/RunsPage.svelte +202 -537
  100. package/package/components/RunsPage.svelte.d.ts +5 -5
  101. package/package/components/S3FilePicker.svelte +7 -11
  102. package/package/components/S3FilePickerInner.svelte +2 -3
  103. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  104. package/package/components/SavedInputsPicker.svelte +1 -1
  105. package/package/components/SavedInputsV2.svelte +35 -36
  106. package/package/components/SchemaForm.svelte +26 -19
  107. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  108. package/package/components/ScriptBuilder.svelte +1 -1
  109. package/package/components/ScriptEditor.svelte +575 -101
  110. package/package/components/Section.svelte +4 -2
  111. package/package/components/ServiceLogsInner.svelte +4 -4
  112. package/package/components/ShareModal.svelte.d.ts +1 -1
  113. package/package/components/SimpleEditor.svelte +46 -2
  114. package/package/components/Star.svelte +8 -12
  115. package/package/components/Star.svelte.d.ts +6 -19
  116. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  117. package/package/components/SuperadminSettingsInner.svelte +1 -1
  118. package/package/components/TemplateEditor.svelte +54 -29
  119. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  120. package/package/components/TimeAgo.svelte +49 -7
  121. package/package/components/TimeAgo.svelte.d.ts +1 -0
  122. package/package/components/Toast.svelte +5 -1
  123. package/package/components/UserSettings.svelte +1 -1
  124. package/package/components/WorkerGroup.svelte +35 -20
  125. package/package/components/WorkerGroup.svelte.d.ts +1 -0
  126. package/package/components/WorkerTagPicker.svelte +1 -1
  127. package/package/components/WorkerTagSelect.svelte +5 -2
  128. package/package/components/WorkspaceTutorials.svelte +5 -0
  129. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  130. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  131. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  132. package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
  133. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +2 -5
  134. package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
  135. package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
  136. package/package/components/apps/components/display/dbtable/metadata.d.ts +3 -3
  137. package/package/components/apps/components/display/dbtable/metadata.js +177 -148
  138. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  139. package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
  140. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  141. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  142. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  143. package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
  144. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  145. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  146. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
  147. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
  148. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  149. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  150. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  151. package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
  152. package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
  153. package/package/components/apps/components/display/dbtable/utils.js +61 -36
  154. package/package/components/apps/components/display/table/AppAggridTable.svelte +8 -0
  155. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -9
  156. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -1
  157. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  158. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  159. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  160. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  161. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  162. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  163. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
  164. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  165. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  166. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  167. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  168. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  169. package/package/components/apps/editor/PublicApp.svelte +49 -30
  170. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  171. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  172. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  173. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  174. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  175. package/package/components/apps/inputType.d.ts +6 -1
  176. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  177. package/package/components/assets/AssetsUsageDrawer.svelte +98 -27
  178. package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
  179. package/package/components/assets/lib.d.ts +3 -2
  180. package/package/components/assets/lib.js +3 -1
  181. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  182. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  183. package/package/components/common/CloseButton.svelte +2 -1
  184. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  185. package/package/components/common/badge/CountBadge.svelte +4 -3
  186. package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
  187. package/package/components/common/button/Button.svelte +1 -1
  188. package/package/components/common/button/model.js +1 -1
  189. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  190. package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
  191. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  192. package/package/components/common/drawer/Drawer.svelte +4 -1
  193. package/package/components/common/drawer/DrawerContent.svelte +6 -3
  194. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  195. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  196. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  197. package/package/components/common/modal/Modal.svelte +3 -3
  198. package/package/components/common/modal/Modal2.svelte +1 -0
  199. package/package/components/common/table/AppRow.svelte +4 -1
  200. package/package/components/common/table/FlowRow.svelte +4 -1
  201. package/package/components/common/table/RawAppRow.svelte +4 -1
  202. package/package/components/common/table/Row.svelte +11 -21
  203. package/package/components/common/table/Row.svelte.d.ts +4 -20
  204. package/package/components/common/table/RowIcon.svelte +6 -2
  205. package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
  206. package/package/components/common/table/ScriptRow.svelte +4 -1
  207. package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
  208. package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
  209. package/package/components/copilot/autocomplete/request.js +13 -9
  210. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  211. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  212. package/package/components/copilot/chat/AIChat.svelte +3 -1
  213. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  214. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  215. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  216. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  217. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  218. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  219. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  220. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  221. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  222. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  223. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  224. package/package/components/copilot/chat/app/core.d.ts +56 -15
  225. package/package/components/copilot/chat/app/core.js +141 -22
  226. package/package/components/copilot/chat/context.d.ts +59 -2
  227. package/package/components/copilot/chat/context.js +6 -2
  228. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  229. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  230. package/package/components/copilot/chat/flow/core.js +29 -2
  231. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  232. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  233. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  234. package/package/components/copilot/chat/script/core.d.ts +4 -1
  235. package/package/components/copilot/chat/script/core.js +43 -6
  236. package/package/components/copilot/chat/shared.d.ts +10 -0
  237. package/package/components/copilot/chat/shared.js +24 -0
  238. package/package/components/copilot/lib.d.ts +1 -1
  239. package/package/components/copilot/lib.js +2 -9
  240. package/package/components/copilot/utils.d.ts +5 -0
  241. package/package/components/copilot/utils.js +8 -0
  242. package/package/components/custom_ui.d.ts +2 -0
  243. package/package/components/dbOps.d.ts +18 -4
  244. package/package/components/dbOps.js +25 -3
  245. package/package/components/debug/DebugConsole.svelte +277 -0
  246. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  247. package/package/components/debug/DebugPanel.svelte +97 -0
  248. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  249. package/package/components/debug/DebugToolbar.svelte +148 -0
  250. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  251. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  252. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  253. package/package/components/debug/MonacoDebugger.svelte +384 -0
  254. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  255. package/package/components/debug/dapClient.d.ts +192 -0
  256. package/package/components/debug/dapClient.js +426 -0
  257. package/package/components/debug/debugUtils.d.ts +30 -0
  258. package/package/components/debug/debugUtils.js +131 -0
  259. package/package/components/debug/index.d.ts +75 -0
  260. package/package/components/debug/index.js +82 -0
  261. package/package/components/details/DetailPageHeader.svelte +21 -7
  262. package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
  263. package/package/components/details/DetailPageLayout.svelte +10 -1
  264. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  265. package/package/components/flows/CreateActionsApp.svelte +6 -4
  266. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  267. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  268. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  269. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  270. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  271. package/package/components/flows/content/FlowInput.svelte +211 -37
  272. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  273. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  274. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  275. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  276. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  277. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  278. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  279. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  280. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  281. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  282. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  283. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  284. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  285. package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
  286. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  287. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  288. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  289. package/package/components/flows/types.d.ts +2 -0
  290. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  291. package/package/components/graph/FlowGraphV2.svelte +7 -1
  292. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +41 -24
  293. package/package/components/home/ItemsList.svelte +7 -6
  294. package/package/components/home/TutorialBanner.svelte +34 -18
  295. package/package/components/home/treeViewUtils.js +1 -1
  296. package/package/components/icons/CssIcon.svelte +20 -0
  297. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  298. package/package/components/icons/HtmlIcon.svelte +20 -0
  299. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  300. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  301. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  302. package/package/components/icons/JsonIcon.svelte +8 -2
  303. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  304. package/package/components/icons/LessIcon.svelte +16 -0
  305. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  306. package/package/components/icons/MarkdownIcon.svelte +20 -0
  307. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  308. package/package/components/icons/NextcloudIcon.svelte +3 -2
  309. package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
  310. package/package/components/icons/PocketIdIcon.svelte +9 -0
  311. package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
  312. package/package/components/icons/ReactIcon.svelte +10 -2
  313. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  314. package/package/components/icons/SassIcon.svelte +28 -0
  315. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  316. package/package/components/icons/SvelteIcon.svelte +10 -2
  317. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  318. package/package/components/icons/VueIcon.svelte +10 -2
  319. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  320. package/package/components/icons/YamlIcon.svelte +20 -0
  321. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  322. package/package/components/icons/index.js +3 -1
  323. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  324. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  325. package/package/components/instanceSettings.d.ts +2 -1
  326. package/package/components/instanceSettings.js +33 -1
  327. package/package/components/jobs/JobPreview.svelte +46 -39
  328. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  329. package/package/components/monacoLanguagesOptions.js +16 -15
  330. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  331. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  332. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  333. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  334. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  335. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  336. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  337. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
  338. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  339. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  340. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  341. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  342. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  343. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  344. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  345. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  346. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  347. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  348. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  349. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  350. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  351. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  352. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  353. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  354. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  355. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  356. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  357. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  358. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  359. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  360. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  361. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  362. package/package/components/raw_apps/utils.d.ts +1 -1
  363. package/package/components/raw_apps/utils.js +76 -18
  364. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  365. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  366. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  367. package/package/components/runs/RunsFilter.svelte +75 -63
  368. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  369. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  370. package/package/components/runs/RunsTable.svelte +1 -1
  371. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  372. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  373. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  374. package/package/components/schema/EditableSchemaWrapper.svelte +2 -2
  375. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  376. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  377. package/package/components/select/MultiSelect.svelte +1 -1
  378. package/package/components/select/SelectDropdown.svelte +17 -5
  379. package/package/components/settings/AIPromptsModal.svelte +88 -0
  380. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  381. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  382. package/package/components/settings/ChangeWorkspaceId.svelte +16 -11
  383. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  384. package/package/components/settings/CreateToken.svelte +4 -4
  385. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  386. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  387. package/package/components/settings/WorkspaceUserSettings.svelte +537 -411
  388. package/package/components/sidebar/MenuButton.svelte +54 -24
  389. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
  391. package/package/components/sidebar/OperatorMenu.svelte +63 -88
  392. package/package/components/sidebar/SidebarContent.svelte +39 -6
  393. package/package/components/sidebar/UserMenu.svelte +3 -3
  394. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  395. package/package/components/sqlTypeService.js +4 -3
  396. package/package/components/table/DataTable.svelte +8 -3
  397. package/package/components/table/DataTable.svelte.d.ts +2 -0
  398. package/package/components/text_input/TextInput.svelte +3 -0
  399. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  400. package/package/components/triggers/AddTriggersButton.svelte +17 -4
  401. package/package/components/triggers/TriggersEditor.svelte +4 -0
  402. package/package/components/triggers/TriggersWrapper.svelte +14 -0
  403. package/package/components/triggers/native/NativeTriggerEditor.svelte +379 -0
  404. package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
  405. package/package/components/triggers/native/NativeTriggerTable.svelte +155 -0
  406. package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
  407. package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
  408. package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
  409. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
  410. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
  411. package/package/components/triggers/native/utils.d.ts +74 -0
  412. package/package/components/triggers/native/utils.js +152 -0
  413. package/package/components/triggers/triggers.svelte.d.ts +2 -1
  414. package/package/components/triggers/triggers.svelte.js +36 -8
  415. package/package/components/triggers/utils.js +18 -6
  416. package/package/components/triggers.d.ts +1 -1
  417. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  418. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  419. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  420. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  421. package/package/components/tutorials/utils.d.ts +16 -0
  422. package/package/components/tutorials/utils.js +96 -0
  423. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  424. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  425. package/package/components/vscode.js +6 -6
  426. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  427. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  428. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  429. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  430. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  431. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  432. package/package/components/workspaceSettings/AISettings.svelte +147 -108
  433. package/package/components/workspaceSettings/CreateWorkspace.svelte +26 -12
  434. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
  435. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
  436. package/package/components/workspaceSettings/DataTableSettings.svelte +2 -1
  437. package/package/components/workspaceSettings/DucklakeSettings.svelte +54 -26
  438. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  439. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  440. package/package/components/workspaceSettings/OAuthClientConfig.svelte +180 -0
  441. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +14 -0
  442. package/package/components/workspaceSettings/StorageSettings.svelte +285 -241
  443. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  444. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +302 -0
  445. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
  446. package/package/consts.js +4 -3
  447. package/package/gen/core/OpenAPI.js +1 -1
  448. package/package/gen/schemas.gen.d.ts +517 -4
  449. package/package/gen/schemas.gen.js +523 -4
  450. package/package/gen/services.gen.d.ts +359 -22
  451. package/package/gen/services.gen.js +702 -44
  452. package/package/gen/types.gen.d.ts +1501 -121
  453. package/package/hub.js +2 -2
  454. package/package/hubPaths.json +3 -2
  455. package/package/infer.js +2 -0
  456. package/package/logout.d.ts +0 -2
  457. package/package/logout.js +2 -23
  458. package/package/logoutKit.d.ts +2 -0
  459. package/package/logoutKit.js +26 -0
  460. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  461. package/package/navigation.d.ts +1 -1
  462. package/package/rawAppWmillTs.d.ts +11 -0
  463. package/package/rawAppWmillTs.js +38 -1
  464. package/package/refreshUser.d.ts +5 -1
  465. package/package/refreshUser.js +20 -30
  466. package/package/storeUtils.js +2 -0
  467. package/package/svelte5Utils.svelte.d.ts +68 -1
  468. package/package/svelte5Utils.svelte.js +193 -2
  469. package/package/svelte5UtilsKit.svelte.d.ts +3 -0
  470. package/package/svelte5UtilsKit.svelte.js +30 -0
  471. package/package/tutorialUtils.js +0 -4
  472. package/package/tutorials/config.js +31 -3
  473. package/package/tutorials/roleUtils.d.ts +1 -1
  474. package/package/tutorials/roleUtils.js +6 -2
  475. package/package/utils.js +162 -1
  476. package/package.json +1 -1
  477. package/package/components/SavedInputs.svelte +0 -416
  478. package/package/components/runs/JobsLoader.svelte +0 -468
  479. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  480. package/package/components/schema/SchemaPicker.svelte +0 -92
package/package/utils.js CHANGED
@@ -678,7 +678,7 @@ export function pluralize(quantity, word, customPlural) {
678
678
  return `${quantity} ${word}`;
679
679
  }
680
680
  else if (customPlural) {
681
- return `${quantity} ${customPlural}}`;
681
+ return `${quantity} ${customPlural}`;
682
682
  }
683
683
  else {
684
684
  return `${quantity} ${word}s`;
@@ -730,6 +730,134 @@ export function getModifierKey() {
730
730
  export function isValidHexColor(color) {
731
731
  return /^#(([A-F0-9]{2}){3,4}|[A-F0-9]{3})$/i.test(color);
732
732
  }
733
+ /**
734
+ * Calculates the relative luminance of a color according to WCAG 2.1
735
+ * @param r Red component (0-255)
736
+ * @param g Green component (0-255)
737
+ * @param b Blue component (0-255)
738
+ * @returns Relative luminance value (0-1)
739
+ */
740
+ function getRelativeLuminance(r, g, b) {
741
+ const [rs, gs, bs] = [r, g, b].map((val) => {
742
+ val = val / 255;
743
+ return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
744
+ });
745
+ return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
746
+ }
747
+ /**
748
+ * Converts hex color to HSL
749
+ * @param hex Hex color string (e.g., "#FF0000")
750
+ * @returns Array of [hue (0-360), saturation (0-100), lightness (0-100)]
751
+ */
752
+ function hexToHsl(hex) {
753
+ // Normalize hex color
754
+ let normalizedHex = hex.replace('#', '');
755
+ if (normalizedHex.length === 3) {
756
+ normalizedHex = normalizedHex
757
+ .split('')
758
+ .map((char) => char + char)
759
+ .join('');
760
+ }
761
+ const r = parseInt(normalizedHex.substring(0, 2), 16) / 255;
762
+ const g = parseInt(normalizedHex.substring(2, 4), 16) / 255;
763
+ const b = parseInt(normalizedHex.substring(4, 6), 16) / 255;
764
+ const max = Math.max(r, g, b);
765
+ const min = Math.min(r, g, b);
766
+ let h = 0;
767
+ let s = 0;
768
+ const l = (max + min) / 2;
769
+ if (max !== min) {
770
+ const d = max - min;
771
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
772
+ switch (max) {
773
+ case r:
774
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
775
+ break;
776
+ case g:
777
+ h = ((b - r) / d + 2) / 6;
778
+ break;
779
+ case b:
780
+ h = ((r - g) / d + 4) / 6;
781
+ break;
782
+ }
783
+ }
784
+ return [h * 360, s * 100, l * 100];
785
+ }
786
+ /**
787
+ * Converts HSL to hex color
788
+ * @param h Hue (0-360)
789
+ * @param s Saturation (0-100)
790
+ * @param l Lightness (0-100)
791
+ * @returns Hex color string
792
+ */
793
+ function hslToHex(h, s, l) {
794
+ h = h / 360;
795
+ s = s / 100;
796
+ l = l / 100;
797
+ let r, g, b;
798
+ if (s === 0) {
799
+ r = g = b = l; // Achromatic
800
+ }
801
+ else {
802
+ const hue2rgb = (p, q, t) => {
803
+ if (t < 0)
804
+ t += 1;
805
+ if (t > 1)
806
+ t -= 1;
807
+ if (t < 1 / 6)
808
+ return p + (q - p) * 6 * t;
809
+ if (t < 1 / 2)
810
+ return q;
811
+ if (t < 2 / 3)
812
+ return p + (q - p) * (2 / 3 - t) * 6;
813
+ return p;
814
+ };
815
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
816
+ const p = 2 * l - q;
817
+ r = hue2rgb(p, q, h + 1 / 3);
818
+ g = hue2rgb(p, q, h);
819
+ b = hue2rgb(p, q, h - 1 / 3);
820
+ }
821
+ const toHex = (c) => {
822
+ const hex = Math.round(c * 255).toString(16);
823
+ return hex.length === 1 ? '0' + hex : hex;
824
+ };
825
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
826
+ }
827
+ /**
828
+ * Generates a text color with the same hue as the background but adjusted lightness for good contrast
829
+ * @param backgroundColor Hex color string (e.g., "#FF0000" or "#F00")
830
+ * @returns Hex color string with same hue but good contrast, or undefined if invalid
831
+ */
832
+ export function getContrastTextColor(backgroundColor) {
833
+ if (!backgroundColor || !isValidHexColor(backgroundColor)) {
834
+ return undefined;
835
+ }
836
+ // Normalize hex color
837
+ let hex = backgroundColor.replace('#', '');
838
+ if (hex.length === 3) {
839
+ hex = hex
840
+ .split('')
841
+ .map((char) => char + char)
842
+ .join('');
843
+ }
844
+ // Parse RGB components and calculate background luminance
845
+ const r = parseInt(hex.substring(0, 2), 16);
846
+ const g = parseInt(hex.substring(2, 4), 16);
847
+ const b = parseInt(hex.substring(4, 6), 16);
848
+ const bgLuminance = getRelativeLuminance(r, g, b);
849
+ // Convert to HSL to extract hue
850
+ const [hue] = hexToHsl(backgroundColor);
851
+ // Determine if background is light or dark
852
+ const isLightBackground = bgLuminance > 0.5;
853
+ // Use fixed saturation and lightness based on background lightness
854
+ // For light backgrounds: use dark text (low lightness, high saturation)
855
+ // For dark backgrounds: use light text (high lightness, high saturation)
856
+ const saturation = 70; // Fixed saturation for good readability
857
+ const lightness = isLightBackground ? 25 : 85; // Dark for light bg, light for dark bg
858
+ // Generate the color with the same hue but adjusted saturation and lightness
859
+ return hslToHex(hue, saturation, lightness);
860
+ }
733
861
  export function sortObject(o) {
734
862
  return Object.keys(o)
735
863
  .sort()
@@ -1514,3 +1642,36 @@ export function getQueryStmtCountHeuristic(query) {
1514
1642
  }
1515
1643
  return count;
1516
1644
  }
1645
+ export function countChars(str, char) {
1646
+ let count = 0;
1647
+ for (let i = 0; i < str.length; i++) {
1648
+ if (str[i] === char) {
1649
+ count++;
1650
+ }
1651
+ }
1652
+ return count;
1653
+ }
1654
+ export function onlyAlphaNumAndUnderscore(str) {
1655
+ return str.replace(/[^a-zA-Z0-9_]/g, '');
1656
+ }
1657
+ export function buildReactiveObj(fields) {
1658
+ const obj = {};
1659
+ for (const key in fields) {
1660
+ Object.defineProperty(obj, key, {
1661
+ get: fields[key][0],
1662
+ set: fields[key][1],
1663
+ enumerable: true,
1664
+ configurable: true
1665
+ });
1666
+ }
1667
+ return obj;
1668
+ }
1669
+ export function pick(obj, keys) {
1670
+ const result = {};
1671
+ for (const key of keys) {
1672
+ if (key in obj) {
1673
+ result[key] = obj[key];
1674
+ }
1675
+ }
1676
+ return result;
1677
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-components",
3
- "version": "1.623.1",
3
+ "version": "1.623.2",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build",
@@ -1,416 +0,0 @@
1
- <script lang="ts">import { Button } from './common';
2
- import { InputService, JobService } from '../gen/index.js';
3
- import { userStore, workspaceStore } from '../stores.js';
4
- import { base } from '../base';
5
- import { classNames, displayDateOnly, sendUserToast } from '../utils.js';
6
- import { createEventDispatcher, untrack } from 'svelte';
7
- import { Pane, Splitpanes } from 'svelte-splitpanes';
8
- import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
9
- import { ArrowLeftIcon, Edit, ExternalLink, X } from 'lucide-svelte';
10
- import Toggle from './Toggle.svelte';
11
- import Tooltip from './Tooltip.svelte';
12
- import TimeAgo from './TimeAgo.svelte';
13
- import JobsLoader from './runs/JobsLoader.svelte';
14
- import Skeleton from './common/skeleton/Skeleton.svelte';
15
- import SaveInputsButton from './SaveInputsButton.svelte';
16
- let { scriptHash = null, scriptPath = null, flowPath = null, canSaveInputs = true, isValid, args } = $props();
17
- let previousInputs = $state(undefined);
18
- let savedInputs = $state(undefined);
19
- let selectedInput = $state();
20
- let jobs = $state([]);
21
- let loading = $state(false);
22
- const dispatch = createEventDispatcher();
23
- let runnableId = $derived(scriptHash || scriptPath || flowPath || undefined);
24
- let runnableType = $derived(scriptHash ? 'ScriptHash' : scriptPath ? 'ScriptPath' : flowPath ? 'FlowPath' : undefined);
25
- let hasAlreadyFailed = false;
26
- async function loadInputHistory() {
27
- try {
28
- previousInputs = await InputService.getInputHistory({
29
- workspace: $workspaceStore,
30
- runnableId,
31
- runnableType,
32
- perPage: 10
33
- });
34
- }
35
- catch (e) {
36
- console.error(e);
37
- if (hasAlreadyFailed)
38
- return;
39
- hasAlreadyFailed = true;
40
- sendUserToast(`Failed to load input history: ${e}`, true);
41
- }
42
- }
43
- async function loadSavedInputs() {
44
- savedInputs = await InputService.listInputs({
45
- workspace: $workspaceStore,
46
- runnableId,
47
- runnableType,
48
- perPage: 10
49
- });
50
- }
51
- async function updateInput(input) {
52
- input.isSaving = true;
53
- try {
54
- await InputService.updateInput({
55
- workspace: $workspaceStore,
56
- requestBody: {
57
- id: input.id,
58
- name: input.name,
59
- is_public: input.is_public
60
- }
61
- });
62
- }
63
- catch (err) {
64
- console.error(err);
65
- sendUserToast(`Failed to update Input: ${err}`, true);
66
- }
67
- input.isSaving = false;
68
- }
69
- async function deleteInput(input) {
70
- try {
71
- await InputService.deleteInput({
72
- workspace: $workspaceStore,
73
- input: input.id
74
- });
75
- savedInputs = (savedInputs ?? []).filter((i) => i.id !== input.id);
76
- if (selectedInput === input) {
77
- selectedInput = null;
78
- }
79
- }
80
- catch (err) {
81
- console.error(err);
82
- sendUserToast(`Failed to delete Input: ${err}`, true);
83
- }
84
- }
85
- $effect(() => {
86
- if ($workspaceStore && (scriptHash || scriptPath || flowPath)) {
87
- untrack(() => {
88
- loadInputHistory();
89
- loadSavedInputs();
90
- });
91
- }
92
- });
93
- let previewArgs = $state(undefined);
94
- function selectArgs(selected_args) {
95
- previewArgs = selected_args;
96
- }
97
- async function loadLargeArgs(id, input, allowLarge) {
98
- if (!id)
99
- return;
100
- return await InputService.getArgsFromHistoryOrSavedInput({
101
- jobOrInputId: id,
102
- workspace: $workspaceStore,
103
- input,
104
- allowLarge
105
- });
106
- }
107
- </script>
108
-
109
- {#if runnableId}
110
- <JobsLoader
111
- bind:jobs
112
- path={runnableId}
113
- showSkipped={false}
114
- jobKindsCat="all"
115
- user={null}
116
- label={null}
117
- folder={null}
118
- concurrencyKey={null}
119
- tag={null}
120
- success="running"
121
- argFilter={undefined}
122
- bind:loading
123
- syncQueuedRunsCount={false}
124
- refreshRate={10000}
125
- computeMinAndMax={undefined}
126
- perPage={5}
127
- />
128
- {/if}
129
-
130
- <div class="min-w-[300px] h-full">
131
- <Splitpanes horizontal={true}>
132
- <Pane>
133
- <div class="w-full flex flex-col gap-4 p-2">
134
- <div class="w-full flex justify-between items-center gap-4 flex-wrap">
135
- <span class="text-sm font-semibold flex-shrink-0"
136
- >Saved Inputs<Tooltip
137
- >Shared inputs are available to anyone with access to the script</Tooltip
138
- ></span
139
- >
140
- {#if canSaveInputs}
141
- <SaveInputsButton
142
- {args}
143
- disabled={!isValid}
144
- {runnableId}
145
- {runnableType}
146
- on:update={() => {
147
- loadSavedInputs()
148
- }}
149
- />
150
- {/if}
151
- </div>
152
-
153
- <div class="w-full flex flex-col gap-1 h-full overflow-y-auto p">
154
- {#if savedInputs === undefined}
155
- <Skeleton layout={[[8]]} />
156
- {:else if savedInputs?.length > 0}
157
- {#each savedInputs as i}
158
- <button
159
- class={classNames(
160
- `w-full flex items-center text-sm group justify-between gap-4 py-1.5 px-4 text-left border rounded-sm hover:bg-surface-hover transition-all`,
161
- selectedInput === i ? 'border-blue-500 bg-blue-50 dark:bg-blue-900' : ''
162
- )}
163
- onclick={async () => {
164
- if (!i.isEditing) {
165
- if (selectedInput === i) {
166
- selectedInput = null
167
- } else {
168
- selectedInput = i
169
- }
170
- }
171
- selectArgs(await loadLargeArgs(i.id, true, false))
172
- }}
173
- >
174
- <div class="w-full h-full items-center justify-between flex gap-1 min-w-0">
175
- {#if i.isEditing}
176
- <form
177
- onsubmit={() => {
178
- updateInput(i)
179
- i.isEditing = false
180
- i.isSaving = false
181
- }}
182
- class="w-full"
183
- >
184
- <input type="text" bind:value={i.name} class="text-secondary" />
185
- </form>
186
- {:else}
187
- <small
188
- class="whitespace-nowrap overflow-hidden text-ellipsis flex-shrink text-left"
189
- >
190
- {i.name}
191
- </small>
192
- {/if}
193
- {#if i.created_by == $userStore?.username || $userStore?.is_admin || $userStore?.is_super_admin}
194
- <div class="items-center flex gap-2">
195
- {#if !i.isEditing}
196
- <div class="group-hover:block hidden -my-2">
197
- <Toggle
198
- size="xs"
199
- options={{ right: 'shared' }}
200
- bind:checked={i.is_public}
201
- on:change={() => {
202
- updateInput(i)
203
- }}
204
- />
205
- </div>
206
- {/if}
207
-
208
- <Button
209
- loading={i.isSaving}
210
- size="xs"
211
- variant="default"
212
- spacingSize="xs2"
213
- btnClasses={'group-hover:block hidden -my-2'}
214
- on:click={(e) => {
215
- e.stopPropagation()
216
- i.isEditing = !i.isEditing
217
- if (!i.isEditing) {
218
- updateInput(i)
219
- i.isSaving = false
220
- }
221
- }}
222
- >
223
- <Edit class="w-4 h-4" />
224
- </Button>
225
- <Button
226
- size="xs"
227
- spacingSize="xs2"
228
- variant="default"
229
- btnClasses={i.isEditing ? 'block' : 'group-hover:block hidden -my-2'}
230
- on:click={() => deleteInput(i)}
231
- >
232
- <X class="w-4 h-4" />
233
- </Button>
234
- </div>
235
- {:else}
236
- <span class="text-xs text-primary">By {i.created_by}</span>
237
- {/if}
238
- </div>
239
- </button>
240
- {/each}
241
- {:else}
242
- <div class="text-center text-primary">No saved Inputs</div>
243
- {/if}
244
- </div>
245
- </div>
246
- </Pane>
247
-
248
- <Pane>
249
- <div class="w-full flex flex-col gap-4 p-2">
250
- <span class="text-sm font-semibold">Previous runs</span>
251
-
252
- <div class="w-full flex flex-col gap-1 p-0 h-full overflow-y-auto">
253
- {#if loading && (jobs == undefined || jobs?.length == 0)}
254
- <div class="text-left text-primary text-xs">Loading current runs...</div>
255
- {:else if jobs?.length > 0}
256
- {#each jobs as i (i.id)}
257
- <button
258
- class={classNames(
259
- `w-full flex items-center justify-between gap-4 py-2 px-4 text-left border rounded-sm hover:bg-surface-hover transition-a`,
260
- 'border-orange-400'
261
- )}
262
- onclick={async () => {
263
- if (!$workspaceStore) {
264
- return
265
- }
266
-
267
- const args = await JobService.getJobArgs({
268
- workspace: $workspaceStore,
269
- id: i.id
270
- })
271
-
272
- selectedInput = {
273
- id: i.id,
274
- name: 'Running job: ' + i.id,
275
- created_at: i.created_at ?? '',
276
- created_by: i.created_by ?? '',
277
- is_public: true
278
- }
279
-
280
- selectArgs(args)
281
- }}
282
- >
283
- <div
284
- class="w-full h-full items-center text-xs font-normal grid grid-cols-8 gap-4 min-w-0"
285
- >
286
- <div class="">
287
- <div class="rounded-full w-2 h-2 bg-orange-400 animate-pulse"></div>
288
- </div>
289
- <div class="col-span-2 truncate">
290
- {i.created_by}
291
- </div>
292
- <div
293
- class="whitespace-nowrap col-span-3 !text-primary !text-2xs overflow-hidden text-ellipsis flex-shrink text-center"
294
- >
295
- <TimeAgo noDate date={i.started_at ?? ''} />
296
- </div>
297
- <div class="col-span-2">
298
- <a
299
- target="_blank"
300
- href="{base}/run/{i.id}?workspace={$workspaceStore}"
301
- class="text-right float-right text-secondary"
302
- title="See run detail in a new tab"
303
- >
304
- <ExternalLink size={16} />
305
- </a>
306
- </div>
307
- </div>
308
- </button>
309
- {/each}
310
- {#if jobs?.length == 5}
311
- <div class="text-left text-primary text-xs"
312
- >... there may be more runs not displayed here as the limit is 5</div
313
- >
314
- {/if}
315
- {:else}
316
- <div class="text-left text-primary text-xs">No job currently running</div>
317
- {/if}
318
- </div>
319
-
320
- <div class="w-full flex flex-col gap-1 p-0 h-full overflow-y-auto">
321
- {#if previousInputs === undefined}
322
- <Skeleton layout={[[8]]} />
323
- {:else if previousInputs?.length > 0}
324
- {#each previousInputs as i (i.id)}
325
- <button
326
- class={classNames(
327
- `w-full flex items-center justify-between gap-4 py-2 px-4 text-left border rounded-sm hover:bg-surface-hover transition-a`,
328
- selectedInput === i ? 'border-blue-500 bg-blue-50 dark:bg-blue-900' : ''
329
- )}
330
- onclick={async () => {
331
- if (selectedInput === i) {
332
- selectedInput = null
333
- } else {
334
- selectedInput = i
335
- }
336
- selectArgs(await loadLargeArgs(i.id, false, false))
337
- }}
338
- >
339
- <div
340
- class="w-full h-full items-center text-xs font-normal grid grid-cols-8 gap-4 min-w-0"
341
- >
342
- <div class="">
343
- <div class="rounded-full w-2 h-2 {i.success ? 'bg-green-400' : 'bg-red-400'}"
344
- ></div>
345
- </div>
346
- <div class="col-span-2 truncate" title={i.created_by}>
347
- {i.created_by}
348
- </div>
349
- <div
350
- class="whitespace-nowrap col-span-2 !text-primary !text-2xs overflow-hidden text-ellipsis flex-shrink text-center"
351
- >
352
- {displayDateOnly(new Date(i.created_at))}
353
- </div>
354
- <div
355
- class="whitespace-nowrap col-span-2 !text-primary !text-2xs overflow-hidden text-ellipsis flex-shrink text-center"
356
- >
357
- <TimeAgo noDate date={i.created_at ?? ''} />
358
- </div>
359
- <div class="col-span-1">
360
- <a
361
- target="_blank"
362
- href="{base}/run/{i.id}?workspace={$workspaceStore}"
363
- class="text-right float-right text-secondary"
364
- title="See run detail in a new tab"
365
- >
366
- <ExternalLink size={16} />
367
- </a>
368
- </div>
369
- </div>
370
- </button>
371
- {/each}
372
- {:else}
373
- <div class="text-center text-primary">No previous Runs</div>
374
- {/if}
375
- </div>
376
- </div>
377
- </Pane>
378
-
379
- <Pane>
380
- <div class="h-full overflow-hidden min-h-0 flex flex-col justify-between">
381
- <div class="w-full flex flex-col min-h-0 gap-2 px-2 py-2 grow">
382
- <div class="w-full flex flex-col">
383
- <Button
384
- color="blue"
385
- btnClasses="w-full"
386
- size="sm"
387
- spacingSize="xl"
388
- on:click={async () => {
389
- dispatch('selected_args', await loadLargeArgs(selectedInput?.id, undefined, false))
390
- }}
391
- disabled={!selectedInput}
392
- >
393
- <ArrowLeftIcon class="w-4 h-4 mr-2" />
394
- Use input
395
- </Button>
396
- </div>
397
- <div class="w-full min-h-0 grow overflow-auto">
398
- {#if typeof previewArgs == 'string' && previewArgs == 'WINDMILL_TOO_BIG'}
399
- <div class="text-secondary mt-2">
400
- Payload too big to preview but can still be loaded</div
401
- >
402
- {:else if Object.keys(previewArgs || {}).length > 0}
403
- <div class=" overflow-auto h-full p-2">
404
- <ObjectViewer json={previewArgs} />
405
- </div>
406
- {:else}
407
- <div class="text-center text-primary">
408
- Select an Input to preview scripts arguments
409
- </div>
410
- {/if}
411
- </div>
412
- </div>
413
- </div></Pane
414
- >
415
- </Splitpanes>
416
- </div>