windmill-components 1.623.2 → 1.642.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/assets/app.css +32 -13
  74. package/package/components/AIAgentLogViewer.svelte +2 -2
  75. package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
  76. package/package/components/AIProviderPicker.svelte +20 -80
  77. package/package/components/AIProviderPicker.svelte.d.ts +2 -7
  78. package/package/components/AddUser.svelte +2 -2
  79. package/package/components/ApiConnectForm.svelte +7 -1
  80. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  81. package/package/components/ArgInput.svelte +15 -5
  82. package/package/components/ArgInput.svelte.d.ts +3 -4
  83. package/package/components/Auth0Setting.svelte +6 -2
  84. package/package/components/AuthSettings.svelte +68 -39
  85. package/package/components/AuthSettings.svelte.d.ts +3 -1
  86. package/package/components/AutheliaSetting.svelte +3 -2
  87. package/package/components/AuthentikSetting.svelte +3 -2
  88. package/package/components/AutoscalingConfigEditor.svelte +2 -1
  89. package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
  90. package/package/components/CenteredModal.svelte +14 -4
  91. package/package/components/CenteredModal.svelte.d.ts +1 -0
  92. package/package/components/ChangeInstanceUsernameInner.svelte +1 -1
  93. package/package/components/CompareWorkspaces.svelte +29 -57
  94. package/package/components/ConcurrentJobsChart.svelte +1 -1
  95. package/package/components/ConnectionSection.svelte +69 -73
  96. package/package/components/CustomSso.svelte +7 -7
  97. package/package/components/DBManager.svelte +15 -4
  98. package/package/components/DBManager.svelte.d.ts +2 -0
  99. package/package/components/DBManagerContent.svelte +5 -0
  100. package/package/components/DBManagerContent.svelte.d.ts +1 -0
  101. package/package/components/DBManagerDrawer.svelte +2 -0
  102. package/package/components/DatatablePicker.svelte +29 -0
  103. package/package/components/DatatablePicker.svelte.d.ts +13 -0
  104. package/package/components/DateTimeInput.svelte +3 -3
  105. package/package/components/DedicatedWorkersSelector.svelte +39 -42
  106. package/package/components/DeployToSetting.svelte +183 -123
  107. package/package/components/DeployToSetting.svelte.d.ts +19 -28
  108. package/package/components/DeployWorkspace.svelte +6 -44
  109. package/package/components/DeployWorkspace.svelte.d.ts +2 -1
  110. package/package/components/DeployWorkspaceDrawer.svelte +18 -7
  111. package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
  112. package/package/components/Description.svelte +3 -1
  113. package/package/components/Dev.svelte +1 -0
  114. package/package/components/DiffEditor.svelte +7 -6
  115. package/package/components/DiffEditor.svelte.d.ts +2 -6
  116. package/package/components/DisplayResult.svelte +2 -2
  117. package/package/components/DropdownMenu.svelte +39 -0
  118. package/package/components/DropdownMenu.svelte.d.ts +14 -0
  119. package/package/components/DropdownSubmenuItem.svelte +68 -0
  120. package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
  121. package/package/components/DropdownV2.svelte +3 -3
  122. package/package/components/DropdownV2Inner.svelte +42 -34
  123. package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
  124. package/package/components/DucklakePicker.svelte +2 -5
  125. package/package/components/EEOnly.svelte +4 -14
  126. package/package/components/EEOnly.svelte.d.ts +0 -1
  127. package/package/components/Editor.svelte +2 -2
  128. package/package/components/Editor.svelte.d.ts +1 -0
  129. package/package/components/EditorBar.svelte +2 -4
  130. package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
  131. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
  132. package/package/components/ExploreAssetButton.svelte +1 -2
  133. package/package/components/FileExplorer.svelte +249 -0
  134. package/package/components/FileExplorer.svelte.d.ts +21 -0
  135. package/package/components/FilesetEditor.svelte +103 -0
  136. package/package/components/FilesetEditor.svelte.d.ts +6 -0
  137. package/package/components/FilterSearchbar.svelte +628 -0
  138. package/package/components/FilterSearchbar.svelte.d.ts +86 -0
  139. package/package/components/FlowBuilder.svelte +123 -79
  140. package/package/components/FlowGraphViewerStep.svelte +49 -33
  141. package/package/components/FlowHistoryJobPicker.svelte +2 -1
  142. package/package/components/FlowJobResult.svelte +31 -23
  143. package/package/components/FlowJobResult.svelte.d.ts +0 -1
  144. package/package/components/FlowLogRow.svelte +1 -1
  145. package/package/components/FlowLogViewer.svelte +8 -3
  146. package/package/components/FlowPreviewContent.svelte +65 -49
  147. package/package/components/FlowPreviewContent.svelte.d.ts +4 -0
  148. package/package/components/FlowRestartButton.svelte +47 -47
  149. package/package/components/FlowRestartButton.svelte.d.ts +2 -0
  150. package/package/components/FlowStatusViewer.svelte +2 -3
  151. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  152. package/package/components/FlowStatusViewerInner.svelte +380 -297
  153. package/package/components/FlowStatusViewerInner.svelte.d.ts +2 -2
  154. package/package/components/FlowStatusWaitingForEvents.svelte +11 -10
  155. package/package/components/FolderPicker.svelte +195 -65
  156. package/package/components/FolderPicker.svelte.d.ts +2 -0
  157. package/package/components/HistoricInputs.svelte +3 -4
  158. package/package/components/IconedResourceType.svelte +8 -2
  159. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  160. package/package/components/InputError.svelte +9 -0
  161. package/package/components/InputError.svelte.d.ts +6 -0
  162. package/package/components/InputTransformForm.svelte +46 -39
  163. package/package/components/InputTransformForm.svelte.d.ts +1 -0
  164. package/package/components/InputTransformSchemaForm.svelte +2 -1
  165. package/package/components/InputTransformSchemaForm.svelte.d.ts +1 -0
  166. package/package/components/InputTransformsViewer.svelte +37 -20
  167. package/package/components/InstanceNameEditor.svelte +3 -1
  168. package/package/components/InstanceSetting.svelte +150 -374
  169. package/package/components/InstanceSetting.svelte.d.ts +1 -0
  170. package/package/components/InstanceSettings.svelte +804 -193
  171. package/package/components/InstanceSettings.svelte.d.ts +17 -2
  172. package/package/components/IntegerInput.svelte +58 -0
  173. package/package/components/IntegerInput.svelte.d.ts +14 -0
  174. package/package/components/InviteGlobalUser.svelte +25 -25
  175. package/package/components/InviteGlobalUser.svelte.d.ts +4 -2
  176. package/package/components/JobArgs.svelte +14 -10
  177. package/package/components/JobLoader.svelte +6 -4
  178. package/package/components/JobLoader.svelte.d.ts +2 -2
  179. package/package/components/JobStatus.svelte +29 -26
  180. package/package/components/JobStatus.svelte.d.ts +1 -0
  181. package/package/components/KanidmSetting.svelte +3 -2
  182. package/package/components/KeycloakSetting.svelte +3 -2
  183. package/package/components/Login.svelte +9 -3
  184. package/package/components/ModuleStatus.svelte +5 -5
  185. package/package/components/ModuleTest.svelte +3 -3
  186. package/package/components/MoveDrawer.svelte +47 -76
  187. package/package/components/MoveDrawer.svelte.d.ts +4 -6
  188. package/package/components/NextcloudSetting.svelte +3 -2
  189. package/package/components/NoDirectDeployAlert.svelte +31 -0
  190. package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
  191. package/package/components/NumberTypeNarrowing.svelte +65 -67
  192. package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
  193. package/package/components/OAuthSetting.svelte +6 -14
  194. package/package/components/ObjectStoreConfigSettings.svelte +150 -55
  195. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
  196. package/package/components/OktaSetting.svelte +3 -2
  197. package/package/components/PageHeader.svelte +1 -1
  198. package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
  199. package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
  200. package/package/components/Path.svelte +40 -28
  201. package/package/components/Path.svelte.d.ts +3 -0
  202. package/package/components/PocketIdSetting.svelte +3 -2
  203. package/package/components/ResourceEditor.svelte +9 -3
  204. package/package/components/ResourcePicker.svelte +2 -5
  205. package/package/components/RightClickPopover.svelte +37 -0
  206. package/package/components/RightClickPopover.svelte.d.ts +11 -0
  207. package/package/components/RunChart.svelte +2 -21
  208. package/package/components/RunChart.svelte.d.ts +0 -3
  209. package/package/components/RunsPage.svelte +458 -560
  210. package/package/components/SaveButton.svelte +78 -0
  211. package/package/components/SaveButton.svelte.d.ts +12 -0
  212. package/package/components/SaveInputsButton.svelte +1 -1
  213. package/package/components/SavedInputsV2.svelte +1 -3
  214. package/package/components/SchemaFormWithArgPicker.svelte +34 -30
  215. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
  216. package/package/components/SchemaViewer.svelte +56 -53
  217. package/package/components/ScriptBuilder.svelte +12 -12
  218. package/package/components/ScriptEditor.svelte +30 -28
  219. package/package/components/Section.svelte +2 -2
  220. package/package/components/ServiceLogsInner.svelte +21 -82
  221. package/package/components/Star.svelte +8 -22
  222. package/package/components/Star.svelte.d.ts +4 -4
  223. package/package/components/StringTypeNarrowing.svelte +1 -0
  224. package/package/components/SummaryPathDisplay.svelte +177 -0
  225. package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
  226. package/package/components/SuperadminSettings.svelte +185 -4
  227. package/package/components/SuperadminSettings.svelte.d.ts +4 -1
  228. package/package/components/SuperadminSettingsInner.svelte +307 -192
  229. package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
  230. package/package/components/TaggedTextInput.svelte +449 -0
  231. package/package/components/TaggedTextInput.svelte.d.ts +28 -0
  232. package/package/components/Toast.svelte +69 -51
  233. package/package/components/Toast.svelte.d.ts +2 -2
  234. package/package/components/Tooltip.svelte +2 -2
  235. package/package/components/Tooltip.svelte.d.ts +2 -0
  236. package/package/components/TooltipInner.svelte +6 -1
  237. package/package/components/TooltipInner.svelte.d.ts +1 -0
  238. package/package/components/Uptodate.svelte +3 -2
  239. package/package/components/UserSettings.svelte +2 -2
  240. package/package/components/UserSettings.svelte.d.ts +1 -0
  241. package/package/components/WorkerGroup.svelte +320 -192
  242. package/package/components/WorkerGroup.svelte.d.ts +2 -0
  243. package/package/components/WorkspaceDependenciesEditor.svelte +33 -17
  244. package/package/components/ZitadelSetting.svelte +3 -2
  245. package/package/components/aiProviderStorage.d.ts +5 -0
  246. package/package/components/aiProviderStorage.js +50 -0
  247. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +24 -13
  248. package/package/components/apps/components/display/dbtable/metadata.d.ts +1 -0
  249. package/package/components/apps/components/display/dbtable/metadata.js +1 -0
  250. package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
  251. package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
  252. package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
  253. package/package/components/apps/components/display/dbtable/queries/select.js +15 -1
  254. package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
  255. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  256. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  257. package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -0
  258. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -3
  259. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  260. package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
  261. package/package/components/apps/components/helpers/eval.js +5 -2
  262. package/package/components/apps/components/layout/AppModal.svelte +2 -1
  263. package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
  264. package/package/components/apps/editor/appPolicy.js +5 -4
  265. package/package/components/apps/editor/appUtils.d.ts +1 -1
  266. package/package/components/apps/editor/component/components.d.ts +11 -0
  267. package/package/components/apps/editor/component/components.js +19 -2
  268. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
  269. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  270. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
  272. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
  273. package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
  274. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  275. package/package/components/apps/inputType.d.ts +2 -2
  276. package/package/components/assets/AssetButtons.svelte +3 -7
  277. package/package/components/assets/AssetButtons.svelte.d.ts +2 -4
  278. package/package/components/assets/AssetColumnBadges.svelte +35 -0
  279. package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
  280. package/package/components/assets/AssetsDropdownButton.svelte +8 -6
  281. package/package/components/assets/AssetsUsageDrawer.svelte +16 -14
  282. package/package/components/assets/JobAssetsViewer.svelte +4 -6
  283. package/package/components/assets/assetsFilter.d.ts +50 -0
  284. package/package/components/assets/assetsFilter.js +43 -0
  285. package/package/components/assets/lib.d.ts +3 -2
  286. package/package/components/assets/lib.js +8 -1
  287. package/package/components/auditLogs/AuditLogsFilters.svelte +30 -1
  288. package/package/components/common/InlineCalendarInput.svelte +580 -0
  289. package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
  290. package/package/components/common/alert/Alert.svelte +2 -8
  291. package/package/components/common/alert/model.d.ts +1 -0
  292. package/package/components/common/alert/model.js +7 -0
  293. package/package/components/common/badge/Badge.svelte +7 -3
  294. package/package/components/common/badge/Badge.svelte.d.ts +1 -0
  295. package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
  296. package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
  297. package/package/components/common/drawer/DrawerContent.svelte +1 -1
  298. package/package/components/common/seconds/SecondsInput.svelte +158 -67
  299. package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
  300. package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
  301. package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
  302. package/package/components/common/table/AppRow.svelte +7 -10
  303. package/package/components/common/table/AppRow.svelte.d.ts +2 -2
  304. package/package/components/common/table/FlowRow.svelte +12 -15
  305. package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
  306. package/package/components/common/table/RawAppRow.svelte +5 -82
  307. package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
  308. package/package/components/common/table/Row.svelte +2 -2
  309. package/package/components/common/table/Row.svelte.d.ts +0 -2
  310. package/package/components/common/table/ScriptRow.svelte +8 -11
  311. package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
  312. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  313. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
  314. package/package/components/copilot/TestAIKey.svelte +1 -1
  315. package/package/components/copilot/chat/AIChatInput.svelte +22 -11
  316. package/package/components/copilot/chat/AIChatManager.svelte.js +15 -17
  317. package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
  318. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
  319. package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
  320. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
  321. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
  322. package/package/components/copilot/chat/app/core.js +7 -86
  323. package/package/components/copilot/chat/context.js +4 -1
  324. package/package/components/copilot/chat/flow/core.js +193 -61
  325. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  326. package/package/components/copilot/chat/flow/openFlowZod.d.ts +2 -2
  327. package/package/components/copilot/chat/flow/openFlowZod.js +6 -8
  328. package/package/components/copilot/chat/navigator/core.d.ts +2 -2
  329. package/package/components/copilot/chat/navigator/core.js +11 -2
  330. package/package/components/copilot/chat/script/core.js +4 -1
  331. package/package/components/copilot/chat/shared.d.ts +53 -1
  332. package/package/components/copilot/chat/shared.js +227 -1
  333. package/package/components/copilot/lib.js +42 -0
  334. package/package/components/dedicated_worker.d.ts +7 -0
  335. package/package/components/dedicated_worker.js +36 -0
  336. package/package/components/details/DetailPageHeader.svelte +8 -23
  337. package/package/components/details/DetailPageHeader.svelte.d.ts +1 -0
  338. package/package/components/details/DetailPageLayout.svelte +1 -1
  339. package/package/components/details/createAppFromScript.d.ts +136 -16
  340. package/package/components/details/createAppFromScript.js +13 -12
  341. package/package/components/diffEditorTypes.d.ts +6 -0
  342. package/package/components/diffEditorTypes.js +1 -0
  343. package/package/components/flows/CreateActionsApp.svelte +32 -82
  344. package/package/components/flows/CreateActionsFlow.svelte +28 -28
  345. package/package/components/flows/FlowAssetsHandler.svelte +1 -4
  346. package/package/components/flows/FlowProgressBar.svelte +37 -1
  347. package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
  348. package/package/components/flows/agentToolUtils.d.ts +18 -0
  349. package/package/components/flows/agentToolUtils.js +47 -0
  350. package/package/components/flows/common/FlowCardHeader.svelte +8 -9
  351. package/package/components/flows/content/FlowEnvironmentVariables.svelte +3 -2
  352. package/package/components/flows/content/FlowLoop.svelte +3 -4
  353. package/package/components/flows/content/FlowModuleCache.svelte +1 -3
  354. package/package/components/flows/content/FlowModuleComponent.svelte +22 -6
  355. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  356. package/package/components/flows/content/FlowResult.svelte +77 -25
  357. package/package/components/flows/content/FlowRetries.svelte +1 -1
  358. package/package/components/flows/content/FlowSettings.svelte +4 -7
  359. package/package/components/flows/flowState.js +6 -0
  360. package/package/components/flows/flowStateUtils.svelte.js +4 -1
  361. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  362. package/package/components/flows/flowStore.svelte.js +4 -2
  363. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  364. package/package/components/flows/header/FlowYamlEditor.svelte +2 -2
  365. package/package/components/flows/map/FlowModuleSchemaMap.svelte +12 -6
  366. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -2
  367. package/package/components/flows/map/InsertModuleInner.svelte +7 -0
  368. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  369. package/package/components/flows/missingInputWarnings.js +7 -0
  370. package/package/components/flows/pickers/PickHubScriptQuick.svelte +4 -4
  371. package/package/components/flows/propPicker/OutputPicker.svelte +1 -1
  372. package/package/components/flows/propPicker/PropPickerWrapper.svelte +6 -9
  373. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
  374. package/package/components/flows/scheduleUtils.js +2 -2
  375. package/package/components/flows/types.d.ts +1 -3
  376. package/package/components/flows/utils.svelte.js +5 -1
  377. package/package/components/git_sync/GitSyncRepositoryCard.svelte +23 -21
  378. package/package/components/git_sync/GitSyncSection.svelte +24 -27
  379. package/package/components/graph/FlowGraphV2.svelte +1 -1
  380. package/package/components/graph/graphBuilder.svelte.d.ts +3 -1
  381. package/package/components/graph/model.d.ts +1 -1
  382. package/package/components/graph/renderers/nodes/AIToolNode.svelte +3 -1
  383. package/package/components/graph/renderers/nodes/AssetNode.svelte +25 -13
  384. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
  385. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +8 -0
  386. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
  387. package/package/components/home/Item.svelte +9 -15
  388. package/package/components/home/Item.svelte.d.ts +8 -7
  389. package/package/components/home/ItemsList.svelte +4 -10
  390. package/package/components/home/ItemsList.svelte.d.ts +1 -0
  391. package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
  392. package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/GoogleDriveIcon.svelte +30 -0
  394. package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
  395. package/package/components/icons/GoogleIcon.svelte +15 -6
  396. package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
  397. package/package/components/icons/MSSqlServerIcon.svelte +111 -47
  398. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
  399. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
  400. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
  401. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
  402. package/package/components/instanceSettings/IndexerMemorySettings.svelte +109 -0
  403. package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
  404. package/package/components/instanceSettings/SecretBackendConfig.svelte +15 -16
  405. package/package/components/instanceSettings/SettingCard.svelte +47 -0
  406. package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
  407. package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
  408. package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
  409. package/package/components/instanceSettings.d.ts +52 -0
  410. package/package/components/instanceSettings.js +413 -69
  411. package/package/components/meltComponents/MenuItem.svelte +1 -0
  412. package/package/components/meltComponents/Popover.svelte +10 -1
  413. package/package/components/meltComponents/Popover.svelte.d.ts +2 -0
  414. package/package/components/meltComponents/Tooltip.svelte +2 -1
  415. package/package/components/meltComponents/Tooltip.svelte.d.ts +1 -0
  416. package/package/components/moveRenameManager.d.ts +21 -0
  417. package/package/components/moveRenameManager.js +61 -0
  418. package/package/components/progressBar/ProgressBar.svelte +69 -27
  419. package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
  420. package/package/components/prop_picker.d.ts +0 -3
  421. package/package/components/propertyPicker/PropPicker.svelte +34 -49
  422. package/package/components/propertyPicker/PropPicker.svelte.d.ts +12 -11
  423. package/package/components/raw_apps/FileTreeNode.svelte +1 -0
  424. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +3 -2
  425. package/package/components/raw_apps/RawAppEditor.svelte +20 -16
  426. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
  427. package/package/components/raw_apps/RawAppEditorHeader.svelte +73 -7
  428. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
  429. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +1 -2
  430. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +41 -1
  431. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +0 -1
  432. package/package/components/raw_apps/RawAppSidebar.svelte +32 -284
  433. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -1
  434. package/package/components/raw_apps/RunnableRow.svelte +88 -34
  435. package/package/components/raw_apps/RunnableRow.svelte.d.ts +4 -0
  436. package/package/components/resources/resourcesFilter.d.ts +70 -0
  437. package/package/components/resources/resourcesFilter.js +61 -0
  438. package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
  439. package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
  440. package/package/components/runs/FlowExecutionStatus.svelte +30 -0
  441. package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
  442. package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
  443. package/package/components/runs/JobDetailFieldConfig.js +433 -0
  444. package/package/components/runs/JobDetailHeader.svelte +551 -0
  445. package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
  446. package/package/components/runs/JobRunsPreview.svelte +174 -218
  447. package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
  448. package/package/components/runs/JobStatusIcon.svelte +47 -0
  449. package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
  450. package/package/components/runs/RunBadges.svelte +39 -34
  451. package/package/components/runs/RunBadges.svelte.d.ts +2 -1
  452. package/package/components/runs/RunRow.svelte +24 -64
  453. package/package/components/runs/RunRow.svelte.d.ts +1 -2
  454. package/package/components/runs/RunsTable.svelte +312 -131
  455. package/package/components/runs/RunsTable.svelte.d.ts +4 -3
  456. package/package/components/runs/TimeframeSelect.svelte +189 -0
  457. package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
  458. package/package/components/runs/runsFilter.d.ts +201 -0
  459. package/package/components/runs/runsFilter.js +182 -0
  460. package/package/components/runs/useJobsLoader.svelte.d.ts +5 -7
  461. package/package/components/runs/useJobsLoader.svelte.js +27 -30
  462. package/package/components/schedules/schedulesFilter.d.ts +65 -0
  463. package/package/components/schedules/schedulesFilter.js +60 -0
  464. package/package/components/schema/EditableSchemaWrapper.svelte +43 -22
  465. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
  466. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  467. package/package/components/schema/PropertyEditor.svelte +1 -0
  468. package/package/components/schema/RunningJobSchemaPicker.svelte +1 -1
  469. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  470. package/package/components/scripts/CreateActionsScript.svelte +0 -1
  471. package/package/components/search/GlobalSearchModal.svelte +1 -8
  472. package/package/components/select/GenericDropdown.svelte +113 -0
  473. package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
  474. package/package/components/select/Select.svelte +17 -4
  475. package/package/components/select/Select.svelte.d.ts +2 -1
  476. package/package/components/select/SelectDropdown.svelte +76 -155
  477. package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
  478. package/package/components/settings/ChangeWorkspaceColor.svelte +7 -8
  479. package/package/components/settings/ChangeWorkspaceId.svelte +4 -6
  480. package/package/components/settings/ChangeWorkspaceName.svelte +6 -8
  481. package/package/components/settings/PremiumInfo.svelte +268 -128
  482. package/package/components/settings/SettingsPageHeader.svelte +22 -0
  483. package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
  484. package/package/components/settings/WorkspaceUserSettings.svelte +13 -23
  485. package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
  486. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
  487. package/package/components/sidebar/DarkModeToggle.svelte +2 -2
  488. package/package/components/sidebar/FavoriteMenu.svelte +101 -20
  489. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
  490. package/package/components/sidebar/MenuButton.svelte +10 -7
  491. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  492. package/package/components/sidebar/MenuLink.svelte +4 -3
  493. package/package/components/sidebar/OperatorMenu.svelte +3 -1
  494. package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
  495. package/package/components/sidebar/SidebarContent.svelte +3 -3
  496. package/package/components/sidebar/WorkspaceMenu.svelte +3 -2
  497. package/package/components/table/AutoDataTable.svelte +2 -2
  498. package/package/components/toast.js +1 -2
  499. package/package/components/triggers/AddTriggersButton.svelte +11 -0
  500. package/package/components/triggers/TriggerFilters.svelte +71 -0
  501. package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
  502. package/package/components/triggers/TriggersEditor.svelte +31 -11
  503. package/package/components/triggers/TriggersWrapper.svelte +10 -0
  504. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  505. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +7 -0
  506. package/package/components/triggers/kafka/utils.js +1 -0
  507. package/package/components/triggers/native/NativeTriggerEditor.svelte +22 -17
  508. package/package/components/triggers/native/NativeTriggerTable.svelte +16 -0
  509. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
  510. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
  511. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
  512. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
  513. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
  514. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
  515. package/package/components/triggers/native/utils.d.ts +0 -1
  516. package/package/components/triggers/native/utils.js +15 -1
  517. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +3 -3
  518. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  519. package/package/components/triggers/triggers.svelte.js +11 -3
  520. package/package/components/triggers/utils.js +33 -6
  521. package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
  522. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +3 -81
  523. package/package/components/triggers.d.ts +1 -1
  524. package/package/components/variables/variablesFilter.d.ts +56 -0
  525. package/package/components/variables/variablesFilter.js +51 -0
  526. package/package/components/waitJob.d.ts +1 -1
  527. package/package/components/waitJob.js +3 -2
  528. package/package/components/worker_group.d.ts +2 -0
  529. package/package/components/worker_group.js +15 -0
  530. package/package/components/workspaceSettings/AISettings.svelte +36 -42
  531. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
  532. package/package/components/workspaceSettings/CreateWorkspace.svelte +4 -4
  533. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +1 -2
  534. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -16
  535. package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
  536. package/package/components/workspaceSettings/DucklakeSettings.svelte +21 -15
  537. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -0
  538. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +24 -66
  539. package/package/components/workspaceSettings/ModelTokenLimits.svelte +6 -10
  540. package/package/components/workspaceSettings/OAuthClientConfig.svelte +46 -75
  541. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +8 -1
  542. package/package/components/workspaceSettings/RulesetEditor.svelte +280 -0
  543. package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
  544. package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
  545. package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
  546. package/package/components/workspaceSettings/StorageSettings.svelte +48 -34
  547. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  548. package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
  549. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +237 -73
  550. package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
  551. package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
  552. package/package/editorLangUtils.d.ts +1 -1
  553. package/package/gen/core/OpenAPI.js +1 -1
  554. package/package/gen/schemas.gen.d.ts +996 -70
  555. package/package/gen/schemas.gen.js +1352 -378
  556. package/package/gen/services.gen.d.ts +156 -41
  557. package/package/gen/services.gen.js +319 -83
  558. package/package/gen/types.gen.d.ts +1896 -317
  559. package/package/hub.d.ts +1 -0
  560. package/package/hub.js +7 -0
  561. package/package/hubPaths.json +2 -1
  562. package/package/infer.d.ts +2 -0
  563. package/package/mcpEndpointTools.d.ts +3 -0
  564. package/package/mcpEndpointTools.js +574 -147
  565. package/package/rawAppWmillTs.js +12 -11
  566. package/package/scripts.d.ts +1 -1
  567. package/package/scripts.js +1 -1
  568. package/package/storeUtils.js +8 -0
  569. package/package/stores.d.ts +1 -1
  570. package/package/stores.js +4 -2
  571. package/package/svelte5Utils.svelte.d.ts +40 -0
  572. package/package/svelte5Utils.svelte.js +158 -0
  573. package/package/svelte5UtilsKit.svelte.d.ts +13 -3
  574. package/package/svelte5UtilsKit.svelte.js +96 -20
  575. package/package/system_prompts/prompts.d.ts +5 -5
  576. package/package/system_prompts/prompts.js +94 -21
  577. package/package/toast.d.ts +5 -1
  578. package/package/toast.js +14 -5
  579. package/package/utils.js +214 -7
  580. package/package/utils_deployable.d.ts +25 -25
  581. package/package/utils_deployable.js +2 -1
  582. package/package/validators/workspaceSettings.d.ts +12 -0
  583. package/package/validators/workspaceSettings.js +72 -0
  584. package/package/workspaceProtectionRules.svelte.d.ts +73 -0
  585. package/package/workspaceProtectionRules.svelte.js +176 -0
  586. package/package.json +8 -5
  587. package/package/components/DropdownSelect.svelte +0 -26
  588. package/package/components/DropdownSelect.svelte.d.ts +0 -11
  589. package/package/components/FlowPreviewResult.svelte +0 -84
  590. package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
  591. package/package/components/copilot/chat/context.d.ts +0 -119
  592. package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
  593. package/package/components/flows/propPicker/FlowPropPicker.svelte.d.ts +0 -23
  594. package/package/components/runs/ManuelDatePicker.svelte +0 -96
  595. package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
  596. package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
  597. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
  598. package/package/components/runs/RunsFilter.svelte +0 -966
  599. package/package/components/runs/RunsFilter.svelte.d.ts +0 -80
