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
@@ -1,5 +1,4 @@
1
- <script lang="ts">import { run } from 'svelte/legacy';
2
- import { GroupService } from '../gen';
1
+ <script lang="ts">import { GroupService } from '../gen';
3
2
  import { createEventDispatcher } from 'svelte';
4
3
  import autosize from '../autosize';
5
4
  import { Button } from './common';
@@ -7,6 +6,9 @@ import Skeleton from './common/skeleton/Skeleton.svelte';
7
6
  import TableCustom from './TableCustom.svelte';
8
7
  import { sendUserToast } from '../toast';
9
8
  import { Loader2 } from 'lucide-svelte';
9
+ import { superadmin } from '../stores';
10
+ import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
11
+ import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
10
12
  let { name } = $props();
11
13
  let email = $state('');
12
14
  let instance_group = $state();
@@ -23,7 +25,7 @@ async function loadInstanceGroup() {
23
25
  })
24
26
  : [];
25
27
  }
26
- run(() => {
28
+ $effect(() => {
27
29
  load();
28
30
  });
29
31
  </script>
@@ -44,7 +46,10 @@ run(() => {
44
46
  on:click={async () => {
45
47
  await GroupService.updateInstanceGroup({
46
48
  name,
47
- requestBody: { new_summary: instance_group?.summary ?? '' }
49
+ requestBody: {
50
+ new_summary: instance_group?.summary ?? '',
51
+ instance_role: instance_group?.instance_role ?? 'user'
52
+ }
48
53
  })
49
54
  dispatch('update')
50
55
  sendUserToast('New summary saved')
@@ -52,6 +57,72 @@ run(() => {
52
57
  >
53
58
  </div>
54
59
  </div>
60
+
61
+ {#if $superadmin}
62
+ <div class="flex flex-col gap-2">
63
+ <h2>Instance Role</h2>
64
+ <p class="text-secondary text-xs"
65
+ >Assign an instance-level role to all members of this group. Superadmin grants full admin
66
+ access, devops grants read-only admin visibility.</p
67
+ >
68
+ <ToggleButtonGroup
69
+ selected={instance_group.instance_role ?? 'user'}
70
+ on:selected={async (e) => {
71
+ let role = e.detail
72
+ await GroupService.updateInstanceGroup({
73
+ name,
74
+ requestBody: {
75
+ new_summary: instance_group?.summary ?? '',
76
+ instance_role: role
77
+ }
78
+ })
79
+ if (instance_group) {
80
+ instance_group.instance_role =
81
+ role === 'user' ? undefined : (role as 'superadmin' | 'devops')
82
+ }
83
+ dispatch('update')
84
+ sendUserToast('Instance role updated')
85
+ }}
86
+ >
87
+ {#snippet children({ item })}
88
+ <ToggleButton value="user" small label="User" {item} />
89
+ <ToggleButton
90
+ value="devops"
91
+ small
92
+ label="Devops"
93
+ tooltip="Devops is a role that grants visibility similar to that of a super admin, but without giving all rights."
94
+ {item}
95
+ />
96
+ <ToggleButton value="superadmin" small label="Superadmin" {item} />
97
+ {/snippet}
98
+ </ToggleButtonGroup>
99
+ </div>
100
+ {/if}
101
+
102
+ {#if instance_group.workspaces && instance_group.workspaces.length > 0}
103
+ <div class="flex flex-col gap-2">
104
+ <h2>Workspace Membership</h2>
105
+ <TableCustom>
106
+ {#snippet headerRow()}
107
+ <tr>
108
+ <th>Workspace</th>
109
+ <th>Role</th>
110
+ </tr>
111
+ {/snippet}
112
+ {#snippet body()}
113
+ <tbody>
114
+ {#each instance_group?.workspaces ?? [] as ws (ws.workspace_id)}
115
+ <tr>
116
+ <td>{ws.workspace_name ?? ws.workspace_id}</td>
117
+ <td>{ws.role}</td>
118
+ </tr>
119
+ {/each}
120
+ </tbody>
121
+ {/snippet}
122
+ </TableCustom>
123
+ </div>
124
+ {/if}
125
+
55
126
  <h2
56
127
  >Members ({#if members?.length != undefined}{members?.length ?? 0}{:else}<Loader2
57
128
  class="animate-spin"
@@ -80,36 +151,38 @@ run(() => {
80
151
  {#if members}
81
152
  <TableCustom>
82
153
  {#snippet headerRow()}
83
- <tr >
154
+ <tr>
84
155
  <th>user</th>
85
156
  <th></th>
86
157
  </tr>
87
- {/snippet}
158
+ {/snippet}
88
159
  {#snippet body()}
89
- <tbody >
90
- {#each members as { member_email }}<tr>
160
+ <tbody>
161
+ {#each members as { member_email } (member_email)}
162
+ <tr>
91
163
  <td>{member_email}</td>
92
164
  <td>
93
165
  <button
94
166
  class="ml-2 text-red-500"
95
167
  onclick={async () => {
96
- await GroupService.removeUserFromInstanceGroup({
97
- name,
98
- requestBody: { email: member_email }
99
- })
100
- dispatch('update')
101
- sendUserToast('User removed')
102
- loadInstanceGroup()
103
- }}>remove</button
168
+ await GroupService.removeUserFromInstanceGroup({
169
+ name,
170
+ requestBody: { email: member_email }
171
+ })
172
+ dispatch('update')
173
+ sendUserToast('User removed')
174
+ loadInstanceGroup()
175
+ }}>remove</button
104
176
  >
105
177
  </td>
106
- </tr>{/each}
178
+ </tr>
179
+ {/each}
107
180
  </tbody>
108
- {/snippet}
181
+ {/snippet}
109
182
  </TableCustom>
110
183
  {:else}
111
184
  <div class="flex flex-col">
112
- {#each new Array(6) as _}
185
+ {#each new Array(6) as _, i (i)}
113
186
  <Skeleton layout={[[2], 0.7]} />
114
187
  {/each}
115
188
  </div>
@@ -19,6 +19,8 @@ import SimpleEditor from './SimpleEditor.svelte';
19
19
  import CriticalAlertChannels from './instanceSettings/CriticalAlertChannels.svelte';
20
20
  import SmtpSettings from './instanceSettings/SmtpSettings.svelte';
21
21
  import SecretBackendConfig from './instanceSettings/SecretBackendConfig.svelte';
22
+ import GhesAppSettings from './instanceSettings/GhesAppSettings.svelte';
23
+ import WsConnectivityTest from './instanceSettings/WsConnectivityTest.svelte';
22
24
  import IndexerMemorySettings from './instanceSettings/IndexerMemorySettings.svelte';
23
25
  import IndexerJobIndexSettings from './instanceSettings/IndexerJobIndexSettings.svelte';
24
26
  import IndexerLogIndexSettings from './instanceSettings/IndexerLogIndexSettings.svelte';
@@ -247,12 +249,16 @@ $effect(() => {
247
249
  {:else}
248
250
  <SettingCard
249
251
  label={setting.key === 'disable_stats'
250
- ? ($enterpriseLicense ? 'Minimal telemetry' : 'Disable telemetry')
251
- : (setting.fieldType != 'smtp_connect' ? setting.label : undefined)}
252
+ ? $enterpriseLicense
253
+ ? 'Minimal telemetry'
254
+ : 'Disable telemetry'
255
+ : setting.fieldType != 'smtp_connect'
256
+ ? setting.label
257
+ : undefined}
252
258
  description={setting.key === 'disable_stats'
253
- ? ($enterpriseLicense
259
+ ? $enterpriseLicense
254
260
  ? 'Reduces telemetry to only what is needed for license compliance (no job usage data).'
255
- : 'Disables telemetry entirely.')
261
+ : 'Disables telemetry entirely.'
256
262
  : setting.description}
257
263
  ee_only={setting.ee_only}
258
264
  tooltip={setting.tooltip}
@@ -517,10 +523,10 @@ $effect(() => {
517
523
  options={{ right: 'Logs' }}
518
524
  />
519
525
  <Toggle
520
- disabled
526
+ disabled={!$enterpriseLicense}
521
527
  id="metrics_enabled"
522
528
  bind:checked={$values[setting.key].metrics_enabled}
523
- options={{ right: 'Metrics (coming soon)' }}
529
+ options={{ right: 'Metrics' }}
524
530
  />
525
531
  </div>
526
532
 
@@ -679,6 +685,10 @@ $effect(() => {
679
685
  <SmtpSettings {values} disabled={loading} />
680
686
  {:else if setting.fieldType == 'secret_backend'}
681
687
  <SecretBackendConfig {values} disabled={loading} />
688
+ {:else if setting.fieldType == 'github_enterprise_app'}
689
+ <GhesAppSettings {values} disabled={loading || !$enterpriseLicense} />
690
+ {:else if setting.fieldType == 'ws_connectivity'}
691
+ <WsConnectivityTest {values} />
682
692
  {/if}
683
693
  {#if hasError}
684
694
  <span class="text-red-600 dark:text-red-400 text-xs">
@@ -15,7 +15,8 @@ import YAML from 'yaml';
15
15
  import Toggle from './Toggle.svelte';
16
16
  import SettingsFooter from './workspaceSettings/SettingsFooter.svelte';
17
17
  import SettingsPageHeader from './settings/SettingsPageHeader.svelte';
18
- let { tab = $bindable('Core'), hideTabs = false, closeDrawer = () => { }, authSubTab = $bindable('sso'), onNavigateToTab, quickSetup = false, yamlMode = $bindable(false), hasUnsavedChanges = $bindable(false) } = $props();
18
+ import WorkspaceRegistries from './instanceSettings/WorkspaceRegistries.svelte';
19
+ let { tab = $bindable('Core'), hideTabs = false, closeDrawer = () => { }, authSubTab = $bindable('sso'), onNavigateToTab, quickSetup = false, yamlMode = $bindable(false), hasUnsavedChanges = $bindable(false), hasAnyInvalid = $bindable(false) } = $props();
19
20
  let values = writable({});
20
21
  let initialOauths = $state({});
21
22
  let initialRequirePreexistingUserForOauth = $state(false);
@@ -43,7 +44,8 @@ const formDefaults = {
43
44
  smtp_settings: {},
44
45
  otel: {},
45
46
  indexer_settings: {},
46
- critical_error_channels: []
47
+ critical_error_channels: [],
48
+ github_enterprise_app: {}
47
49
  };
48
50
  function applyFormDefaults(vals) {
49
51
  for (const [key, defaultVal] of Object.entries(formDefaults)) {
@@ -205,12 +207,13 @@ let downloadingStats = $state(false);
205
207
  async function downloadStats() {
206
208
  try {
207
209
  downloadingStats = true;
208
- const encryptedData = await SettingService.getStats();
209
- const blob = new Blob([encryptedData], { type: 'application/octet-stream' });
210
+ const result = await SettingService.getStats();
211
+ const blob = new Blob([result.data ?? ''], { type: 'application/json' });
210
212
  const url = URL.createObjectURL(blob);
211
213
  const a = document.createElement('a');
212
214
  a.href = url;
213
- a.download = `windmill-telemetry-${new Date().toISOString().split('T')[0]}.enc`;
215
+ const date = new Date().toISOString().split('T')[0];
216
+ a.download = `windmill-telemetry-${date}-${result.signature}.json`;
214
217
  document.body.appendChild(a);
215
218
  a.click();
216
219
  document.body.removeChild(a);
@@ -324,6 +327,9 @@ function buildCategoryYaml(category, vals, oauthsObj, reqPreexisting) {
324
327
  obj['require_preexisting_user_for_oauth'] = reqPreexisting;
325
328
  }
326
329
  }
330
+ if (category === 'Registries') {
331
+ obj['workspace_registries'] = vals['workspace_registries'] ?? null;
332
+ }
327
333
  return YAML.stringify(obj);
328
334
  }
329
335
  let dirtyCategories = $derived.by(() => {
@@ -352,6 +358,9 @@ let invalidCategories = $derived.by(() => {
352
358
  }
353
359
  return result;
354
360
  });
361
+ $effect(() => {
362
+ hasAnyInvalid = Object.values(invalidCategories).some(Boolean);
363
+ });
355
364
  export function isDirty(category) {
356
365
  return dirtyCategories[category] ?? false;
357
366
  }
@@ -372,6 +381,11 @@ export function discardCategory(category) {
372
381
  const v = initialValues[s.key];
373
382
  $values[s.key] = v !== undefined ? JSON.parse(JSON.stringify(v)) : undefined;
374
383
  }
384
+ if (category === 'Registries') {
385
+ const v = initialValues['workspace_registries'];
386
+ $values['workspace_registries'] =
387
+ v !== undefined ? JSON.parse(JSON.stringify(v)) : undefined;
388
+ }
375
389
  }
376
390
  }
377
391
  export function discardAll() {
@@ -462,6 +476,18 @@ export async function saveCategorySettings(category) {
462
476
  initialRequirePreexistingUserForOauth = requirePreexistingUserForOauth;
463
477
  }
464
478
  }
479
+ // Handle workspace_registries (saved separately like oauths)
480
+ if (category === 'Registries') {
481
+ if (!deepEqual(initialValues['workspace_registries'], $values['workspace_registries'])) {
482
+ await SettingService.setGlobal({
483
+ key: 'workspace_registries',
484
+ requestBody: { value: $values['workspace_registries'] ?? null }
485
+ });
486
+ initialValues['workspace_registries'] = $values['workspace_registries']
487
+ ? JSON.parse(JSON.stringify($values['workspace_registries']))
488
+ : undefined;
489
+ }
490
+ }
465
491
  if (licenseKeySet)
466
492
  setLicense();
467
493
  if (shouldReloadPage) {
@@ -486,7 +512,8 @@ const sensitiveKeys = new Set([
486
512
  .filter((s) => s.fieldType === 'password' || s.fieldType === 'license_key')
487
513
  .map((s) => s.key),
488
514
  'ducklake_user_pg_pwd',
489
- 'jwt_secret'
515
+ 'jwt_secret',
516
+ 'workspace_registries'
490
517
  ]);
491
518
  // Settings that should never appear in YAML export/import
492
519
  const excludedKeys = new Set([]);
@@ -497,7 +524,8 @@ const nestedSensitiveFields = {
497
524
  secret_backend: ['token'],
498
525
  object_store_cache_config: ['secret_key', 'serviceAccountKey'],
499
526
  custom_instance_pg_databases: ['user_pwd'],
500
- rsa_keys: ['private_key']
527
+ rsa_keys: ['private_key'],
528
+ github_enterprise_app: ['private_key']
501
529
  };
502
530
  /** Returns SENSITIVE_UNCHANGED if the value is non-empty and matches the initial */
503
531
  function maskField(current, initial) {
@@ -818,6 +846,10 @@ $effect(() => {
818
846
  <br />When minimal telemetry is disabled, the following is also collected:
819
847
  <ul class="list-disc list-inside pl-2">
820
848
  <li>job usage (language, total duration, count)</li>
849
+ <li>git sync repo count (sync vs promotion mode)</li>
850
+ <li
851
+ >AI chat usage (provider, model, mode, session count, message count — last 30 days)</li
852
+ >
821
853
  </ul>
822
854
  <br />For air-gapped instances, you can download the telemetry data and send it manually.
823
855
  </div>
@@ -853,6 +885,9 @@ $effect(() => {
853
885
  <li>worker usage (worker, worker instance, vCPUs, memory)</li>
854
886
  <li>user usage (author count, operator count)</li>
855
887
  <li>development instance status</li>
888
+ <li
889
+ >AI chat usage (provider, model, mode, session count, message count — last 30 days)</li
890
+ >
856
891
  </ul>
857
892
  </div>
858
893
  {/if}
@@ -880,6 +915,11 @@ $effect(() => {
880
915
  description="Configure where secrets (secret variables) are stored."
881
916
  link="https://www.windmill.dev/docs/core_concepts/workspace_secret_encryption"
882
917
  />
918
+ {:else if category == 'GitHub Enterprise App'}
919
+ <SettingsPageHeader
920
+ title="GitHub Enterprise App"
921
+ description="Configure a self-managed GitHub App for GitHub Enterprise Server git sync."
922
+ />
883
923
  {:else if category == 'Auth/OAuth/SAML'}
884
924
  <AuthSettings
885
925
  bind:oauths
@@ -963,6 +1003,10 @@ $effect(() => {
963
1003
  {/if}
964
1004
  </div>
965
1005
 
1006
+ {#if category === 'Registries'}
1007
+ <WorkspaceRegistries {values} {loading} />
1008
+ {/if}
1009
+
966
1010
  {#if !loading && !quickSetup && !hideTabs}
967
1011
  <SettingsFooter
968
1012
  hasUnsavedChanges={dirtyCategories[category] ?? false}
@@ -7,6 +7,7 @@ interface Props {
7
7
  quickSetup?: boolean;
8
8
  yamlMode?: boolean;
9
9
  hasUnsavedChanges?: boolean;
10
+ hasAnyInvalid?: boolean;
10
11
  }
11
12
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
12
13
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -38,6 +39,6 @@ declare const InstanceSettings: $$__sveltets_2_IsomorphicComponent<Props, {
38
39
  original: string;
39
40
  modified: string;
40
41
  };
41
- }, "tab" | "hasUnsavedChanges" | "authSubTab" | "yamlMode">;
42
+ }, "tab" | "hasUnsavedChanges" | "authSubTab" | "yamlMode" | "hasAnyInvalid">;
42
43
  type InstanceSettings = InstanceType<typeof InstanceSettings>;
43
44
  export default InstanceSettings;
@@ -36,7 +36,7 @@ const noLogsChangeRestartEvent = 'SSE restart after no logs change';
36
36
  $effect(() => {
37
37
  if (noLogs != lastNoLogs) {
38
38
  lastNoLogs = noLogs;
39
- if (!noLogs) {
39
+ if (!noLogs && !getActiveReplay()) {
40
40
  currentEventSource?.onerror?.(new Event(noLogsChangeRestartEvent));
41
41
  const lastJobId = lastCompletedJobId;
42
42
  if (lastJobId && (job || lastCallbacks?.loadExtraLogs)) {
@@ -144,7 +144,7 @@ function refreshLogOffset() {
144
144
  }
145
145
  }
146
146
  export async function getLogs() {
147
- if (job) {
147
+ if (job && !getActiveReplay()) {
148
148
  refreshLogOffset();
149
149
  const getUpdate = await JobService.getJobUpdates({
150
150
  workspace: workspace,
@@ -164,7 +164,7 @@ export async function runDynamicInputScript(entrypoint_function, runnable_ref, a
164
164
  requestBody: { entrypoint_function, args, runnable_ref }
165
165
  }), callbacks);
166
166
  }
167
- export async function runPreview(path, code, lang, args, tag, lock, hash, callbacks, flowPath) {
167
+ export async function runPreview(path, code, lang, args, tag, lock, hash, callbacks, flowPath, modules) {
168
168
  return abstractRun(() => JobService.runScriptPreview({
169
169
  workspace: $workspaceStore,
170
170
  requestBody: {
@@ -175,7 +175,8 @@ export async function runPreview(path, code, lang, args, tag, lock, hash, callba
175
175
  tag,
176
176
  lock,
177
177
  script_hash: hash,
178
- flow_path: flowPath
178
+ flow_path: flowPath,
179
+ modules: modules ?? undefined
179
180
  }
180
181
  }), callbacks);
181
182
  }
@@ -59,7 +59,7 @@ declare const JobLoader: import("svelte").Component<Props, {
59
59
  }, callbacks?: Callbacks, path?: string) => Promise<string>;
60
60
  getLogs: () => Promise<void>;
61
61
  runDynamicInputScript: (entrypoint_function: string, runnable_ref: DynamicInput.HelperScript, args: Record<string, any>, callbacks?: Callbacks) => Promise<string>;
62
- runPreview: (path: string | undefined, code: string, lang: SupportedLanguage | undefined, args: Record<string, any>, tag: string | undefined, lock?: string, hash?: string, callbacks?: Callbacks, flowPath?: string) => Promise<string>;
62
+ runPreview: (path: string | undefined, code: string, lang: SupportedLanguage | undefined, args: Record<string, any>, tag: string | undefined, lock?: string, hash?: string, callbacks?: Callbacks, flowPath?: string, modules?: Record<string, import("../gen").ScriptModule> | null) => Promise<string>;
63
63
  cancelJob: () => Promise<void>;
64
64
  clearCurrentJob: () => Promise<void>;
65
65
  watchJob: (testId: string, callbacks?: Callbacks) => Promise<void>;
@@ -127,7 +127,8 @@ async function redirectUser() {
127
127
  workspace: $workspaceStore
128
128
  });
129
129
  if (!emptyString(defaultApp.default_app_path)) {
130
- goto(`/apps/get/${defaultApp.default_app_path}`);
130
+ const prefix = defaultApp.default_app_raw ? '/apps_raw/get' : '/apps/get';
131
+ goto(`${prefix}/${defaultApp.default_app_path}`);
131
132
  }
132
133
  else {
133
134
  goto(rd ?? '/');
@@ -300,6 +301,13 @@ $effect(() => {
300
301
  btnClasses="mt-2 w-full"
301
302
  on:click={() => {
302
303
  if (saml) {
304
+ if (rd) {
305
+ try {
306
+ localStorage.setItem('rd', rd)
307
+ } catch (e) {
308
+ console.error('Could not persist redirection to local storage', e)
309
+ }
310
+ }
303
311
  window.location.href = saml
304
312
  } else {
305
313
  sendUserToast('No SAML login available', true)
@@ -4,7 +4,7 @@ import { Badge } from './common';
4
4
 
5
5
  <Popover notClickable>
6
6
  {#snippet text()}
7
- The script has no main function exported
7
+ Library script (no exported main function)
8
8
  {/snippet}
9
- <Badge small color="yellow" baseClass="border border-indigo-200">No main</Badge>
9
+ <Badge small color="yellow" baseClass="border border-indigo-200">Library</Badge>
10
10
  </Popover>
@@ -1,11 +1,15 @@
1
1
  <script lang="ts" module>/**
2
2
  * Check if an item needs on_behalf_of selection.
3
- * Shows the selector when the source item has an on_behalf_of_email set.
3
+ * Shows the selector when the source item has an on_behalf_of value set.
4
4
  */
5
- export function needsOnBehalfOfSelection(kind, sourceEmail) {
6
- if (kind !== 'flow' && kind !== 'script' && kind !== 'app' && kind !== 'trigger')
5
+ export function needsOnBehalfOfSelection(kind, sourceValue) {
6
+ if (kind !== 'flow' &&
7
+ kind !== 'script' &&
8
+ kind !== 'app' &&
9
+ kind !== 'raw_app' &&
10
+ kind !== 'trigger')
7
11
  return false;
8
- return !!sourceEmail;
12
+ return !!sourceValue;
9
13
  }
10
14
  </script>
11
15
 
@@ -15,9 +19,10 @@ import Modal from './common/modal/Modal.svelte';
15
19
  import { userStore } from '../stores';
16
20
  import { UserService } from '../gen';
17
21
  import TextInput from './text_input/TextInput.svelte';
18
- let { targetWorkspace, targetEmail, selected, onSelect, kind, canPreserve, customEmail, isDeployment = true } = $props();
19
- let label = $derived(kind === 'trigger'
20
- ? 'Set the user this will be recorded as edited by:'
22
+ let { targetWorkspace, targetValue, selected, onSelect, kind, canPreserve, customValue, isDeployment = true } = $props();
23
+ const isTrigger = $derived(kind === 'trigger');
24
+ let label = $derived(isTrigger
25
+ ? 'Set the user this will be permissioned as:'
21
26
  : 'Set the user this will be run on behalf of:');
22
27
  let users = $state([]);
23
28
  let usersLoaded = $state(false);
@@ -36,13 +41,18 @@ async function loadUsers() {
36
41
  }
37
42
  // Fetch users eagerly so we can resolve usernames for display
38
43
  loadUsers();
39
- function resolveUsername(email) {
40
- if (!email)
44
+ /** Resolve a value to a display name, always showing u/username format */
45
+ function resolveDisplayName(value) {
46
+ if (!value)
41
47
  return undefined;
42
- return users.find((u) => u.email === email)?.username ?? email;
48
+ if (value.startsWith('u/') || value.startsWith('g/'))
49
+ return value;
50
+ const username = users.find((u) => u.email === value)?.username;
51
+ return username ? `u/${username}` : value;
43
52
  }
44
- let targetUsername = $derived(resolveUsername(targetEmail));
45
- let customUsername = $derived(resolveUsername(customEmail));
53
+ let targetDisplayName = $derived(resolveDisplayName(targetValue));
54
+ let customDisplayName = $derived(resolveDisplayName(customValue));
55
+ let myDisplayName = $derived($userStore?.username ? `u/${$userStore.username}` : undefined);
46
56
  let activeUsers = $derived(users.filter((u) => !u.disabled));
47
57
  let filteredUsers = $derived(searchQuery
48
58
  ? activeUsers.filter((u) => {
@@ -54,7 +64,7 @@ let filteredUsers = $derived(searchQuery
54
64
  : activeUsers);
55
65
  // Preselect "target" when available and user has permission to preserve
56
66
  $effect(() => {
57
- if (selected === undefined && targetEmail && canPreserve) {
67
+ if (selected === undefined && targetValue && canPreserve) {
58
68
  onSelect('target');
59
69
  }
60
70
  });
@@ -64,36 +74,34 @@ function openModal() {
64
74
  modalOpen = true;
65
75
  }
66
76
  function selectUser(user) {
67
- onSelect('custom', user.email, user.username);
77
+ onSelect('custom', { email: user.email, permissionedAs: `u/${user.username}` });
68
78
  modalOpen = false;
69
79
  }
70
80
  let selectedDisplayName = $derived.by(() => {
71
81
  if (selected === 'target')
72
- return targetUsername;
82
+ return targetDisplayName;
73
83
  if (selected === 'me')
74
- return $userStore?.username;
84
+ return myDisplayName;
75
85
  if (selected === 'custom')
76
- return customUsername;
86
+ return customDisplayName;
77
87
  return undefined;
78
88
  });
79
89
  </script>
80
90
 
81
91
  <MeltPopover placement="bottom" on:openChange={(e) => e.detail && loadUsers()}>
82
92
  {#snippet trigger()}
83
-
84
- <span class="inline-flex items-center gap-1">
85
- <UserCog class="w-4 h-4 {selected ? 'text-green-500' : 'text-yellow-500'}" />
86
- {#if selectedDisplayName}
87
- <span class="text-xs truncate max-w-24">{selectedDisplayName}</span>
88
- {/if}
89
- </span>
90
-
93
+ <span class="inline-flex items-center gap-1">
94
+ <UserCog class="w-4 h-4 {selected ? 'text-green-500' : 'text-yellow-500'}" />
95
+ {#if selectedDisplayName}
96
+ <span class="text-xs truncate max-w-24">{selectedDisplayName}</span>
97
+ {/if}
98
+ </span>
91
99
  {/snippet}
92
100
  {#snippet content({ close: closePopover })}
93
- <div class="p-3 flex flex-col gap-2 min-w-48">
101
+ <div class="p-3 flex flex-col gap-2 min-w-48">
94
102
  <div class="text-xs font-medium text-secondary mb-1">{label}</div>
95
103
  <!-- Target option -->
96
- {#if targetEmail}
104
+ {#if targetValue}
97
105
  <button
98
106
  class="flex items-center gap-2 px-2 py-1.5 rounded text-left text-xs hover:bg-surface-hover {!canPreserve
99
107
  ? 'opacity-50 cursor-not-allowed'
@@ -102,7 +110,7 @@ let selectedDisplayName = $derived.by(() => {
102
110
  onclick={() => onSelect('target')}
103
111
  >
104
112
  <Check class="w-3 h-3 {selected === 'target' ? 'opacity-100' : 'opacity-0'}" />
105
- <span class="truncate max-w-40">{targetUsername}</span>
113
+ <span class="truncate max-w-40">{targetDisplayName}</span>
106
114
  <span class="text-xs text-tertiary">{isDeployment ? '(target)' : '(current)'}</span>
107
115
  </button>
108
116
  {/if}
@@ -112,7 +120,7 @@ let selectedDisplayName = $derived.by(() => {
112
120
  onclick={() => onSelect('me')}
113
121
  >
114
122
  <Check class="w-3 h-3 {selected === 'me' ? 'opacity-100' : 'opacity-0'}" />
115
- <span class="truncate max-w-40">{$userStore?.username}</span>
123
+ <span class="truncate max-w-40">{myDisplayName}</span>
116
124
  <span class="text-xs text-tertiary">(me)</span>
117
125
  </button>
118
126
  <!-- Custom / Pick from workspace -->
@@ -126,9 +134,9 @@ let selectedDisplayName = $derived.by(() => {
126
134
  openModal()
127
135
  }}
128
136
  >
129
- {#if selected === 'custom' && customUsername}
137
+ {#if selected === 'custom' && customDisplayName}
130
138
  <Check class="w-3 h-3 opacity-100" />
131
- <span class="truncate max-w-40">{customUsername}</span>
139
+ <span class="truncate max-w-40">{customDisplayName}</span>
132
140
  <span class="text-xs text-tertiary">(custom)</span>
133
141
  {:else}
134
142
  <Check class="w-3 h-3 opacity-0" />
@@ -144,11 +152,15 @@ let selectedDisplayName = $derived.by(() => {
144
152
  <Modal title="Select a user" bind:open={modalOpen} kind="X">
145
153
  <div class="flex flex-col gap-4">
146
154
  <div class="text-xs text-secondary">
147
- {#if kind === 'trigger'}
148
- Choose the user this trigger will be recorded as edited by {isDeployment ? 'in the target workspace' : 'in this workspace'}.
155
+ {#if isTrigger}
156
+ Choose the user this trigger will be permissioned as {isDeployment
157
+ ? 'in the target workspace'
158
+ : 'in this workspace'}. The selected user's permissions will be used when the trigger
159
+ fires.
149
160
  {:else}
150
- Choose the user this {kind} will run on behalf of {isDeployment ? 'in the target workspace' : 'in this workspace'}. The selected
151
- user's permissions will be used when executing.
161
+ Choose the user this {kind} will run on behalf of {isDeployment
162
+ ? 'in the target workspace'
163
+ : 'in this workspace'}. The selected user's permissions will be used when executing.
152
164
  {/if}
153
165
  <a
154
166
  href="https://www.windmill.dev/docs/core_concepts/roles_and_permissions"
@@ -170,10 +182,10 @@ let selectedDisplayName = $derived.by(() => {
170
182
  onclick={() => selectUser(user)}
171
183
  >
172
184
  <div class="flex flex-col min-w-0">
173
- <span class="font-medium truncate">{user.username}</span>
185
+ <span class="font-medium truncate">u/{user.username}</span>
174
186
  <span class="text-xs text-tertiary truncate">{user.email}</span>
175
187
  </div>
176
- {#if customEmail === user.email && selected === 'custom'}
188
+ {#if selected === 'custom' && (customValue === `u/${user.username}` || customValue === user.email)}
177
189
  <Check class="w-4 h-4 text-green-500 ml-auto flex-shrink-0" />
178
190
  {/if}
179
191
  </button>