windmill-components 1.537.1 → 1.542.4

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 (273) hide show
  1. package/package/components/AIProviderPicker.svelte +181 -0
  2. package/package/components/AIProviderPicker.svelte.d.ts +15 -0
  3. package/package/components/ArgInfo.svelte +2 -2
  4. package/package/components/ArgInput.svelte +35 -9
  5. package/package/components/ArgInput.svelte.d.ts +3 -3
  6. package/package/components/AssignableTagsInner.svelte +89 -3
  7. package/package/components/ConcurrentJobsChart.svelte +36 -48
  8. package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
  9. package/package/components/CustomPopover.svelte.d.ts +1 -1
  10. package/package/components/DropdownSelect.svelte +26 -0
  11. package/package/components/DropdownSelect.svelte.d.ts +11 -0
  12. package/package/components/DropdownV2Inner.svelte +1 -1
  13. package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
  14. package/package/components/DynamicInput.svelte.d.ts +11 -0
  15. package/package/components/EditableSchemaForm.svelte +119 -95
  16. package/package/components/EditableSchemaForm.svelte.d.ts +4 -4
  17. package/package/components/Editor.svelte +86 -93
  18. package/package/components/Editor.svelte.d.ts +4 -3
  19. package/package/components/EditorBar.svelte +2 -5
  20. package/package/components/FlowBuilder.svelte +3 -3
  21. package/package/components/FlowLogRow.svelte +64 -0
  22. package/package/components/FlowLogRow.svelte.d.ts +15 -0
  23. package/package/components/FlowLogViewer.svelte +406 -373
  24. package/package/components/FlowLogViewer.svelte.d.ts +5 -1
  25. package/package/components/FlowLogViewerWrapper.svelte +44 -1
  26. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  27. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  28. package/package/components/FlowStatusViewerInner.svelte +34 -3
  29. package/package/components/FolderPicker.svelte +1 -1
  30. package/package/components/InputTransformForm.svelte +20 -10
  31. package/package/components/JobArgs.svelte +1 -1
  32. package/package/components/JobLoader.svelte.d.ts +1 -1
  33. package/package/components/JobStatus.svelte +2 -0
  34. package/package/components/LogSnippetViewer.svelte +3 -3
  35. package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
  36. package/package/components/LogViewer.svelte +87 -71
  37. package/package/components/LogViewer.svelte.d.ts +1 -0
  38. package/package/components/Path.svelte +7 -1
  39. package/package/components/Path.svelte.d.ts +1 -1
  40. package/package/components/PrefixedInput.svelte +120 -0
  41. package/package/components/PrefixedInput.svelte.d.ts +8 -0
  42. package/package/components/QueuePosition.svelte +81 -0
  43. package/package/components/QueuePosition.svelte.d.ts +8 -0
  44. package/package/components/ResourceNarrowing.svelte +13 -0
  45. package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
  46. package/package/components/ResourceTypePicker.svelte +49 -74
  47. package/package/components/RunChart.svelte +74 -89
  48. package/package/components/RunChart.svelte.d.ts +10 -22
  49. package/package/components/S3FilePicker.svelte +1 -1
  50. package/package/components/SchemaForm.svelte.d.ts +2 -2
  51. package/package/components/ScriptBuilder.svelte +2 -1
  52. package/package/components/ScriptEditor.svelte +4 -3
  53. package/package/components/ScriptEditor.svelte.d.ts +2 -1
  54. package/package/components/ServiceLogsInner.svelte +1 -1
  55. package/package/components/ShareModal.svelte.d.ts +1 -1
  56. package/package/components/SimpleEditor.svelte +4 -67
  57. package/package/components/StringTypeNarrowing.svelte +5 -10
  58. package/package/components/TemplateEditor.svelte +2 -16
  59. package/package/components/TimeAgo.svelte +1 -1
  60. package/package/components/TimeAgo.svelte.d.ts +1 -0
  61. package/package/components/Toggle.svelte +2 -1
  62. package/package/components/Toggle.svelte.d.ts +2 -1
  63. package/package/components/WorkerRepl.svelte +1 -1
  64. package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
  65. package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
  66. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
  67. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
  68. package/package/components/apps/components/display/table/utils.js +36 -5
  69. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
  70. package/package/components/apps/editor/AppEditor.svelte +4 -3
  71. package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
  72. package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
  73. package/package/components/apps/editor/SettingsPanel.svelte +2 -2
  74. package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
  75. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  76. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  77. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  78. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +26 -3
  79. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
  80. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
  81. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
  82. package/package/components/assets/JobAssetsViewer.svelte +28 -24
  83. package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
  84. package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
  85. package/package/components/common/OnChange.svelte.d.ts +11 -4
  86. package/package/components/common/badge/Badge.svelte +9 -2
  87. package/package/components/common/badge/Badge.svelte.d.ts +2 -1
  88. package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
  89. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
  90. package/package/components/common/drawer/Disposable.svelte +9 -11
  91. package/package/components/common/drawer/Drawer.svelte +3 -4
  92. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  93. package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
  94. package/package/components/common/modal/Modal.svelte.d.ts +1 -1
  95. package/package/components/common/tabs/TabContent.svelte +2 -7
  96. package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
  97. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
  98. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  99. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
  100. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  101. package/package/components/copilot/MetadataGen.svelte +1 -1
  102. package/package/components/copilot/chat/AIChatManager.svelte.js +24 -102
  103. package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
  104. package/package/components/copilot/chat/anthropic.d.ts +15 -0
  105. package/package/components/copilot/chat/anthropic.js +208 -0
  106. package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
  107. package/package/components/copilot/chat/api/apiTools.js +10 -7
  108. package/package/components/copilot/chat/api/core.d.ts +1 -1
  109. package/package/components/copilot/chat/api/core.js +7 -2
  110. package/package/components/copilot/chat/ask/core.d.ts +1 -1
  111. package/package/components/copilot/chat/ask/core.js +7 -2
  112. package/package/components/copilot/chat/flow/core.d.ts +1 -1
  113. package/package/components/copilot/chat/flow/core.js +14 -4
  114. package/package/components/copilot/chat/monaco-adapter.d.ts +6 -5
  115. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  116. package/package/components/copilot/chat/navigator/core.js +7 -2
  117. package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
  118. package/package/components/copilot/chat/script/core.d.ts +5 -4
  119. package/package/components/copilot/chat/script/core.js +131 -19
  120. package/package/components/copilot/chat/shared.d.ts +7 -7
  121. package/package/components/copilot/lib.d.ts +29 -8
  122. package/package/components/copilot/lib.js +199 -24
  123. package/package/components/flows/content/FlowInput.svelte +5 -5
  124. package/package/components/flows/content/FlowModuleComponent.svelte +5 -2
  125. package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
  126. package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
  127. package/package/components/flows/content/FlowModuleSuspend.svelte +0 -1
  128. package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
  129. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
  130. package/package/components/flows/content/FlowRetries.svelte +108 -3
  131. package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
  132. package/package/components/flows/flowInfers.js +8 -35
  133. package/package/components/flows/flowStore.d.ts +45 -1
  134. package/package/components/flows/flowStore.js +1 -1
  135. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  136. package/package/components/flows/map/FlowModuleSchemaItem.svelte +61 -54
  137. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
  138. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
  139. package/package/components/flows/map/InsertModuleButton.svelte +1 -0
  140. package/package/components/flows/map/InsertModuleInner.svelte +12 -15
  141. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
  142. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  143. package/package/components/git_sync/DetectionFlow.svelte +15 -17
  144. package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
  145. package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
  146. package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
  147. package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
  148. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
  149. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
  150. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
  151. package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
  152. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
  153. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
  154. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
  155. package/package/components/home/ItemsList.svelte +17 -13
  156. package/package/components/home/TreeView.svelte +21 -27
  157. package/package/components/home/TreeView.svelte.d.ts +2 -29
  158. package/package/components/home/TreeViewRoot.svelte +11 -23
  159. package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
  160. package/package/components/icons/GitIcon.svelte +10 -2
  161. package/package/components/icons/GitIcon.svelte.d.ts +1 -0
  162. package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
  163. package/package/components/meltComponents/Popover.svelte +23 -3
  164. package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
  165. package/package/components/monacoLanguagesOptions.d.ts +3 -0
  166. package/package/components/monacoLanguagesOptions.js +109 -0
  167. package/package/components/propertyPicker/ObjectViewer.svelte +7 -2
  168. package/package/components/propertyPicker/PropPicker.svelte +1 -1
  169. package/package/components/propertyPicker/utils.js +14 -7
  170. package/package/components/runs/JobRunsPreview.svelte +212 -177
  171. package/package/components/runs/JobsLoader.svelte +2 -2
  172. package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
  173. package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
  174. package/package/components/runs/RunBadges.svelte +100 -0
  175. package/package/components/runs/RunBadges.svelte.d.ts +12 -0
  176. package/package/components/runs/RunLabels.svelte +86 -0
  177. package/package/components/runs/RunLabels.svelte.d.ts +10 -0
  178. package/package/components/runs/RunOption.svelte +20 -0
  179. package/package/components/runs/RunOption.svelte.d.ts +10 -0
  180. package/package/components/runs/RunRow.svelte +239 -151
  181. package/package/components/runs/RunRow.svelte.d.ts +12 -9
  182. package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
  183. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
  184. package/package/components/runs/RunsFilter.svelte +369 -243
  185. package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
  186. package/package/components/runs/RunsQueue.svelte +96 -25
  187. package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
  188. package/package/components/runs/RunsTable.svelte +62 -71
  189. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  190. package/package/components/runs/runs-grid.css +95 -0
  191. package/package/components/schema/EditableSchemaDrawer.svelte +12 -12
  192. package/package/components/schema/FlowPropertyEditor.svelte +197 -206
  193. package/package/components/schema/PropertyEditor.svelte +33 -35
  194. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -2
  195. package/package/components/search/GlobalSearchModal.svelte +8 -1
  196. package/package/components/select/DraggableTags.svelte.d.ts +17 -7
  197. package/package/components/select/MultiSelect.svelte.d.ts +21 -11
  198. package/package/components/select/Select.svelte +2 -1
  199. package/package/components/select/Select.svelte.d.ts +25 -13
  200. package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
  201. package/package/components/settings/TokenDisplay.svelte +1 -1
  202. package/package/components/sidebar/OperatorMenu.svelte +5 -0
  203. package/package/components/sidebar/SidebarContent.svelte +48 -2
  204. package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
  205. package/package/components/toast.js +6 -3
  206. package/package/components/triggers/AddTriggersButton.svelte +7 -6
  207. package/package/components/triggers/CaptureWrapper.svelte +19 -3
  208. package/package/components/triggers/TriggerLabel.svelte +8 -0
  209. package/package/components/triggers/TriggerTokens.svelte +1 -1
  210. package/package/components/triggers/TriggersEditor.svelte +9 -5
  211. package/package/components/triggers/TriggersTable.svelte +2 -2
  212. package/package/components/triggers/TriggersWrapper.svelte +16 -5
  213. package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
  214. package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
  215. package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
  216. package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
  217. package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
  218. package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
  219. package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
  220. package/package/components/triggers/email/EmailCapture.svelte +39 -0
  221. package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
  222. package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
  223. package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
  224. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
  225. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
  226. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
  227. package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
  228. package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
  229. package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
  230. package/package/components/triggers/email/utils.d.ts +4 -0
  231. package/package/components/triggers/email/utils.js +52 -0
  232. package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
  233. package/package/components/triggers/http/utils.js +1 -1
  234. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  235. package/package/components/triggers/triggers.svelte.js +24 -2
  236. package/package/components/triggers/utils.js +19 -5
  237. package/package/components/triggers.d.ts +1 -1
  238. package/package/components/triggers.js +2 -0
  239. package/package/components/wizards/AgGridWizard.svelte +85 -80
  240. package/package/components/workspaceSettings/AISettings.svelte +74 -22
  241. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  242. package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
  243. package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
  244. package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
  245. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
  246. package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
  247. package/package/gen/core/OpenAPI.js +1 -1
  248. package/package/gen/schemas.gen.d.ts +142 -3
  249. package/package/gen/schemas.gen.js +144 -3
  250. package/package/gen/services.gen.d.ts +129 -1
  251. package/package/gen/services.gen.js +267 -1
  252. package/package/gen/types.gen.d.ts +434 -8
  253. package/package/hubPaths.json +4 -2
  254. package/package/infer.js +1 -1
  255. package/package/keyboardChain.d.ts +5 -0
  256. package/package/keyboardChain.js +40 -0
  257. package/package/services/JobManager.js +2 -2
  258. package/package/stores.d.ts +3 -1
  259. package/package/stores.js +8 -5
  260. package/package/utils/workspaceHierarchy.d.ts +27 -0
  261. package/package/utils/workspaceHierarchy.js +101 -0
  262. package/package/utils.d.ts +6 -3
  263. package/package/utils.js +30 -15
  264. package/package/workspace_settings.js +2 -3
  265. package/package.json +9 -11
  266. package/package/components/DynSelect.svelte.d.ts +0 -11
  267. package/package/components/ObjectTypeNarrowing.svelte +0 -18
  268. package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
  269. package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
  270. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
  271. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
  272. package/package/components/details/EmailTriggerPanel.svelte +0 -76
  273. package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
