windmill-components 1.532.0 → 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.
- package/package/components/AIProviderPicker.svelte +181 -0
- package/package/components/AIProviderPicker.svelte.d.ts +15 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +60 -27
- package/package/components/ArgInput.svelte.d.ts +3 -3
- package/package/components/AssignableTagsInner.svelte +89 -3
- package/package/components/Auth0Setting.svelte +8 -3
- package/package/components/ConcurrentJobsChart.svelte +36 -48
- package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
- package/package/components/CustomPopover.svelte.d.ts +1 -1
- package/package/components/Dev.svelte +5 -4
- package/package/components/DiffDrawer.svelte +2 -2
- package/package/components/DiffEditor.svelte +34 -37
- package/package/components/DiffEditor.svelte.d.ts +23 -39
- package/package/components/DropdownSelect.svelte +26 -0
- package/package/components/DropdownSelect.svelte.d.ts +11 -0
- package/package/components/DropdownV2Inner.svelte +1 -1
- package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
- package/package/components/DynamicInput.svelte.d.ts +11 -0
- package/package/components/EditableSchemaForm.svelte +155 -140
- package/package/components/EditableSchemaForm.svelte.d.ts +6 -7
- package/package/components/Editor.svelte +101 -87
- package/package/components/Editor.svelte.d.ts +7 -1
- package/package/components/EditorBar.svelte +2 -5
- package/package/components/FlowBuilder.svelte +10 -7
- package/package/components/FlowLogRow.svelte +64 -0
- package/package/components/FlowLogRow.svelte.d.ts +15 -0
- package/package/components/FlowLogViewer.svelte +406 -373
- package/package/components/FlowLogViewer.svelte.d.ts +5 -1
- package/package/components/FlowLogViewerWrapper.svelte +44 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewer.svelte +28 -0
- package/package/components/FlowStatusViewerInner.svelte +106 -23
- package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
- package/package/components/FolderPicker.svelte +1 -1
- package/package/components/InputTransformForm.svelte +20 -10
- package/package/components/JobArgs.svelte +1 -1
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobStatus.svelte +2 -0
- package/package/components/LogSnippetViewer.svelte +3 -3
- package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
- package/package/components/LogViewer.svelte +87 -71
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/ModulePreview.svelte +2 -1
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/ModulePreviewForm.svelte +72 -65
- package/package/components/ModulePreviewResultViewer.svelte +13 -18
- package/package/components/ModuleTest.svelte +6 -5
- package/package/components/ModuleTest.svelte.d.ts +1 -0
- package/package/components/OktaSetting.svelte +8 -3
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/Portal.svelte +11 -7
- package/package/components/Portal.svelte.d.ts +19 -39
- package/package/components/PrefixedInput.svelte +120 -0
- package/package/components/PrefixedInput.svelte.d.ts +8 -0
- package/package/components/QueuePosition.svelte +81 -0
- package/package/components/QueuePosition.svelte.d.ts +8 -0
- package/package/components/ResourceNarrowing.svelte +13 -0
- package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
- package/package/components/ResourceTypePicker.svelte +49 -74
- package/package/components/RunChart.svelte +74 -89
- package/package/components/RunChart.svelte.d.ts +10 -22
- package/package/components/RunForm.svelte +2 -2
- package/package/components/RunForm.svelte.d.ts +1 -1
- package/package/components/RunFormAdvancedPopup.svelte +13 -1
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +3 -2
- package/package/components/ScriptEditor.svelte +25 -10
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -68
- package/package/components/StringTypeNarrowing.svelte +5 -10
- package/package/components/TemplateEditor.svelte +2 -16
- package/package/components/TimeAgo.svelte +1 -1
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toggle.svelte +2 -1
- package/package/components/Toggle.svelte.d.ts +2 -1
- package/package/components/WorkerRepl.svelte +1 -1
- package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
- package/package/components/apps/components/display/table/utils.js +36 -5
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
- package/package/components/apps/components/layout/AppModal.svelte +2 -2
- package/package/components/apps/editor/AppEditor.svelte +4 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
- package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
- package/package/components/apps/editor/SettingsPanel.svelte +2 -2
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +0 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +29 -4
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
- package/package/components/assets/JobAssetsViewer.svelte +28 -24
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
- package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
- package/package/components/common/OnChange.svelte.d.ts +11 -4
- package/package/components/common/badge/Badge.svelte +9 -2
- package/package/components/common/badge/Badge.svelte.d.ts +2 -1
- package/package/components/common/button/model.d.ts +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
- package/package/components/common/drawer/Disposable.svelte +45 -26
- package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
- package/package/components/common/drawer/Drawer.svelte +17 -14
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
- package/package/components/common/modal/Modal.svelte.d.ts +1 -1
- package/package/components/common/tabs/TabContent.svelte +2 -7
- package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/MetadataGen.svelte +14 -3
- package/package/components/copilot/chat/AIChatInput.svelte +0 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +26 -104
- package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
- package/package/components/copilot/chat/AvailableContextList.svelte +192 -66
- package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -2
- package/package/components/copilot/chat/ContextElementBadge.svelte +3 -3
- package/package/components/copilot/chat/ContextManager.svelte.js +36 -13
- package/package/components/copilot/chat/ContextTextarea.svelte +21 -48
- package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
- package/package/components/copilot/chat/anthropic.d.ts +15 -0
- package/package/components/copilot/chat/anthropic.js +208 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
- package/package/components/copilot/chat/api/apiTools.js +10 -7
- package/package/components/copilot/chat/api/core.d.ts +1 -1
- package/package/components/copilot/chat/api/core.js +7 -2
- package/package/components/copilot/chat/ask/core.d.ts +1 -1
- package/package/components/copilot/chat/ask/core.js +7 -2
- package/package/components/copilot/chat/context.d.ts +7 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +110 -8
- package/package/components/copilot/chat/flow/core.d.ts +12 -1
- package/package/components/copilot/chat/flow/core.js +133 -5
- package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
- package/package/components/copilot/chat/flow/uiIntents.js +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +23 -4
- package/package/components/copilot/chat/monaco-adapter.js +55 -16
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +7 -2
- package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
- package/package/components/copilot/chat/script/core.d.ts +5 -4
- package/package/components/copilot/chat/script/core.js +134 -21
- package/package/components/copilot/chat/shared.d.ts +10 -9
- package/package/components/copilot/chat/shared.js +24 -12
- package/package/components/copilot/lib.d.ts +29 -8
- package/package/components/copilot/lib.js +211 -31
- package/package/components/copilot/shared.d.ts +1 -1
- package/package/components/copilot/shared.js +16 -10
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowModuleIcon.svelte +8 -8
- package/package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +36 -39
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +42 -46
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -18
- package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowRetries.svelte +108 -3
- package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
- package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
- package/package/components/flows/dfs.d.ts +1 -1
- package/package/components/flows/dfs.js +6 -6
- package/package/components/flows/flowInfers.js +15 -42
- package/package/components/flows/flowStateUtils.svelte.js +1 -2
- package/package/components/flows/flowStore.d.ts +45 -1
- package/package/components/flows/flowStore.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +73 -80
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +1 -0
- package/package/components/flows/map/InsertModuleInner.svelte +12 -15
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
- package/package/components/flows/map/MapItem.svelte +8 -4
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
- package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
- package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
- package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
- package/package/components/flows/types.d.ts +16 -3
- package/package/components/flows/utils.js +3 -0
- package/package/components/git_sync/DetectionFlow.svelte +15 -17
- package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
- package/package/components/graph/FlowGraphV2.svelte +1 -1
- package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
- package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
- package/package/components/home/ItemsList.svelte +17 -13
- package/package/components/home/TreeView.svelte +21 -27
- package/package/components/home/TreeView.svelte.d.ts +2 -29
- package/package/components/home/TreeViewRoot.svelte +11 -23
- package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
- package/package/components/icons/GitIcon.svelte +10 -2
- package/package/components/icons/GitIcon.svelte.d.ts +1 -0
- package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
- package/package/components/meltComponents/Popover.svelte +23 -3
- package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
- package/package/components/monacoLanguagesOptions.d.ts +3 -0
- package/package/components/monacoLanguagesOptions.js +109 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +18 -5
- package/package/components/propertyPicker/PropPicker.svelte +1 -1
- package/package/components/propertyPicker/utils.js +14 -7
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
- package/package/components/runs/JobRunsPreview.svelte +212 -177
- package/package/components/runs/JobsLoader.svelte +2 -2
- package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
- package/package/components/runs/RunBadges.svelte +100 -0
- package/package/components/runs/RunBadges.svelte.d.ts +12 -0
- package/package/components/runs/RunLabels.svelte +86 -0
- package/package/components/runs/RunLabels.svelte.d.ts +10 -0
- package/package/components/runs/RunOption.svelte +20 -0
- package/package/components/runs/RunOption.svelte.d.ts +10 -0
- package/package/components/runs/RunRow.svelte +239 -151
- package/package/components/runs/RunRow.svelte.d.ts +12 -9
- package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
- package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
- package/package/components/runs/RunsFilter.svelte +369 -243
- package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
- package/package/components/runs/RunsQueue.svelte +96 -25
- package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
- package/package/components/runs/RunsTable.svelte +62 -71
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/runs/runs-grid.css +95 -0
- package/package/components/schema/AddPropertyV2.svelte +2 -7
- package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
- package/package/components/schema/EditableSchemaDrawer.svelte +121 -127
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
- package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
- package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
- package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
- package/package/components/schema/FlowPropertyEditor.svelte +195 -236
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +33 -35
- package/package/components/schema/SchemaFormDND.svelte +11 -10
- package/package/components/schema/SchemaFormDND.svelte.d.ts +4 -3
- package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
- package/package/components/search/GlobalSearchModal.svelte +8 -1
- package/package/components/select/DraggableTags.svelte.d.ts +17 -7
- package/package/components/select/MultiSelect.svelte.d.ts +21 -11
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +25 -13
- package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
- package/package/components/settings/PremiumInfo.svelte +7 -2
- package/package/components/settings/TokenDisplay.svelte +1 -1
- package/package/components/sidebar/OperatorMenu.svelte +5 -0
- package/package/components/sidebar/SidebarContent.svelte +48 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
- package/package/components/toast.js +6 -3
- package/package/components/triggers/AddTriggersButton.svelte +7 -6
- package/package/components/triggers/CaptureWrapper.svelte +21 -16
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
- package/package/components/triggers/TriggerLabel.svelte +8 -0
- package/package/components/triggers/TriggerTokens.svelte +1 -1
- package/package/components/triggers/TriggersEditor.svelte +9 -5
- package/package/components/triggers/TriggersTable.svelte +2 -2
- package/package/components/triggers/TriggersWrapper.svelte +17 -5
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
- package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
- package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
- package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
- package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailCapture.svelte +39 -0
- package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
- package/package/components/triggers/email/utils.d.ts +4 -0
- package/package/components/triggers/email/utils.js +52 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
- package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
- package/package/components/triggers/triggers.svelte.d.ts +1 -0
- package/package/components/triggers/triggers.svelte.js +24 -2
- package/package/components/triggers/utils.js +19 -5
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
- package/package/components/triggers.d.ts +1 -1
- package/package/components/triggers.js +2 -0
- package/package/components/wizards/AgGridWizard.svelte +85 -80
- package/package/components/workspaceSettings/AISettings.svelte +74 -22
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
- package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +142 -3
- package/package/gen/schemas.gen.js +144 -3
- package/package/gen/services.gen.d.ts +129 -1
- package/package/gen/services.gen.js +267 -1
- package/package/gen/types.gen.d.ts +434 -8
- package/package/hubPaths.json +6 -2
- package/package/infer.js +1 -1
- package/package/keyboardChain.d.ts +5 -0
- package/package/keyboardChain.js +40 -0
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +2 -0
- package/package/services/JobManager.js +2 -2
- package/package/stores.d.ts +4 -1
- package/package/stores.js +16 -6
- package/package/utils/workspaceHierarchy.d.ts +27 -0
- package/package/utils/workspaceHierarchy.js +101 -0
- package/package/utils.d.ts +6 -3
- package/package/utils.js +30 -15
- package/package/workspace_settings.js +2 -3
- package/package.json +10 -12
- package/package/components/DynSelect.svelte.d.ts +0 -11
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
- package/package/components/ObjectTypeNarrowing.svelte +0 -18
- package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
- package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
- package/package/components/details/EmailTriggerPanel.svelte +0 -76
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { onDestroy, onMount, tick, untrack } from 'svelte';
|
|
2
2
|
import { AppService, FlowService, RawAppService, ScriptService } from '../../gen';
|
|
3
3
|
import { clickOutside, isMac, scroll_into_view_if_needed_polyfill } from '../../utils';
|
|
4
|
-
import { AlertTriangle, BoxesIcon, CalendarIcon, Code2Icon, Database, DollarSignIcon, HomeIcon, LayoutDashboardIcon, PlayIcon, Route, Search, SearchCode, Unplug, WandSparkles } from 'lucide-svelte';
|
|
4
|
+
import { AlertTriangle, BoxesIcon, CalendarIcon, Code2Icon, Database, DollarSignIcon, HomeIcon, LayoutDashboardIcon, MailIcon, PlayIcon, Route, Search, SearchCode, Unplug, WandSparkles } from 'lucide-svelte';
|
|
5
5
|
import Portal from '../Portal.svelte';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import ContentSearchInner from '../ContentSearchInner.svelte';
|
|
@@ -101,6 +101,13 @@ let hiddenMenuItems = [
|
|
|
101
101
|
action: (newtab = false) => gotoPage('/mqtt_triggers', newtab),
|
|
102
102
|
icon: MqttIcon,
|
|
103
103
|
disabled: $userStore?.operator
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
search_id: 'nav:email_triggers',
|
|
107
|
+
label: 'Go to Email triggers',
|
|
108
|
+
action: (newtab = false) => gotoPage('/email_triggers', newtab),
|
|
109
|
+
icon: MailIcon,
|
|
110
|
+
disabled: $userStore?.operator
|
|
104
111
|
}
|
|
105
112
|
];
|
|
106
113
|
let defaultMenuItems = [
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
declare
|
|
1
|
+
declare function $$render<Item extends {
|
|
2
2
|
label?: string;
|
|
3
3
|
value: any;
|
|
4
|
-
}> {
|
|
5
|
-
props
|
|
6
|
-
items?: Item[]
|
|
4
|
+
}>(): {
|
|
5
|
+
props: {
|
|
6
|
+
items?: Item[];
|
|
7
7
|
allowClear?: boolean;
|
|
8
8
|
onRemove: (item: Item) => void;
|
|
9
|
-
onReorder?: (
|
|
9
|
+
onReorder?: (oldIndex: number, newIndex: number) => void;
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
exports: {};
|
|
12
|
+
bindings: "";
|
|
13
|
+
slots: {};
|
|
14
|
+
events: {};
|
|
15
|
+
};
|
|
16
|
+
declare class __sveltets_Render<Item extends {
|
|
17
|
+
label?: string;
|
|
18
|
+
value: any;
|
|
19
|
+
}> {
|
|
20
|
+
props(): ReturnType<typeof $$render<Item>>['props'];
|
|
21
|
+
events(): ReturnType<typeof $$render<Item>>['events'];
|
|
22
|
+
slots(): ReturnType<typeof $$render<Item>>['slots'];
|
|
13
23
|
bindings(): "";
|
|
14
24
|
exports(): {};
|
|
15
25
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
declare
|
|
1
|
+
declare function $$render<Item extends {
|
|
2
2
|
label?: string;
|
|
3
3
|
value: any;
|
|
4
|
-
}> {
|
|
5
|
-
props
|
|
6
|
-
items?: Item[]
|
|
4
|
+
}>(): {
|
|
5
|
+
props: {
|
|
6
|
+
items?: Item[];
|
|
7
7
|
value: Item["value"][];
|
|
8
8
|
placeholder?: string;
|
|
9
9
|
class?: string;
|
|
@@ -20,14 +20,24 @@ declare class __sveltets_Render<Item extends {
|
|
|
20
20
|
selectedUlClass?: string;
|
|
21
21
|
placeholderClass?: string;
|
|
22
22
|
allowClear?: boolean;
|
|
23
|
-
groupBy?: (
|
|
24
|
-
sortBy?: (
|
|
25
|
-
onOpen?: (
|
|
26
|
-
onClear?: (
|
|
27
|
-
onCreateItem?: (
|
|
23
|
+
groupBy?: (item: Item) => string;
|
|
24
|
+
sortBy?: (a: Item, b: Item) => number;
|
|
25
|
+
onOpen?: () => void;
|
|
26
|
+
onClear?: () => void;
|
|
27
|
+
onCreateItem?: (value: string) => void;
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
exports: {};
|
|
30
|
+
bindings: "value";
|
|
31
|
+
slots: {};
|
|
32
|
+
events: {};
|
|
33
|
+
};
|
|
34
|
+
declare class __sveltets_Render<Item extends {
|
|
35
|
+
label?: string;
|
|
36
|
+
value: any;
|
|
37
|
+
}> {
|
|
38
|
+
props(): ReturnType<typeof $$render<Item>>['props'];
|
|
39
|
+
events(): ReturnType<typeof $$render<Item>>['events'];
|
|
40
|
+
slots(): ReturnType<typeof $$render<Item>>['slots'];
|
|
31
41
|
bindings(): "value";
|
|
32
42
|
exports(): {};
|
|
33
43
|
}
|
|
@@ -6,7 +6,7 @@ import { untrack } from 'svelte';
|
|
|
6
6
|
import { getLabel, processItems } from './utils.svelte';
|
|
7
7
|
import SelectDropdown from './SelectDropdown.svelte';
|
|
8
8
|
import { deepEqual } from 'fast-equals';
|
|
9
|
-
let { items, placeholder = 'Please select', value = $bindable(), filterText = $bindable(''), class: className = '', clearable = false, listAutoWidth = true, disabled: _disabled = false, containerStyle = '', inputClass = '', disablePortal = false, loading = false, autofocus, RightIcon, createText, noItemsMsg, open = $bindable(false), groupBy, sortBy, onFocus, onBlur, onClear, onCreateItem, startSnippet } = $props();
|
|
9
|
+
let { items, placeholder = 'Please select', value = $bindable(), filterText = $bindable(''), class: className = '', clearable = false, listAutoWidth = true, disabled: _disabled = false, containerStyle = '', inputClass = '', disablePortal = false, loading = false, autofocus, RightIcon, createText, noItemsMsg, open = $bindable(false), id, groupBy, sortBy, onFocus, onBlur, onClear, onCreateItem, startSnippet } = $props();
|
|
10
10
|
let disabled = $derived(_disabled || (loading && !value));
|
|
11
11
|
let inputEl = $state();
|
|
12
12
|
let processedItems = $derived.by(() => {
|
|
@@ -81,6 +81,7 @@ function clearValue() {
|
|
|
81
81
|
autocomplete="off"
|
|
82
82
|
onpointerdown={() => (open = true)}
|
|
83
83
|
bind:this={inputEl}
|
|
84
|
+
{id}
|
|
84
85
|
/>
|
|
85
86
|
<SelectDropdown
|
|
86
87
|
{disablePortal}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Snippet } from 'svelte';
|
|
2
2
|
import { type ProcessedItem } from './utils.svelte';
|
|
3
|
-
declare
|
|
3
|
+
declare function $$render<Item extends {
|
|
4
4
|
label?: string;
|
|
5
5
|
value: any;
|
|
6
6
|
subtitle?: string;
|
|
7
|
-
}> {
|
|
8
|
-
props
|
|
9
|
-
items?: Item[]
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
}]
|
|
35
|
+
}]>;
|
|
35
36
|
};
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
4
|
-
props
|
|
5
|
-
processedItems?: ProcessedItem<T>[]
|
|
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?: (
|
|
16
|
+
getInputRect?: () => DOMRect;
|
|
17
17
|
onSelectValue: (item: ProcessedItem<T>) => void;
|
|
18
18
|
startSnippet?: Snippet<[{
|
|
19
19
|
item: ProcessedItem<T>;
|
|
20
|
-
}]
|
|
20
|
+
}]>;
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
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
|
}
|
|
@@ -126,8 +126,13 @@ $: estimatedSeats && updateExecs();
|
|
|
126
126
|
</div>
|
|
127
127
|
{#if premiumInfo?.status === 'past_due'}
|
|
128
128
|
<p class="text-red-500 text-base">
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
{#if premiumInfo.max_tolerated_executions === undefined || premiumInfo.usage > premiumInfo.max_tolerated_executions}
|
|
130
|
+
Your last invoice is unpaid, you cannot run any more jobs. Please update your payment
|
|
131
|
+
method in the customer portal to continue running jobs.
|
|
132
|
+
{:else}
|
|
133
|
+
Your last invoice is unpaid. Please update your payment method in the customer portal to
|
|
134
|
+
prevent the interruption of your job executions.
|
|
135
|
+
{/if}
|
|
131
136
|
</p>
|
|
132
137
|
{/if}
|
|
133
138
|
</div>
|
|
@@ -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'));
|
|
@@ -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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
5
|
-
?
|
|
6
|
-
:
|
|
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,
|
|
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>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script lang="ts">import { workspaceStore } from '../../stores';
|
|
2
2
|
import { CaptureService } from '../../gen';
|
|
3
3
|
import { onDestroy, untrack } from 'svelte';
|
|
4
|
-
import {
|
|
4
|
+
import { sendUserToast, sleep } from '../../utils';
|
|
5
5
|
import RouteCapture from './http/RouteCapture.svelte';
|
|
6
6
|
import WebhooksCapture from './webhook/WebhooksCapture.svelte';
|
|
7
|
-
import
|
|
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,7 +12,8 @@ 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
|
-
|
|
15
|
+
import EmailCapture from './email/EmailCapture.svelte';
|
|
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);
|
|
18
19
|
let captureConfigs = $state({});
|
|
@@ -64,7 +65,6 @@ async function getCaptureConfigs() {
|
|
|
64
65
|
}
|
|
65
66
|
return captureConfigs;
|
|
66
67
|
}
|
|
67
|
-
getCaptureConfigs().then((captureConfigs) => setDefaultArgs(captureConfigs));
|
|
68
68
|
async function capture() {
|
|
69
69
|
let i = 0;
|
|
70
70
|
captureActive = true;
|
|
@@ -82,16 +82,6 @@ async function capture() {
|
|
|
82
82
|
await sleep(1000);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
function setDefaultArgs(captureConfigs) {
|
|
86
|
-
if (captureType in captureConfigs) {
|
|
87
|
-
const triggerConfig = captureConfigs[captureType].trigger_config;
|
|
88
|
-
args = isObject(triggerConfig) ? triggerConfig : {};
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
args = {};
|
|
92
|
-
}
|
|
93
|
-
ready = true;
|
|
94
|
-
}
|
|
95
85
|
onDestroy(() => {
|
|
96
86
|
captureActive = false;
|
|
97
87
|
});
|
|
@@ -206,8 +196,8 @@ $effect(() => {
|
|
|
206
196
|
on:captureToggle={handleCapture}
|
|
207
197
|
on:testWithArgs
|
|
208
198
|
/>
|
|
209
|
-
{:else if captureType === '
|
|
210
|
-
<
|
|
199
|
+
{:else if captureType === 'default_email'}
|
|
200
|
+
<DefaultEmailCapture
|
|
211
201
|
{path}
|
|
212
202
|
{isFlow}
|
|
213
203
|
emailDomain={data?.emailDomain}
|
|
@@ -291,6 +281,21 @@ $effect(() => {
|
|
|
291
281
|
on:captureToggle={handleCapture}
|
|
292
282
|
on:testWithArgs
|
|
293
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
|
+
/>
|
|
294
299
|
{/if}
|
|
295
300
|
</div>
|
|
296
301
|
{/key}
|
|
@@ -37,6 +37,6 @@ declare const CaptureWrapper: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
37
37
|
handleCapture: (e: CustomEvent<{
|
|
38
38
|
disableOnly?: boolean;
|
|
39
39
|
}>) => Promise<void>;
|
|
40
|
-
}, "
|
|
40
|
+
}, "connectionInfo">;
|
|
41
41
|
type CaptureWrapper = InstanceType<typeof CaptureWrapper>;
|
|
42
42
|
export default CaptureWrapper;
|