windmill-components 1.448.50 → 1.472.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/package/components/AddUser.svelte +52 -54
  2. package/package/components/ApiConnectForm.svelte +57 -45
  3. package/package/components/AppConnectInner.svelte +18 -8
  4. package/package/components/ArgInput.svelte +132 -83
  5. package/package/components/ArgInput.svelte.d.ts +12 -1
  6. package/package/components/ArrayTypeNarrowing.svelte +35 -30
  7. package/package/components/ArrayTypeNarrowing.svelte.d.ts +1 -0
  8. package/package/components/AssignableTags.svelte +10 -6
  9. package/package/components/AssignableTagsInner.svelte +1 -1
  10. package/package/components/Auth0Setting.svelte +103 -0
  11. package/package/components/Auth0Setting.svelte.d.ts +16 -0
  12. package/package/components/AuthSettings.svelte +7 -2
  13. package/package/components/AutoscalingConfigEditor.svelte +12 -17
  14. package/package/components/ChangeInstanceUsername.svelte +15 -13
  15. package/package/components/ChangeInstanceUsernameInner.svelte +4 -5
  16. package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +1 -0
  17. package/package/components/ConnectionSection.svelte +176 -0
  18. package/package/components/ConnectionSection.svelte.d.ts +28 -0
  19. package/package/components/ContentSearchInner.svelte +13 -3
  20. package/package/components/CronBuilder.svelte +12 -13
  21. package/package/components/CronBuilder.svelte.d.ts +1 -1
  22. package/package/components/CronInput.svelte +1 -1
  23. package/package/components/DBSchemaExplorer.svelte +18 -5
  24. package/package/components/DateTimeInput.svelte +3 -3
  25. package/package/components/DefaultTags.svelte +8 -8
  26. package/package/components/Dev.svelte +30 -8
  27. package/package/components/DisplayResult.svelte +132 -80
  28. package/package/components/DisplayResult.svelte.d.ts +2 -0
  29. package/package/components/DropdownV2.svelte +89 -16
  30. package/package/components/DropdownV2.svelte.d.ts +10 -27
  31. package/package/components/DropdownV2Inner.svelte +7 -4
  32. package/package/components/DropdownV2Inner.svelte.d.ts +4 -25
  33. package/package/components/DynSelect.svelte +6 -2
  34. package/package/components/EditableSchemaForm.svelte +48 -45
  35. package/package/components/EditableSchemaForm.svelte.d.ts +4 -1
  36. package/package/components/Editor.svelte +1 -1
  37. package/package/components/EditorBar.svelte +15 -13
  38. package/package/components/EditorBar.svelte.d.ts +1 -1
  39. package/package/components/EditorSettings.svelte +9 -7
  40. package/package/components/ErrorOrRecoveryHandler.svelte +195 -18
  41. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -2
  42. package/package/components/FlowBuilder.svelte +10 -31
  43. package/package/components/FlowBuilder.svelte.d.ts +3 -0
  44. package/package/components/FlowBuilderTutorials.svelte +34 -64
  45. package/package/components/FlowBuilderTutorials.svelte.d.ts +0 -1
  46. package/package/components/FlowHistoryJobPicker.svelte +48 -0
  47. package/package/components/FlowHistoryJobPicker.svelte.d.ts +21 -0
  48. package/package/components/FlowJobResult.svelte +6 -3
  49. package/package/components/FlowPreviewContent.svelte +264 -182
  50. package/package/components/FlowPreviewContent.svelte.d.ts +3 -0
  51. package/package/components/FlowStatusViewerInner.svelte +28 -7
  52. package/package/components/FlowStatusWaitingForEvents.svelte +2 -2
  53. package/package/components/FolderEditor.svelte +14 -7
  54. package/package/components/GroupEditor.svelte +4 -0
  55. package/package/components/HistoricInputs.svelte +51 -110
  56. package/package/components/HistoricInputs.svelte.d.ts +9 -3
  57. package/package/components/HistoricList.svelte +95 -0
  58. package/package/components/HistoricList.svelte.d.ts +24 -0
  59. package/package/components/IconedResourceType.svelte +4 -1
  60. package/package/components/InfiniteList.svelte +12 -6
  61. package/package/components/InputTransformForm.svelte +25 -5
  62. package/package/components/InstanceNameEditor.svelte +100 -103
  63. package/package/components/InstanceSetting.svelte +777 -607
  64. package/package/components/InstanceSettings.svelte +33 -36
  65. package/package/components/InviteUser.svelte +43 -43
  66. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte → JsonEditor.svelte} +1 -1
  67. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts → JsonEditor.svelte.d.ts} +1 -1
  68. package/package/components/JsonInputs.svelte +63 -0
  69. package/package/components/JsonInputs.svelte.d.ts +23 -0
  70. package/package/components/Label.svelte +6 -4
  71. package/package/components/Login.svelte +8 -2
  72. package/package/components/OAuthSetting.svelte +42 -15
  73. package/package/components/OAuthSetting.svelte.d.ts +1 -0
  74. package/package/components/ObjectResourceInput.svelte +6 -3
  75. package/package/components/ObjectResourceInput.svelte.d.ts +1 -1
  76. package/package/components/OktaSetting.svelte +9 -3
  77. package/package/components/PasswordArgInput.svelte +1 -1
  78. package/package/components/Path.svelte +16 -1
  79. package/package/components/Path.svelte.d.ts +1 -1
  80. package/package/components/ResourceEditor.svelte +6 -2
  81. package/package/components/ResourcePicker.svelte +3 -3
  82. package/package/components/ResourceTypePicker.svelte +10 -11
  83. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  84. package/package/components/RunForm.svelte +51 -47
  85. package/package/components/RunForm.svelte.d.ts +3 -0
  86. package/package/components/RunFormAdvancedPopup.svelte +2 -7
  87. package/package/components/RunFormAdvancedPopup.svelte.d.ts +0 -2
  88. package/package/components/RunPageSchedules.svelte +3 -2
  89. package/package/components/S3FilePicker.svelte +9 -1
  90. package/package/components/S3FilePicker.svelte.d.ts +1 -0
  91. package/package/components/S3ObjectPicker.svelte +13 -12
  92. package/package/components/S3ObjectPicker.svelte.d.ts +1 -1
  93. package/package/components/SavedInputsPicker.svelte +95 -56
  94. package/package/components/SavedInputsPicker.svelte.d.ts +10 -1
  95. package/package/components/SavedInputsV2.svelte +113 -0
  96. package/package/components/SavedInputsV2.svelte.d.ts +26 -0
  97. package/package/components/ScheduleEditorInner.svelte +40 -13
  98. package/package/components/SchemaForm.svelte +158 -191
  99. package/package/components/SchemaForm.svelte.d.ts +16 -3
  100. package/package/components/SchemaFormWithArgPicker.svelte +166 -0
  101. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +29 -0
  102. package/package/components/ScriptBuilder.svelte +139 -71
  103. package/package/components/ScriptBuilder.svelte.d.ts +3 -0
  104. package/package/components/ScriptEditor.svelte +28 -2
  105. package/package/components/ScriptEditor.svelte.d.ts +2 -2
  106. package/package/components/ScriptPicker.svelte +6 -3
  107. package/package/components/ScriptSchema.svelte +2 -1
  108. package/package/components/ScriptSchema.svelte.d.ts +2 -0
  109. package/package/components/ScriptVersionHistory.svelte +9 -3
  110. package/package/components/Section.svelte +21 -9
  111. package/package/components/Section.svelte.d.ts +4 -0
  112. package/package/components/ShareModal.svelte +10 -5
  113. package/package/components/ShareModal.svelte.d.ts +2 -2
  114. package/package/components/SharedBadge.svelte +3 -3
  115. package/package/components/StringTypeNarrowing.svelte +10 -1
  116. package/package/components/SuperadminSettings.svelte +9 -2
  117. package/package/components/TestJobLoader.svelte +1 -1
  118. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  119. package/package/components/TimelineBar.svelte.d.ts +1 -1
  120. package/package/components/ToggleHubWorkspace.svelte +3 -3
  121. package/package/components/ToggleHubWorkspaceQuick.svelte +4 -4
  122. package/package/components/Tooltip.svelte +36 -30
  123. package/package/components/VariableEditor.svelte +27 -20
  124. package/package/components/WorkerGroup.svelte +12 -3
  125. package/package/components/apps/components/buttons/AppButton.svelte +22 -2
  126. package/package/components/apps/components/buttons/AppFormButton.svelte +74 -70
  127. package/package/components/apps/components/buttons/AppSchemaForm.svelte +4 -2
  128. package/package/components/apps/components/display/AppAccordionList.svelte +149 -0
  129. package/package/components/apps/components/display/AppAccordionList.svelte.d.ts +25 -0
  130. package/package/components/apps/components/display/AppCarouselList.svelte +114 -106
  131. package/package/components/apps/components/display/AppCustomComponent.svelte +13 -13
  132. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  133. package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +3 -1
  134. package/package/components/apps/components/display/AppHtml.svelte +28 -22
  135. package/package/components/apps/components/display/AppMarkdown.svelte +98 -31
  136. package/package/components/apps/components/display/AppMenu.svelte +77 -66
  137. package/package/components/apps/components/display/AppMenu.svelte.d.ts +0 -3
  138. package/package/components/apps/components/display/AppRecomputeAll.svelte +12 -1
  139. package/package/components/apps/components/display/AppText.svelte +8 -3
  140. package/package/components/apps/components/display/PlotlyHtml.svelte +16 -12
  141. package/package/components/apps/components/display/PlotlyHtmlV2.svelte +16 -12
  142. package/package/components/apps/components/display/VegaLiteHtml.svelte +9 -5
  143. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
  144. package/package/components/apps/components/display/dbtable/InsertRow.svelte +4 -4
  145. package/package/components/apps/components/display/dbtable/utils.js +19 -1
  146. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  147. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +4 -0
  148. package/package/components/apps/components/display/table/AppAggridTable.svelte +1 -1
  149. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +27 -19
  150. package/package/components/apps/components/display/table/AppTable.svelte +19 -15
  151. package/package/components/apps/components/helpers/InitializeComponent.svelte +1 -0
  152. package/package/components/apps/components/helpers/InputValue.svelte +4 -3
  153. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +0 -2
  154. package/package/components/apps/components/helpers/RunnableComponent.svelte +16 -4
  155. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  156. package/package/components/apps/components/helpers/RunnableWrapper.svelte +32 -3
  157. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  158. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
  159. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +29 -21
  160. package/package/components/apps/components/layout/AppContainer.svelte +28 -20
  161. package/package/components/apps/components/layout/AppDecisionTree.svelte +59 -49
  162. package/package/components/apps/components/layout/AppDrawer.svelte +94 -87
  163. package/package/components/apps/components/layout/AppList.svelte +70 -62
  164. package/package/components/apps/components/layout/AppModal.svelte +83 -79
  165. package/package/components/apps/components/layout/AppSplitpanes.svelte +51 -43
  166. package/package/components/apps/components/layout/AppStepper.svelte +97 -83
  167. package/package/components/apps/components/layout/AppTabs.svelte +128 -74
  168. package/package/components/apps/editor/AppEditor.svelte +21 -3
  169. package/package/components/apps/editor/AppEditor.svelte.d.ts +24 -1
  170. package/package/components/apps/editor/AppEditorHeader.svelte +73 -61
  171. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +24 -1
  172. package/package/components/apps/editor/AppEditorTutorial.svelte +53 -60
  173. package/package/components/apps/editor/AppJsonEditor.svelte +1 -1
  174. package/package/components/apps/editor/AppPreview.svelte +5 -5
  175. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -0
  176. package/package/components/apps/editor/ComponentHeader.svelte +44 -20
  177. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
  178. package/package/components/apps/editor/DecisionTreeDebug.svelte +56 -73
  179. package/package/components/apps/editor/GridEditor.svelte +7 -4
  180. package/package/components/apps/editor/GridViewer.svelte +19 -7
  181. package/package/components/apps/editor/GridViewer.svelte.d.ts +1 -3
  182. package/package/components/apps/editor/PreviewToggle.svelte +3 -0
  183. package/package/components/apps/editor/RecomputeAllButton.svelte +7 -40
  184. package/package/components/apps/editor/RecomputeAllComponents.svelte +52 -19
  185. package/package/components/apps/editor/RecomputeAllWrapper.svelte +1 -10
  186. package/package/components/apps/editor/SubGridEditor.svelte +147 -145
  187. package/package/components/apps/editor/TabsDebug.svelte +43 -56
  188. package/package/components/apps/editor/component/Component.svelte +26 -926
  189. package/package/components/apps/editor/component/Component.svelte.d.ts +2 -3
  190. package/package/components/apps/editor/component/ComponentInner.svelte +775 -0
  191. package/package/components/apps/editor/component/ComponentInner.svelte.d.ts +22 -0
  192. package/package/components/apps/editor/component/ComponentRendered.svelte +195 -0
  193. package/package/components/apps/editor/component/ComponentRendered.svelte.d.ts +28 -0
  194. package/package/components/apps/editor/component/components.d.ts +154 -83
  195. package/package/components/apps/editor/component/components.js +59 -5
  196. package/package/components/apps/editor/component/sets.js +2 -1
  197. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +8 -4
  198. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte +12 -22
  199. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte.d.ts +0 -1
  200. package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte +0 -2
  201. package/package/components/apps/editor/componentsPanel/GroupRow.svelte +12 -22
  202. package/package/components/apps/editor/componentsPanel/GroupRow.svelte.d.ts +0 -1
  203. package/package/components/apps/editor/componentsPanel/NameEditor.svelte +21 -20
  204. package/package/components/apps/editor/componentsPanel/ThemeNameEditor.svelte +9 -9
  205. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +32 -52
  206. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte.d.ts +0 -1
  207. package/package/components/apps/editor/componentsPanel/cssUtils.js +7 -0
  208. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +3 -0
  209. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte +46 -0
  210. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte.d.ts +14 -0
  211. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +19 -13
  212. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +10 -7
  213. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +11 -7
  214. package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +2 -2
  215. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +8 -6
  216. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +7 -0
  217. package/package/components/apps/editor/settingsPanel/ComponentPanelDataSource.svelte +5 -2
  218. package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +1 -1
  219. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +17 -7
  220. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +3 -0
  221. package/package/components/apps/editor/settingsPanel/TableActions.svelte +10 -1
  222. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +53 -51
  223. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -1
  224. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  225. package/package/components/apps/rx.d.ts +3 -3
  226. package/package/components/apps/rx.js +5 -5
  227. package/package/components/apps/svelte-grid/Grid.svelte +121 -99
  228. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +0 -1
  229. package/package/components/apps/svelte-grid/MoveResize.svelte +2 -1
  230. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
  231. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +8 -8
  232. package/package/components/apps/types.d.ts +2 -0
  233. package/package/components/apps/utils.js +1 -1
  234. package/package/components/auditLogs/AuditLogMobileFilters.svelte +7 -6
  235. package/package/components/auditLogs/AuditLogsFilters.svelte +75 -37
  236. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +2 -0
  237. package/package/components/auditLogs/AuditLogsTable.svelte +2 -1
  238. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  239. package/package/components/common/alert/Alert.svelte +2 -27
  240. package/package/components/common/alert/Alert.svelte.d.ts +1 -1
  241. package/package/components/common/alert/model.d.ts +1 -0
  242. package/package/components/common/alert/model.js +26 -1
  243. package/package/components/common/button/Button.svelte +25 -39
  244. package/package/components/common/button/Button.svelte.d.ts +0 -1
  245. package/package/components/common/calendarPicker/CalendarPicker.svelte +30 -25
  246. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +12 -10
  247. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +2 -3
  248. package/package/components/common/confirmationModal/unsavedTypes.d.ts +6 -0
  249. package/package/components/common/confirmationModal/unsavedTypes.js +1 -0
  250. package/package/components/common/drawer/Disposable.svelte +3 -1
  251. package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
  252. package/package/components/common/drawer/Drawer.svelte +2 -0
  253. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  254. package/package/components/common/fileInput/FileInput.svelte +63 -20
  255. package/package/components/common/fileInput/FileInput.svelte.d.ts +4 -1
  256. package/package/components/common/fileUpload/FileUpload.svelte +102 -20
  257. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +7 -0
  258. package/package/components/common/index.d.ts +0 -1
  259. package/package/components/common/index.js +0 -1
  260. package/package/components/common/layout/List.svelte.d.ts +1 -1
  261. package/package/components/common/toggleButton-v2/ToggleButton.svelte +42 -39
  262. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +3 -1
  263. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +28 -29
  264. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +23 -7
  265. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +17 -18
  266. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +2 -1
  267. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +1 -1
  268. package/package/components/copilot/CodeCompletionStatus.svelte +1 -1
  269. package/package/components/copilot/CronGen.svelte +50 -50
  270. package/package/components/copilot/FlowCopilotDrawer.svelte +3 -2
  271. package/package/components/copilot/FlowCopilotStatus.svelte +16 -19
  272. package/package/components/copilot/PredicateGen.svelte +9 -10
  273. package/package/components/copilot/RegexGen.svelte +67 -66
  274. package/package/components/copilot/ScriptFix.svelte +122 -105
  275. package/package/components/copilot/ScriptGen.svelte +177 -135
  276. package/package/components/copilot/StepInputsGen.svelte +31 -28
  277. package/package/components/copilot/{TestAiKey.svelte → TestAIKey.svelte} +13 -2
  278. package/package/components/copilot/{TestAiKey.svelte.d.ts → TestAIKey.svelte.d.ts} +4 -2
  279. package/package/components/copilot/completion.d.ts +2 -2
  280. package/package/components/copilot/completion.js +1 -1
  281. package/package/components/copilot/flow.d.ts +3 -4
  282. package/package/components/copilot/flow.js +1 -1
  283. package/package/components/copilot/lib.d.ts +46 -54
  284. package/package/components/copilot/lib.js +278 -209
  285. package/package/components/copilot/prompts/edit.yaml +19 -0
  286. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  287. package/package/components/copilot/prompts/editPrompt.js +3 -0
  288. package/package/components/copilot/prompts/fix.yaml +19 -0
  289. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  290. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  291. package/package/components/copilot/prompts/gen.yaml +12 -0
  292. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  293. package/package/components/copilot/prompts/genPrompt.js +3 -0
  294. package/package/components/custom_ui.d.ts +37 -0
  295. package/package/components/details/DetailPageDetailPanel.svelte +3 -1
  296. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +7 -1
  297. package/package/components/details/DetailPageHeader.svelte +12 -27
  298. package/package/components/details/DetailPageLayout.svelte +4 -0
  299. package/package/components/details/DetailPageLayout.svelte.d.ts +6 -0
  300. package/package/components/details/DetailPageTriggerPanel.svelte +20 -8
  301. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +4 -2
  302. package/package/components/details/EmailTriggerConfigSection.svelte +3 -3
  303. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +3 -1
  304. package/package/components/details/EmailTriggerPanel.svelte +1 -0
  305. package/package/components/flows/content/FlowInput.svelte +35 -44
  306. package/package/components/flows/content/FlowInputs.svelte +4 -1
  307. package/package/components/flows/content/FlowModuleComponent.svelte +10 -5
  308. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -1
  309. package/package/components/flows/content/FlowModuleMock.svelte +1 -1
  310. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -2
  311. package/package/components/flows/content/FlowRetries.svelte +4 -3
  312. package/package/components/flows/content/ScriptEditorDrawer.svelte +0 -1
  313. package/package/components/flows/flowStateUtils.js +1 -1
  314. package/package/components/flows/flowStore.d.ts +1 -1
  315. package/package/components/flows/header/FlowPreviewButtons.svelte +25 -16
  316. package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -0
  317. package/package/components/flows/map/FlowJobsMenu.svelte +60 -47
  318. package/package/components/flows/previousResults.js +1 -1
  319. package/package/components/flows/propPicker/FlowPropPicker.svelte +28 -25
  320. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -0
  321. package/package/components/flows/scheduleUtils.d.ts +2 -2
  322. package/package/components/flows/scheduleUtils.js +17 -13
  323. package/package/components/graph/FlowGraphV2.svelte +3 -2
  324. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +9 -4
  325. package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
  326. package/package/components/home/FlowIcon.svelte +4 -1
  327. package/package/components/home/FlowIcon.svelte.d.ts +1 -0
  328. package/package/components/home/ItemsList.svelte +32 -24
  329. package/package/components/icons/Auth0Icon.svelte +17 -0
  330. package/package/components/icons/Auth0Icon.svelte.d.ts +23 -0
  331. package/package/components/icons/AwsIcon.svelte +25 -6
  332. package/package/components/icons/AwsIcon.svelte.d.ts +3 -2
  333. package/package/components/icons/brands/Auth0.svelte +24 -0
  334. package/package/components/icons/brands/Auth0.svelte.d.ts +18 -0
  335. package/package/components/icons/index.d.ts +3 -1
  336. package/package/components/icons/index.js +3 -1
  337. package/package/components/instanceSettings.d.ts +5 -0
  338. package/package/components/instanceSettings.js +34 -3
  339. package/package/components/meltComponents/MeltButton.svelte +10 -0
  340. package/package/components/meltComponents/MeltButton.svelte.d.ts +23 -0
  341. package/package/components/meltComponents/Menu.svelte +70 -0
  342. package/package/components/meltComponents/Menu.svelte.d.ts +51 -0
  343. package/package/components/meltComponents/MenuItem.svelte +42 -0
  344. package/package/components/meltComponents/MenuItem.svelte.d.ts +27 -0
  345. package/package/components/meltComponents/MenuSingleItem.svelte +12 -0
  346. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +36 -0
  347. package/package/components/meltComponents/Menubar.svelte +7 -0
  348. package/package/components/meltComponents/Menubar.svelte.d.ts +255 -0
  349. package/package/components/meltComponents/Popover.svelte +78 -24
  350. package/package/components/meltComponents/Popover.svelte.d.ts +23 -4
  351. package/package/components/meltComponents/SideBarTab.svelte +18 -6
  352. package/package/components/meltComponents/SideBarTab.svelte.d.ts +2 -0
  353. package/package/components/meltComponents/Tooltip.svelte +66 -0
  354. package/package/components/meltComponents/Tooltip.svelte.d.ts +29 -0
  355. package/package/components/meltComponents/index.d.ts +5 -0
  356. package/package/components/meltComponents/index.js +5 -0
  357. package/package/components/preview/FlowPreviewStatus.svelte +2 -1
  358. package/package/components/propertyPicker/ObjectViewer.svelte +15 -3
  359. package/package/components/propertyPicker/PropPicker.svelte +0 -1
  360. package/package/components/runs/JobLoader.svelte +18 -18
  361. package/package/components/runs/JobLoader.svelte.d.ts +1 -1
  362. package/package/components/runs/MobileFilters.svelte +12 -11
  363. package/package/components/runs/PreprocessedArgsDisplay.svelte +2 -3
  364. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +1 -1
  365. package/package/components/runs/RunsFilter.svelte +350 -320
  366. package/package/components/schema/AddPropertyFormV2.svelte +7 -7
  367. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +3 -1
  368. package/package/components/schema/EditableSchemaDrawer.svelte +0 -1
  369. package/package/components/schema/EditableSchemaWrapper.svelte +1 -2
  370. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
  371. package/package/components/schema/FlowPropertyEditor.svelte +51 -67
  372. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +0 -1
  373. package/package/components/schema/InputSelectedBadge.svelte +28 -0
  374. package/package/components/schema/InputSelectedBadge.svelte.d.ts +18 -0
  375. package/package/components/schema/PropertyEditor.svelte +7 -3
  376. package/package/components/schema/SchemaFormDND.svelte +4 -2
  377. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -1
  378. package/package/components/schema/SchemaPickerRow.svelte +11 -3
  379. package/package/components/schema/SchemaPickerRow.svelte.d.ts +1 -1
  380. package/package/components/scriptEditor/LogPanel.svelte +8 -2
  381. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  382. package/package/components/settings/ChangeWorkspaceId.svelte +24 -12
  383. package/package/components/settings/PremiumInfo.svelte +4 -4
  384. package/package/components/settings/WorkspaceOperatorSettings.svelte +159 -0
  385. package/package/components/settings/WorkspaceOperatorSettings.svelte.d.ts +14 -0
  386. package/package/components/settings/WorkspaceUserSettings.svelte +108 -96
  387. package/package/components/sidebar/CriticalAlertModal.svelte +66 -60
  388. package/package/components/sidebar/FavoriteMenu.svelte +30 -21
  389. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MenuButton.svelte +20 -5
  391. package/package/components/sidebar/MenuButton.svelte.d.ts +3 -0
  392. package/package/components/sidebar/MenuLink.svelte +8 -5
  393. package/package/components/sidebar/MenuLink.svelte.d.ts +2 -0
  394. package/package/components/sidebar/OperatorMenu.svelte +219 -126
  395. package/package/components/sidebar/SidebarContent.svelte +107 -127
  396. package/package/components/sidebar/SidebarContent.svelte.d.ts +0 -1
  397. package/package/components/sidebar/UserMenu.svelte +91 -111
  398. package/package/components/sidebar/UserMenu.svelte.d.ts +2 -0
  399. package/package/components/sidebar/WorkspaceMenu.svelte +59 -54
  400. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +2 -0
  401. package/package/components/sidebar/changelogs.js +55 -0
  402. package/package/components/table/DataTable.svelte +6 -14
  403. package/package/components/table/DataTable.svelte.d.ts +1 -0
  404. package/package/components/triggers/CaptureButton.svelte +51 -68
  405. package/package/components/triggers/CaptureSection.svelte +5 -2
  406. package/package/components/triggers/CaptureSection.svelte.d.ts +3 -1
  407. package/package/components/triggers/CaptureTable.svelte +61 -23
  408. package/package/components/triggers/CaptureWrapper.svelte +87 -46
  409. package/package/components/triggers/CaptureWrapper.svelte.d.ts +8 -4
  410. package/package/components/triggers/TestTriggerConnection.svelte +82 -0
  411. package/package/components/triggers/TestTriggerConnection.svelte.d.ts +21 -0
  412. package/package/components/triggers/TriggersEditor.svelte +46 -14
  413. package/package/components/triggers/TriggersEditorSection.svelte +53 -46
  414. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
  415. package/package/components/triggers/TriggersWrapper.svelte +26 -8
  416. package/package/components/triggers/{RouteEditorConfigSection.svelte → http/RouteEditorConfigSection.svelte} +57 -57
  417. package/package/components/triggers/{RouteEditorConfigSection.svelte.d.ts → http/RouteEditorConfigSection.svelte.d.ts} +8 -9
  418. package/package/components/triggers/{RouteEditorInner.svelte → http/RouteEditorInner.svelte} +190 -147
  419. package/package/components/triggers/{RoutesPanel.svelte → http/RoutesPanel.svelte} +44 -47
  420. package/package/components/triggers/{KafkaTriggerEditorInner.svelte → kafka/KafkaTriggerEditorInner.svelte} +23 -23
  421. package/package/components/triggers/{KafkaTriggersConfigSection.svelte → kafka/KafkaTriggersConfigSection.svelte} +29 -17
  422. package/package/components/triggers/{KafkaTriggersConfigSection.svelte.d.ts → kafka/KafkaTriggersConfigSection.svelte.d.ts} +5 -3
  423. package/package/components/triggers/{KafkaTriggersPanel.svelte → kafka/KafkaTriggersPanel.svelte} +40 -45
  424. package/package/components/triggers/{NatsTriggerEditorInner.svelte → nats/NatsTriggerEditorInner.svelte} +19 -20
  425. package/package/components/triggers/{NatsTriggersConfigSection.svelte → nats/NatsTriggersConfigSection.svelte} +25 -18
  426. package/package/components/triggers/{NatsTriggersConfigSection.svelte.d.ts → nats/NatsTriggersConfigSection.svelte.d.ts} +5 -3
  427. package/package/components/triggers/{NatsTriggersPanel.svelte → nats/NatsTriggersPanel.svelte} +41 -44
  428. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte +71 -0
  429. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte.d.ts +18 -0
  430. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte +152 -0
  431. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte.d.ts +40 -0
  432. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte +19 -0
  433. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +21 -0
  434. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +578 -0
  435. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte.d.ts +21 -0
  436. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte +112 -0
  437. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte.d.ts +28 -0
  438. package/package/components/triggers/postgres/PublicationPicker.svelte +129 -0
  439. package/package/components/triggers/postgres/PublicationPicker.svelte.d.ts +23 -0
  440. package/package/components/triggers/postgres/RelationPicker.svelte +266 -0
  441. package/package/components/triggers/postgres/RelationPicker.svelte.d.ts +19 -0
  442. package/package/components/triggers/postgres/SlotPicker.svelte +92 -0
  443. package/package/components/triggers/postgres/SlotPicker.svelte.d.ts +18 -0
  444. package/package/components/triggers/postgres/utils.d.ts +5 -0
  445. package/package/components/triggers/postgres/utils.js +80 -0
  446. package/package/components/triggers/{ScheduledPollPanel.svelte → scheduled/ScheduledPollPanel.svelte} +3 -3
  447. package/package/components/triggers/sqs/SqsTriggerEditor.svelte +19 -0
  448. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +21 -0
  449. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte +152 -0
  450. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte.d.ts +40 -0
  451. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +234 -0
  452. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte.d.ts +21 -0
  453. package/package/components/triggers/sqs/SqsTriggerPanel.svelte +123 -0
  454. package/package/components/triggers/sqs/SqsTriggerPanel.svelte.d.ts +28 -0
  455. package/package/components/triggers/{WebhooksConfigSection.svelte → webhook/WebhooksConfigSection.svelte} +26 -21
  456. package/package/components/triggers/{WebhooksConfigSection.svelte.d.ts → webhook/WebhooksConfigSection.svelte.d.ts} +6 -4
  457. package/package/components/triggers/{WebhooksPanel.svelte → webhook/WebhooksPanel.svelte} +5 -4
  458. package/package/components/triggers/{WebsocketEditorConfigSection.svelte → websocket/WebsocketEditorConfigSection.svelte} +42 -34
  459. package/package/components/triggers/{WebsocketEditorConfigSection.svelte.d.ts → websocket/WebsocketEditorConfigSection.svelte.d.ts} +5 -3
  460. package/package/components/triggers/{WebsocketTriggerEditorInner.svelte → websocket/WebsocketTriggerEditorInner.svelte} +62 -43
  461. package/package/components/triggers/{WebsocketTriggersPanel.svelte → websocket/WebsocketTriggersPanel.svelte} +45 -49
  462. package/package/components/triggers.d.ts +1 -1
  463. package/package/components/triggers.js +4 -0
  464. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +1 -1
  465. package/package/components/wizards/AgChartWizard.svelte +26 -24
  466. package/package/components/wizards/AgGridWizard.svelte +166 -161
  467. package/package/components/wizards/ChartJSWizard.svelte +32 -30
  468. package/package/components/wizards/DBExplorerWizard.svelte +21 -12
  469. package/package/components/wizards/NavbarWizard.svelte +108 -107
  470. package/package/components/wizards/PlotlyWizard.svelte +84 -75
  471. package/package/components/wizards/TableActionsWizard.svelte +69 -66
  472. package/package/components/wizards/TableColumnWizard.svelte +52 -47
  473. package/package/gen/core/OpenAPI.js +1 -1
  474. package/package/gen/schemas.gen.d.ts +456 -111
  475. package/package/gen/schemas.gen.js +470 -112
  476. package/package/gen/services.gen.d.ts +429 -2
  477. package/package/gen/services.gen.js +890 -17
  478. package/package/gen/types.gen.d.ts +1491 -158
  479. package/package/hub.d.ts +3 -0
  480. package/package/hubPaths.json +5 -1
  481. package/package/inferArgSig.js +11 -4
  482. package/package/script_helpers.d.ts +5 -3
  483. package/package/script_helpers.js +138 -98
  484. package/package/scripts.d.ts +1 -1
  485. package/package/stores.d.ts +6 -3
  486. package/package/stores.js +5 -3
  487. package/package/utils.d.ts +15 -0
  488. package/package/utils.js +17 -3
  489. package/package/zIndexes.d.ts +2 -0
  490. package/package/zIndexes.js +3 -1
  491. package/package.json +5 -5
  492. package/package/components/CapturesInputs.svelte +0 -16
  493. package/package/components/CapturesInputs.svelte.d.ts +0 -21
  494. package/package/components/LightweightArgInput.svelte +0 -622
  495. package/package/components/LightweightArgInput.svelte.d.ts +0 -70
  496. package/package/components/LightweightObjectResourceInput.svelte +0 -40
  497. package/package/components/LightweightObjectResourceInput.svelte.d.ts +0 -19
  498. package/package/components/LightweightSchemaForm.svelte +0 -100
  499. package/package/components/LightweightSchemaForm.svelte.d.ts +0 -43
  500. package/package/components/common/button/ButtonDropdown.svelte +0 -61
  501. package/package/components/common/button/ButtonDropdown.svelte.d.ts +0 -22
  502. package/package/components/common/menu/MenuV2.svelte +0 -51
  503. package/package/components/common/menu/MenuV2.svelte.d.ts +0 -26
  504. package/package/components/common/popup/Popup.svelte +0 -66
  505. package/package/components/common/popup/Popup.svelte.d.ts +0 -35
  506. package/package/components/common/toggleButton-v2/ToggleEnable.svelte +0 -34
  507. package/package/components/common/toggleButton-v2/ToggleEnable.svelte.d.ts +0 -23
  508. package/package/components/details/Menu.svelte +0 -58
  509. package/package/components/details/Menu.svelte.d.ts +0 -16
  510. package/package/components/flows/map/FlowCopilotButton.svelte +0 -54
  511. package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +0 -16
  512. package/package/components/meltComponents/ButtonDropDown.svelte +0 -32
  513. package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +0 -27
  514. package/package/components/tutorials/TutorialItem.svelte +0 -27
  515. package/package/components/tutorials/TutorialItem.svelte.d.ts +0 -22
  516. /package/package/components/triggers/{RouteEditor.svelte → http/RouteEditor.svelte} +0 -0
  517. /package/package/components/triggers/{RouteEditor.svelte.d.ts → http/RouteEditor.svelte.d.ts} +0 -0
  518. /package/package/components/triggers/{RouteEditorInner.svelte.d.ts → http/RouteEditorInner.svelte.d.ts} +0 -0
  519. /package/package/components/triggers/{RoutesPanel.svelte.d.ts → http/RoutesPanel.svelte.d.ts} +0 -0
  520. /package/package/components/triggers/{KafkaTriggerEditor.svelte → kafka/KafkaTriggerEditor.svelte} +0 -0
  521. /package/package/components/triggers/{KafkaTriggerEditor.svelte.d.ts → kafka/KafkaTriggerEditor.svelte.d.ts} +0 -0
  522. /package/package/components/triggers/{KafkaTriggerEditorInner.svelte.d.ts → kafka/KafkaTriggerEditorInner.svelte.d.ts} +0 -0
  523. /package/package/components/triggers/{KafkaTriggersPanel.svelte.d.ts → kafka/KafkaTriggersPanel.svelte.d.ts} +0 -0
  524. /package/package/components/triggers/{NatsTriggerEditor.svelte → nats/NatsTriggerEditor.svelte} +0 -0
  525. /package/package/components/triggers/{NatsTriggerEditor.svelte.d.ts → nats/NatsTriggerEditor.svelte.d.ts} +0 -0
  526. /package/package/components/triggers/{NatsTriggerEditorInner.svelte.d.ts → nats/NatsTriggerEditorInner.svelte.d.ts} +0 -0
  527. /package/package/components/triggers/{NatsTriggersPanel.svelte.d.ts → nats/NatsTriggersPanel.svelte.d.ts} +0 -0
  528. /package/package/components/triggers/{ScheduledPollPanel.svelte.d.ts → scheduled/ScheduledPollPanel.svelte.d.ts} +0 -0
  529. /package/package/components/triggers/{WebhooksPanel.svelte.d.ts → webhook/WebhooksPanel.svelte.d.ts} +0 -0
  530. /package/package/components/triggers/{WebsocketTriggerEditor.svelte → websocket/WebsocketTriggerEditor.svelte} +0 -0
  531. /package/package/components/triggers/{WebsocketTriggerEditor.svelte.d.ts → websocket/WebsocketTriggerEditor.svelte.d.ts} +0 -0
  532. /package/package/components/triggers/{WebsocketTriggerEditorInner.svelte.d.ts → websocket/WebsocketTriggerEditorInner.svelte.d.ts} +0 -0
  533. /package/package/components/triggers/{WebsocketTriggersPanel.svelte.d.ts → websocket/WebsocketTriggersPanel.svelte.d.ts} +0 -0
