windmill-components 1.394.8 → 1.405.5
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/app.css +20 -0
- package/package/ata/edgeCases.d.ts +0 -1
- package/package/ata/edgeCases.js +2 -8
- package/package/ata/index.js +4 -3
- package/package/common.d.ts +1 -1
- package/package/common.js +2 -2
- package/package/components/ApiConnectForm.svelte +33 -7
- package/package/components/AppConnectLightweightResourcePicker.svelte +66 -0
- package/package/components/AppConnectLightweightResourcePicker.svelte.d.ts +21 -0
- package/package/components/ArgInput.svelte +10 -4
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/CenteredModal.svelte +4 -1
- package/package/components/CenteredModal.svelte.d.ts +1 -0
- package/package/components/CustomPopover.svelte +1 -1
- package/package/components/DateInput.svelte +2 -0
- package/package/components/DateInput.svelte.d.ts +1 -0
- package/package/components/DefaultScripts.svelte +8 -3
- package/package/components/DefaultScripts.svelte.d.ts +5 -1
- package/package/components/DefaultScriptsInner.svelte +16 -7
- package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +68 -11
- package/package/components/DisplayResult.svelte +1 -1
- package/package/components/DropdownV2.svelte.d.ts +3 -3
- package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
- package/package/components/EditableSchemaForm.svelte +1 -0
- package/package/components/Editor.svelte +3 -2
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/ExecutionDuration.svelte +44 -0
- package/package/components/ExecutionDuration.svelte.d.ts +24 -0
- package/package/components/FlowBuilder.svelte +22 -12
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewer.svelte +9 -2
- package/package/components/FlowGraphViewerStep.svelte +23 -10
- package/package/components/FlowInputViewer.svelte +25 -0
- package/package/components/FlowInputViewer.svelte.d.ts +19 -0
- package/package/components/FlowJobResult.svelte +8 -2
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowMetadata.svelte +2 -2
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +21 -5
- package/package/components/FlowTimeline.svelte +3 -3
- package/package/components/FlowViewer.svelte +2 -21
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/IconedResourceType.svelte +17 -10
- package/package/components/IconedResourceType.svelte.d.ts +2 -0
- package/package/components/IdEditorInput.svelte +0 -1
- package/package/components/InstanceSettings.svelte +247 -129
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobArgs.svelte +3 -1
- package/package/components/LightweightArgInput.svelte +35 -10
- package/package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/package/components/LightweightObjectResourceInput.svelte +2 -0
- package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/LightweightResourcePicker.svelte +34 -30
- package/package/components/LightweightSchemaForm.svelte +2 -0
- package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
- package/package/components/LogViewer.svelte +4 -3
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Login.svelte +10 -5
- package/package/components/Login.svelte.d.ts +1 -0
- package/package/components/ManualPopover.svelte +1 -1
- package/package/components/ModulePreview.svelte +21 -2
- package/package/components/ModuleStatus.svelte +3 -0
- package/package/components/ModuleStatus.svelte.d.ts +1 -0
- package/package/components/OAuthSetting.svelte +40 -15
- package/package/components/ObjectResourceInput.svelte +5 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
- package/package/components/ObjectStoreConfigSettings.svelte +78 -76
- package/package/components/ParqetCsvTableRenderer.svelte +25 -3
- package/package/components/Password.svelte.d.ts +1 -1
- package/package/components/Path.svelte +74 -54
- package/package/components/Path.svelte.d.ts +2 -1
- package/package/components/Popover.svelte +1 -1
- package/package/components/Portal.svelte +7 -8
- package/package/components/Portal.svelte.d.ts +3 -7
- package/package/components/QueueMetricsDrawer.svelte +368 -3
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -0
- package/package/components/ResourceEditor.svelte +38 -10
- package/package/components/ResourcePicker.svelte +14 -9
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte +6 -3
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunForm.svelte +1 -1
- package/package/components/SavedInputs.svelte +2 -2
- package/package/components/ScheduleEditorInner.svelte +2 -2
- package/package/components/SchemaForm.svelte +6 -1
- package/package/components/ScriptBuilder.svelte +12 -5
- package/package/components/ScriptEditor.svelte +33 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptVersionHistory.svelte +54 -59
- package/package/components/Scrollable.svelte +47 -0
- package/package/components/Scrollable.svelte.d.ts +21 -0
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SuperadminSettings.svelte +5 -7
- package/package/components/TestConnection.svelte +1 -0
- package/package/components/TestJobLoader.svelte +46 -5
- package/package/components/TestJobLoader.svelte.d.ts +2 -1
- package/package/components/TimeAgo.svelte +5 -6
- package/package/components/TimeAgo.svelte.d.ts +1 -1
- package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
- package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
- package/package/components/WorkspaceGroup.svelte +3 -2
- package/package/components/apps/components/buttons/AppButton.svelte +1 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
- package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +1 -1
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +1 -1
- package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +11 -3
- package/package/components/apps/editor/GridEditor.svelte +57 -4
- package/package/components/apps/editor/GridEditor.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditorMenu.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +82 -3
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +16 -0
- package/package/components/apps/editor/appUtils.d.ts +19 -2
- package/package/components/apps/editor/appUtils.js +103 -7
- package/package/components/apps/editor/component/Component.svelte +36 -8
- package/package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +1 -1
- package/package/components/apps/svelte-grid/Grid.svelte +235 -12
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +7 -7
- package/package/components/apps/svelte-grid/MoveResize.svelte +104 -11
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +7 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +2 -3
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
- package/package/components/common/button/ButtonDropdown.svelte +1 -1
- package/package/components/common/drawer/ConditionalPortal.svelte +1 -1
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/menu/Menu.svelte +2 -1
- package/package/components/common/menu/MenuV2.svelte +4 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/AlwaysMountedModal.svelte +1 -1
- package/package/components/common/popup/Popup.svelte +22 -12
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/popup/PopupV2.svelte +58 -0
- package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +4 -4
- package/package/components/copilot/StepGen.svelte +6 -6
- package/package/components/copilot/StepGenQuick.svelte +58 -0
- package/package/components/copilot/StepGenQuick.svelte.d.ts +24 -0
- package/package/components/copilot/flow.d.ts +2 -0
- package/package/components/copilot/flow.js +55 -0
- package/package/components/details/DetailPageDetailPanel.svelte +9 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +2 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/Menu.svelte +1 -1
- package/package/components/details/utils.d.ts +0 -1
- package/package/components/details/utils.js +1 -12
- package/package/components/flows/CreateActionsApp.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistory.svelte +10 -195
- package/package/components/flows/FlowHistory.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistoryInner.svelte +200 -0
- package/package/components/flows/FlowHistoryInner.svelte.d.ts +19 -0
- package/package/components/flows/FlowProgressBar.svelte +16 -1
- package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowConstants.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +5 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +66 -58
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputs.svelte +7 -6
- package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
- package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
- package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
- package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
- package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
- package/package/components/flows/content/GenAiQuick.svelte +30 -0
- package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +3 -1
- package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
- package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
- package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +64 -20
- package/package/components/flows/map/InsertModuleButton.svelte +161 -138
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
- package/package/components/flows/map/MapItem.svelte +11 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
- package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +93 -58
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
- package/package/components/graph/graphBuilder.d.ts +2 -1
- package/package/components/graph/graphBuilder.js +345 -280
- package/package/components/graph/model.d.ts +2 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +7 -2
- package/package/components/home/ListFiltersQuick.svelte +51 -0
- package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
- package/package/components/icons/AnsibleIcon.svelte +42 -0
- package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
- package/package/components/icons/WindmillIcon.svelte +119 -105
- package/package/components/icons/WindmillIcon2.svelte +141 -0
- package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
- package/package/components/icons/index.d.ts +2 -1
- package/package/components/icons/index.js +2 -1
- package/package/components/icons/store.d.ts +4 -0
- package/package/components/icons/store.js +1 -0
- package/package/components/instanceSettings.d.ts +2 -2
- package/package/components/instanceSettings.js +25 -58
- package/package/components/jobs/JobProgressBar.svelte +52 -0
- package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +1 -1
- package/package/components/progressBar/ProgressBar.svelte +18 -1
- package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +1 -1
- package/package/components/runs/JobPreview.svelte +1 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
- package/package/components/runs/RunRow.svelte +3 -7
- package/package/components/schema/AddProperty.svelte +1 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
- package/package/components/schema/FlowPropertyEditor.svelte +13 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -0
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
- package/package/components/search/GlobalSearchModal.svelte +3 -2
- package/package/components/sidebar/SidebarContent.svelte +69 -8
- package/package/components/sidebar/changelogs.js +10 -0
- package/package/components/triggers/RouteEditor.svelte +19 -0
- package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
- package/package/components/triggers/RouteEditorInner.svelte +327 -0
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/RoutesPanel.svelte +74 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +159 -8
- package/package/gen/schemas.gen.js +161 -8
- package/package/gen/services.gen.d.ts +139 -1
- package/package/gen/services.gen.js +282 -1
- package/package/gen/types.gen.d.ts +455 -12
- package/package/hubPaths.json +6 -8
- package/package/infer.d.ts +4 -2
- package/package/infer.js +25 -23
- package/package/inferArgSig.js +8 -2
- package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
- package/package/relative_imports.d.ts +3 -0
- package/package/relative_imports.js +25 -0
- package/package/script_helpers.d.ts +38 -34
- package/package/script_helpers.js +245 -35
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/utils.d.ts +1 -0
- package/package/utils.js +4 -0
- package/package.json +38 -7
- package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
- package/package/init_scripts/python_failure_module.d.ts +0 -2
- package/package/init_scripts/python_failure_module.js +0 -8
- package/package/init_scripts/python_init_code.d.ts +0 -2
- package/package/init_scripts/python_init_code.js +0 -40
- package/package/init_scripts/python_init_code_clear.d.ts +0 -2
- package/package/init_scripts/python_init_code_clear.js +0 -5
- package/package/init_scripts/python_init_code_trigger.d.ts +0 -2
- package/package/init_scripts/python_init_code_trigger.js +0 -14
|
@@ -7,7 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
icon?: any;
|
|
8
8
|
href?: string | undefined;
|
|
9
9
|
disabled?: boolean | undefined;
|
|
10
|
-
type?: "
|
|
10
|
+
type?: "delete" | "action" | undefined;
|
|
11
11
|
hide?: boolean | undefined;
|
|
12
12
|
}[] | (() => {
|
|
13
13
|
displayName: string;
|
|
@@ -15,7 +15,7 @@ declare const __propDef: {
|
|
|
15
15
|
icon?: any;
|
|
16
16
|
href?: string | undefined;
|
|
17
17
|
disabled?: boolean | undefined;
|
|
18
|
-
type?: "
|
|
18
|
+
type?: "delete" | "action" | undefined;
|
|
19
19
|
hide?: boolean | undefined;
|
|
20
20
|
}[]) | (() => Promise<{
|
|
21
21
|
displayName: string;
|
|
@@ -23,7 +23,7 @@ declare const __propDef: {
|
|
|
23
23
|
icon?: any;
|
|
24
24
|
href?: string | undefined;
|
|
25
25
|
disabled?: boolean | undefined;
|
|
26
|
-
type?: "
|
|
26
|
+
type?: "delete" | "action" | undefined;
|
|
27
27
|
hide?: boolean | undefined;
|
|
28
28
|
}[]>) | undefined;
|
|
29
29
|
justifyEnd?: boolean | undefined;
|
|
@@ -7,7 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
icon?: any;
|
|
8
8
|
href?: string | undefined;
|
|
9
9
|
disabled?: boolean | undefined;
|
|
10
|
-
type?: "
|
|
10
|
+
type?: "delete" | "action" | undefined;
|
|
11
11
|
hide?: boolean | undefined;
|
|
12
12
|
}[] | (() => {
|
|
13
13
|
displayName: string;
|
|
@@ -15,7 +15,7 @@ declare const __propDef: {
|
|
|
15
15
|
icon?: any;
|
|
16
16
|
href?: string | undefined;
|
|
17
17
|
disabled?: boolean | undefined;
|
|
18
|
-
type?: "
|
|
18
|
+
type?: "delete" | "action" | undefined;
|
|
19
19
|
hide?: boolean | undefined;
|
|
20
20
|
}[]) | (() => Promise<{
|
|
21
21
|
displayName: string;
|
|
@@ -23,7 +23,7 @@ declare const __propDef: {
|
|
|
23
23
|
icon?: any;
|
|
24
24
|
href?: string | undefined;
|
|
25
25
|
disabled?: boolean | undefined;
|
|
26
|
-
type?: "
|
|
26
|
+
type?: "delete" | "action" | undefined;
|
|
27
27
|
hide?: boolean | undefined;
|
|
28
28
|
}[]>) | undefined;
|
|
29
29
|
};
|
|
@@ -419,6 +419,7 @@ let editor = undefined;
|
|
|
419
419
|
{itemPicker}
|
|
420
420
|
{lightweightMode}
|
|
421
421
|
bind:nullable={schema.properties[argName].nullable}
|
|
422
|
+
bind:disabled={schema.properties[argName].disabled}
|
|
422
423
|
type={schema.properties[argName].type}
|
|
423
424
|
bind:oneOf={schema.properties[argName].oneOf}
|
|
424
425
|
bind:format={schema.properties[argName].format}
|
|
@@ -125,9 +125,10 @@ import { editor as meditor, languages, KeyCode, KeyMod, Uri as mUri } from 'mona
|
|
|
125
125
|
import EditorTheme from './EditorTheme.svelte';
|
|
126
126
|
import { BIGQUERY_TYPES, MSSQL_TYPES, MYSQL_TYPES, POSTGRES_TYPES, SNOWFLAKE_TYPES } from '../consts';
|
|
127
127
|
import { setupTypeAcquisition } from '../ata/index';
|
|
128
|
-
import { initWasmTs
|
|
128
|
+
import { initWasmTs } from '../infer';
|
|
129
129
|
import { initVim } from './monaco_keybindings';
|
|
130
130
|
import { buildWorkerDefinition } from '../monaco_workers/build_workers';
|
|
131
|
+
import { parseTypescriptDeps } from '../relative_imports';
|
|
131
132
|
// import EditorTheme from './EditorTheme.svelte'
|
|
132
133
|
let divEl = null;
|
|
133
134
|
let editor = null;
|
|
@@ -1011,7 +1012,7 @@ async function setTypescriptExtraLibs() {
|
|
|
1011
1012
|
ata = setupTypeAcquisition({
|
|
1012
1013
|
projectName: 'Windmill',
|
|
1013
1014
|
depsParser: (c) => {
|
|
1014
|
-
return
|
|
1015
|
+
return parseTypescriptDeps(c);
|
|
1015
1016
|
},
|
|
1016
1017
|
root,
|
|
1017
1018
|
scriptPath: path,
|
|
@@ -7,7 +7,7 @@ import { editor as meditor, type IDisposable } from 'monaco-editor';
|
|
|
7
7
|
declare const __propDef: {
|
|
8
8
|
props: {
|
|
9
9
|
[x: string]: any;
|
|
10
|
-
lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'php' | 'css' | 'javascript' | 'rust';
|
|
10
|
+
lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'php' | 'css' | 'javascript' | 'rust' | 'yaml';
|
|
11
11
|
code?: string | undefined;
|
|
12
12
|
cmdEnterAction?: (() => void) | undefined;
|
|
13
13
|
formatAction?: (() => void) | undefined;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script>import {} from '../gen';
|
|
2
|
+
import { onDestroy } from 'svelte';
|
|
3
|
+
export let job = undefined;
|
|
4
|
+
/** Execution duration of current active job (in ms) */
|
|
5
|
+
export let executionDuration = 0;
|
|
6
|
+
/** Is current job running more than specified value in `longDefinition` seconds */
|
|
7
|
+
export let longRunning = false;
|
|
8
|
+
/** What do we count as "long" (in ms)*/
|
|
9
|
+
export let longDefinition = 30_000;
|
|
10
|
+
/** How often component updates execution duration (in ms)
|
|
11
|
+
* Higher value -> more efficient component is, less accuracy it has
|
|
12
|
+
* Lower value -> less efficient component is, more accuracy it has
|
|
13
|
+
*/
|
|
14
|
+
export let updateResolution = 5_000;
|
|
15
|
+
let startedAt = undefined;
|
|
16
|
+
let busy = false;
|
|
17
|
+
let interval;
|
|
18
|
+
// Detect when execution of job started
|
|
19
|
+
$: if (!busy &&
|
|
20
|
+
job &&
|
|
21
|
+
'running' in job &&
|
|
22
|
+
(job.job_kind == 'script' || job?.job_kind == 'preview'))
|
|
23
|
+
start(job);
|
|
24
|
+
function start(job) {
|
|
25
|
+
busy = true;
|
|
26
|
+
startedAt = new Date(job?.started_at ?? '').getTime();
|
|
27
|
+
interval = setInterval(updateDuration, updateResolution);
|
|
28
|
+
}
|
|
29
|
+
function updateDuration() {
|
|
30
|
+
if (job?.type == 'CompletedJob') {
|
|
31
|
+
clearInterval(interval);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (startedAt)
|
|
35
|
+
executionDuration = Date.now() - startedAt;
|
|
36
|
+
// Detect long running
|
|
37
|
+
if (executionDuration >= longDefinition)
|
|
38
|
+
longRunning = true;
|
|
39
|
+
}
|
|
40
|
+
onDestroy(() => {
|
|
41
|
+
// Clear the interval when the component is destroyed
|
|
42
|
+
clearInterval(interval);
|
|
43
|
+
});
|
|
44
|
+
</script>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type Job } from '../gen';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
job?: Job | undefined;
|
|
6
|
+
/** Execution duration of current active job (in ms) */ executionDuration?: number | undefined;
|
|
7
|
+
/** Is current job running more than specified value in `longDefinition` seconds */ longRunning?: boolean | undefined;
|
|
8
|
+
/** What do we count as "long" (in ms)*/ longDefinition?: number | undefined;
|
|
9
|
+
/** How often component updates execution duration (in ms)
|
|
10
|
+
* Higher value -> more efficient component is, less accuracy it has
|
|
11
|
+
* Lower value -> less efficient component is, more accuracy it has
|
|
12
|
+
*/ updateResolution?: number | undefined;
|
|
13
|
+
};
|
|
14
|
+
events: {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
};
|
|
17
|
+
slots: {};
|
|
18
|
+
};
|
|
19
|
+
export type ExecutionDurationProps = typeof __propDef.props;
|
|
20
|
+
export type ExecutionDurationEvents = typeof __propDef.events;
|
|
21
|
+
export type ExecutionDurationSlots = typeof __propDef.slots;
|
|
22
|
+
export default class ExecutionDuration extends SvelteComponent<ExecutionDurationProps, ExecutionDurationEvents, ExecutionDurationSlots> {
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -48,6 +48,7 @@ export let savedFlow = undefined;
|
|
|
48
48
|
export let diffDrawer = undefined;
|
|
49
49
|
export let customUi = {};
|
|
50
50
|
export let disableAi = false;
|
|
51
|
+
export let disabledFlowInputs = false;
|
|
51
52
|
$: setContext('customUi', customUi);
|
|
52
53
|
const dispatch = createEventDispatcher();
|
|
53
54
|
async function createSchedule(path) {
|
|
@@ -321,6 +322,7 @@ const testStepStore = writable({});
|
|
|
321
322
|
function select(selectedId) {
|
|
322
323
|
selectedIdStore.set(selectedId);
|
|
323
324
|
}
|
|
325
|
+
let insertButtonOpen = writable(false);
|
|
324
326
|
setContext('FlowEditorContext', {
|
|
325
327
|
selectedId: selectedIdStore,
|
|
326
328
|
schedule: scheduleStore,
|
|
@@ -335,7 +337,8 @@ setContext('FlowEditorContext', {
|
|
|
335
337
|
saveDraft,
|
|
336
338
|
initialPath,
|
|
337
339
|
flowInputsStore: writable({}),
|
|
338
|
-
customUi
|
|
340
|
+
customUi,
|
|
341
|
+
insertButtonOpen
|
|
339
342
|
});
|
|
340
343
|
async function loadSchedule() {
|
|
341
344
|
loadFlowSchedule(initialPath, $workspaceStore)
|
|
@@ -381,20 +384,24 @@ function onKeyDown(event) {
|
|
|
381
384
|
}
|
|
382
385
|
break;
|
|
383
386
|
case 'ArrowDown': {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
387
|
+
if (!$insertButtonOpen) {
|
|
388
|
+
let ids = generateIds();
|
|
389
|
+
let idx = ids.indexOf($selectedIdStore);
|
|
390
|
+
if (idx > -1 && idx < ids.length - 1) {
|
|
391
|
+
$selectedIdStore = ids[idx + 1];
|
|
392
|
+
event.preventDefault();
|
|
393
|
+
}
|
|
389
394
|
}
|
|
390
395
|
break;
|
|
391
396
|
}
|
|
392
397
|
case 'ArrowUp': {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
+
if (!$insertButtonOpen) {
|
|
399
|
+
let ids = generateIds();
|
|
400
|
+
let idx = ids.indexOf($selectedIdStore);
|
|
401
|
+
if (idx > 0 && idx < ids.length) {
|
|
402
|
+
$selectedIdStore = ids[idx - 1];
|
|
403
|
+
event.preventDefault();
|
|
404
|
+
}
|
|
398
405
|
}
|
|
399
406
|
break;
|
|
400
407
|
}
|
|
@@ -404,6 +411,7 @@ function generateIds() {
|
|
|
404
411
|
return [
|
|
405
412
|
'settings-metadata',
|
|
406
413
|
'constants',
|
|
414
|
+
'preprocessor',
|
|
407
415
|
...dfsApply($flowStore.value.modules, (module) => module.id)
|
|
408
416
|
];
|
|
409
417
|
}
|
|
@@ -718,7 +726,8 @@ async function genFlow(idx, flowModules, stepOnly = false) {
|
|
|
718
726
|
const schemaProperty = Object.entries(schema?.properties ?? {}).find((x) => x[0] === key)?.[1];
|
|
719
727
|
const snakeKey = snakeCase(key);
|
|
720
728
|
if (schemaProperty &&
|
|
721
|
-
(!$flowStore.schema ||
|
|
729
|
+
(!$flowStore.schema ||
|
|
730
|
+
!(snakeKey in ($flowStore?.schema?.properties ?? {}))) // prevent overriding flow inputs
|
|
722
731
|
) {
|
|
723
732
|
copilotFlowInputs[snakeKey] = schemaProperty;
|
|
724
733
|
if (schema?.required.includes(snakeKey)) {
|
|
@@ -1126,6 +1135,7 @@ let msgInput = undefined;
|
|
|
1126
1135
|
<!-- metadata -->
|
|
1127
1136
|
{#if $flowStateStore}
|
|
1128
1137
|
<FlowEditor
|
|
1138
|
+
{disabledFlowInputs}
|
|
1129
1139
|
disableAi={disableAi || customUi?.stepInputs?.ai == false}
|
|
1130
1140
|
disableSettings={customUi?.settingsPanel === false}
|
|
1131
1141
|
{loading}
|
|
@@ -20,6 +20,7 @@ declare const __propDef: {
|
|
|
20
20
|
diffDrawer?: DiffDrawer | undefined;
|
|
21
21
|
customUi?: FlowBuilderWhitelabelCustomUi | undefined;
|
|
22
22
|
disableAi?: boolean | undefined;
|
|
23
|
+
disabledFlowInputs?: boolean | undefined;
|
|
23
24
|
computeUnlockedSteps?: ((flow: Flow) => {
|
|
24
25
|
[k: string]: string;
|
|
25
26
|
}) | undefined;
|
|
@@ -23,9 +23,16 @@ const dispatch = createEventDispatcher();
|
|
|
23
23
|
minHeight={400}
|
|
24
24
|
modules={flow?.value?.modules}
|
|
25
25
|
failureModule={flow?.value?.failure_module}
|
|
26
|
+
preprocessorModule={flow?.value?.preprocessor_module}
|
|
26
27
|
on:select={(e) => {
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
if (e?.detail === 'failure') {
|
|
29
|
+
stepDetail = flow?.value?.failure_module
|
|
30
|
+
} else if (e?.detail === 'preprocessor') {
|
|
31
|
+
stepDetail = flow?.value?.preprocessor_module
|
|
32
|
+
} else {
|
|
33
|
+
stepDetail = dfs(flow?.value?.modules ?? [], (m) => m).find((m) => m?.id === e?.detail)
|
|
34
|
+
}
|
|
35
|
+
stepDetail = stepDetail ?? e?.detail
|
|
29
36
|
dispatch('select', stepDetail)
|
|
30
37
|
}}
|
|
31
38
|
/>
|
|
@@ -98,12 +98,17 @@ let codeViewer;
|
|
|
98
98
|
{:else if typeof stepDetail != 'string' && stepDetail.value}
|
|
99
99
|
<div class="">
|
|
100
100
|
<div class="sticky top-0 bg-surface w-full flex items-center py-2">
|
|
101
|
-
{#if stepDetail.id}
|
|
101
|
+
{#if stepDetail.id && stepDetail.id != 'failure' && stepDetail.id != 'preprocessor'}
|
|
102
102
|
<Badge color="indigo">
|
|
103
103
|
{stepDetail.id}
|
|
104
104
|
</Badge>
|
|
105
105
|
{/if}
|
|
106
|
-
<span
|
|
106
|
+
<span
|
|
107
|
+
class={twMerge(
|
|
108
|
+
'font-medium text-lg',
|
|
109
|
+
stepDetail.id !== 'failure' && stepDetail.id !== 'preprocessor' ? 'ml-2' : ''
|
|
110
|
+
)}
|
|
111
|
+
>
|
|
107
112
|
{#if stepDetail.summary}
|
|
108
113
|
{stepDetail.summary}
|
|
109
114
|
{:else if stepDetail.value.type == 'identity'}
|
|
@@ -119,6 +124,10 @@ let codeViewer;
|
|
|
119
124
|
Inner flow
|
|
120
125
|
{:else if stepDetail.value.type == 'whileloopflow'}
|
|
121
126
|
While loop
|
|
127
|
+
{:else if stepDetail.id === 'failure'}
|
|
128
|
+
Error handler
|
|
129
|
+
{:else if stepDetail.id === 'preprocessor'}
|
|
130
|
+
Preprocessor
|
|
122
131
|
{:else}
|
|
123
132
|
Anonymous step
|
|
124
133
|
{/if}
|
|
@@ -142,10 +151,12 @@ let codeViewer;
|
|
|
142
151
|
An identity step returns its inputs as outputs
|
|
143
152
|
</p>
|
|
144
153
|
{:else if stepDetail.value.type == 'rawscript'}
|
|
145
|
-
|
|
146
|
-
<
|
|
147
|
-
|
|
148
|
-
|
|
154
|
+
{#if stepDetail.id !== 'preprocessor'}
|
|
155
|
+
<div class="text-xs">
|
|
156
|
+
<h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
|
|
157
|
+
<InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
|
|
158
|
+
</div>
|
|
159
|
+
{/if}
|
|
149
160
|
|
|
150
161
|
<div>
|
|
151
162
|
<div class="mb-2 mt-4 flex justify-between items-center">
|
|
@@ -175,10 +186,12 @@ let codeViewer;
|
|
|
175
186
|
</div>
|
|
176
187
|
</div>
|
|
177
188
|
{:else if stepDetail.value.type == 'script'}
|
|
178
|
-
|
|
179
|
-
<
|
|
180
|
-
|
|
181
|
-
|
|
189
|
+
{#if stepDetail.id !== 'preprocessor'}
|
|
190
|
+
<div class="text-2xs">
|
|
191
|
+
<h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
|
|
192
|
+
<InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
|
|
193
|
+
</div>
|
|
194
|
+
{/if}
|
|
182
195
|
{#if stepDetail.value.path.startsWith('hub/')}
|
|
183
196
|
<div class="flex flex-col grow">
|
|
184
197
|
<div class="mb-2 flex justify-between items-center">
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script>import FieldHeader from './FieldHeader.svelte';
|
|
2
|
+
export let schema;
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<ul class="my-2">
|
|
6
|
+
{#if schema == undefined}
|
|
7
|
+
<li class="text-secondary text-xs italic mb-4">No inputs</li>
|
|
8
|
+
{:else}
|
|
9
|
+
{#each Object.entries(schema.properties ?? {}) as [inp, v]}
|
|
10
|
+
<li class="list-disc flex flex-row items-center">
|
|
11
|
+
<FieldHeader
|
|
12
|
+
label={inp}
|
|
13
|
+
required={Array.isArray(schema.required) && schema.required?.includes(inp)}
|
|
14
|
+
type={v?.type}
|
|
15
|
+
contentEncoding={v?.contentEncoding}
|
|
16
|
+
format={v?.format}
|
|
17
|
+
/><span class="ml-4 mt-1 text-xs"
|
|
18
|
+
>{v?.default != undefined && v?.default != ''
|
|
19
|
+
? 'default: ' + JSON.stringify(v?.default)
|
|
20
|
+
: ''}</span
|
|
21
|
+
>
|
|
22
|
+
</li>
|
|
23
|
+
{/each}
|
|
24
|
+
{/if}
|
|
25
|
+
</ul>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { Schema } from '../common';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
schema: Schema | {
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
} | undefined;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type FlowInputViewerProps = typeof __propDef.props;
|
|
15
|
+
export type FlowInputViewerEvents = typeof __propDef.events;
|
|
16
|
+
export type FlowInputViewerSlots = typeof __propDef.slots;
|
|
17
|
+
export default class FlowInputViewer extends SvelteComponent<FlowInputViewerProps, FlowInputViewerEvents, FlowInputViewerSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -18,6 +18,7 @@ export let tag = undefined;
|
|
|
18
18
|
export let workspaceId = undefined;
|
|
19
19
|
export let refreshLog = false;
|
|
20
20
|
export let durationStates;
|
|
21
|
+
export let downloadLogs = true;
|
|
21
22
|
let lastJobId = undefined;
|
|
22
23
|
let drawer = undefined;
|
|
23
24
|
$: jobId != lastJobId && diffJobId();
|
|
@@ -32,7 +33,6 @@ async function diffJobId() {
|
|
|
32
33
|
let logOffset = 0;
|
|
33
34
|
async function getLogs() {
|
|
34
35
|
if (jobId) {
|
|
35
|
-
console.log('getLogs');
|
|
36
36
|
const getUpdate = await JobService.getJobUpdates({
|
|
37
37
|
workspace: workspaceId ?? $workspaceStore,
|
|
38
38
|
id: jobId,
|
|
@@ -77,6 +77,12 @@ async function getLogs() {
|
|
|
77
77
|
<div class="absolute z-40 text-xs top-0 left-1"
|
|
78
78
|
><button class="" on:click={drawer.openDrawer}>explore all steps' logs</button></div
|
|
79
79
|
>
|
|
80
|
-
<LogViewer
|
|
80
|
+
<LogViewer
|
|
81
|
+
download={downloadLogs}
|
|
82
|
+
content={logs ?? ''}
|
|
83
|
+
{jobId}
|
|
84
|
+
isLoading={waitingForExecutor}
|
|
85
|
+
{tag}
|
|
86
|
+
/>
|
|
81
87
|
</div>
|
|
82
88
|
</div>
|
|
@@ -15,6 +15,7 @@ declare const __propDef: {
|
|
|
15
15
|
workspaceId?: string | undefined;
|
|
16
16
|
refreshLog?: boolean | undefined;
|
|
17
17
|
durationStates: Writable<Record<string, DurationStatus>> | undefined;
|
|
18
|
+
downloadLogs?: boolean | undefined;
|
|
18
19
|
};
|
|
19
20
|
events: {
|
|
20
21
|
[evt: string]: CustomEvent<any>;
|
|
@@ -24,7 +24,7 @@ export let scheduleEditor;
|
|
|
24
24
|
{#if job['success'] != undefined}
|
|
25
25
|
Received job: {displayDate(job.created_at ?? '')}
|
|
26
26
|
{:else}
|
|
27
|
-
Received job <TimeAgo
|
|
27
|
+
Received job <TimeAgo date={job.created_at ?? ''} />
|
|
28
28
|
{/if}
|
|
29
29
|
<Tooltip small>{job?.created_at}</Tooltip>
|
|
30
30
|
</span>
|
|
@@ -33,7 +33,7 @@ export let scheduleEditor;
|
|
|
33
33
|
<div class="flex flex-row gap-2 items-center text-sm">
|
|
34
34
|
<Clock size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
35
35
|
<span class="whitespace-nowrap">
|
|
36
|
-
Started <TimeAgo
|
|
36
|
+
Started <TimeAgo agoOnlyIfRecent date={job.started_at ?? ''} />
|
|
37
37
|
<Tooltip small>{job?.started_at}</Tooltip>
|
|
38
38
|
</span>
|
|
39
39
|
</div>
|
|
@@ -13,6 +13,7 @@ export let hideTimeline = false;
|
|
|
13
13
|
export let hideDownloadInGraph = false;
|
|
14
14
|
export let hideNodeDefinition = false;
|
|
15
15
|
export let hideJobId = false;
|
|
16
|
+
export let hideDownloadLogs = false;
|
|
16
17
|
export let isOwner = false;
|
|
17
18
|
export let wideResults = false;
|
|
18
19
|
let lastJobId = jobId;
|
|
@@ -25,7 +26,8 @@ setContext('FlowStatusViewer', {
|
|
|
25
26
|
hideDownloadInGraph,
|
|
26
27
|
hideNodeDefinition,
|
|
27
28
|
hideTimeline,
|
|
28
|
-
hideJobId
|
|
29
|
+
hideJobId,
|
|
30
|
+
hideDownloadLogs
|
|
29
31
|
});
|
|
30
32
|
function loadOwner(path) {
|
|
31
33
|
isOwner = loadIsOwner(path, $userStore, workspaceId ?? $workspaceStore);
|
|
@@ -14,6 +14,7 @@ declare const __propDef: {
|
|
|
14
14
|
hideDownloadInGraph?: boolean | undefined;
|
|
15
15
|
hideNodeDefinition?: boolean | undefined;
|
|
16
16
|
hideJobId?: boolean | undefined;
|
|
17
|
+
hideDownloadLogs?: boolean | undefined;
|
|
17
18
|
isOwner?: boolean | undefined;
|
|
18
19
|
wideResults?: boolean | undefined;
|
|
19
20
|
};
|
|
@@ -22,7 +22,7 @@ import Alert from './common/alert/Alert.svelte';
|
|
|
22
22
|
import FlowGraphViewerStep from './FlowGraphViewerStep.svelte';
|
|
23
23
|
import FlowGraphV2 from './graph/FlowGraphV2.svelte';
|
|
24
24
|
const dispatch = createEventDispatcher();
|
|
25
|
-
let { flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition } = getContext('FlowStatusViewer');
|
|
25
|
+
let { flowStateStore, retryStatus, suspendStatus, hideDownloadInGraph, hideTimeline, hideNodeDefinition, hideDownloadLogs } = getContext('FlowStatusViewer');
|
|
26
26
|
export let jobId;
|
|
27
27
|
export let initialJob = undefined;
|
|
28
28
|
export let workspaceId = undefined;
|
|
@@ -94,6 +94,9 @@ let innerModules = [];
|
|
|
94
94
|
function updateStatus(status) {
|
|
95
95
|
innerModules =
|
|
96
96
|
status?.modules?.concat(status.failure_module.type != 'WaitingForPriorSteps' ? status.failure_module : []) ?? [];
|
|
97
|
+
if (status.preprocessor_module) {
|
|
98
|
+
innerModules.unshift(status.preprocessor_module);
|
|
99
|
+
}
|
|
97
100
|
updateInnerModules();
|
|
98
101
|
let count = status.retry?.fail_count;
|
|
99
102
|
if (count) {
|
|
@@ -339,7 +342,8 @@ function onJobsLoaded(mod, job, force) {
|
|
|
339
342
|
flow_jobs: mod.flow_jobs,
|
|
340
343
|
flow_jobs_success: mod.flow_jobs_success,
|
|
341
344
|
iteration_total: mod.iterator?.itered?.length,
|
|
342
|
-
retries: mod?.failed_retries?.length
|
|
345
|
+
retries: mod?.failed_retries?.length,
|
|
346
|
+
skipped: mod.skipped
|
|
343
347
|
// retries: $flowStateStore?.raw_flow
|
|
344
348
|
}, force);
|
|
345
349
|
setDurationStatusByJob(mod.id, job.id, {
|
|
@@ -536,6 +540,7 @@ let wrapperHeight = 0;
|
|
|
536
540
|
result={job.result}
|
|
537
541
|
logs={job.logs}
|
|
538
542
|
durationStates={localDurationStatuses}
|
|
543
|
+
downloadLogs={!hideDownloadLogs}
|
|
539
544
|
/>
|
|
540
545
|
</div>
|
|
541
546
|
{/if}
|
|
@@ -660,6 +665,7 @@ let wrapperHeight = 0;
|
|
|
660
665
|
{/each}
|
|
661
666
|
</div>
|
|
662
667
|
{:else if innerModules.length > 0 && (job.raw_flow?.modules.length ?? 0) > 0}
|
|
668
|
+
{@const hasPreprocessor = innerModules[0]?.id == 'preprocessor' ? 1 : 0}
|
|
663
669
|
<ul class="w-full">
|
|
664
670
|
<h3 class="text-md leading-6 font-bold text-primary border-b mb-4 py-2">
|
|
665
671
|
Step-by-step
|
|
@@ -669,10 +675,12 @@ let wrapperHeight = 0;
|
|
|
669
675
|
{#if render}
|
|
670
676
|
<div class="line w-8 h-10" />
|
|
671
677
|
<h3 class="text-tertiary mb-2 w-full">
|
|
672
|
-
{#if
|
|
678
|
+
{#if mod.id === 'preprocessor'}
|
|
679
|
+
<h3>Preprocessor module</h3>
|
|
680
|
+
{:else if job?.raw_flow?.modules && i < job?.raw_flow?.modules.length + hasPreprocessor}
|
|
673
681
|
Step
|
|
674
682
|
<span class="font-medium text-primary">
|
|
675
|
-
{i + 1}
|
|
683
|
+
{i + 1 - hasPreprocessor}
|
|
676
684
|
</span>
|
|
677
685
|
out of
|
|
678
686
|
<span class="font-medium text-primary">{job?.raw_flow?.modules.length}</span>
|
|
@@ -844,6 +852,8 @@ let wrapperHeight = 0;
|
|
|
844
852
|
globalRefreshes[detail.moduleId]?.({ job: detail.id, index: detail.index })
|
|
845
853
|
}}
|
|
846
854
|
modules={job.raw_flow?.modules ?? []}
|
|
855
|
+
failureModule={job.raw_flow?.failure_module}
|
|
856
|
+
preprocessorModule={job.raw_flow?.preprocessor_module}
|
|
847
857
|
/>
|
|
848
858
|
</div>
|
|
849
859
|
<div
|
|
@@ -888,6 +898,7 @@ let wrapperHeight = 0;
|
|
|
888
898
|
result={job['result']}
|
|
889
899
|
logs={job.logs ?? ''}
|
|
890
900
|
durationStates={localDurationStatuses}
|
|
901
|
+
downloadLogs={!hideDownloadLogs}
|
|
891
902
|
/>
|
|
892
903
|
{:else if selectedNode == 'start'}
|
|
893
904
|
{#if job.args}
|
|
@@ -917,7 +928,11 @@ let wrapperHeight = 0;
|
|
|
917
928
|
<span class="pl-1 text-tertiary text-lg pt-4">Selected subflow</span>
|
|
918
929
|
{/if}
|
|
919
930
|
<div class="px-2 flex gap-2 min-w-0 w-full">
|
|
920
|
-
<ModuleStatus
|
|
931
|
+
<ModuleStatus
|
|
932
|
+
type={node.type}
|
|
933
|
+
scheduled_for={node.scheduled_for}
|
|
934
|
+
skipped={node.skipped}
|
|
935
|
+
/>
|
|
921
936
|
{#if node.duration_ms}
|
|
922
937
|
<Badge>
|
|
923
938
|
<Hourglass class="mr-2" size={10} />
|
|
@@ -959,6 +974,7 @@ let wrapperHeight = 0;
|
|
|
959
974
|
tag={node.tag}
|
|
960
975
|
logs={node.logs}
|
|
961
976
|
durationStates={localDurationStatuses}
|
|
977
|
+
downloadLogs={!hideDownloadLogs}
|
|
962
978
|
/>
|
|
963
979
|
{:else}
|
|
964
980
|
<p class="p-2 text-tertiary italic"
|
|
@@ -146,10 +146,10 @@ onDestroy(() => {
|
|
|
146
146
|
{/if}
|
|
147
147
|
|
|
148
148
|
<div class="px-2 py-2 grid grid-cols-6 w-full">
|
|
149
|
-
<div>{k}</div>
|
|
150
|
-
<div class="col-span-5 flex min-h-6
|
|
149
|
+
<div class="truncate">{k}</div>
|
|
150
|
+
<div class="col-span-5 flex min-h-6">
|
|
151
151
|
{#if min && total}
|
|
152
|
-
<div class="flex flex-col gap-2 w-full p-2">
|
|
152
|
+
<div class="flex flex-col gap-2 w-full p-2 ml-4">
|
|
153
153
|
{#each items?.[k] ?? [] as b}
|
|
154
154
|
{@const waitingLen = b?.created_at
|
|
155
155
|
? b.started_at
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script>import { Tab, Tabs, TabContent } from './common';
|
|
2
2
|
import SchemaViewer from './SchemaViewer.svelte';
|
|
3
|
-
import FieldHeader from './FieldHeader.svelte';
|
|
4
3
|
import FlowGraphViewer from './FlowGraphViewer.svelte';
|
|
5
4
|
import HighlightTheme from './HighlightTheme.svelte';
|
|
6
5
|
import FlowViewerInner from './FlowViewerInner.svelte';
|
|
6
|
+
import FlowInputViewer from './FlowInputViewer.svelte';
|
|
7
7
|
export let flow;
|
|
8
8
|
export let initialOpen = undefined;
|
|
9
9
|
export let noSide = false;
|
|
@@ -15,9 +15,6 @@ let open = {};
|
|
|
15
15
|
if (initialOpen) {
|
|
16
16
|
open[initialOpen] = true;
|
|
17
17
|
}
|
|
18
|
-
function toAny(x) {
|
|
19
|
-
return x;
|
|
20
|
-
}
|
|
21
18
|
</script>
|
|
22
19
|
|
|
23
20
|
<HighlightTheme />
|
|
@@ -41,23 +38,7 @@ function toAny(x) {
|
|
|
41
38
|
<span>Flow Input</span>
|
|
42
39
|
</p>
|
|
43
40
|
{#if flow.schema && flow.schema.properties && Object.keys(flow.schema.properties).length > 0 && flow.schema}
|
|
44
|
-
<
|
|
45
|
-
{#each Object.entries(flow.schema.properties) as [inp, v]}
|
|
46
|
-
<li class="list-disc flex flex-row">
|
|
47
|
-
<FieldHeader
|
|
48
|
-
label={inp}
|
|
49
|
-
required={flow.schema.required?.includes(inp)}
|
|
50
|
-
type={toAny(v)?.type}
|
|
51
|
-
contentEncoding={toAny(v)?.contentEncoding}
|
|
52
|
-
format={toAny(v)?.format}
|
|
53
|
-
/><span class="ml-4 mt-2 text-xs"
|
|
54
|
-
>{toAny(v)?.default != undefined
|
|
55
|
-
? 'default: ' + JSON.stringify(toAny(v)?.default)
|
|
56
|
-
: ''}</span
|
|
57
|
-
>
|
|
58
|
-
</li>
|
|
59
|
-
{/each}
|
|
60
|
-
</ul>
|
|
41
|
+
<FlowInputViewer schema={flow.schema} />
|
|
61
42
|
{:else}
|
|
62
43
|
<div class="text-secondary text-xs italic mb-4">No inputs</div>
|
|
63
44
|
{/if}
|
|
@@ -9,6 +9,7 @@ import sql from 'svelte-highlight/languages/sql';
|
|
|
9
9
|
import powershell from 'svelte-highlight/languages/powershell';
|
|
10
10
|
import php from 'svelte-highlight/languages/php';
|
|
11
11
|
import rust from 'svelte-highlight/languages/rust';
|
|
12
|
+
import yaml from 'svelte-highlight/languages/yaml';
|
|
12
13
|
import { Button } from './common';
|
|
13
14
|
import { copyToClipboard } from '../utils';
|
|
14
15
|
import { ClipboardCopy } from 'lucide-svelte';
|
|
@@ -50,6 +51,8 @@ function getLang(lang) {
|
|
|
50
51
|
return php;
|
|
51
52
|
case 'rust':
|
|
52
53
|
return rust;
|
|
54
|
+
case 'ansible':
|
|
55
|
+
return yaml;
|
|
53
56
|
default:
|
|
54
57
|
return typescript;
|
|
55
58
|
}
|