@@ -18,7 +18,8 @@ import { refreshStateStore } from '../../../svelte5Utils.svelte';
18
18
  import FlowStickyNode from './FlowStickyNode.svelte';
19
19
  import { getStepHistoryLoaderContext } from '../../stepHistoryLoader.svelte';
20
20
  import { ModulesTestStates } from '../../modulesTest.svelte';
21
- import { flowModuleToAgentTool, createMcpTool, createWebsearchTool } from '../agentToolUtils';
21
+ import { flowModuleToAgentTool, createMcpTool, createWebsearchTool, createAiAgentTool, SPECIAL_TOOL_KINDS, agentToolToFlowModule } from '../agentToolUtils';
22
+ import { loadFlowModuleState } from '../flowStateUtils.svelte';
22
23
  import { getNoteEditorContext } from '../../graph/noteEditor.svelte';
23
24
  let { sidebarSize = $bindable(undefined), disableStaticInputs = false, disableTutorials = false, disableAi = false, disableSettings = false, newFlow = false, smallErrorHandler = false, workspace = $workspaceStore, onTestUpTo, onEditInput, localModuleStates = {}, testModuleStates = new ModulesTestStates(), aiChatOpen, showFlowAiButton, toggleAiChat, isOwner, onTestFlow, isRunning, onCancelTestFlow, onOpenPreview, onHideJobStatus, individualStepTests = false, flowJob = undefined, showJobStatus = false, suspendStatus = $bindable({ val: {} }), onDelete, flowHasChanged } = $props();
