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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script module>
|
|
2
2
|
import '@codingame/monaco-vscode-standalone-languages'
|
|
3
3
|
import '@codingame/monaco-vscode-standalone-typescript-language-features'
|
|
4
|
+
import { typescriptDefaults } from '@codingame/monaco-vscode-standalone-typescript-language-features'
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script lang="ts">import { BROWSER } from 'esm-env';
|
|
@@ -23,7 +24,8 @@ import { createHash as randomHash } from '../editorLangUtils';
|
|
|
23
24
|
import { workspaceStore } from '../stores';
|
|
24
25
|
import { ResourceService, UserService, WorkspaceService } from '../gen';
|
|
25
26
|
import { initializeVscode, keepModelAroundToAvoidDisposalOfWorkers, MONACO_Y_PADDING } from './vscode';
|
|
26
|
-
import { initializeMode } from 'monaco-graphql/esm/initializeMode.js'
|
|
27
|
+
// import { initializeMode } from 'monaco-graphql/esm/initializeMode.js'
|
|
28
|
+
// import type { MonacoGraphQLAPI } from 'monaco-graphql/esm/api.js'
|
|
27
29
|
import { editor as meditor, languages, KeyCode, KeyMod, Uri as mUri } from 'monaco-editor';
|
|
28
30
|
import EditorTheme from './EditorTheme.svelte';
|
|
29
31
|
import { BIGQUERY_TYPES, DUCKDB_TYPES, MSSQL_TYPES, MYSQL_TYPES, ORACLEDB_TYPES, POSTGRES_TYPES, SNOWFLAKE_TYPES } from '../consts';
|
|
@@ -77,7 +79,7 @@ let lastWsAttempt = new Date();
|
|
|
77
79
|
let nbWsAttempt = 0;
|
|
78
80
|
let disposeMethod;
|
|
79
81
|
const dispatch = createEventDispatcher();
|
|
80
|
-
let graphqlService = undefined
|
|
82
|
+
// let graphqlService: MonacoGraphQLAPI | undefined = undefined
|
|
81
83
|
let dbSchema = $state(undefined);
|
|
82
84
|
let destroyed = false;
|
|
83
85
|
const uri = computeUri(untrack(() => filePath), scriptLang);
|
|
@@ -316,6 +318,24 @@ export async function format() {
|
|
|
316
318
|
export function getScriptLang() {
|
|
317
319
|
return scriptLang;
|
|
318
320
|
}
|
|
321
|
+
export function getEditor() {
|
|
322
|
+
return editor;
|
|
323
|
+
}
|
|
324
|
+
/** Get lint errors and warnings from the Monaco editor */
|
|
325
|
+
export function getLintErrors() {
|
|
326
|
+
if (!model) {
|
|
327
|
+
return { errorCount: 0, warningCount: 0, errors: [], warnings: [] };
|
|
328
|
+
}
|
|
329
|
+
const markers = meditor.getModelMarkers({ resource: model.uri });
|
|
330
|
+
const errors = markers.filter((m) => m.severity === MarkerSeverity.Error);
|
|
331
|
+
const warnings = markers.filter((m) => m.severity === MarkerSeverity.Warning);
|
|
332
|
+
return {
|
|
333
|
+
errorCount: errors.length,
|
|
334
|
+
warningCount: warnings.length,
|
|
335
|
+
errors,
|
|
336
|
+
warnings
|
|
337
|
+
};
|
|
338
|
+
}
|
|
319
339
|
let command = undefined;
|
|
320
340
|
let sqlTypeCompletor = $state(undefined);
|
|
321
341
|
let resultCollectionCompletor = $state(undefined);
|
|
@@ -410,16 +430,7 @@ async function updateSchema(newSchemaRes) {
|
|
|
410
430
|
const resourcePath = newSchemaRes.replace('$res:', '');
|
|
411
431
|
dbSchema = $dbSchemas[resourcePath];
|
|
412
432
|
if (dbSchema === undefined) {
|
|
413
|
-
|
|
414
|
-
await getDbSchemas('graphql', resourcePath, $workspaceStore, $dbSchemas, (e) => {
|
|
415
|
-
console.error('error getting graphql db schema', e);
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
else if (lang === 'sql') {
|
|
419
|
-
await getDbSchemas(scriptLang ?? '', resourcePath, $workspaceStore, $dbSchemas, (e) => {
|
|
420
|
-
console.error(`error getting SQL (${scriptLang}) db schema`, e);
|
|
421
|
-
});
|
|
422
|
-
}
|
|
433
|
+
$dbSchemas[resourcePath] = await getDbSchemas(lang === 'graphql' ? 'graphql' : (scriptLang ?? ''), resourcePath, $workspaceStore, (e) => console.error(`error getting ${lang} (${scriptLang}) db schema`, e));
|
|
423
434
|
}
|
|
424
435
|
dbSchema = $dbSchemas[resourcePath];
|
|
425
436
|
}
|
|
@@ -431,7 +442,7 @@ function disposeSqlSchemaCompletor() {
|
|
|
431
442
|
sqlSchemaCompletor?.dispose();
|
|
432
443
|
}
|
|
433
444
|
function disposeGaphqlService() {
|
|
434
|
-
graphqlService = undefined
|
|
445
|
+
// graphqlService = undefined
|
|
435
446
|
}
|
|
436
447
|
function addDBSchemaCompletions() {
|
|
437
448
|
const { lang: schemaLang, schema } = dbSchema || {};
|
|
@@ -440,14 +451,16 @@ function addDBSchemaCompletions() {
|
|
|
440
451
|
}
|
|
441
452
|
console.log('adding db schema completions', schemaLang);
|
|
442
453
|
if (schemaLang === 'graphql') {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
graphqlService
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
454
|
+
//graphql depreciated until https://github.com/graphql/graphiql/issues/4104 is fixed with monaco > 0.52.2
|
|
455
|
+
// languages.register({ id: 'graphql' })
|
|
456
|
+
// graphqlService ||= initializeMode()
|
|
457
|
+
// console.log('setting schema config', schema)
|
|
458
|
+
// graphqlService?.setSchemaConfig([
|
|
459
|
+
// {
|
|
460
|
+
// uri: 'my-schema.graphql',
|
|
461
|
+
// introspectionJSON: schema
|
|
462
|
+
// }
|
|
463
|
+
// ])
|
|
451
464
|
}
|
|
452
465
|
else {
|
|
453
466
|
if (sqlSchemaCompletor) {
|
|
@@ -1067,7 +1080,7 @@ async function loadMonaco() {
|
|
|
1067
1080
|
editor = meditor.create(divEl, {
|
|
1068
1081
|
...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets, $relativeLineNumbers),
|
|
1069
1082
|
model,
|
|
1070
|
-
fontSize: !small ?
|
|
1083
|
+
fontSize: !small ? 13.5 : 12,
|
|
1071
1084
|
lineNumbersMinChars,
|
|
1072
1085
|
// overflowWidgetsDomNode: widgets,
|
|
1073
1086
|
tabSize: lang == 'python' ? 4 : 2,
|
|
@@ -1084,6 +1097,38 @@ async function loadMonaco() {
|
|
|
1084
1097
|
return;
|
|
1085
1098
|
}
|
|
1086
1099
|
keepModelAroundToAvoidDisposalOfWorkers();
|
|
1100
|
+
// In VSCode webview (iframe), clipboard operations need special handling
|
|
1101
|
+
// because the webview has restricted clipboard API access
|
|
1102
|
+
if (window.parent !== window) {
|
|
1103
|
+
editor.addCommand(KeyMod.CtrlCmd | KeyCode.KeyC, function () {
|
|
1104
|
+
document.execCommand('copy');
|
|
1105
|
+
});
|
|
1106
|
+
editor.addCommand(KeyMod.CtrlCmd | KeyCode.KeyX, function () {
|
|
1107
|
+
document.execCommand('cut');
|
|
1108
|
+
});
|
|
1109
|
+
editor.addCommand(KeyMod.CtrlCmd | KeyCode.KeyV, async function () {
|
|
1110
|
+
try {
|
|
1111
|
+
// Use Clipboard API to read text, then insert via Monaco's API
|
|
1112
|
+
const text = await navigator.clipboard.readText();
|
|
1113
|
+
if (text && editor) {
|
|
1114
|
+
const selection = editor.getSelection();
|
|
1115
|
+
if (selection) {
|
|
1116
|
+
editor.executeEdits('paste', [
|
|
1117
|
+
{
|
|
1118
|
+
range: selection,
|
|
1119
|
+
text: text,
|
|
1120
|
+
forceMoveMarkers: true
|
|
1121
|
+
}
|
|
1122
|
+
]);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
catch (e) {
|
|
1127
|
+
// Clipboard API failed, try execCommand as fallback
|
|
1128
|
+
document.execCommand('paste');
|
|
1129
|
+
}
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
1087
1132
|
// updateEditorKeybindingsMode(editor, 'vim', undefined)
|
|
1088
1133
|
// Raw app lint collection: listen for marker changes and report to store
|
|
1089
1134
|
let markerChangeDisposable = undefined;
|
|
@@ -1235,7 +1280,7 @@ function setTypescriptCustomTypes() {
|
|
|
1235
1280
|
: 'string';
|
|
1236
1281
|
const isDucklakeOptional = ducklakeNames.includes('main');
|
|
1237
1282
|
const isDataTableOptional = datatableNames.includes('main');
|
|
1238
|
-
let disposeTs =
|
|
1283
|
+
let disposeTs = typescriptDefaults.addExtraLib(`export {};
|
|
1239
1284
|
declare module 'windmill-client' {
|
|
1240
1285
|
import { type DatatableSqlTemplateFunction, type SqlTemplateFunction } from 'windmill-client';
|
|
1241
1286
|
export function ducklake(name${isDucklakeOptional ? '?' : ''}: ${ducklakeNameType}): SqlTemplateFunction;
|
|
@@ -1255,13 +1300,13 @@ async function setTypescriptRTNamespace() {
|
|
|
1255
1300
|
workspace: $workspaceStore ?? ''
|
|
1256
1301
|
});
|
|
1257
1302
|
const namespace = formatResourceTypes(resourceTypes, scriptLang === 'bunnative' ? 'bun' : scriptLang);
|
|
1258
|
-
|
|
1303
|
+
typescriptDefaults.addExtraLib(namespace, 'rt.d.ts');
|
|
1259
1304
|
}
|
|
1260
1305
|
}
|
|
1261
1306
|
async function setTypescriptExtraLibs() {
|
|
1262
1307
|
if (extraLib) {
|
|
1263
1308
|
const uri = mUri.parse('file:///extraLib.d.ts');
|
|
1264
|
-
|
|
1309
|
+
typescriptDefaults.addExtraLib(extraLib, uri.toString());
|
|
1265
1310
|
}
|
|
1266
1311
|
if (lang === 'typescript' &&
|
|
1267
1312
|
(scriptLang == 'bun' || scriptLang == 'tsx' || scriptLang == 'bunnative') &&
|
|
@@ -1271,7 +1316,7 @@ async function setTypescriptExtraLibs() {
|
|
|
1271
1316
|
const path = 'file://' + _path;
|
|
1272
1317
|
let uri = mUri.parse(path);
|
|
1273
1318
|
console.log('adding library to runtime', path);
|
|
1274
|
-
|
|
1319
|
+
typescriptDefaults.addExtraLib(code, path);
|
|
1275
1320
|
try {
|
|
1276
1321
|
await vscode.workspace.fs.writeFile(uri, new TextEncoder().encode(code));
|
|
1277
1322
|
}
|
|
@@ -6,6 +6,7 @@ import { editor as meditor, type IDisposable } from 'monaco-editor';
|
|
|
6
6
|
import { type DepsToGet } from '../ata/index';
|
|
7
7
|
import { type InferAssetsSqlQueryDetails } from '../infer';
|
|
8
8
|
import { AIChatEditorHandler, type ReviewChangesOpts } from './copilot/chat/monaco-adapter';
|
|
9
|
+
import type { ScriptLintResult } from './copilot/chat/shared';
|
|
9
10
|
interface Props {
|
|
10
11
|
code?: string;
|
|
11
12
|
cmdEnterAction?: (() => void) | undefined;
|
|
@@ -79,6 +80,8 @@ declare const Editor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
79
80
|
append: (code: string) => void;
|
|
80
81
|
format: () => Promise<void>;
|
|
81
82
|
getScriptLang: () => string | undefined;
|
|
83
|
+
getEditor: () => meditor.IStandaloneCodeEditor | null;
|
|
84
|
+
getLintErrors: () => ScriptLintResult;
|
|
82
85
|
reviewAndApplyCode: (code: string, opts?: ReviewChangesOpts) => Promise<void>;
|
|
83
86
|
reviewAppliedCode: (originalCode: string, opts?: {
|
|
84
87
|
onFinishedReview?: () => void;
|
|
@@ -928,7 +928,7 @@ JsonNode ${windmillPathToCamelCaseName(path)} = JsonNode.Parse(await client.GetS
|
|
|
928
928
|
{#if customUi?.diffMode != false}
|
|
929
929
|
<div class="flex items-center px-3">
|
|
930
930
|
<Toggle
|
|
931
|
-
options={{ right: '' }}
|
|
931
|
+
options={{ right: 'Diff' }}
|
|
932
932
|
size="sm"
|
|
933
933
|
checked={diffMode}
|
|
934
934
|
disabled={!lastDeployedCode}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts">import { getOS } from '../utils';
|
|
4
4
|
import { MONACO_Y_PADDING } from './vscode';
|
|
5
|
-
let { code, autoheight = false, lineNumbersWidth = 0, lineNumbersOffset = 0, class: className = '', showNumbers = true, fontSize =
|
|
5
|
+
let { code, autoheight = false, lineNumbersWidth = 0, lineNumbersOffset = 0, class: className = '', showNumbers = true, fontSize = 13.5 } = $props();
|
|
6
6
|
let yPadding = MONACO_Y_PADDING;
|
|
7
7
|
// https://github.com/microsoft/vscode/blob/baa2dad3cdacd97ac02eff0604984faf1167ff1e/src/vs/editor/common/config/editorOptions.ts#L5421
|
|
8
8
|
const DEFAULT_WINDOWS_FONT_FAMILY = "Consolas, 'Courier New', monospace";
|
|
@@ -12,6 +12,7 @@ import CenteredPage from './CenteredPage.svelte';
|
|
|
12
12
|
import { Badge, Button, UndoRedo } from './common';
|
|
13
13
|
import FlowEditor from './flows/FlowEditor.svelte';
|
|
14
14
|
import ScriptEditorDrawer from './flows/content/ScriptEditorDrawer.svelte';
|
|
15
|
+
import FlowEditorDrawer from './flows/content/FlowEditorDrawer.svelte';
|
|
15
16
|
import { dfs as dfsApply } from './flows/dfs';
|
|
16
17
|
import FlowImportExportMenu from './flows/header/FlowImportExportMenu.svelte';
|
|
17
18
|
import FlowPreviewButtons from './flows/header/FlowPreviewButtons.svelte';
|
|
@@ -460,6 +461,7 @@ export function getSelectedId() {
|
|
|
460
461
|
}
|
|
461
462
|
const previewArgsStore = $state({ val: initialArgs });
|
|
462
463
|
const scriptEditorDrawer = writable(undefined);
|
|
464
|
+
const flowEditorDrawer = writable(undefined);
|
|
463
465
|
const moving = writable(undefined);
|
|
464
466
|
const history = initHistory(flowStore.val);
|
|
465
467
|
const pathStore = writable(pathStoreInit ?? initialPath);
|
|
@@ -483,6 +485,7 @@ setContext('FlowEditorContext', {
|
|
|
483
485
|
currentEditor: writable(undefined),
|
|
484
486
|
previewArgs: previewArgsStore,
|
|
485
487
|
scriptEditorDrawer,
|
|
488
|
+
flowEditorDrawer,
|
|
486
489
|
moving,
|
|
487
490
|
history,
|
|
488
491
|
flowStateStore,
|
|
@@ -780,6 +783,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
780
783
|
<FlowYamlEditor bind:drawer={yamlEditorDrawer} />
|
|
781
784
|
<FlowImportExportMenu bind:drawer={jsonViewerDrawer} />
|
|
782
785
|
<ScriptEditorDrawer bind:this={$scriptEditorDrawer} />
|
|
786
|
+
<FlowEditorDrawer bind:this={$flowEditorDrawer} />
|
|
783
787
|
|
|
784
788
|
<div class="flex flex-col flex-1 h-screen">
|
|
785
789
|
<!-- Nav between steps-->
|
|
@@ -936,17 +940,19 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
936
940
|
showJobStatus = true
|
|
937
941
|
}}
|
|
938
942
|
/>
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
943
|
+
{#if customUi?.topBar?.draft !== false}
|
|
944
|
+
<Button
|
|
945
|
+
loading={loadingDraft}
|
|
946
|
+
unifiedSize="md"
|
|
947
|
+
variant="accent"
|
|
948
|
+
startIcon={{ icon: Save }}
|
|
949
|
+
on:click={() => saveDraft()}
|
|
950
|
+
disabled={(!newFlow && !savedFlow) || loading}
|
|
951
|
+
shortCut={{ key: 'S' }}
|
|
952
|
+
>
|
|
953
|
+
Draft
|
|
954
|
+
</Button>
|
|
955
|
+
{/if}
|
|
950
956
|
|
|
951
957
|
<DeployButton
|
|
952
958
|
on:save={async ({ detail }) => await handleSaveFlow(detail)}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<script lang="ts">import { Loader2 } from 'lucide-svelte';
|
|
2
|
+
import Tabs from './common/tabs/Tabs.svelte';
|
|
3
|
+
import Tab from './common/tabs/Tab.svelte';
|
|
4
|
+
let { beforeYaml, afterYaml } = $props();
|
|
5
|
+
let diffMode = $state('graph');
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<div class="flex flex-col h-full min-h-[500px] gap-2">
|
|
9
|
+
<Tabs bind:selected={diffMode}>
|
|
10
|
+
<Tab value="graph" label="Graph" />
|
|
11
|
+
<Tab value="yaml" label="YAML" />
|
|
12
|
+
</Tabs>
|
|
13
|
+
|
|
14
|
+
<div class="flex-1 min-h-0">
|
|
15
|
+
{#if diffMode === 'yaml'}
|
|
16
|
+
{#await import('./DiffEditor.svelte')}
|
|
17
|
+
<Loader2 class="animate-spin" />
|
|
18
|
+
{:then Module}
|
|
19
|
+
<Module.default
|
|
20
|
+
open={true}
|
|
21
|
+
automaticLayout
|
|
22
|
+
className="h-full min-h-[400px]"
|
|
23
|
+
defaultLang="yaml"
|
|
24
|
+
defaultOriginal={beforeYaml}
|
|
25
|
+
defaultModified={afterYaml}
|
|
26
|
+
readOnly
|
|
27
|
+
/>
|
|
28
|
+
{/await}
|
|
29
|
+
{:else}
|
|
30
|
+
{#await import('./FlowGraphDiffViewer.svelte')}
|
|
31
|
+
<Loader2 class="animate-spin" />
|
|
32
|
+
{:then Module}
|
|
33
|
+
<Module.default {beforeYaml} {afterYaml} />
|
|
34
|
+
{/await}
|
|
35
|
+
{/if}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
@@ -12,14 +12,17 @@ export let noGraph = false;
|
|
|
12
12
|
export let triggerNode = false;
|
|
13
13
|
export let stepDetail = undefined;
|
|
14
14
|
export let workspace = $workspaceStore;
|
|
15
|
+
export let minHeight = 400;
|
|
16
|
+
export let noBorder = false;
|
|
15
17
|
const dispatch = createEventDispatcher();
|
|
16
18
|
</script>
|
|
17
19
|
|
|
18
20
|
<div class="grid grid-cols-3 w-full h-full">
|
|
19
21
|
{#if !noGraph}
|
|
20
22
|
<div
|
|
21
|
-
class="{noSide ? 'col-span-3' : 'sm:col-span-2 col-span-3'} w-full
|
|
23
|
+
class="{noSide ? 'col-span-3' : 'sm:col-span-2 col-span-3'} w-full max-h-full"
|
|
22
24
|
class:overflow-auto={overflowAuto}
|
|
25
|
+
class:border={!noBorder}
|
|
23
26
|
>
|
|
24
27
|
<FlowGraphV2
|
|
25
28
|
{triggerNode}
|
|
@@ -27,7 +30,7 @@ const dispatch = createEventDispatcher();
|
|
|
27
30
|
cache={flow.value.cache_ttl !== undefined}
|
|
28
31
|
path={flow?.path}
|
|
29
32
|
{download}
|
|
30
|
-
minHeight
|
|
33
|
+
{minHeight}
|
|
31
34
|
{workspace}
|
|
32
35
|
modules={flow?.value?.modules}
|
|
33
36
|
failureModule={flow?.value?.failure_module}
|
|
@@ -27,6 +27,8 @@ declare const FlowGraphViewer: $$__sveltets_2_IsomorphicComponent<{
|
|
|
27
27
|
triggerNode?: boolean;
|
|
28
28
|
stepDetail?: FlowModule | string | undefined;
|
|
29
29
|
workspace?: string | undefined;
|
|
30
|
+
minHeight?: number;
|
|
31
|
+
noBorder?: boolean;
|
|
30
32
|
}, {
|
|
31
33
|
triggerDetail: CustomEvent<any>;
|
|
32
34
|
select: CustomEvent<any>;
|
|
@@ -30,6 +30,6 @@ declare const FlowLoopIterationPreview: $$__sveltets_2_IsomorphicComponent<Props
|
|
|
30
30
|
whileLoopSchema: Schema;
|
|
31
31
|
test: () => void;
|
|
32
32
|
runPreview: (args: Record<string, any>, restartedFrom: RestartedFrom | undefined) => Promise<void>;
|
|
33
|
-
}, "
|
|
33
|
+
}, "job" | "jobId" | "previewArgs">;
|
|
34
34
|
type FlowLoopIterationPreview = InstanceType<typeof FlowLoopIterationPreview>;
|
|
35
35
|
export default FlowLoopIterationPreview;
|
|
@@ -299,12 +299,13 @@ export function flowHasChanged() {
|
|
|
299
299
|
<div class="flex flex-row justify-center w-full">
|
|
300
300
|
<FlowChat
|
|
301
301
|
useStreaming={shouldUseStreaming}
|
|
302
|
-
onRunFlow={async (userMessage, conversationId) => {
|
|
303
|
-
await runPreview({ user_message: userMessage }, undefined, conversationId)
|
|
302
|
+
onRunFlow={async (userMessage, conversationId, additionalInputs) => {
|
|
303
|
+
await runPreview({ user_message: userMessage, ...(additionalInputs ?? {}) }, undefined, conversationId)
|
|
304
304
|
return jobId ?? ''
|
|
305
305
|
}}
|
|
306
306
|
hideSidebar={true}
|
|
307
307
|
path={$pathStore}
|
|
308
|
+
inputSchema={flowStore.val.schema}
|
|
308
309
|
/>
|
|
309
310
|
</div>
|
|
310
311
|
{:else}
|
|
@@ -57,6 +57,6 @@ declare const FlowPreviewContent: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
57
57
|
getIsOwner: () => boolean;
|
|
58
58
|
getJob: () => Job | undefined;
|
|
59
59
|
flowHasChanged: () => boolean;
|
|
60
|
-
}, "
|
|
60
|
+
}, "job" | "initial" | "preventEscape" | "jobId" | "scrollTop" | "localModuleStates" | "localDurationStatuses" | "rightColumnSelect" | "selectedJobStep" | "selectedJobStepType" | "previewMode" | "selectedJobStepIsTopLevel" | "branchOrIterationN">;
|
|
61
61
|
type FlowPreviewContent = InstanceType<typeof FlowPreviewContent>;
|
|
62
62
|
export default FlowPreviewContent;
|
|
@@ -5,10 +5,6 @@ import FlowStatusWaitingForEvents from './FlowStatusWaitingForEvents.svelte';
|
|
|
5
5
|
import { emptyString } from '../utils';
|
|
6
6
|
import Badge from './common/badge/Badge.svelte';
|
|
7
7
|
let { job, workspaceId, isOwner, hideFlowResult, hideDownloadLogs, innerModules, suspendStatus, hideJobId, extra, result_streams } = $props();
|
|
8
|
-
// Sometimes the approval form is duplicated but I can't reproduce the issue
|
|
9
|
-
// This is a temporary debug log to try to catch it when it happens
|
|
10
|
-
// (See the #each below)
|
|
11
|
-
$effect(() => console.log('suspendStatusVal', Object.entries(suspendStatus.val || {}).map(([k, v]) => [k, v.job.id])));
|
|
12
8
|
</script>
|
|
13
9
|
|
|
14
10
|
<FlowPreviewStatus {job} {hideJobId} {extra} />
|
|
@@ -4,8 +4,7 @@ import { Play, RefreshCw } from 'lucide-svelte';
|
|
|
4
4
|
import { FlowService, JobService } from '../gen';
|
|
5
5
|
import { workspaceStore } from '../stores';
|
|
6
6
|
import { emptyString, sendUserToast } from '../utils';
|
|
7
|
-
|
|
8
|
-
let { jobId, selectedJobStep, selectedJobStepType, restartBranchNames = [], flowPath = undefined, disabled = false, enterpriseOnly = false, variant = 'default', unifiedSize = 'md', onRestart } = $props();
|
|
7
|
+
let { jobId, selectedJobStep, selectedJobStepType, restartBranchNames = [], flowPath = undefined, disabled = false, enterpriseOnly = false, variant = 'default', unifiedSize = 'md', onRestart, onRestartComplete } = $props();
|
|
9
8
|
let branchOrIterationN = $state(0);
|
|
10
9
|
let selectedVersionMode = $state('run');
|
|
11
10
|
let customFlowVersion = $state(undefined);
|
|
@@ -21,7 +20,7 @@ async function restartFlow(stepId, branchOrIterationN, flowVersion) {
|
|
|
21
20
|
flow_version: flowVersion
|
|
22
21
|
}
|
|
23
22
|
});
|
|
24
|
-
|
|
23
|
+
onRestartComplete?.(run);
|
|
25
24
|
}
|
|
26
25
|
async function loadFlowVersions() {
|
|
27
26
|
if (!flowPath || loadingVersions)
|
|
@@ -8,7 +8,10 @@ interface Props {
|
|
|
8
8
|
enterpriseOnly?: boolean;
|
|
9
9
|
variant?: 'default' | 'accent';
|
|
10
10
|
unifiedSize?: 'xs' | 'sm' | 'md' | 'lg';
|
|
11
|
+
/** Called when flow is restarted. If not provided, will navigate to the new run using goto (requires SvelteKit) */
|
|
11
12
|
onRestart?: (stepId: string, branchOrIterationN: number, flowVersion?: number) => void;
|
|
13
|
+
/** Called when flow restart completes with the new job ID. Used for navigation in non-SvelteKit contexts */
|
|
14
|
+
onRestartComplete?: (newJobId: string) => void;
|
|
12
15
|
}
|
|
13
16
|
declare const FlowRestartButton: import("svelte").Component<Props, {}, "">;
|
|
14
17
|
type FlowRestartButton = ReturnType<typeof FlowRestartButton>;
|
|
@@ -29,7 +29,9 @@ import JobLoader from './JobLoader.svelte';
|
|
|
29
29
|
import { AI_TOOL_CALL_PREFIX, AI_TOOL_MESSAGE_PREFIX, AI_MCP_TOOL_CALL_PREFIX, AI_WEBSEARCH_PREFIX, getToolCallId } from './graph/renderers/nodes/AIToolNode.svelte';
|
|
30
30
|
import JobAssetsViewer from './assets/JobAssetsViewer.svelte';
|
|
31
31
|
import McpToolCallDetails from './McpToolCallDetails.svelte';
|
|
32
|
+
import JobOtelTraces from './JobOtelTraces.svelte';
|
|
32
33
|
import { SelectionManager } from './graph/selectionUtils.svelte';
|
|
34
|
+
import { useThrottle } from 'runed';
|
|
33
35
|
let { flowState: flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition, hideDownloadLogs, hideJobId } = getContext('FlowStatusViewer');
|
|
34
36
|
let { jobId, initialJob = undefined, workspaceId = undefined, flowJobIds = undefined, innerModule = undefined, render = true, isOwner = false, selectedNode = $bindable(undefined), globalModuleStates, globalDurationStatuses = [], updateRecursiveRefreshFn = undefined, isSelectedBranch = true, isSubflow = false, reducedPolling = false, wideResults = false, hideFlowResult = false, workspace = $workspaceStore, prefix = undefined, topModuleStates = undefined, refreshGlobal, updateGlobalRefresh, subflowParentsGlobalModuleStates = [], subflowParentsDurationStatuses = [], isForloopSelected = false, job = $bindable(undefined), rightColumnSelect = $bindable('timeline'), localModuleStates = $bindable({}), localDurationStatuses = $bindable({}), customUi, onResultStreamUpdate = undefined, graphTabOpen, isNodeSelected, loadExtraLogs = undefined, onStart = undefined, onJobsLoaded = undefined, onDone = undefined, toolCallStore } = $props();
|
|
35
37
|
let getTopModuleStates = $derived(topModuleStates ?? localModuleStates);
|
|
@@ -303,8 +305,22 @@ function updateDurationStatuses(key, durationStatuses) {
|
|
|
303
305
|
}
|
|
304
306
|
}
|
|
305
307
|
let jobMissingStartedAt = {};
|
|
306
|
-
let
|
|
307
|
-
let
|
|
308
|
+
let setSelectedLoopSwitch = useThrottle(async (lastStarted, mod) => {
|
|
309
|
+
let position = mod.flow_jobs?.indexOf(lastStarted);
|
|
310
|
+
if (!position)
|
|
311
|
+
return;
|
|
312
|
+
for (const flow_job of mod.flow_jobs ?? []) {
|
|
313
|
+
if (flow_job === lastStarted) {
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
else if (flow_job !== lastStarted && suspendStatus.val[flow_job]) {
|
|
317
|
+
console.log('setSelectedLoopSwitch deleting suspend for', flow_job);
|
|
318
|
+
delete suspendStatus.val[flow_job];
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
console.log('setSelectedLoopSwitch', position, lastStarted, mod.id, suspendStatus);
|
|
322
|
+
setIteration(position, lastStarted, false, mod.id ?? '', true);
|
|
323
|
+
}, 2000);
|
|
308
324
|
function updateInnerModules() {
|
|
309
325
|
if (localModuleStates) {
|
|
310
326
|
innerModules?.forEach((mod, i) => {
|
|
@@ -427,27 +443,8 @@ function updateInnerModules() {
|
|
|
427
443
|
});
|
|
428
444
|
if (anySet) {
|
|
429
445
|
updateDurationStatuses(key, nDurationStatuses);
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
if (lastStarted) {
|
|
433
|
-
let position = mod.flow_jobs?.indexOf(lastStarted);
|
|
434
|
-
if (position != undefined) {
|
|
435
|
-
lastSelectedLoopSwitch = new Date().getTime();
|
|
436
|
-
console.log('setSelectedLoopSwitch', position, lastStarted);
|
|
437
|
-
setIteration(position, lastStarted, false, mod.id ?? '', true);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
if (lastSelectedLoopSwitch &&
|
|
442
|
-
new Date().getTime() - lastSelectedLoopSwitch < 3000) {
|
|
443
|
-
selectedLoopSwitchTimeout = setTimeout(() => {
|
|
444
|
-
setSelectedLoopSwitch();
|
|
445
|
-
}, 2000);
|
|
446
|
-
}
|
|
447
|
-
else {
|
|
448
|
-
console.log('setSelectedLoopSwitch');
|
|
449
|
-
setSelectedLoopSwitch();
|
|
450
|
-
}
|
|
446
|
+
if (lastStarted)
|
|
447
|
+
setSelectedLoopSwitch(lastStarted, mod);
|
|
451
448
|
}
|
|
452
449
|
})
|
|
453
450
|
.catch((e) => {
|
|
@@ -518,7 +515,17 @@ let started = false;
|
|
|
518
515
|
let jobLoader = undefined;
|
|
519
516
|
function setJob(newJob, force) {
|
|
520
517
|
if (!deepEqual(job, newJob) || isForloopSelected || force || innerModules == undefined) {
|
|
521
|
-
|
|
518
|
+
if (initialJob) {
|
|
519
|
+
// keep raw_flow/raw_code from initial job if they exist
|
|
520
|
+
job = {
|
|
521
|
+
...newJob,
|
|
522
|
+
raw_flow: initialJob.raw_flow ?? newJob.raw_flow,
|
|
523
|
+
raw_code: initialJob.raw_code ?? newJob.raw_code
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
job = newJob;
|
|
528
|
+
}
|
|
522
529
|
job?.flow_status && updateStatus(job?.flow_status);
|
|
523
530
|
onJobsLoaded?.({ job, force: false });
|
|
524
531
|
notAnonynmous = false;
|
|
@@ -803,6 +810,7 @@ let stepDetail = $state(undefined);
|
|
|
803
810
|
let storedListJobs = $state({});
|
|
804
811
|
let selectedToolCall = $state(undefined);
|
|
805
812
|
let wrapperHeight = $state(0);
|
|
813
|
+
let retryStatusHeight = $state(0);
|
|
806
814
|
function removeFailureNode(id, parent_module) {
|
|
807
815
|
if (id?.startsWith('failure-') && parent_module) {
|
|
808
816
|
;
|
|
@@ -939,6 +947,7 @@ let tabsHeight = $state({
|
|
|
939
947
|
graphHeight: 0
|
|
940
948
|
});
|
|
941
949
|
let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsHeight, tabsHeight.assetsHeight, tabsHeight.graphHeight));
|
|
950
|
+
let totalEventsWaiting = $derived(Object.values(suspendStatus?.val ?? {}).reduce((a, b) => a + (b?.nb ?? 0), 0));
|
|
942
951
|
</script>
|
|
943
952
|
|
|
944
953
|
<JobLoader workspaceOverride={workspaceId} {noLogs} noCode bind:this={jobLoader} />
|
|
@@ -1382,7 +1391,7 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1382
1391
|
>
|
|
1383
1392
|
<div class="grid grid-cols-3 border h-full" bind:clientHeight={wrapperHeight}>
|
|
1384
1393
|
<div class="col-span-2 bg-surface-secondary">
|
|
1385
|
-
<div class="flex flex-col">
|
|
1394
|
+
<div class="flex flex-col" bind:clientHeight={retryStatusHeight}>
|
|
1386
1395
|
{#each Object.values(retryStatus?.val ?? {}) as count}
|
|
1387
1396
|
{#if count}
|
|
1388
1397
|
<span class="text-sm">
|
|
@@ -1390,25 +1399,23 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1390
1399
|
</span>
|
|
1391
1400
|
{/if}
|
|
1392
1401
|
{/each}
|
|
1393
|
-
{#
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
{/if}
|
|
1399
|
-
{/each}
|
|
1402
|
+
{#if totalEventsWaiting}
|
|
1403
|
+
<span class="text-sm">
|
|
1404
|
+
Flow suspended, waiting for {totalEventsWaiting} events
|
|
1405
|
+
</span>
|
|
1406
|
+
{/if}
|
|
1400
1407
|
</div>
|
|
1401
1408
|
<FlowGraphV2
|
|
1402
1409
|
{selectionManager}
|
|
1403
1410
|
triggerNode={true}
|
|
1404
1411
|
download={!hideDownloadInGraph}
|
|
1405
|
-
minHeight={wrapperHeight}
|
|
1412
|
+
minHeight={wrapperHeight - retryStatusHeight}
|
|
1406
1413
|
success={jobId != undefined && isSuccess(job?.['success'])}
|
|
1407
1414
|
flowModuleStates={localModuleStates}
|
|
1408
1415
|
bind:expandedSubflows
|
|
1409
1416
|
onSelect={(e) => {
|
|
1410
1417
|
console.log('onSelect', e)
|
|
1411
|
-
if (rightColumnSelect != 'node_definition') {
|
|
1418
|
+
if (rightColumnSelect != 'node_definition' && rightColumnSelect != 'tracing') {
|
|
1412
1419
|
rightColumnSelect = 'node_status'
|
|
1413
1420
|
}
|
|
1414
1421
|
if (typeof e == 'string') {
|
|
@@ -1463,6 +1470,7 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1463
1470
|
{#if Object.keys(job?.flow_status?.user_states ?? {}).length > 0}
|
|
1464
1471
|
<Tab value="user_states" label="User States" />
|
|
1465
1472
|
{/if}
|
|
1473
|
+
<Tab value="tracing" label="Tracing" />
|
|
1466
1474
|
</Tabs>
|
|
1467
1475
|
{#if rightColumnSelect == 'timeline'}
|
|
1468
1476
|
<FlowTimeline
|
|
@@ -1508,7 +1516,10 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1508
1516
|
{/if}
|
|
1509
1517
|
{:else if selectedNode?.startsWith(AI_WEBSEARCH_PREFIX)}
|
|
1510
1518
|
<div class="p-2">
|
|
1511
|
-
<Alert
|
|
1519
|
+
<Alert
|
|
1520
|
+
type="info"
|
|
1521
|
+
title="Web search output is available on the AI agent node"
|
|
1522
|
+
/>
|
|
1512
1523
|
</div>
|
|
1513
1524
|
{:else if selectedNode}
|
|
1514
1525
|
{@const node = localModuleStates[selectedNode]}
|
|
@@ -1658,6 +1669,15 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1658
1669
|
<div class="p-2">
|
|
1659
1670
|
<JobArgs argLabel="Key" args={job?.flow_status?.user_states ?? {}} />
|
|
1660
1671
|
</div>
|
|
1672
|
+
{:else if rightColumnSelect == 'tracing'}
|
|
1673
|
+
{@const node = selectedNode ? localModuleStates[selectedNode] : undefined}
|
|
1674
|
+
{#if node?.job_id}
|
|
1675
|
+
<JobOtelTraces jobId={node.job_id} />
|
|
1676
|
+
{:else}
|
|
1677
|
+
<div class="p-4 text-secondary"
|
|
1678
|
+
>Select a node with a job to see HTTP request traces</div
|
|
1679
|
+
>
|
|
1680
|
+
{/if}
|
|
1661
1681
|
{/if}
|
|
1662
1682
|
</div>
|
|
1663
1683
|
</div>
|
|
@@ -39,7 +39,7 @@ interface Props {
|
|
|
39
39
|
job?: (Job & {
|
|
40
40
|
result_stream?: string;
|
|
41
41
|
}) | undefined;
|
|
42
|
-
rightColumnSelect?: 'timeline' | 'node_status' | 'node_definition' | 'user_states';
|
|
42
|
+
rightColumnSelect?: 'timeline' | 'node_status' | 'node_definition' | 'user_states' | 'tracing';
|
|
43
43
|
localModuleStates?: Record<string, GraphModuleState>;
|
|
44
44
|
localDurationStatuses?: Record<string, DurationStatus>;
|
|
45
45
|
onResultStreamUpdate?: ({ jobId, result_stream }: {
|