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
@@ -8,19 +8,15 @@ import Tooltip from './Tooltip.svelte';
8
8
  import { Button } from './common';
9
9
  import SchemaForm from './SchemaForm.svelte';
10
10
  import { twMerge } from 'tailwind-merge';
11
- export let isOwner;
12
- export let workspaceId;
13
- export let job;
14
- export let light = false;
15
- let default_payload = {};
16
- let resumeUrl = undefined;
17
- let cancelUrl = undefined;
18
- let description = undefined;
19
- let hide_cancel = false;
20
- $: approvalStep = (job?.flow_status?.step ?? 1) - 1;
21
- let defaultValues = {};
22
- $: job && getDefaultArgs();
23
- let schema = {};
11
+ import { untrack } from 'svelte';
12
+ let { isOwner, workspaceId, job, light = false } = $props();
13
+ let default_payload = $state({});
14
+ let resumeUrl = $state(undefined);
15
+ let cancelUrl = $state(undefined);
16
+ let description = $state(undefined);
17
+ let hide_cancel = $state(false);
18
+ let defaultValues = $state({});
19
+ let schema = $state({});
24
20
  let lastJobId = undefined;
25
21
  async function getDefaultArgs() {
26
22
  let jobId = job?.flow_status?.modules?.[approvalStep]?.job;
@@ -44,7 +40,9 @@ async function getDefaultArgs() {
44
40
  hide_cancel = job?.raw_flow?.modules?.[approvalStep]?.suspend?.hide_cancel ?? false;
45
41
  schema = mergeSchema(job?.raw_flow?.modules?.[approvalStep]?.suspend?.resume_form?.schema ?? {}, job_result?.enums ?? {});
46
42
  }
43
+ let loading = $state(false);
47
44
  async function continu(approve) {
45
+ loading = true;
48
46
  if ((resumeUrl && approve) || (cancelUrl && !approve)) {
49
47
  let split = (approve ? resumeUrl : cancelUrl).split('/');
50
48
  let signatureUrl = split.pop() ?? '';
@@ -103,6 +101,10 @@ async function continu(approve) {
103
101
  }
104
102
  }
105
103
  }
104
+ let approvalStep = $derived((job?.flow_status?.step ?? 1) - 1);
105
+ $effect(() => {
106
+ job && untrack(() => getDefaultArgs());
107
+ });
106
108
  </script>
107
109
 
108
110
  <div class="w-full h-full mt-2 text-xs text-primary">
@@ -118,7 +120,8 @@ async function continu(approve) {
118
120
  {#if cancelUrl && !hide_cancel}
119
121
  <div>
120
122
  <Button
121
- title="Cancel the flow"
123
+ title="Cancel the step"
124
+ {loading}
122
125
  iconOnly
123
126
  startIcon={{ icon: X }}
124
127
  variant="default"
@@ -128,12 +131,13 @@ async function continu(approve) {
128
131
  </div>
129
132
  {/if}
130
133
  <div>
131
- <Button variant="accent" on:click={() => continu(true)}
132
- >Resume <Tooltip class="text-white"
133
- >Since you are an owner of this flow, you can send resume events without necessarily
134
- knowing the resume id sent by the approval step</Tooltip
135
- ></Button
136
- >
134
+ <Button variant="accent" on:click={() => continu(true)} {loading}>
135
+ Resume
136
+ <Tooltip class="text-white">
137
+ Since you are an owner of this flow, you can send resume events without necessarily
138
+ knowing the resume id sent by the approval step
139
+ </Tooltip>
140
+ </Button>
137
141
  </div>
138
142
 
139
143
  {#if job?.raw_flow?.modules?.[approvalStep]?.suspend?.resume_form?.schema}
@@ -146,9 +150,9 @@ async function continu(approve) {
146
150
  <SchemaForm onlyMaskPassword bind:args={default_payload} {defaultValues} {schema} />
147
151
  </div>
148
152
  {/if}
149
- <Tooltip
150
- >The payload is optional, it is passed to the following step through the `resume` variable</Tooltip
151
- >
153
+ <Tooltip>
154
+ The payload is optional, it is passed to the following step through the `resume` variable
155
+ </Tooltip>
152
156
  </div>
153
157
  {:else}
154
158
  You cannot resume the flow yourself without receiving the resume secret since you are not an
@@ -1,24 +1,10 @@
1
1
  import { type Job } from '../gen';
2
- 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> {
3
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
- $$bindings?: Bindings;
5
- } & Exports;
6
- (internal: unknown, props: Props & {
7
- $$events?: Events;
8
- $$slots?: Slots;
9
- }): Exports & {
10
- $set?: any;
11
- $on?: any;
12
- };
13
- z_$$bindings?: Bindings;
14
- }
15
- declare const FlowStatusWaitingForEvents: $$__sveltets_2_IsomorphicComponent<{
2
+ interface Props {
16
3
  isOwner: boolean;
17
4
  workspaceId: string | undefined;
18
5
  job: Job;
19
6
  light?: boolean;
20
- }, {
21
- [evt: string]: CustomEvent<any>;
22
- }, {}, {}, string>;
23
- type FlowStatusWaitingForEvents = InstanceType<typeof FlowStatusWaitingForEvents>;
7
+ }
8
+ declare const FlowStatusWaitingForEvents: import("svelte").Component<Props, {}, "">;
9
+ type FlowStatusWaitingForEvents = ReturnType<typeof FlowStatusWaitingForEvents>;
24
10
  export default FlowStatusWaitingForEvents;
@@ -1,19 +1,92 @@
1
- <script lang="ts">import { Tab, Tabs, TabContent } from './common';
1
+ <script lang="ts">import { FlowService } from '../gen';
2
+ import { Tab, Tabs, TabContent } from './common';
2
3
  import SchemaViewer from './SchemaViewer.svelte';
3
4
  import FlowGraphViewer from './FlowGraphViewer.svelte';
5
+ import { Loader2 } from 'lucide-svelte';
6
+ import { orderedYamlStringify, cleanValueProperties, replaceFalseWithUndefined } from '../utils';
7
+ import { workspaceStore } from '../stores';
8
+ import { watch } from 'runed';
4
9
  import HighlightTheme from './HighlightTheme.svelte';
5
10
  import FlowViewerInner from './FlowViewerInner.svelte';
6
11
  import FlowInputViewer from './FlowInputViewer.svelte';
7
- let { flow, initialOpen = undefined, noSide = false, noGraph = false, tab = $bindable(noGraph ? 'schema' : 'ui'), noSummary = false, noGraphDownload = false } = $props();
12
+ let { flow, initialOpen = undefined, noSide = false, noGraph = false, availableVersions = undefined, initTab = undefined, noSummary = false, noGraphDownload = false, selectedVersionId = undefined } = $props();
8
13
  let open = {};
9
14
  if (initialOpen) {
10
15
  open[initialOpen] = true;
11
16
  }
17
+ let previousVersionId = $state(undefined);
18
+ let previousFlow = $state(undefined);
19
+ let tab = $state(initTab ?? 'diff');
20
+ let previousFlowCache = {};
21
+ async function loadPreviousFlow(version) {
22
+ try {
23
+ if (previousFlowCache[version]) {
24
+ previousFlow = previousFlowCache[version];
25
+ return;
26
+ }
27
+ previousFlow = await FlowService.getFlowVersion({
28
+ workspace: $workspaceStore,
29
+ version
30
+ });
31
+ previousFlowCache[version] = previousFlow;
32
+ }
33
+ catch (e) {
34
+ console.error(e);
35
+ previousFlow = undefined;
36
+ }
37
+ }
38
+ // Load previous flow when previousVersionId changes
39
+ $effect.pre(() => {
40
+ if (previousVersionId !== undefined) {
41
+ loadPreviousFlow(previousVersionId);
42
+ }
43
+ else {
44
+ previousFlow = undefined;
45
+ }
46
+ });
47
+ $effect.pre(() => {
48
+ if (initTab) {
49
+ return;
50
+ }
51
+ if (availableVersions && availableVersions.length > 0) {
52
+ tab = 'diff';
53
+ }
54
+ else {
55
+ if (noGraph) {
56
+ tab = 'schema';
57
+ }
58
+ else {
59
+ tab = 'ui';
60
+ }
61
+ }
62
+ });
63
+ // Auto-select first available version and validate current selection
64
+ watch([() => availableVersions, () => selectedVersionId], () => {
65
+ if (availableVersions && availableVersions.length > 0) {
66
+ previousVersionId = availableVersions[0].id;
67
+ }
68
+ else {
69
+ previousVersionId = undefined;
70
+ }
71
+ });
72
+ let currentFlowYaml = $derived.by(() => {
73
+ const metadata = structuredClone(cleanValueProperties(replaceFalseWithUndefined(flow)));
74
+ return orderedYamlStringify(metadata);
75
+ });
76
+ let previousFlowYaml = $derived.by(() => {
77
+ if (!previousFlow)
78
+ return undefined;
79
+ const metadata = structuredClone(cleanValueProperties(replaceFalseWithUndefined(previousFlow)));
80
+ return orderedYamlStringify(metadata);
81
+ });
12
82
  </script>
13
83
 
14
84
  <HighlightTheme />
15
85
 
16
86
  <Tabs bind:selected={tab}>
87
+ {#if availableVersions && availableVersions.length > 0}
88
+ <Tab value="diff" label="Diff" />
89
+ {/if}
17
90
  {#if !noGraph}
18
91
  <Tab value="ui" label="Graph" />
19
92
  {/if}
@@ -21,6 +94,34 @@ if (initialOpen) {
21
94
  <Tab value="schema" label="Input Schema" />
22
95
 
23
96
  {#snippet content()}
97
+ {#if availableVersions && availableVersions.length > 0}
98
+ <TabContent value="diff">
99
+ <div class="flex flex-col gap-2 h-full">
100
+ <div class="flex flex-row items-center gap-2 py-2">
101
+ <div class="text-xs">Compare with:</div>
102
+ <select bind:value={previousVersionId} class="!text-xs !w-40">
103
+ {#each availableVersions as version (version.id)}
104
+ <option value={version.id} class="!text-xs">
105
+ {version.deployment_msg ?? `Version ${version.id}`}
106
+ </option>
107
+ {/each}
108
+ </select>
109
+ </div>
110
+
111
+ {#if previousFlowYaml}
112
+ <div class="h-[calc(100vh-150px)] min-h-[400px]">
113
+ {#await import('./FlowDiffViewer.svelte')}
114
+ <Loader2 class="animate-spin" />
115
+ {:then Module}
116
+ <Module.default beforeYaml={previousFlowYaml} afterYaml={currentFlowYaml} />
117
+ {/await}
118
+ </div>
119
+ {:else}
120
+ <Loader2 class="animate-spin" />
121
+ {/if}
122
+ </div>
123
+ </TabContent>
124
+ {/if}
24
125
  <TabContent value="ui">
25
126
  <div class="flow-root w-full pb-4">
26
127
  {#if !noSummary}
@@ -1,4 +1,5 @@
1
- import type { FlowValue } from '../gen';
1
+ import { type FlowValue } from '../gen';
2
+ type TabValue = 'ui' | 'raw' | 'schema' | 'diff';
2
3
  interface Props {
3
4
  flow: {
4
5
  summary: string;
@@ -9,10 +10,15 @@ interface Props {
9
10
  initialOpen?: number | undefined;
10
11
  noSide?: boolean;
11
12
  noGraph?: boolean;
12
- tab?: 'ui' | 'raw' | 'schema';
13
+ initTab?: TabValue;
13
14
  noSummary?: boolean;
14
15
  noGraphDownload?: boolean;
16
+ availableVersions?: Array<{
17
+ id: number;
18
+ deployment_msg?: string;
19
+ }>;
20
+ selectedVersionId?: number;
15
21
  }
16
- declare const FlowViewer: import("svelte").Component<Props, {}, "tab">;
22
+ declare const FlowViewer: import("svelte").Component<Props, {}, "">;
17
23
  type FlowViewer = ReturnType<typeof FlowViewer>;
18
24
  export default FlowViewer;
@@ -77,11 +77,11 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
77
77
  </script>
78
78
 
79
79
  {#if isFork}
80
- <div class="w-full bg-blue-50 dark:bg-blue-900/20 border-b border-blue-200 dark:border-blue-800">
80
+ <div class="w-full bg-blue-50 dark:bg-blue-900 text-xs rounded-b-md max-w-7xl mx-auto">
81
81
  <div class="px-4 py-2">
82
82
  <div class="flex items-center justify-between">
83
83
  <div class="flex items-center gap-3">
84
- <GitFork class="w-4 h-4 text-blue-600 dark:text-blue-400" />
84
+ <GitFork class="w-4 h-4 text-accent" />
85
85
  <div class="text-sm">
86
86
  <span class="font-medium text-blue-900 dark:text-blue-100">
87
87
  Fork of <b>{parentWorkspaceData?.name}</b> ({parentWorkspaceId})
@@ -97,17 +97,17 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
97
97
  {:else if comparison}
98
98
  <div class="flex items-center gap-4 text-xs">
99
99
  {#if comparison.summary.total_diffs > 0}
100
- <span>
100
+ <span class="text-blue-700 dark:text-blue-100">
101
101
  {forkAheadBehindMessage(
102
102
  comparison.summary.total_ahead,
103
- comparison.summary.total_behind,
103
+ comparison.summary.total_behind
104
104
  )}
105
- <span class="font-semibold underline">{parentWorkspaceId}</span> over {comparison.summary
106
- .total_diffs} items:
105
+ <span class="font-semibold underline">{parentWorkspaceId}</span> over {comparison
106
+ .summary.total_diffs} items:
107
107
  </span>
108
108
  <div class="flex items-center gap-2">
109
109
  {#if comparison.summary.scripts_changed > 0}
110
- <span class="text-blue-700 dark:text-blue-300">
110
+ <span class="text-blue-700 dark:text-blue-100">
111
111
  {comparison.summary.scripts_changed} script{comparison.summary
112
112
  .scripts_changed !== 1
113
113
  ? 's'
@@ -115,21 +115,21 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
115
115
  </span>
116
116
  {/if}
117
117
  {#if comparison.summary.flows_changed > 0}
118
- <span class="text-blue-700 dark:text-blue-300">
118
+ <span class="text-blue-700 dark:text-blue-100">
119
119
  {comparison.summary.flows_changed} flow{comparison.summary.flows_changed !== 1
120
120
  ? 's'
121
121
  : ''}
122
122
  </span>
123
123
  {/if}
124
124
  {#if comparison.summary.apps_changed > 0}
125
- <span class="text-blue-700 dark:text-blue-300">
125
+ <span class="text-blue-700 dark:text-blue-100">
126
126
  {comparison.summary.apps_changed} app{comparison.summary.apps_changed !== 1
127
127
  ? 's'
128
128
  : ''}
129
129
  </span>
130
130
  {/if}
131
131
  {#if comparison.summary.resources_changed > 0}
132
- <span class="text-blue-700 dark:text-blue-300">
132
+ <span class="text-blue-700 dark:text-blue-100">
133
133
  {comparison.summary.resources_changed} resource{comparison.summary
134
134
  .resources_changed !== 1
135
135
  ? 's'
@@ -137,13 +137,29 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
137
137
  </span>
138
138
  {/if}
139
139
  {#if comparison.summary.variables_changed > 0}
140
- <span class="text-blue-700 dark:text-blue-300">
140
+ <span class="text-blue-700 dark:text-blue-100">
141
141
  {comparison.summary.variables_changed} variable{comparison.summary
142
142
  .variables_changed !== 1
143
143
  ? 's'
144
144
  : ''}
145
145
  </span>
146
146
  {/if}
147
+ {#if comparison.summary.resource_types_changed > 0}
148
+ <span class="text-blue-700 dark:text-blue-100">
149
+ {comparison.summary.resource_types_changed} resource type{comparison.summary
150
+ .resource_types_changed !== 1
151
+ ? 's'
152
+ : ''}
153
+ </span>
154
+ {/if}
155
+ {#if comparison.summary.folders_changed > 0}
156
+ <span class="text-blue-700 dark:text-blue-100">
157
+ {comparison.summary.folders_changed} folder{comparison.summary
158
+ .folders_changed !== 1
159
+ ? 's'
160
+ : ''}
161
+ </span>
162
+ {/if}
147
163
  </div>
148
164
 
149
165
  {#if comparison.summary.conflicts > 0}
@@ -158,9 +174,12 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
158
174
  </div>
159
175
  {/if}
160
176
  {:else if comparison.skipped_comparison}
161
- <span class="text-blue-600 dark:text-blue-400"> This fork was created before the addition of certain windmill features, and therefore the changes with its parent workspace cannot be displayed.</span>
177
+ <span class="text-blue-600 dark:text-blue-200">
178
+ This fork was created before the addition of certain windmill features, and
179
+ therefore the changes with its parent workspace cannot be displayed.</span
180
+ >
162
181
  {:else}
163
- <span class="text-blue-600 dark:text-blue-400"> Everything is up to date </span>
182
+ <span class="text-blue-600 dark:text-blue-200"> Everything is up to date </span>
164
183
  {/if}
165
184
  </div>
166
185
  {/if}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">import { BROWSER } from 'esm-env';
2
- import { editor as meditor } from 'monaco-editor';
2
+ import { editor as meditor, KeyMod, KeyCode } from 'monaco-editor';
3
3
  import { onDestroy, onMount } from 'svelte';
4
4
  let divEl = null;
5
5
  let editor;
@@ -14,6 +14,13 @@ async function loadMonaco() {
14
14
  lineNumbers: 'off',
15
15
  minimap: { enabled: false }
16
16
  });
17
+ // In VSCode webview (iframe), clipboard operations need to use execCommand
18
+ // because the webview has restricted clipboard API access
19
+ if (window.parent !== window) {
20
+ editor.addCommand(KeyMod.CtrlCmd | KeyCode.KeyC, function () {
21
+ document.execCommand('copy');
22
+ });
23
+ }
17
24
  }
18
25
  onMount(async () => {
19
26
  if (BROWSER) {
@@ -2,14 +2,14 @@
2
2
  import { sendUserToast } from '../utils.js';
3
3
  import RunningJobSchemaPicker from './schema/RunningJobSchemaPicker.svelte';
4
4
  import { createEventDispatcher, onDestroy } from 'svelte';
5
- import JobsLoader from './runs/JobsLoader.svelte';
5
+ import { useJobsLoader } from './runs/useJobsLoader.svelte';
6
6
  import { DataTable } from './table';
7
7
  import HistoricList from './HistoricList.svelte';
8
8
  import { Loader2 } from 'lucide-svelte';
9
- let { runnableId = undefined, runnableType = undefined, loading = $bindable(false), selected = $bindable(undefined), showAuthor = false, placement = 'top-end', limitPayloadSize = false, searchArgs = undefined } = $props();
9
+ import { workspaceStore } from '../stores';
10
+ let { runnableId = undefined, runnableType = undefined, selected = $bindable(undefined), showAuthor = false, placement = 'top-end', limitPayloadSize = false, searchArgs = undefined } = $props();
10
11
  let historicList = $state(undefined);
11
12
  const dispatch = createEventDispatcher();
12
- let jobs = $state([]);
13
13
  let hasMoreCurrentRuns = false;
14
14
  let page = $state(1);
15
15
  async function handleSelected(data) {
@@ -29,6 +29,9 @@ async function handleSelected(data) {
29
29
  });
30
30
  }
31
31
  }
32
+ export function loading() {
33
+ return jobsLoader?.loading ?? false;
34
+ }
32
35
  onDestroy(() => {
33
36
  resetSelected(false);
34
37
  });
@@ -66,40 +69,35 @@ function getJobKinds(runnableType) {
66
69
  }
67
70
  return '';
68
71
  }
72
+ let jobsLoader = useJobsLoader(() => ({
73
+ filters: {
74
+ show_skipped: false,
75
+ path: runnableId,
76
+ success: 'running',
77
+ arg: searchArgs ? JSON.stringify(searchArgs) : '',
78
+ per_page: 5
79
+ },
80
+ jobKinds: getJobKinds(runnableType),
81
+ syncQueuedRunsCount: false,
82
+ refreshRate: 10000,
83
+ computeMinAndMax: undefined,
84
+ currentWorkspace: $workspaceStore ?? '',
85
+ skip: !runnableId
86
+ }));
87
+ let jobs = $derived(jobsLoader?.jobs ?? []);
69
88
  </script>
70
89
 
71
90
  <svelte:window onkeydown={handleKeydown} />
72
91
 
73
- {#if runnableId}
74
- <JobsLoader
75
- bind:jobs
76
- path={runnableId}
77
- showSkipped={false}
78
- jobKinds={getJobKinds(runnableType)}
79
- user={null}
80
- label={null}
81
- folder={null}
82
- concurrencyKey={null}
83
- tag={null}
84
- success="running"
85
- argFilter={searchArgs ? JSON.stringify(searchArgs) : undefined}
86
- bind:loading
87
- syncQueuedRunsCount={false}
88
- refreshRate={10000}
89
- computeMinAndMax={undefined}
90
- perPage={5}
91
- />
92
- {/if}
93
-
94
92
  <div class="h-full max-h-full min-h-0 w-full flex flex-col gap-2 relative">
95
93
  <div class="grow-0" data-schema-picker>
96
94
  <DataTable size="xs" bind:currentPage={page} hasMore={hasMoreCurrentRuns} tableFixed={true}>
97
- {#if loading}
95
+ {#if jobsLoader?.loading}
98
96
  <div class="text-primary absolute top-2 right-2">
99
97
  <Loader2 class="animate-spin" size={14} />
100
98
  </div>
101
99
  {/if}
102
- {#if jobs?.length > 0}
100
+ {#if jobs.length > 0}
103
101
  <colgroup>
104
102
  <col class="w-8" />
105
103
  <col class="w-16" />
@@ -115,7 +113,7 @@ function getJobKinds(runnableType) {
115
113
  on:select={(e) => handleSelected(e.detail)}
116
114
  />
117
115
  {/each}
118
- {#if jobs?.length == 5}
116
+ {#if jobs.length == 5}
119
117
  <tr class="text-left text-primary text-xs w-full">
120
118
  <td class="w-full px-2" colspan="3">limited to 5 runs</td>
121
119
  </tr>
@@ -2,7 +2,6 @@ import { type RunnableType } from '../gen/index.js';
2
2
  interface Props {
3
3
  runnableId?: string | undefined;
4
4
  runnableType?: RunnableType | undefined;
5
- loading?: boolean;
6
5
  selected?: string | undefined;
7
6
  showAuthor?: boolean;
8
7
  placement?: 'bottom-start' | 'top-start' | 'bottom-end' | 'top-end';
@@ -27,8 +26,9 @@ declare const HistoricInputs: $$__sveltets_2_IsomorphicComponent<Props, {
27
26
  } & {
28
27
  [evt: string]: CustomEvent<any>;
29
28
  }, {}, {
29
+ loading: () => boolean;
30
30
  refresh: (clearCurrentRuns?: boolean) => void;
31
31
  resetSelected: (dispatchEvent?: boolean) => void;
32
- }, "selected" | "loading">;
32
+ }, "selected">;
33
33
  type HistoricInputs = InstanceType<typeof HistoricInputs>;
34
34
  export default HistoricInputs;
@@ -7,7 +7,7 @@ let { loading = $bindable(false), items = $bindable(undefined), selectedItemId =
7
7
  bgSelected: '',
8
8
  bgHover: '',
9
9
  class: ''
10
- }, neverShowLoader = false, columns, extra_row, children, empty } = $props();
10
+ }, neverShowLoader = false, preventXOverflow = false, customRow, columns, extra_row, children, empty } = $props();
11
11
  const perPage = 20;
12
12
  let hasMore = $state(false);
13
13
  let page = 1;
@@ -124,34 +124,41 @@ export async function setDeleteItemFn(fn) {
124
124
  {rounded}
125
125
  {noBorder}
126
126
  {neverShowLoader}
127
+ {preventXOverflow}
127
128
  >
128
129
  {@render columns?.()}
129
130
 
130
131
  <tbody class="h-full w-full">
131
- <Row
132
- on:click={() => dispatch('select', 'extraRow')}
133
- class={twMerge(
134
- extraRowClasses.class,
135
- selectedItemId === 'extraRow' ? extraRowClasses.bgSelected : extraRowClasses.bgHover,
136
- 'cursor-pointer rounded-md'
137
- )}
138
- on:hover={(e) => (hovered = e.detail ? 'extraRow' : undefined)}
139
- >
140
- {@render extra_row?.({ hover: hovered === 'extraRow' })}
141
- </Row>
142
- {#each items ?? [] as item, index}
143
- {@const hover = item.id === hovered}
132
+ {#if extra_row}
144
133
  <Row
145
- on:click={() => dispatch('select', item)}
134
+ on:click={() => dispatch('select', 'extraRow')}
146
135
  class={twMerge(
147
- selectedItemId === item.id ? 'bg-surface-selected' : 'hover:bg-surface-hover',
148
- 'cursor-pointer rounded-md',
149
- item.isNew && index === 0 ? 'animate-slideIn' : 'group'
136
+ extraRowClasses.class,
137
+ selectedItemId === 'extraRow' ? extraRowClasses.bgSelected : extraRowClasses.bgHover,
138
+ 'cursor-pointer rounded-md'
150
139
  )}
151
- on:hover={(e) => (hovered = e.detail ? item.id : undefined)}
140
+ on:hover={(e) => (hovered = e.detail ? 'extraRow' : undefined)}
152
141
  >
153
- {@render children?.({ item, hover })}
142
+ {@render extra_row?.({ hover: hovered === 'extraRow' })}
154
143
  </Row>
144
+ {/if}
145
+ {#each items ?? [] as item, index}
146
+ {@const hover = item.id === hovered}
147
+ {#if customRow}
148
+ {@render customRow?.({ item, hover })}
149
+ {:else}
150
+ <Row
151
+ on:click={() => dispatch('select', item)}
152
+ class={twMerge(
153
+ selectedItemId === item.id ? 'bg-surface-selected' : 'hover:bg-surface-hover',
154
+ 'cursor-pointer rounded-md',
155
+ item.isNew && index === 0 ? 'animate-slideIn' : 'group'
156
+ )}
157
+ on:hover={(e) => (hovered = e.detail ? item.id : undefined)}
158
+ >
159
+ {@render children?.({ item, hover })}
160
+ </Row>
161
+ {/if}
155
162
  {/each}
156
163
  </tbody>
157
164
 
@@ -12,6 +12,8 @@ interface Props {
12
12
  class: string;
13
13
  };
14
14
  neverShowLoader?: boolean;
15
+ preventXOverflow?: boolean;
16
+ customRow?: import('svelte').Snippet<[any]>;
15
17
  columns?: import('svelte').Snippet;
16
18
  extra_row?: import('svelte').Snippet<[any]>;
17
19
  children?: import('svelte').Snippet<[any]>;
@@ -1,6 +1,8 @@
1
1
  <script lang="ts">import { isCloudHosted } from '../cloud';
2
2
  import { enterpriseLicense, isCriticalAlertsUIOpen } from '../stores';
3
3
  import { AlertCircle, BadgeCheck, BadgeX, Info } from 'lucide-svelte';
4
+ import { OTEL_TRACING_PROXY_LANGUAGES } from './instanceSettings';
5
+ import { LanguageIcon } from './common/languageIcons';
4
6
  import Tooltip from './Tooltip.svelte';
5
7
  import ObjectStoreConfigSettings from './ObjectStoreConfigSettings.svelte';
6
8
  import { sendUserToast } from '../toast';
@@ -20,6 +22,7 @@ import LoadingIcon from './apps/svelte-select/lib/LoadingIcon.svelte';
20
22
  import EEOnly from './EEOnly.svelte';
21
23
  import CriticalAlertChannels from './instanceSettings/CriticalAlertChannels.svelte';
22
24
  import SmtpSettings from './instanceSettings/SmtpSettings.svelte';
25
+ import SecretBackendConfig from './instanceSettings/SecretBackendConfig.svelte';
23
26
  import TextInput from './text_input/TextInput.svelte';
24
27
  import Label from './Label.svelte';
25
28
  let { setting, version, values, loading = true, openSmtpSettings, oauths } = $props();
@@ -799,6 +802,39 @@ if (setting.fieldType == 'select_python') {
799
802
  </div> -->
800
803
  {/if}
801
804
  </div>
805
+ {:else if setting.fieldType == 'otel_tracing_proxy'}
806
+ {@const tracingProxyVal = $values[setting.key] ?? { enabled: false, enabled_languages: [...OTEL_TRACING_PROXY_LANGUAGES] }}
807
+ <div class="flex flex-col gap-4">
808
+ <Toggle
809
+ id="otel_tracing_proxy_enabled"
810
+ checked={tracingProxyVal.enabled ?? false}
811
+ on:change={(e) => {
812
+ $values[setting.key] = { ...tracingProxyVal, enabled: e.detail }
813
+ }}
814
+ options={{ right: 'Enabled' }}
815
+ />
816
+ {#if tracingProxyVal.enabled}
817
+ <div class="flex flex-wrap gap-2">
818
+ {#each OTEL_TRACING_PROXY_LANGUAGES as lang (lang)}
819
+ {@const isEnabled = (tracingProxyVal.enabled_languages ?? []).includes(lang)}
820
+ <button
821
+ class="flex flex-col items-center gap-1 p-2 rounded border transition-all {isEnabled
822
+ ? 'border-blue-500 bg-blue-500/10'
823
+ : 'border-gray-300 opacity-40 hover:opacity-70'}"
824
+ onclick={() => {
825
+ const current = tracingProxyVal.enabled_languages ?? []
826
+ const newLangs = isEnabled
827
+ ? current.filter((l) => l !== lang)
828
+ : [...current, lang]
829
+ $values[setting.key] = { ...tracingProxyVal, enabled_languages: newLangs }
830
+ }}
831
+ >
832
+ <LanguageIcon {lang} size={24} />
833
+ </button>
834
+ {/each}
835
+ </div>
836
+ {/if}
837
+ </div>
802
838
  {:else if setting.fieldType == 'object_store_config'}
803
839
  <ObjectStoreConfigSettings bind:bucket_config={$values[setting.key]} />
804
840
  <div class="mb-6"></div>
@@ -855,6 +891,8 @@ if (setting.fieldType == 'select_python') {
855
891
  TODO
856
892
  {:else if setting.fieldType == 'smtp_connect'}
857
893
  <SmtpSettings {values} disabled={loading} />
894
+ {:else if setting.fieldType == 'secret_backend'}
895
+ <SecretBackendConfig {values} disabled={loading} />
858
896
  {/if}
859
897
  {#if hasError}
860
898
  <span class="text-red-500 dark:text-red-400 text-sm">