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
@@ -0,0 +1,104 @@
1
+ <script lang="ts">import { NativeTriggerService } from '../../../../../gen/services.gen';
2
+ import { workspaceStore } from '../../../../../stores';
3
+ import { sendUserToast } from '../../../../../utils';
4
+ import { Button } from '../../../../common';
5
+ import SchemaForm from '../../../../SchemaForm.svelte';
6
+ import Section from '../../../../Section.svelte';
7
+ import { Loader2 } from 'lucide-svelte';
8
+ import { getNextcloudSchema } from '../../utils';
9
+ let { serviceConfig = $bindable(), errors = $bindable(), disabled = false, externalData = undefined, token = $bindable(''), triggerTokens = $bindable(undefined), loading = $bindable() } = $props();
10
+ let availableEvents = $state([]);
11
+ let serviceSchema = $state(null);
12
+ async function loadAvailableEvents() {
13
+ if (!$workspaceStore) {
14
+ availableEvents = [];
15
+ return;
16
+ }
17
+ loading = true;
18
+ try {
19
+ const events = await NativeTriggerService.listNextCloudEvents({
20
+ workspace: $workspaceStore
21
+ });
22
+ availableEvents = events;
23
+ serviceSchema = getNextcloudSchema(events);
24
+ }
25
+ catch (err) {
26
+ console.error('Failed to load NextCloud events:', err);
27
+ sendUserToast(`Failed to load available events: ${err.body || err.message}`, true);
28
+ availableEvents = [];
29
+ }
30
+ finally {
31
+ loading = false;
32
+ }
33
+ }
34
+ export function validate() {
35
+ let serviceErrors = {};
36
+ if (serviceSchema && serviceSchema.required) {
37
+ for (const requiredField of serviceSchema.required) {
38
+ if (!serviceConfig[requiredField]) {
39
+ const fieldTitle = serviceSchema.properties?.[requiredField]?.title || requiredField;
40
+ serviceErrors[requiredField] = `${fieldTitle} is required`;
41
+ }
42
+ }
43
+ }
44
+ if (!serviceConfig.event && availableEvents.length === 0 && !loading) {
45
+ serviceErrors.event =
46
+ 'Unable to load available events. Please check your resource configuration.';
47
+ }
48
+ return serviceErrors;
49
+ }
50
+ let externalDataApplied = $state(false);
51
+ $effect(() => {
52
+ if ($workspaceStore) {
53
+ loadAvailableEvents();
54
+ }
55
+ });
56
+ $effect(() => {
57
+ if (externalData && !externalDataApplied) {
58
+ serviceConfig = { ...serviceConfig, ...externalData };
59
+ externalDataApplied = true;
60
+ }
61
+ });
62
+ $effect(() => {
63
+ if (!externalData) {
64
+ externalDataApplied = false;
65
+ }
66
+ });
67
+ </script>
68
+
69
+ <Section label="Nextcloud configuration">
70
+ {#if loading}
71
+ <div class="flex items-center gap-2 text-secondary text-xs">
72
+ <Loader2 class="animate-spin" size={16} />
73
+ Loading available events...
74
+ </div>
75
+ {:else if availableEvents.length === 0}
76
+ <div class="text-red-500 text-xs space-y-2">
77
+ <div
78
+ >No events available. Please ensure your workspace has a connected Nextcloud integration.</div
79
+ >
80
+ <div class="flex gap-2">
81
+ <Button variant="default" on:click={loadAvailableEvents} {disabled}>
82
+ Retry loading events
83
+ </Button>
84
+ <Button variant="subtle" href="/workspace_settings?tab=integrations" target="_blank">
85
+ Manage integrations
86
+ </Button>
87
+ </div>
88
+ </div>
89
+ {:else if serviceSchema}
90
+ <SchemaForm
91
+ schema={serviceSchema}
92
+ bind:args={serviceConfig}
93
+ isValid={true}
94
+ compact={true}
95
+ prettifyHeader={true}
96
+ {disabled}
97
+ />
98
+ {:else}
99
+ <div class="text-secondary text-xs">
100
+ Please ensure Nextcloud workspace integration is connected to load available configuration
101
+ options.
102
+ </div>
103
+ {/if}
104
+ </Section>
@@ -0,0 +1,18 @@
1
+ interface Props {
2
+ serviceConfig: Record<string, any>;
3
+ errors: Record<string, string>;
4
+ disabled?: boolean;
5
+ externalData?: any;
6
+ path?: string;
7
+ isFlow?: boolean;
8
+ hash?: string;
9
+ token?: string;
10
+ triggerTokens?: any;
11
+ scopes?: string[];
12
+ loading: boolean;
13
+ }
14
+ declare const NextcloudTriggerForm: import("svelte").Component<Props, {
15
+ validate: () => Record<string, string>;
16
+ }, "token" | "loading" | "errors" | "triggerTokens" | "serviceConfig">;
17
+ type NextcloudTriggerForm = ReturnType<typeof NextcloudTriggerForm>;
18
+ export default NextcloudTriggerForm;
@@ -0,0 +1,74 @@
1
+ import type { NativeServiceName, NativeTrigger } from '../../../gen/types.gen';
2
+ import { type Writable } from 'svelte/store';
3
+ export interface NativeTriggerConfig {
4
+ readonly serviceDisplayName: string;
5
+ readonly serviceKey: NativeServiceName;
6
+ readonly supportsSync: boolean;
7
+ readonly supportsFetchConfig: boolean;
8
+ readonly isCloudCompatible: boolean;
9
+ readonly templates?: {
10
+ script?: string;
11
+ flow?: string;
12
+ };
13
+ }
14
+ export declare const NATIVE_TRIGGER_SERVICES: Record<NativeServiceName, NativeTriggerConfig>;
15
+ export declare function isServiceAvailable(service: NativeServiceName, workspace: string): Promise<boolean>;
16
+ export declare function getAvailableServices(): NativeServiceName[];
17
+ export declare function getAvailableNativeTriggerServices(workspace: string): Promise<NativeServiceName[]>;
18
+ export declare function getServiceConfig(service: NativeServiceName): NativeTriggerConfig | undefined;
19
+ export type ExtendedNativeTrigger = NativeTrigger & {
20
+ marked?: string;
21
+ };
22
+ export interface ServiceFormProps {
23
+ config: Record<string, any>;
24
+ errors: Record<string, string>;
25
+ resources: Array<{
26
+ path: string;
27
+ description?: string;
28
+ }>;
29
+ onConfigChange: (newConfig: Record<string, any>) => void;
30
+ onTest?: () => Promise<void>;
31
+ disabled?: boolean;
32
+ }
33
+ export declare function validateCommonFields(config: Record<string, any>): Record<string, string>;
34
+ export declare function formatTriggerDisplayName(trigger: NativeTrigger): string;
35
+ export declare function getTriggerIconName(service: NativeServiceName): string;
36
+ export declare function getServiceIcon(service: NativeServiceName): Promise<any>;
37
+ export declare function getServiceTemplates(service: NativeServiceName): {
38
+ script?: string;
39
+ flow?: string;
40
+ } | undefined;
41
+ export declare function getTemplatePath(service: NativeServiceName, type: 'script' | 'flow'): string | undefined;
42
+ export interface NextcloudEvent {
43
+ path: string;
44
+ description?: string;
45
+ }
46
+ export declare function getNextcloudSchema(availableEvents: NextcloudEvent[]): {
47
+ type: string;
48
+ properties: {
49
+ event: {
50
+ type: string;
51
+ title: string;
52
+ description: string;
53
+ enum: string[];
54
+ enumLabels: Record<string, string>;
55
+ };
56
+ eventFilter: {
57
+ type: string;
58
+ title: string;
59
+ description: string;
60
+ };
61
+ userIdFilter: {
62
+ type: string;
63
+ title: string;
64
+ description: string;
65
+ };
66
+ headers: {
67
+ type: string;
68
+ title: string;
69
+ description: string;
70
+ };
71
+ };
72
+ required: string[];
73
+ };
74
+ export declare function saveNativeTriggerFromCfg(service: NativeServiceName, initialExternalId: string, triggerCfg: Record<string, any>, edit: boolean, workspace: string, usedTriggerKinds: Writable<string[]>): Promise<string | null>;
@@ -0,0 +1,152 @@
1
+ import { isCloudHosted } from '../../../cloud';
2
+ import { NativeTriggerService, WorkspaceIntegrationService } from '../../../gen';
3
+ import { get } from 'svelte/store';
4
+ import { sendUserToast } from '../../../toast';
5
+ export const NATIVE_TRIGGER_SERVICES = {
6
+ nextcloud: {
7
+ serviceDisplayName: 'Nextcloud',
8
+ serviceKey: 'nextcloud',
9
+ supportsSync: true,
10
+ supportsFetchConfig: true,
11
+ isCloudCompatible: true,
12
+ templates: {
13
+ script: '/scripts/add?hub=hub%2F28115',
14
+ flow: '/flows/add?hub=73'
15
+ }
16
+ }
17
+ };
18
+ export async function isServiceAvailable(service, workspace) {
19
+ const config = NATIVE_TRIGGER_SERVICES[service];
20
+ if (!config)
21
+ return false;
22
+ if (isCloudHosted() && !config.isCloudCompatible) {
23
+ return false;
24
+ }
25
+ try {
26
+ const response = await WorkspaceIntegrationService.checkIfNativeTriggersServiceExists({
27
+ workspace,
28
+ serviceName: service
29
+ });
30
+ return response;
31
+ }
32
+ catch (workspaceErr) {
33
+ console.debug(`Workspace integration check failed for ${service}:`, workspaceErr);
34
+ return false;
35
+ }
36
+ }
37
+ export function getAvailableServices() {
38
+ return Object.keys(NATIVE_TRIGGER_SERVICES);
39
+ }
40
+ export async function getAvailableNativeTriggerServices(workspace) {
41
+ const services = getAvailableServices();
42
+ const availableServices = [];
43
+ for (const service of services) {
44
+ const available = await isServiceAvailable(service, workspace);
45
+ if (available) {
46
+ availableServices.push(service);
47
+ }
48
+ }
49
+ return availableServices;
50
+ }
51
+ export function getServiceConfig(service) {
52
+ return NATIVE_TRIGGER_SERVICES[service];
53
+ }
54
+ export function validateCommonFields(config) {
55
+ const errors = {};
56
+ if (!config.script_path?.trim()) {
57
+ errors.script_path = 'Script/Flow path is required';
58
+ }
59
+ return errors;
60
+ }
61
+ export function formatTriggerDisplayName(trigger) {
62
+ return `${trigger.script_path} (external id: ${trigger.external_id})`;
63
+ }
64
+ export function getTriggerIconName(service) {
65
+ switch (service) {
66
+ case 'nextcloud':
67
+ return 'NextcloudIcon';
68
+ default:
69
+ return 'NextcloudIcon';
70
+ }
71
+ }
72
+ export async function getServiceIcon(service) {
73
+ switch (service) {
74
+ case 'nextcloud':
75
+ return (await import('../../icons/NextcloudIcon.svelte')).default;
76
+ }
77
+ }
78
+ export function getServiceTemplates(service) {
79
+ const config = getServiceConfig(service);
80
+ return config?.templates;
81
+ }
82
+ export function getTemplatePath(service, type) {
83
+ const templates = getServiceTemplates(service);
84
+ return templates?.[type];
85
+ }
86
+ export function getNextcloudSchema(availableEvents) {
87
+ return {
88
+ type: 'object',
89
+ properties: {
90
+ event: {
91
+ type: 'string',
92
+ title: 'Event',
93
+ description: 'The type of Nextcloud event to listen for',
94
+ enum: availableEvents.map((e) => e.path),
95
+ enumLabels: availableEvents.reduce((acc, cur) => ({ ...acc, [cur.path]: cur.description ?? cur.path }), {})
96
+ },
97
+ eventFilter: {
98
+ type: 'object',
99
+ title: 'Event filter',
100
+ description: 'Optional filter criteria for the event (JSON object)'
101
+ },
102
+ userIdFilter: {
103
+ type: 'string',
104
+ title: 'User ID filter',
105
+ description: 'Filter events by specific user ID'
106
+ },
107
+ headers: {
108
+ type: 'object',
109
+ title: 'Headers',
110
+ description: 'Optional HTTP headers to include (JSON object)'
111
+ }
112
+ },
113
+ required: ['event']
114
+ };
115
+ }
116
+ export async function saveNativeTriggerFromCfg(service, initialExternalId, triggerCfg, edit, workspace, usedTriggerKinds) {
117
+ const requestBody = {
118
+ script_path: triggerCfg.script_path,
119
+ is_flow: triggerCfg.is_flow,
120
+ service_config: triggerCfg.service_config
121
+ };
122
+ const serviceName = NATIVE_TRIGGER_SERVICES[service].serviceDisplayName;
123
+ try {
124
+ let externalId = initialExternalId;
125
+ if (edit) {
126
+ await NativeTriggerService.updateNativeTrigger({
127
+ workspace: workspace,
128
+ serviceName: service,
129
+ externalId: initialExternalId,
130
+ requestBody
131
+ });
132
+ sendUserToast(`${serviceName} trigger ${externalId} updated`);
133
+ }
134
+ else {
135
+ const response = await NativeTriggerService.createNativeTrigger({
136
+ workspace: workspace,
137
+ serviceName: service,
138
+ requestBody
139
+ });
140
+ externalId = response.external_id;
141
+ sendUserToast(`${serviceName} trigger ${externalId} created`);
142
+ }
143
+ if (!get(usedTriggerKinds).includes(service)) {
144
+ usedTriggerKinds.update((t) => [...t, service]);
145
+ }
146
+ return externalId;
147
+ }
148
+ catch (error) {
149
+ sendUserToast(error.body || error.message, true);
150
+ return null;
151
+ }
152
+ }
@@ -1,4 +1,4 @@
1
- import { type TriggersCount } from '../../gen';
1
+ import { type TriggersCount, type NativeServiceName } from '../../gen';
2
2
  import { type Trigger } from './utils';
3
3
  import { type Writable } from 'svelte/store';
4
4
  import type { TriggerType } from './utils';
@@ -28,5 +28,6 @@ export declare class Triggers {
28
28
  fetchGcpTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
29
29
  fetchHttpTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
30
30
  fetchEmailTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
31
+ fetchNativeTriggers(serviceName: NativeServiceName, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
31
32
  fetchTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, primarySchedule?: ScheduleTrigger | undefined | false, user?: UserExt | undefined): Promise<void>;
32
33
  }
@@ -1,4 +1,4 @@
1
- import { KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, SqsTriggerService, WebsocketTriggerService, HttpTriggerService, GcpTriggerService, EmailTriggerService } from '../../gen';
1
+ import { KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, SqsTriggerService, WebsocketTriggerService, NativeTriggerService, HttpTriggerService, GcpTriggerService, EmailTriggerService } from '../../gen';
2
2
  import { enterpriseLicense } from '../../stores';
3
3
  import { getLightConfig, sortTriggers, updateTriggersCount } from './utils';
4
4
  import { get } from 'svelte/store';
@@ -38,6 +38,7 @@ export class Triggers {
38
38
  this.#updateDraftCallback?.();
39
39
  }
40
40
  setDraftConfig(triggerIndex, draftConfig) {
41
+ console.log('setDraftConfig', triggerIndex, draftConfig);
41
42
  if (triggerIndex === undefined || triggerIndex < 0 || triggerIndex >= this.#triggers.length) {
42
43
  return;
43
44
  }
@@ -339,6 +340,30 @@ export class Triggers {
339
340
  console.error('Failed to fetch email triggers:', error);
340
341
  }
341
342
  }
343
+ async fetchNativeTriggers(serviceName, workspaceId, path, isFlow, user = undefined) {
344
+ if (!workspaceId)
345
+ return;
346
+ try {
347
+ const triggers = await NativeTriggerService.listNativeTriggers({
348
+ workspace: workspaceId,
349
+ serviceName,
350
+ path,
351
+ isFlow
352
+ });
353
+ // Convert to the trigger format used by updateTriggers
354
+ const triggerData = triggers.map((t) => ({
355
+ path: t.external_id,
356
+ script_path: t.script_path,
357
+ is_flow: t.is_flow,
358
+ extra_perms: {},
359
+ service_config: t.service_config
360
+ }));
361
+ this.updateTriggers(triggerData, serviceName, user);
362
+ }
363
+ catch (error) {
364
+ console.debug(`Failed to fetch ${serviceName} triggers:`, error);
365
+ }
366
+ }
342
367
  async fetchTriggers(triggersCountStore, workspaceId, path, isFlow, primarySchedule = undefined, user = undefined) {
343
368
  if (!workspaceId)
344
369
  return;
@@ -348,14 +373,17 @@ export class Triggers {
348
373
  this.fetchHttpTriggers(triggersCountStore, workspaceId, path, isFlow, user),
349
374
  this.fetchWebsocketTriggers(triggersCountStore, workspaceId, path, isFlow, user),
350
375
  this.fetchPostgresTriggers(triggersCountStore, workspaceId, path, isFlow, user),
351
- this.fetchNatsTriggers(triggersCountStore, workspaceId, path, isFlow, user),
352
376
  this.fetchMqttTriggers(triggersCountStore, workspaceId, path, isFlow, user),
353
- this.fetchEmailTriggers(triggersCountStore, workspaceId, path, isFlow, user),
354
- ...(get(enterpriseLicense) ? [
355
- this.fetchKafkaTriggers(triggersCountStore, workspaceId, path, isFlow, user),
356
- this.fetchSqsTriggers(triggersCountStore, workspaceId, path, isFlow, user),
357
- this.fetchGcpTriggers(triggersCountStore, workspaceId, path, isFlow, user)
358
- ] : [])
377
+ this.fetchNativeTriggers('nextcloud', workspaceId, path, isFlow, user),
378
+ ...(get(enterpriseLicense)
379
+ ? [
380
+ this.fetchKafkaTriggers(triggersCountStore, workspaceId, path, isFlow, user),
381
+ this.fetchSqsTriggers(triggersCountStore, workspaceId, path, isFlow, user),
382
+ this.fetchGcpTriggers(triggersCountStore, workspaceId, path, isFlow, user),
383
+ this.fetchEmailTriggers(triggersCountStore, workspaceId, path, isFlow, user),
384
+ this.fetchNatsTriggers(triggersCountStore, workspaceId, path, isFlow, user)
385
+ ]
386
+ : [])
359
387
  ]);
360
388
  }
