windmill-components 1.542.5 → 1.555.0
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/aiStore.d.ts +13 -0
- package/package/aiStore.js +70 -0
- package/package/common.d.ts +6 -2
- package/package/components/AIAgentLogViewer.svelte +1 -1
- package/package/components/AIProviderPicker.svelte +25 -8
- package/package/components/ArgEnum.svelte +17 -7
- package/package/components/ArgEnum.svelte.d.ts +1 -0
- package/package/components/ArgInput.svelte +257 -188
- package/package/components/ArgInput.svelte.d.ts +4 -1
- package/package/components/ArrayTypeNarrowing.svelte +38 -32
- package/package/components/AutoscalingEvents.svelte +21 -5
- package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
- package/package/components/ChannelSelector.svelte +92 -18
- package/package/components/ChannelSelector.svelte.d.ts +2 -0
- package/package/components/ConnectionSection.svelte +12 -1
- package/package/components/DateTimeInput.svelte +8 -6
- package/package/components/DeployButton.svelte +1 -1
- package/package/components/Dev.svelte +24 -9
- package/package/components/Dev.svelte.d.ts +23 -1
- package/package/components/DisplayResult.svelte +36 -23
- package/package/components/DropdownV2.svelte +8 -2
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/DynamicInput.svelte +10 -10
- package/package/components/EditableSchemaForm.svelte +28 -13
- package/package/components/Editor.svelte +2 -1
- package/package/components/EditorSettings.svelte +5 -5
- package/package/components/EditorSettings.svelte.d.ts +4 -18
- package/package/components/ErrorOrRecoveryHandler.svelte +14 -20
- package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
- package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
- package/package/components/FieldHeader.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +1 -1
- package/package/components/FlowHistoryJobPicker.svelte +3 -0
- package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
- package/package/components/FlowJobResult.svelte +5 -5
- package/package/components/FlowLogRow.svelte +2 -2
- package/package/components/FlowLogViewer.svelte +228 -57
- package/package/components/FlowLogViewer.svelte.d.ts +16 -5
- package/package/components/FlowLogViewerWrapper.svelte +56 -3
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +4 -3
- package/package/components/FlowLoopIterationPreview.svelte +4 -4
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowMetadata.svelte +3 -4
- package/package/components/FlowMetadata.svelte.d.ts +4 -18
- package/package/components/FlowPlugConnect.svelte +8 -2
- package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +121 -94
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
- package/package/components/FlowStatusViewer.svelte +63 -59
- package/package/components/FlowStatusViewer.svelte.d.ts +2 -2
- package/package/components/FlowStatusViewerInner.svelte +186 -94
- package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -3
- package/package/components/FlowTimeline.svelte +110 -131
- package/package/components/FlowTimeline.svelte.d.ts +13 -4
- package/package/components/FlowTimelineBar.svelte +227 -0
- package/package/components/FlowTimelineBar.svelte.d.ts +24 -0
- package/package/components/FolderEditor.svelte +6 -7
- package/package/components/GroupEditor.svelte +148 -141
- package/package/components/GroupEditor.svelte.d.ts +5 -4
- package/package/components/InputTransformForm.svelte +193 -71
- package/package/components/InputTransformForm.svelte.d.ts +3 -0
- package/package/components/InputTransformSchemaForm.svelte +10 -5
- package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
- package/package/components/InstanceSetting.svelte +34 -51
- package/package/components/InstanceSettings.svelte +12 -21
- package/package/components/JobArgs.svelte +15 -16
- package/package/components/JobArgs.svelte.d.ts +4 -18
- package/package/components/JobLoader.svelte +23 -42
- package/package/components/JobLoader.svelte.d.ts +2 -0
- package/package/components/JobStatus.svelte +1 -1
- package/package/components/JobStatus.svelte.d.ts +4 -18
- package/package/components/JsonEditor.svelte +18 -9
- package/package/components/JsonEditor.svelte.d.ts +1 -1
- package/package/components/JsonInputs.svelte +1 -1
- package/package/components/ModulePreviewForm.svelte +23 -19
- package/package/components/ModulePreviewResultViewer.svelte +1 -7
- package/package/components/NextcloudSetting.svelte +6 -1
- package/package/components/NumberTypeNarrowing.svelte +32 -16
- package/package/components/ObjectStoreConfigSettings.svelte +27 -19
- package/package/components/Password.svelte +7 -11
- package/package/components/Password.svelte.d.ts +5 -20
- package/package/components/PasswordArgInput.svelte +35 -15
- package/package/components/PasswordArgInput.svelte.d.ts +4 -18
- package/package/components/Path.svelte +2 -8
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/QueuePosition.svelte +6 -2
- package/package/components/ResourceEditor.svelte +3 -10
- package/package/components/ResourcePicker.svelte +85 -72
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/RunChart.svelte +1 -1
- package/package/components/RunForm.svelte +16 -21
- package/package/components/S3ArrayHelperButton.svelte +18 -0
- package/package/components/S3ArrayHelperButton.svelte.d.ts +9 -0
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +18 -10
- package/package/components/SchemaForm.svelte.d.ts +7 -1
- package/package/components/SchemaFormWithArgPicker.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +2 -2
- package/package/components/ScriptEditor.svelte +9 -9
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +4 -4
- package/package/components/SimpleEditor.svelte +6 -2
- package/package/components/SimpleEditor.svelte.d.ts +3 -0
- package/package/components/StringTypeNarrowing.svelte +44 -25
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SuperadminSettingsInner.svelte +3 -3
- package/package/components/TeamSelector.svelte +83 -37
- package/package/components/TeamSelector.svelte.d.ts +0 -1
- package/package/components/TemplateEditor.svelte +18 -9
- package/package/components/Toast.svelte +2 -7
- package/package/components/Toast.svelte.d.ts +4 -18
- package/package/components/Toggle.svelte +17 -7
- package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
- package/package/components/WorkerGroup.svelte +2 -14
- package/package/components/apps/components/buttons/AppButton.svelte +66 -38
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
- package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +13 -4
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +2 -2
- package/package/components/apps/components/display/table/utils.js +14 -4
- package/package/components/apps/components/helpers/RefreshButton.svelte +5 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -5
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
- package/package/components/apps/components/layout/AppTabs.svelte +116 -71
- package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditor.svelte +7 -2
- package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
- package/package/components/apps/editor/appDeploy.svelte.js +6 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +30 -1
- package/package/components/apps/editor/component/ComponentInner.svelte +1 -0
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
- package/package/components/apps/editor/component/components.d.ts +19 -4
- package/package/components/apps/editor/component/components.js +23 -3
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +2 -0
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +19 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +3 -1
- package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte +52 -0
- package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte.d.ts +9 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
- package/package/components/auditLogs/AuditLogsFilters.svelte +7 -1
- package/package/components/auditLogs/AuditLogsTable.svelte +17 -7
- package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
- package/package/components/common/CloseButton.svelte +2 -2
- package/package/components/common/CloseButton.svelte.d.ts +1 -0
- package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
- package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
- package/package/components/common/badge/CountBadge.svelte +29 -0
- package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
- package/package/components/common/button/Button.svelte +1 -0
- package/package/components/common/button/ConnectionButton.svelte +6 -1
- package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
- package/package/components/common/button/RefreshButton.svelte +8 -4
- package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
- package/package/components/common/fileInput/FileInput.svelte +7 -6
- package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
- package/package/components/common/layout/List.svelte +3 -7
- package/package/components/common/layout/List.svelte.d.ts +7 -29
- package/package/components/common/popup/PopupV2.svelte +14 -25
- package/package/components/common/popup/PopupV2.svelte.d.ts +4 -2
- package/package/components/common/table/ScriptRow.svelte +22 -2
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/FlowCopilotInputsModal.svelte +26 -23
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
- package/package/components/copilot/IteratorGen.svelte +30 -25
- package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
- package/package/components/copilot/MetadataGen.svelte +4 -3
- package/package/components/copilot/PredicateGen.svelte +15 -12
- package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
- package/package/components/copilot/RegexGen.svelte +1 -1
- package/package/components/copilot/ScriptFix.svelte +1 -1
- package/package/components/copilot/ScriptGen.svelte +2 -1
- package/package/components/copilot/StepGenQuick.svelte +15 -16
- package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
- package/package/components/copilot/StepInputGen.svelte +50 -36
- package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
- package/package/components/copilot/StepInputsGen.svelte +18 -19
- package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
- package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChat.svelte +2 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +5 -3
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
- package/package/components/copilot/chat/ProviderModelSelector.svelte +11 -10
- package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
- package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -2
- package/package/components/copilot/chat/script/core.d.ts +4 -4
- package/package/components/copilot/chat/script/core.js +95 -35
- package/package/components/copilot/chat/shared.js +2 -1
- package/package/components/copilot/lib.d.ts +1 -0
- package/package/components/copilot/lib.js +7 -3
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/details/DetailPageLayout.svelte +3 -2
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -1
- package/package/components/flows/FlowChatInterface.svelte +404 -0
- package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
- package/package/components/flows/FlowChatMessage.svelte +41 -0
- package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
- package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
- package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
- package/package/components/flows/FlowModuleIcon.svelte +10 -10
- package/package/components/flows/FlowProgressBar.svelte +16 -16
- package/package/components/flows/FlowProgressBar.svelte.d.ts +7 -22
- package/package/components/flows/common/FlowCard.svelte +10 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +2 -1
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInput.svelte +381 -259
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +56 -34
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +3 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +29 -11
- package/package/components/flows/flowInfers.d.ts +60 -0
- package/package/components/flows/flowInfers.js +72 -40
- package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +5 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
- package/package/components/flows/map/FlowStickyNode.svelte +2 -2
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/InsertModuleButton.svelte +8 -15
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
- package/package/components/flows/map/InsertModuleInner.svelte +19 -20
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
- package/package/components/flows/map/MapItem.svelte +1 -1
- package/package/components/flows/map/VirtualItem.svelte +1 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +43 -52
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +2 -1
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +41 -26
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +2 -0
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
- package/package/components/git_sync/DetectionFlow.svelte +33 -44
- package/package/components/git_sync/DetectionFlow.svelte.d.ts +1 -0
- package/package/components/git_sync/GitSyncContext.svelte.d.ts +22 -0
- package/package/components/git_sync/GitSyncContext.svelte.js +145 -5
- package/package/components/git_sync/GitSyncModeDisplay.svelte +14 -0
- package/package/components/git_sync/GitSyncModeDisplay.svelte.d.ts +9 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +365 -253
- package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +10 -1
- package/package/components/git_sync/GitSyncSection.svelte +134 -14
- package/package/components/git_sync/PullWorkspaceModal.svelte +24 -32
- package/package/components/git_sync/PushWorkspaceModal.svelte +24 -32
- package/package/components/graph/FlowGraphV2.svelte +2 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
- package/package/components/graph/graphBuilder.svelte.js +1 -0
- package/package/components/graph/model.d.ts +5 -5
- package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte +3 -10
- package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +4 -18
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +5 -10
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/instanceSettings.js +17 -0
- package/package/components/jobs/JobProgressBar.svelte +27 -21
- package/package/components/jobs/JobProgressBar.svelte.d.ts +9 -24
- package/package/components/meltComponents/MenuSingleItem.svelte +3 -8
- package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +0 -3
- package/package/components/meltComponents/Popover.svelte +3 -2
- package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
- package/package/components/meltComponents/Tooltip.svelte +1 -1
- package/package/components/progressBar/ProgressBar.svelte +39 -53
- package/package/components/progressBar/ProgressBar.svelte.d.ts +11 -26
- package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppEditor.svelte +6 -7
- package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
- package/package/components/raw_apps/RawAppPreview.svelte +3 -7
- package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +3 -3
- package/package/components/runs/JobsLoader.svelte +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -1
- package/package/components/runs/RunOption.svelte +2 -2
- package/package/components/runs/RunsFilter.svelte +15 -12
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/AddPropertyV2.svelte +7 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
- package/package/components/schema/FlowPropertyEditor.svelte +9 -2
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +22 -26
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/SchemaFormDND.svelte +3 -2
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/select/DraggableTags.svelte +2 -2
- package/package/components/select/MultiSelect.svelte +15 -9
- package/package/components/select/MultiSelect.svelte.d.ts +1 -0
- package/package/components/select/Select.svelte +12 -5
- package/package/components/select/Select.svelte.d.ts +11 -0
- package/package/components/select/SelectDropdown.svelte +98 -46
- package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
- package/package/components/select/utils.svelte.js +2 -0
- package/package/components/settings/CreateToken.svelte +76 -49
- package/package/components/settings/WorkspaceUserSettings.svelte +111 -17
- package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
- package/package/components/sidebar/Linkify.svelte +14 -0
- package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
- package/package/components/sidebar/MenuLink.svelte +2 -1
- package/package/components/sidebar/MenuLink.svelte.d.ts +1 -0
- package/package/components/sidebar/SidebarContent.svelte +27 -27
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
- package/package/components/table/Cell.svelte +7 -14
- package/package/components/table/Cell.svelte.d.ts +13 -35
- package/package/components/table/tableUtils.js +1 -1
- package/package/components/text_input/TextInput.svelte +30 -0
- package/package/components/text_input/TextInput.svelte.d.ts +17 -0
- package/package/components/triggers/AddTriggersButton.svelte +1 -0
- package/package/components/triggers/TriggersEditor.svelte +11 -1
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +28 -5
- package/package/components/triggers/gcp/utils.js +1 -0
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +1 -0
- package/package/components/triggers/triggers.svelte.d.ts +1 -1
- package/package/components/triggers/triggers.svelte.js +8 -4
- package/package/components/triggers/webhook/WebhooksConfigSection.svelte +143 -63
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -0
- package/package/components/triggers/websocket/utils.js +1 -0
- package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
- package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
- package/package/components/tutorials/Tutorial.svelte +9 -0
- package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
- package/package/components/tutorials/app/AppTutorial.svelte +41 -57
- package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
- package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
- package/package/components/tutorials/utils.js +2 -154
- package/package/components/vscode.js +16 -8
- package/package/components/workspaceSettings/AISettings.svelte +12 -5
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +165 -0
- package/package/components/workspaceSettings/ModelTokenLimits.svelte.d.ts +8 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +147 -77
- package/package/editorUtils.d.ts +1 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +223 -17
- package/package/gen/schemas.gen.js +226 -17
- package/package/gen/services.gen.d.ts +221 -27
- package/package/gen/services.gen.js +440 -48
- package/package/gen/types.gen.d.ts +1067 -218
- package/package/hubPaths.json +2 -1
- package/package/script_helpers.js +5 -5
- package/package/services/JobManager.js +14 -9
- package/package/stores.d.ts +4 -12
- package/package/stores.js +5 -65
- package/package/timelineCompute.svelte.d.ts +21 -0
- package/package/timelineCompute.svelte.js +113 -0
- package/package/toast.js +2 -1
- package/package/utils.d.ts +16 -8
- package/package/utils.js +65 -12
- package/package/workspace_settings.d.ts +13 -8
- package/package/workspace_settings.js +46 -11
- package/package.json +4 -4
- /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
|
@@ -29,8 +29,8 @@ import JobLoader from './JobLoader.svelte';
|
|
|
29
29
|
import { writable } from 'svelte/store';
|
|
30
30
|
import { AI_TOOL_CALL_PREFIX, AI_TOOL_MESSAGE_PREFIX, getToolCallId } from './graph/renderers/nodes/AIToolNode.svelte';
|
|
31
31
|
import JobAssetsViewer from './assets/JobAssetsViewer.svelte';
|
|
32
|
-
let { flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition, hideDownloadLogs, hideJobId } = getContext('FlowStatusViewer');
|
|
33
|
-
let { jobId, initialJob = undefined, workspaceId = undefined, flowJobIds = undefined, innerModule = undefined, render = true, isOwner = false, selectedNode = $bindable(undefined), globalModuleStates, globalDurationStatuses = [],
|
|
32
|
+
let { flowState: flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition, hideDownloadLogs, hideJobId } = getContext('FlowStatusViewer');
|
|
33
|
+
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();
|
|
34
34
|
let getTopModuleStates = $derived(topModuleStates ?? localModuleStates);
|
|
35
35
|
let resultStreams = $state({});
|
|
36
36
|
if (onResultStreamUpdate == undefined) {
|
|
@@ -218,15 +218,24 @@ function setModuleState(key, value, force, keepType) {
|
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
function setDurationStatusByJob(key, id, value) {
|
|
222
|
-
if (!deepEqual(localDurationStatuses[key]?.byJob[id], value)) {
|
|
223
|
-
localDurationStatuses[key]
|
|
221
|
+
function setDurationStatusByJob(key, id, value, overwrite = false) {
|
|
222
|
+
if (!deepEqual(localDurationStatuses[key]?.byJob?.[id], value)) {
|
|
223
|
+
if (localDurationStatuses[key]?.byJob == undefined) {
|
|
224
|
+
localDurationStatuses[key] = { byJob: {} };
|
|
225
|
+
}
|
|
226
|
+
localDurationStatuses[key].byJob = {
|
|
227
|
+
[id]: value,
|
|
228
|
+
...(overwrite ? {} : (localDurationStatuses[key].byJob ?? {}))
|
|
229
|
+
};
|
|
224
230
|
globalDurationStatuses.forEach((s) => {
|
|
225
|
-
s[key].byJob[id]
|
|
231
|
+
s[key].byJob = { [id]: value, ...(overwrite ? {} : (s[key].byJob ?? {})) };
|
|
226
232
|
});
|
|
227
233
|
if (prefix) {
|
|
228
234
|
subflowParentsDurationStatuses.forEach((s) => {
|
|
229
|
-
s[buildSubflowKey(key, prefix)].byJob
|
|
235
|
+
s[buildSubflowKey(key, prefix)].byJob = {
|
|
236
|
+
[id]: value,
|
|
237
|
+
...(overwrite ? {} : (s[buildSubflowKey(key, prefix)].byJob ?? {}))
|
|
238
|
+
};
|
|
230
239
|
});
|
|
231
240
|
}
|
|
232
241
|
}
|
|
@@ -272,6 +281,29 @@ function updateStatus(status) {
|
|
|
272
281
|
delete suspendStatus.val[jobId ?? ''];
|
|
273
282
|
}
|
|
274
283
|
}
|
|
284
|
+
function updateDurationStatuses(key, durationStatuses) {
|
|
285
|
+
if (localDurationStatuses[key] == undefined) {
|
|
286
|
+
localDurationStatuses[key] = { byJob: {} };
|
|
287
|
+
}
|
|
288
|
+
localDurationStatuses[key].byJob = durationStatuses;
|
|
289
|
+
globalDurationStatuses.forEach((s) => {
|
|
290
|
+
if (s[key] == undefined) {
|
|
291
|
+
s[key] = { byJob: {} };
|
|
292
|
+
}
|
|
293
|
+
s[key].byJob = durationStatuses;
|
|
294
|
+
});
|
|
295
|
+
if (prefix) {
|
|
296
|
+
subflowParentsDurationStatuses.forEach((s) => {
|
|
297
|
+
if (s[key] == undefined) {
|
|
298
|
+
s[key] = { byJob: {} };
|
|
299
|
+
}
|
|
300
|
+
s[key].byJob = durationStatuses;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
let jobMissingStartedAt = {};
|
|
305
|
+
let lastSelectedLoopSwitch;
|
|
306
|
+
let selectedLoopSwitchTimeout = undefined;
|
|
275
307
|
function updateInnerModules() {
|
|
276
308
|
if (localModuleStates) {
|
|
277
309
|
innerModules?.forEach((mod, i) => {
|
|
@@ -309,7 +341,7 @@ function updateInnerModules() {
|
|
|
309
341
|
branchChosen: mod.branch_chosen.type == 'default' ? 0 : (mod.branch_chosen.branch ?? 0) + 1
|
|
310
342
|
}
|
|
311
343
|
: {};
|
|
312
|
-
console.debug('updateInnerModules', mod.id, mod.type, branchChosen)
|
|
344
|
+
// console.debug('updateInnerModules', mod.id, mod.type, branchChosen)
|
|
313
345
|
setModuleState(mod.id ?? '', {
|
|
314
346
|
type: mod.type,
|
|
315
347
|
...branchChosen
|
|
@@ -318,13 +350,107 @@ function updateInnerModules() {
|
|
|
318
350
|
else if (isForloopSelected) {
|
|
319
351
|
setModuleState(mod.id ?? '', {}, true);
|
|
320
352
|
}
|
|
321
|
-
if (mod.flow_jobs_success || mod.flow_jobs) {
|
|
353
|
+
if (mod.flow_jobs_success || mod.flow_jobs_duration || mod.flow_jobs) {
|
|
322
354
|
setModuleState(mod.id ?? '', {
|
|
323
355
|
flow_jobs_success: mod.flow_jobs_success,
|
|
356
|
+
flow_jobs_duration: mod.flow_jobs_duration,
|
|
324
357
|
flow_jobs: mod.flow_jobs,
|
|
325
358
|
iteration_total: mod.iterator?.itered?.length ?? mod.flow_jobs?.length
|
|
326
359
|
});
|
|
327
360
|
}
|
|
361
|
+
if (mod.flow_jobs_duration && mod.flow_jobs) {
|
|
362
|
+
let key = buildSubflowKey(mod.id ?? '', prefix);
|
|
363
|
+
let durationStatuses = Object.fromEntries(mod.flow_jobs.map((flowJobId, idx) => {
|
|
364
|
+
let started_at_str = mod.flow_jobs_duration?.started_at?.[idx];
|
|
365
|
+
let started_at = started_at_str ? new Date(started_at_str).getTime() : undefined;
|
|
366
|
+
let duration_ms = mod.flow_jobs_duration?.duration_ms?.[idx];
|
|
367
|
+
if (started_at == undefined) {
|
|
368
|
+
let missingStartedAt = jobMissingStartedAt[flowJobId];
|
|
369
|
+
if (missingStartedAt != 'P') {
|
|
370
|
+
started_at = missingStartedAt;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
delete jobMissingStartedAt[flowJobId];
|
|
375
|
+
}
|
|
376
|
+
return [
|
|
377
|
+
flowJobId,
|
|
378
|
+
{
|
|
379
|
+
created_at: started_at,
|
|
380
|
+
started_at: started_at,
|
|
381
|
+
duration_ms: duration_ms
|
|
382
|
+
}
|
|
383
|
+
];
|
|
384
|
+
}));
|
|
385
|
+
let missingStartedAtIds = Object.keys(durationStatuses)
|
|
386
|
+
.filter((id) => durationStatuses[id].created_at == undefined && jobMissingStartedAt[id] != 'P')
|
|
387
|
+
.slice(0, 100);
|
|
388
|
+
updateDurationStatuses(key, durationStatuses);
|
|
389
|
+
if (missingStartedAtIds.length > 0) {
|
|
390
|
+
missingStartedAtIds.forEach((id) => {
|
|
391
|
+
jobMissingStartedAt[id] = 'P';
|
|
392
|
+
});
|
|
393
|
+
JobService.getStartedAtByIds({
|
|
394
|
+
workspace: workspaceId ?? $workspaceStore ?? '',
|
|
395
|
+
requestBody: missingStartedAtIds
|
|
396
|
+
})
|
|
397
|
+
.then((jobs) => {
|
|
398
|
+
let lastStarted = undefined;
|
|
399
|
+
let anySet = false;
|
|
400
|
+
let nDurationStatuses = localDurationStatuses[key]?.byJob;
|
|
401
|
+
missingStartedAtIds.forEach((id, idx) => {
|
|
402
|
+
const startedAt = jobs[idx];
|
|
403
|
+
const time = startedAt ? new Date(startedAt).getTime() : undefined;
|
|
404
|
+
if (time) {
|
|
405
|
+
jobMissingStartedAt[id] = time;
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
delete jobMissingStartedAt[id];
|
|
409
|
+
}
|
|
410
|
+
if (nDurationStatuses && time) {
|
|
411
|
+
if (!nDurationStatuses[id]?.duration_ms) {
|
|
412
|
+
anySet = true;
|
|
413
|
+
lastStarted = id;
|
|
414
|
+
nDurationStatuses[id] = {
|
|
415
|
+
created_at: time,
|
|
416
|
+
started_at: time
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
if (anySet) {
|
|
422
|
+
updateDurationStatuses(key, nDurationStatuses);
|
|
423
|
+
selectedLoopSwitchTimeout && clearTimeout(selectedLoopSwitchTimeout);
|
|
424
|
+
function setSelectedLoopSwitch() {
|
|
425
|
+
if (lastStarted) {
|
|
426
|
+
let position = mod.flow_jobs?.indexOf(lastStarted);
|
|
427
|
+
if (position != undefined) {
|
|
428
|
+
lastSelectedLoopSwitch = new Date().getTime();
|
|
429
|
+
console.log('setSelectedLoopSwitch', position, lastStarted);
|
|
430
|
+
setIteration(position, lastStarted, false, mod.id ?? '', true);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
if (lastSelectedLoopSwitch &&
|
|
435
|
+
new Date().getTime() - lastSelectedLoopSwitch < 3000) {
|
|
436
|
+
selectedLoopSwitchTimeout = setTimeout(() => {
|
|
437
|
+
setSelectedLoopSwitch();
|
|
438
|
+
}, 2000);
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
console.log('setSelectedLoopSwitch');
|
|
442
|
+
setSelectedLoopSwitch();
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
})
|
|
446
|
+
.catch((e) => {
|
|
447
|
+
console.error(`Could not load inner module duration status for job ${mod.job}`, e);
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
setIteration(0, mod.flow_jobs?.[0] ?? '', false, mod.id ?? '', true);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
328
454
|
if (mod.agent_actions && mod.id) {
|
|
329
455
|
setModuleState(mod.id, {
|
|
330
456
|
agent_actions: mod.agent_actions
|
|
@@ -430,7 +556,6 @@ async function updateJobId() {
|
|
|
430
556
|
flowTimeline?.reset();
|
|
431
557
|
timeout && clearTimeout(timeout);
|
|
432
558
|
innerModules = undefined;
|
|
433
|
-
console.log('updateJobId', jobId);
|
|
434
559
|
if (flowJobIds) {
|
|
435
560
|
let modId = flowJobIds?.moduleId ?? '';
|
|
436
561
|
if (localDurationStatuses[modId] == undefined) {
|
|
@@ -442,10 +567,6 @@ async function updateJobId() {
|
|
|
442
567
|
x[prefixed] = { byJob: {} };
|
|
443
568
|
}
|
|
444
569
|
});
|
|
445
|
-
globalIterationBounds[prefixed] = {
|
|
446
|
-
iteration_from: flowJobIds?.branchall ? 0 : Math.max(flowJobIds.flowJobs.length - 20, 0),
|
|
447
|
-
iteration_total: flowJobIds?.length
|
|
448
|
-
};
|
|
449
570
|
}
|
|
450
571
|
else {
|
|
451
572
|
recursiveRefresh = {};
|
|
@@ -497,7 +618,7 @@ function onJobsLoadedInner(mod, job, force) {
|
|
|
497
618
|
setDurationStatusByJob(id, job.id, {
|
|
498
619
|
created_at: job.created_at ? new Date(job.created_at).getTime() : undefined,
|
|
499
620
|
started_at
|
|
500
|
-
});
|
|
621
|
+
}, true);
|
|
501
622
|
}
|
|
502
623
|
else {
|
|
503
624
|
const parent_module = mod['parent_module'];
|
|
@@ -515,6 +636,7 @@ function onJobsLoadedInner(mod, job, force) {
|
|
|
515
636
|
started_at: started_at,
|
|
516
637
|
flow_jobs: mod.flow_jobs,
|
|
517
638
|
flow_jobs_success: mod.flow_jobs_success,
|
|
639
|
+
flow_jobs_duration: mod.flow_jobs_duration,
|
|
518
640
|
iteration_total: mod.iterator?.itered?.length,
|
|
519
641
|
retries: mod?.failed_retries?.length,
|
|
520
642
|
skipped: mod.skipped,
|
|
@@ -525,7 +647,7 @@ function onJobsLoadedInner(mod, job, force) {
|
|
|
525
647
|
created_at: job.created_at ? new Date(job.created_at).getTime() : undefined,
|
|
526
648
|
started_at,
|
|
527
649
|
duration_ms: job['duration_ms']
|
|
528
|
-
});
|
|
650
|
+
}, true);
|
|
529
651
|
}
|
|
530
652
|
}
|
|
531
653
|
}
|
|
@@ -605,6 +727,7 @@ function innerJobLoaded(jobLoaded, j, clicked, force) {
|
|
|
605
727
|
started_at,
|
|
606
728
|
flow_jobs: flowJobIds?.flowJobs,
|
|
607
729
|
flow_jobs_success: flowJobIds?.flowJobsSuccess,
|
|
730
|
+
flow_jobs_duration: flowJobIds?.flowJobsDuration,
|
|
608
731
|
iteration_total: flowJobIds?.length,
|
|
609
732
|
duration_ms: undefined
|
|
610
733
|
};
|
|
@@ -626,18 +749,20 @@ function innerJobLoaded(jobLoaded, j, clicked, force) {
|
|
|
626
749
|
}
|
|
627
750
|
}
|
|
628
751
|
setModuleState(modId, v, force, true);
|
|
629
|
-
if (
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
752
|
+
if (innerModule?.type == 'branchall') {
|
|
753
|
+
if (jobLoaded.type == 'QueuedJob') {
|
|
754
|
+
setDurationStatusByJob(modId, job_id, {
|
|
755
|
+
created_at,
|
|
756
|
+
started_at
|
|
757
|
+
}, false);
|
|
758
|
+
}
|
|
759
|
+
else if (jobLoaded.type == 'CompletedJob') {
|
|
760
|
+
setDurationStatusByJob(modId, job_id, {
|
|
761
|
+
created_at,
|
|
762
|
+
started_at,
|
|
763
|
+
duration_ms: jobLoaded.duration_ms
|
|
764
|
+
}, false);
|
|
765
|
+
}
|
|
641
766
|
}
|
|
642
767
|
if (jobLoaded.job_kind == 'script' || isScriptPreview(jobLoaded.job_kind)) {
|
|
643
768
|
let id = undefined;
|
|
@@ -652,14 +777,6 @@ function innerJobLoaded(jobLoaded, j, clicked, force) {
|
|
|
652
777
|
}
|
|
653
778
|
}
|
|
654
779
|
let flowTimeline = $state();
|
|
655
|
-
function loadPreviousIters(innerKey, lenToAdd) {
|
|
656
|
-
let key = buildSubflowKey(innerKey, prefix);
|
|
657
|
-
if (globalIterationBounds[key]) {
|
|
658
|
-
globalIterationBounds[key].iteration_from =
|
|
659
|
-
(globalIterationBounds[key]?.iteration_from ?? 0) - lenToAdd;
|
|
660
|
-
}
|
|
661
|
-
// updateSlicedListJobIds()
|
|
662
|
-
}
|
|
663
780
|
let stepDetail = $state(undefined);
|
|
664
781
|
let storedListJobs = $state({});
|
|
665
782
|
let selectedToolCall = $state(undefined);
|
|
@@ -679,9 +796,11 @@ function removeFailureNode(id, parent_module) {
|
|
|
679
796
|
}
|
|
680
797
|
}
|
|
681
798
|
function allModulesForTimeline(modules, expandedSubflows) {
|
|
682
|
-
const ids = dfs(modules, (x) => x.id,
|
|
799
|
+
const ids = dfs(modules, (x) => ({ id: x.id, type: x.value.type }), {
|
|
800
|
+
skipToolNodes: true
|
|
801
|
+
});
|
|
683
802
|
function rec(ids, prefix) {
|
|
684
|
-
return ids.concat(ids.flatMap((id) => {
|
|
803
|
+
return ids.concat(ids.flatMap(({ id, type }) => {
|
|
685
804
|
let fms = expandedSubflows[id];
|
|
686
805
|
let oid = id.split(':').pop();
|
|
687
806
|
if (!oid) {
|
|
@@ -689,7 +808,10 @@ function allModulesForTimeline(modules, expandedSubflows) {
|
|
|
689
808
|
}
|
|
690
809
|
let nprefix = buildPrefix(prefix, oid);
|
|
691
810
|
return fms
|
|
692
|
-
? rec(dfs(fms, (x) => (
|
|
811
|
+
? rec(dfs(fms, (x) => ({
|
|
812
|
+
id: x.id.startsWith('subflow:') ? x.id : buildSubflowKey(x.id, nprefix),
|
|
813
|
+
type: x.value.type
|
|
814
|
+
}), { skipToolNodes: true }), nprefix)
|
|
693
815
|
: [];
|
|
694
816
|
}));
|
|
695
817
|
}
|
|
@@ -810,32 +932,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
810
932
|
<div class="h-8" />
|
|
811
933
|
{/if} -->
|
|
812
934
|
{#if isListJob}
|
|
813
|
-
{@const sliceFrom =
|
|
814
|
-
globalIterationBounds[buildSubflowKey(flowJobIds?.moduleId ?? '', prefix)]
|
|
815
|
-
?.iteration_from ?? 0}
|
|
816
|
-
{@const lenToAdd = Math.min(20, sliceFrom)}
|
|
817
|
-
{#if (flowJobIds?.flowJobs.length ?? 0) > 20 && lenToAdd > 0}
|
|
818
|
-
{@const allToAdd = (flowJobIds?.length ?? 0) - sliceFrom}
|
|
819
|
-
<p class="text-tertiary italic text-xs">
|
|
820
|
-
For performance reasons, only the last 20 items are shown by default <button
|
|
821
|
-
class="text-primary underline ml-4"
|
|
822
|
-
onclick={() => {
|
|
823
|
-
loadPreviousIters(flowJobIds?.moduleId ?? '', lenToAdd)
|
|
824
|
-
}}
|
|
825
|
-
>Load {lenToAdd} prior
|
|
826
|
-
</button>
|
|
827
|
-
{#if allToAdd > 0 && allToAdd > lenToAdd}
|
|
828
|
-
{sliceFrom}
|
|
829
|
-
<button
|
|
830
|
-
class="text-primary underline ml-4"
|
|
831
|
-
onclick={() => {
|
|
832
|
-
loadPreviousIters(flowJobIds?.moduleId ?? '', allToAdd)
|
|
833
|
-
}}
|
|
834
|
-
>Load {allToAdd} prior
|
|
835
|
-
</button>
|
|
836
|
-
{/if}
|
|
837
|
-
</p>
|
|
838
|
-
{/if}
|
|
839
935
|
{#if render}
|
|
840
936
|
<div class="w-full h-full border rounded-sm bg-surface p-1 overflow-auto">
|
|
841
937
|
<DisplayResult
|
|
@@ -885,9 +981,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
885
981
|
style="min-height: {minTabHeight}px"
|
|
886
982
|
>
|
|
887
983
|
{#if isListJob}
|
|
888
|
-
{@const sliceFrom =
|
|
889
|
-
globalIterationBounds[buildSubflowKey(flowJobIds?.moduleId ?? '', prefix)]
|
|
890
|
-
?.iteration_from ?? 0}
|
|
891
984
|
<h3 class="text-md leading-6 font-bold text-tertiary border-b mb-4">
|
|
892
985
|
Subflows ({flowJobIds?.flowJobs.length})
|
|
893
986
|
</h3>
|
|
@@ -930,7 +1023,7 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
930
1023
|
</span>
|
|
931
1024
|
</Button>
|
|
932
1025
|
{/if}
|
|
933
|
-
{#if
|
|
1026
|
+
{#if forloop_selected == loopJobId || innerModule?.type == 'branchall'}
|
|
934
1027
|
{@const forloopIsSelected =
|
|
935
1028
|
forloop_selected == loopJobId ||
|
|
936
1029
|
(innerModule?.type != 'forloopflow' && innerModule?.type != 'whileloopflow')}
|
|
@@ -971,7 +1064,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
971
1064
|
{onResultStreamUpdate}
|
|
972
1065
|
graphTabOpen={selected == 'graph' && graphTabOpen}
|
|
973
1066
|
isNodeSelected={forloop_selected == loopJobId}
|
|
974
|
-
{globalIterationBounds}
|
|
975
1067
|
toolCallStore={{
|
|
976
1068
|
getStoredToolCallJob: (storeKey: string) =>
|
|
977
1069
|
toolCallStore?.getStoredToolCallJob(forLoopStoreKeyPrefix + storeKey),
|
|
@@ -989,14 +1081,17 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
989
1081
|
{/if}
|
|
990
1082
|
{/each}
|
|
991
1083
|
</div>
|
|
992
|
-
{:else if innerModules && innerModules.length > 0 && (job.raw_flow?.modules.length ?? 0) > 0}
|
|
1084
|
+
{:else if innerModules && innerModules.length > 0 && ((job.raw_flow?.modules.length ?? 0) > 0 || innerModules[0]?.id == 'preprocessor')}
|
|
993
1085
|
{@const hasPreprocessor = innerModules[0]?.id == 'preprocessor' ? 1 : 0}
|
|
1086
|
+
{@const isPreprocessorOnly = hasPreprocessor && (job.raw_flow?.modules.length ?? 0) === 0}
|
|
1087
|
+
<!-- if the flow is preprocessor only, we should only display the first innerModule: the second one is a placeholder added when running empty flows -->
|
|
1088
|
+
{@const modules = isPreprocessorOnly ? [innerModules[0]] : (innerModules ?? [])}
|
|
994
1089
|
<ul class="w-full">
|
|
995
1090
|
<h3 class="text-md leading-6 font-bold text-primary border-b mb-4 py-2">
|
|
996
1091
|
Step-by-step
|
|
997
1092
|
</h3>
|
|
998
1093
|
|
|
999
|
-
{#each
|
|
1094
|
+
{#each modules as mod, i}
|
|
1000
1095
|
{#if render}
|
|
1001
1096
|
<div class="line w-8 h-10"></div>
|
|
1002
1097
|
<h3 class="text-tertiary mb-2 w-full">
|
|
@@ -1064,7 +1159,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1064
1159
|
{onResultStreamUpdate}
|
|
1065
1160
|
graphTabOpen={selected == 'graph' && graphTabOpen}
|
|
1066
1161
|
isNodeSelected={retry_selected == failedRetry}
|
|
1067
|
-
{globalIterationBounds}
|
|
1068
1162
|
/>
|
|
1069
1163
|
</div>
|
|
1070
1164
|
{/each}
|
|
@@ -1079,7 +1173,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1079
1173
|
globalModuleStates={[]}
|
|
1080
1174
|
{updateGlobalRefresh}
|
|
1081
1175
|
globalDurationStatuses={[]}
|
|
1082
|
-
{globalIterationBounds}
|
|
1083
1176
|
prefix={buildPrefix(prefix, mod.id ?? '')}
|
|
1084
1177
|
subflowParentsGlobalModuleStates={[
|
|
1085
1178
|
localModuleStates,
|
|
@@ -1127,6 +1220,7 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1127
1220
|
moduleId: mod.id ?? '',
|
|
1128
1221
|
flowJobs: mod.flow_jobs,
|
|
1129
1222
|
flowJobsSuccess: mod.flow_jobs_success ?? [],
|
|
1223
|
+
flowJobsDuration: mod.flow_jobs_duration,
|
|
1130
1224
|
length: mod.iterator?.itered?.length ?? mod.flow_jobs.length,
|
|
1131
1225
|
branchall: job?.raw_flow?.modules?.[i]?.value?.type == 'branchall'
|
|
1132
1226
|
}
|
|
@@ -1142,7 +1236,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1142
1236
|
{onResultStreamUpdate}
|
|
1143
1237
|
graphTabOpen={selected == 'graph' && graphTabOpen}
|
|
1144
1238
|
isNodeSelected={localModuleStates?.[selectedNode ?? '']?.job_id == mod.job}
|
|
1145
|
-
{globalIterationBounds}
|
|
1146
1239
|
{toolCallStore}
|
|
1147
1240
|
/>
|
|
1148
1241
|
{#if mod.agent_actions && mod.agent_actions.length > 0 && mod.id}
|
|
@@ -1212,7 +1305,6 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1212
1305
|
graphTabOpen={selected == 'graph' && graphTabOpen}
|
|
1213
1306
|
isNodeSelected={localModuleStates?.[toolCallId]?.job_id ==
|
|
1214
1307
|
agentAction.job_id}
|
|
1215
|
-
{globalIterationBounds}
|
|
1216
1308
|
/>
|
|
1217
1309
|
{/if}
|
|
1218
1310
|
{/if}
|
|
@@ -1232,20 +1324,22 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1232
1324
|
<div class="p-2 text-tertiary text-sm italic">Empty flow</div>
|
|
1233
1325
|
{/if}
|
|
1234
1326
|
</div>
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1327
|
+
{#if selected == 'logs' && render}
|
|
1328
|
+
<div
|
|
1329
|
+
class="mx-auto overflow-auto"
|
|
1330
|
+
bind:clientHeight={tabsHeight.logsHeight}
|
|
1331
|
+
style="min-height: {minTabHeight}px"
|
|
1332
|
+
>
|
|
1333
|
+
<FlowLogViewerWrapper
|
|
1334
|
+
{job}
|
|
1335
|
+
{localModuleStates}
|
|
1336
|
+
{localDurationStatuses}
|
|
1337
|
+
{workspaceId}
|
|
1338
|
+
{render}
|
|
1339
|
+
{onSelectedIteration}
|
|
1340
|
+
/>
|
|
1341
|
+
</div>
|
|
1342
|
+
{:else if selected == 'assets' && render}
|
|
1249
1343
|
<div
|
|
1250
1344
|
class="p-2"
|
|
1251
1345
|
bind:clientHeight={tabsHeight.assetsHeight}
|
|
@@ -1348,6 +1442,8 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1348
1442
|
</Tabs>
|
|
1349
1443
|
{#if rightColumnSelect == 'timeline'}
|
|
1350
1444
|
<FlowTimeline
|
|
1445
|
+
{localModuleStates}
|
|
1446
|
+
{onSelectedIteration}
|
|
1351
1447
|
selfWaitTime={job?.self_wait_time_ms}
|
|
1352
1448
|
aggregateWaitTime={job?.aggregate_wait_time_ms}
|
|
1353
1449
|
flowDone={job?.['success'] != undefined}
|
|
@@ -1357,11 +1453,7 @@ let minTabHeight = $derived(Math.max(tabsHeight.sequenceHeight, tabsHeight.logsH
|
|
|
1357
1453
|
expandedSubflows ?? {}
|
|
1358
1454
|
)}
|
|
1359
1455
|
buildSubflowKey={(key) => buildSubflowKey(key, prefix)}
|
|
1360
|
-
{globalIterationBounds}
|
|
1361
1456
|
durationStatuses={localDurationStatuses}
|
|
1362
|
-
decreaseIterationFrom={(key, amount) => {
|
|
1363
|
-
loadPreviousIters(key, amount)
|
|
1364
|
-
}}
|
|
1365
1457
|
/>
|
|
1366
1458
|
{:else if rightColumnSelect == 'node_status'}
|
|
1367
1459
|
<div class="pt-2 grow flex flex-col">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import FlowStatusViewerInner from './FlowStatusViewerInner.svelte';
|
|
2
2
|
import { type Job, type FlowModuleValue, type CompletedJob } from '../gen';
|
|
3
|
-
import { type DurationStatus, type
|
|
3
|
+
import { type DurationStatus, type GraphModuleState } from './graph';
|
|
4
4
|
interface Props {
|
|
5
5
|
jobId: string;
|
|
6
6
|
initialJob?: Job | undefined;
|
|
@@ -9,6 +9,10 @@ interface Props {
|
|
|
9
9
|
moduleId: string;
|
|
10
10
|
flowJobs: string[];
|
|
11
11
|
flowJobsSuccess: (boolean | undefined)[];
|
|
12
|
+
flowJobsDuration: {
|
|
13
|
+
started_at?: (string | undefined)[];
|
|
14
|
+
duration_ms?: (number | undefined)[];
|
|
15
|
+
} | undefined;
|
|
12
16
|
length: number;
|
|
13
17
|
branchall?: boolean;
|
|
14
18
|
} | undefined;
|
|
@@ -18,7 +22,6 @@ interface Props {
|
|
|
18
22
|
selectedNode?: string | undefined;
|
|
19
23
|
globalModuleStates: Record<string, GraphModuleState>[];
|
|
20
24
|
globalDurationStatuses?: Record<string, DurationStatus>[];
|
|
21
|
-
globalIterationBounds: Record<string, GlobalIterationBounds>;
|
|
22
25
|
isSelectedBranch?: boolean;
|
|
23
26
|
isSubflow?: boolean;
|
|
24
27
|
reducedPolling?: boolean;
|
|
@@ -65,6 +68,10 @@ interface Props {
|
|
|
65
68
|
addToolCallToLoad: (storeKey: string) => void;
|
|
66
69
|
};
|
|
67
70
|
}
|
|
68
|
-
|
|
71
|
+
export type FlowModuleForTimeline = {
|
|
72
|
+
id: string;
|
|
73
|
+
type: FlowModuleValue['type'];
|
|
74
|
+
};
|
|
75
|
+
declare const FlowStatusViewerInner: import("svelte").Component<Props, {}, "job" | "localModuleStates" | "localDurationStatuses" | "selectedNode" | "rightColumnSelect">;
|
|
69
76
|
type FlowStatusViewerInner = ReturnType<typeof FlowStatusViewerInner>;
|
|
70
77
|
export default FlowStatusViewerInner;
|