24
25
  const { customUi, selectionManager, moving, history, flowStateStore, flowStore, pathStore } = getContext('FlowEditorContext');
@@ -98,6 +99,13 @@ export async function insertNewModuleAtIndex(modules, index, kind, wsScript, wsF
98
99
  modules.splice(index, 0, websearchTool);
99
100
  return modules;
100
101
  }
102
+ else if (toolKind === 'aiAgentTool') {
103
+ // Create AI Agent tool (nested agent)
104
+ const aiAgentTool = createAiAgentTool(module.id);
105
+ flowStateStore.val[module.id] = await loadFlowModuleState(agentToolToFlowModule(aiAgentTool));
106
+ modules.splice(index, 0, aiAgentTool);
107
+ return modules;
108
+ }
101
109
  else if (toolKind === 'flowmoduleTool') {
102
110
  // Create AgentTool from FlowModule
103
111
  const agentTool = flowModuleToAgentTool(module);
@@ -426,11 +434,9 @@ $effect(() => {
426
434
  }
427
435
  } else {
428
436
  const index = (detail.agentId ? targetModules?.length : detail.index) ?? 0
429
- const toolKind = detail.agentId
430
- ? detail.kind === 'mcpTool'
431
- ? 'mcpTool'
432
- : detail.kind === 'websearchTool'
433
- ? 'websearchTool'
437
+ const toolKind: SpecialToolKind | 'flowmoduleTool' | undefined = detail.agentId
438
+ ? (SPECIAL_TOOL_KINDS as readonly string[]).includes(detail.kind)
439
+ ? (detail.kind as SpecialToolKind)
434
440
  : 'flowmoduleTool'
435
441
  : undefined
436
442
 
@@ -3,7 +3,7 @@ import type { InlineScript, InsertKind } from '../../graph/graphBuilder.svelte';
3
3
  import type { GraphModuleState } from '../../graph';
4
4
  import { ModulesTestStates } from '../../modulesTest.svelte';
5
5
  import type { StateStore } from '../../../utils';
6
- import { type AgentTool } from '../agentToolUtils';
6
+ import { type AgentTool, type SpecialToolKind } from '../agentToolUtils';
7
7
  interface Props {
8
8
  sidebarSize?: number | undefined;
9
9
  disableStaticInputs?: boolean;
@@ -63,7 +63,7 @@ declare const FlowModuleSchemaMap: $$__sveltets_2_IsomorphicComponent<Props, {
63
63
  }, wsFlow?: {
64
64
  path: string;
65
65
  summary: string;
66
- }, inlineScript?: InlineScript, toolKind?: "mcpTool" | "flowmoduleTool" | "websearchTool") => Promise<FlowModule[] | AgentTool[]>;
66
+ }, inlineScript?: InlineScript, toolKind?: SpecialToolKind | "flowmoduleTool") => Promise<FlowModule[] | AgentTool[]>;
67
67
  removeAtId: (modules: FlowModule[], id: string) => FlowModule[];
