windmill-components 1.655.2 → 1.665.1

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 (650) 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/dbOps.d.ts +2 -2
  127. package/package/components/dbOps.js +129 -53
  128. package/package/components/debug/debugUtils.d.ts +5 -0
  129. package/package/components/debug/debugUtils.js +20 -0
  130. package/package/components/debug/index.d.ts +1 -1
  131. package/package/components/debug/index.js +3 -7
  132. package/package/components/flows/CreateActionsFlow.svelte +221 -43
  133. package/package/components/flows/DebounceLimit.svelte +42 -9
  134. package/package/components/flows/common/FlowCard.svelte +2 -1
  135. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  136. package/package/components/flows/common/FlowCardHeader.svelte +14 -10
  137. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  138. package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
  139. package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
  140. package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
  141. package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
  142. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  143. package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
  144. package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
  145. package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
  146. package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
  147. package/package/components/flows/content/FlowRetries.svelte +57 -57
  148. package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
  149. package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
  150. package/package/components/flows/content/FlowSettings.svelte +6 -6
  151. package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
  152. package/package/components/flows/content/SuspendDrawer.svelte +0 -18
  153. package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
  154. package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
  155. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  156. package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
  157. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
  158. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
  159. package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
  160. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  161. package/package/components/flows/map/FlowStickyNode.svelte +24 -16
  162. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  163. package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
  164. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
  165. package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
  166. package/package/components/flows/scheduleUtils.js +3 -1
  167. package/package/components/flows/utils.svelte.js +6 -1
  168. package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
  169. package/package/components/git_sync/GitSyncSection.svelte +135 -99
  170. package/package/components/graph/DragGhost.svelte +11 -2
  171. package/package/components/graph/FlowGraphV2.svelte +138 -42
  172. package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
  173. package/package/components/graph/GroupActionBar.svelte +124 -0
  174. package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
  175. package/package/components/graph/GroupHeader.svelte +98 -0
  176. package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
  177. package/package/components/graph/GroupHeaderBlock.svelte +58 -0
  178. package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
  179. package/package/components/graph/GroupModuleIcons.svelte +163 -0
  180. package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
  181. package/package/components/graph/GroupNodeCard.svelte +127 -0
  182. package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
  183. package/package/components/graph/GroupNoteArea.svelte +132 -0
  184. package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
  185. package/package/components/graph/GroupOverlay.svelte +71 -0
  186. package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
  187. package/package/components/graph/MiniFlowGraph.svelte +17 -2
  188. package/package/components/graph/SelectionBoundingBox.svelte +14 -14
  189. package/package/components/graph/compoundLayout.d.ts +17 -1
  190. package/package/components/graph/compoundLayout.js +129 -14
  191. package/package/components/graph/flowStructure.d.ts +63 -0
  192. package/package/components/graph/flowStructure.js +422 -0
  193. package/package/components/graph/flowStructure.test.d.ts +1 -0
  194. package/package/components/graph/flowStructure.test.js +205 -0
  195. package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
  196. package/package/components/graph/graphBuilder.svelte.js +170 -67
  197. package/package/components/graph/graphContext.d.ts +7 -0
  198. package/package/components/graph/groupDetectionUtils.d.ts +24 -1
  199. package/package/components/graph/groupDetectionUtils.js +101 -1
  200. package/package/components/graph/groupEditor.svelte.d.ts +105 -0
  201. package/package/components/graph/groupEditor.svelte.js +253 -0
  202. package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
  203. package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
  204. package/package/components/graph/model.d.ts +2 -1
  205. package/package/components/graph/moveManager.svelte.js +0 -3
  206. package/package/components/graph/nodeExtraSpace.d.ts +32 -0
  207. package/package/components/graph/nodeExtraSpace.js +113 -0
  208. package/package/components/graph/noteColors.d.ts +1 -0
  209. package/package/components/graph/noteColors.js +20 -10
  210. package/package/components/graph/noteUtils.svelte.d.ts +0 -18
  211. package/package/components/graph/noteUtils.svelte.js +6 -41
  212. package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
  213. package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
  214. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
  215. package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
  216. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
  217. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
  218. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
  219. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
  220. package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
  221. package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
  222. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
  223. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
  224. package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
  225. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  226. package/package/components/graph/util.d.ts +5 -1
  227. package/package/components/graph/util.js +7 -5
  228. package/package/components/home/Item.svelte +1 -0
  229. package/package/components/home/ItemsList.svelte +1 -1
  230. package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
  231. package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
  232. package/package/components/icons/AlgoliaIcon.svelte +7 -0
  233. package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
  234. package/package/components/icons/ApolloIcon.svelte +7 -0
  235. package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
  236. package/package/components/icons/BambooHrIcon.svelte +7 -0
  237. package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
  238. package/package/components/icons/BaremetricsIcon.svelte +7 -0
  239. package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
  240. package/package/components/icons/BitlyIcon.svelte +7 -0
  241. package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
  242. package/package/components/icons/BloggerIcon.svelte +7 -0
  243. package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
  244. package/package/components/icons/BlueskyIcon.svelte +7 -0
  245. package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
  246. package/package/components/icons/BoxIcon.svelte +7 -0
  247. package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
  248. package/package/components/icons/BrevoIcon.svelte +7 -0
  249. package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
  250. package/package/components/icons/BrexIcon.svelte +7 -0
  251. package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
  252. package/package/components/icons/BrowserlessIcon.svelte +7 -0
  253. package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
  254. package/package/components/icons/BubbleIcon.svelte +11 -0
  255. package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
  256. package/package/components/icons/BuildkiteIcon.svelte +7 -0
  257. package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
  258. package/package/components/icons/CalcomIcon.svelte +1 -1
  259. package/package/components/icons/CalendlyIcon.svelte +7 -0
  260. package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
  261. package/package/components/icons/CircleCiIcon.svelte +7 -0
  262. package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
  263. package/package/components/icons/CiscoIcon.svelte +7 -0
  264. package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
  265. package/package/components/icons/ClearbitIcon.svelte +7 -0
  266. package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
  267. package/package/components/icons/ClerkIcon.svelte +7 -0
  268. package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
  269. package/package/components/icons/CloseIcon.svelte +37 -0
  270. package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
  271. package/package/components/icons/CloudinaryIcon.svelte +7 -0
  272. package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
  273. package/package/components/icons/CockroachDbIcon.svelte +7 -0
  274. package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
  275. package/package/components/icons/CodaIcon.svelte +7 -0
  276. package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
  277. package/package/components/icons/CohereIcon.svelte +16 -0
  278. package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
  279. package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
  280. package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
  281. package/package/components/icons/CoinbaseIcon.svelte +7 -0
  282. package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
  283. package/package/components/icons/ConfluenceIcon.svelte +7 -0
  284. package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
  285. package/package/components/icons/ContentfulIcon.svelte +7 -0
  286. package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
  287. package/package/components/icons/ConvertKitIcon.svelte +7 -0
  288. package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
  289. package/package/components/icons/DatoCmsIcon.svelte +7 -0
  290. package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
  291. package/package/components/icons/DeelIcon.svelte +7 -0
  292. package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
  293. package/package/components/icons/DeepLIcon.svelte +7 -0
  294. package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
  295. package/package/components/icons/DigitalOceanIcon.svelte +7 -0
  296. package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
  297. package/package/components/icons/DiscourseIcon.svelte +7 -0
  298. package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
  299. package/package/components/icons/DocusignIcon.svelte +7 -0
  300. package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
  301. package/package/components/icons/DropboxIcon.svelte +7 -0
  302. package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
  303. package/package/components/icons/EdgeDbIcon.svelte +16 -20
  304. package/package/components/icons/EventbriteIcon.svelte +10 -0
  305. package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
  306. package/package/components/icons/FigmaIcon.svelte +7 -0
  307. package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
  308. package/package/components/icons/FlyIcon.svelte +7 -0
  309. package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
  310. package/package/components/icons/FreshdeskIcon.svelte +7 -0
  311. package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
  312. package/package/components/icons/FrontAppIcon.svelte +7 -0
  313. package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
  314. package/package/components/icons/GhostCmsIcon.svelte +7 -0
  315. package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
  316. package/package/components/icons/GiphyIcon.svelte +7 -0
  317. package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
  318. package/package/components/icons/GitBookIcon.svelte +7 -0
  319. package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
  320. package/package/components/icons/GroqIcon.svelte +7 -0
  321. package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
  322. package/package/components/icons/HoneybadgerIcon.svelte +7 -0
  323. package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
  324. package/package/components/icons/HttpIcon.svelte +1 -0
  325. package/package/components/icons/IftttIcon.svelte +7 -0
  326. package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
  327. package/package/components/icons/IntercomIcon.svelte +7 -0
  328. package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
  329. package/package/components/icons/JoomlaIcon.svelte +7 -0
  330. package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
  331. package/package/components/icons/LineIcon.svelte +7 -0
  332. package/package/components/icons/LineIcon.svelte.d.ts +7 -0
  333. package/package/components/icons/LinearIcon.svelte +7 -0
  334. package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
  335. package/package/components/icons/LinodeIcon.svelte +7 -0
  336. package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
  337. package/package/components/icons/LumaAiIcon.svelte +39 -0
  338. package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
  339. package/package/components/icons/MSTeamsIcon.svelte +20 -38
  340. package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
  341. package/package/components/icons/MagentoIcon.svelte +7 -0
  342. package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
  343. package/package/components/icons/MailchimpIcon.svelte +25 -13
  344. package/package/components/icons/MandrillIcon.svelte +7 -0
  345. package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
  346. package/package/components/icons/MauticIcon.svelte +7 -0
  347. package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
  348. package/package/components/icons/MediumIcon.svelte +7 -0
  349. package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
  350. package/package/components/icons/MiroIcon.svelte +7 -0
  351. package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
  352. package/package/components/icons/MistralIcon.svelte +7 -0
  353. package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
  354. package/package/components/icons/MixpanelIcon.svelte +7 -0
  355. package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
  356. package/package/components/icons/MondayIcon.svelte +7 -0
  357. package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
  358. package/package/components/icons/NeonDbIcon.svelte +23 -0
  359. package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
  360. package/package/components/icons/NetlifyIcon.svelte +7 -0
  361. package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
  362. package/package/components/icons/OneSignalIcon.svelte +9 -0
  363. package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
  364. package/package/components/icons/OpenWeatherIcon.svelte +7 -0
  365. package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
  366. package/package/components/icons/PagerDutyIcon.svelte +7 -0
  367. package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
  368. package/package/components/icons/PandaDocIcon.svelte +7 -0
  369. package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
  370. package/package/components/icons/PaypalIcon.svelte +7 -0
  371. package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
  372. package/package/components/icons/PersonioIcon.svelte +7 -0
  373. package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
  374. package/package/components/icons/PinterestIcon.svelte +7 -0
  375. package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
  376. package/package/components/icons/PipedriveIcon.svelte +11 -0
  377. package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
  378. package/package/components/icons/PlanetScaleIcon.svelte +7 -0
  379. package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
  380. package/package/components/icons/PostmarkIcon.svelte +7 -0
  381. package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
  382. package/package/components/icons/PusherIcon.svelte +7 -0
  383. package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
  384. package/package/components/icons/QuickbooksIcon.svelte +13 -1
  385. package/package/components/icons/RaindropIcon.svelte +27 -0
  386. package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
  387. package/package/components/icons/ReadwiseIcon.svelte +12 -0
  388. package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
  389. package/package/components/icons/RenderIcon.svelte +7 -0
  390. package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
  391. package/package/components/icons/ReplicateIcon.svelte +7 -0
  392. package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/ResendIcon.svelte +1 -1
  394. package/package/components/icons/RestIcon.svelte +1 -0
  395. package/package/components/icons/RingCentralIcon.svelte +7 -0
  396. package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
  397. package/package/components/icons/RocketChatIcon.svelte +7 -0
  398. package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
  399. package/package/components/icons/RunPodIcon.svelte +8 -0
  400. package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
  401. package/package/components/icons/RustIcon.svelte +74 -56
  402. package/package/components/icons/SalesforceIcon.svelte +7 -0
  403. package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
  404. package/package/components/icons/SegmentIcon.svelte +7 -0
  405. package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
  406. package/package/components/icons/SentryIcon.svelte +7 -0
  407. package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
  408. package/package/components/icons/ServiceNowIcon.svelte +7 -0
  409. package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
  410. package/package/components/icons/ShortcutIcon.svelte +7 -0
  411. package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
  412. package/package/components/icons/SigNozIcon.svelte +8 -0
  413. package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
  414. package/package/components/icons/SmartsheetIcon.svelte +7 -0
  415. package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
  416. package/package/components/icons/SpeechifyIcon.svelte +7 -0
  417. package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
  418. package/package/components/icons/SplitwiseIcon.svelte +7 -0
  419. package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
  420. package/package/components/icons/StravaIcon.svelte +7 -0
  421. package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
  422. package/package/components/icons/TallyIcon.svelte +7 -0
  423. package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
  424. package/package/components/icons/TelnyxIcon.svelte +19 -0
  425. package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
  426. package/package/components/icons/ThreadsIcon.svelte +7 -0
  427. package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
  428. package/package/components/icons/TodoistIcon.svelte +7 -0
  429. package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
  430. package/package/components/icons/TogetherAiIcon.svelte +23 -0
  431. package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
  432. package/package/components/icons/TrelloIcon.svelte +22 -1
  433. package/package/components/icons/TursoIcon.svelte +7 -0
  434. package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
  435. package/package/components/icons/TwitchIcon.svelte +7 -0
  436. package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
  437. package/package/components/icons/TwitterIcon.svelte +7 -0
  438. package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
  439. package/package/components/icons/TypeformIcon.svelte +1 -1
  440. package/package/components/icons/VercelIcon.svelte +7 -0
  441. package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
  442. package/package/components/icons/WebflowIcon.svelte +7 -0
  443. package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
  444. package/package/components/icons/WooCommerceIcon.svelte +7 -0
  445. package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
  446. package/package/components/icons/WordpressIcon.svelte +7 -0
  447. package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
  448. package/package/components/icons/XataIcon.svelte +13 -0
  449. package/package/components/icons/XataIcon.svelte.d.ts +7 -0
  450. package/package/components/icons/YelpIcon.svelte +7 -0
  451. package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
  452. package/package/components/icons/YnabIcon.svelte +7 -0
  453. package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
  454. package/package/components/icons/YoutubeIcon.svelte +7 -0
  455. package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
  456. package/package/components/icons/ZendeskIcon.svelte +1 -1
  457. package/package/components/icons/ZeroTierIcon.svelte +7 -0
  458. package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
  459. package/package/components/icons/ZoomIcon.svelte +7 -0
  460. package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
  461. package/package/components/icons/index.d.ts +111 -1
  462. package/package/components/icons/index.js +225 -2
  463. package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
  464. package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
  465. package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
  466. package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
  467. package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
  468. package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
  469. package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
  470. package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
  471. package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
  472. package/package/components/instanceSettings.d.ts +3 -1
  473. package/package/components/instanceSettings.js +92 -2
  474. package/package/components/mcp/McpScopeSelector.svelte +408 -0
  475. package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
  476. package/package/components/meltComponents/Popover.svelte +0 -1
  477. package/package/components/raw_apps/RawAppPreview.svelte +6 -2
  478. package/package/components/recording/FlowRecordingReplay.svelte +94 -52
  479. package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
  480. package/package/components/recording/ScriptRecordingReplay.svelte +139 -76
  481. package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
  482. package/package/components/runs/JobRunsPreview.svelte +8 -1
  483. package/package/components/runs/TimeframeSelect.svelte +0 -1
  484. package/package/components/schema/JobSchemaPicker.svelte +8 -2
  485. package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
  486. package/package/components/schema/SchemaFormDND.svelte +15 -3
  487. package/package/components/scriptEditor/LogPanel.svelte +78 -68
  488. package/package/components/script_builder.d.ts +1 -1
  489. package/package/components/scripts/CreateActionsScript.svelte +3 -3
  490. package/package/components/scripts/WacExportDrawer.svelte +127 -0
  491. package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
  492. package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
  493. package/package/components/scripts/scriptStore.svelte.js +2 -0
  494. package/package/components/select/SelectDropdown.svelte +1 -1
  495. package/package/components/settings/AIPromptsModal.svelte +5 -2
  496. package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
  497. package/package/components/settings/CloudQuotas.svelte +152 -0
  498. package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
  499. package/package/components/settings/CreateToken.svelte +15 -430
  500. package/package/components/settings/Trashbin.svelte +248 -0
  501. package/package/components/settings/Trashbin.svelte.d.ts +3 -0
  502. package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
  503. package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
  504. package/package/components/triggers/PermissionedAsLine.svelte +66 -0
  505. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
  506. package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
  507. package/package/components/triggers/TriggerTokens.svelte +3 -3
  508. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
  509. package/package/components/triggers/email/utils.js +3 -1
  510. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
  511. package/package/components/triggers/gcp/utils.js +2 -0
  512. package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
  513. package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
  514. package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
  515. package/package/components/triggers/http/utils.js +3 -1
  516. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
  517. package/package/components/triggers/kafka/utils.js +3 -1
  518. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
  519. package/package/components/triggers/mqtt/utils.js +2 -0
  520. package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
  521. package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
  522. package/package/components/triggers/native/utils.js +3 -2
  523. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
  524. package/package/components/triggers/nats/utils.js +2 -0
  525. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
  526. package/package/components/triggers/postgres/utils.js +2 -0
  527. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
  528. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
  529. package/package/components/triggers/sqs/utils.js +2 -0
  530. package/package/components/triggers/utils.js +9 -2
  531. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
  532. package/package/components/triggers/websocket/utils.js +3 -1
  533. package/package/components/workspaceSettings/AISettings.svelte +342 -214
  534. package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
  535. package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
  536. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
  537. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  538. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
  539. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
  540. package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
  541. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
  542. package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
  543. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
  544. package/package/forLater.js +4 -0
  545. package/package/gen/core/OpenAPI.js +1 -1
  546. package/package/gen/schemas.gen.d.ts +294 -94
  547. package/package/gen/schemas.gen.js +294 -94
  548. package/package/gen/services.gen.d.ts +121 -5
  549. package/package/gen/services.gen.js +237 -5
  550. package/package/gen/types.gen.d.ts +715 -91
  551. package/package/githubApp.js +19 -1
  552. package/package/hubPaths.json +8 -4
  553. package/package/infer.d.ts +1 -1
  554. package/package/infer.js +5 -1
  555. package/package/logoutRedirect.d.ts +1 -0
  556. package/package/logoutRedirect.js +24 -0
  557. package/package/script_helpers.d.ts +8 -2
  558. package/package/script_helpers.js +15 -1
  559. package/package/services/trashService.d.ts +28 -0
  560. package/package/services/trashService.js +47 -0
  561. package/package/stores.d.ts +1 -0
  562. package/package/stores.js +1 -0
  563. package/package/system_prompts/index.d.ts +1 -0
  564. package/package/system_prompts/index.js +7 -0
  565. package/package/system_prompts/prompts.d.ts +7 -5
  566. package/package/system_prompts/prompts.js +182 -11
  567. package/package/templates/wac_python.py.template +42 -0
  568. package/package/templates/wac_typescript.ts.template +48 -0
  569. package/package/utils_deployable.d.ts +22 -21
  570. package/package/utils_deployable.js +58 -25
  571. package/package/utils_workspace_deploy.d.ts +15 -4
  572. package/package/utils_workspace_deploy.js +19 -15
  573. package/package/wsUrl.d.ts +1 -0
  574. package/package/wsUrl.js +15 -0
  575. package/package.json +13 -5
  576. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  577. package/dist/sharedUtils/base.d.ts +0 -1
  578. package/dist/sharedUtils/cloud.d.ts +0 -1
  579. package/dist/sharedUtils/common.d.ts +0 -111
  580. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  581. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  582. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  583. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  584. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  585. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  586. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  587. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  588. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  589. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  590. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  591. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  592. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  593. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  594. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  595. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  596. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  597. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  598. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  599. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  600. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  601. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  602. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  603. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  604. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  605. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  606. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  607. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  608. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  609. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  610. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  611. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  612. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  613. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  614. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  615. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  616. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  617. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  618. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  619. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  620. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  621. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  622. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  623. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  624. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  625. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  626. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  627. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  628. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  629. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  630. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  631. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  632. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  633. package/dist/sharedUtils/gen/index.d.ts +0 -6
  634. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  635. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  636. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  637. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  638. package/dist/sharedUtils/hub.d.ts +0 -49
  639. package/dist/sharedUtils/jsr.json +0 -6
  640. package/dist/sharedUtils/lib.d.ts +0 -5
  641. package/dist/sharedUtils/lib.es.js +0 -1588
  642. package/dist/sharedUtils/package.json +0 -12
  643. package/dist/sharedUtils/schema.d.ts +0 -3
  644. package/dist/sharedUtils/stores.d.ts +0 -97
  645. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  646. package/dist/sharedUtils/toast.d.ts +0 -8
  647. package/dist/sharedUtils/utils.d.ts +0 -265
  648. package/package/components/graph/NodeContextMenu.svelte +0 -36
  649. package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
  650. package/package/svelte5Utils.svelte.d.ts +0 -184