@@ -26,7 +26,7 @@ import { setLicense } from '../enterpriseUtils';
26
26
  import { pickScript } from './flows/flowStateUtils';
27
27
  import { approximateFindPythonRelativePath, isTypescriptRelativePath, parseTypescriptDeps } from '../relative_imports';
28
28
  import Tooltip from './Tooltip.svelte';
29
- import { initAllAiWorkspace } from './copilot/lib';
29
+ import { workspaceAIClients } from './copilot/lib';
30
30
  $: token = $page.url.searchParams.get('wm_token') ?? undefined;
31
31
  $: workspace = $page.url.searchParams.get('workspace') ?? undefined;
32
32
  $: themeDarkRaw = $page.url.searchParams.get('activeColorTheme');
@@ -65,15 +65,20 @@ async function genFlow(idx, flowModules, stepOnly = false) {
65
65
  setContext('FlowCopilotContext', flowCopilotContext);
66
66
  async function setCopilotInfo() {
67
67
  if (workspace) {
68
- initAllAiWorkspace(workspace);
68
+ workspaceAIClients.init(workspace);
69
69
  try {
70
- copilotInfo.set(await WorkspaceService.getCopilotInfo({ workspace }));
70
+ const info = await WorkspaceService.getCopilotInfo({ workspace });
71
+ copilotInfo.set({
72
+ ...info,
73
+ ai_provider: info.ai_provider ?? 'openai'
74
+ });
71
75
  }
72
76
  catch (err) {
73
77
  copilotInfo.set({
74
- ai_provider: '',
78
+ ai_provider: 'openai',
75
79
  exists_ai_resource: false,
76
- code_completion_enabled: false
80
+ code_completion_model: undefined,
81
+ ai_models: []
77
82
  });
78
83
  console.error('Could not get copilot info');
79
84
  }
@@ -137,7 +142,6 @@ const el = (event) => {
137
142
  event.preventDefault();
138
143
  }
139
144
  else if (event.data.type == 'replaceScript') {
140
- mode = 'script';
141
145
  replaceScript(event.data);
142
146
  }
143
147
  else if (event.data.type == 'testBundle') {
@@ -161,7 +165,6 @@ const el = (event) => {
161
165
  sendUserToast(typeof event.data.error == 'object' ? JSON.stringify(event.data.error) : event.data.error, true);
162
166
  }
163
167
  else if (event.data.type == 'replaceFlow') {
164
- mode = 'flow';
165
168
  lockChanges = true;
166
169
  replaceFlow(event.data);
167
170
  timeout && clearTimeout(timeout);
@@ -248,6 +251,14 @@ onDestroy(() => {
248
251
  }
249
252
  });
250
253
  function connectWs() {
254
+ try {
255
+ if (socket) {
256
+ socket.close();
257
+ }
258
+ }
259
+ catch (e) {
260
+ console.error('Failed to close websocket', e);
261
+ }
251
262
  const port = searchParams?.get('port') || '3001';
252
263
  try {
253
264
  socket = new WebSocket(`ws://localhost:${port}/ws`);
@@ -264,7 +275,15 @@ function connectWs() {
264
275
  console.log('Received invalid JSON: ' + msg);
265
276
  return;
266
277
  }
267
- replaceScript(data);
278
+ if (data.type == 'script') {
279
+ replaceScript(data);
280
+ }
281
+ else if (data.type == 'flow') {
282
+ replaceFlow(data);
283
+ }
284
+ else {
285
+ sendUserToast(`Received invalid message type ${data.type}`, true);
286
+ }
268
287
  }
269
288
  }
270
289
  catch (e) {
@@ -325,6 +344,7 @@ async function onKeyDown(event) {
325
344
  let relativePaths = [];
326
345
  let lastPath = undefined;
327
346
  async function replaceScript(lastEdit) {
347
+ mode = 'script';
328
348
  currentScript = lastEdit;
329
349
  if (lastPath !== lastEdit.path) {
330
350
  schema = emptySchema();
@@ -356,6 +376,7 @@ const flowStore = writable({
356
376
  });
357
377
  let lastUriPath = undefined;
358
378
  async function replaceFlow(lastEdit) {
379
+ mode = 'flow';
359
380
  lastUriPath = lastEdit.uriPath;
360
381
  // sendUserToast(JSON.stringify(lastEdit.flow), true)
361
382
  // return
@@ -605,6 +626,7 @@ async function inferModuleArgs(selectedIdStore) {
605
626
  <Splitpanes horizontal class="h-full max-h-screen grow">
606
627
  <Pane size={67}>
607
628
  {#if $flowStore?.value?.modules}
629
+ <div id="flow-editor" />
608
630
  <FlowModuleSchemaMap
609
631
  bind:modules={$flowStore.value.modules}
610
632
  disableAi
@@ -22,6 +22,7 @@ import { convertJsonToCsv } from './table/tableUtils';
22
22
  import Tooltip from './Tooltip.svelte';
23
23
  import HighlightTheme from './HighlightTheme.svelte';
24
24
  import PdfViewer from './display/PdfViewer.svelte';
25
+ import { getContext, hasContext } from 'svelte';
25
26
  export let result;
26
27
  export let requireHtmlApproval = false;
27
28
  export let filename = undefined;
@@ -34,10 +35,12 @@ export let drawerOpen = false;
34
35
  export let nodeId = undefined;
35
36
  export let language = undefined;
36
37
  export let appPath = undefined;
38
+ export let customUi = undefined;
37
39
  const IMG_MAX_SIZE = 10000000;
38
40
  const TABLE_MAX_SIZE = 5000000;
39
41
  const DISPLAY_MAX_SIZE = 100000;
40
42
  let resultKind;
43
+ let hasBigInt = false;
41
44
  $: resultKind = inferResultKind(result);
42
45
  export let forceJson = false;
43
46
  let enableHtml = false;
@@ -109,6 +112,12 @@ function inferResultKind(result) {
109
112
  else {
110
113
  largeObject = size > DISPLAY_MAX_SIZE;
111
114
  }
115
+ if (!largeObject) {
116
+ hasBigInt = checkIfHasBigInt(result);
117
+ if (hasBigInt) {
118
+ return 'json';
119
+ }
120
+ }
112
121
  if (Array.isArray(result)) {
113
122
  if (result.length === 0) {
114
123
  return 'json';
@@ -207,6 +216,18 @@ function toJsonStr(result) {
207
216
  return 'error stringifying object: ' + e.toString();
208
217
  }
209
218
  }
219
+ function checkIfHasBigInt(result) {
220
+ if (typeof result === 'number' && Number.isInteger(result) && !Number.isSafeInteger(result)) {
221
+ return true;
222
+ }
223
+ if (Array.isArray(result)) {
224
+ return result.some(checkIfHasBigInt);
225
+ }
226
+ if (result && typeof result === 'object') {
227
+ return Object.values(result).some(checkIfHasBigInt);
228
+ }
229
+ return false;
230
+ }
210
231
  function contentOrRootString(obj) {
211
232
  if (obj == undefined || obj == null) {
212
233
  return '';
@@ -286,6 +307,9 @@ function arrayOfRowsToObjects(input) {
286
307
  }
287
308
  let globalForceJson = false;
288
309
  let seeS3PreviewFileFromList = '';
310
+ const disableTooltips = hasContext('disableTooltips')
311
+ ? getContext('disableTooltips') === true
312
+ : false;
289
313
  </script>
290
314
 
291
315
  <HighlightTheme />
@@ -299,10 +323,11 @@ let seeS3PreviewFileFromList = '';
299
323
  on:selected={(ev) => {
300
324
  globalForceJson = ev.detail === 'json'
301
325
  }}
326
+ let:item
302
327
  >
303
- <ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} />
328
+ <ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} {item} />
304
329
 
305
- <ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} />
330
+ <ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} {item} />
306
331
  </ToggleButtonGroup>
307
332
  </div>
308
333
  {/if}
@@ -321,55 +346,71 @@ let seeS3PreviewFileFromList = '';
321
346
  />
322
347
  {/each}</div
323
348
  >
324
- {:else if resultKind === 'nondisplayable'}<div class="text-red-400">Non displayable object</div
325
- >{:else}<div
349
+ {:else if resultKind === 'nondisplayable'}
350
+ <div class="text-red-400">Non displayable object</div>
351
+ {:else}
352
+ <div
326
353
  class="inline-highlight relative grow {['plain', 'markdown'].includes(resultKind ?? '')
327
354
  ? ''
328
355
  : 'min-h-[160px]'}"
329
- >{#if result != undefined && length != undefined && largeObject != undefined}<div
330
- class="flex justify-between items-center w-full"
331
- ><div class="text-tertiary text-sm">
356
+ >
357
+ {#if result != undefined && length != undefined && largeObject != undefined}
358
+ <div class="flex justify-between items-center w-full">
359
+ <div class="text-tertiary text-sm flex flex-row gap-2 items-center">
332
360
  {#if !hideAsJson && !['json', 's3object'].includes(resultKind ?? '') && typeof result === 'object'}<ToggleButtonGroup
333
361
  class="h-6"
334
362
  selected={forceJson ? 'json' : resultKind?.startsWith('table-') ? 'table' : 'pretty'}
363
+ let:item
335
364
  on:selected={(ev) => {
336
365
  forceJson = ev.detail === 'json'
337
366
  }}
338
367
  >
339
368
  {#if ['table-col', 'table-row', 'table-row-object'].includes(resultKind ?? '')}
340
- <ToggleButton class="px-1.5" value="table" label="Table" icon={Table2} />
369
+ <ToggleButton class="px-1.5" value="table" label="Table" icon={Table2} {item} />
341
370
  {:else}
342
- <ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} />
371
+ <ToggleButton
372
+ class="px-1.5"
373
+ value="pretty"
374
+ label="Pretty"
375
+ icon={Highlighter}
376
+ {item}
377
+ />
343
378
  {/if}
344
- <ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} />
379
+ <ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} {item} />
345
380
  </ToggleButtonGroup>
346
381
  {/if}
347
382
  </div>
348
383
  <div class="text-secondary text-xs flex gap-2.5 z-10 items-center">
349
- <slot name="copilot-fix" />
384
+ {#if customUi?.disableAiFix !== true}
385
+ <slot name="copilot-fix" />
386
+ {/if}
350
387
  {#if !disableExpand && !noControls}
351
- <a
352
- download="{filename ?? 'result'}.json"
353
- class="-mt-1 text-current"
354
- href={workspaceId && jobId
355
- ? nodeId
356
- ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
357
- : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
358
- : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
359
- >
360
- <Download size={14} />
361
- </a>
362
- <Popover
363
- documentationLink="https://www.windmill.dev/docs/core_concepts/rich_display_rendering"
364
- >
365
- <svelte:fragment slot="text">
366
- The result renderer in Windmill supports rich display rendering, allowing you to
367
- customize the display format of your results.
368
- </svelte:fragment>
369
- <div class="-mt-1">
370
- <InfoIcon size={14} />
371
- </div>
372
- </Popover>
388
+ {#if customUi?.disableDownload !== true}
389
+ <a
390
+ download="{filename ?? 'result'}.json"
391
+ class="-mt-1 text-current"
392
+ href={workspaceId && jobId
393
+ ? nodeId
394
+ ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
395
+ : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
396
+ : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
397
+ >
398
+ <Download size={14} />
399
+ </a>
400
+ {/if}
401
+ {#if disableTooltips !== true}
402
+ <Popover
403
+ documentationLink="https://www.windmill.dev/docs/core_concepts/rich_display_rendering"
404
+ >
405
+ <svelte:fragment slot="text">
406
+ The result renderer in Windmill supports rich display rendering, allowing you to
407
+ customize the display format of your results.
408
+ </svelte:fragment>
409
+ <div class="-mt-1">
410
+ <InfoIcon size={14} />
411
+ </div>
412
+ </Popover>
413
+ {/if}
373
414
  <button on:click={() => copyToClipboard(toJsonStr(result))} class="-mt-1">
374
415
  <ClipboardCopy size={14} />
375
416
  </button>
@@ -378,8 +419,9 @@ let seeS3PreviewFileFromList = '';
378
419
  </button>
379
420
  {/if}
380
421
  </div>
381
- </div><div class="grow"
382
- >{#if !forceJson && resultKind === 'table-col'}
422
+ </div>
423
+ <div class="grow">
424
+ {#if !forceJson && resultKind === 'table-col'}
383
425
  {@const data = 'table-col' in result ? result['table-col'] : result}
384
426
  <AutoDataTable objects={objectOfArraysToObjects(data)} />
385
427
  {:else if !forceJson && resultKind === 'table-row'}
@@ -597,16 +639,22 @@ let seeS3PreviewFileFromList = '';
597
639
  <img
598
640
  alt="preview rendered"
599
641
  class="w-auto h-full"
600
- src={`/api/w/${workspaceId}/${appPath ? 'apps_u/load_image_preview/' + appPath : 'job_helpers/load_image_preview'}?file_key=${result.s3}` +
601
- (result.storage ? `&storage=${result.storage}` : '')}
642
+ src={`/api/w/${workspaceId}/${
643
+ appPath
644
+ ? 'apps_u/load_image_preview/' + appPath
645
+ : 'job_helpers/load_image_preview'
646
+ }?file_key=${result.s3}` + (result.storage ? `&storage=${result.storage}` : '')}
602
647
  />
603
648
  </div>
604
649
  {:else if result?.s3?.endsWith('.pdf')}
605
650
  <div class="h-96 mt-2 border">
606
651
  <PdfViewer
607
652
  allowFullscreen
608
- source={`/api/w/${workspaceId}/${appPath ? 'apps_u/load_image_preview/' + appPath : 'job_helpers/load_image_preview'}?file_key=${result.s3}` +
609
- (result.storage ? `&storage=${result.storage}` : '')}
653
+ source={`/api/w/${workspaceId}/${
654
+ appPath
655
+ ? 'apps_u/load_image_preview/' + appPath
656
+ : 'job_helpers/load_image_preview'
657
+ }?file_key=${result.s3}` + (result.storage ? `&storage=${result.storage}` : '')}
610
658
  />
611
659
  </div>
612
660
  {/if}
@@ -693,7 +741,7 @@ let seeS3PreviewFileFromList = '';
693
741
  <div class="prose-xs dark:prose-invert !list-disc !list-outside">
694
742
  <Markdown md={result?.md ?? result?.markdown} />
695
743
  </div>
696
- {:else if largeObject}
744
+ {:else if largeObject || hasBigInt}
697
745
  {#if result && typeof result === 'object' && 'file' in result}
698
746
  <div
699
747
  ><a
@@ -703,34 +751,36 @@ let seeS3PreviewFileFromList = '';
703
751
  >
704
752
  </div>
705
753
  {:else}
706
- <div class="text-sm text-tertiary"
707
- ><a
708
- download="{filename ?? 'result'}.json"
709
- href={workspaceId && jobId
710
- ? nodeId
711
- ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
712
- : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
713
- : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
714
- >
715
- Download {filename ? '' : 'as JSON'}
716
- </a>
717
- {#if download_as_csv}
718
- <DownloadCsv
719
- getContent={() => convertJsonToCsv(result)}
720
- customText="Download as CSV"
721
- />
722
- {/if}
723
- </div>
754
+ {#if largeObject}
755
+ <div class="text-sm text-tertiary"
756
+ ><a
757
+ download="{filename ?? 'result'}.json"
758
+ href={workspaceId && jobId
759
+ ? nodeId
760
+ ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
761
+ : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
762
+ : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
763
+ >
764
+ Download {filename ? '' : 'as JSON'}
765
+ </a>
766
+ {#if download_as_csv}
767
+ <DownloadCsv
768
+ getContent={() => convertJsonToCsv(result)}
769
+ customText="Download as CSV"
770
+ />
771
+ {/if}
772
+ </div>
724
773
 
725
- <div class="mt-1 mb-2">
726
- <Alert
727
- size="xs"
728
- title="Large result detected"
729
- type="warning"
730
- tooltip="We recommend using persistent object storage for large result. See docs for setting up an object storage service integration using s3 or any other s3 compatible services."
731
- documentationLink="https://www.windmill.dev/docs/core_concepts/persistent_storage#object-storage-for-large-data-s3-r2-minio-azure-blob"
732
- />
733
- </div>
774
+ <div class="mt-1 mb-2">
775
+ <Alert
776
+ size="xs"
777
+ title="Large result detected"
778
+ type="warning"
779
+ tooltip="We recommend using persistent object storage for large result. See docs for setting up an object storage service integration using s3 or any other s3 compatible services."
780
+ documentationLink="https://www.windmill.dev/docs/core_concepts/persistent_storage#object-storage-for-large-data-s3-r2-minio-azure-blob"
781
+ />
782
+ </div>
783
+ {/if}
734
784
  {#if result && result != 'WINDMILL_TOO_BIG'}
735
785
  <ObjectViewer json={result} />
736
786
  {/if}
@@ -770,19 +820,21 @@ let seeS3PreviewFileFromList = '';
770
820
  <Drawer bind:this={jsonViewer} bind:open={drawerOpen} size="900px">
771
821
  <DrawerContent title="Expanded Result" on:close={jsonViewer.closeDrawer}>
772
822
  <svelte:fragment slot="actions">
773
- <Button
774
- download="{filename ?? 'result'}.json"
775
- href={workspaceId && jobId
776
- ? nodeId
777
- ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
778
- : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
779
- : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
780
- startIcon={{ icon: Download }}
781
- color="light"
782
- size="xs"
783
- >
784
- Download
785
- </Button>
823
+ {#if customUi?.disableDownload !== true}
824
+ <Button
825
+ download="{filename ?? 'result'}.json"
826
+ href={workspaceId && jobId
827
+ ? nodeId
828
+ ? `${base}/api/w/${workspaceId}/jobs/result_by_id/${jobId}/${nodeId}`
829
+ : `${base}/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
830
+ : `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
831
+ startIcon={{ icon: Download }}
832
+ color="light"
833
+ size="xs"
834
+ >
835
+ Download
836
+ </Button>
837
+ {/if}
786
838
  <Button
787
839
  on:click={() => copyToClipboard(toJsonStr(result))}
788
840
  color="light"
@@ -1,4 +1,5 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { DisplayResultUi } from './custom_ui';
2
3
  declare const __propDef: {
3
4
  props: {
4
5
  result: any;
@@ -13,6 +14,7 @@ declare const __propDef: {
13
14
  nodeId?: string | undefined;
14
15
  language?: string | undefined;
15
16
  appPath?: string | undefined;
17
+ customUi?: DisplayResultUi | undefined;
16
18
  forceJson?: boolean | undefined;
17
19
  };
18
20
  events: {
@@ -1,30 +1,103 @@
1
+ <script context="module">import { writable } from 'svelte/store';
2
+ const activeDropdown = writable({
3
+ id: null,
4
+ close: null
5
+ });
6
+ </script>
7
+
1
8
  <script>import { MoreVertical } from 'lucide-svelte';
2
- import Menu from './common/menu/MenuV2.svelte';
3
9
  import DropdownV2Inner from './DropdownV2Inner.svelte';
10
+ import { pointerDownOutside } from '../utils';
11
+ import { createDropdownMenu, melt, createSync } from '@melt-ui/svelte';
12
+ import ResolveOpen from './common/menu/ResolveOpen.svelte';
13
+ import Button from './common/button/Button.svelte';
14
+ import { twMerge } from 'tailwind-merge';
4
15
  export let items = [];
5
- export let justifyEnd = true;
6
16
  export let disabled = false;
17
+ export let placement = 'bottom-end';
18
+ export let usePointerDownOutside = false;
19
+ export let closeOnOtherDropdownOpen = true;
20
+ const { elements: { menu, item, trigger }, states, ids: { menu: dropdownId } } = createDropdownMenu({
21
+ positioning: {
22
+ placement
23
+ },
24
+ loop: true,
25
+ onOpenChange: ({ next }) => {
26
+ if (closeOnOtherDropdownOpen) {
27
+ if (next) {
28
+ // Close previous dropdown if exists
29
+ if ($activeDropdown.close && $activeDropdown.id !== $dropdownId) {
30
+ $activeDropdown.close();
31
+ }
32
+ // Set this dropdown as active
33
+ activeDropdown.set({ id: $dropdownId, close });
34
+ }
35
+ else if ($activeDropdown.id === $dropdownId) {
36
+ activeDropdown.set({ id: null, close: null });
37
+ }
38
+ }
39
+ return next;
40
+ }
41
+ });
42
+ let open = false;
43
+ const sync = createSync(states);
44
+ $: sync.open(open, (v) => (open = Boolean(v)));
45
+ export function close() {
46
+ open = false;
47
+ }
7
48
  async function computeItems() {
8
49
  if (typeof items === 'function') {
9
- return ((await items()) ?? []).filter((item) => !item.hide);
50
+ const result = await items();
51
+ return Array.isArray(result) ? result.filter((item) => !item.hide) : [];
10
52
  }
11
53
  else {
12
54
  return items.filter((item) => !item.hide);
13
55
  }
14
56
  }
57
+ async function getMenuElements() {
58
+ return Array.from(document.querySelectorAll('[data-menu]'));
59
+ }
15
60
  </script>
16
61
 
17
- <Menu placement="bottom-end" {justifyEnd} on:close on:open {disabled}>
18
- <div slot="trigger">
19
- {#if $$slots.buttonReplacement}
20
- <slot name="buttonReplacement" />
21
- {:else}
22
- <MoreVertical
23
- size={16}
24
- class="w-8 h-8 p-2 hover:bg-surface-hover cursor-pointer rounded-md"
25
- />
26
- {/if}
27
- </div>
62
+ <ResolveOpen {open} on:open on:close />
28
63
 
29
- <DropdownV2Inner items={computeItems} />
30
- </Menu>
64
+ <button
65
+ class={twMerge('w-full h-8 flex items-center justify-end', $$props.class)}
66
+ {...$trigger} use:$trigger.action
67
+ {disabled}
68
+ on:click={(e) => e.stopPropagation()}
69
+ use:pointerDownOutside={{
70
+ capture: true,
71
+ stopPropagation: false,
72
+ exclude: getMenuElements,
73
+ customEventName: 'pointerdown_menu'
74
+ }}
75
+ on:pointerdown_outside={() => {
76
+ if (usePointerDownOutside) {
77
+ close()
78
+ }
79
+ }}
80
+ data-menu
81
+ >
82
+ {#if $$slots.buttonReplacement}
83
+ <slot name="buttonReplacement" />
84
+ {:else}
85
+ <Button
86
+ nonCaptureEvent
87
+ size="xs"
88
+ color="light"
89
+ startIcon={{ icon: MoreVertical }}
90
+ btnClasses="bg-transparent"
91
+ />
92
+ {/if}
93
+ </button>
94
+
95
+ {#if open}
96
+ <div {...$menu} use:$menu.action data-menu class="z-[6000]">
97
+ <div
98
+ class="bg-surface border w-56 origin-top-right rounded-md shadow-md focus:outline-none overflow-y-auto py-1 max-h-[50vh]"
99
+ >
100
+ <DropdownV2Inner items={computeItems} meltItem={item} />
101
+ </div>
102
+ </div>
103
+ {/if}
@@ -1,37 +1,19 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { Placement } from '@floating-ui/core';
3
+ import type { Item } from '../utils';
2
4
  declare const __propDef: {
3
5
  props: {
4
- items?: {
5
- displayName: string;
6
- action?: ((e: CustomEvent<any>) => void) | undefined;
7
- icon?: any;
8
- href?: string | undefined;
9
- disabled?: boolean | undefined;
10
- type?: "delete" | "action" | undefined;
11
- hide?: boolean | undefined;
12
- }[] | (() => {
13
- displayName: string;
14
- action?: ((e: CustomEvent<any>) => void) | undefined;
15
- icon?: any;
16
- href?: string | undefined;
17
- disabled?: boolean | undefined;
18
- type?: "delete" | "action" | undefined;
19
- hide?: boolean | undefined;
20
- }[]) | (() => Promise<{
21
- displayName: string;
22
- action?: ((e: CustomEvent<any>) => void) | undefined;
23
- icon?: any;
24
- href?: string | undefined;
25
- disabled?: boolean | undefined;
26
- type?: "delete" | "action" | undefined;
27
- hide?: boolean | undefined;
28
- }[]>) | undefined;
29
- justifyEnd?: boolean | undefined;
6
+ [x: string]: any;
7
+ items?: Item[] | (() => Item[]) | (() => Promise<Item[]>) | undefined;
30
8
  disabled?: boolean | undefined;
9
+ placement?: Placement | undefined;
10
+ usePointerDownOutside?: boolean | undefined;
11
+ closeOnOtherDropdownOpen?: boolean | undefined;
12
+ close?: (() => void) | undefined;
31
13
  };
32
14
  events: {
33
- close: CustomEvent<any>;
34
15
  open: CustomEvent<any>;
16
+ close: CustomEvent<any>;
35
17
  } & {
36
18
  [evt: string]: CustomEvent<any>;
37
19
  };
@@ -43,5 +25,6 @@ export type DropdownV2Props = typeof __propDef.props;
43
25
  export type DropdownV2Events = typeof __propDef.events;
44
26
  export type DropdownV2Slots = typeof __propDef.slots;
45
27
  export default class DropdownV2 extends SvelteComponent<DropdownV2Props, DropdownV2Events, DropdownV2Slots> {
28
+ get close(): () => void;
46
29
  }
47
30
  export {};
@@ -1,7 +1,8 @@
1
- <script>import { MenuItem } from '@rgossiaux/svelte-headlessui';
1
+ <script>import { MenuItem } from './meltComponents';
2
2
  import { Loader2 } from 'lucide-svelte';
3
3
  import { twMerge } from 'tailwind-merge';
4
4
  export let items = [];
5
+ export let meltItem;
5
6
  let computedItems = undefined;
6
7
  async function computeItems() {
7
8
  if (typeof items === 'function') {
@@ -22,16 +23,18 @@ computeItems();
22
23
  href={item?.href}
23
24
  disabled={item?.disabled}
24
25
  class={twMerge(
25
- 'px-4 py-2 text-primary hover:bg-surface-hover hover:text-primary cursor-pointer text-xs transition-all',
26
+ 'px-4 py-2 text-primary font-semibold hover:bg-surface-hover cursor-pointer text-xs transition-all',
27
+ 'data-[highlighted]:bg-surface-hover',
26
28
  'flex flex-row gap-2 items-center',
27
29
  item?.disabled && 'text-gray-400 cursor-not-allowed',
28
30
  item?.type === 'delete' &&
29
31
  !item?.disabled &&
30
- 'text-red-500 hover:bg-red-100 hover:text-red-500'
32
+ 'text-red-500 hover:bg-red-100 hover:text-red-500 data-[highlighted]:text-red-500 data-[highlighted]:bg-red-100'
31
33
  )}
34
+ item={meltItem}
32
35
  >
33
36
  {#if item.icon}
34
- <svelte:component this={item.icon} size={14} />
37
+ <svelte:component this={item.icon} size={14} color={item.iconColor} />
35
38
  {/if}
36
39
  {item.displayName}
37
40
  </MenuItem>