68
68
  selectNextId: (id: any) => void;
69
69
  addBranch: (id: string) => Promise<void>;
@@ -80,6 +80,13 @@ let displayPath = $derived(width > 650 || height > 400);
80
80
  dispatch('close')
81
81
  }}
82
82
  />
83
+ <TopLevelNode
84
+ label="AI Agent"
85
+ onSelect={() => {
86
+ dispatch('pickAiAgentTool')
87
+ dispatch('close')
88
+ }}
89
+ />
83
90
  {:else}
84
91
  {#if customUi?.triggers != false && allowTrigger}
85
92
  <TopLevelNode
@@ -27,6 +27,7 @@ declare const InsertModuleInner: $$__sveltets_2_IsomorphicComponent<Props, {
27
27
  close: CustomEvent<any>;
28
28
  pickMcpTool: CustomEvent<any>;
29
29
  pickWebsearchTool: CustomEvent<any>;
30
+ pickAiAgentTool: CustomEvent<any>;
30
31
  } & {
31
32
  [evt: string]: CustomEvent<any>;
32
33
  }, {}, {}, "funcDesc">;
@@ -1,5 +1,6 @@
1
1
  import { parseOutputs } from '../../infer';
2
2
  import { dfs } from './dfs';
3
+ const isAiTransform = (transform) => transform?.type === 'ai';
3
4
  function isInputFilled(inputTransforms, key, schema) {
4
5
  const required = schema?.required?.includes(key) ?? false;
5
6
  if (!required) {
@@ -7,6 +8,9 @@ function isInputFilled(inputTransforms, key, schema) {
7
8
  }
8
9
  if (inputTransforms.hasOwnProperty(key)) {
9
10
  const transform = inputTransforms[key];
11
+ if (isAiTransform(transform)) {
12
+ return true;
13
+ }
10
14
  if (transform?.type === 'static' &&
11
15
  (transform?.value === undefined || transform?.value === '' || transform?.value === null)) {
12
16
  return false;
@@ -19,6 +23,9 @@ function isInputFilled(inputTransforms, key, schema) {
19
23
  return true;
20
24
  }
21
25
  async function isConnectedToMissingModule(argName, input_transform, moduleIds) {
26
+ if (isAiTransform(input_transform)) {
27
+ return undefined;
28
+ }
22
29
  const val = input_transform.type === 'static' ? String(input_transform.value) : input_transform.expr;
23
30
  try {
24
31
  const outputs = await parseOutputs(val, true);
@@ -10,7 +10,7 @@ let listHubScriptsCached = createCache(async ({ filter, kind, appFilter }) => {
10
10
  : undefined;
11
11
  }
12
12
  catch (err) {
13
- console.error('Error fetching top hub scripts');
13
+ sendUserToast('Failed to fetch hub scripts: ' + err, 'error');
14
14
  return undefined;
15
15
  }
16
16
  }, {
@@ -21,7 +21,7 @@ let listHubScriptsCached = createCache(async ({ filter, kind, appFilter }) => {
21
21
 
22
22
  <script lang="ts">import { createEventDispatcher, untrack } from 'svelte';
23
23
  import { Skeleton } from '../../common';
24
- import { classNames, createCache } from '../../../utils';
24
+ import { classNames, createCache, sendUserToast } from '../../../utils';
25
25
  import { APP_TO_ICON_COMPONENT } from '../../icons';
26
26
  import { IntegrationService, ScriptService } from '../../../gen';
27
27
  import { Circle, ExternalLink } from 'lucide-svelte';
@@ -48,7 +48,7 @@ async function getAllApps(filterKind) {
48
48
  allApps = (await listHubIntegrationsCached({ kind: filterKind, refreshCount })).map((x) => x.name);
49
49
  }
50
50
  catch (err) {
51
- console.error('Hub is not available');
51
+ sendUserToast('Failed to fetch hub integrations: ' + err, 'error');
52
52
  allApps = [];
53
53
  hubNotAvailable = true;
54
54
  }
@@ -80,7 +80,7 @@ async function handlePickScript(item) {
80
80
  await ScriptService.pickHubScriptByPath({ path: item.path });
81
81
  }
82
82
  catch (error) {
83
- console.error('Failed to track hub script pick:', error);
83
+ sendUserToast('Failed to call ScriptService.pickHubScriptByPath: ' + error, 'error');
84
84
  // Don't block the flow if tracking fails
85
85
  }
86
86
  }
@@ -14,7 +14,7 @@ const MIN_HEIGHT = 375;
14
14
  let outputOpen = $state(false);
15
15
  let inputOpen = $state(false);
16
16
  const zoom = $derived.by(useSvelteFlow().getZoom);
17
- let showConnecting = $derived(isConnectingCandidate && $flowPropPickerConfig?.insertionMode === 'connect');
17
+ let showConnecting = $derived(isConnectingCandidate && $flowPropPickerConfig != undefined);
18
18
  function selectConnection(value) {
19
19
  if ($flowPropPickerConfig?.onSelect(value)) {
20
20
  $flowPropPickerConfig?.clearFocus();
@@ -19,10 +19,9 @@ let flow_env = $derived(pickableProperties?.flow_env || flowStore.val.value.flow
19
19
  setContext('PropPickerWrapper', {
20
20
  propPickerConfig,
21
21
  inputMatches,
22
- focusProp: (propName, insertionMode, onSelect) => {
22
+ connectProp: (propName, onSelect) => {
23
23
  const config = {
24
24
  propName,
25
- insertionMode,
26
25
  onSelect,
27
26
  clearFocus: () => {
28
27
  propPickerConfig.set(undefined);
@@ -40,10 +39,11 @@ setContext('PropPickerWrapper', {
40
39
  });
41
40
  }
42
41
  },
43
- clearFocus: () => {
42
+ clearConnect: () => {
44
43
  flowPropPickerConfig.set(undefined);
45
44
  propPickerConfig.set(undefined);
46
- }
45
+ },
46
+ exprBeingEdited: writable([])
47
47
  });
48
48
  async function getPropPickerElements() {
49
49
  return Array.from(document.querySelectorAll('[data-prop-picker], [data-prop-picker] *'));
@@ -72,14 +72,11 @@ let rightPaneHeight = $state(0);
72
72
  <Pane minSize={20} size={40} class="!transition-none z-1000 relative {paneClass}">
73
73
  <div bind:clientHeight={rightPaneHeight} class="min-h-40 h-full !bg-surface-secondary">
74
74
  <AnimatedButton
75
- animate={$propPickerConfig?.insertionMode == 'connect'}
75
+ animate={$propPickerConfig != undefined}
76
76
  baseRadius="4px"
77
77
  wrapperClasses="prop-picker-inputs h-full w-full pt-1"
78
78
  marginWidth="3px"
79
- ringColor={$propPickerConfig?.insertionMode == 'insert' ||
80
- $propPickerConfig?.insertionMode == 'append'
81
- ? '#3b82f6'
82
- : 'transparent'}
79
+ ringColor="transparent"
83
80
  animationDuration="4s"
84
81
  >
85
82
  {#if result != undefined && !pickableProperties}
@@ -4,7 +4,6 @@ export type PropPickerConfig = {
4
4
  propName?: string;
5
5
  onSelect: SelectCallback;
6
6
  clearFocus: () => void;
7
- insertionMode: 'append' | 'connect' | 'insert';
8
7
  };
9
8
  export type PropPickerWrapperContext = {
10
9
  propPickerConfig: Writable<PropPickerConfig | undefined>;
@@ -12,8 +11,9 @@ export type PropPickerWrapperContext = {
12
11
  word: string;
13
12
  value: string;
14
13
  }[] | undefined>;
15
- focusProp: (propName: string, insertionMode: 'append' | 'connect' | 'insert', onSelect: SelectCallback) => void;
16
- clearFocus: () => void;
14
+ connectProp: (propName: string, onSelect: SelectCallback) => void;
15
+ clearConnect: () => void;
16
+ exprBeingEdited: Writable<string[]>;
17
17
  };
18
18
  import { type Writable } from 'svelte/store';
19
19
  import type { PickableProperties } from '../previousResults';
@@ -17,7 +17,7 @@ export async function loadSchedule(path, workspace) {
17
17
  path
18
18
  });
19
19
  return {
20
- summary: schedule.summary,
20
+ summary: schedule.summary ?? undefined,
21
21
  enabled: schedule.enabled,
22
22
  cron: schedule.schedule,
23
23
  timezone: schedule.timezone,
@@ -48,7 +48,7 @@ export async function loadSchedules(forceRefresh, path, isFlow, schedules, prima
48
48
  else {
49
49
  remotePrimarySchedule = primary
50
50
  ? {
51
- summary: primary.summary,
51
+ summary: primary.summary ?? undefined,
52
52
  args: primary.args ?? {},
53
53
  cron: primary.schedule,
54
54
  timezone: primary.timezone,
@@ -11,10 +11,9 @@ import type { StateStore } from '../../utils';
11
11
  import type { StepsInputArgs } from './stepsInputArgs.svelte';
12
12
  import type { Asset, AssetWithAccessType } from '../assets/lib';
13
13
  import type S3FilePicker from '../S3FilePicker.svelte';
14
- import type DbManagerDrawer from '../DBManagerDrawer.svelte';
15
14
  import type ResourceEditorDrawer from '../ResourceEditorDrawer.svelte';
16
15
  import type { ModulesTestStates } from '../modulesTest.svelte';
17
- import type { ButtonProp } from '../DiffEditor.svelte';
16
+ import type { ButtonProp } from '../diffEditorTypes';
18
17
  import type { SelectionManager } from '../graph/selectionUtils.svelte';
19
18
  import type { InferAssetsSqlQueryDetails } from '../../infer';
20
19
  export type FlowInput = Record<string, {
@@ -78,7 +77,6 @@ export type FlowEditorContext = {
78
77
  export type FlowGraphAssetContext = StateStore<{
79
78
  selectedAsset: Asset | undefined;
80
79
  s3FilePicker: S3FilePicker | undefined;
81
- dbManagerDrawer: DbManagerDrawer | undefined;
82
80
  resourceEditorDrawer: ResourceEditorDrawer | undefined;
83
81
  resourceMetadataCache: Record<string, {
84
82
  resource_type?: string;
@@ -27,7 +27,7 @@ export function evalValue(k, mod, pickableProperties, showError) {
27
27
  if (t.type == 'static') {
28
28
  v = t.value;
29
29
  }
30
- else {
30
+ else if (t.type == 'javascript') {
31
31
  try {
32
32
  let context = {
33
33
  flow_input: pickableProperties?.flow_input,
@@ -42,6 +42,9 @@ export function evalValue(k, mod, pickableProperties, showError) {
42
42
  v = undefined;
43
43
  }
44
44
  }
45
+ else {
46
+ v = undefined;
47
+ }
45
48
  if (v === NEVER_TESTED_THIS_FAR) {
46
49
  v = undefined;
47
50
  }
@@ -100,6 +103,7 @@ export function cleanFlow(flow) {
100
103
  if (memoryTransform?.type === 'static' && memoryTransform.value) {
101
104
  const memoryValue = memoryTransform.value;
102
105
  if (memoryValue.kind === 'auto' &&
106
+ memoryValue.context_length &&
103
107
  memoryValue.context_length > 0 &&
104
108
  !memoryValue.memory_id) {
105
109
  memoryTransform.value = {
@@ -301,7 +301,7 @@ function handlePullSettings() {
301
301
  <div class="space-y-4">
302
302
  <!-- Resource Picker -->
303
303
  <div class="flex gap-2 items-center">
304
- <div class="font-semibold">Resource:</div>
304
+ <div class="font-semibold text-xs text-emphasis">Resource:</div>
305
305
  <div class="flex-1">
306
306
  <ResourcePicker
307
307
  bind:value={repo.git_repo_resource_path}
@@ -324,7 +324,7 @@ function handlePullSettings() {
324
324
 
325
325
  <!-- Display resource info when disabled (saved connection) -->
326
326
  {#if !repo.isUnsavedConnection && repo.git_repo_resource_path}
327
- <div class="ml-2 text-xs">
327
+ <div class="text-xs">
328
328
  {#if loadingResourceInfo}
329
329
  <div class="flex items-center gap-1 text-secondary">
330
330
  <RotateCw size={12} class="animate-spin" />
@@ -332,7 +332,7 @@ function handlePullSettings() {
332
332
  </div>
333
333
  {:else if resourceInfo?.url}
334
334
  <div class="flex items-center gap-2 text-secondary">
335
- <span class="font-medium">Git URL:</span>
335
+ <span class="text-xs text-secondary">Git URL:</span>
336
336
  <code class="bg-surface-secondary px-2 py-1 rounded text-primary"
337
337
  >{resourceInfo.url}</code
338
338
  >
@@ -479,17 +479,18 @@ function handlePullSettings() {
479
479
 
480
480
  {#if shouldShowEmptyState}
481
481
  <!-- Empty State for Primary Variants -->
482
- <div class="rounded-lg border bg-surface p-4 mb-4">
482
+ <div class="rounded-md shadow-sm bg-surface-tertiary p-4 mb-4">
483
483
  <div class="flex items-center justify-between mb-4">
484
484
  <div class="flex flex-col">
485
485
  <h3 class="text-xs font-semibold text-emphasis">{displayTitle}</h3>
486
486
  {#if displayDescription}
487
- <p class="text-2xs text-secondary">{displayDescription}
488
- {#if mode === 'promotion'}
489
- <a target="_blank" href="https://www.windmill.dev/docs/advanced/deploy_gh_gl"
490
- >Learn more about Git Promotion</a
491
- >
492
- {/if}
487
+ <p class="text-2xs text-secondary"
488
+ >{displayDescription}
489
+ {#if mode === 'promotion'}
490
+ <a target="_blank" href="https://www.windmill.dev/docs/advanced/deploy_gh_gl"
491
+ >Learn more about Git Promotion</a
492
+ >
493
+ {/if}
493
494
  </p>
494
495
  {/if}
495
496
  </div>
@@ -519,23 +520,24 @@ function handlePullSettings() {
519
520
  {:else if repo}
520
521
  {#if variant === 'primary-sync' || variant === 'primary-promotion'}
521
522
  <!-- Primary Repository Layout -->
522
- <div class="rounded-lg border bg-surface p-4 mb-4">
523
- <div class="flex items-center justify-between mb-4">
524
- <div class="flex flex-col">
525
- <h3 class="text-xl font-semibold">{displayTitle}</h3>
526
- {#if displayDescription}
527
- <p class="text-sm text-secondary">{displayDescription}</p>
528
- {/if}
529
- </div>
530
- <div class="flex items-center gap-2">
531
- {@render headerActions()}
523
+ <div class="rounded-md shadow-sm bg-surface-tertiary p-4 mb-4">
524
+ <div class="flex flex-col mb-4 gap-2">
525
+ <div class="flex items-center justify-between">
526
+ <h3 class="text-sm font-semibold">{displayTitle}</h3>
527
+
528
+ <div class="flex items-center gap-2">
529
+ {@render headerActions()}
530
+ </div>
532
531
  </div>
532
+ {#if displayDescription}
533
+ <p class="text-xs text-secondary">{displayDescription}</p>
534
+ {/if}
533
535
  </div>
534
536
  {@render repositoryContent()}
535
537
  </div>
536
538
  {:else}
537
539
  <!-- Standard Repository Card Layout -->
538
- <div class="rounded-lg shadow-sm border p-0 w-full mb-4">
540
+ <div class="rounded-md shadow-sm bg-surface-tertiary p-0 w-full mb-4">
539
541
  <div class="flex items-center justify-between min-h-10 px-4 py-1 border-b">
540
542
  <div class="flex items-center gap-2">
541
543
  <span class="text-lg font-semibold">{displayTitle}</span>
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import { ExternalLink, ChevronDown, ChevronRight, Plus } from 'lucide-svelte';
2
2
  import { Button, Alert } from '../common';
3
- import Description from '../Description.svelte';
3
+ import SettingsPageHeader from '../settings/SettingsPageHeader.svelte';
4
4
  import { setGitSyncContext } from './GitSyncContext.svelte';
5
5
  import GitSyncRepositoryCard from './GitSyncRepositoryCard.svelte';
6
6
  import GitSyncModalManager from './GitSyncModalManager.svelte';
@@ -45,19 +45,28 @@ const hasUnsavedSecondaryPromotion = $derived(secondaryPromotion.some((s) => s.r
45
45
  <div class="text-sm text-secondary">Loading git sync settings...</div>
46
46
  </div>
47
47
  {:else}
48
- <div class="flex flex-col gap-4 my-8">
49
- <div class="flex flex-col gap-1">
50
- <div class="text-emphasis text-sm font-semibold">Git Sync</div>
51
- <Description link="https://www.windmill.dev/docs/advanced/git_sync">
52
- Connect the Windmill workspace to a Git repository to automatically commit and push scripts,
53
- flows, and apps to the repository on each deploy.
54
- </Description>
55
- </div>
56
- <Alert type="info" title="Only new updates trigger git sync">
57
- Only new changes matching the filters will trigger a git sync. You still need to initialize
58
- the repo to the desired state first.
59
- </Alert>
60
- </div>
48
+ <SettingsPageHeader
49
+ title="Git Sync"
50
+ description="Connect the Windmill workspace to a Git repository to automatically commit and push scripts, flows, and apps to the repository on each deploy."
51
+ link="https://www.windmill.dev/docs/advanced/git_sync"
52
+ >
53
+ {#snippet actions()}
54
+ {#if $enterpriseLicense && gitSyncContext.repositories != undefined}
55
+ <Button
56
+ variant="accent"
57
+ target="_blank"
58
+ endIcon={{ icon: ExternalLink }}
59
+ href={`/runs?job_kinds=deploymentcallbacks&workspace=${$workspaceStore}`}
60
+ >
61
+ See sync jobs
62
+ </Button>
63
+ {/if}
64
+ {/snippet}
65
+ </SettingsPageHeader>
66
+ <Alert type="info" title="Only new updates trigger git sync">
67
+ Only new changes matching the filters will trigger a git sync. You still need to initialize the
68
+ repo to the desired state first.
69
+ </Alert>
61
70
  {#if !$enterpriseLicense}
62
71
  <div class="mb-2"></div>
63
72
 
@@ -67,20 +76,8 @@ const hasUnsavedSecondaryPromotion = $derived(secondaryPromotion.some((s) => s.r
67
76
  <div class="mb-2"></div>
68
77
  {/if}
69
78
  {#if $enterpriseLicense && gitSyncContext.repositories != undefined}
70
- <div class="flex mt-5 mb-5 gap-8">
71
- <Button
72
- variant="accent"
73
- target="_blank"
74
- endIcon={{ icon: ExternalLink }}
75
- href={`/runs?job_kinds=deploymentcallbacks&workspace=${$workspaceStore}`}
76
- >
77
- See sync jobs
78
- </Button>
79
- </div>
80
- <div class="pt-2"></div>
81
-
82
79
  <!-- Primary Sync Repository -->
83
- <div class="space-y-4">
80
+ <div class="space-y-6 pt-6">
84
81
  <GitSyncRepositoryCard
85
82
  variant="primary-sync"
86
83
  mode="sync"
@@ -657,7 +657,7 @@ const modifierKey = isMac() ? 'Meta' : 'Control';
657
657
  {height}
658
658
  {width}
659
659
  minZoom={0.2}
660
- maxZoom={1.2}
660
+ maxZoom={1.6}
661
661
  connectionLineType={ConnectionLineType.SmoothStep}
662
662
  defaultEdgeOptions={{ type: 'smoothstep' }}
663
663
  preventScrolling={scroll}
@@ -4,7 +4,7 @@ import type { GraphModuleState } from './model';
4
4
  import { type AssetWithAltAccessType } from '../assets/lib';
5
5
  import type { ModulesTestStates, ModuleTestState } from '../modulesTest.svelte';
6
6
  import type { ModuleActionInfo } from '../flows/flowDiff';
7
- export type InsertKind = 'script' | 'forloop' | 'whileloop' | 'branchone' | 'branchall' | 'flow' | 'trigger' | 'approval' | 'end' | 'aiagent' | 'mcpTool' | 'websearchTool';
7
+ export type InsertKind = 'script' | 'forloop' | 'whileloop' | 'branchone' | 'branchall' | 'flow' | 'trigger' | 'approval' | 'end' | 'aiagent' | 'mcpTool' | 'websearchTool' | 'aiAgentTool';
8
8
  export type InlineScript = {
9
9
  language: RawScript['language'];
10
10
  kind: Script['kind'];
@@ -253,12 +253,14 @@ export type AssetN = {
253
253
  type: 'asset';
254
254
  data: {
255
255
  asset: AssetWithAltAccessType;
256
+ displayedAccessType: 'r' | 'w';
256
257
  };
257
258
  };
258
259
  export type AssetsOverflowedN = {
259
260
  type: 'assetsOverflowed';
260
261
  data: {
261
262
  overflowedAssets: AssetWithAltAccessType[];
263
+ displayedAccessType: 'r' | 'w';
262
264
  };
263
265
  };
264
266
  export type AiToolN = {
@@ -35,7 +35,7 @@ export type FlowStatusViewerContext = {
35
35
  hideTimeline?: boolean;
36
36
  hideNodeDefinition?: boolean;
37
37
  hideJobId?: boolean;
38
- hideDownloadLogs: any;
38
+ hideDownloadLogs?: boolean;
39
39
  };
40
40
  export type GraphModuleState = {
41
41
  type: FlowStatusModule['type'];
@@ -205,7 +205,7 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
205
205
  </script>
206
206
 
207
207
  <script lang="ts">import NodeWrapper from './NodeWrapper.svelte';
208
- import { Globe, MessageCircle, Play, Plug, Wrench, X } from 'lucide-svelte';
208
+ import { Bot, Globe, MessageCircle, Play, Plug, Wrench, X } from 'lucide-svelte';
209
209
  import { twMerge } from 'tailwind-merge';
210
210
  import { getNodeColorClasses } from '../../util';
211
211
  import { deepEqual } from 'fast-equals';
@@ -242,6 +242,8 @@ let colorClasses = $derived(getNodeColorClasses(!validateToolName(data.tool, dat
242
242
  <Globe size={16} class="ml-1 shrink-0" />
243
243
  {:else if data.type === 'mcp'}
244
244
  <Plug size={16} class="ml-1 shrink-0" />
245
+ {:else if data.type === 'aiagent'}
246
+ <Bot size={16} class="ml-1 shrink-0" />
245
247
  {:else}
246
248
  <Wrench size={16} class="ml-1 shrink-0" />
247
249
  {/if}
@@ -37,7 +37,7 @@ export function computeAssetNodes(nodes) {
37
37
  // All asset nodes displayed on top
38
38
  const inputAssetNodes = displayedInputAssets.map((asset, i) => {
39
39
  let inputAssetXGap = 12;
40
- let inputAssetWidth = 150;
40
+ let inputAssetWidth = 165;
41
41
  const targetRowW = MAX_ASSET_ROW_WIDTH -
42
42
  (overflowedInputAssets.length ? ASSETS_OVERFLOWED_NODE_WIDTH + inputAssetXGap / 2 : 0);
43
43
  let totalInputRowWidth = () => inputAssetWidth * displayedInputAssets.length +
@@ -50,7 +50,7 @@ export function computeAssetNodes(nodes) {
50
50
  return {
51
51
  type: 'asset',
52
52
  parentId: node.id,
53
- data: { asset },
53
+ data: { asset, displayedAccessType: 'r' },
54
54
  id: `${node.id}-asset-in-${asset.kind}-${asset.path}`,
55
55
  width: inputAssetWidth,
56
56
  position: {
@@ -69,7 +69,7 @@ export function computeAssetNodes(nodes) {
69
69
  // All asset nodes displayed on the bottom
70
70
  const outputAssetNodes = displayedOutputAssets.map((asset, i) => {
71
71
  let outputAssetXGap = 12;
72
- let outputAssetWidth = 150;
72
+ let outputAssetWidth = 165;
73
73
  const targetRowW = MAX_ASSET_ROW_WIDTH -
74
74
  (overflowedOutputAssets.length ? ASSETS_OVERFLOWED_NODE_WIDTH + outputAssetXGap / 2 : 0);
75
75
  let totalOutputRowWidth = () => outputAssetWidth * displayedOutputAssets.length +
@@ -82,7 +82,7 @@ export function computeAssetNodes(nodes) {
82
82
  return {
83
83
  type: 'asset',
84
84
  parentId: node.id,
85
- data: { asset },
85
+ data: { asset, displayedAccessType: 'w' },
86
86
  id: `${node.id}-asset-out-${asset.kind}-${asset.path}`,
87
87
  width: outputAssetWidth,
88
88
  position: {
@@ -118,7 +118,7 @@ export function computeAssetNodes(nodes) {
118
118
  if (overflowedInputAssets.length)
119
119
  allAssetNodes.push({
120
120
  type: 'assetsOverflowed',
121
- data: { overflowedAssets: overflowedInputAssets },
121
+ data: { overflowedAssets: overflowedInputAssets, displayedAccessType: 'r' },
122
122
  id: `${node.id}-assets-overflowed-in`,
123
123
  parentId: node.id,
124
124
  width: ASSETS_OVERFLOWED_NODE_WIDTH,
@@ -137,7 +137,7 @@ export function computeAssetNodes(nodes) {
137
137
  if (overflowedOutputAssets.length)
138
138
  allAssetNodes.push({
139
139
  type: 'assetsOverflowed',
140
- data: { overflowedAssets: overflowedOutputAssets },
140
+ data: { overflowedAssets: overflowedOutputAssets, displayedAccessType: 'w' },
141
141
  id: `${node.id}-assets-overflowed-out`,
142
142
  parentId: node.id,
143
143
  width: ASSETS_OVERFLOWED_NODE_WIDTH,
@@ -190,29 +190,32 @@ import { Tooltip } from '../../../meltComponents';
190
190
  import { clone, pluralize } from '../../../../utils';
191
191
  import AssetGenericIcon from '../../../icons/AssetGenericIcon.svelte';
192
192
  import { getNodeColorClasses, NODE } from '../../util';
193
- import { userStore } from '../../../../stores';
193
+ import { globalDbManagerDrawer, userStore } from '../../../../stores';
194
194
  import { deepEqual } from 'fast-equals';
195
195
  import { slide } from 'svelte/transition';
196
+ import AssetColumnBadges from '../../../assets/AssetColumnBadges.svelte';
196
197
  const flowGraphAssetsCtx = getContext('FlowGraphAssetContext');
197
198
  let { data } = $props();
198
199
  const isSelected = $derived(assetEq(flowGraphAssetsCtx?.val.selectedAsset, data.asset));
199
200
  const cachedResourceMetadata = $derived.by(() => {
200
201
  if (data.asset.kind !== 'resource')
201
202
  return undefined;
202
- let truncatedPath = data.asset.path.split('/').slice(0, 3).join('/');
203
+ let truncatedPath = data.asset.path.split('?table=')[0];
203
204
  return flowGraphAssetsCtx?.val.resourceMetadataCache[truncatedPath];
204
205
  });
205
206
  const usageCount = $derived(flowGraphAssetsCtx?.val.computeAssetsCount?.(data.asset));
206
207
  const colors = $derived(getNodeColorClasses(undefined, isSelected));
208
+ let assetColumns = $derived(data.asset.columns &&
209
+ Object.fromEntries(Object.entries(data.asset.columns).filter(([_, accessType]) => accessType && accessType === data.displayedAccessType)));
207
210
  </script>
208
211
 
209
212
  <NodeWrapper wrapperClass="bg-surface-secondary rounded-md">
210
213
  {#snippet children({ darkMode })}
211
214
  <!-- svelte-ignore a11y_no_static_element_interactions -->
212
- <Tooltip>
215
+ <Tooltip customBgClass="bg-surface-tertiary">
213
216
  <div
214
217
  class={twMerge(
215
- 'h-6 flex items-center gap-1.5 rounded-md drop-shadow-base overflow-clip transition-colors',
218
+ 'h-6 flex items-center rounded-md drop-shadow-base overflow-clip transition-colors',
216
219
  colors.outline,
217
220
  colors.text,
218
221
  colors.bg
@@ -224,11 +227,19 @@ const colors = $derived(getNodeColorClasses(undefined, isSelected));
224
227
  >
225
228
  <AssetGenericIcon
226
229
  assetKind={data.asset.kind}
227
- class="shrink-0 ml-1 {isSelected ? 'text-accent' : 'text-tertiary'}"
230
+ class="shrink-0 ml-1 mr-1.5 {isSelected ? 'text-accent' : 'text-tertiary'}"
228
231
  size="16px"
229
232
  />
230
- <span class="text-3xs truncate flex-1">
233
+ <span
234
+ class="text-3xs truncate flex-1 flex items-center gap-1 [mask-image:linear-gradient(to_right,black_85%,transparent)] mr-0.5"
235
+ >
231
236
  {formatShortAssetPath(data.asset)}
237
+ <AssetColumnBadges
238
+ columns={assetColumns}
239
+ disableTooltip
240
+ disableWrap
241
+ badgeClasses="text-3xs transition-opacity opacity-50 {isSelected ? 'opacity-0' : ''}"
242
+ />
232
243
  </span>
233
244
  {#if data.asset.kind === 'resource' && cachedResourceMetadata === undefined}
234
245
  <Tooltip class={'pr-1 flex items-center justify-center'}>
@@ -243,7 +254,7 @@ const colors = $derived(getNodeColorClasses(undefined, isSelected));
243
254
  noText
244
255
  buttonVariant="accent"
245
256
  s3FilePicker={flowGraphAssetsCtx?.val.s3FilePicker}
246
- dbManagerDrawer={flowGraphAssetsCtx?.val.dbManagerDrawer}
257
+ dbManagerDrawer={globalDbManagerDrawer.val}
247
258
  _resourceMetadata={cachedResourceMetadata}
248
259
  />
249
260
  </div>
@@ -269,6 +280,7 @@ const colors = $derived(getNodeColorClasses(undefined, isSelected));
269
280
  <span class="text-hint text-xs">
270
281
  {formatAssetKind({ ...data.asset, metadata: cachedResourceMetadata })}</span
271
282
  >
283
+ <AssetColumnBadges columns={assetColumns} disableTooltip />
272
284
  </svelte:fragment>
273
285
  </Tooltip>
274
286
  {/snippet}
@@ -49,7 +49,7 @@ const colors = $derived(getNodeColorClasses(undefined, includesSelected));
49
49
  <ul>
50
50
  {#each data.overflowedAssets as asset}
51
51
  <li class="w-48">
52
- <AssetNode data={{ asset }} />
52
+ <AssetNode data={{ asset, displayedAccessType: data.displayedAccessType }} />
53
53
  </li>
54
54
  {/each}
55
55
  </ul>