@@ -0,0 +1,113 @@
1
+ import { assetDisplaysAsInputInFlowGraph, assetDisplaysAsOutputInFlowGraph, NODE_WITH_READ_ASSET_Y_OFFSET, NODE_WITH_WRITE_ASSET_Y_OFFSET } from './renderers/nodes/AssetNode.svelte';
2
+ import { AI_TOOL_BASE_OFFSET, AI_TOOL_ROW_OFFSET, BELOW_ADDITIONAL_OFFSET } from './renderers/nodes/AIToolNode.svelte';
3
+ import { topologicalSort } from './graphBuilder.svelte';
4
+ import { GROUP_HEADER_HEIGHT } from './groupEditor.svelte';
5
+ const MAX_TOOLS_PER_ROW = 2;
6
+ /**
7
+ * Pre-compute extra top/bottom space each node needs for decorations
8
+ * (assets, AI tools, group headers, group notes).
9
+ */
10
+ export function computeNodeExtraSpace(graphNodes, opts) {
11
+ const extraSpace = new Map();
12
+ // 1. Assets
13
+ if (opts.showAssets) {
14
+ for (const node of graphNodes) {
15
+ const assets = node.data?.assets ?? [];
16
+ if (!assets.length)
17
+ continue;
18
+ const hasRead = assets.some(assetDisplaysAsInputInFlowGraph);
19
+ const hasWrite = assets.some(assetDisplaysAsOutputInFlowGraph);
20
+ if (hasRead || hasWrite) {
21
+ const prev = extraSpace.get(node.id) ?? { top: 0, bottom: 0, left: 0, right: 0 };
22
+ extraSpace.set(node.id, {
23
+ ...prev,
24
+ top: prev.top + (hasRead ? NODE_WITH_READ_ASSET_Y_OFFSET : 0),
25
+ bottom: prev.bottom + (hasWrite ? NODE_WITH_WRITE_ASSET_Y_OFFSET : 0)
26
+ });
27
+ }
28
+ }
29
+ }
30
+ // 2. AI tools
31
+ for (const node of graphNodes) {
32
+ const mod = node.data?.module;
33
+ if (!mod || mod.value?.type !== 'aiagent')
34
+ continue;
35
+ const agentActions = !opts.insertable && opts.flowModuleStates?.[node.id]?.agent_actions;
36
+ if (agentActions) {
37
+ // Execution mode: tools below
38
+ const totalRows = Math.ceil(agentActions.length / MAX_TOOLS_PER_ROW);
39
+ const space = AI_TOOL_BASE_OFFSET + AI_TOOL_ROW_OFFSET * totalRows + BELOW_ADDITIONAL_OFFSET;
40
+ const prev = extraSpace.get(node.id) ?? { top: 0, bottom: 0, left: 0, right: 0 };
41
+ extraSpace.set(node.id, { ...prev, bottom: prev.bottom + space });
42
+ }
43
+ else {
44
+ // Edit mode: tools above
45
+ const tools = mod.value.tools ?? [];
46
+ const totalRows = Math.ceil(tools.length / MAX_TOOLS_PER_ROW) + (opts.insertable ? 1 : 0);
47
+ const space = AI_TOOL_BASE_OFFSET + AI_TOOL_ROW_OFFSET * totalRows;
48
+ const prev = extraSpace.get(node.id) ?? { top: 0, bottom: 0, left: 0, right: 0 };
49
+ extraSpace.set(node.id, { ...prev, top: prev.top + space });
50
+ }
51
+ }
52
+ // Topological sort (reversed: top-of-graph first) — shared by group notes and group headers
53
+ const sortedNodes = topologicalSort(graphNodes).reverse();
54
+ // 3. Group notes (text above topmost node in each group note)
55
+ if (opts.showNotes) {
56
+ const groupNotes = (opts.notes ?? []).filter((n) => n.type === 'group');
57
+ if (groupNotes.length > 0) {
58
+ for (const groupNote of groupNotes) {
59
+ if (!groupNote.contained_node_ids?.length)
60
+ continue;
61
+ const topmostNodeId = sortedNodes.find((node) => groupNote.contained_node_ids?.includes(node.id))?.id;
62
+ if (topmostNodeId) {
63
+ const textHeight = opts.noteTextHeights[groupNote.id] || 60;
64
+ const spacing = textHeight + 16; // padding
65
+ const prev = extraSpace.get(topmostNodeId) ?? {
66
+ top: 0,
67
+ bottom: 0,
68
+ left: 0,
69
+ right: 0
70
+ };
71
+ extraSpace.set(topmostNodeId, {
72
+ ...prev,
73
+ top: Math.max(prev.top, spacing + prev.top)
74
+ });
75
+ }
76
+ }
77
+ }
78
+ }
79
+ // 4. Collapsed group nodes are taller than regular nodes (header + module icons)
80
+ for (const node of graphNodes) {
81
+ if (node.id.startsWith('collapsed-group:')) {
82
+ const prev = extraSpace.get(node.id) ?? { top: 0, bottom: 0, left: 0, right: 0 };
83
+ extraSpace.set(node.id, {
84
+ ...prev,
85
+ bottom: prev.bottom + GROUP_HEADER_HEIGHT
86
+ });
87
+ }
88
+ }
89
+ // 5. Group nodes (expanded heads and collapsed) with notes need extra height
90
+ if (opts.showNotes) {
91
+ const noteHeights = opts.groupDisplayState.getNoteHeights();
92
+ for (const node of graphNodes) {
93
+ let groupId;
94
+ if (node.id.startsWith('group:') && !node.id.endsWith('-end')) {
95
+ groupId = node.id.slice('group:'.length);
96
+ }
97
+ else if (node.id.startsWith('collapsed-group:')) {
98
+ groupId = node.id.slice('collapsed-group:'.length);
99
+ }
100
+ if (groupId) {
101
+ const noteHeight = noteHeights[groupId];
102
+ if (noteHeight && noteHeight > 0) {
103
+ const prev = extraSpace.get(node.id) ?? { top: 0, bottom: 0, left: 0, right: 0 };
104
+ extraSpace.set(node.id, {
105
+ ...prev,
106
+ bottom: prev.bottom + noteHeight
107
+ });
108
+ }
109
+ }
110
+ }
111
+ }
112
+ return extraSpace.size > 0 ? extraSpace : undefined;
113
+ }
@@ -12,6 +12,7 @@ export declare enum NoteColor {
12
12
  }
