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
@@ -0,0 +1,112 @@
1
+ <script>import { userStore, workspaceStore } from '../../../stores';
2
+ import { PostgresTriggerService } from '../../../gen';
3
+ import { canWrite, sendUserToast } from '../../../utils';
4
+ import { getContext, onMount } from 'svelte';
5
+ import { isCloudHosted } from '../../../cloud';
6
+ import { Alert } from '../../common';
7
+ import PostgresTriggerEditor from './PostgresTriggerEditor.svelte';
8
+ import Description from '../../Description.svelte';
9
+ import TriggersEditorSection from '../TriggersEditorSection.svelte';
10
+ import Section from '../../Section.svelte';
11
+ export let isFlow;
12
+ export let path;
13
+ export let newItem = false;
14
+ export let canHavePreprocessor = false;
15
+ export let hasPreprocessor = false;
16
+ export let isEditor = false;
17
+ let postgresTriggerEditor;
18
+ let openForm = true;
19
+ let dontCloseOnLoad = false;
20
+ $: path && loadTriggers();
21
+ const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
22
+ onMount(() => {
23
+ if (defaultValues &&
24
+ $selectedTrigger === 'postgres' &&
25
+ Object.keys($defaultValues ?? {}).length > 0) {
26
+ postgresTriggerEditor.openNew(isFlow, path, $defaultValues);
27
+ defaultValues.set(undefined);
28
+ }
29
+ });
30
+ let postgresTriggers = undefined;
31
+ export async function loadTriggers() {
32
+ try {
33
+ postgresTriggers = (await PostgresTriggerService.listPostgresTriggers({
34
+ workspace: $workspaceStore ?? '',
35
+ path,
36
+ isFlow
37
+ })).map((x) => {
38
+ return { canWrite: canWrite(x.path, x.extra_perms, $userStore), ...x };
39
+ });
40
+ $triggersCount = { ...($triggersCount ?? {}), postgres_count: postgresTriggers?.length };
41
+ openForm = postgresTriggers?.length === 0 || dontCloseOnLoad;
42
+ }
43
+ catch (err) {
44
+ sendUserToast(`Could not load postgres triggers ${err.body}`, true);
45
+ }
46
+ }
47
+ </script>
48
+
49
+ <PostgresTriggerEditor
50
+ on:update={() => {
51
+ loadTriggers()
52
+ }}
53
+ bind:this={postgresTriggerEditor}
54
+ />
55
+ {#if isCloudHosted()}
56
+ <Alert title="Not compatible with multi-tenant cloud" type="warning">
57
+ Postgres triggers are disabled in the multi-tenant cloud.
58
+ </Alert>
59
+ {:else}
60
+ <div class="flex flex-col gap-4">
61
+ <Description link="https://www.windmill.dev/docs/core_concepts/postgres_triggers">
62
+ Windmill can connect to a Postgres database and trigger runnables (scripts, flows) in response
63
+ to database transactions (INSERT, UPDATE, DELETE) on specified tables, schemas, or the entire
64
+ database. Listening is done using Postgres's logical replication streaming protocol, ensuring
65
+ efficient and low-latency triggering.
66
+ </Description>
67
+
68
+ {#if !newItem && postgresTriggers && postgresTriggers.length > 0}
69
+ <Section label="Postgres">
70
+ <div class="flex flex-col gap-4">
71
+ <div class="flex flex-col divide-y pt-2">
72
+ {#each postgresTriggers as postgresTriggers (postgresTriggers.path)}
73
+ <div class="grid grid-cols-5 text-2xs items-center py-2">
74
+ <div class="col-span-2 truncate">{postgresTriggers.path}</div>
75
+ <div class="flex justify-end">
76
+ <button
77
+ on:click={() => postgresTriggerEditor?.openEdit(postgresTriggers.path, isFlow)}
78
+ class="px-2"
79
+ >
80
+ {#if postgresTriggers.canWrite}
81
+ Edit
82
+ {:else}
83
+ View
84
+ {/if}
85
+ </button>
86
+ </div>
87
+ </div>
88
+ {/each}
89
+ </div>
90
+ </div>
91
+ </Section>
92
+ {/if}
93
+ <TriggersEditorSection
94
+ on:applyArgs
95
+ on:saveTrigger={(e) => {
96
+ postgresTriggerEditor?.openNew(isFlow, path, e.detail.config)
97
+ }}
98
+ on:addPreprocessor
99
+ on:updateSchema
100
+ on:testWithArgs
101
+ cloudDisabled={false}
102
+ triggerType="postgres"
103
+ {isFlow}
104
+ {path}
105
+ {isEditor}
106
+ {canHavePreprocessor}
107
+ {hasPreprocessor}
108
+ {newItem}
109
+ {openForm}
110
+ />
111
+ </div>
112
+ {/if}
@@ -0,0 +1,28 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ isFlow: boolean;
5
+ path: string;
6
+ newItem?: boolean | undefined;
7
+ canHavePreprocessor?: boolean | undefined;
8
+ hasPreprocessor?: boolean | undefined;
9
+ isEditor?: boolean | undefined;
10
+ loadTriggers?: (() => Promise<void>) | undefined;
11
+ };
12
+ events: {
13
+ applyArgs: any;
14
+ addPreprocessor: any;
15
+ updateSchema: any;
16
+ testWithArgs: any;
17
+ } & {
18
+ [evt: string]: CustomEvent<any>;
19
+ };
20
+ slots: {};
21
+ };
22
+ export type PostgresTriggersPanelProps = typeof __propDef.props;
23
+ export type PostgresTriggersPanelEvents = typeof __propDef.events;
24
+ export type PostgresTriggersPanelSlots = typeof __propDef.slots;
25
+ export default class PostgresTriggersPanel extends SvelteComponent<PostgresTriggersPanelProps, PostgresTriggersPanelEvents, PostgresTriggersPanelSlots> {
26
+ get loadTriggers(): () => Promise<void>;
27
+ }
28
+ export {};
@@ -0,0 +1,129 @@
1
+ <script>import Select from '../../apps/svelte-select/lib/Select.svelte';
2
+ import { Button } from '../../common';
3
+ import DarkModeObserver from '../../DarkModeObserver.svelte';
4
+ import { SELECT_INPUT_DEFAULT_STYLE } from '../../../defaults';
5
+ import { PostgresTriggerService } from '../../../gen/services.gen';
6
+ import { workspaceStore } from '../../../stores';
7
+ import { sendUserToast } from '../../../toast';
8
+ import { emptyString } from '../../../utils';
9
+ import { RefreshCw } from 'lucide-svelte';
10
+ export let items = [];
11
+ export let can_write = true;
12
+ export let publication_name = '';
13
+ export let postgres_resource_path = '';
14
+ export let relations = [];
15
+ export let transaction_to_track = [];
16
+ export let selectedTable = 'specific';
17
+ async function listDatabasePublication() {
18
+ try {
19
+ const publications = await PostgresTriggerService.listPostgresPublication({
20
+ path: postgres_resource_path,
21
+ workspace: $workspaceStore
22
+ });
23
+ items = publications;
24
+ }
25
+ catch (error) {
26
+ sendUserToast(error.body, true);
27
+ }
28
+ }
29
+ async function updatePublication() {
30
+ try {
31
+ const message = await PostgresTriggerService.updatePostgresPublication({
32
+ path: postgres_resource_path,
33
+ workspace: $workspaceStore,
34
+ publication: publication_name,
35
+ requestBody: {
36
+ table_to_track: relations,
37
+ transaction_to_track: transaction_to_track
38
+ }
39
+ });
40
+ sendUserToast(message);
41
+ }
42
+ catch (error) {
43
+ sendUserToast(error.body, true);
44
+ }
45
+ }
46
+ async function deletePublication() {
47
+ try {
48
+ const message = await PostgresTriggerService.deletePostgresPublication({
49
+ path: postgres_resource_path,
50
+ workspace: $workspaceStore,
51
+ publication: publication_name
52
+ });
53
+ items = items.filter((item) => item != publication_name);
54
+ relations = [];
55
+ transaction_to_track = ['Insert', 'Update', 'Delete'];
56
+ publication_name = '';
57
+ sendUserToast(message);
58
+ }
59
+ catch (error) {
60
+ sendUserToast(error.body, true);
61
+ }
62
+ }
63
+ async function getAllRelations() {
64
+ try {
65
+ const publication_data = await PostgresTriggerService.getPostgresPublication({
66
+ path: postgres_resource_path,
67
+ workspace: $workspaceStore,
68
+ publication: publication_name
69
+ });
70
+ transaction_to_track = [...publication_data.transaction_to_track];
71
+ relations = publication_data.table_to_track ?? [];
72
+ if (relations.length === 0) {
73
+ selectedTable = 'all';
74
+ }
75
+ else {
76
+ selectedTable = 'specific';
77
+ }
78
+ selectedTable = selectedTable;
79
+ }
80
+ catch (error) {
81
+ sendUserToast(error.body, true);
82
+ }
83
+ }
84
+ listDatabasePublication();
85
+ let darkMode = false;
86
+ $: publication_name && getAllRelations();
87
+ </script>
88
+
89
+ <DarkModeObserver bind:darkMode />
90
+
91
+ <div class="flex gap-1">
92
+ <Select
93
+ disabled={!can_write}
94
+ class="grow shrink max-w-full"
95
+ bind:justValue={publication_name}
96
+ value={publication_name}
97
+ {items}
98
+ placeholder="Choose a publication"
99
+ inputStyles={SELECT_INPUT_DEFAULT_STYLE.inputStyles}
100
+ containerStyles={darkMode
101
+ ? SELECT_INPUT_DEFAULT_STYLE.containerStylesDark
102
+ : SELECT_INPUT_DEFAULT_STYLE.containerStyles}
103
+ portal={false}
104
+ on:select={getAllRelations}
105
+ />
106
+ <Button
107
+ disabled={!can_write}
108
+ variant="border"
109
+ color="light"
110
+ wrapperClasses="self-stretch"
111
+ on:click={listDatabasePublication}
112
+ startIcon={{ icon: RefreshCw }}
113
+ iconOnly
114
+ />
115
+ <Button
116
+ color="light"
117
+ size="xs"
118
+ variant="border"
119
+ disabled={emptyString(publication_name) || !can_write}
120
+ on:click={updatePublication}>Update</Button
121
+ >
122
+ <Button
123
+ color="light"
124
+ size="xs"
125
+ variant="border"
126
+ disabled={emptyString(publication_name) || !can_write}
127
+ on:click={deletePublication}>Delete</Button
128
+ >
129
+ </div>
@@ -0,0 +1,23 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { Relations } from '../../../gen';
3
+ declare const __propDef: {
4
+ props: {
5
+ items?: string[] | undefined;
6
+ can_write?: boolean | undefined;
7
+ publication_name?: string | undefined;
8
+ postgres_resource_path?: string | undefined;
9
+ relations?: Relations[] | undefined;
10
+ transaction_to_track?: string[] | undefined;
11
+ selectedTable?: "all" | "specific" | undefined;
12
+ };
13
+ events: {
14
+ [evt: string]: CustomEvent<any>;
15
+ };
16
+ slots: {};
17
+ };
18
+ export type PublicationPickerProps = typeof __propDef.props;
19
+ export type PublicationPickerEvents = typeof __propDef.events;
20
+ export type PublicationPickerSlots = typeof __propDef.slots;
21
+ export default class PublicationPicker extends SvelteComponent<PublicationPickerProps, PublicationPickerEvents, PublicationPickerSlots> {
22
+ }
23
+ export {};
@@ -0,0 +1,266 @@
1
+ <script>import { Button } from '../../common';
2
+ import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
3
+ import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
4
+ import Tooltip from '../../Tooltip.svelte';
5
+ import { Plus, Trash, X } from 'lucide-svelte';
6
+ import MultiSelect from 'svelte-multiselect';
7
+ import { invalidRelations } from './utils';
8
+ import AddPropertyFormV2 from '../../schema/AddPropertyFormV2.svelte';
9
+ import Label from '../../Label.svelte';
10
+ import { emptyStringTrimmed, sendUserToast } from '../../../utils';
11
+ export let relations = [];
12
+ export let selectedTable;
13
+ export let can_write = true;
14
+ let cached = relations;
15
+ const defaultRelations = [
16
+ {
17
+ schema_name: 'public',
18
+ table_to_track: []
19
+ }
20
+ ];
21
+ function addTable(name, index) {
22
+ if (relations == undefined || !Array.isArray(relations)) {
23
+ relations = [];
24
+ relations = relations.concat({
25
+ schema_name: 'public',
26
+ table_to_track: []
27
+ });
28
+ }
29
+ relations[index].table_to_track = relations[index].table_to_track.concat({
30
+ table_name: name,
31
+ columns_name: []
32
+ });
33
+ }
34
+ </script>
35
+
36
+ <div class="flex flex-col gap-4 h-full">
37
+ <div class="grow-0 flex flex-row gap-2 w-full items-center">
38
+ <div class="grow-0">
39
+ <ToggleButtonGroup
40
+ on:selected={({ detail }) => {
41
+ if (detail === 'all') {
42
+ cached = relations
43
+ relations = []
44
+ } else {
45
+ if (cached.length === 0) {
46
+ relations = defaultRelations
47
+ } else {
48
+ relations = cached
49
+ }
50
+ }
51
+ selectedTable = detail
52
+ }}
53
+ selected={selectedTable}
54
+ let:item
55
+ >
56
+ <ToggleButton value="all" label="All Tables" light {item} />
57
+ <ToggleButton value="specific" label="Specific Tables" light {item} />
58
+ </ToggleButtonGroup>
59
+ </div>
60
+ </div>
61
+ {#if selectedTable !== 'all'}
62
+ {#if relations && relations.length > 0}
63
+ <div class="flex flex-col gap-4 grow min-h-0 overflow-y-auto">
64
+ {#each relations as v, i}
65
+ <div class="flex w-full gap-3 items-center">
66
+ <div class="w-full flex flex-col gap-2 border py-2 px-4 rounded-md">
67
+ <Label label="Schema Name" required class="w-full">
68
+ <svelte:fragment slot="header">
69
+ <Tooltip small>
70
+ <p>
71
+ Enter the name of the <strong>schema</strong> that contains the table(s) you
72
+ want to track.
73
+ <br />If no tables are added, all tables within the <strong>schema</strong> will
74
+ be tracked for the selected transactions (insert, update, delete).
75
+ </p>
76
+ </Tooltip>
77
+ </svelte:fragment>
78
+
79
+ <input class="mt-1" type="text" bind:value={v.schema_name} />
80
+ </Label>
81
+ <div class="flex flex-col w-full gap-4 items-center p-5">
82
+ {#each v.table_to_track as table_to_track, j}
83
+ <div
84
+ class="relative rounded bg-surface-disabled p-2 flex w-full flex-col gap-4 group"
85
+ >
86
+ <Label label="Table Name" required>
87
+ <svelte:fragment slot="header">
88
+ <Tooltip small>Enter the name of the table you want to track.</Tooltip>
89
+ </svelte:fragment>
90
+ <input
91
+ type="text"
92
+ bind:value={table_to_track.table_name}
93
+ class="!bg-surface mt-1"
94
+ />
95
+ </Label>
96
+ <!-- svelte-ignore a11y-label-has-associated-control -->
97
+ <Label label="Columns">
98
+ <svelte:fragment slot="header">
99
+ <Tooltip
100
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#selecting-specific-columns"
101
+ small
102
+ >
103
+ <p>
104
+ Enter the names of the <strong>columns</strong> you want to track.
105
+ <br />If no columns are specified, all columns in the table will be
106
+ tracked for the selected transactions (insert, update, delete).
107
+ </p>
108
+ <p class="text-xs text-gray-500 mt-1">
109
+ <strong class="font-semibold">Note:</strong>
110
+ <br />- If your trigger contains <strong>UPDATE</strong> or
111
+ <strong>DELETE</strong>
112
+ transactions, the row filter WHERE clause must contain only columns covered
113
+ by the <strong>replica identity</strong> (see REPLICA IDENTITY).
114
+ <br />- If your trigger contains only <strong>INSERT</strong> transactions,
115
+ the row filter WHERE clause can use any column.
116
+ </p>
117
+ </Tooltip>
118
+ </svelte:fragment>
119
+ <div class="mt-1">
120
+ <MultiSelect
121
+ options={table_to_track.columns_name ?? []}
122
+ allowUserOptions="append"
123
+ bind:selected={table_to_track.columns_name}
124
+ ulOptionsClass={'!bg-surface !text-sm'}
125
+ ulSelectedClass="!text-sm"
126
+ outerDivClass="!bg-surface !min-h-[38px] !border-[#d1d5db]"
127
+ noMatchingOptionsMsg=""
128
+ createOptionMsg={null}
129
+ duplicates={false}
130
+ placeholder="Select columns"
131
+ --sms-options-margin="4px"
132
+ >
133
+ <svelte:fragment slot="remove-icon">
134
+ <div class="hover:text-primary p-0.5">
135
+ <X size={12} />
136
+ </div>
137
+ </svelte:fragment>
138
+ </MultiSelect>
139
+ </div>
140
+ </Label>
141
+ <Label label="Where Clause">
142
+ <svelte:fragment slot="header">
143
+ <Tooltip
144
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#filtering-rows-with-where-condition"
145
+ small
146
+ >
147
+ <p class="text-sm">
148
+ Use this field to define a row filter for the selected table. The <strong
149
+ >WHERE</strong
150
+ > clause allows only simple expressions and cannot include user-defined functions,
151
+ operators, types, collations, system column references, or non-immutable
152
+ built-in functions.
153
+ </p>
154
+ <p class="text-xs text-gray-500 mt-1">
155
+ <strong class="font-semibold">Note:</strong>
156
+ <br />- If your trigger contains <strong>UPDATE</strong> or
157
+ <strong>DELETE</strong>
158
+ transactions, the row filter WHERE clause must contain only columns covered
159
+ by the <strong>replica identity</strong> (see REPLICA IDENTITY).
160
+ <br />- If your trigger contains only <strong>INSERT</strong> transactions,
161
+ the row filter WHERE clause can use any column.
162
+ </p>
163
+ </Tooltip>
164
+ </svelte:fragment>
165
+ <input
166
+ type="text"
167
+ bind:value={table_to_track.where_clause}
168
+ class="!bg-surface mt-1"
169
+ />
170
+ </Label>
171
+ <Button
172
+ variant="border"
173
+ wrapperClasses="absolute -top-3 -right-3"
174
+ btnClasses="hidden group-hover:block hover:bg-red-500 hover:text-white p-2 rounded-full hover:border-red-500 transition-all duration-300"
175
+ color="light"
176
+ size="xs"
177
+ on:click={() => {
178
+ v.table_to_track = v.table_to_track.filter((_, index) => index !== j)
179
+ }}
180
+ iconOnly
181
+ startIcon={{ icon: Trash }}
182
+ />
183
+ </div>
184
+ {/each}
185
+ <AddPropertyFormV2
186
+ customName="Table"
187
+ on:add={({ detail }) => {
188
+ addTable(detail.name, i)
189
+ }}
190
+ >
191
+ <svelte:fragment slot="trigger">
192
+ <Button
193
+ wrapperClasses="w-full border border-dashed rounded-md"
194
+ color="light"
195
+ size="xs"
196
+ startIcon={{ icon: Plus }}
197
+ nonCaptureEvent
198
+ >
199
+ Add table
200
+ </Button>
201
+ </svelte:fragment>
202
+ </AddPropertyFormV2>
203
+ </div>
204
+ </div>
205
+
206
+ <Button
207
+ variant="border"
208
+ color="light"
209
+ size="xs"
210
+ btnClasses="bg-surface-secondary hover:bg-red-500 hover:text-white p-2 rounded-full"
211
+ aria-label="Clear"
212
+ on:click={() => {
213
+ relations = relations.filter((_, index) => index !== i)
214
+ }}
215
+ >
216
+ <Trash size={14} />
217
+ </Button>
218
+ </div>
219
+ {/each}
220
+ </div>
221
+ {/if}
222
+ <div class="grow min-w-0 pr-10">
223
+ <AddPropertyFormV2
224
+ customName="Schema"
225
+ on:add={({ detail }) => {
226
+ if (relations == undefined || !Array.isArray(relations)) {
227
+ relations = []
228
+ relations = relations.concat({
229
+ schema_name: 'public',
230
+ table_to_track: []
231
+ })
232
+ } else if (emptyStringTrimmed(detail.name)) {
233
+ sendUserToast('Schema name must not be empty', true)
234
+ } else {
235
+ const appendedRelations = relations.concat({
236
+ schema_name: detail.name,
237
+ table_to_track: []
238
+ })
239
+ if (
240
+ invalidRelations(appendedRelations, {
241
+ showError: true,
242
+ trackSchemaTableError: false
243
+ }) === false
244
+ ) {
245
+ relations = appendedRelations
246
+ }
247
+ }
248
+ }}
249
+ >
250
+ <svelte:fragment slot="trigger">
251
+ <Button
252
+ variant="border"
253
+ color="light"
254
+ size="xs"
255
+ btnClasses="w-full"
256
+ disabled={!can_write}
257
+ startIcon={{ icon: Plus }}
258
+ nonCaptureEvent
259
+ >
260
+ Add schema
261
+ </Button>
262
+ </svelte:fragment>
263
+ </AddPropertyFormV2>
264
+ </div>
265
+ {/if}
266
+ </div>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { Relations } from '../../../gen';
3
+ declare const __propDef: {
4
+ props: {
5
+ relations?: Relations[] | undefined;
6
+ selectedTable: 'all' | 'specific';
7
+ can_write?: boolean | undefined;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type RelationPickerProps = typeof __propDef.props;
15
+ export type RelationPickerEvents = typeof __propDef.events;
16
+ export type RelationPickerSlots = typeof __propDef.slots;
17
+ export default class RelationPicker extends SvelteComponent<RelationPickerProps, RelationPickerEvents, RelationPickerSlots> {
18
+ }
19
+ export {};
@@ -0,0 +1,92 @@
1
+ <script>import Select from '../../apps/svelte-select/lib/Select.svelte';
2
+ import { Button } from '../../common';
3
+ import DarkModeObserver from '../../DarkModeObserver.svelte';
4
+ import { SELECT_INPUT_DEFAULT_STYLE } from '../../../defaults';
5
+ import { PostgresTriggerService } from '../../../gen';
6
+ import { workspaceStore } from '../../../stores';
7
+ import { sendUserToast } from '../../../toast';
8
+ import { emptyString } from '../../../utils';
9
+ import { RefreshCw } from 'lucide-svelte';
10
+ export let edit;
11
+ export let replication_slot_name = '';
12
+ export let postgres_resource_path = '';
13
+ let items = [];
14
+ async function listDatabaseSlot() {
15
+ try {
16
+ const result = await PostgresTriggerService.listPostgresReplicationSlot({
17
+ path: postgres_resource_path,
18
+ workspace: $workspaceStore
19
+ });
20
+ let exist = false;
21
+ items = result
22
+ .map((slot) => {
23
+ if (replication_slot_name && replication_slot_name === slot.slot_name) {
24
+ exist = true;
25
+ }
26
+ if (!emptyString(slot.slot_name) && !slot.active) {
27
+ return slot.slot_name;
28
+ }
29
+ })
30
+ .filter((slot) => slot != undefined);
31
+ if (edit && replication_slot_name) {
32
+ if (!exist) {
33
+ sendUserToast(`Replication ${replication_slot_name} does not exist`, true);
34
+ }
35
+ }
36
+ }
37
+ catch (error) {
38
+ sendUserToast(error.body, true);
39
+ }
40
+ }
41
+ async function deleteSlot() {
42
+ try {
43
+ const message = await PostgresTriggerService.deletePostgresReplicationSlot({
44
+ path: postgres_resource_path,
45
+ workspace: $workspaceStore,
46
+ requestBody: {
47
+ name: replication_slot_name
48
+ }
49
+ });
50
+ items = items.filter((item) => item != replication_slot_name);
51
+ replication_slot_name = '';
52
+ sendUserToast(message);
53
+ }
54
+ catch (error) {
55
+ sendUserToast(error.body, true);
56
+ }
57
+ }
58
+ listDatabaseSlot();
59
+ let darkMode = false;
60
+ </script>
61
+
62
+ <DarkModeObserver bind:darkMode />
63
+
64
+ <div class="flex gap-1">
65
+ <Select
66
+ class="grow shrink max-w-full"
67
+ bind:justValue={replication_slot_name}
68
+ value={replication_slot_name}
69
+ {items}
70
+ placeholder="Choose a slot name"
71
+ inputStyles={SELECT_INPUT_DEFAULT_STYLE.inputStyles}
72
+ containerStyles={darkMode
73
+ ? SELECT_INPUT_DEFAULT_STYLE.containerStylesDark
74
+ : SELECT_INPUT_DEFAULT_STYLE.containerStyles}
75
+ portal={false}
76
+ />
77
+ <Button
78
+ variant="border"
79
+ color="light"
80
+ wrapperClasses="self-stretch"
81
+ on:click={listDatabaseSlot}
82
+ startIcon={{ icon: RefreshCw }}
83
+ iconOnly
84
+ />
85
+ <Button
86
+ color="light"
87
+ size="xs"
88
+ variant="border"
89
+ disabled={emptyString(replication_slot_name)}
90
+ on:click={deleteSlot}>Delete</Button
91
+ >
92
+ </div>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ edit: boolean;
5
+ replication_slot_name?: string | undefined;
6
+ postgres_resource_path?: string | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type SlotPickerProps = typeof __propDef.props;
14
+ export type SlotPickerEvents = typeof __propDef.events;
15
+ export type SlotPickerSlots = typeof __propDef.slots;
16
+ export default class SlotPicker extends SvelteComponent<SlotPickerProps, SlotPickerEvents, SlotPickerSlots> {
17
+ }
18
+ export {};