windmill-components 1.655.1 → 1.665.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/package/components/ApiConnectForm.svelte +6 -6
  2. package/package/components/ApiConnectForm.svelte.d.ts +3 -2
  3. package/package/components/AppConnectDrawer.svelte +3 -1
  4. package/package/components/AppConnectDrawer.svelte.d.ts +2 -0
  5. package/package/components/AppConnectInner.svelte +137 -72
  6. package/package/components/AppConnectInner.svelte.d.ts +1 -0
  7. package/package/components/CompareWorkspaces.svelte +32 -24
  8. package/package/components/DBManager.svelte +7 -13
  9. package/package/components/DBTable.svelte +2 -2
  10. package/package/components/DBTableEditor.svelte +39 -31
  11. package/package/components/DBTableEditor.svelte.d.ts +2 -2
  12. package/package/components/DedicatedWorkersSelector.svelte +292 -85
  13. package/package/components/DeployWorkspace.svelte +30 -26
  14. package/package/components/Dev.svelte +7 -2
  15. package/package/components/Dev.svelte.d.ts +3 -0
  16. package/package/components/Editor.svelte +17 -13
  17. package/package/components/EditorBar.svelte.d.ts +1 -1
  18. package/package/components/FilterSearchbar.svelte +1 -1
  19. package/package/components/FirstStepInputs.svelte +0 -1
  20. package/package/components/FlowBuilder.svelte +5 -0
  21. package/package/components/FlowGraphDiffViewer.svelte +3 -0
  22. package/package/components/FlowGraphViewer.svelte +7 -4
  23. package/package/components/FlowGraphViewer.svelte.d.ts +1 -0
  24. package/package/components/FlowGraphViewerStep.svelte +3 -3
  25. package/package/components/FlowGraphViewerStep.svelte.d.ts +1 -0
  26. package/package/components/FlowPreviewContent.svelte +11 -1
  27. package/package/components/FlowStatusViewer.svelte +4 -1
  28. package/package/components/FlowStatusViewer.svelte.d.ts +3 -1
  29. package/package/components/FlowStatusViewerInner.svelte +46 -11
  30. package/package/components/FlowStatusViewerInner.svelte.d.ts +4 -1
  31. package/package/components/FlowStatusWaitingForEvents.svelte +48 -103
  32. package/package/components/FlowTimeline.svelte +76 -84
  33. package/package/components/FlowViewer.svelte +40 -22
  34. package/package/components/FlowViewer.svelte.d.ts +8 -2
  35. package/package/components/GroupEditor.svelte +7 -9
  36. package/package/components/HistoricList.svelte +12 -4
  37. package/package/components/InstanceGroupEditor.svelte +92 -19
  38. package/package/components/InstanceSetting.svelte +16 -6
  39. package/package/components/InstanceSettings.svelte +51 -7
  40. package/package/components/InstanceSettings.svelte.d.ts +2 -1
  41. package/package/components/JobLoader.svelte +5 -4
  42. package/package/components/JobLoader.svelte.d.ts +1 -1
  43. package/package/components/Login.svelte +9 -1
  44. package/package/components/NoMainFuncBadge.svelte +2 -2
  45. package/package/components/OnBehalfOfSelector.svelte +49 -37
  46. package/package/components/OnBehalfOfSelector.svelte.d.ts +16 -6
  47. package/package/components/ResourceEditor.svelte +16 -11
  48. package/package/components/ResourceEditor.svelte.d.ts +1 -0
  49. package/package/components/ResourceEditorDrawer.svelte +3 -1
  50. package/package/components/ResourceEditorDrawer.svelte.d.ts +6 -2
  51. package/package/components/ResourcePicker.svelte +10 -5
  52. package/package/components/ResourcePicker.svelte.d.ts +2 -0
  53. package/package/components/S3FilePickerInner.svelte +12 -4
  54. package/package/components/SchemaForm.svelte +20 -14
  55. package/package/components/SchemaForm.svelte.d.ts +2 -2
  56. package/package/components/ScriptBuilder.svelte +158 -18
  57. package/package/components/ScriptEditor.svelte +674 -150
  58. package/package/components/ScriptEditor.svelte.d.ts +7 -3
  59. package/package/components/SuperadminSettings.svelte +4 -1
  60. package/package/components/SuperadminSettingsInner.svelte +176 -67
  61. package/package/components/SuperadminSettingsInner.svelte.d.ts +3 -1
  62. package/package/components/SyncResourceTypes.svelte +31 -0
  63. package/package/components/SyncResourceTypes.svelte.d.ts +6 -0
  64. package/package/components/TimelineBar.svelte +14 -8
  65. package/package/components/TimelineBar.svelte.d.ts +1 -0
  66. package/package/components/WorkerGroup.svelte +11 -4
  67. package/package/components/WorkflowTimeline.svelte +386 -58
  68. package/package/components/WorkflowTimeline.svelte.d.ts +6 -1
  69. package/package/components/WorkspaceDependenciesEditor.svelte +32 -2
  70. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
  71. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
  72. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
  73. package/package/components/apps/components/display/dbtable/metadata.js +44 -222
  74. package/package/components/apps/components/display/dbtable/queries/count.d.ts +9 -0
  75. package/package/components/apps/components/display/dbtable/queries/delete.d.ts +9 -0
  76. package/package/components/apps/components/display/dbtable/queries/insert.d.ts +9 -0
  77. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +7 -0
  78. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +1 -1
  79. package/package/components/apps/components/display/dbtable/queries/select.d.ts +9 -0
  80. package/package/components/apps/components/display/dbtable/queries/update.d.ts +9 -0
  81. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +11 -9
  82. package/package/components/apps/editor/appUtilsS3.js +2 -2
  83. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -10
  84. package/package/components/common/clearableInput/ClearableInput.svelte +3 -7
  85. package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -1
  86. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  87. package/package/components/common/drawer/Disposable.svelte +24 -2
  88. package/package/components/common/drawer/Disposable.svelte.d.ts +5 -0
  89. package/package/components/common/modal/Modal.svelte +84 -58
  90. package/package/components/common/table/AppRow.svelte.d.ts +1 -1
  91. package/package/components/common/table/FlowRow.svelte.d.ts +1 -1
  92. package/package/components/common/table/ScriptRow.svelte +31 -3
  93. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -1
  94. package/package/components/copilot/MetadataGen.svelte +8 -5
  95. package/package/components/copilot/MetadataGen.svelte.d.ts +1 -0
  96. package/package/components/copilot/TestAIKey.svelte +2 -1
  97. package/package/components/copilot/TestAIKey.svelte.d.ts +1 -0
  98. package/package/components/copilot/chat/AIChatManager.svelte.js +62 -80
  99. package/package/components/copilot/chat/HistoryManager.svelte.d.ts +1 -0
  100. package/package/components/copilot/chat/HistoryManager.svelte.js +3 -0
  101. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +47 -31
  102. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +1 -6
  103. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +18 -13
  104. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +14 -5
  105. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +13 -12
  106. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +46 -29
  107. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +1 -4
  108. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +14 -5
  109. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +13 -12
  110. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +5 -8
  111. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +82 -108
  112. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +4 -7
  113. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +19 -11
  114. package/package/components/copilot/chat/__tests__/shared/types.d.ts +3 -0
  115. package/package/components/copilot/chat/anthropic.d.ts +9 -2
  116. package/package/components/copilot/chat/anthropic.js +12 -6
  117. package/package/components/copilot/chat/app/core.js +5 -12
  118. package/package/components/copilot/chat/chatLoop.d.ts +40 -0
  119. package/package/components/copilot/chat/chatLoop.js +97 -0
  120. package/package/components/copilot/chat/openai-responses.d.ts +8 -2
  121. package/package/components/copilot/chat/openai-responses.js +17 -17
  122. package/package/components/copilot/chat/shared.d.ts +2 -1
  123. package/package/components/copilot/chat/shared.js +2 -2
  124. package/package/components/copilot/lib.d.ts +14 -5
  125. package/package/components/copilot/lib.js +68 -48
  126. package/package/components/custom_ui.d.ts +1 -0
  127. package/package/components/dbOps.d.ts +2 -2
  128. package/package/components/dbOps.js +129 -53
  129. package/package/components/debug/debugUtils.d.ts +5 -0
  130. package/package/components/debug/debugUtils.js +20 -0
  131. package/package/components/debug/index.d.ts +1 -1
  132. package/package/components/debug/index.js +3 -7
  133. package/package/components/flows/CreateActionsFlow.svelte +221 -43
  134. package/package/components/flows/DebounceLimit.svelte +42 -9
  135. package/package/components/flows/common/FlowCard.svelte +2 -1
  136. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  137. package/package/components/flows/common/FlowCardHeader.svelte +14 -10
  138. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  139. package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
  140. package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
  141. package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
  142. package/package/components/flows/content/FlowInputs.svelte +1 -1
  143. package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
  144. package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
  145. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  146. package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
  147. package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
  148. package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
  149. package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
  150. package/package/components/flows/content/FlowRetries.svelte +57 -57
  151. package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
  152. package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
  153. package/package/components/flows/content/FlowSettings.svelte +6 -6
  154. package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
  155. package/package/components/flows/content/SuspendDrawer.svelte +0 -18
  156. package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
  157. package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
  158. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  159. package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
  160. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
  161. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
  162. package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
  163. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  164. package/package/components/flows/map/FlowStickyNode.svelte +24 -16
  165. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  166. package/package/components/flows/map/InsertModuleInner.svelte +2 -0
  167. package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
  168. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
  169. package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
  170. package/package/components/flows/scheduleUtils.js +3 -1
  171. package/package/components/flows/utils.svelte.js +6 -1
  172. package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
  173. package/package/components/git_sync/GitSyncSection.svelte +135 -99
  174. package/package/components/graph/DragGhost.svelte +11 -2
  175. package/package/components/graph/FlowGraphV2.svelte +138 -42
  176. package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
  177. package/package/components/graph/GroupActionBar.svelte +124 -0
  178. package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
  179. package/package/components/graph/GroupHeader.svelte +98 -0
  180. package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
  181. package/package/components/graph/GroupHeaderBlock.svelte +58 -0
  182. package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
  183. package/package/components/graph/GroupModuleIcons.svelte +163 -0
  184. package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
  185. package/package/components/graph/GroupNodeCard.svelte +127 -0
  186. package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
  187. package/package/components/graph/GroupNoteArea.svelte +132 -0
  188. package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
  189. package/package/components/graph/GroupOverlay.svelte +71 -0
  190. package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
  191. package/package/components/graph/MiniFlowGraph.svelte +17 -2
  192. package/package/components/graph/SelectionBoundingBox.svelte +14 -14
  193. package/package/components/graph/compoundLayout.d.ts +17 -1
  194. package/package/components/graph/compoundLayout.js +129 -14
  195. package/package/components/graph/flowStructure.d.ts +63 -0
  196. package/package/components/graph/flowStructure.js +422 -0
  197. package/package/components/graph/flowStructure.test.d.ts +1 -0
  198. package/package/components/graph/flowStructure.test.js +205 -0
  199. package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
  200. package/package/components/graph/graphBuilder.svelte.js +170 -67
  201. package/package/components/graph/graphContext.d.ts +7 -0
  202. package/package/components/graph/groupDetectionUtils.d.ts +24 -1
  203. package/package/components/graph/groupDetectionUtils.js +101 -1
  204. package/package/components/graph/groupEditor.svelte.d.ts +105 -0
  205. package/package/components/graph/groupEditor.svelte.js +253 -0
  206. package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
  207. package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
  208. package/package/components/graph/model.d.ts +2 -1
  209. package/package/components/graph/moveManager.svelte.js +0 -3
  210. package/package/components/graph/nodeExtraSpace.d.ts +32 -0
  211. package/package/components/graph/nodeExtraSpace.js +113 -0
  212. package/package/components/graph/noteColors.d.ts +1 -0
  213. package/package/components/graph/noteColors.js +20 -10
  214. package/package/components/graph/noteUtils.svelte.d.ts +0 -18
  215. package/package/components/graph/noteUtils.svelte.js +6 -41
  216. package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
  217. package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
  218. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
  219. package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
  220. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
  221. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
  222. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
  223. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
  224. package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
  225. package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
  226. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
  227. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
  228. package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
  229. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  230. package/package/components/graph/util.d.ts +5 -1
  231. package/package/components/graph/util.js +7 -5
  232. package/package/components/home/Item.svelte +1 -0
  233. package/package/components/home/ItemsList.svelte +1 -1
  234. package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
  235. package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
  236. package/package/components/icons/AlgoliaIcon.svelte +7 -0
  237. package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
  238. package/package/components/icons/ApolloIcon.svelte +7 -0
  239. package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
  240. package/package/components/icons/BambooHrIcon.svelte +7 -0
  241. package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
  242. package/package/components/icons/BaremetricsIcon.svelte +7 -0
  243. package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
  244. package/package/components/icons/BitlyIcon.svelte +7 -0
  245. package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
  246. package/package/components/icons/BloggerIcon.svelte +7 -0
  247. package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
  248. package/package/components/icons/BlueskyIcon.svelte +7 -0
  249. package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
  250. package/package/components/icons/BoxIcon.svelte +7 -0
  251. package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
  252. package/package/components/icons/BrevoIcon.svelte +7 -0
  253. package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
  254. package/package/components/icons/BrexIcon.svelte +7 -0
  255. package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
  256. package/package/components/icons/BrowserlessIcon.svelte +7 -0
  257. package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
  258. package/package/components/icons/BubbleIcon.svelte +11 -0
  259. package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
  260. package/package/components/icons/BuildkiteIcon.svelte +7 -0
  261. package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
  262. package/package/components/icons/CalcomIcon.svelte +1 -1
  263. package/package/components/icons/CalendlyIcon.svelte +7 -0
  264. package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
  265. package/package/components/icons/CircleCiIcon.svelte +7 -0
  266. package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
  267. package/package/components/icons/CiscoIcon.svelte +7 -0
  268. package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
  269. package/package/components/icons/ClearbitIcon.svelte +7 -0
  270. package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
  271. package/package/components/icons/ClerkIcon.svelte +7 -0
  272. package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
  273. package/package/components/icons/CloseIcon.svelte +37 -0
  274. package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
  275. package/package/components/icons/CloudinaryIcon.svelte +7 -0
  276. package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
  277. package/package/components/icons/CockroachDbIcon.svelte +7 -0
  278. package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
  279. package/package/components/icons/CodaIcon.svelte +7 -0
  280. package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
  281. package/package/components/icons/CohereIcon.svelte +16 -0
  282. package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
  283. package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
  284. package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
  285. package/package/components/icons/CoinbaseIcon.svelte +7 -0
  286. package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
  287. package/package/components/icons/ConfluenceIcon.svelte +7 -0
  288. package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
  289. package/package/components/icons/ContentfulIcon.svelte +7 -0
  290. package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
  291. package/package/components/icons/ConvertKitIcon.svelte +7 -0
  292. package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
  293. package/package/components/icons/DatoCmsIcon.svelte +7 -0
  294. package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
  295. package/package/components/icons/DeelIcon.svelte +7 -0
  296. package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
  297. package/package/components/icons/DeepLIcon.svelte +7 -0
  298. package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
  299. package/package/components/icons/DigitalOceanIcon.svelte +7 -0
  300. package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
  301. package/package/components/icons/DiscourseIcon.svelte +7 -0
  302. package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
  303. package/package/components/icons/DocusignIcon.svelte +7 -0
  304. package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
  305. package/package/components/icons/DropboxIcon.svelte +7 -0
  306. package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
  307. package/package/components/icons/EdgeDbIcon.svelte +16 -20
  308. package/package/components/icons/EventbriteIcon.svelte +10 -0
  309. package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
  310. package/package/components/icons/FigmaIcon.svelte +7 -0
  311. package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
  312. package/package/components/icons/FlyIcon.svelte +7 -0
  313. package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
  314. package/package/components/icons/FreshdeskIcon.svelte +7 -0
  315. package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
  316. package/package/components/icons/FrontAppIcon.svelte +7 -0
  317. package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
  318. package/package/components/icons/GhostCmsIcon.svelte +7 -0
  319. package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
  320. package/package/components/icons/GiphyIcon.svelte +7 -0
  321. package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
  322. package/package/components/icons/GitBookIcon.svelte +7 -0
  323. package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
  324. package/package/components/icons/GroqIcon.svelte +7 -0
  325. package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
  326. package/package/components/icons/HoneybadgerIcon.svelte +7 -0
  327. package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
  328. package/package/components/icons/HttpIcon.svelte +1 -0
  329. package/package/components/icons/IftttIcon.svelte +7 -0
  330. package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
  331. package/package/components/icons/IntercomIcon.svelte +7 -0
  332. package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
  333. package/package/components/icons/JoomlaIcon.svelte +7 -0
  334. package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
  335. package/package/components/icons/LineIcon.svelte +7 -0
  336. package/package/components/icons/LineIcon.svelte.d.ts +7 -0
  337. package/package/components/icons/LinearIcon.svelte +7 -0
  338. package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
  339. package/package/components/icons/LinodeIcon.svelte +7 -0
  340. package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
  341. package/package/components/icons/LumaAiIcon.svelte +39 -0
  342. package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
  343. package/package/components/icons/MSTeamsIcon.svelte +20 -38
  344. package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
  345. package/package/components/icons/MagentoIcon.svelte +7 -0
  346. package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
  347. package/package/components/icons/MailchimpIcon.svelte +25 -13
  348. package/package/components/icons/MandrillIcon.svelte +7 -0
  349. package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
  350. package/package/components/icons/MauticIcon.svelte +7 -0
  351. package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
  352. package/package/components/icons/MediumIcon.svelte +7 -0
  353. package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
  354. package/package/components/icons/MiroIcon.svelte +7 -0
  355. package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
  356. package/package/components/icons/MistralIcon.svelte +7 -0
  357. package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
  358. package/package/components/icons/MixpanelIcon.svelte +7 -0
  359. package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
  360. package/package/components/icons/MondayIcon.svelte +7 -0
  361. package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
  362. package/package/components/icons/NeonDbIcon.svelte +23 -0
  363. package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
  364. package/package/components/icons/NetlifyIcon.svelte +7 -0
  365. package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
  366. package/package/components/icons/OneSignalIcon.svelte +9 -0
  367. package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
  368. package/package/components/icons/OpenWeatherIcon.svelte +7 -0
  369. package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
  370. package/package/components/icons/PagerDutyIcon.svelte +7 -0
  371. package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
  372. package/package/components/icons/PandaDocIcon.svelte +7 -0
  373. package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
  374. package/package/components/icons/PaypalIcon.svelte +7 -0
  375. package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
  376. package/package/components/icons/PersonioIcon.svelte +7 -0
  377. package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
  378. package/package/components/icons/PinterestIcon.svelte +7 -0
  379. package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
  380. package/package/components/icons/PipedriveIcon.svelte +11 -0
  381. package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
  382. package/package/components/icons/PlanetScaleIcon.svelte +7 -0
  383. package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
  384. package/package/components/icons/PostmarkIcon.svelte +7 -0
  385. package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
  386. package/package/components/icons/PusherIcon.svelte +7 -0
  387. package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
  388. package/package/components/icons/QuickbooksIcon.svelte +13 -1
  389. package/package/components/icons/RaindropIcon.svelte +27 -0
  390. package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
  391. package/package/components/icons/ReadwiseIcon.svelte +12 -0
  392. package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/RenderIcon.svelte +7 -0
  394. package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
  395. package/package/components/icons/ReplicateIcon.svelte +7 -0
  396. package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
  397. package/package/components/icons/ResendIcon.svelte +1 -1
  398. package/package/components/icons/RestIcon.svelte +1 -0
  399. package/package/components/icons/RingCentralIcon.svelte +7 -0
  400. package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
  401. package/package/components/icons/RocketChatIcon.svelte +7 -0
  402. package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
  403. package/package/components/icons/RunPodIcon.svelte +8 -0
  404. package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
  405. package/package/components/icons/RustIcon.svelte +74 -56
  406. package/package/components/icons/SalesforceIcon.svelte +7 -0
  407. package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
  408. package/package/components/icons/SegmentIcon.svelte +7 -0
  409. package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
  410. package/package/components/icons/SentryIcon.svelte +7 -0
  411. package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
  412. package/package/components/icons/ServiceNowIcon.svelte +7 -0
  413. package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
  414. package/package/components/icons/ShortcutIcon.svelte +7 -0
  415. package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
  416. package/package/components/icons/SigNozIcon.svelte +8 -0
  417. package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
  418. package/package/components/icons/SmartsheetIcon.svelte +7 -0
  419. package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
  420. package/package/components/icons/SpeechifyIcon.svelte +7 -0
  421. package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
  422. package/package/components/icons/SplitwiseIcon.svelte +7 -0
  423. package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
  424. package/package/components/icons/StravaIcon.svelte +7 -0
  425. package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
  426. package/package/components/icons/TallyIcon.svelte +7 -0
  427. package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
  428. package/package/components/icons/TelnyxIcon.svelte +19 -0
  429. package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
  430. package/package/components/icons/ThreadsIcon.svelte +7 -0
  431. package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
  432. package/package/components/icons/TodoistIcon.svelte +7 -0
  433. package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
  434. package/package/components/icons/TogetherAiIcon.svelte +23 -0
  435. package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
  436. package/package/components/icons/TrelloIcon.svelte +22 -1
  437. package/package/components/icons/TursoIcon.svelte +7 -0
  438. package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
  439. package/package/components/icons/TwitchIcon.svelte +7 -0
  440. package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
  441. package/package/components/icons/TwitterIcon.svelte +7 -0
  442. package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
  443. package/package/components/icons/TypeformIcon.svelte +1 -1
  444. package/package/components/icons/VercelIcon.svelte +7 -0
  445. package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
  446. package/package/components/icons/WebflowIcon.svelte +7 -0
  447. package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
  448. package/package/components/icons/WooCommerceIcon.svelte +7 -0
  449. package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
  450. package/package/components/icons/WordpressIcon.svelte +7 -0
  451. package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
  452. package/package/components/icons/XataIcon.svelte +13 -0
  453. package/package/components/icons/XataIcon.svelte.d.ts +7 -0
  454. package/package/components/icons/YelpIcon.svelte +7 -0
  455. package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
  456. package/package/components/icons/YnabIcon.svelte +7 -0
  457. package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
  458. package/package/components/icons/YoutubeIcon.svelte +7 -0
  459. package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
  460. package/package/components/icons/ZendeskIcon.svelte +1 -1
  461. package/package/components/icons/ZeroTierIcon.svelte +7 -0
  462. package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
  463. package/package/components/icons/ZoomIcon.svelte +7 -0
  464. package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
  465. package/package/components/icons/index.d.ts +111 -1
  466. package/package/components/icons/index.js +225 -2
  467. package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
  468. package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
  469. package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
  470. package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
  471. package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
  472. package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
  473. package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
  474. package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
  475. package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
  476. package/package/components/instanceSettings.d.ts +3 -1
  477. package/package/components/instanceSettings.js +92 -2
  478. package/package/components/mcp/McpScopeSelector.svelte +408 -0
  479. package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
  480. package/package/components/meltComponents/Popover.svelte +0 -1
  481. package/package/components/raw_apps/RawAppPreview.svelte +6 -2
  482. package/package/components/recording/FlowRecordingReplay.svelte +94 -52
  483. package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
  484. package/package/components/recording/ScriptRecordingReplay.svelte +140 -76
  485. package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
  486. package/package/components/runs/JobRunsPreview.svelte +8 -1
  487. package/package/components/runs/TimeframeSelect.svelte +0 -1
  488. package/package/components/schema/JobSchemaPicker.svelte +8 -2
  489. package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
  490. package/package/components/schema/SchemaFormDND.svelte +15 -3
  491. package/package/components/scriptEditor/LogPanel.svelte +78 -68
  492. package/package/components/script_builder.d.ts +1 -1
  493. package/package/components/scripts/CreateActionsScript.svelte +3 -3
  494. package/package/components/scripts/WacExportDrawer.svelte +127 -0
  495. package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
  496. package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
  497. package/package/components/scripts/scriptStore.svelte.js +2 -0
  498. package/package/components/select/SelectDropdown.svelte +1 -1
  499. package/package/components/settings/AIPromptsModal.svelte +5 -2
  500. package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
  501. package/package/components/settings/CloudQuotas.svelte +152 -0
  502. package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
  503. package/package/components/settings/CreateToken.svelte +15 -430
  504. package/package/components/settings/Trashbin.svelte +248 -0
  505. package/package/components/settings/Trashbin.svelte.d.ts +3 -0
  506. package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
  507. package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
  508. package/package/components/triggers/PermissionedAsLine.svelte +66 -0
  509. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
  510. package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
  511. package/package/components/triggers/TriggerTokens.svelte +3 -3
  512. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
  513. package/package/components/triggers/email/utils.js +3 -1
  514. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
  515. package/package/components/triggers/gcp/utils.js +2 -0
  516. package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
  517. package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
  518. package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
  519. package/package/components/triggers/http/utils.js +3 -1
  520. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
  521. package/package/components/triggers/kafka/utils.js +3 -1
  522. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
  523. package/package/components/triggers/mqtt/utils.js +2 -0
  524. package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
  525. package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
  526. package/package/components/triggers/native/utils.js +3 -2
  527. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
  528. package/package/components/triggers/nats/utils.js +2 -0
  529. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
  530. package/package/components/triggers/postgres/utils.js +2 -0
  531. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
  532. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
  533. package/package/components/triggers/sqs/utils.js +2 -0
  534. package/package/components/triggers/utils.js +9 -2
  535. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
  536. package/package/components/triggers/websocket/utils.js +3 -1
  537. package/package/components/workspaceSettings/AISettings.svelte +342 -214
  538. package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
  539. package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
  540. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
  541. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  542. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
  543. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
  544. package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
  545. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
  546. package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
  547. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
  548. package/package/gen/core/OpenAPI.js +1 -1
  549. package/package/gen/schemas.gen.d.ts +294 -94
  550. package/package/gen/schemas.gen.js +294 -94
  551. package/package/gen/services.gen.d.ts +121 -5
  552. package/package/gen/services.gen.js +237 -5
  553. package/package/gen/types.gen.d.ts +715 -91
  554. package/package/githubApp.js +19 -1
  555. package/package/hubPaths.json +8 -4
  556. package/package/infer.d.ts +1 -1
  557. package/package/infer.js +5 -1
  558. package/package/logoutRedirect.d.ts +1 -0
  559. package/package/logoutRedirect.js +24 -0
  560. package/package/script_helpers.d.ts +8 -2
  561. package/package/script_helpers.js +15 -1
  562. package/package/services/trashService.d.ts +28 -0
  563. package/package/services/trashService.js +47 -0
  564. package/package/stores.d.ts +1 -0
  565. package/package/stores.js +1 -0
  566. package/package/system_prompts/index.d.ts +1 -0
  567. package/package/system_prompts/index.js +7 -0
  568. package/package/system_prompts/prompts.d.ts +7 -5
  569. package/package/system_prompts/prompts.js +182 -11
  570. package/package/templates/wac_python.py.template +42 -0
  571. package/package/templates/wac_typescript.ts.template +48 -0
  572. package/package/utils_deployable.d.ts +22 -21
  573. package/package/utils_deployable.js +58 -25
  574. package/package/utils_workspace_deploy.d.ts +15 -4
  575. package/package/utils_workspace_deploy.js +19 -15
  576. package/package/wsUrl.d.ts +1 -0
  577. package/package/wsUrl.js +15 -0
  578. package/package.json +13 -5
  579. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  580. package/dist/sharedUtils/base.d.ts +0 -1
  581. package/dist/sharedUtils/cloud.d.ts +0 -1
  582. package/dist/sharedUtils/common.d.ts +0 -111
  583. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  584. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  585. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  586. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  587. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  588. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  589. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  590. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  591. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  592. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  593. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  594. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  595. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  596. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  597. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  598. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  599. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  600. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  601. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  602. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  603. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  604. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  605. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  606. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  607. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  608. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  609. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  610. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  611. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  612. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  613. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  614. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  615. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  616. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  617. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  618. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  619. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  620. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  621. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  622. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  623. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  624. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  625. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  626. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  627. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  628. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  629. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  630. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  631. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  632. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  633. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  634. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  635. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  636. package/dist/sharedUtils/gen/index.d.ts +0 -6
  637. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  638. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  639. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  640. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  641. package/dist/sharedUtils/hub.d.ts +0 -49
  642. package/dist/sharedUtils/jsr.json +0 -6
  643. package/dist/sharedUtils/lib.d.ts +0 -5
  644. package/dist/sharedUtils/lib.es.js +0 -1588
  645. package/dist/sharedUtils/package.json +0 -12
  646. package/dist/sharedUtils/schema.d.ts +0 -3
  647. package/dist/sharedUtils/stores.d.ts +0 -97
  648. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  649. package/dist/sharedUtils/toast.d.ts +0 -8
  650. package/dist/sharedUtils/utils.d.ts +0 -265
  651. package/package/components/graph/NodeContextMenu.svelte +0 -36
  652. package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
  653. package/package/svelte5Utils.svelte.d.ts +0 -184