@@ -1,12 +1,12 @@
1
1
  import { type Snippet } from 'svelte';
2
2
  import { type ProcessedItem } from './utils.svelte';
3
- declare class __sveltets_Render<Item extends {
3
+ declare function $$render<Item extends {
4
4
  label?: string;
5
5
  value: any;
6
6
  subtitle?: string;
7
- }> {
8
- props(): {
9
- items?: Item[] | undefined;
7
+ }>(): {
8
+ props: {
9
+ items?: Item[];
10
10
  value: Item["value"] | undefined;
11
11
  placeholder?: string;
12
12
  class?: string;
@@ -23,18 +23,30 @@ declare class __sveltets_Render<Item extends {
23
23
  createText?: string;
24
24
  noItemsMsg?: string;
25
25
  open?: boolean;
26
- groupBy?: ((item: Item) => string) | undefined;
27
- sortBy?: ((a: Item, b: Item) => number) | undefined;
28
- onFocus?: (() => void) | undefined;
29
- onBlur?: (() => void) | undefined;
30
- onClear?: (() => void) | undefined;
31
- onCreateItem?: ((value: string) => void) | undefined;
26
+ id?: string;
27
+ groupBy?: (item: Item) => string;
28
+ sortBy?: (a: Item, b: Item) => number;
29
+ onFocus?: () => void;
30
+ onBlur?: () => void;
31
+ onClear?: () => void;
32
+ onCreateItem?: (value: string) => void;
32
33
  startSnippet?: Snippet<[{
33
34
  item: ProcessedItem<Item["value"]>;
34
- }]> | undefined;
35
+ }]>;
35
36
  };
36
- events(): {};
37
- slots(): {};
37
+ exports: {};
38
+ bindings: "value" | "open" | "filterText";
39
+ slots: {};
40
+ events: {};
41
+ };
42
+ declare class __sveltets_Render<Item extends {
43
+ label?: string;
44
+ value: any;
45
+ subtitle?: string;
46
+ }> {
47
+ props(): ReturnType<typeof $$render<Item>>['props'];
48
+ events(): ReturnType<typeof $$render<Item>>['events'];
49
+ slots(): ReturnType<typeof $$render<Item>>['slots'];
38
50
  bindings(): "value" | "open" | "filterText";
39
51
  exports(): {};
40
52
  }
@@ -1,8 +1,8 @@
1
1
  import { type Snippet } from 'svelte';
2
2
  import type { ProcessedItem } from './utils.svelte';
3
- declare class __sveltets_Render<T> {
4
- props(): {
5
- processedItems?: ProcessedItem<T>[] | undefined;
3
+ declare function $$render<T>(): {
4
+ props: {
5
+ processedItems?: ProcessedItem<T>[];
6
6
  value: T | undefined;
7
7
  filterText?: string;
8
8
  listAutoWidth?: Boolean;
@@ -13,14 +13,21 @@ declare class __sveltets_Render<T> {
13
13
  class?: string;
14
14
  ulClass?: string;
15
15
  header?: Snippet;
16
- getInputRect?: (() => DOMRect) | undefined;
16
+ getInputRect?: () => DOMRect;
17
17
  onSelectValue: (item: ProcessedItem<T>) => void;
18
18
  startSnippet?: Snippet<[{
19
19
  item: ProcessedItem<T>;
20
- }]> | undefined;
20
+ }]>;
21
21
  };
22
- events(): {};
23
- slots(): {};
22
+ exports: {};
23
+ bindings: "";
24
+ slots: {};
25
+ events: {};
26
+ };
27
+ declare class __sveltets_Render<T> {
28
+ props(): ReturnType<typeof $$render<T>>['props'];
29
+ events(): ReturnType<typeof $$render<T>>['events'];
30
+ slots(): ReturnType<typeof $$render<T>>['slots'];
24
31
  bindings(): "";
25
32
  exports(): {};
26
33
  }
@@ -3,7 +3,7 @@ import { Clipboard } from 'lucide-svelte';
3
3
  import Alert from '../common/alert/Alert.svelte';
4
4
  let { token, mcpUrl, title, onCopy } = $props();
5
5
  function handleCopyClick() {
6
- copyToClipboard(token);
6
+ copyToClipboard(mcpUrl || token);
7
7
  onCopy?.();
8
8
  }
9
9
  const displayTitle = $derived(title || (mcpUrl ? 'MCP URL Generated Successfully' : 'Token Created Successfully'));
@@ -78,6 +78,11 @@ let secondMenuLinks = $derived([
78
78
  id: 'triggers',
79
79
  href: `${base}/mqtt_triggers`
80
80
  },
81
+ {
82
+ label: 'Email triggers',
83
+ id: 'triggers',
84
+ href: `${base}/email_triggers`
85
+ },
81
86
  {
82
87
  label: 'Audit logs',
83
88
  id: 'audit_logs',
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">import MenuLink from './MenuLink.svelte';
2
2
  import { superadmin, usedTriggerKinds, userStore, workspaceStore, isCriticalAlertsUIOpen, enterpriseLicense, devopsRole } from '../../stores';
3
3
  import { SIDEBAR_SHOW_SCHEDULES } from '../../consts';
4
- import { BookOpen, Bot, Boxes, Calendar, DollarSign, Eye, Logs, FolderCog, FolderOpen, Github, HelpCircle, Home, LogOut, Newspaper, Play, Route, ServerCog, Settings, UserCog, Plus, Unplug, AlertCircle, Database, Pyramid } from 'lucide-svelte';
4
+ import { BookOpen, Bot, Boxes, Calendar, DollarSign, Eye, Logs, FolderCog, FolderOpen, Github, HelpCircle, Home, LogOut, Newspaper, Play, Route, ServerCog, Settings, UserCog, Plus, Unplug, AlertCircle, Database, Pyramid, Trash2, MailIcon } from 'lucide-svelte';
5
5
  import UserMenu from './UserMenu.svelte';
6
6
  import DiscordIcon from '../icons/brands/Discord.svelte';
7
7
  import { WorkspaceService } from '../../gen';
@@ -28,6 +28,12 @@ async function leaveWorkspace() {
28
28
  clearStores();
29
29
  goto('/user/workspaces');
30
30
  }
31
+ async function deleteFork() {
32
+ await WorkspaceService.deleteWorkspace({ workspace: $workspaceStore ?? '' });
33
+ sendUserToast('You deleted the workspace');
34
+ clearStores();
35
+ goto('/user/workspaces');
36
+ }
31
37
  let hasNewChangelogs = $state(false);
32
38
  let recentChangelogs = $state([]);
33
39
  let lastOpened = localStorage.getItem('changelogsLastOpened');
@@ -85,6 +91,7 @@ const thirdMenuLinks = [
85
91
  ];
86
92
  let { numUnacknowledgedCriticalAlerts = 0, isCollapsed = false } = $props();
87
93
  let leaveWorkspaceModal = $state(false);
94
+ let deleteWorkspaceForkModal = $state(false);
88
95
  function computeAllNotificationsCount(menuItems) {
89
96
  let count = 0;
90
97
  for (const menuItem of menuItems) {
@@ -205,6 +212,15 @@ let defaultExtraTriggerLinks = $derived([
205
212
  kind: 'mqtt',
206
213
  aiId: 'sidebar-menu-link-mqtt',
207
214
  aiDescription: 'Button to navigate to MQTT triggers'
215
+ },
216
+ {
217
+ label: 'Email',
218
+ href: '/email_triggers',
219
+ icon: MailIcon,
220
+ disabled: $userStore?.operator,
221
+ kind: 'email',
222
+ aiId: 'sidebar-menu-link-email',
223
+ aiDescription: 'Button to navigate to Email triggers'
208
224
  }
209
225
  ]);
210
226
  let triggerMenuLinks = $derived([
@@ -278,7 +294,19 @@ let secondaryMenuLinks = $derived([
278
294
  faIcon: undefined
279
295
  }
280
296
  ]
281
- : [])
297
+ : []),
298
+ ...($workspaceStore?.startsWith("wm-fork")
299
+ ? [
300
+ {
301
+ label: 'Delete Forked Workspace',
302
+ action: () => {
303
+ deleteWorkspaceForkModal = true;
304
+ },
305
+ icon: Trash2,
306
+ faIcon: undefined
307
+ }
308
+ ]
309
+ : []),
282
310
  ],
283
311
  disabled: $userStore?.operator
284
312
  },
@@ -572,3 +600,21 @@ let secondaryMenuLinks = $derived([
572
600
  <span>Are you sure you want to leave this workspace?</span>
573
601
  </div>
574
602
  </ConfirmationModal>
603
+
604
+ {#if $workspaceStore?.startsWith("wm-fork-")}
605
+ <ConfirmationModal
606
+ open={deleteWorkspaceForkModal}
607
+ title="Delete forked workspace"
608
+ confirmationText="Remove"
609
+ on:canceled={() => {
610
+ deleteWorkspaceForkModal = false
611
+ }}
612
+ on:confirmed={() => {
613
+ deleteFork()
614
+ }}
615
+ >
616
+ <div class="flex flex-col w-full space-y-4">
617
+ <span>Are you sure you want to delete this workspace fork? (deleting {$workspaceStore})</span>
618
+ </div>
619
+ </ConfirmationModal>
620
+ {/if}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">import { isPremiumStore, superadmin, userStore, userWorkspaces, workspaceStore, workspaceUsageStore, workspaceColor } from '../../stores';
2
- import { Building, Plus, Settings } from 'lucide-svelte';
2
+ import { Building, Plus, Settings, GitFork } from 'lucide-svelte';
3
3
  import MenuButton from './MenuButton.svelte';
4
4
  import { Menu, MenuItem } from '../meltComponents';
5
5
  import { goto } from '../../navigation';
@@ -11,6 +11,13 @@ import { enterpriseLicense } from '../../stores';
11
11
  import { isCloudHosted } from '../../cloud';
12
12
  import { workspaceAIClients } from '../copilot/lib';
13
13
  import { twMerge } from 'tailwind-merge';
14
+ import { buildWorkspaceHierarchy } from '../../utils/workspaceHierarchy';
15
+ function removePrefix(str, prefix) {
16
+ if (str.startsWith(prefix)) {
17
+ return str.substring(prefix.length);
18
+ }
19
+ return str;
20
+ }
14
21
  let { isCollapsed = false, createMenu, strictWorkspaceSelect = false } = $props();
15
22
  async function toggleSwitchWorkspace(id) {
16
23
  if ($workspaceStore === id) {
@@ -37,24 +44,79 @@ async function toggleSwitchWorkspace(id) {
37
44
  await goto('/');
38
45
  }
39
46
  }
47
+ // Helper function to check if a workspace is forked
48
+ function isForkedWorkspace(workspaceId) {
49
+ if (!$userWorkspaces)
50
+ return false;
51
+ return $userWorkspaces.some((w) => w.id === workspaceId && w.parent_workspace_id != null);
52
+ }
53
+ function getForkedWorkspace(workspaceId) {
54
+ if (!$userWorkspaces)
55
+ return undefined;
56
+ return $userWorkspaces.find((w) => w.id === workspaceId && w.parent_workspace_id != null);
57
+ }
58
+ function getParentWorkspace(parentId) {
59
+ if (!$userWorkspaces)
60
+ return undefined;
61
+ return $userWorkspaces.find((w) => w.id === parentId);
62
+ }
63
+ // Group workspaces into parent-child hierarchy using Svelte 5 derived and the new utility
64
+ const groupedWorkspaces = $derived(() => {
65
+ if (!$userWorkspaces)
66
+ return [];
67
+ return buildWorkspaceHierarchy($userWorkspaces);
68
+ });
40
69
  </script>
41
70
 
71
+ {#if isForkedWorkspace($workspaceStore ?? '') && !isCollapsed}
72
+ {@const forkedWorkspace = getForkedWorkspace($workspaceStore ?? '')}
73
+ {@const parentWorkspace = forkedWorkspace
74
+ ? getParentWorkspace(forkedWorkspace.parent_workspace_id!)
75
+ : null}
76
+ <Menu {createMenu} usePointerDownOutside>
77
+ {#snippet triggr({ trigger })}
78
+ <div
79
+ class="group flex items-center px-2 py-2 font-light rounded-md h-8 gap-3 w-full text-xs"
80
+ >
81
+ <Building size={12} class="text-tertiary" />
82
+ <span class="text-xs text-tertiary"> {parentWorkspace?.name ?? ''} </span>
83
+ </div>
84
+ {/snippet}
85
+ </Menu>
86
+ {/if}
42
87
  <Menu {createMenu} usePointerDownOutside>
43
88
  {#snippet triggr({ trigger })}
44
- <MenuButton
45
- class="!text-xs"
46
- icon={Building}
47
- label={$workspaceStore ?? ''}
48
- {isCollapsed}
49
- color={$workspaceColor}
50
- {trigger}
51
- />
89
+ {@const forkedWorkspace = getForkedWorkspace($workspaceStore ?? '')}
90
+ {@const parentWorkspace = forkedWorkspace
91
+ ? getParentWorkspace(forkedWorkspace.parent_workspace_id!)
92
+ : null}
93
+ {#if forkedWorkspace && parentWorkspace}
94
+ <div class={isCollapsed ? '' : 'pl-6'}>
95
+ <MenuButton
96
+ class="!text-xs"
97
+ icon={GitFork}
98
+ label={removePrefix($workspaceStore ?? '', 'wm-fork-')}
99
+ {isCollapsed}
100
+ color={$workspaceColor}
101
+ {trigger}
102
+ />
103
+ </div>
104
+ {:else}
105
+ <MenuButton
106
+ class="!text-xs"
107
+ icon={Building}
108
+ label={$workspaceStore ?? ''}
109
+ {isCollapsed}
110
+ color={$workspaceColor}
111
+ {trigger}
112
+ />
113
+ {/if}
52
114
  {/snippet}
53
115
 
54
116
  {#snippet children({ item })}
55
117
  <div class="divide-y" role="none">
56
118
  <div class="py-1">
57
- {#each $userWorkspaces as workspace}
119
+ {#each groupedWorkspaces() as { workspace, depth, isForked, parentName }}
58
120
  <MenuItem
59
121
  class={twMerge(
60
122
  'text-xs min-w-0 w-full overflow-hidden flex flex-col py-1.5',
@@ -68,13 +130,37 @@ async function toggleSwitchWorkspace(id) {
68
130
  {item}
69
131
  >
70
132
  <div class="flex items-center justify-between min-w-0 w-full">
71
- <div>
72
- <div class="text-primary pl-4 truncate text-left text-[1.2em]">{workspace.name}</div
73
- >
74
- <div
75
- class="text-tertiary font-mono pl-4 text-2xs whitespace-nowrap truncate text-left"
76
- >
77
- {workspace.id}
133
+ <div
134
+ class={twMerge('flex items-center gap-2 min-w-0', 'pl-4')}
135
+ style:padding-left={`${4 + depth * 12}px`}
136
+ >
137
+ {#if isForked}
138
+ <GitFork size={12} class="text-tertiary flex-shrink-0" />
139
+ {:else}
140
+ <Building size={12} />
141
+ {/if}
142
+ <div class="min-w-0 flex-1">
143
+ <div
144
+ class={twMerge(
145
+ 'truncate text-left text-[1.2em]',
146
+ isForked ? 'text-secondary' : 'text-primary'
147
+ )}
148
+ >
149
+ {workspace.name}
150
+ </div>
151
+ <div
152
+ class={twMerge(
153
+ 'font-mono text-2xs whitespace-nowrap truncate text-left',
154
+ isForked ? 'text-tertiary opacity-75' : 'text-tertiary'
155
+ )}
156
+ >
157
+ {workspace.id}
158
+ </div>
159
+ {#if isForked && parentName}
160
+ <div class="text-tertiary text-2xs truncate text-left pl-2 min-h-[1rem]">
161
+ Fork of {parentName}
162
+ </div>
163
+ {/if}
78
164
  </div>
79
165
  </div>
80
166
  {#if workspace.color}
@@ -100,6 +186,19 @@ async function toggleSwitchWorkspace(id) {
100
186
  </a>
101
187
  </div>
102
188
  {/if}
189
+ {#if !strictWorkspaceSelect}
190
+ <div class="py-1" role="none">
191
+ <a
192
+ href="{base}/user/fork_workspace"
193
+ class="text-primary px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary flex flex-flow gap-2"
194
+ role="menuitem"
195
+ tabindex="-1"
196
+ >
197
+ <GitFork size={16} />
198
+ Fork current workspace
199
+ </a>
200
+ </div>
201
+ {/if}
103
202
  {#if !strictWorkspaceSelect}
104
203
  <div class="py-1" role="none">
105
204
  <MenuItem
@@ -1,9 +1,12 @@
1
1
  //regex that match path starting with u/ or f/ and with at least 2 /
2
2
  const pathRegex = /\b(u|f)\/[^\/\s]+\/[^\/\s]+\b/g;
3
3
  export function processMessage(message) {
4
- return (typeof message == 'string'
5
- ? message ?? 'Error without message'
6
- : JSON.stringify(message, null, 2)).replaceAll(pathRegex, (path) => {
4
+ let msg = !message
5
+ ? 'Error without message'
6
+ : typeof message != 'string'
7
+ ? JSON.stringify(message, null, 2)
8
+ : message;
9
+ return msg.replaceAll(pathRegex, (path) => {
7
10
  return `<span class="bg-surface-secondary p-1 text-xs font-mono whitespace-nowrap rounded-md">${path}</span>`;
8
11
  });
9
12
  }
@@ -3,7 +3,7 @@ import DropdownV2 from '../DropdownV2.svelte';
3
3
  import { SchedulePollIcon } from '../icons';
4
4
  import { isCloudHosted } from '../../cloud';
5
5
  import { CloudOff } from 'lucide-svelte';
6
- let { setDropdownWidthToButtonWidth = false, children, class: className, triggerScriptPicker, placement = 'bottom', isEditor = false, onAddDraftTrigger, onAddScheduledPoll, onClose } = $props();
6
+ let { setDropdownWidthToButtonWidth = false, children, class: className, placement = 'bottom', isEditor = false, onAddDraftTrigger, onAddScheduledPoll, onClose } = $props();
7
7
  let dropdown;
8
8
  const cloudHosted = isCloudHosted();
9
9
  // Dropdown items for adding new triggers
@@ -56,10 +56,15 @@ const addTriggerItems = [
56
56
  icon: triggerIconMap.gcp,
57
57
  extra: cloudHosted ? extra : undefined
58
58
  },
59
+ {
60
+ displayName: 'Email',
61
+ action: () => onAddDraftTrigger?.('email'),
62
+ icon: triggerIconMap.email,
63
+ extra: cloudHosted ? extra : undefined
64
+ },
59
65
  {
60
66
  displayName: 'Scheduled Poll',
61
67
  action: (e) => {
62
- e.preventDefault();
63
68
  onAddDraftTrigger?.('poll');
64
69
  onAddScheduledPoll?.();
65
70
  },
@@ -89,7 +94,6 @@ export function close() {
89
94
  class={className}
90
95
  customWidth={setDropdownWidthToButtonWidth ? triggersButtonWidth : undefined}
91
96
  usePointerDownOutside
92
- customMenu={!!triggerScriptPicker}
93
97
  on:close={() => onClose?.()}
94
98
  >
95
99
  {#snippet buttonReplacement()}
@@ -97,7 +101,4 @@ export function close() {
97
101
  {@render children?.()}
98
102
  </div>
99
103
  {/snippet}
100
- {#snippet menu()}
101
- {@render triggerScriptPicker?.()}
102
- {/snippet}
103
104
  </DropdownV2>
@@ -4,7 +4,7 @@ import { onDestroy, untrack } from 'svelte';
4
4
  import { sendUserToast, sleep } from '../../utils';
5
5
  import RouteCapture from './http/RouteCapture.svelte';
6
6
  import WebhooksCapture from './webhook/WebhooksCapture.svelte';
7
- import EmailTriggerCaptures from '../details/EmailTriggerCaptures.svelte';
7
+ import DefaultEmailCapture from './email/DefaultEmailCapture.svelte';
8
8
  import WebsocketCapture from './websocket/WebsocketCapture.svelte';
9
9
  import PostgresCapture from './postgres/PostgresCapture.svelte';
10
10
  import KafkaCapture from './kafka/KafkaCapture.svelte';
@@ -12,6 +12,7 @@ import NatsCapture from './nats/NatsCapture.svelte';
12
12
  import MqttCapture from './mqtt/MqttCapture.svelte';
13
13
  import SqsCapture from './sqs/SqsCapture.svelte';
14
14
  import GcpCapture from './gcp/GcpCapture.svelte';
15
+ import EmailCapture from './email/EmailCapture.svelte';
15
16
  let { isFlow, path, hasPreprocessor, canHavePreprocessor, captureType = 'webhook', data = {}, connectionInfo = $bindable(undefined), args = {}, isValid = false, triggerDeployed = false } = $props();
16
17
  let captureLoading = $state(false);
17
18
  let captureActive = $state(false);
@@ -195,8 +196,8 @@ $effect(() => {
195
196
  on:captureToggle={handleCapture}
196
197
  on:testWithArgs
197
198
  />
198
- {:else if captureType === 'email'}
199
- <EmailTriggerCaptures
199
+ {:else if captureType === 'default_email'}
200
+ <DefaultEmailCapture
200
201
  {path}
201
202
  {isFlow}
202
203
  emailDomain={data?.emailDomain}
@@ -280,6 +281,21 @@ $effect(() => {
280
281
  on:captureToggle={handleCapture}
281
282
  on:testWithArgs
282
283
  />
284
+ {:else if captureType === 'email'}
285
+ <EmailCapture
286
+ local_part={args.local_part}
287
+ emailDomain={data?.emailDomain}
288
+ {isValid}
289
+ {captureInfo}
290
+ {hasPreprocessor}
291
+ {isFlow}
292
+ {captureLoading}
293
+ on:applyArgs
294
+ on:updateSchema
295
+ on:addPreprocessor
296
+ on:captureToggle={handleCapture}
297
+ on:testWithArgs
298
+ />
283
299
  {/if}
284
300
  </div>
285
301
  {/key}
@@ -15,6 +15,14 @@ let label = $derived.by(() => getTriggerLabel(trigger));
15
15
  {label}
16
16
  </span>
17
17
 
18
+ {#if trigger.type === 'default_email'}
19
+ <span
20
+ class="ml-2 bg-blue-50 dark:bg-blue-900/40 px-1.5 py-0.5 rounded text-xs text-blue-700 dark:text-blue-100 whitespace-nowrap"
21
+ >
22
+ Default
23
+ </span>
24
+ {/if}
25
+
18
26
  {#if trigger.isPrimary}
19
27
  <span
20
28
  class="ml-2 bg-blue-50 dark:bg-blue-900/40 px-1.5 py-0.5 rounded text-xs text-blue-700 dark:text-blue-100 whitespace-nowrap"
@@ -14,7 +14,7 @@ export async function listTokens() {
14
14
  ? await FlowService.listTokensOfFlow({ workspace: $workspaceStore, path })
15
15
  : await ScriptService.listTokensOfScript({ workspace: $workspaceStore, path })).filter((x) => x.label && x.label.startsWith(labelPrefix + '-'));
16
16
  if (labelPrefix == 'email') {
17
- $triggersCount = { ...($triggersCount ?? {}), email_count: tokens?.length };
17
+ $triggersCount = { ...($triggersCount ?? {}), default_email_count: tokens?.length };
18
18
  }
19
19
  else {
20
20
  $triggersCount = { ...($triggersCount ?? {}), webhook_count: tokens?.length };
@@ -13,7 +13,7 @@ import Button from '../common/button/Button.svelte';
13
13
  import TriggersWrapperV2 from './TriggersWrapper.svelte';
14
14
  import { triggerTypeToCaptureKind, CLOUD_DISABLED_TRIGGER_TYPES } from './utils';
15
15
  import { isCloudHosted } from '../../cloud';
16
- import { ScheduleService, WebsocketTriggerService, PostgresTriggerService, KafkaTriggerService, NatsTriggerService, MqttTriggerService, HttpTriggerService, GcpTriggerService, SqsTriggerService } from '../../gen';
16
+ import { ScheduleService, WebsocketTriggerService, PostgresTriggerService, KafkaTriggerService, NatsTriggerService, MqttTriggerService, HttpTriggerService, GcpTriggerService, SqsTriggerService, EmailTriggerService } from '../../gen';
17
17
  import { sendUserToast } from '../../toast';
18
18
  let { noEditor, newItem = false, currentPath, fakeInitialPath = '', hash = undefined, args = {}, initialPath, isFlow, canHavePreprocessor = false, hasPreprocessor = false, isDeployed = false, schema = undefined, noCapture = false, isEditor = true, onDeployTrigger } = $props();
19
19
  let config = $state({});
@@ -47,7 +47,8 @@ async function deleteDeployedTrigger(triggerIndex) {
47
47
  gcp: () => GcpTriggerService.deleteGcpTrigger,
48
48
  sqs: () => SqsTriggerService.deleteSqsTrigger,
49
49
  mqtt: () => MqttTriggerService.deleteMqttTrigger,
50
- http: () => HttpTriggerService.deleteHttpTrigger
50
+ http: () => HttpTriggerService.deleteHttpTrigger,
51
+ email: () => EmailTriggerService.deleteEmailTrigger
51
52
  };
52
53
  const deleteHandler = deleteHandlers[triggerType];
53
54
  if (deleteHandler && deletingTrigger !== triggerIndex) {
@@ -114,6 +115,9 @@ async function handleUpdate(trigger, path) {
114
115
  else if (triggerType === 'http') {
115
116
  await triggersState.fetchHttpTriggers(triggersCount, $workspaceStore, currentPath, isFlow, $userStore);
116
117
  }
118
+ else if (triggerType === 'email') {
119
+ await triggersState.fetchEmailTriggers(triggersCount, $workspaceStore, currentPath, isFlow, $userStore);
120
+ }
117
121
  triggersState.selectedTriggerIndex = triggersState.triggers.findIndex((t) => t.path === path && t.type === triggerType);
118
122
  loading = false;
119
123
  onDeployTrigger?.({ type: triggerType, id: triggerId, path: triggerPath });
@@ -155,7 +159,7 @@ const cloudDisabled = $derived(CLOUD_DISABLED_TRIGGER_TYPES.includes(triggersSta
155
159
  onDeleteDraft={deleteTrigger}
156
160
  onReset={handleResetDraft}
157
161
  webhookToken={$triggersCount?.webhook_count}
158
- emailToken={$triggersCount?.email_count}
162
+ emailToken={$triggersCount?.default_email_count}
159
163
  />
160
164
  </div>
161
165
  {:else}
@@ -229,8 +233,8 @@ const cloudDisabled = $derived(CLOUD_DISABLED_TRIGGER_TYPES.includes(triggersSta
229
233
  onReset={() => {
230
234
  handleResetDraft(triggersState.selectedTriggerIndex)
231
235
  }}
232
- on:email-domain={({ detail }) => {
233
- emailDomain = detail
236
+ onEmailDomain={(domain) => {
237
+ emailDomain = domain
234
238
  }}
235
239
  />
236
240
  </div>
@@ -66,7 +66,7 @@ let loading = false;
66
66
  >
67
67
  {`${webhookToken} token${webhookToken > 1 ? 's' : ''}`}
68
68
  </span>
69
- {:else if trigger.type === 'email' && emailToken}
69
+ {:else if trigger.type === 'default_email' && emailToken}
70
70
  <span
71
71
  class="ml-2 text-xs rounded-md bg-tertiary/50 group-hover:bg-primary text-primary-inverse px-1.5 py-0.5"
72
72
  >
@@ -75,7 +75,7 @@ let loading = false;
75
75
  {/if}
76
76
  </div>
77
77
 
78
- {#if !['email', 'webhook', 'cli'].includes(trigger.type)}
78
+ {#if !['default_email', 'webhook', 'cli'].includes(trigger.type)}
79
79
  {#if trigger.isDraft}
80
80
  <DeleteTriggerButton {trigger} onDelete={() => onDeleteDraft?.(index)} small />
81
81
  {:else if !!trigger.draftConfig && !trigger.isDraft}
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">import RoutesPanel from './http/RoutesPanel.svelte';
2
2
  import WebhooksPanel from './webhook/WebhooksPanel.svelte';
3
- import EmailTriggerPanel from '../details/EmailTriggerPanel.svelte';
3
+ import EmailTriggerPanel from './email/EmailTriggerPanel.svelte';
4
+ import DefaultEmailPanel from './email/DefaultEmailPanel.svelte';
4
5
  import SchedulePanel from '../SchedulePanel.svelte';
5
6
  import PostgresTriggersPanel from './postgres/PostgresTriggersPanel.svelte';
6
7
  import KafkaTriggerPanel from './kafka/KafkaTriggersPanel.svelte';
@@ -15,7 +16,7 @@ import ClipboardPanel from '../details/ClipboardPanel.svelte';
15
16
  import CliHelpBox from '../CliHelpBox.svelte';
16
17
  import TriggerLabel from './TriggerLabel.svelte';
17
18
  import { twMerge } from 'tailwind-merge';
18
- let { selectedTrigger, isFlow = false, initialPath, fakeInitialPath, currentPath, hash, small, args, newItem, schema, ...props } = $props();
19
+ let { selectedTrigger, isFlow = false, initialPath, fakeInitialPath, currentPath, hash, small, args, newItem, schema, onEmailDomain, ...props } = $props();
19
20
  </script>
20
21
 
21
22
  {#if selectedTrigger.type === 'http'}
@@ -37,14 +38,14 @@ let { selectedTrigger, isFlow = false, initialPath, fakeInitialPath, currentPath
37
38
  scopes={isFlow ? [`jobs:run:flows:${currentPath}`] : [`jobs:run:scripts:${currentPath}`]}
38
39
  {newItem}
39
40
  />
40
- {:else if selectedTrigger.type === 'email'}
41
- <EmailTriggerPanel
41
+ {:else if selectedTrigger.type === 'default_email'}
42
+ <DefaultEmailPanel
42
43
  token=""
43
44
  scopes={isFlow ? [`jobs:run:flows:${currentPath}`] : [`jobs:run:scripts:${currentPath}`]}
44
45
  path={initialPath || fakeInitialPath}
45
46
  {isFlow}
46
47
  {hash}
47
- on:email-domain
48
+ {onEmailDomain}
48
49
  />
49
50
  {:else if selectedTrigger.type === 'schedule'}
50
51
  <SchedulePanel
@@ -119,6 +120,16 @@ let { selectedTrigger, isFlow = false, initialPath, fakeInitialPath, currentPath
119
120
  {customLabel}
120
121
  {...props}
121
122
  />
123
+ {:else if selectedTrigger.type === 'email'}
124
+ <EmailTriggerPanel
125
+ {isFlow}
126
+ path={initialPath || fakeInitialPath}
127
+ {selectedTrigger}
128
+ defaultValues={selectedTrigger.draftConfig ?? selectedTrigger.captureConfig ?? undefined}
129
+ {customLabel}
130
+ {onEmailDomain}
131
+ {...props}
132
+ />
122
133
  {:else if selectedTrigger.type === 'poll'}
123
134
  <ScheduledPollPanel />
124
135
  {:else if selectedTrigger.type === 'cli'}
@@ -17,24 +17,8 @@ interface Props {
17
17
  onUpdate?: (path: string) => void;
18
18
  onDelete?: () => void;
19
19
  onReset?: () => void;
20
+ onEmailDomain: (domain: string) => void;
20
21
  }
21
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
22
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
23
- $$bindings?: Bindings;
24
- } & Exports;
25
- (internal: unknown, props: Props & {
26
- $$events?: Events;
27
- $$slots?: Slots;
28
- }): Exports & {
29
- $set?: any;
30
- $on?: any;
31
- };
32
- z_$$bindings?: Bindings;
33
- }
34
- declare const TriggersWrapper: $$__sveltets_2_IsomorphicComponent<Props, {
35
- 'email-domain': CustomEvent<any>;
36
- } & {
37
- [evt: string]: CustomEvent<any>;
38
- }, {}, {}, "">;
39
- type TriggersWrapper = InstanceType<typeof TriggersWrapper>;
22
+ declare const TriggersWrapper: import("svelte").Component<Props, {}, "">;
23
+ type TriggersWrapper = ReturnType<typeof TriggersWrapper>;
40
24
  export default TriggersWrapper;