13
13
  export interface NoteColorConfig {
14
14
  background: string;
15
+ backgroundLight: string;
15
16
  outline: string;
16
17
  outlineHover: string;
17
18
  text: string;
@@ -16,70 +16,80 @@ export var NoteColor;
16
16
  export const NOTE_COLORS = {
17
17
  [NoteColor.YELLOW]: {
18
18
  background: 'bg-yellow-200 dark:bg-yellow-900',
19
- outline: 'outline-yellow-300 dark:outline-yellow-600',
19
+ backgroundLight: 'bg-yellow-400/5 dark:bg-yellow-600/5',
20
+ outline: 'outline-yellow-200 dark:outline-yellow-900',
20
21
  outlineHover: 'outline-yellow-300/60 dark:outline-yellow-600/60',
21
22
  text: 'text-yellow-900 dark:text-yellow-100',
22
23
  hover: 'hover:bg-yellow-200 dark:hover:bg-yellow-800'
23
24
  },
24
25
  [NoteColor.BLUE]: {
25
26
  background: 'bg-blue-100 dark:bg-blue-950',
26
- outline: 'outline-blue-300 dark:outline-blue-600',
27
+ backgroundLight: 'bg-blue-400/5 dark:bg-blue-600/5',
28
+ outline: 'outline-blue-100 dark:outline-blue-950',
27
29
  outlineHover: 'outline-blue-300/60 dark:outline-blue-600/60',
28
30
  text: 'text-blue-900 dark:text-blue-100',
29
31
  hover: 'hover:bg-blue-200 dark:hover:bg-blue-800'
30
32
  },
31
33
  [NoteColor.GREEN]: {
32
34
  background: 'bg-green-200 dark:bg-green-900',
33
- outline: 'outline-green-300 dark:outline-green-600',
35
+ backgroundLight: 'bg-green-400/5 dark:bg-green-600/5',
36
+ outline: 'outline-green-200 dark:outline-green-900',
34
37
  outlineHover: 'outline-green-300/60 dark:outline-green-600/60',
35
38
  text: 'text-green-900 dark:text-green-100',
36
39
  hover: 'hover:bg-green-200 dark:hover:bg-green-800'
37
40
  },
38
41
  [NoteColor.PURPLE]: {
39
42
  background: 'bg-purple-200 dark:bg-purple-900',
40
- outline: 'outline-purple-300 dark:outline-purple-600',
43
+ backgroundLight: 'bg-purple-400/5 dark:bg-purple-600/5',
44
+ outline: 'outline-purple-200 dark:outline-purple-900',
41
45
  outlineHover: 'outline-purple-300/60 dark:outline-purple-600/60',
42
46
  text: 'text-purple-900 dark:text-purple-100',
43
47
  hover: 'hover:bg-purple-200 dark:hover:bg-purple-800'
44
48
  },
45
49
  [NoteColor.PINK]: {
46
50
  background: 'bg-pink-200 dark:bg-pink-900',
47
- outline: 'outline-pink-300 dark:outline-pink-600',
51
+ backgroundLight: 'bg-pink-400/5 dark:bg-pink-600/5',
52
+ outline: 'outline-pink-200 dark:outline-pink-900',
48
53
  outlineHover: 'outline-pink-300/60 dark:outline-pink-600/60',
49
54
  text: 'text-pink-900 dark:text-pink-100',
50
55
  hover: 'hover:bg-pink-200 dark:hover:bg-pink-800'
51
56
  },
52
57
  [NoteColor.ORANGE]: {
53
58
  background: 'bg-orange-200 dark:bg-orange-900',
54
- outline: 'outline-orange-300 dark:outline-orange-600',
59
+ backgroundLight: 'bg-orange-400/5 dark:bg-orange-600/5',
60
+ outline: 'outline-orange-200 dark:outline-orange-900',
55
61
  outlineHover: 'outline-orange-300/60 dark:outline-orange-600/60',
56
62
  text: 'text-orange-900 dark:text-orange-100',
57
63
  hover: 'hover:bg-orange-200 dark:hover:bg-orange-800'
58
64
  },
59
65
  [NoteColor.RED]: {
60
66
  background: 'bg-red-200 dark:bg-red-900',
61
- outline: 'outline-red-300 dark:outline-red-600',
67
+ backgroundLight: 'bg-red-400/5 dark:bg-red-600/5',
68
+ outline: 'outline-red-200 dark:outline-red-900',
62
69
  outlineHover: 'outline-red-300/60 dark:outline-red-600/60',
63
70
  text: 'text-red-900 dark:text-red-100',
64
71
  hover: 'hover:bg-red-200 dark:hover:bg-red-800'
65
72
  },
66
73
  [NoteColor.CYAN]: {
67
74
  background: 'bg-cyan-200 dark:bg-cyan-900',
68
- outline: 'outline-cyan-300 dark:outline-cyan-600',
75
+ backgroundLight: 'bg-cyan-400/5 dark:bg-cyan-600/5',
76
+ outline: 'outline-cyan-200 dark:outline-cyan-900',
69
77
  outlineHover: 'outline-cyan-300/60 dark:outline-cyan-600/60',
70
78
  text: 'text-cyan-900 dark:text-cyan-100',
71
79
  hover: 'hover:bg-cyan-200 dark:hover:bg-cyan-800'
72
80
  },
73
81
  [NoteColor.LIME]: {
74
82
  background: 'bg-lime-200 dark:bg-lime-900',
75
- outline: 'outline-lime-300 dark:outline-lime-600',
83
+ backgroundLight: 'bg-lime-400/5 dark:bg-lime-600/5',
84
+ outline: 'outline-lime-200 dark:outline-lime-900',
76
85
  outlineHover: 'outline-lime-300/60 dark:outline-lime-600/60',
77
86
  text: 'text-lime-900 dark:text-lime-100',
78
87
  hover: 'hover:bg-lime-200 dark:hover:bg-lime-800'
79
88
  },
80
89
  [NoteColor.GRAY]: {
81
90
  background: 'bg-gray-200 dark:bg-gray-800',
82
- outline: 'outline-gray-300 dark:outline-gray-600',
91
+ backgroundLight: 'bg-gray-400/5 dark:bg-gray-600/5',
92
+ outline: 'outline-gray-200 dark:outline-gray-800',
83
93
  outlineHover: 'outline-gray-300/60 dark:outline-gray-600/60',
84
94
  text: 'text-gray-900 dark:text-gray-100',
85
95
  hover: 'hover:bg-gray-200 dark:hover:bg-gray-700'
@@ -18,25 +18,7 @@ export type NodeDep = {
18
18
  };
19
19
  export type NoteComputeResult = {
20
20
  noteNodes: (Node & NodeLayout)[];
21
- newNodePositions: Record<string, {
22
- x: number;
23
- y: number;
24
- }>;
25
- };
26
- export type AIToolSpacingInfo = {
27
- toolNodes: (Node & NodeLayout)[];
28
- toolEdges: any[];
29
- newNodePositions: Record<string, {
30
- x: number;
31
- y: number;
32
- }>;
33
21
  };
34
- export interface GroupNoteBounds {
35
- x: number;
36
- y: number;
37
- width: number;
38
- height: number;
39
- }
40
22
  /**
41
23
  * Extracts layout-affecting signature for change detection
42
24
  * Only includes properties that affect graph layout (structure, grouping)
@@ -190,59 +190,26 @@ export function computeNoteNodes(nodes, notes, noteTextHeights, onTextHeightChan
190
190
  }
191
191
  }
192
192
  const allNoteNodes = [];
193
- // Build a map of Y positions that need extra spacing for group notes
194
- const yPosMap = {}; // Y position -> spacing needed
195
- // Group notes that need spacing
193
+ // Find topmost node per group note for layout calculation
196
194
  const groupNotes = notes.filter((n) => n.type === 'group');
197
195
  const topMostNodesMap = {};
198
196
  const sortedNodes = topologicalSort(nodes).reverse();
199
197
  for (const groupNote of groupNotes) {
200
198
  if (groupNote.contained_node_ids?.length) {
201
199
  const topmostNodeId = sortedNodes.find((node) => groupNote.contained_node_ids?.includes(node.id))?.id;
202
- const topmostNode = nodes.find((node) => node.id === topmostNodeId);
203
- if (topmostNode) {
204
- const textHeight = noteTextHeights[groupNote.id] || 60;
205
- const spacing = textHeight + 16; // padding
206
- // Mark this Y position as needing spacing
207
- yPosMap[topmostNode.position.y] = Math.max(yPosMap[topmostNode.position.y] || 0, spacing);
208
- topMostNodesMap[groupNote.id] = topmostNode.id;
209
- }
210
- }
211
- }
212
- // Calculate new positions for nodes (offset by group notes)
213
- const sortedNewNodes = nodes
214
- .map((n) => ({ position: { ...n.position }, id: n.id }))
215
- .sort((a, b) => a.position.y - b.position.y);
216
- let currentYOffset = 0;
217
- let prevYPos = NaN;
218
- for (const node of sortedNewNodes) {
219
- if (node.position.y !== prevYPos) {
220
- // Add spacing for group notes at this Y level
221
- if (yPosMap[node.position.y]) {
222
- currentYOffset += yPosMap[node.position.y];
200
+ if (topmostNodeId) {
201
+ topMostNodesMap[groupNote.id] = topmostNodeId;
223
202
  }
224
- prevYPos = node.position.y;
225
203
  }
226
- node.position.y += currentYOffset;
227
204
  }
228
- // Create note nodes AFTER calculating adjusted node positions
229
- // For group notes, we need to use the adjusted node positions
230
- const adjustedNodes = sortedNewNodes.map((n) => {
231
- const origNode = nodes.find((orig) => orig.id === n.id);
232
- return {
233
- ...n,
234
- data: origNode?.data,
235
- type: origNode?.type
236
- };
237
- });
238
205
  // Calculate all z-indexes at once using hierarchy information
239
206
  const noteZIndexes = calculateAllNoteZIndexes(notes, nodes);
240
207
  for (const note of notes) {
241
208
  const isGroupNote = note.type === 'group';
242
209
  const zIndex = noteZIndexes[note.id];
243
- // Calculate position and size using adjusted node positions for group notes
210
+ // Calculate position and size using node positions for group notes
244
211
  const { position, size } = isGroupNote
245
- ? calculateGroupNoteLayout(note, adjustedNodes, noteTextHeights[note.id] || 60, topMostNodesMap[note.id])
212
+ ? calculateGroupNoteLayout(note, nodes, noteTextHeights[note.id] || 60, topMostNodesMap[note.id])
246
213
  : {
247
214
  position: note.position ?? { x: 0, y: 0 },
248
215
  size: note.size ?? { width: MIN_NOTE_WIDTH, height: MIN_NOTE_HEIGHT }
@@ -261,10 +228,8 @@ export function computeNoteNodes(nodes, notes, noteTextHeights, onTextHeightChan
261
228
  };
262
229
  allNoteNodes.push(noteNode);
263
230
  }
264
- const newNodePositions = Object.fromEntries(sortedNewNodes.map((n) => [n.id, n.position]));
265
231
  const result = {
266
- noteNodes: allNoteNodes,
267
- newNodePositions
232
+ noteNodes: allNoteNodes
268
233
  };
269
234
  // Cache the result
270
235
  computeNoteNodesCache = [
@@ -8,10 +8,19 @@ import { workspaceStore } from '../../../../stores';
8
8
  import FlowStatusWaitingForEvents from '../../../FlowStatusWaitingForEvents.svelte';
9
9
  import InsertModuleButton from '../../../flows/map/InsertModuleButton.svelte';
10
10
  import { getGraphContext } from '../../graphContext';
11
+ import { GROUP_TOP_PADDING } from '../../compoundLayout';
11
12
  const { useDataflow, showAssets, moveManager } = getGraphContext();
12
- let { id, sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, markerEnd,
13
+ let { id, source, target, sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, markerEnd,
13
14
  // style,
14
15
  data } = $props();
16
+ // Derive group boundary from source/target node IDs
17
+ let groupBoundary = $derived.by(() => {
18
+ if (source.startsWith('group:') && !source.endsWith('-end'))
19
+ return 'top';
20
+ if (target.startsWith('group:') && target.endsWith('-end'))
21
+ return 'bottom';
22
+ return undefined;
23
+ });
15
24
  let [edgePath] = $derived(getBezierPath({
16
25
  sourceX,
17
26
  sourceY: targetY - sourceY > 100 ? targetY - 100 : sourceY,
@@ -29,19 +38,25 @@ let completeEdge = $derived(targetY - sourceY > 100
29
38
  let waitingForEvents = $derived(data?.flowModuleStates?.[data.targetId]?.type === 'WaitingForEvents' ||
30
39
  data?.flowModuleStates?.[`${data.sourceId}-v`]?.type === 'WaitingForEvents');
31
40
  let suspendStatus = $derived(data?.suspendStatus);
32
- let centerY = $derived(sourceY +
33
- 32 +
34
- (data.shouldOffsetInsertBtnDueToAssetNode && $showAssets ? NODE_WITH_WRITE_ASSET_Y_OFFSET : 0));
41
+ let centerY = $derived(groupBoundary === 'bottom'
42
+ ? targetY
43
+ : groupBoundary === 'top'
44
+ ? sourceY + GROUP_TOP_PADDING / 2
45
+ : sourceY +
46
+ 32 +
47
+ (data.shouldOffsetInsertBtnDueToAssetNode && $showAssets
48
+ ? NODE_WITH_WRITE_ASSET_Y_OFFSET
49
+ : 0));
35
50
  let isDragging = $derived(!!moveManager?.dragging);
36
51
  let draggedId = $derived(moveManager?.dragging?.moduleId);
37
52
  let isValidDropTarget = $derived(isDragging &&
38
53
  data?.insertable &&
39
54
  draggedId !== undefined &&
40
55
  !data.disableMoveIds?.includes(draggedId) &&
41
- data.sourceId !== draggedId &&
42
- data.targetId !== draggedId);
43
- let isNearestDrop = $derived(isValidDropTarget && moveManager?.nearestDropZone?.edgeId === id);
44
- let isAdjacentToDragged = $derived(isDragging && (data?.sourceId === draggedId || data?.targetId === draggedId));
56
+ source !== draggedId &&
57
+ target !== draggedId);
58
+ let isNearestDrop = $derived(isValidDropTarget && moveManager?.nearestDropZone?.edgeId === id ? true : false);
59
+ let isAdjacentToDragged = $derived(isDragging && (source === draggedId || target === draggedId));
45
60
  // Register this edge's drop zone position with the drag manager so proximity
46
61
  // detection uses the actual xyflow-computed position rather than re-deriving it.
47
62
  $effect(() => {
@@ -106,7 +121,7 @@ $effect(() => {
106
121
  {@render dropTargetIndicator(isNearestDrop)}
107
122
  </div>
108
123
  </div>
109
- {:else if data?.insertable && !$useDataflow && !moveManager?.movingModuleId && !isDragging}
124
+ {:else if data?.insertable && !groupBoundary && !$useDataflow && !moveManager?.movingModuleId && !isDragging}
110
125
  <div
111
126
  class={twMerge('edgeButtonContainer nodrag nopan top-0')}
112
127
  style:transform="translate(-50%, -50%)"
@@ -158,7 +173,7 @@ $effect(() => {
158
173
 
159
174
  {#if moveManager?.movingModuleId && data?.insertable}
160
175
  <div class="edgeButtonContainer nodrag nopan" style:transform="translate(-50%, -50%)">
161
- {#if !(moveManager.movingIds ?? [moveManager.movingModuleId]).some((id) => data.disableMoveIds?.includes(id))}
176
+ {#if !(moveManager.movingIds ?? [moveManager.movingModuleId]).some( (id) => data.disableMoveIds?.includes(id) )}
162
177
  <button
163
178
  title="Paste module"
164
179
  onclick={() => {
@@ -197,7 +212,7 @@ $effect(() => {
197
212
  <BaseEdge
198
213
  path={completeEdge}
199
214
  {markerEnd}
200
- class={$useDataflow ? 'hidden' : isAdjacentToDragged ? 'opacity-30' : ''}
215
+ class={$useDataflow || groupBoundary ? 'hidden' : isAdjacentToDragged ? 'opacity-30' : ''}
201
216
  interactionWidth={0}
202
217
  style={undefined}
203
218
  label={undefined}
@@ -1,10 +1,23 @@
1
- <script module lang="ts">export function validateToolName(name, type) {
1
+ <script module lang="ts">import { forbiddenIds } from '../../../flows/idUtils';
2
+ export function getToolNameError(name, type, siblingNames) {
2
3
  if (type === 'websearch')
3
- return true;
4
+ return undefined;
4
5
  if (type === 'mcp') {
5
- return name.length > 0;
6
+ return name.length > 0 ? undefined : 'Tool name must not be empty';
6
7
  }
7
- return /^[a-zA-Z0-9_]+$/.test(name);
8
+ if (!/^[a-zA-Z0-9_]+$/.test(name)) {
9
+ return 'Tool name must only contain letters, numbers and underscores';
10
+ }
11
+ if (forbiddenIds.includes(name)) {
12
+ return `'${name}' is a reserved name`;
13
+ }
14
+ if (siblingNames && siblingNames.filter((n) => n === name).length > 1) {
15
+ return 'Duplicate tool name';
16
+ }
17
+ return undefined;
18
+ }
19
+ export function validateToolName(name, type) {
20
+ return getToolNameError(name, type) === undefined;
8
21
  }
9
22
  export const AI_TOOL_BASE_OFFSET = 5;
10
23
  export const AI_TOOL_ROW_OFFSET = 30;
@@ -44,7 +57,6 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
44
57
  }
45
58
  const allToolNodes = [];
46
59
  const allToolEdges = [];
47
- const yPosMap = {};
48
60
  for (const node of nodes) {
49
61
  if (node.type !== 'module' || node.data.module.value.type !== 'aiagent')
50
62
  continue;
@@ -97,18 +109,7 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
97
109
  });
98
110
  }
99
111
  const totalRows = Math.ceil(tools.length / MAX_TOOLS_PER_ROW) + (insertable ? 1 : 0); // + 1 for add tool node when insertable
100
- if (agentActions) {
101
- yPosMap[node.position.y] = {
102
- rows: totalRows,
103
- placement: 'below'
104
- };
105
- }
106
- else {
107
- yPosMap[node.position.y] = {
108
- rows: totalRows,
109
- placement: 'above'
110
- };
111
- }
112
+ const siblingNames = tools.map((t) => t.name);
112
113
  const toolNodes = tools.map((tool, i) => {
113
114
  let inputToolXGap = 12;
114
115
  let inputToolWidth = (ROW_WIDTH - inputToolXGap) / 2;
@@ -120,6 +121,7 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
120
121
  data: {
121
122
  tool: tool.name,
122
123
  type: tool.type,
124
+ nameError: getToolNameError(tool.name, tool.type, siblingNames),
123
125
  eventHandlers,
124
126
  moduleId: tool.id,
125
127
  insertable,
@@ -128,13 +130,13 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
128
130
  id: `${node.id}-tool-${tool.id}`,
129
131
  width: inputToolWidth,
130
132
  position: {
131
- x: (tools.length === 1
133
+ x: tools.length === 1
132
134
  ? (ROW_WIDTH - inputToolWidth) / 2
133
135
  : (i + 1) % 2 === 0
134
136
  ? inputToolWidth + inputToolXGap
135
137
  : isLastRow && tools.length % 2 === 1
136
138
  ? (ROW_WIDTH - inputToolWidth) / 2
137
- : 0),
139
+ : 0,
138
140
  y: baseOffset +
139
141
  rowOffset *
140
142
  (agentActions
@@ -169,31 +171,9 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
169
171
  });
170
172
  }
171
173
  }
172
- const sortedNewNodes = nodes
173
- .filter((n) => n.type !== 'asset')
174
- .map((n) => ({ id: n.id, position: $state.snapshot(n.position) }))
175
- .sort((a, b) => a.position.y - b.position.y);
176
- let currentYOffset = 0;
177
- let prevYPos = NaN;
178
- for (const node of sortedNewNodes) {
179
- if (node.position.y !== prevYPos) {
180
- // if agent actions, we need to shift the node above
181
- if (yPosMap[prevYPos]?.placement === 'below') {
182
- currentYOffset += AI_TOOL_BASE_OFFSET + AI_TOOL_ROW_OFFSET * yPosMap[prevYPos].rows;
183
- }
184
- if (yPosMap[node.position.y]?.placement === 'above') {
185
- currentYOffset += AI_TOOL_BASE_OFFSET + AI_TOOL_ROW_OFFSET * yPosMap[node.position.y].rows;
186
- }
187
- prevYPos = node.position.y;
188
- }
189
- node.position.y += currentYOffset;
190
- }
191
174
  let ret = {
192
175
  toolNodes: allToolNodes,
193
- toolEdges: allToolEdges,
194
- newNodePositions: Object.fromEntries(sortedNewNodes.map((n) => {
195
- return [n.id, n.position];
196
- }))
176
+ toolEdges: allToolEdges
197
177
  };
198
178
  computeAIToolNodesCache = {
199
179
  nodes: nodes.map(getComparableNode),
@@ -214,7 +194,7 @@ let hover = $state(false);
214
194
  let { data, id } = $props();
215
195
  const { selectionManager } = getGraphContext();
216
196
  const flowModuleState = $derived(data.flowModuleStates?.[data.moduleId]);
217
- let colorClasses = $derived(getNodeColorClasses(!validateToolName(data.tool, data.type) ? 'Failure' : flowModuleState?.type, selectionManager?.getSelectedId() === data.moduleId));
197
+ let colorClasses = $derived(getNodeColorClasses(data.nameError ? 'Failure' : flowModuleState?.type, selectionManager?.getSelectedId() === data.moduleId));
218
198
  </script>
219
199
 
220
200
  <NodeWrapper nodeId={id}>
@@ -248,12 +228,7 @@ let colorClasses = $derived(getNodeColorClasses(!validateToolName(data.tool, dat
248
228
  <Wrench size={16} class="ml-1 shrink-0" />
249
229
  {/if}
250
230
 
251
- <span
252
- class={twMerge(
253
- 'text-3xs truncate flex-1',
254
- !validateToolName(data.tool, data.type) && 'text-red-400'
255
- )}
256
- >
231
+ <span class={twMerge('text-3xs truncate flex-1', data.nameError && 'text-red-400')}>
257
232
  {data.tool || 'Missing name'}
258
233
  </span>
259
234
  </button>
@@ -1,3 +1,4 @@
1
+ export declare function getToolNameError(name: string, type?: string, siblingNames?: string[]): string | undefined;
1
2
  export declare function validateToolName(name: string, type?: string): boolean;
2
3
  export declare const AI_TOOL_BASE_OFFSET = 5;
3
4
  export declare const AI_TOOL_ROW_OFFSET = 30;
@@ -10,10 +11,6 @@ export declare function getToolCallId(idx: number, agentModuleId: string, module
10
11
  export declare function computeAIToolNodes(nodes: (Node & NodeLayout)[], eventHandlers: GraphEventHandlers, insertable: boolean, flowModuleStates: Record<string, GraphModuleState> | undefined): {
11
12
  toolNodes: (Node & NodeLayout)[];
12
13
  toolEdges: Edge[];
13
- newNodePositions: Record<string, {
14
- x: number;
15
- y: number;
16
- }>;
17
14
  };
18
15
  import type { AiToolN, GraphEventHandlers, NodeLayout } from '../../graphBuilder.svelte';
19
16
  import type { Edge, Node } from '@xyflow/svelte';
@@ -13,7 +13,6 @@ export function computeAssetNodes(nodes) {
13
13
  const ASSETS_OVERFLOWED_NODE_WIDTH = 25;
14
14
  const allAssetNodes = [];
15
15
  const allAssetEdges = [];
16
- const yPosMap = {};
17
16
  for (const node of nodes) {
18
17
  const assets = node.data.assets ?? [];
19
18
  if (!assets.length)
@@ -26,14 +25,6 @@ export function computeAssetNodes(nodes) {
26
25
  const displayedOutputAssets = outputAssets.slice(0, 3);
27
26
  const overflowedInputAssets = inputAssets.slice(3);
28
27
  const overflowedOutputAssets = outputAssets.slice(3);
29
- // This allows calculating which nodes to offset on the y axis to
30
- // make space for the asset nodes
31
- if (inputAssets.length || outputAssets.length)
32
- yPosMap[node.position.y] = yPosMap[node.position.y] ?? {};
33
- if (inputAssets.length)
34
- yPosMap[node.position.y].r = true;
35
- if (outputAssets.length)
36
- yPosMap[node.position.y].w = true;
37
28
  // All asset nodes displayed on top
38
29
  const inputAssetNodes = displayedInputAssets.map((asset, i) => {
39
30
  let inputAssetXGap = 12;
@@ -154,26 +145,9 @@ export function computeAssetNodes(nodes) {
154
145
  data: { class: '!opacity-35 dark:!opacity-25' }
155
146
  });
156
147
  }
157
- // Shift all nodes to make space for the new asset nodes
158
- const sortedNewNodes = nodes
159
- .map((n) => ({ position: { ...n.position }, id: n.id }))
160
- .sort((a, b) => a.position.y - b.position.y);
161
- let currentYOffset = 0;
162
- let prevYPos = NaN;
163
- for (const node of sortedNewNodes) {
164
- if (node.position.y !== prevYPos) {
165
- if (yPosMap[prevYPos]?.w)
166
- currentYOffset += NODE_WITH_WRITE_ASSET_Y_OFFSET;
167
- if (yPosMap[node.position.y]?.r)
168
- currentYOffset += NODE_WITH_READ_ASSET_Y_OFFSET;
169
- prevYPos = node.position.y;
170
- }
171
- node.position.y += currentYOffset;
172
- }
173
148
  let ret = {
174
149
  newAssetNodes: allAssetNodes,
175
- newAssetEdges: allAssetEdges,
176
- newNodePositions: Object.fromEntries(sortedNewNodes.map((n) => [n.id, n.position]))
150
+ newAssetEdges: allAssetEdges
177
151
  };
178
152
  computeAssetNodesCache = [clone(nodes), ret];
179
153
  return ret;
@@ -17,10 +17,6 @@ type NodeDep = {
17
17
  export declare function computeAssetNodes(nodes: NodeDep[]): {
18
18
  newAssetNodes: (Node & NodeLayout)[];
19
19
  newAssetEdges: Edge[];
20
- newNodePositions: Record<string, {
21
- x: number;
22
- y: number;
23
- }>;
24
20
  };
25
21
  import type { AssetN, NodeLayout } from '../../graphBuilder.svelte';
26
22
  import { type AssetWithAltAccessType } from '../../../assets/lib';