@@ -6,7 +6,7 @@ import { nextId, copyId } from '../flowModuleNextId';
6
6
  import { push } from '../../../history.svelte';
7
7
  import ConfirmationModal from '../../common/confirmationModal/ConfirmationModal.svelte';
8
8
  import Portal from '../../Portal.svelte';
9
- import { getDependentComponents } from '../flowExplorer';
9
+ import { getAllModules, getDependentComponents } from '../flowExplorer';
10
10
  import { locateModules, groupByParent } from '../multiSelectUtils';
11
11
  import { workspaceStore } from '../../../stores';
12
12
  import { copilotInfo } from '../../../aiStore';
@@ -24,6 +24,9 @@ import { ModulesTestStates } from '../../modulesTest.svelte';
24
24
  import { flowModuleToAgentTool, createMcpTool, createWebsearchTool, createAiAgentTool, SPECIAL_TOOL_KINDS, agentToolToFlowModule } from '../agentToolUtils';
25
25
  import { loadFlowModuleState } from '../flowStateUtils.svelte';
26
26
  import { getNoteEditorContext } from '../../graph/noteEditor.svelte';
27
+ import { GroupedModulesProxy } from '../../graph/groupedModulesProxy.svelte';
28
+ import { GroupDisplayState } from '../../graph/groupEditor.svelte';
29
+ import { matchStructureNode, dfsStructure, findInStructure, moduleToStructureNode } from '../../graph/flowStructure';
27
30
  let { sidebarSize = $bindable(undefined), disableStaticInputs = false, disableTutorials = false, disableAi = false, disableSettings = false, newFlow = false, smallErrorHandler = false, workspace = $workspaceStore, onTestUpTo, onEditInput, localModuleStates = {}, testModuleStates = new ModulesTestStates(), aiChatOpen, showFlowAiButton, toggleAiChat, isOwner, onTestFlow, isRunning, onCancelTestFlow, onOpenPreview, onHideJobStatus, individualStepTests = false, flowJob = undefined, showJobStatus = false, suspendStatus = $bindable({ val: {} }), onDelete, flowHasChanged } = $props();
