windmill-components 1.623.1 → 1.623.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/assets/tokens/tokens.json +11 -1
- package/package/ata/apis.js +78 -5
- package/package/cancelable-promise-utils.js +4 -2
- package/package/components/AddUser.svelte +1 -1
- package/package/components/ApiConnectForm.svelte +6 -0
- package/package/components/AppConnectDrawer.svelte +1 -0
- package/package/components/AppConnectInner.svelte +1 -0
- package/package/components/AuthSettings.svelte +3 -1
- package/package/components/BedrockCredentialsCheck.svelte +241 -0
- package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
- package/package/components/CenteredModal.svelte +32 -24
- package/package/components/CenteredModal.svelte.d.ts +7 -27
- package/package/components/CenteredPage.svelte +6 -2
- package/package/components/CenteredPage.svelte.d.ts +3 -0
- package/package/components/CompareWorkspaces.svelte +74 -16
- package/package/components/ConcurrentJobsChart.svelte +3 -2
- package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
- package/package/components/CustomPopover.svelte +20 -23
- package/package/components/CustomPopover.svelte.d.ts +14 -39
- package/package/components/DBManager.svelte +134 -42
- package/package/components/DBManager.svelte.d.ts +13 -2
- package/package/components/DBManagerContent.svelte +25 -63
- package/package/components/DBManagerContent.svelte.d.ts +38 -4
- package/package/components/DBManagerDrawer.svelte +7 -9
- package/package/components/DBTable.svelte +1 -1
- package/package/components/DBTable.svelte.d.ts +3 -1
- package/package/components/DBTableEditor.svelte +234 -178
- package/package/components/DBTableEditor.svelte.d.ts +22 -3
- package/package/components/DateInput.svelte +29 -35
- package/package/components/DateInput.svelte.d.ts +10 -11
- package/package/components/DedicatedWorkersSelector.svelte +569 -0
- package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
- package/package/components/DeployWorkspace.svelte +106 -29
- package/package/components/Description.svelte +3 -2
- package/package/components/Dev.svelte +36 -2
- package/package/components/DiffDrawer.svelte +8 -29
- package/package/components/DiffEditor.svelte +32 -2
- package/package/components/DisplayResult.svelte +32 -24
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/Editor.svelte +71 -26
- package/package/components/Editor.svelte.d.ts +3 -0
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
- package/package/components/FlowBuilder.svelte +17 -11
- package/package/components/FlowDiffViewer.svelte +37 -0
- package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
- package/package/components/FlowGraphViewer.svelte +5 -2
- package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +3 -2
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowPreviewResult.svelte +0 -4
- package/package/components/FlowRestartButton.svelte +2 -3
- package/package/components/FlowRestartButton.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +55 -35
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
- package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
- package/package/components/FlowViewer.svelte +103 -2
- package/package/components/FlowViewer.svelte.d.ts +9 -3
- package/package/components/ForkWorkspaceBanner.svelte +32 -13
- package/package/components/GraphqlSchemaViewer.svelte +8 -1
- package/package/components/HistoricInputs.svelte +25 -27
- package/package/components/HistoricInputs.svelte.d.ts +2 -2
- package/package/components/InfiniteList.svelte +27 -20
- package/package/components/InfiniteList.svelte.d.ts +2 -0
- package/package/components/InstanceSetting.svelte +38 -0
- package/package/components/InviteUser.svelte +16 -42
- package/package/components/InviteUser.svelte.d.ts +4 -18
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobOtelTraces.svelte +287 -0
- package/package/components/JobOtelTraces.svelte.d.ts +6 -0
- package/package/components/JsonInputs.svelte +6 -8
- package/package/components/JsonInputs.svelte.d.ts +7 -8
- package/package/components/LogViewer.svelte +91 -33
- package/package/components/Login.svelte +27 -0
- package/package/components/ManualPopover.svelte +5 -6
- package/package/components/ManualPopover.svelte.d.ts +9 -35
- package/package/components/MemoryFootprintViewer.svelte +2 -6
- package/package/components/ModulePreview.svelte +23 -21
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/NextcloudSetting.svelte +1 -1
- package/package/components/OAuthSetting.svelte +1 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/PocketIdSetting.svelte +82 -0
- package/package/components/PocketIdSetting.svelte.d.ts +6 -0
- package/package/components/ResourceEditor.svelte +4 -4
- package/package/components/ResourcePicker.svelte +4 -0
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/RunButton.svelte +5 -15
- package/package/components/RunButton.svelte.d.ts +7 -19
- package/package/components/RunChart.svelte +8 -4
- package/package/components/RunChart.svelte.d.ts +2 -2
- package/package/components/RunForm.svelte +9 -17
- package/package/components/RunForm.svelte.d.ts +0 -1
- package/package/components/RunFormAdvancedPopup.svelte +1 -1
- package/package/components/RunsPage.svelte +202 -537
- package/package/components/RunsPage.svelte.d.ts +5 -5
- package/package/components/S3FilePicker.svelte +7 -11
- package/package/components/S3FilePickerInner.svelte +2 -3
- package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
- package/package/components/SavedInputsPicker.svelte +1 -1
- package/package/components/SavedInputsV2.svelte +35 -36
- package/package/components/SchemaForm.svelte +26 -19
- package/package/components/SchemaFormWithArgPicker.svelte +4 -3
- package/package/components/ScriptBuilder.svelte +1 -1
- package/package/components/ScriptEditor.svelte +575 -101
- package/package/components/Section.svelte +4 -2
- package/package/components/ServiceLogsInner.svelte +4 -4
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +46 -2
- package/package/components/Star.svelte +8 -12
- package/package/components/Star.svelte.d.ts +6 -19
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SuperadminSettingsInner.svelte +1 -1
- package/package/components/TemplateEditor.svelte +54 -29
- package/package/components/TemplateEditor.svelte.d.ts +13 -102
- package/package/components/TimeAgo.svelte +49 -7
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toast.svelte +5 -1
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +35 -20
- package/package/components/WorkerGroup.svelte.d.ts +1 -0
- package/package/components/WorkerTagPicker.svelte +1 -1
- package/package/components/WorkerTagSelect.svelte +5 -2
- package/package/components/WorkspaceTutorials.svelte +5 -0
- package/package/components/apps/components/buttons/AppButton.svelte +21 -6
- package/package/components/apps/components/buttons/AppForm.svelte +2 -1
- package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
- package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +2 -5
- package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
- package/package/components/apps/components/display/dbtable/metadata.d.ts +3 -3
- package/package/components/apps/components/display/dbtable/metadata.js +177 -148
- package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
- package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
- package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
- package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
- package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/utils.js +61 -36
- package/package/components/apps/components/display/table/AppAggridTable.svelte +8 -0
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -9
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
- package/package/components/apps/components/helpers/InputValue.svelte +1 -1
- package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
- package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
- package/package/components/apps/editor/PublicApp.svelte +49 -30
- package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
- package/package/components/apps/inputType.d.ts +6 -1
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/assets/AssetsUsageDrawer.svelte +98 -27
- package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
- package/package/components/assets/lib.d.ts +3 -2
- package/package/components/assets/lib.js +3 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/CloseButton.svelte +2 -1
- package/package/components/common/CloseButton.svelte.d.ts +1 -0
- package/package/components/common/badge/CountBadge.svelte +4 -3
- package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
- package/package/components/common/button/Button.svelte +1 -1
- package/package/components/common/button/model.js +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +4 -1
- package/package/components/common/drawer/DrawerContent.svelte +6 -3
- package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/TypeScript.svelte +5 -3
- package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +3 -3
- package/package/components/common/modal/Modal2.svelte +1 -0
- package/package/components/common/table/AppRow.svelte +4 -1
- package/package/components/common/table/FlowRow.svelte +4 -1
- package/package/components/common/table/RawAppRow.svelte +4 -1
- package/package/components/common/table/Row.svelte +11 -21
- package/package/components/common/table/Row.svelte.d.ts +4 -20
- package/package/components/common/table/RowIcon.svelte +6 -2
- package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +4 -1
- package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
- package/package/components/copilot/autocomplete/request.js +13 -9
- package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
- package/package/components/copilot/chat/AIButtonStyle.js +2 -1
- package/package/components/copilot/chat/AIChat.svelte +3 -1
- package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
- package/package/components/copilot/chat/AIChatInput.svelte +275 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
- package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
- package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
- package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
- package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
- package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
- package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
- package/package/components/copilot/chat/app/core.d.ts +56 -15
- package/package/components/copilot/chat/app/core.js +141 -22
- package/package/components/copilot/chat/context.d.ts +59 -2
- package/package/components/copilot/chat/context.js +6 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
- package/package/components/copilot/chat/flow/core.d.ts +3 -1
- package/package/components/copilot/chat/flow/core.js +29 -2
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
- package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
- package/package/components/copilot/chat/script/core.d.ts +4 -1
- package/package/components/copilot/chat/script/core.js +43 -6
- package/package/components/copilot/chat/shared.d.ts +10 -0
- package/package/components/copilot/chat/shared.js +24 -0
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +2 -9
- package/package/components/copilot/utils.d.ts +5 -0
- package/package/components/copilot/utils.js +8 -0
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/dbOps.d.ts +18 -4
- package/package/components/dbOps.js +25 -3
- package/package/components/debug/DebugConsole.svelte +277 -0
- package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
- package/package/components/debug/DebugPanel.svelte +97 -0
- package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
- package/package/components/debug/DebugToolbar.svelte +148 -0
- package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
- package/package/components/debug/DebugVariableViewer.svelte +115 -0
- package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
- package/package/components/debug/MonacoDebugger.svelte +384 -0
- package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
- package/package/components/debug/dapClient.d.ts +192 -0
- package/package/components/debug/dapClient.js +426 -0
- package/package/components/debug/debugUtils.d.ts +30 -0
- package/package/components/debug/debugUtils.js +131 -0
- package/package/components/debug/index.d.ts +75 -0
- package/package/components/debug/index.js +82 -0
- package/package/components/details/DetailPageHeader.svelte +21 -7
- package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +10 -1
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsApp.svelte +6 -4
- package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
- package/package/components/flows/FlowHistoryInner.svelte +15 -4
- package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
- package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
- package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
- package/package/components/flows/content/FlowInput.svelte +211 -37
- package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
- package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
- package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
- package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
- package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
- package/package/components/flows/content/McpToolEditor.svelte +50 -37
- package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
- package/package/components/flows/conversations/FlowChat.svelte +16 -2
- package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
- package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
- package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
- package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
- package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
- package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
- package/package/components/flows/types.d.ts +2 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
- package/package/components/graph/FlowGraphV2.svelte +7 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +41 -24
- package/package/components/home/ItemsList.svelte +7 -6
- package/package/components/home/TutorialBanner.svelte +34 -18
- package/package/components/home/treeViewUtils.js +1 -1
- package/package/components/icons/CssIcon.svelte +20 -0
- package/package/components/icons/CssIcon.svelte.d.ts +7 -25
- package/package/components/icons/HtmlIcon.svelte +20 -0
- package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
- package/package/components/icons/JavaScriptIcon.svelte +10 -2
- package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
- package/package/components/icons/JsonIcon.svelte +8 -2
- package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
- package/package/components/icons/LessIcon.svelte +16 -0
- package/package/components/icons/LessIcon.svelte.d.ts +8 -0
- package/package/components/icons/MarkdownIcon.svelte +20 -0
- package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
- package/package/components/icons/NextcloudIcon.svelte +3 -2
- package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
- package/package/components/icons/PocketIdIcon.svelte +9 -0
- package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
- package/package/components/icons/ReactIcon.svelte +10 -2
- package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
- package/package/components/icons/SassIcon.svelte +28 -0
- package/package/components/icons/SassIcon.svelte.d.ts +8 -0
- package/package/components/icons/SvelteIcon.svelte +10 -2
- package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
- package/package/components/icons/VueIcon.svelte +10 -2
- package/package/components/icons/VueIcon.svelte.d.ts +1 -0
- package/package/components/icons/YamlIcon.svelte +20 -0
- package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
- package/package/components/icons/index.js +3 -1
- package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
- package/package/components/instanceSettings.d.ts +2 -1
- package/package/components/instanceSettings.js +33 -1
- package/package/components/jobs/JobPreview.svelte +46 -39
- package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
- package/package/components/monacoLanguagesOptions.js +16 -15
- package/package/components/propertyPicker/PropPicker.svelte +16 -2
- package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
- package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
- package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
- package/package/components/raw_apps/FileTreeNode.svelte +119 -83
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
- package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
- package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
- package/package/components/raw_apps/RawAppEditor.svelte +218 -68
- package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
- package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
- package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
- package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
- package/package/components/raw_apps/RawAppModules.svelte +13 -7
- package/package/components/raw_apps/RawAppPreview.svelte +48 -6
- package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
- package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
- package/package/components/raw_apps/RunnableRow.svelte +41 -0
- package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
- package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +76 -18
- package/package/components/runs/ManuelDatePicker.svelte +3 -3
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
- package/package/components/runs/RunsFilter.svelte +75 -63
- package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
- package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
- package/package/components/runs/RunsTable.svelte +1 -1
- package/package/components/runs/RunsTable.svelte.d.ts +1 -1
- package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
- package/package/components/runs/useJobsLoader.svelte.js +507 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +2 -2
- package/package/components/scriptEditor/LogPanel.svelte +17 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/select/MultiSelect.svelte +1 -1
- package/package/components/select/SelectDropdown.svelte +17 -5
- package/package/components/settings/AIPromptsModal.svelte +88 -0
- package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
- package/package/components/settings/ChangeWorkspaceId.svelte +16 -11
- package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
- package/package/components/settings/CreateToken.svelte +4 -4
- package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
- package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
- package/package/components/settings/WorkspaceUserSettings.svelte +537 -411
- package/package/components/sidebar/MenuButton.svelte +54 -24
- package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
- package/package/components/sidebar/OperatorMenu.svelte +63 -88
- package/package/components/sidebar/SidebarContent.svelte +39 -6
- package/package/components/sidebar/UserMenu.svelte +3 -3
- package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
- package/package/components/sqlTypeService.js +4 -3
- package/package/components/table/DataTable.svelte +8 -3
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/text_input/TextInput.svelte +3 -0
- package/package/components/text_input/TextInput.svelte.d.ts +2 -0
- package/package/components/triggers/AddTriggersButton.svelte +17 -4
- package/package/components/triggers/TriggersEditor.svelte +4 -0
- package/package/components/triggers/TriggersWrapper.svelte +14 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +379 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
- package/package/components/triggers/native/NativeTriggerTable.svelte +155 -0
- package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
- package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
- package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
- package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
- package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
- package/package/components/triggers/native/utils.d.ts +74 -0
- package/package/components/triggers/native/utils.js +152 -0
- package/package/components/triggers/triggers.svelte.d.ts +2 -1
- package/package/components/triggers/triggers.svelte.js +36 -8
- package/package/components/triggers/utils.js +18 -6
- package/package/components/triggers.d.ts +1 -1
- package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
- package/package/components/tutorials/RunsTutorial.svelte +399 -0
- package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
- package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
- package/package/components/tutorials/utils.d.ts +16 -0
- package/package/components/tutorials/utils.js +96 -0
- package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
- package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
- package/package/components/vscode.js +6 -6
- package/package/components/workspace/WorkspaceCard.svelte +184 -0
- package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
- package/package/components/workspace/WorkspaceIcon.svelte +21 -0
- package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
- package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
- package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
- package/package/components/workspaceSettings/AISettings.svelte +147 -108
- package/package/components/workspaceSettings/CreateWorkspace.svelte +26 -12
- package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
- package/package/components/workspaceSettings/DataTableSettings.svelte +2 -1
- package/package/components/workspaceSettings/DucklakeSettings.svelte +54 -26
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
- package/package/components/workspaceSettings/OAuthClientConfig.svelte +180 -0
- package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +14 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +285 -241
- package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +302 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
- package/package/consts.js +4 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +517 -4
- package/package/gen/schemas.gen.js +523 -4
- package/package/gen/services.gen.d.ts +359 -22
- package/package/gen/services.gen.js +702 -44
- package/package/gen/types.gen.d.ts +1501 -121
- package/package/hub.js +2 -2
- package/package/hubPaths.json +3 -2
- package/package/infer.js +2 -0
- package/package/logout.d.ts +0 -2
- package/package/logout.js +2 -23
- package/package/logoutKit.d.ts +2 -0
- package/package/logoutKit.js +26 -0
- package/package/monaco_workers/graphql.worker.bundle.js +121 -121
- package/package/navigation.d.ts +1 -1
- package/package/rawAppWmillTs.d.ts +11 -0
- package/package/rawAppWmillTs.js +38 -1
- package/package/refreshUser.d.ts +5 -1
- package/package/refreshUser.js +20 -30
- package/package/storeUtils.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +68 -1
- package/package/svelte5Utils.svelte.js +193 -2
- package/package/svelte5UtilsKit.svelte.d.ts +3 -0
- package/package/svelte5UtilsKit.svelte.js +30 -0
- package/package/tutorialUtils.js +0 -4
- package/package/tutorials/config.js +31 -3
- package/package/tutorials/roleUtils.d.ts +1 -1
- package/package/tutorials/roleUtils.js +6 -2
- package/package/utils.js +162 -1
- package/package.json +1 -1
- package/package/components/SavedInputs.svelte +0 -416
- package/package/components/runs/JobsLoader.svelte +0 -468
- package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
- package/package/components/schema/SchemaPicker.svelte +0 -92
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<script lang="ts">import { NativeTriggerService } from '../../../../../gen/services.gen';
|
|
2
|
+
import { workspaceStore } from '../../../../../stores';
|
|
3
|
+
import { sendUserToast } from '../../../../../utils';
|
|
4
|
+
import { Button } from '../../../../common';
|
|
5
|
+
import SchemaForm from '../../../../SchemaForm.svelte';
|
|
6
|
+
import Section from '../../../../Section.svelte';
|
|
7
|
+
import { Loader2 } from 'lucide-svelte';
|
|
8
|
+
import { getNextcloudSchema } from '../../utils';
|
|
9
|
+
let { serviceConfig = $bindable(), errors = $bindable(), disabled = false, externalData = undefined, token = $bindable(''), triggerTokens = $bindable(undefined), loading = $bindable() } = $props();
|
|
10
|
+
let availableEvents = $state([]);
|
|
11
|
+
let serviceSchema = $state(null);
|
|
12
|
+
async function loadAvailableEvents() {
|
|
13
|
+
if (!$workspaceStore) {
|
|
14
|
+
availableEvents = [];
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
loading = true;
|
|
18
|
+
try {
|
|
19
|
+
const events = await NativeTriggerService.listNextCloudEvents({
|
|
20
|
+
workspace: $workspaceStore
|
|
21
|
+
});
|
|
22
|
+
availableEvents = events;
|
|
23
|
+
serviceSchema = getNextcloudSchema(events);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
console.error('Failed to load NextCloud events:', err);
|
|
27
|
+
sendUserToast(`Failed to load available events: ${err.body || err.message}`, true);
|
|
28
|
+
availableEvents = [];
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
loading = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function validate() {
|
|
35
|
+
let serviceErrors = {};
|
|
36
|
+
if (serviceSchema && serviceSchema.required) {
|
|
37
|
+
for (const requiredField of serviceSchema.required) {
|
|
38
|
+
if (!serviceConfig[requiredField]) {
|
|
39
|
+
const fieldTitle = serviceSchema.properties?.[requiredField]?.title || requiredField;
|
|
40
|
+
serviceErrors[requiredField] = `${fieldTitle} is required`;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!serviceConfig.event && availableEvents.length === 0 && !loading) {
|
|
45
|
+
serviceErrors.event =
|
|
46
|
+
'Unable to load available events. Please check your resource configuration.';
|
|
47
|
+
}
|
|
48
|
+
return serviceErrors;
|
|
49
|
+
}
|
|
50
|
+
let externalDataApplied = $state(false);
|
|
51
|
+
$effect(() => {
|
|
52
|
+
if ($workspaceStore) {
|
|
53
|
+
loadAvailableEvents();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
$effect(() => {
|
|
57
|
+
if (externalData && !externalDataApplied) {
|
|
58
|
+
serviceConfig = { ...serviceConfig, ...externalData };
|
|
59
|
+
externalDataApplied = true;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
$effect(() => {
|
|
63
|
+
if (!externalData) {
|
|
64
|
+
externalDataApplied = false;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<Section label="Nextcloud configuration">
|
|
70
|
+
{#if loading}
|
|
71
|
+
<div class="flex items-center gap-2 text-secondary text-xs">
|
|
72
|
+
<Loader2 class="animate-spin" size={16} />
|
|
73
|
+
Loading available events...
|
|
74
|
+
</div>
|
|
75
|
+
{:else if availableEvents.length === 0}
|
|
76
|
+
<div class="text-red-500 text-xs space-y-2">
|
|
77
|
+
<div
|
|
78
|
+
>No events available. Please ensure your workspace has a connected Nextcloud integration.</div
|
|
79
|
+
>
|
|
80
|
+
<div class="flex gap-2">
|
|
81
|
+
<Button variant="default" on:click={loadAvailableEvents} {disabled}>
|
|
82
|
+
Retry loading events
|
|
83
|
+
</Button>
|
|
84
|
+
<Button variant="subtle" href="/workspace_settings?tab=integrations" target="_blank">
|
|
85
|
+
Manage integrations
|
|
86
|
+
</Button>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
{:else if serviceSchema}
|
|
90
|
+
<SchemaForm
|
|
91
|
+
schema={serviceSchema}
|
|
92
|
+
bind:args={serviceConfig}
|
|
93
|
+
isValid={true}
|
|
94
|
+
compact={true}
|
|
95
|
+
prettifyHeader={true}
|
|
96
|
+
{disabled}
|
|
97
|
+
/>
|
|
98
|
+
{:else}
|
|
99
|
+
<div class="text-secondary text-xs">
|
|
100
|
+
Please ensure Nextcloud workspace integration is connected to load available configuration
|
|
101
|
+
options.
|
|
102
|
+
</div>
|
|
103
|
+
{/if}
|
|
104
|
+
</Section>
|
package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
serviceConfig: Record<string, any>;
|
|
3
|
+
errors: Record<string, string>;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
externalData?: any;
|
|
6
|
+
path?: string;
|
|
7
|
+
isFlow?: boolean;
|
|
8
|
+
hash?: string;
|
|
9
|
+
token?: string;
|
|
10
|
+
triggerTokens?: any;
|
|
11
|
+
scopes?: string[];
|
|
12
|
+
loading: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const NextcloudTriggerForm: import("svelte").Component<Props, {
|
|
15
|
+
validate: () => Record<string, string>;
|
|
16
|
+
}, "token" | "loading" | "errors" | "triggerTokens" | "serviceConfig">;
|
|
17
|
+
type NextcloudTriggerForm = ReturnType<typeof NextcloudTriggerForm>;
|
|
18
|
+
export default NextcloudTriggerForm;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { NativeServiceName, NativeTrigger } from '../../../gen/types.gen';
|
|
2
|
+
import { type Writable } from 'svelte/store';
|
|
3
|
+
export interface NativeTriggerConfig {
|
|
4
|
+
readonly serviceDisplayName: string;
|
|
5
|
+
readonly serviceKey: NativeServiceName;
|
|
6
|
+
readonly supportsSync: boolean;
|
|
7
|
+
readonly supportsFetchConfig: boolean;
|
|
8
|
+
readonly isCloudCompatible: boolean;
|
|
9
|
+
readonly templates?: {
|
|
10
|
+
script?: string;
|
|
11
|
+
flow?: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const NATIVE_TRIGGER_SERVICES: Record<NativeServiceName, NativeTriggerConfig>;
|
|
15
|
+
export declare function isServiceAvailable(service: NativeServiceName, workspace: string): Promise<boolean>;
|
|
16
|
+
export declare function getAvailableServices(): NativeServiceName[];
|
|
17
|
+
export declare function getAvailableNativeTriggerServices(workspace: string): Promise<NativeServiceName[]>;
|
|
18
|
+
export declare function getServiceConfig(service: NativeServiceName): NativeTriggerConfig | undefined;
|
|
19
|
+
export type ExtendedNativeTrigger = NativeTrigger & {
|
|
20
|
+
marked?: string;
|
|
21
|
+
};
|
|
22
|
+
export interface ServiceFormProps {
|
|
23
|
+
config: Record<string, any>;
|
|
24
|
+
errors: Record<string, string>;
|
|
25
|
+
resources: Array<{
|
|
26
|
+
path: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
}>;
|
|
29
|
+
onConfigChange: (newConfig: Record<string, any>) => void;
|
|
30
|
+
onTest?: () => Promise<void>;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function validateCommonFields(config: Record<string, any>): Record<string, string>;
|
|
34
|
+
export declare function formatTriggerDisplayName(trigger: NativeTrigger): string;
|
|
35
|
+
export declare function getTriggerIconName(service: NativeServiceName): string;
|
|
36
|
+
export declare function getServiceIcon(service: NativeServiceName): Promise<any>;
|
|
37
|
+
export declare function getServiceTemplates(service: NativeServiceName): {
|
|
38
|
+
script?: string;
|
|
39
|
+
flow?: string;
|
|
40
|
+
} | undefined;
|
|
41
|
+
export declare function getTemplatePath(service: NativeServiceName, type: 'script' | 'flow'): string | undefined;
|
|
42
|
+
export interface NextcloudEvent {
|
|
43
|
+
path: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function getNextcloudSchema(availableEvents: NextcloudEvent[]): {
|
|
47
|
+
type: string;
|
|
48
|
+
properties: {
|
|
49
|
+
event: {
|
|
50
|
+
type: string;
|
|
51
|
+
title: string;
|
|
52
|
+
description: string;
|
|
53
|
+
enum: string[];
|
|
54
|
+
enumLabels: Record<string, string>;
|
|
55
|
+
};
|
|
56
|
+
eventFilter: {
|
|
57
|
+
type: string;
|
|
58
|
+
title: string;
|
|
59
|
+
description: string;
|
|
60
|
+
};
|
|
61
|
+
userIdFilter: {
|
|
62
|
+
type: string;
|
|
63
|
+
title: string;
|
|
64
|
+
description: string;
|
|
65
|
+
};
|
|
66
|
+
headers: {
|
|
67
|
+
type: string;
|
|
68
|
+
title: string;
|
|
69
|
+
description: string;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
required: string[];
|
|
73
|
+
};
|
|
74
|
+
export declare function saveNativeTriggerFromCfg(service: NativeServiceName, initialExternalId: string, triggerCfg: Record<string, any>, edit: boolean, workspace: string, usedTriggerKinds: Writable<string[]>): Promise<string | null>;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { isCloudHosted } from '../../../cloud';
|
|
2
|
+
import { NativeTriggerService, WorkspaceIntegrationService } from '../../../gen';
|
|
3
|
+
import { get } from 'svelte/store';
|
|
4
|
+
import { sendUserToast } from '../../../toast';
|
|
5
|
+
export const NATIVE_TRIGGER_SERVICES = {
|
|
6
|
+
nextcloud: {
|
|
7
|
+
serviceDisplayName: 'Nextcloud',
|
|
8
|
+
serviceKey: 'nextcloud',
|
|
9
|
+
supportsSync: true,
|
|
10
|
+
supportsFetchConfig: true,
|
|
11
|
+
isCloudCompatible: true,
|
|
12
|
+
templates: {
|
|
13
|
+
script: '/scripts/add?hub=hub%2F28115',
|
|
14
|
+
flow: '/flows/add?hub=73'
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export async function isServiceAvailable(service, workspace) {
|
|
19
|
+
const config = NATIVE_TRIGGER_SERVICES[service];
|
|
20
|
+
if (!config)
|
|
21
|
+
return false;
|
|
22
|
+
if (isCloudHosted() && !config.isCloudCompatible) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const response = await WorkspaceIntegrationService.checkIfNativeTriggersServiceExists({
|
|
27
|
+
workspace,
|
|
28
|
+
serviceName: service
|
|
29
|
+
});
|
|
30
|
+
return response;
|
|
31
|
+
}
|
|
32
|
+
catch (workspaceErr) {
|
|
33
|
+
console.debug(`Workspace integration check failed for ${service}:`, workspaceErr);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function getAvailableServices() {
|
|
38
|
+
return Object.keys(NATIVE_TRIGGER_SERVICES);
|
|
39
|
+
}
|
|
40
|
+
export async function getAvailableNativeTriggerServices(workspace) {
|
|
41
|
+
const services = getAvailableServices();
|
|
42
|
+
const availableServices = [];
|
|
43
|
+
for (const service of services) {
|
|
44
|
+
const available = await isServiceAvailable(service, workspace);
|
|
45
|
+
if (available) {
|
|
46
|
+
availableServices.push(service);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return availableServices;
|
|
50
|
+
}
|
|
51
|
+
export function getServiceConfig(service) {
|
|
52
|
+
return NATIVE_TRIGGER_SERVICES[service];
|
|
53
|
+
}
|
|
54
|
+
export function validateCommonFields(config) {
|
|
55
|
+
const errors = {};
|
|
56
|
+
if (!config.script_path?.trim()) {
|
|
57
|
+
errors.script_path = 'Script/Flow path is required';
|
|
58
|
+
}
|
|
59
|
+
return errors;
|
|
60
|
+
}
|
|
61
|
+
export function formatTriggerDisplayName(trigger) {
|
|
62
|
+
return `${trigger.script_path} (external id: ${trigger.external_id})`;
|
|
63
|
+
}
|
|
64
|
+
export function getTriggerIconName(service) {
|
|
65
|
+
switch (service) {
|
|
66
|
+
case 'nextcloud':
|
|
67
|
+
return 'NextcloudIcon';
|
|
68
|
+
default:
|
|
69
|
+
return 'NextcloudIcon';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export async function getServiceIcon(service) {
|
|
73
|
+
switch (service) {
|
|
74
|
+
case 'nextcloud':
|
|
75
|
+
return (await import('../../icons/NextcloudIcon.svelte')).default;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function getServiceTemplates(service) {
|
|
79
|
+
const config = getServiceConfig(service);
|
|
80
|
+
return config?.templates;
|
|
81
|
+
}
|
|
82
|
+
export function getTemplatePath(service, type) {
|
|
83
|
+
const templates = getServiceTemplates(service);
|
|
84
|
+
return templates?.[type];
|
|
85
|
+
}
|
|
86
|
+
export function getNextcloudSchema(availableEvents) {
|
|
87
|
+
return {
|
|
88
|
+
type: 'object',
|
|
89
|
+
properties: {
|
|
90
|
+
event: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
title: 'Event',
|
|
93
|
+
description: 'The type of Nextcloud event to listen for',
|
|
94
|
+
enum: availableEvents.map((e) => e.path),
|
|
95
|
+
enumLabels: availableEvents.reduce((acc, cur) => ({ ...acc, [cur.path]: cur.description ?? cur.path }), {})
|
|
96
|
+
},
|
|
97
|
+
eventFilter: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
title: 'Event filter',
|
|
100
|
+
description: 'Optional filter criteria for the event (JSON object)'
|
|
101
|
+
},
|
|
102
|
+
userIdFilter: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
title: 'User ID filter',
|
|
105
|
+
description: 'Filter events by specific user ID'
|
|
106
|
+
},
|
|
107
|
+
headers: {
|
|
108
|
+
type: 'object',
|
|
109
|
+
title: 'Headers',
|
|
110
|
+
description: 'Optional HTTP headers to include (JSON object)'
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
required: ['event']
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export async function saveNativeTriggerFromCfg(service, initialExternalId, triggerCfg, edit, workspace, usedTriggerKinds) {
|
|
117
|
+
const requestBody = {
|
|
118
|
+
script_path: triggerCfg.script_path,
|
|
119
|
+
is_flow: triggerCfg.is_flow,
|
|
120
|
+
service_config: triggerCfg.service_config
|
|
121
|
+
};
|
|
122
|
+
const serviceName = NATIVE_TRIGGER_SERVICES[service].serviceDisplayName;
|
|
123
|
+
try {
|
|
124
|
+
let externalId = initialExternalId;
|
|
125
|
+
if (edit) {
|
|
126
|
+
await NativeTriggerService.updateNativeTrigger({
|
|
127
|
+
workspace: workspace,
|
|
128
|
+
serviceName: service,
|
|
129
|
+
externalId: initialExternalId,
|
|
130
|
+
requestBody
|
|
131
|
+
});
|
|
132
|
+
sendUserToast(`${serviceName} trigger ${externalId} updated`);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const response = await NativeTriggerService.createNativeTrigger({
|
|
136
|
+
workspace: workspace,
|
|
137
|
+
serviceName: service,
|
|
138
|
+
requestBody
|
|
139
|
+
});
|
|
140
|
+
externalId = response.external_id;
|
|
141
|
+
sendUserToast(`${serviceName} trigger ${externalId} created`);
|
|
142
|
+
}
|
|
143
|
+
if (!get(usedTriggerKinds).includes(service)) {
|
|
144
|
+
usedTriggerKinds.update((t) => [...t, service]);
|
|
145
|
+
}
|
|
146
|
+
return externalId;
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
sendUserToast(error.body || error.message, true);
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TriggersCount } from '../../gen';
|
|
1
|
+
import { type TriggersCount, type NativeServiceName } from '../../gen';
|
|
2
2
|
import { type Trigger } from './utils';
|
|
3
3
|
import { type Writable } from 'svelte/store';
|
|
4
4
|
import type { TriggerType } from './utils';
|
|
@@ -28,5 +28,6 @@ export declare class Triggers {
|
|
|
28
28
|
fetchGcpTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
|
|
29
29
|
fetchHttpTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
|
|
30
30
|
fetchEmailTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
|
|
31
|
+
fetchNativeTriggers(serviceName: NativeServiceName, workspaceId: string | undefined, path: string, isFlow: boolean, user?: UserExt | undefined): Promise<void>;
|
|
31
32
|
fetchTriggers(triggersCountStore: Writable<TriggersCount | undefined>, workspaceId: string | undefined, path: string, isFlow: boolean, primarySchedule?: ScheduleTrigger | undefined | false, user?: UserExt | undefined): Promise<void>;
|
|
32
33
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, SqsTriggerService, WebsocketTriggerService, HttpTriggerService, GcpTriggerService, EmailTriggerService } from '../../gen';
|
|
1
|
+
import { KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, SqsTriggerService, WebsocketTriggerService, NativeTriggerService, HttpTriggerService, GcpTriggerService, EmailTriggerService } from '../../gen';
|
|
2
2
|
import { enterpriseLicense } from '../../stores';
|
|
3
3
|
import { getLightConfig, sortTriggers, updateTriggersCount } from './utils';
|
|
4
4
|
import { get } from 'svelte/store';
|
|
@@ -38,6 +38,7 @@ export class Triggers {
|
|
|
38
38
|
this.#updateDraftCallback?.();
|
|
39
39
|
}
|
|
40
40
|
setDraftConfig(triggerIndex, draftConfig) {
|
|
41
|
+
console.log('setDraftConfig', triggerIndex, draftConfig);
|
|
41
42
|
if (triggerIndex === undefined || triggerIndex < 0 || triggerIndex >= this.#triggers.length) {
|
|
42
43
|
return;
|
|
43
44
|
}
|
|
@@ -339,6 +340,30 @@ export class Triggers {
|
|
|
339
340
|
console.error('Failed to fetch email triggers:', error);
|
|
340
341
|
}
|
|
341
342
|
}
|
|
343
|
+
async fetchNativeTriggers(serviceName, workspaceId, path, isFlow, user = undefined) {
|
|
344
|
+
if (!workspaceId)
|
|
345
|
+
return;
|
|
346
|
+
try {
|
|
347
|
+
const triggers = await NativeTriggerService.listNativeTriggers({
|
|
348
|
+
workspace: workspaceId,
|
|
349
|
+
serviceName,
|
|
350
|
+
path,
|
|
351
|
+
isFlow
|
|
352
|
+
});
|
|
353
|
+
// Convert to the trigger format used by updateTriggers
|
|
354
|
+
const triggerData = triggers.map((t) => ({
|
|
355
|
+
path: t.external_id,
|
|
356
|
+
script_path: t.script_path,
|
|
357
|
+
is_flow: t.is_flow,
|
|
358
|
+
extra_perms: {},
|
|
359
|
+
service_config: t.service_config
|
|
360
|
+
}));
|
|
361
|
+
this.updateTriggers(triggerData, serviceName, user);
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
console.debug(`Failed to fetch ${serviceName} triggers:`, error);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
342
367
|
async fetchTriggers(triggersCountStore, workspaceId, path, isFlow, primarySchedule = undefined, user = undefined) {
|
|
343
368
|
if (!workspaceId)
|
|
344
369
|
return;
|
|
@@ -348,14 +373,17 @@ export class Triggers {
|
|
|
348
373
|
this.fetchHttpTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
349
374
|
this.fetchWebsocketTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
350
375
|
this.fetchPostgresTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
351
|
-
this.fetchNatsTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
352
376
|
this.fetchMqttTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
353
|
-
this.
|
|
354
|
-
...(get(enterpriseLicense)
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
377
|
+
this.fetchNativeTriggers('nextcloud', workspaceId, path, isFlow, user),
|
|
378
|
+
...(get(enterpriseLicense)
|
|
379
|
+
? [
|
|
380
|
+
this.fetchKafkaTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
381
|
+
this.fetchSqsTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
382
|
+
this.fetchGcpTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
383
|
+
this.fetchEmailTriggers(triggersCountStore, workspaceId, path, isFlow, user),
|
|
384
|
+
this.fetchNatsTriggers(triggersCountStore, workspaceId, path, isFlow, user)
|
|
385
|
+
]
|
|
386
|
+
: [])
|
|
359
387
|
]);
|
|
360
388
|
}
|
|
361
389
|
}
|
|
@@ -5,7 +5,6 @@ import MqttIcon from '../icons/MqttIcon.svelte';
|
|
|
5
5
|
import AwsIcon from '../icons/AwsIcon.svelte';
|
|
6
6
|
import GoogleCloudIcon from '../icons/GoogleCloudIcon.svelte';
|
|
7
7
|
import SchedulePollIcon from '../icons/SchedulePollIcon.svelte';
|
|
8
|
-
import {} from './';
|
|
9
8
|
import { saveScheduleFromCfg } from '../flows/scheduleUtils';
|
|
10
9
|
import { saveHttpRouteFromCfg } from './http/utils';
|
|
11
10
|
import { saveWebsocketTriggerFromCfg } from './websocket/utils';
|
|
@@ -17,6 +16,8 @@ import { saveMqttTriggerFromCfg } from './mqtt/utils';
|
|
|
17
16
|
import { saveGcpTriggerFromCfg } from './gcp/utils';
|
|
18
17
|
import { emptyString } from '../../utils';
|
|
19
18
|
import { saveEmailTriggerFromCfg } from './email/utils';
|
|
19
|
+
import NextcloudIcon from '../icons/NextcloudIcon.svelte';
|
|
20
|
+
import { saveNativeTriggerFromCfg } from './native/utils';
|
|
20
21
|
export const CLOUD_DISABLED_TRIGGER_TYPES = [
|
|
21
22
|
'nats',
|
|
22
23
|
'kafka',
|
|
@@ -56,7 +57,8 @@ export const triggerIconMap = {
|
|
|
56
57
|
gcp: GoogleCloudIcon,
|
|
57
58
|
primary_schedule: Calendar,
|
|
58
59
|
poll: SchedulePollIcon,
|
|
59
|
-
cli: Terminal
|
|
60
|
+
cli: Terminal,
|
|
61
|
+
nextcloud: NextcloudIcon
|
|
60
62
|
};
|
|
61
63
|
export const triggerDisplayNamesMap = {
|
|
62
64
|
schedule: 'Schedule',
|
|
@@ -72,7 +74,8 @@ export const triggerDisplayNamesMap = {
|
|
|
72
74
|
poll: 'Scheduled Poll',
|
|
73
75
|
webhook: 'Webhook',
|
|
74
76
|
default_email: 'Default Email',
|
|
75
|
-
cli: 'CLI'
|
|
77
|
+
cli: 'CLI',
|
|
78
|
+
nextcloud: 'Nextcloud'
|
|
76
79
|
};
|
|
77
80
|
/**
|
|
78
81
|
* Converts a TriggerType to a CaptureTriggerKind when a mapping exists
|
|
@@ -116,7 +119,8 @@ export function updateTriggersCount(triggersCountStore, type, action, primaryCfg
|
|
|
116
119
|
gcp: 'gcp_count',
|
|
117
120
|
email: 'email_count',
|
|
118
121
|
poll: undefined,
|
|
119
|
-
cli: undefined
|
|
122
|
+
cli: undefined,
|
|
123
|
+
nextcloud: undefined
|
|
120
124
|
};
|
|
121
125
|
const countProperty = countPropertyMap[type];
|
|
122
126
|
triggersCountStore.update((triggersCount) => {
|
|
@@ -221,7 +225,8 @@ export async function deployTriggers(triggersToDeploy, workspaceId, isAdmin, use
|
|
|
221
225
|
gcp: (trigger) => saveGcpTriggerFromCfg(trigger.path ?? trigger.draftConfig?.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, usedTriggerKinds),
|
|
222
226
|
email: (trigger) => saveEmailTriggerFromCfg(trigger.path ?? trigger.draftConfig?.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, isAdmin, usedTriggerKinds),
|
|
223
227
|
poll: undefined,
|
|
224
|
-
cli: undefined
|
|
228
|
+
cli: undefined,
|
|
229
|
+
nextcloud: (trigger) => saveNativeTriggerFromCfg('nextcloud', trigger.path ?? '', trigger.draftConfig ?? {}, !trigger.isDraft, workspaceId, usedTriggerKinds)
|
|
225
230
|
};
|
|
226
231
|
await Promise.all(triggersToDeploy.map(async (trigger) => {
|
|
227
232
|
const saveFunction = triggerSaveFunctions[trigger.type];
|
|
@@ -302,6 +307,9 @@ export function getLightConfig(triggerType, trigger) {
|
|
|
302
307
|
else if (triggerType === 'email') {
|
|
303
308
|
return { local_part: trigger.local_part };
|
|
304
309
|
}
|
|
310
|
+
else if (triggerType === 'nextcloud') {
|
|
311
|
+
return { event: trigger.service_config?.event ?? trigger.event };
|
|
312
|
+
}
|
|
305
313
|
else {
|
|
306
314
|
return undefined;
|
|
307
315
|
}
|
|
@@ -346,6 +354,9 @@ export function getTriggerLabel(trigger) {
|
|
|
346
354
|
else if (type === 'email' && config?.local_part) {
|
|
347
355
|
return `${config?.local_part}`;
|
|
348
356
|
}
|
|
357
|
+
else if (type === 'nextcloud' && path) {
|
|
358
|
+
return `${path}`;
|
|
359
|
+
}
|
|
349
360
|
else if (isDraft && draftConfig?.path) {
|
|
350
361
|
return `${draftConfig?.path}`;
|
|
351
362
|
}
|
|
@@ -371,7 +382,8 @@ export function sortTriggers(triggers) {
|
|
|
371
382
|
'mqtt',
|
|
372
383
|
'sqs',
|
|
373
384
|
'gcp',
|
|
374
|
-
'email'
|
|
385
|
+
'email',
|
|
386
|
+
'nextcloud'
|
|
375
387
|
];
|
|
376
388
|
return triggers.sort((a, b) => {
|
|
377
389
|
// Draft triggers always come last
|
|
@@ -16,5 +16,5 @@ export type TriggerContext = {
|
|
|
16
16
|
triggersState: Triggers;
|
|
17
17
|
};
|
|
18
18
|
export declare function setScheduledPollSchedule(triggersState: Triggers, triggersCount: Writable<TriggersCount | undefined>): void;
|
|
19
|
-
export type TriggerKind = 'webhooks' | 'emails' | 'default_emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka' | 'nats' | 'postgres' | 'mqtt' | 'sqs' | 'gcp';
|
|
19
|
+
export type TriggerKind = 'webhooks' | 'emails' | 'default_emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka' | 'nats' | 'postgres' | 'mqtt' | 'sqs' | 'gcp' | 'nextcloud';
|
|
20
20
|
export declare function captureTriggerKindToTriggerKind(kind: CaptureTriggerKind): TriggerKind;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import { getContext } from 'svelte';
|
|
2
|
-
import { isFlowTainted, triggerPointerDown, clickButtonBySelector } from './utils';
|
|
2
|
+
import { isFlowTainted, triggerPointerDown, clickButtonBySelector, DELAY_SHORT, DELAY_MEDIUM, DELAY_LONG, DELAY_ANIMATION, DELAY_ANIMATION_LONG, DELAY_TYPING, DELAY_CODE_CHAR, DELAY_CODE_NEWLINE, moveCursorToElement, createFakeCursor } from './utils';
|
|
3
3
|
import Tutorial from './Tutorial.svelte';
|
|
4
4
|
import { initFlow } from '../flows/flowStore.svelte';
|
|
5
5
|
import { loadFlowModuleState } from '../flows/flowStateUtils.svelte';
|
|
@@ -16,15 +16,6 @@ let step3Complete = $state(false);
|
|
|
16
16
|
let step4Complete = $state(false);
|
|
17
17
|
let step5Complete = $state(false);
|
|
18
18
|
let step6Complete = $state(false);
|
|
19
|
-
// Constants for delays
|
|
20
|
-
const DELAY_SHORT = 100;
|
|
21
|
-
const DELAY_MEDIUM = 300;
|
|
22
|
-
const DELAY_LONG = 500;
|
|
23
|
-
const DELAY_ANIMATION = 1500;
|
|
24
|
-
const DELAY_ANIMATION_LONG = 2500;
|
|
25
|
-
const DELAY_TYPING = 50;
|
|
26
|
-
const DELAY_CODE_CHAR = 2;
|
|
27
|
-
const DELAY_CODE_NEWLINE = 5;
|
|
28
19
|
// Helper function to get driver overlay
|
|
29
20
|
function getDriverOverlay() {
|
|
30
21
|
return document.querySelector('.driver-overlay');
|
|
@@ -70,29 +61,9 @@ function cleanupCustomOverlay() {
|
|
|
70
61
|
customOverlay.remove();
|
|
71
62
|
}
|
|
72
63
|
}
|
|
73
|
-
// Helper function to
|
|
74
|
-
async function
|
|
75
|
-
const
|
|
76
|
-
cursor.style.transition = `all ${duration / 1000}s ease-in-out`;
|
|
77
|
-
cursor.style.left = `${rect.left + rect.width / 2}px`;
|
|
78
|
-
cursor.style.top = `${rect.top + rect.height / 2}px`;
|
|
79
|
-
await wait(duration);
|
|
80
|
-
}
|
|
81
|
-
// Helper function to create and animate a fake cursor
|
|
82
|
-
async function createFakeCursor(startElement, endElement, transitionDuration = 1.5) {
|
|
83
|
-
const fakeCursor = document.createElement('div');
|
|
84
|
-
fakeCursor.style.cssText = `
|
|
85
|
-
position: fixed;
|
|
86
|
-
width: 20px;
|
|
87
|
-
height: 20px;
|
|
88
|
-
border-radius: 50%;
|
|
89
|
-
background-color: rgba(59, 130, 246, 0.8);
|
|
90
|
-
border: 2px solid white;
|
|
91
|
-
pointer-events: none;
|
|
92
|
-
z-index: 10000;
|
|
93
|
-
transition: all ${transitionDuration}s ease-in-out;
|
|
94
|
-
`;
|
|
95
|
-
document.body.appendChild(fakeCursor);
|
|
64
|
+
// Helper function to create and animate a fake cursor (extended version with start element support)
|
|
65
|
+
async function createFakeCursorWithStart(startElement, endElement, transitionDuration = 1.5) {
|
|
66
|
+
const fakeCursor = createFakeCursor();
|
|
96
67
|
const endRect = endElement.getBoundingClientRect();
|
|
97
68
|
let startX, startY;
|
|
98
69
|
if (startElement) {
|
|
@@ -281,7 +252,7 @@ const flowJson = {
|
|
|
281
252
|
// Animate cursor to the add step button
|
|
282
253
|
const button = document.querySelector('#flow-editor-add-step-0') as HTMLElement
|
|
283
254
|
if (button) {
|
|
284
|
-
const fakeCursor1 = await
|
|
255
|
+
const fakeCursor1 = await createFakeCursorWithStart(null, button, 1.5)
|
|
285
256
|
await wait(DELAY_SHORT)
|
|
286
257
|
button.click()
|
|
287
258
|
fakeCursor1.remove()
|
|
@@ -299,7 +270,7 @@ const flowJson = {
|
|
|
299
270
|
|
|
300
271
|
if (bunSpan) {
|
|
301
272
|
// Animate cursor from add step button to TypeScript (Bun) span
|
|
302
|
-
const fakeCursor2 = await
|
|
273
|
+
const fakeCursor2 = await createFakeCursorWithStart(button, bunSpan, 1.5)
|
|
303
274
|
await wait(DELAY_MEDIUM)
|
|
304
275
|
fakeCursor2.remove()
|
|
305
276
|
|