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,578 @@
1
+ <script>import { Alert, Button, TabContent } from '../../common';
2
+ import Drawer from '../../common/drawer/Drawer.svelte';
3
+ import DrawerContent from '../../common/drawer/DrawerContent.svelte';
4
+ import Path from '../../Path.svelte';
5
+ import Required from '../../Required.svelte';
6
+ import ScriptPicker from '../../ScriptPicker.svelte';
7
+ import { PostgresTriggerService } from '../../../gen';
8
+ import { usedTriggerKinds, userStore, workspaceStore } from '../../../stores';
9
+ import { canWrite, emptyString, emptyStringTrimmed, sendUserToast } from '../../../utils';
10
+ import { createEventDispatcher } from 'svelte';
11
+ import Section from '../../Section.svelte';
12
+ import { Loader2, Save, X } from 'lucide-svelte';
13
+ import Label from '../../Label.svelte';
14
+ import Toggle from '../../Toggle.svelte';
15
+ import ResourcePicker from '../../ResourcePicker.svelte';
16
+ import { base } from '$app/paths';
17
+ import Tooltip from '../../Tooltip.svelte';
18
+ import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
19
+ import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
20
+ import MultiSelect from 'svelte-multiselect';
21
+ import PublicationPicker from './PublicationPicker.svelte';
22
+ import SlotPicker from './SlotPicker.svelte';
23
+ import { random_adj } from '../../random_positive_adjetive';
24
+ import Tabs from '../../common/tabs/Tabs.svelte';
25
+ import Tab from '../../common/tabs/Tab.svelte';
26
+ import RelationPicker from './RelationPicker.svelte';
27
+ import { invalidRelations } from './utils';
28
+ import CheckPostgresRequirement from './CheckPostgresRequirement.svelte';
29
+ let drawer;
30
+ let is_flow = false;
31
+ let initialPath = '';
32
+ let edit = true;
33
+ let itemKind = 'script';
34
+ let script_path = '';
35
+ let initialScriptPath = '';
36
+ let fixedScriptPath = '';
37
+ let path = '';
38
+ let pathError = '';
39
+ let enabled = false;
40
+ let dirtyPath = false;
41
+ let can_write = true;
42
+ let drawerLoading = true;
43
+ let postgres_resource_path = '';
44
+ let publication_name = '';
45
+ let replication_slot_name = '';
46
+ let relations = [];
47
+ let transaction_to_track = [];
48
+ let language = 'Typescript';
49
+ let loading = false;
50
+ let selectedPublicationAction;
51
+ let selectedSlotAction;
52
+ let publicationItems = [];
53
+ let transactionType = ['Insert', 'Update', 'Delete'];
54
+ let selectedTable = 'specific';
55
+ let tab = 'basic';
56
+ async function createPublication() {
57
+ try {
58
+ const message = await PostgresTriggerService.createPostgresPublication({
59
+ path: postgres_resource_path,
60
+ publication: publication_name,
61
+ workspace: $workspaceStore,
62
+ requestBody: {
63
+ transaction_to_track: transaction_to_track,
64
+ table_to_track: relations
65
+ }
66
+ });
67
+ sendUserToast(message);
68
+ }
69
+ catch (error) {
70
+ sendUserToast(error.body, true);
71
+ }
72
+ }
73
+ async function createSlot() {
74
+ try {
75
+ const message = await PostgresTriggerService.createPostgresReplicationSlot({
76
+ path: postgres_resource_path,
77
+ workspace: $workspaceStore,
78
+ requestBody: {
79
+ name: replication_slot_name
80
+ }
81
+ });
82
+ sendUserToast(message);
83
+ }
84
+ catch (error) {
85
+ sendUserToast(error.body, true);
86
+ }
87
+ }
88
+ const dispatch = createEventDispatcher();
89
+ $: is_flow = itemKind === 'flow';
90
+ export async function openEdit(ePath, isFlow) {
91
+ drawerLoading = true;
92
+ try {
93
+ drawer?.openDrawer();
94
+ initialPath = ePath;
95
+ itemKind = isFlow ? 'flow' : 'script';
96
+ edit = true;
97
+ dirtyPath = false;
98
+ selectedPublicationAction = 'get';
99
+ selectedSlotAction = 'get';
100
+ selectedPublicationAction = selectedPublicationAction;
101
+ selectedSlotAction = selectedSlotAction;
102
+ relations = [];
103
+ transaction_to_track = [];
104
+ tab = 'basic';
105
+ await loadTrigger();
106
+ }
107
+ catch (err) {
108
+ sendUserToast(`Could not load postgres trigger: ${err.body}`, true);
109
+ }
110
+ finally {
111
+ drawerLoading = false;
112
+ }
113
+ }
114
+ export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
115
+ drawerLoading = true;
116
+ try {
117
+ selectedPublicationAction = 'create';
118
+ selectedSlotAction = 'create';
119
+ selectedTable = 'specific';
120
+ tab = 'basic';
121
+ drawer?.openDrawer();
122
+ is_flow = nis_flow;
123
+ itemKind = nis_flow ? 'flow' : 'script';
124
+ initialScriptPath = '';
125
+ fixedScriptPath = fixedScriptPath_ ?? '';
126
+ script_path = fixedScriptPath;
127
+ path = '';
128
+ initialPath = '';
129
+ postgres_resource_path = defaultValues?.postgres_resource_path ?? '';
130
+ edit = false;
131
+ dirtyPath = false;
132
+ publication_name = `windmill_publication_${random_adj()}`;
133
+ replication_slot_name = `windmill_replication_${random_adj()}`;
134
+ transaction_to_track = defaultValues?.publication.transaction_to_track || [
135
+ 'Insert',
136
+ 'Update',
137
+ 'Delete'
138
+ ];
139
+ relations = defaultValues?.publication.table_to_track || [
140
+ {
141
+ schema_name: 'public',
142
+ table_to_track: []
143
+ }
144
+ ];
145
+ }
146
+ finally {
147
+ drawerLoading = false;
148
+ }
149
+ }
150
+ async function loadTrigger() {
151
+ const s = await PostgresTriggerService.getPostgresTrigger({
152
+ workspace: $workspaceStore,
153
+ path: initialPath
154
+ });
155
+ script_path = s.script_path;
156
+ initialScriptPath = s.script_path;
157
+ is_flow = s.is_flow;
158
+ path = s.path;
159
+ enabled = s.enabled;
160
+ postgres_resource_path = s.postgres_resource_path;
161
+ publication_name = s.publication_name;
162
+ replication_slot_name = s.replication_slot_name;
163
+ const publication_data = await PostgresTriggerService.getPostgresPublication({
164
+ path: postgres_resource_path,
165
+ workspace: $workspaceStore,
166
+ publication: publication_name
167
+ });
168
+ transaction_to_track = [...publication_data.transaction_to_track];
169
+ relations = publication_data.table_to_track ?? [];
170
+ selectedTable = relations.length === 0 ? 'all' : 'specific';
171
+ can_write = canWrite(s.path, s.extra_perms, $userStore);
172
+ }
173
+ async function updateTrigger() {
174
+ if (selectedTable === 'specific' &&
175
+ invalidRelations(relations, {
176
+ showError: true,
177
+ trackSchemaTableError: true
178
+ }) === true) {
179
+ return;
180
+ }
181
+ if (edit) {
182
+ await PostgresTriggerService.updatePostgresTrigger({
183
+ workspace: $workspaceStore,
184
+ path: initialPath,
185
+ requestBody: {
186
+ path,
187
+ script_path,
188
+ is_flow,
189
+ postgres_resource_path,
190
+ enabled,
191
+ replication_slot_name,
192
+ publication_name,
193
+ publication: tab === 'basic'
194
+ ? {
195
+ transaction_to_track,
196
+ table_to_track: relations
197
+ }
198
+ : undefined
199
+ }
200
+ });
201
+ sendUserToast(`PostgresTrigger ${path} updated`);
202
+ }
203
+ else {
204
+ await PostgresTriggerService.createPostgresTrigger({
205
+ workspace: $workspaceStore,
206
+ requestBody: {
207
+ path,
208
+ script_path,
209
+ is_flow,
210
+ enabled: true,
211
+ postgres_resource_path,
212
+ replication_slot_name: tab === 'basic' ? undefined : replication_slot_name,
213
+ publication_name: tab === 'basic' ? undefined : publication_name,
214
+ publication: {
215
+ transaction_to_track,
216
+ table_to_track: relations
217
+ }
218
+ }
219
+ });
220
+ sendUserToast(`PostgresTrigger ${path} created`);
221
+ }
222
+ if (!$usedTriggerKinds.includes('postgres')) {
223
+ $usedTriggerKinds = [...$usedTriggerKinds, 'postgres'];
224
+ }
225
+ dispatch('update');
226
+ drawer.closeDrawer();
227
+ }
228
+ const getTemplateScript = async () => {
229
+ if (relations.length === 0 || emptyString(postgres_resource_path)) {
230
+ sendUserToast('You must pick a database resource and choose at least one schema', true);
231
+ return;
232
+ }
233
+ try {
234
+ loading = true;
235
+ let templateId = await PostgresTriggerService.createTemplateScript({
236
+ workspace: $workspaceStore,
237
+ requestBody: {
238
+ relations,
239
+ language,
240
+ postgres_resource_path
241
+ }
242
+ });
243
+ window.open(`${base}/scripts/add?id=${templateId}`);
244
+ loading = false;
245
+ }
246
+ catch (error) {
247
+ loading = false;
248
+ sendUserToast(error.body, true);
249
+ }
250
+ };
251
+ </script>
252
+
253
+ <Drawer size="800px" bind:this={drawer}>
254
+ <DrawerContent
255
+ title={edit
256
+ ? can_write
257
+ ? `Edit Postgres trigger ${initialPath}`
258
+ : `Postgres trigger ${initialPath}`
259
+ : 'New Postgres trigger'}
260
+ on:close={drawer.closeDrawer}
261
+ >
262
+ <svelte:fragment slot="actions">
263
+ {#if !drawerLoading && can_write}
264
+ {#if edit}
265
+ <div class="mr-8 center-center -mt-1">
266
+ <Toggle
267
+ disabled={!can_write}
268
+ checked={enabled}
269
+ options={{ right: 'enable', left: 'disable' }}
270
+ on:change={async (e) => {
271
+ await PostgresTriggerService.setPostgresTriggerEnabled({
272
+ path: initialPath,
273
+ workspace: $workspaceStore ?? '',
274
+ requestBody: { enabled: e.detail }
275
+ })
276
+ sendUserToast(
277
+ `${e.detail ? 'enabled' : 'disabled'} postgres trigger ${initialPath}`
278
+ )
279
+ }}
280
+ />
281
+ </div>
282
+ {/if}
283
+ <Button
284
+ startIcon={{ icon: Save }}
285
+ disabled={pathError != '' ||
286
+ emptyString(postgres_resource_path) ||
287
+ emptyString(script_path) ||
288
+ (tab === 'advanced' && emptyString(replication_slot_name)) ||
289
+ emptyString(publication_name) ||
290
+ (selectedTable !== 'all' && tab === 'basic' && relations.length === 0) ||
291
+ transaction_to_track.length === 0 ||
292
+ !can_write}
293
+ on:click={updateTrigger}
294
+ >
295
+ Save
296
+ </Button>
297
+ {/if}
298
+ </svelte:fragment>
299
+ {#if drawerLoading}
300
+ <div class="flex flex-col items-center justify-center h-full w-full">
301
+ <Loader2 size="50" class="animate-spin" />
302
+ <p>Loading...</p>
303
+ </div>
304
+ {:else}
305
+ <Alert title="Info" type="info">
306
+ {#if edit}
307
+ Changes can take up to 30 seconds to take effect.
308
+ {:else}
309
+ New postgres triggers can take up to 30 seconds to start listening.
310
+ {/if}
311
+ </Alert>
312
+ <div class="flex flex-col gap-12 mt-6">
313
+ <Label label="Path">
314
+ <Path
315
+ bind:dirty={dirtyPath}
316
+ bind:error={pathError}
317
+ bind:path
318
+ {initialPath}
319
+ checkInitialPathExistence={!edit}
320
+ namePlaceholder="postgres_trigger"
321
+ kind="postgres_trigger"
322
+ disabled={!can_write}
323
+ />
324
+ </Label>
325
+ <Section label="Runnable">
326
+ <p class="text-xs text-tertiary">
327
+ Pick a script or flow to be triggered <Required required={true} />
328
+ </p>
329
+ <div class="flex flex-row mb-2">
330
+ <ScriptPicker
331
+ disabled={fixedScriptPath != '' || !can_write}
332
+ initialPath={fixedScriptPath || initialScriptPath}
333
+ kinds={['script']}
334
+ allowFlow={true}
335
+ bind:itemKind
336
+ bind:scriptPath={script_path}
337
+ allowRefresh
338
+ />
339
+
340
+ {#if script_path === undefined && is_flow === false}
341
+ <div class="flex">
342
+ <Button
343
+ disabled={!can_write}
344
+ btnClasses="ml-4 mt-2"
345
+ color="dark"
346
+ size="xs"
347
+ on:click={getTemplateScript}
348
+ target="_blank"
349
+ {loading}
350
+ >Create from template
351
+ <Tooltip light>
352
+ The conversion requires a <strong>database resource</strong> and at least one
353
+ <strong>schema</strong>
354
+ to be set.<br />
355
+ Please ensure these conditions are met before proceeding.
356
+ </Tooltip>
357
+ </Button>
358
+ </div>
359
+ {/if}
360
+ </div>
361
+ </Section>
362
+ <Section label="Database">
363
+ <p class="text-xs text-tertiary mb-2">
364
+ Pick a database to connect to <Required required={true} />
365
+ </p>
366
+ <div class="flex flex-col gap-8">
367
+ <div class="flex flex-col gap-2">
368
+ <ResourcePicker
369
+ disabled={!can_write}
370
+ bind:value={postgres_resource_path}
371
+ resourceType={'postgresql'}
372
+ />
373
+ <CheckPostgresRequirement bind:postgres_resource_path bind:can_write />
374
+ </div>
375
+
376
+ {#if postgres_resource_path}
377
+ <Label label="Transactions">
378
+ <svelte:fragment slot="header">
379
+ <Tooltip>
380
+ <p>
381
+ Choose the types of database transactions that should trigger a script or
382
+ flow. You can select from <strong>Insert</strong>, <strong>Update</strong>,
383
+ <strong>Delete</strong>, or any combination of these operations to define when
384
+ the trigger should activate.
385
+ </p>
386
+ </Tooltip>
387
+ </svelte:fragment>
388
+ <MultiSelect
389
+ noMatchingOptionsMsg=""
390
+ createOptionMsg={null}
391
+ duplicates={false}
392
+ options={transactionType}
393
+ allowUserOptions="append"
394
+ bind:selected={transaction_to_track}
395
+ ulOptionsClass={'!bg-surface !text-sm'}
396
+ ulSelectedClass="!text-sm"
397
+ outerDivClass="!bg-surface !min-h-[38px] !border-[#d1d5db]"
398
+ placeholder="Select transactions"
399
+ --sms-options-margin="4px"
400
+ --sms-open-z-index="100"
401
+ >
402
+ <svelte:fragment slot="remove-icon">
403
+ <div class="hover:text-primary p-0.5">
404
+ <X size={12} />
405
+ </div>
406
+ </svelte:fragment>
407
+ </MultiSelect>
408
+ </Label>
409
+ <Label label="Table Tracking">
410
+ <svelte:fragment slot="header">
411
+ <Tooltip
412
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#define-what-to-track"
413
+ >
414
+ <p>
415
+ Select the tables to track. You can choose to track
416
+ <strong>all tables in your database</strong>,
417
+ <strong>all tables within a specific schema</strong>,
418
+ <strong>specific tables in a schema</strong>, or even
419
+ <strong>specific columns of a table</strong>. Additionally, you can apply a
420
+ <strong>filter</strong> to retrieve only rows that do not match the specified criteria.
421
+ </p>
422
+ </Tooltip>
423
+ </svelte:fragment>
424
+ <Tabs bind:selected={tab}>
425
+ <Tab value="basic"
426
+ ><div class="flex flex-row gap-1"
427
+ >Basic<Tooltip
428
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#define-what-to-track"
429
+ ><p
430
+ >Choose the <strong>relations</strong> to track without worrying about the
431
+ underlying mechanics of creating a
432
+ <strong>publication</strong>
433
+ or <strong>slot</strong>. This simplified option lets you focus only on
434
+ the data you want to monitor.</p
435
+ ></Tooltip
436
+ ></div
437
+ ></Tab
438
+ >
439
+ <Tab value="advanced"
440
+ ><div class="flex flex-row gap-1"
441
+ >Advanced<Tooltip
442
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#advanced"
443
+ ><p
444
+ >Select a specific <strong>publication</strong> from your database to
445
+ track, and manage it by <strong>creating</strong>,
446
+ <strong>updating</strong>, or <strong>deleting</strong>. For
447
+ <strong>slots</strong>, you can <strong>create</strong> or
448
+ <strong>delete</strong>
449
+ them. Both <strong>non-active slots</strong> and the
450
+ <strong>currently used slot</strong> by the trigger will be retrieved from
451
+ your database for management.</p
452
+ ></Tooltip
453
+ ></div
454
+ ></Tab
455
+ >
456
+ <svelte:fragment slot="content">
457
+ <div class="mt-5 overflow-hidden bg-surface">
458
+ <TabContent value="basic">
459
+ <RelationPicker {can_write} bind:selectedTable bind:relations />
460
+ </TabContent>
461
+ <TabContent value="advanced">
462
+ <div class="flex flex-col gap-6"
463
+ ><Section
464
+ small
465
+ label="Replication slot"
466
+ tooltip="Choose and manage the slots for your trigger. You can create or delete slots. Both non-active slots and the currently used slot by the trigger (if any) will be retrieved from your database for management."
467
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#managing-postgres-replication-slots"
468
+ >
469
+ <div class="flex flex-col gap-3">
470
+ <ToggleButtonGroup
471
+ bind:selected={selectedSlotAction}
472
+ on:selected={() => {
473
+ replication_slot_name = ''
474
+ }}
475
+ disabled={!can_write}
476
+ let:item
477
+ >
478
+ <ToggleButton value="create" label="Create Slot" {item} />
479
+ <ToggleButton value="get" label="Get Slot" {item} />
480
+ </ToggleButtonGroup>
481
+ {#if selectedSlotAction === 'create'}
482
+ <div class="flex gap-3">
483
+ <input
484
+ type="text"
485
+ bind:value={replication_slot_name}
486
+ placeholder={'Choose a slot name'}
487
+ />
488
+ <Button
489
+ color="light"
490
+ size="xs"
491
+ variant="border"
492
+ disabled={emptyStringTrimmed(replication_slot_name)}
493
+ on:click={createSlot}>Create</Button
494
+ >
495
+ </div>
496
+ {:else}
497
+ <SlotPicker
498
+ bind:edit
499
+ {postgres_resource_path}
500
+ bind:replication_slot_name
501
+ />
502
+ {/if}
503
+ </div>
504
+ </Section>
505
+
506
+ <Section
507
+ small
508
+ label="Publication"
509
+ tooltip="Select and manage the publications for tracking data. You can create, update, or delete publications. Only existing publications in your database will be available for selection, giving you full control over what data is tracked."
510
+ documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#managing-postgres-publications"
511
+ >
512
+ <div class="flex flex-col gap-3">
513
+ <ToggleButtonGroup
514
+ selected={selectedPublicationAction}
515
+ disabled={!can_write}
516
+ on:selected={({ detail }) => {
517
+ selectedPublicationAction = detail
518
+ if (selectedPublicationAction === 'create') {
519
+ selectedTable = 'specific'
520
+ publication_name = `windmill_publication_${random_adj()}`
521
+ relations = [{ schema_name: 'public', table_to_track: [] }]
522
+ return
523
+ }
524
+
525
+ publication_name = ''
526
+ relations = []
527
+ transaction_to_track = []
528
+ }}
529
+ let:item
530
+ >
531
+ <ToggleButton value="create" label="Create Publication" {item} />
532
+ <ToggleButton value="get" label="Get Publication" {item} />
533
+ </ToggleButtonGroup>
534
+ {#if selectedPublicationAction === 'create'}
535
+ <div class="flex gap-3">
536
+ <input
537
+ disabled={!can_write}
538
+ type="text"
539
+ bind:value={publication_name}
540
+ placeholder={'Publication Name'}
541
+ />
542
+ <Button
543
+ color="light"
544
+ size="xs"
545
+ variant="border"
546
+ disabled={emptyStringTrimmed(publication_name) ||
547
+ (selectedTable != 'all' && relations.length === 0) ||
548
+ !can_write}
549
+ on:click={createPublication}>Create</Button
550
+ >
551
+ </div>
552
+ {:else}
553
+ <PublicationPicker
554
+ {can_write}
555
+ {postgres_resource_path}
556
+ bind:transaction_to_track
557
+ bind:relations
558
+ bind:items={publicationItems}
559
+ bind:publication_name
560
+ bind:selectedTable
561
+ />
562
+ {/if}
563
+ <RelationPicker {can_write} bind:selectedTable bind:relations />
564
+ </div>
565
+ </Section></div
566
+ >
567
+ </TabContent>
568
+ </div>
569
+ </svelte:fragment>
570
+ </Tabs>
571
+ </Label>
572
+ {/if}
573
+ </div>
574
+ </Section>
575
+ </div>
576
+ {/if}
577
+ </DrawerContent>
578
+ </Drawer>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
5
+ openNew?: ((nis_flow: boolean, fixedScriptPath_?: string, defaultValues?: Record<string, any>) => Promise<void>) | undefined;
6
+ };
7
+ events: {
8
+ update: CustomEvent<any>;
9
+ } & {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type PostgresTriggerEditorInnerProps = typeof __propDef.props;
15
+ export type PostgresTriggerEditorInnerEvents = typeof __propDef.events;
16
+ export type PostgresTriggerEditorInnerSlots = typeof __propDef.slots;
17
+ export default class PostgresTriggerEditorInner extends SvelteComponent<PostgresTriggerEditorInnerProps, PostgresTriggerEditorInnerEvents, PostgresTriggerEditorInnerSlots> {
18
+ get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
19
+ get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
20
+ }
21
+ export {};