361
389
  }
@@ -5,7 +5,6 @@ import MqttIcon from '../icons/MqttIcon.svelte';
5
5
  import AwsIcon from '../icons/AwsIcon.svelte';
6
6
  import GoogleCloudIcon from '../icons/GoogleCloudIcon.svelte';
7
7
  import SchedulePollIcon from '../icons/SchedulePollIcon.svelte';
8
- import {} from './';
9
8
  import { saveScheduleFromCfg } from '../flows/scheduleUtils';
10
9
  import { saveHttpRouteFromCfg } from './http/utils';
11
10
  import { saveWebsocketTriggerFromCfg } from './websocket/utils';
@@ -17,6 +16,8 @@ import { saveMqttTriggerFromCfg } from './mqtt/utils';
17
16
  import { saveGcpTriggerFromCfg } from './gcp/utils';
18
17
  import { emptyString } from '../../utils';
19
18
  import { saveEmailTriggerFromCfg } from './email/utils';
19
+ import NextcloudIcon from '../icons/NextcloudIcon.svelte';
20
+ import { saveNativeTriggerFromCfg } from './native/utils';
20
21
  export const CLOUD_DISABLED_TRIGGER_TYPES = [
21
22
  'nats',
22
23
  'kafka',
@@ -56,7 +57,8 @@ export const triggerIconMap = {
56
57
  gcp: GoogleCloudIcon,
57
58
  primary_schedule: Calendar,
58
59
  poll: SchedulePollIcon,
59
- cli: Terminal
60
+ cli: Terminal,
61
+ nextcloud: NextcloudIcon
60
62
  };
61
63
  export const triggerDisplayNamesMap = {
62
64
  schedule: 'Schedule',
@@ -72,7 +74,8 @@ export const triggerDisplayNamesMap = {
72
74
  poll: 'Scheduled Poll',
73
75
  webhook: 'Webhook',
74
76
  default_email: 'Default Email',
75
- cli: 'CLI'
77
+ cli: 'CLI',
78
+ nextcloud: 'Nextcloud'
76
79
  };
77
80
  /**
78
81
  * Converts a TriggerType to a CaptureTriggerKind when a mapping exists
@@ -116,7 +119,8 @@ export function updateTriggersCount(triggersCountStore, type, action, primaryCfg
116
119
  gcp: 'gcp_count',
117
120
  email: 'email_count',
118
121
  poll: undefined,
119
- cli: undefined
122
+ cli: undefined,
123
+ nextcloud: undefined
120
124
  };
121
125
  const countProperty = countPropertyMap[type];
122
126
  triggersCountStore.update((triggersCount) => {
@@ -221,7 +225,8 @@ export async function deployTriggers(triggersToDeploy, workspaceId, isAdmin, use
221
225
  gcp: (trigger) => saveGcpTriggerFromCfg(trigger.path ?? trigger.draftConfig?.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, usedTriggerKinds),
222
226
  email: (trigger) => saveEmailTriggerFromCfg(trigger.path ?? trigger.draftConfig?.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, isAdmin, usedTriggerKinds),
223
227
  poll: undefined,
224
- cli: undefined
228
+ cli: undefined,
229
+ nextcloud: (trigger) => saveNativeTriggerFromCfg('nextcloud', trigger.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, usedTriggerKinds)
225
230
  };
226
231
  await Promise.all(triggersToDeploy.map(async (trigger) => {
227
232
  const saveFunction = triggerSaveFunctions[trigger.type];
@@ -302,6 +307,9 @@ export function getLightConfig(triggerType, trigger) {
302
307
  else if (triggerType === 'email') {
303
308
  return { local_part: trigger.local_part };
304
309
  }
310
+ else if (triggerType === 'nextcloud') {
311
+ return { event: trigger.service_config?.event ?? trigger.event };
312
+ }
305
313
  else {
306
314
  return undefined;
307
315
  }
@@ -346,6 +354,9 @@ export function getTriggerLabel(trigger) {
346
354
  else if (type === 'email' && config?.local_part) {
347
355
  return `${config?.local_part}`;
348
356
  }
357
+ else if (type === 'nextcloud' && path) {
358
+ return `${path}`;
359
+ }
349
360
  else if (isDraft && draftConfig?.path) {
350
361
  return `${draftConfig?.path}`;
351
362
  }
@@ -371,7 +382,8 @@ export function sortTriggers(triggers) {
371
382
  'mqtt',
372
383
  'sqs',
373
384
  'gcp',
374
- 'email'
385
+ 'email',
386
+ 'nextcloud'
375
387
  ];
376
388
  return triggers.sort((a, b) => {
377
389
  // Draft triggers always come last
@@ -16,5 +16,5 @@ export type TriggerContext = {
16
16
  triggersState: Triggers;
17
17
  };
18
18
  export declare function setScheduledPollSchedule(triggersState: Triggers, triggersCount: Writable<TriggersCount | undefined>): void;
19
- export type TriggerKind = 'webhooks' | 'emails' | 'default_emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka' | 'nats' | 'postgres' | 'mqtt' | 'sqs' | 'gcp';
19
+ export type TriggerKind = 'webhooks' | 'emails' | 'default_emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka' | 'nats' | 'postgres' | 'mqtt' | 'sqs' | 'gcp' | 'nextcloud';
20
20
  export declare function captureTriggerKindToTriggerKind(kind: CaptureTriggerKind): TriggerKind;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">import { getContext } from 'svelte';
2
- import { isFlowTainted, triggerPointerDown, clickButtonBySelector } from './utils';
2
+ import { isFlowTainted, triggerPointerDown, clickButtonBySelector, DELAY_SHORT, DELAY_MEDIUM, DELAY_LONG, DELAY_ANIMATION, DELAY_ANIMATION_LONG, DELAY_TYPING, DELAY_CODE_CHAR, DELAY_CODE_NEWLINE, moveCursorToElement, createFakeCursor } from './utils';
3
3
  import Tutorial from './Tutorial.svelte';
4
4
  import { initFlow } from '../flows/flowStore.svelte';
5
5
  import { loadFlowModuleState } from '../flows/flowStateUtils.svelte';
@@ -16,15 +16,6 @@ let step3Complete = $state(false);
16
16
  let step4Complete = $state(false);
17
17
  let step5Complete = $state(false);
18
18
  let step6Complete = $state(false);
19
- // Constants for delays
20
- const DELAY_SHORT = 100;
21
- const DELAY_MEDIUM = 300;
22
- const DELAY_LONG = 500;
23
- const DELAY_ANIMATION = 1500;
24
- const DELAY_ANIMATION_LONG = 2500;
25
- const DELAY_TYPING = 50;
26
- const DELAY_CODE_CHAR = 2;
27
- const DELAY_CODE_NEWLINE = 5;
28
19
  // Helper function to get driver overlay
29
20
  function getDriverOverlay() {
30
21
  return document.querySelector('.driver-overlay');
@@ -70,29 +61,9 @@ function cleanupCustomOverlay() {
70
61
  customOverlay.remove();
71
62
  }
72
63
  }
73
- // Helper function to move cursor to element (for continuous cursor movement)
74
- async function moveCursorToElement(cursor, element, duration = DELAY_ANIMATION) {
75
- const rect = element.getBoundingClientRect();
76
- cursor.style.transition = `all ${duration / 1000}s ease-in-out`;
77
- cursor.style.left = `${rect.left + rect.width / 2}px`;
78
- cursor.style.top = `${rect.top + rect.height / 2}px`;
79
- await wait(duration);
80
- }
81
- // Helper function to create and animate a fake cursor
82
- async function createFakeCursor(startElement, endElement, transitionDuration = 1.5) {
83
- const fakeCursor = document.createElement('div');
84
- fakeCursor.style.cssText = `
85
- position: fixed;
86
- width: 20px;
87
- height: 20px;
88
- border-radius: 50%;
89
- background-color: rgba(59, 130, 246, 0.8);
90
- border: 2px solid white;
91
- pointer-events: none;
92
- z-index: 10000;
93
- transition: all ${transitionDuration}s ease-in-out;
94
- `;
95
- document.body.appendChild(fakeCursor);
64
+ // Helper function to create and animate a fake cursor (extended version with start element support)
65
+ async function createFakeCursorWithStart(startElement, endElement, transitionDuration = 1.5) {
66
+ const fakeCursor = createFakeCursor();
96
67
  const endRect = endElement.getBoundingClientRect();
97
68
  let startX, startY;
98
69
  if (startElement) {
@@ -281,7 +252,7 @@ const flowJson = {
281
252
  // Animate cursor to the add step button
282
253
  const button = document.querySelector('#flow-editor-add-step-0') as HTMLElement
283
254
  if (button) {
284
- const fakeCursor1 = await createFakeCursor(null, button, 1.5)
255
+ const fakeCursor1 = await createFakeCursorWithStart(null, button, 1.5)
285
256
  await wait(DELAY_SHORT)
286
257
  button.click()
287
258
  fakeCursor1.remove()
@@ -299,7 +270,7 @@ const flowJson = {
299
270
 
300
271
  if (bunSpan) {
301
272
  // Animate cursor from add step button to TypeScript (Bun) span
302
- const fakeCursor2 = await createFakeCursor(button, bunSpan, 1.5)
273
+ const fakeCursor2 = await createFakeCursorWithStart(button, bunSpan, 1.5)
303
274
  await wait(DELAY_MEDIUM)
304
275
  fakeCursor2.remove()
305
276