28
31
  const { customUi, selectionManager, history, flowStateStore, flowStore, pathStore } = getContext('FlowEditorContext');
29
32
  const moveManager = new MoveManager();
@@ -31,6 +34,8 @@ const { triggersCount, triggersState } = getContext('TriggerContext');
31
34
  const { flowPropPickerConfig } = getContext('PropPickerContext');
32
35
  // Get NoteEditor context for note position updates
33
36
  const noteEditorContext = getNoteEditorContext();
37
+ const proxy = new GroupedModulesProxy(flowStore);
38
+ const groupDisplayState = new GroupDisplayState(() => flowStore.val.value?.groups ?? []);
34
39
  $effect(() => {
35
40
  if (!moveManager.movingModuleId)
36
41
  return;
@@ -42,8 +47,8 @@ $effect(() => {
42
47
  document.addEventListener('keydown', onKeyDown, true);
43
48
  return () => document.removeEventListener('keydown', onKeyDown, true);
44
49
  });
45
- export async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsFlow, inlineScript, toolKind) {
46
- push(history, flowStore.val);
50
+ /** Create a new FlowModule without inserting it into any array */
51
+ async function createNewModule(kind, wsScript, wsFlow, inlineScript) {
47
52
  let module = emptyModule(flowStateStore.val, flowStore.val, kind == 'flow');
48
53
  let state = emptyFlowModuleState();
49
54
  flowStateStore.val[module.id] = state;
@@ -100,6 +105,11 @@ export async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsF
100
105
  module.summary = 'Terminate flow';
101
106
  module.stop_after_if = { skip_if_stopped: false, expr: 'true' };
102
107
  }
108
+ return module;
109
+ }
110
+ export async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsFlow, inlineScript, toolKind) {
111
+ push(history, flowStore.val);
112
+ const module = await createNewModule(kind, wsScript, wsFlow, inlineScript);
103
113
  if (!modules)
104
114
  return [module];
105
115
  if (toolKind === 'mcpTool') {
@@ -128,7 +138,7 @@ export async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsF
128
138
  return modules;
129
139
  }
130
140
  else {
131
- // Standard FlowModule insertion (existing behavior)
141
+ // Standard FlowModule insertion
132
142
  modules.splice(index, 0, module);
133
143
  return modules;
134
144
  }
@@ -178,6 +188,8 @@ export function removeAtId(modules, id) {
178
188
  }
179
189
  let sidebarMode = 'graph';
180
190
  let minHeight = $state(0);
191
+ let flowPaneWidth = $state(0);
192
+ let compactTopbar = $derived(flowPaneWidth < 700);
181
193
  export function selectNextId(id) {
182
194
  if (flowStore.val.value.modules) {
183
195
  let allIds = dfs(flowStore.val.value.modules, (mod) => mod.id);
@@ -224,6 +236,11 @@ export function removeBranch(id, index) {
224
236
  }
225
237
  let deleteCallback = $state(undefined);
226
238
  let dependents = $state({});
239
+ /** Confirmation gate for actions that would empty or duplicate groups */
240
+ let affectedGroupsPending = $state([]);
241
+ let affectedGroupsAction = $state(undefined);
242
+ let affectedGroupsCancel = $state(undefined);
243
+ let affectedGroupsActionLabel = $state('delete');
227
244
  let graph = $state(undefined);
228
245
  let noteMode = $state(false);
229
246
  let diffManager = $derived(getDiffManager());
@@ -250,23 +267,44 @@ export function deleteMultiple(ids) {
250
267
  }
251
268
  }
252
269
  }
270
+ const opts = { displayState: groupDisplayState };
271
+ const { emptiedGroups, duplicateGroups, commit } = proxy.prepareMutation((tree) => {
272
+ for (const id of ids) {
273
+ const found = findInStructure(tree, id);
274
+ if (found)
275
+ found.parentChildren.splice(found.index, 1);
276
+ }
277
+ }, opts);
278
+ const affectedGroups = [...emptiedGroups, ...duplicateGroups];
253
279
  const cb = () => {
254
280
  push(history, flowStore.val);
281
+ commit({ removeDuplicates: duplicateGroups.length > 0 });
255
282
  for (const id of ids) {
256
- removeAtId(flowStore.val.value.modules, id);
257
283
  delete flowStateStore.val[id];
258
284
  }
259
285
  selectionManager.clearSelection();
260
286
  refreshStateStore(flowStore);
261
287
  };
262
- if (Object.keys(allDeps).length > 0) {
263
- dependents = allDeps;
264
- deleteCallback = cb;
288
+ const proceed = () => {
289
+ if (Object.keys(allDeps).length > 0) {
290
+ dependents = allDeps;
291
+ deleteCallback = cb;
292
+ }
293
+ else {
294
+ cb();
295
+ }
296
+ };
297
+ if (affectedGroups.length > 0) {
298
+ affectedGroupsPending = affectedGroups;
299
+ affectedGroupsActionLabel = 'delete';
300
+ affectedGroupsAction = proceed;
265
301
  }
266
302
  else {
267
- cb();
303
+ proceed();
268
304
  }
269
305
  }
306
+ // Operates directly on the flat module array (not the structure tree).
307
+ // Cloned modules are inserted after the originals, intentionally outside any group.
270
308
  export function duplicateMultiple(ids) {
271
309
  const locations = locateModules(ids, flowStore.val.value.modules);
272
310
  const groups = groupByParent(locations);
@@ -300,6 +338,9 @@ export function duplicateMultiple(ids) {
300
338
  export function moveMultiple(ids) {
301
339
  moveManager.toggleMovingMultiple(ids);
302
340
  }
341
+ export function createGroup(ids) {
342
+ graph?.createGroupFromSelection(ids);
343
+ }
303
344
  const dispatch = createEventDispatcher();
304
345
  export function setExpr(module, expr) {
305
346
  if (module.value.type == 'forloopflow') {
@@ -377,12 +418,47 @@ $effect(() => {
377
418
  </div>
378
419
  {/each}
379
420
  </ConfirmationModal>
421
+
422
+ <ConfirmationModal
423
+ title={affectedGroupsPending.length === 1 ? 'Remove group?' : 'Remove groups?'}
424
+ confirmationText={affectedGroupsActionLabel === 'delete' ? 'Delete step' : 'Move step'}
425
+ open={affectedGroupsPending.length > 0}
426
+ on:confirmed={() => {
427
+ affectedGroupsAction?.()
428
+ affectedGroupsPending = []
429
+ affectedGroupsAction = undefined
430
+ affectedGroupsCancel = undefined
431
+ }}
432
+ on:canceled={() => {
433
+ affectedGroupsCancel?.()
434
+ affectedGroupsPending = []
435
+ affectedGroupsAction = undefined
436
+ affectedGroupsCancel = undefined
437
+ }}
438
+ >
439
+ {#if affectedGroupsPending.length === 1}
440
+ {@const group = affectedGroupsPending[0]}
441
+ <p
442
+ >The group{group.summary ? ` "${group.summary}"` : ''} will be removed (empty or duplicate).
443
+ Are you sure you want to {affectedGroupsActionLabel} the step?</p
444
+ >
445
+ {:else}
446
+ <p>The following groups will be removed (empty or duplicate):</p>
447
+ <ul class="list-disc pl-4 mt-1">
448
+ {#each affectedGroupsPending as group}
449
+ <li>{group.summary || `${group.start_id} → ${group.end_id}`}</li>
450
+ {/each}
451
+ </ul>
452
+ <p class="mt-2">Are you sure you want to {affectedGroupsActionLabel} the step?</p>
453
+ {/if}
454
+ </ConfirmationModal>
380
455
  </Portal>
381
- <div class="flex flex-col h-full relative -pt-1">
456
+ <div class="flex flex-col h-full relative -pt-1" bind:clientWidth={flowPaneWidth}>
382
457
  <div
383
458
  class={`z-50 absolute inline-flex flex-col gap-2 top-3 left-1/2 -translate-x-1/2 flex-initial items-center transition-colors duration-[400ms] ease-linear bg-surface-100`}
384
459
  >
385
460
  <FlowStickyNode
461
+ compact={compactTopbar}
386
462
  {disableAi}
387
463
  {showFlowAiButton}
388
464
  {disableSettings}
@@ -412,8 +488,12 @@ $effect(() => {
412
488
  {moveManager}
413
489
  maxHeight={minHeight}
414
490
  modules={flowStore.val.value.modules}
491
+ groupedModules={proxy.items}
492
+ groupError={proxy.error}
493
+ {groupDisplayState}
415
494
  {noteMode}
416
495
  notes={flowStore.val.value.notes}
496
+ groups={flowStore.val.value.groups}
417
497
  preprocessorModule={flowStore.val.value?.preprocessor_module}
418
498
  failureModule={flowStore.val.value?.failure_module}
419
499
  currentInputSchema={flowStore.val.schema}
@@ -433,159 +513,274 @@ $effect(() => {
433
513
  chatInputEnabled={Boolean(flowStore.val.value?.chat_input_enabled)}
434
514
  onDelete={(id) => {
435
515
  dependents = getDependentComponents(id, flowStore.val)
436
- const cb = () => {
437
- push(history, flowStore.val)
438
- if (id === 'preprocessor') {
516
+
517
+ if (id === 'preprocessor') {
518
+ const cb = () => {
519
+ push(history, flowStore.val)
439
520
  selectionManager.selectId('Input')
440
521
  flowStore.val.value.preprocessor_module = undefined
522
+ refreshStateStore(flowStore)
523
+ onDelete?.(id)
524
+ delete flowStateStore.val[id]
525
+ }
526
+ if (Object.keys(dependents).length > 0) {
527
+ deleteCallback = cb
441
528
  } else {
442
- selectNextId(id)
443
- removeAtId(flowStore.val.value.modules, id)
529
+ cb()
444
530
  }
531
+ return
532
+ }
533
+
534
+ const dsOpts = { displayState: groupDisplayState }
535
+ const { emptiedGroups, duplicateGroups, commit } = proxy.prepareMutation((tree) => {
536
+ const found = findInStructure(tree, id)
537
+ if (found) found.parentChildren.splice(found.index, 1)
538
+ }, dsOpts)
539
+
540
+ const affectedGroups = [...emptiedGroups, ...duplicateGroups]
541
+
542
+ const cb = () => {
543
+ push(history, flowStore.val)
544
+ selectNextId(id)
545
+ commit({ removeDuplicates: duplicateGroups.length > 0 })
445
546
  refreshStateStore(flowStore)
446
547
  onDelete?.(id)
447
548
  delete flowStateStore.val[id]
448
549
  }
449
550
 
450
- if (Object.keys(dependents).length > 0) {
451
- deleteCallback = cb
551
+ const proceed = () => {
552
+ if (Object.keys(dependents).length > 0) {
553
+ deleteCallback = cb
554
+ } else {
555
+ cb()
556
+ }
557
+ }
558
+
559
+ if (affectedGroups.length > 0) {
560
+ affectedGroupsPending = affectedGroups
561
+ affectedGroupsActionLabel = 'delete'
562
+ affectedGroupsAction = proceed
452
563
  } else {
453
- cb()
564
+ proceed()
454
565
  }
455
566
  }}
456
567
  onInsert={async (detail) => {
457
- {
458
- let originalModules
459
- let targetModules
460
- if (
461
- detail.sourceId == 'Input' ||
462
- detail.targetId == 'Result' ||
463
- detail.kind == 'trigger'
464
- ) {
465
- targetModules = flowStore.val.value.modules
466
- }
568
+ if (!flowStore.val.value.modules || !Array.isArray(flowStore.val.value.modules)) return
569
+ await tick()
467
570
 
468
- dfs(flowStore.val.value.modules, (mod, modules, branches) => {
469
- if (mod.id == moveManager.movingModuleId) {
470
- originalModules = modules
471
- }
472
- if (detail.branch) {
473
- if (mod.id == detail.branch.rootId) {
474
- targetModules = branches[detail.branch.branch]
475
- }
476
- } else if (mod.id == detail.sourceId || mod.id == detail.targetId) {
477
- targetModules = modules
478
- } else if (mod.id == detail.agentId && mod.value.type === 'aiagent') {
479
- targetModules = mod.value.tools
571
+ // --- MOVE ---
572
+ if (moveManager.movingModuleId) {
573
+ const movedIds = moveManager.movingIds ?? [moveManager.movingModuleId]
574
+ const movingId = moveManager.movingModuleId
575
+
576
+ let mutated = false
577
+ const moveOpts = { displayState: groupDisplayState }
578
+ const { emptiedGroups, duplicateGroups, commit } = proxy.prepareMutation((tree) => {
579
+ let originalModules: FlowStructureNode[] | undefined
580
+ let targetModules: FlowStructureNode[] | undefined
581
+
582
+ if (detail.sourceId == 'Input' || detail.targetId == 'Result') {
583
+ targetModules = tree
480
584
  }
481
- })
482
- if (flowStore.val.value.modules && Array.isArray(flowStore.val.value.modules)) {
483
- await tick()
484
- if (moveManager.movingModuleId) {
485
- push(history, flowStore.val)
486
- if (!originalModules || !targetModules) {
487
- moveManager.clearMoving()
488
- return
489
- }
490
- if (moveManager.movingIds && moveManager.movingIds.length > 1) {
491
- // Multi-move: splice out all moving modules from their parent, insert at target
492
- const firstIndex = originalModules.findIndex(
493
- (m) => m.id === moveManager.movingIds?.[0]
494
- )
495
- const removedModules = originalModules.splice(
496
- firstIndex,
497
- moveManager.movingIds.length
498
- )
499
- let insertIndex = detail.index
500
- if (originalModules === targetModules && firstIndex < detail.index) {
501
- insertIndex -= moveManager.movingIds.length
502
- }
503
- targetModules.splice(insertIndex, 0, ...removedModules)
504
- selectionManager.selectByIds(removedModules.map((m) => m.id))
505
- } else {
506
- let indexToRemove = originalModules.findIndex((m) => moveManager.movingModuleId == m.id)
507
- let [removedModule] = originalModules.splice(indexToRemove, 1)
508
- // When moving within the same array, removal shifts subsequent indices down by 1
509
- let insertIndex = detail.index
510
- if (originalModules === targetModules && indexToRemove < detail.index) {
511
- insertIndex -= 1
512
- }
513
- targetModules.splice(insertIndex, 0, removedModule)
514
- selectionManager.selectId(removedModule.id)
585
+ dfsStructure(tree, (node, parentArray) => {
586
+ if (matchStructureNode(node, movingId)) originalModules = parentArray
587
+ if (detail.branch && matchStructureNode(node, detail.branch.rootId)) {
588
+ targetModules = node.branches[detail.branch.branch]?.children
589
+ } else if (
590
+ matchStructureNode(node, detail.sourceId ?? '') ||
591
+ matchStructureNode(node, detail.targetId ?? '')
592
+ ) {
593
+ targetModules = parentArray
515
594
  }
516
- moveManager.clearMoving()
517
- } else {
518
- if (detail.isPreprocessor) {
519
- await insertNewPreprocessorModule(
520
- flowStore,
521
- flowStateStore,
522
- detail.inlineScript,
523
- detail.script
524
- )
525
- selectionManager.selectId('preprocessor')
595
+ })
526
596
 
527
- if (detail.inlineScript?.instructions) {
528
- dispatch('generateStep', {
529
- moduleId: 'preprocessor',
530
- lang: detail.inlineScript?.language,
531
- instructions: detail.inlineScript?.instructions
532
- })
533
- }
534
- } else {
535
- const index = (detail.agentId ? targetModules?.length : detail.index) ?? 0
536
- const toolKind: SpecialToolKind | 'flowmoduleTool' | undefined = detail.agentId
537
- ? (SPECIAL_TOOL_KINDS as readonly string[]).includes(detail.kind)
538
- ? (detail.kind as SpecialToolKind)
539
- : 'flowmoduleTool'
540
- : undefined
541
-
542
- await insertNewModuleAtIndex(
543
- targetModules,
544
- index,
545
- detail.kind,
546
- detail.script,
547
- detail.flow,
548
- detail.inlineScript,
549
- toolKind
550
- )
551
- const id = targetModules[index].id
552
- selectionManager.selectId(id)
553
-
554
- if (detail.inlineScript?.instructions) {
555
- dispatch('generateStep', {
556
- moduleId: id,
557
- lang: detail.inlineScript?.language,
558
- instructions: detail.inlineScript?.instructions
559
- })
560
- }
561
- if (detail.kind == 'trigger') {
562
- await insertNewModuleAtIndex(
563
- targetModules,
564
- index + 1,
565
- 'forloop',
566
- undefined,
567
- undefined,
568
- undefined
569
- )
570
- setExpr(targetModules[index + 1], `results.${id}`)
571
- setScheduledPollSchedule(triggersState, triggersCount)
572
- }
597
+ if (!originalModules || !targetModules) return
573
598
 
574
- if (detail.flow?.path) {
575
- loadLastJob(detail.flow.path, id)
576
- } else if (detail.script?.path) {
577
- loadLastJob(detail.script?.path, id)
578
- }
599
+ if (movedIds.length > 1) {
600
+ const firstIndex = originalModules.findIndex((m) =>
601
+ matchStructureNode(m, movedIds[0])
602
+ )
603
+ if (firstIndex < 0) return
604
+ const removedModules = originalModules.splice(firstIndex, movedIds.length)
605
+ let insertIndex = detail.index
606
+ if (originalModules === targetModules && firstIndex < detail.index) {
607
+ insertIndex -= movedIds.length
579
608
  }
609
+ targetModules.splice(insertIndex, 0, ...removedModules)
610
+ } else {
611
+ const indexToRemove = originalModules.findIndex((m) =>
612
+ matchStructureNode(m, movingId)
613
+ )
614
+ if (indexToRemove < 0) return
615
+ const [removed] = originalModules.splice(indexToRemove, 1)
616
+ let insertIndex = detail.index
617
+ if (originalModules === targetModules && indexToRemove < detail.index)
618
+ insertIndex -= 1
619
+ targetModules.splice(insertIndex, 0, removed)
580
620
  }
621
+ mutated = true
622
+ }, moveOpts)
581
623
 
582
- if (['branchone', 'branchall'].includes(detail.kind)) {
583
- await addBranch(targetModules[detail.index ?? 0].id)
624
+ if (!mutated) {
625
+ moveManager.clearMoving()
626
+ return
627
+ }
628
+
629
+ const affectedGroups = [...emptiedGroups, ...duplicateGroups]
630
+
631
+ const doMove = () => {
632
+ push(history, flowStore.val)
633
+ commit({ removeDuplicates: duplicateGroups.length > 0 })
634
+ if (movedIds.length > 1) {
635
+ selectionManager.selectByIds(movedIds)
636
+ } else {
637
+ selectionManager.selectId(movingId)
584
638
  }
639
+ moveManager.clearMoving()
585
640
  refreshStateStore(flowStore)
586
641
  dispatch('change')
587
642
  }
643
+
644
+ if (affectedGroups.length > 0) {
645
+ affectedGroupsPending = affectedGroups
646
+ affectedGroupsActionLabel = 'move'
647
+ affectedGroupsAction = doMove
648
+ affectedGroupsCancel = () => moveManager.clearMoving()
649
+ } else {
650
+ doMove()
651
+ }
652
+ return
653
+ }
654
+
655
+ // --- INSERT ---
656
+ if (detail.isPreprocessor) {
657
+ await insertNewPreprocessorModule(
658
+ flowStore,
659
+ flowStateStore,
660
+ detail.inlineScript,
661
+ detail.script
662
+ )
663
+ selectionManager.selectId('preprocessor')
664
+ if (detail.inlineScript?.instructions) {
665
+ dispatch('generateStep', {
666
+ moduleId: 'preprocessor',
667
+ lang: detail.inlineScript?.language,
668
+ instructions: detail.inlineScript?.instructions
669
+ })
670
+ }
671
+ refreshStateStore(flowStore)
672
+ dispatch('change')
673
+ return
674
+ }
675
+
676
+ push(history, flowStore.val)
677
+
678
+ const isAgentInsert = !!detail.agentId
679
+ const toolKind: SpecialToolKind | 'flowmoduleTool' | undefined = isAgentInsert
680
+ ? (SPECIAL_TOOL_KINDS as readonly string[]).includes(detail.kind)
681
+ ? (detail.kind as SpecialToolKind)
682
+ : 'flowmoduleTool'
683
+ : undefined
684
+
685
+ // Agent tool inserts operate on the FlowModule's tools array directly
686
+ if (isAgentInsert) {
687
+ const agentMod = getAllModules(flowStore.val.value.modules).find(
688
+ (m) => m.id === detail.agentId
689
+ )
690
+ if (agentMod && (agentMod.value as any).tools) {
691
+ const tools = (agentMod.value as any).tools as AgentTool[]
692
+ await insertNewModuleAtIndex(
693
+ tools,
694
+ tools.length,
695
+ detail.kind as InsertKind,
696
+ detail.script,
697
+ detail.flow ? { path: detail.flow.path, summary: detail.flow.summary } : undefined,
698
+ detail.inlineScript,
699
+ toolKind
700
+ )
701
+ const id = tools[tools.length - 1].id
702
+ selectionManager.selectId(id)
703
+ }
704
+ refreshStateStore(flowStore)
705
+ dispatch('change')
706
+ return
707
+ }
708
+
709
+ // Regular module insert: create the module, then insert a leaf node via tree mutation
710
+ const module = await createNewModule(
711
+ detail.kind as InsertKind,
712
+ detail.script,
713
+ detail.flow ? { path: detail.flow.path, summary: detail.flow.summary } : undefined,
714
+ detail.inlineScript
715
+ )
716
+ const index = detail.index ?? 0
717
+ const extraModules: FlowModule[] = [module]
718
+
719
+ // For trigger inserts, also create the forloop module
720
+ let loopModule: FlowModule | undefined
721
+ if (detail.kind == 'trigger') {
722
+ loopModule = await createNewModule('forloop')
723
+ setExpr(loopModule, `results.${module.id}`)
724
+ extraModules.push(loopModule)
588
725
  }
726
+
727
+ proxy.applyTreeMutation(
728
+ (tree) => {
729
+ // Find target array in the snapshot
730
+ let targetArray: FlowStructureNode[] | undefined
731
+ if (
732
+ detail.sourceId == 'Input' ||
733
+ detail.targetId == 'Result' ||
734
+ detail.kind == 'trigger'
735
+ ) {
736
+ targetArray = tree
737
+ }
738
+ dfsStructure(tree, (node, parentArray) => {
739
+ if (detail.branch && matchStructureNode(node, detail.branch.rootId)) {
740
+ targetArray = node.branches[detail.branch.branch]?.children
741
+ } else if (
742
+ matchStructureNode(node, detail.sourceId ?? '') ||
743
+ matchStructureNode(node, detail.targetId ?? '')
744
+ ) {
745
+ targetArray = parentArray
746
+ }
747
+ })
748
+ if (!targetArray) targetArray = tree
749
+
750
+ // Insert the structure node (correct kind for containers like branchone/branchall)
751
+ targetArray.splice(index, 0, moduleToStructureNode(module))
752
+
753
+ // For trigger: also insert the forloop node after it
754
+ if (loopModule) {
755
+ targetArray.splice(index + 1, 0, moduleToStructureNode(loopModule))
756
+ }
757
+ },
758
+ { extraModules, displayState: groupDisplayState }
759
+ )
760
+
761
+ selectionManager.selectId(module.id)
762
+
763
+ if (detail.inlineScript?.instructions) {
764
+ dispatch('generateStep', {
765
+ moduleId: module.id,
766
+ lang: detail.inlineScript?.language,
767
+ instructions: detail.inlineScript?.instructions
768
+ })
769
+ }
770
+ if (detail.kind == 'trigger') {
771
+ setScheduledPollSchedule(triggersState, triggersCount)
772
+ }
773
+ if (detail.flow?.path) {
774
+ loadLastJob(detail.flow.path, module.id)
775
+ } else if (detail.script?.path) {
776
+ loadLastJob(detail.script?.path, module.id)
777
+ }
778
+
779
+ if (['branchone', 'branchall'].includes(detail.kind)) {
780
+ await addBranch(module.id)
781
+ }
782
+ refreshStateStore(flowStore)
783
+ dispatch('change')
589
784
  }}
590
785
  onNewBranch={async (id) => {
591
786
  if (id) {
@@ -631,6 +826,17 @@ $effect(() => {
631
826
  mod.id = newId
632
827
  }
633
828
  })
829
+ const groups = flowStore.val.value.groups
830
+ if (groups) {
831
+ for (const group of groups) {
832
+ if (group.start_id === id) {
833
+ group.start_id = newId
834
+ }
835
+ if (group.end_id === id) {
836
+ group.end_id = newId
837
+ }
838
+ }
839
+ }
634
840
  flowStateStore.val[newId] = flowStateStore.val[id]
635
841
  delete flowStateStore.val[id]
636
842
  refreshStateStore(flowStore)
@@ -96,6 +96,7 @@ declare const FlowModuleSchemaMap: $$__sveltets_2_IsomorphicComponent<Props, {
96
96
  deleteMultiple: (ids: string[]) => void;
97
97
  duplicateMultiple: (ids: string[]) => void;
98
98
  moveMultiple: (ids: string[]) => void;
99
+ createGroup: (ids: string[]) => void;
99
100
  setExpr: (module: FlowModule, expr: string) => void;
100
101
  }, "suspendStatus" | "sidebarSize">;
101
102
  type FlowModuleSchemaMap = InstanceType<typeof FlowModuleSchemaMap>;
@@ -6,30 +6,38 @@ import AIButton from '../../copilot/chat/AIButton.svelte';
6
6
  import Popover from '../../Popover.svelte';
7
7
  import Button from '../../common/button/Button.svelte';
8
8
  import { AIBtnClasses } from '../../copilot/chat/AIButtonStyle';
9
- let { disableSettings, disableStaticInputs, smallErrorHandler, aiChatOpen, showFlowAiButton, toggleAiChat, noteMode, toggleNoteMode, disableAi, diffManager } = $props();
9
+ let { disableSettings, disableStaticInputs, smallErrorHandler, aiChatOpen, showFlowAiButton, toggleAiChat, noteMode, toggleNoteMode, disableAi, diffManager, compact = false } = $props();
10
10
  const { selectionManager, flowStore } = getContext('FlowEditorContext');
11
11
  const selectedId = $derived(selectionManager.getSelectedId());
12
12
  </script>
13
13
 
14
14
  <div class="flex flex-row gap-2 p-1 rounded-md bg-surface">
15
15
  {#if !disableSettings}
16
- <Button
17
- unifiedSize="sm"
18
- wrapperClasses="min-w-36"
19
- startIcon={{ icon: Settings }}
20
- selected={selectedId?.startsWith('settings')}
21
- variant="default"
22
- title="Settings"
23
- onClick={() => selectionManager.selectId('settings')}
24
- >
25
- Settings
26
- {#if flowStore.val.value.same_worker}
27
- <Badge color="blue" wrapperClass="max-h-[18px]">./shared</Badge>
28
- {/if}
29
- </Button>
16
+ <Popover>
17
+ <Button
18
+ unifiedSize="sm"
19
+ wrapperClasses={compact ? undefined : 'min-w-36'}
20
+ startIcon={{ icon: Settings }}
21
+ selected={selectedId?.startsWith('settings')}
22
+ variant="default"
23
+ title="Settings"
24
+ iconOnly={compact && !flowStore.val.value.same_worker}
25
+ onClick={() => selectionManager.selectId('settings')}
26
+ >
27
+ {#if !compact}
28
+ Settings
29
+ {/if}
30
+ {#if flowStore.val.value.same_worker}
31
+ <Badge color="blue" wrapperClass="max-h-[18px]">./shared</Badge>
32
+ {/if}
33
+ </Button>
34
+ {#snippet text()}
35
+ Settings
36
+ {/snippet}
37
+ </Popover>
30
38
  {/if}
31
39
  <Popover>
32
- <FlowErrorHandlerItem {disableAi} small={smallErrorHandler} {diffManager} on:generateStep />
40
+ <FlowErrorHandlerItem {disableAi} small={smallErrorHandler} {compact} {diffManager} on:generateStep />
33
41
  {#snippet text()}
34
42
  Error Handler
35
43
  {/snippet}