windmill-components 1.522.0 → 1.531.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/components/AIAgentLogViewer.svelte +123 -0
- package/package/components/AIAgentLogViewer.svelte.d.ts +13 -0
- package/package/components/AppConnectInner.svelte +10 -10
- package/package/components/AutoscalingConfigEditor.svelte +76 -2
- package/package/components/Dev.svelte +12 -28
- package/package/components/DiffEditor.svelte +6 -3
- package/package/components/DiffEditor.svelte.d.ts +1 -0
- package/package/components/DisplayResult.svelte +16 -10
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +5 -2
- package/package/components/Editor.svelte +26 -8
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/EditorBar.svelte +25 -5
- package/package/components/EditorSettings.svelte +6 -0
- package/package/components/FirstStepInputs.svelte +2 -2
- package/package/components/FlowBuilder.svelte +18 -36
- package/package/components/FlowGraphViewerStep.svelte +7 -0
- package/package/components/FlowJobResult.svelte +15 -63
- package/package/components/FlowJobResult.svelte.d.ts +10 -4
- package/package/components/FlowLogViewer.svelte +660 -0
- package/package/components/FlowLogViewer.svelte.d.ts +34 -0
- package/package/components/FlowLogViewerWrapper.svelte +52 -0
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
- package/package/components/FlowLoopIterationPreview.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte +4 -5
- package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
- package/package/components/FlowPreviewResult.svelte +4 -5
- package/package/components/FlowPreviewResult.svelte.d.ts +3 -5
- package/package/components/FlowStatusViewer.svelte +28 -16
- package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
- package/package/components/FlowStatusViewerInner.svelte +483 -296
- package/package/components/FlowStatusViewerInner.svelte.d.ts +27 -33
- package/package/components/FlowTimeline.svelte +11 -13
- package/package/components/FlowTimeline.svelte.d.ts +6 -5
- package/package/components/HighlightCode.svelte +4 -1
- package/package/components/IconedResourceType.svelte +9 -5
- package/package/components/JobLoader.svelte +61 -8
- package/package/components/JobLoader.svelte.d.ts +9 -1
- package/package/components/LogViewer.svelte +8 -2
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/LogViewerHeader.svelte +32 -0
- package/package/components/LogViewerHeader.svelte.d.ts +8 -0
- package/package/components/ModulePreviewForm.svelte +10 -6
- package/package/components/ModulePreviewResultViewer.svelte +16 -0
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
- package/package/components/ModuleTest.svelte +59 -16
- package/package/components/RelativeLineNumbers.svelte +16 -0
- package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +9 -4
- package/package/components/ScriptBuilder.svelte +13 -11
- package/package/components/ScriptEditor.svelte +2 -2
- package/package/components/SimpleEditor.svelte +10 -4
- package/package/components/SimpleEditor.svelte.d.ts +1 -0
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/UserSettings.svelte +4 -4
- package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
- package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte +2 -2
- package/package/components/apps/components/helpers/HiddenComponent.svelte +0 -1
- package/package/components/apps/components/helpers/InputValue.svelte +6 -1
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +7 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
- package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +31 -20
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +9 -8
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
- package/package/components/apps/components/layout/AppStepper.svelte +9 -5
- package/package/components/apps/components/layout/AppTabs.svelte +2 -2
- package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
- package/package/components/apps/editor/GridEditor.svelte +24 -19
- package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
- package/package/components/apps/editor/GridViewer.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +7 -11
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
- package/package/components/apps/editor/appUtils.js +17 -68
- package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
- package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -46
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +29 -43
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +23 -25
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
- package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
- package/package/components/apps/utils.d.ts +2 -0
- package/package/components/apps/utils.js +22 -0
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/fileDownload/FileDownload.svelte +1 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
- package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
- package/package/components/copilot/MetadataGen.svelte +19 -1
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
- package/package/components/copilot/ScriptGen.svelte +23 -31
- package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
- package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
- package/package/components/copilot/chat/AIChatInput.svelte +29 -6
- package/package/components/copilot/chat/AIChatManager.svelte.js +110 -26
- package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.js +192 -0
- package/package/components/copilot/chat/api/core.d.ts +7 -0
- package/package/components/copilot/chat/api/core.js +61 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
- package/package/components/copilot/chat/flow/core.js +213 -42
- package/package/components/copilot/chat/flow/utils.js +3 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
- package/package/components/copilot/chat/monaco-adapter.js +10 -4
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +20 -22
- package/package/components/copilot/chat/script/core.d.ts +11 -3
- package/package/components/copilot/chat/script/core.js +92 -15
- package/package/components/copilot/chat/shared.d.ts +30 -3
- package/package/components/copilot/chat/shared.js +228 -9
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +15 -6
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/details/DetailPageLayout.svelte +34 -33
- package/package/components/flow_builder.d.ts +1 -2
- package/package/components/flows/FlowEditor.svelte +3 -3
- package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
- package/package/components/flows/common/FlowCard.svelte +2 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +13 -4
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
- package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
- package/package/components/flows/content/FlowConstants.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
- package/package/components/flows/content/FlowLoop.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowResult.svelte +2 -3
- package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
- package/package/components/flows/dfs.d.ts +3 -1
- package/package/components/flows/dfs.js +5 -1
- package/package/components/flows/flowInfers.js +78 -0
- package/package/components/flows/flowState.d.ts +2 -3
- package/package/components/flows/flowState.js +2 -2
- package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
- package/package/components/flows/flowStateUtils.svelte.js +14 -13
- package/package/components/flows/flowStore.d.ts +3 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
- package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +12 -12
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +26 -19
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
- package/package/components/flows/map/InsertModuleInner.svelte +9 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
- package/package/components/flows/map/MapItem.svelte +4 -2
- package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
- package/package/components/flows/propPicker/OutputBadge.svelte +11 -9
- package/package/components/flows/propPicker/OutputPickerInner.svelte +10 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/flows/testSteps.svelte.d.ts +3 -2
- package/package/components/flows/testSteps.svelte.js +26 -23
- package/package/components/flows/types.d.ts +1 -1
- package/package/components/flows/utils.d.ts +3 -5
- package/package/components/flows/utils.js +3 -4
- package/package/components/git_sync/GitSyncContext.svelte.js +2 -1
- package/package/components/graph/FlowGraphV2.svelte +44 -24
- package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
- package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
- package/package/components/graph/graphBuilder.svelte.js +30 -14
- package/package/components/graph/model.d.ts +9 -6
- package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/AssetNode.svelte +15 -10
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
- package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
- package/package/components/icons/RubyIcon.svelte +656 -0
- package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings.js +9 -0
- package/package/components/modulesTest.svelte.d.ts +6 -3
- package/package/components/modulesTest.svelte.js +32 -0
- package/package/components/preview/FlowPreviewStatus.svelte +3 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -26
- package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
- package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +1 -4
- package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
- package/package/components/runs/RunRow.svelte +5 -1
- package/package/components/schema/AddProperty.svelte +41 -36
- package/package/components/schema/AddProperty.svelte.d.ts +2 -2
- package/package/components/schema/AddPropertyV2.svelte +41 -37
- package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -6
- package/package/components/search/RunsSearch.svelte +1 -1
- package/package/components/settings/CreateToken.svelte +132 -12
- package/package/components/settings/CreateToken.svelte.d.ts +3 -20
- package/package/components/settings/TokenDisplay.svelte +18 -42
- package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
- package/package/components/settings/TokensTable.svelte +2 -4
- package/package/components/settings/TokensTable.svelte.d.ts +3 -19
- package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
- package/package/components/sidebar/MenuButton.svelte +12 -10
- package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
- package/package/components/stepHistoryLoader.svelte.js +7 -12
- package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
- package/package/components/tutorials/utils.js +3 -0
- package/package/components/worker_group.d.ts +4 -1
- package/package/components/worker_group.js +3 -2
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/editorUtils.d.ts +2 -1
- package/package/editorUtils.js +2 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +296 -8
- package/package/gen/schemas.gen.js +364 -70
- package/package/gen/services.gen.d.ts +118 -16
- package/package/gen/services.gen.js +226 -19
- package/package/gen/types.gen.d.ts +660 -16
- package/package/hubPaths.json +7 -4
- package/package/infer.js +10 -1
- package/package/monaco_workers/graphql.worker.bundle.js +144 -110
- package/package/script_helpers.d.ts +3 -0
- package/package/script_helpers.js +58 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +3 -2
- package/package/stores.d.ts +2 -0
- package/package/stores.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +16 -0
- package/package/svelte5Utils.svelte.js +26 -0
- package/package/utils.d.ts +1 -1
- package/package.json +20 -19
- package/package/components/AllFlowLogs.svelte +0 -31
- package/package/components/AllFlowLogs.svelte.d.ts +0 -8
- package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
- package/package/components/copilot/chat/navigator/apiTools.js +0 -258
|
@@ -71,7 +71,7 @@ declare const Editor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
71
71
|
append: (code: string) => void;
|
|
72
72
|
format: () => Promise<void>;
|
|
73
73
|
getScriptLang: () => string | undefined;
|
|
74
|
-
reviewAndApplyCode: (code: string) => void;
|
|
74
|
+
reviewAndApplyCode: (code: string, applyAll?: boolean) => void;
|
|
75
75
|
reloadWebsocket: () => Promise<void>;
|
|
76
76
|
fetchPackageDeps: (deps: DepsToGet) => Promise<void>;
|
|
77
77
|
addAction: (id: string, label: string, callback: (editor: meditor.IStandaloneCodeEditor) => void, keybindings?: number[]) => void;
|
|
@@ -23,13 +23,14 @@ import Toggle from './Toggle.svelte';
|
|
|
23
23
|
import { DatabaseIcon, DiffIcon, DollarSign, File, History, Library, Link, Package, Plus, RotateCw, Save, Users } from 'lucide-svelte';
|
|
24
24
|
import { capitalize, formatS3Object, toCamel } from '../utils';
|
|
25
25
|
import ScriptVersionHistory from './ScriptVersionHistory.svelte';
|
|
26
|
-
import ScriptGen from './copilot/ScriptGen.svelte';
|
|
27
26
|
import { getResetCode } from '../script_helpers';
|
|
28
27
|
import Popover from './Popover.svelte';
|
|
29
28
|
import ResourceEditorDrawer from './ResourceEditorDrawer.svelte';
|
|
30
29
|
import EditorSettings from './EditorSettings.svelte';
|
|
31
30
|
import S3FilePicker from './S3FilePicker.svelte';
|
|
32
31
|
import DucklakeIcon from './icons/DucklakeIcon.svelte';
|
|
32
|
+
import FlowInlineScriptAiButton from './copilot/FlowInlineScriptAIButton.svelte';
|
|
33
|
+
import ScriptGen from './copilot/ScriptGen.svelte';
|
|
33
34
|
let { lang, editor, websocketAlive, iconOnly = false, validCode = true, kind = 'script', template = 'script', collabMode = false, collabLive = false, collabUsers = [], scriptPath = undefined, diffEditor = undefined, args, noHistory = false, saveToWorkspace = false, customUi = {}, lastDeployedCode = undefined, diffMode = false, showHistoryDrawer = $bindable(false), right, openAiChat = false } = $props();
|
|
34
35
|
let contextualVariablePicker = $state();
|
|
35
36
|
let variablePicker = $state();
|
|
@@ -53,7 +54,8 @@ let showContextVarPicker = $derived([
|
|
|
53
54
|
'rust',
|
|
54
55
|
'csharp',
|
|
55
56
|
'nu',
|
|
56
|
-
'java'
|
|
57
|
+
'java',
|
|
58
|
+
'ruby'
|
|
57
59
|
// for related places search: ADD_NEW_LANG
|
|
58
60
|
].includes(lang ?? ''));
|
|
59
61
|
let showVarPicker = $derived([
|
|
@@ -69,7 +71,8 @@ let showVarPicker = $derived([
|
|
|
69
71
|
'rust',
|
|
70
72
|
'csharp',
|
|
71
73
|
'nu',
|
|
72
|
-
'java'
|
|
74
|
+
'java',
|
|
75
|
+
'ruby'
|
|
73
76
|
// for related places search: ADD_NEW_LANG
|
|
74
77
|
].includes(lang ?? ''));
|
|
75
78
|
let showResourcePicker = $derived([
|
|
@@ -85,7 +88,8 @@ let showResourcePicker = $derived([
|
|
|
85
88
|
'rust',
|
|
86
89
|
'csharp',
|
|
87
90
|
'nu',
|
|
88
|
-
'java'
|
|
91
|
+
'java',
|
|
92
|
+
'ruby',
|
|
89
93
|
// for related places search: ADD_NEW_LANG
|
|
90
94
|
].includes(lang ?? ''));
|
|
91
95
|
let showS3Picker = $derived(['duckdb', 'python3'].includes(lang ?? '') ||
|
|
@@ -341,6 +345,8 @@ function windmillPathToCamelCaseName(path) {
|
|
|
341
345
|
} else if (lang == 'java') {
|
|
342
346
|
editor.insertAtCursor(`System.getenv("${name}");`)
|
|
343
347
|
// for related places search: ADD_NEW_LANG
|
|
348
|
+
} else if (lang == 'ruby') {
|
|
349
|
+
editor.insertAtCursor(`ENV['${name}']`)
|
|
344
350
|
}
|
|
345
351
|
sendUserToast(`${name} inserted at cursor`)
|
|
346
352
|
}}
|
|
@@ -411,6 +417,11 @@ string ${windmillPathToCamelCaseName(path)} = await client.GetStringAsync(uri);
|
|
|
411
417
|
} else if (lang == 'java') {
|
|
412
418
|
editor.insertAtCursor(`(Wmill.getVariable("${path}"))`)
|
|
413
419
|
// for related places search: ADD_NEW_LANG
|
|
420
|
+
} else if (lang == 'ruby') {
|
|
421
|
+
if (!editor.getCode().includes("require 'windmill/mini'")) {
|
|
422
|
+
editor.insertAtBeginning("require 'windmill/mini'\n")
|
|
423
|
+
}
|
|
424
|
+
editor.insertAtCursor(`get_variable("${path}")`)
|
|
414
425
|
}
|
|
415
426
|
sendUserToast(`${name} inserted at cursor`)
|
|
416
427
|
}}
|
|
@@ -500,6 +511,11 @@ JsonNode ${windmillPathToCamelCaseName(path)} = JsonNode.Parse(await client.GetS
|
|
|
500
511
|
} else if (lang == 'java') {
|
|
501
512
|
editor.insertAtCursor(`(Wmill.getResource("${path}"))`)
|
|
502
513
|
// for related places search: ADD_NEW_LANG
|
|
514
|
+
} else if (lang == 'ruby') {
|
|
515
|
+
if (!editor.getCode().includes("require 'windmill/mini'")) {
|
|
516
|
+
editor.insertAtBeginning("require 'windmill/mini'\n")
|
|
517
|
+
}
|
|
518
|
+
editor.insertAtCursor(`get_resource("${path}")`)
|
|
503
519
|
} else if (lang == 'duckdb') {
|
|
504
520
|
let t = { postgresql: 'postgres', mysql: 'mysql', bigquery: 'bigquery' }[resType]
|
|
505
521
|
if (!t) {
|
|
@@ -853,7 +869,11 @@ JsonNode ${windmillPathToCamelCaseName(path)} = JsonNode.Parse(await client.GetS
|
|
|
853
869
|
{/if}
|
|
854
870
|
|
|
855
871
|
{#if customUi?.aiGen != false}
|
|
856
|
-
|
|
872
|
+
{#if openAiChat}
|
|
873
|
+
<FlowInlineScriptAiButton />
|
|
874
|
+
{:else}
|
|
875
|
+
<ScriptGen {editor} {diffEditor} {lang} {iconOnly} {args} />
|
|
876
|
+
{/if}
|
|
857
877
|
{/if}
|
|
858
878
|
|
|
859
879
|
<EditorSettings {customUi} />
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { Settings } from 'lucide-svelte';
|
|
2
2
|
import FormatOnSave from './FormatOnSave.svelte';
|
|
3
3
|
import VimMode from './VimMode.svelte';
|
|
4
|
+
import RelativeLineNumbers from './RelativeLineNumbers.svelte';
|
|
4
5
|
import { Button } from './common';
|
|
5
6
|
import CodeCompletionStatus from './copilot/CodeCompletionStatus.svelte';
|
|
6
7
|
import Popover from './meltComponents/Popover.svelte';
|
|
@@ -36,6 +37,11 @@ export let customUi = {};
|
|
|
36
37
|
<VimMode />
|
|
37
38
|
</div>
|
|
38
39
|
{/if}
|
|
40
|
+
{#if customUi?.relativeLineNumbers != false}
|
|
41
|
+
<div>
|
|
42
|
+
<RelativeLineNumbers />
|
|
43
|
+
</div>
|
|
44
|
+
{/if}
|
|
39
45
|
{#if customUi?.aiCompletion != false}
|
|
40
46
|
<div>
|
|
41
47
|
<CodeCompletionStatus />
|
|
@@ -14,7 +14,7 @@ let error = $state(undefined);
|
|
|
14
14
|
let mod = $state(undefined);
|
|
15
15
|
async function loadSchema() {
|
|
16
16
|
try {
|
|
17
|
-
const res = await getFirstStepSchema(
|
|
17
|
+
const res = await getFirstStepSchema(flowStateStore.val, flowStore.val);
|
|
18
18
|
schema = res.schema;
|
|
19
19
|
mod = res.mod;
|
|
20
20
|
dispatch('connectFirstNode', { connectFirstNode: res.connectFirstNode });
|
|
@@ -24,7 +24,7 @@ async function loadSchema() {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
$effect(() => {
|
|
27
|
-
flowStore.val &&
|
|
27
|
+
flowStore.val && flowStateStore.val && untrack(() => loadSchema());
|
|
28
28
|
});
|
|
29
29
|
function handleClick() {
|
|
30
30
|
selected = !selected;
|
|
@@ -15,7 +15,7 @@ import ScriptEditorDrawer from './flows/content/ScriptEditorDrawer.svelte';
|
|
|
15
15
|
import { dfs as dfsApply } from './flows/dfs';
|
|
16
16
|
import FlowImportExportMenu from './flows/header/FlowImportExportMenu.svelte';
|
|
17
17
|
import FlowPreviewButtons from './flows/header/FlowPreviewButtons.svelte';
|
|
18
|
-
import { cleanInputs
|
|
18
|
+
import { cleanInputs } from './flows/utils';
|
|
19
19
|
import { Calendar, Pen, Save, DiffIcon, HistoryIcon, FileJson, Settings } from 'lucide-svelte';
|
|
20
20
|
import Awareness from './Awareness.svelte';
|
|
21
21
|
import { getAllModules } from './flows/flowExplorer';
|
|
@@ -445,13 +445,7 @@ function select(selectedId) {
|
|
|
445
445
|
selectedIdStore.set(selectedId);
|
|
446
446
|
}
|
|
447
447
|
let insertButtonOpen = writable(false);
|
|
448
|
-
let
|
|
449
|
-
let modulesTestStates = new ModulesTestStates((moduleId) => {
|
|
450
|
-
// Update the derived store with test job states
|
|
451
|
-
delete $derivedModuleStates[moduleId];
|
|
452
|
-
testModuleId = moduleId;
|
|
453
|
-
showJobStatus = false;
|
|
454
|
-
});
|
|
448
|
+
let modulesTestStates = new ModulesTestStates();
|
|
455
449
|
let outputPickerOpenFns = $state({});
|
|
456
450
|
let flowEditor = $state(undefined);
|
|
457
451
|
setContext('FlowEditorContext', {
|
|
@@ -715,25 +709,8 @@ function onJobDone() {
|
|
|
715
709
|
}
|
|
716
710
|
}
|
|
717
711
|
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
const suspendStatus = $derived(flowPreviewContent?.getSuspendStatus() ?? writable({}));
|
|
721
|
-
// Create a derived store that only shows the module states when showModuleStatus is true
|
|
722
|
-
// this store can also be updated
|
|
723
|
-
let derivedModuleStates = writable({});
|
|
724
|
-
$effect(() => {
|
|
725
|
-
derivedModuleStates.update((currentStates) => {
|
|
726
|
-
return showJobStatus ? $localModuleStates : currentStates;
|
|
727
|
-
});
|
|
728
|
-
});
|
|
729
|
-
$effect(() => {
|
|
730
|
-
updateDerivedModuleStatesFromTestJobs(testModuleId, modulesTestStates, derivedModuleStates);
|
|
731
|
-
});
|
|
732
|
-
function resetModulesStates() {
|
|
733
|
-
derivedModuleStates.set({});
|
|
734
|
-
showJobStatus = false;
|
|
735
|
-
}
|
|
736
|
-
const individualStepTests = $derived(!(showJobStatus && job) && Object.keys($derivedModuleStates).length > 0);
|
|
712
|
+
let localModuleStates = $state({});
|
|
713
|
+
let suspendStatus = $state({ val: {} });
|
|
737
714
|
const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
738
715
|
</script>
|
|
739
716
|
|
|
@@ -798,7 +775,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
798
775
|
for (const mod of restoredModules) {
|
|
799
776
|
if (mod) {
|
|
800
777
|
try {
|
|
801
|
-
loadFlowModuleState(mod).then((state) => (
|
|
778
|
+
loadFlowModuleState(mod).then((state) => (flowStateStore.val[mod.id] = state))
|
|
802
779
|
} catch (e) {
|
|
803
780
|
console.error('Error loading state for restored node', e)
|
|
804
781
|
}
|
|
@@ -928,10 +905,12 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
928
905
|
showCaptureHint.set(true)
|
|
929
906
|
}}
|
|
930
907
|
{onJobDone}
|
|
908
|
+
bind:localModuleStates
|
|
931
909
|
bind:this={flowPreviewButtons}
|
|
932
910
|
{loading}
|
|
933
911
|
onRunPreview={() => {
|
|
934
|
-
|
|
912
|
+
modulesTestStates.hideJobsInGraph()
|
|
913
|
+
localModuleStates = {}
|
|
935
914
|
showJobStatus = true
|
|
936
915
|
}}
|
|
937
916
|
/>
|
|
@@ -958,7 +937,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
958
937
|
</div>
|
|
959
938
|
</div>
|
|
960
939
|
<!-- metadata -->
|
|
961
|
-
{#if
|
|
940
|
+
{#if flowStateStore.val}
|
|
962
941
|
<FlowEditor
|
|
963
942
|
bind:this={flowEditor}
|
|
964
943
|
{disabledFlowInputs}
|
|
@@ -1001,19 +980,22 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
1001
980
|
showFlowAiButton={!disableAi && customUi?.topBar?.aiBuilder != false}
|
|
1002
981
|
toggleAiChat={() => aiChatManager.toggleOpen()}
|
|
1003
982
|
onOpenPreview={flowPreviewButtons?.openPreview}
|
|
1004
|
-
localModuleStates={
|
|
983
|
+
localModuleStates={showJobStatus ? localModuleStates : {}}
|
|
984
|
+
{showJobStatus}
|
|
985
|
+
testModuleStates={modulesTestStates}
|
|
1005
986
|
isOwner={flowPreviewContent?.getIsOwner()}
|
|
1006
987
|
onTestFlow={flowPreviewButtons?.runPreview}
|
|
1007
988
|
isRunning={flowPreviewContent?.getIsRunning()}
|
|
1008
989
|
onCancelTestFlow={flowPreviewContent?.cancelTest}
|
|
1009
|
-
onHideJobStatus={
|
|
1010
|
-
|
|
990
|
+
onHideJobStatus={() => {
|
|
991
|
+
modulesTestStates.hideJobsInGraph()
|
|
992
|
+
showJobStatus = false
|
|
993
|
+
}}
|
|
1011
994
|
{job}
|
|
1012
|
-
{localDurationStatuses}
|
|
1013
995
|
{suspendStatus}
|
|
1014
|
-
{showJobStatus}
|
|
1015
996
|
onDelete={(id) => {
|
|
1016
|
-
delete
|
|
997
|
+
delete localModuleStates[id]
|
|
998
|
+
delete modulesTestStates.states[id]
|
|
1017
999
|
}}
|
|
1018
1000
|
{flowHasChanged}
|
|
1019
1001
|
/>
|
|
@@ -132,6 +132,8 @@ let codeViewer;
|
|
|
132
132
|
Inline {stepDetail.value.language} script
|
|
133
133
|
{:else if stepDetail.value.type == 'script'}
|
|
134
134
|
Workspace script
|
|
135
|
+
{:else if stepDetail.value.type == 'aiagent'}
|
|
136
|
+
AI Agent
|
|
135
137
|
{/if}
|
|
136
138
|
</span>
|
|
137
139
|
</div>
|
|
@@ -212,6 +214,11 @@ let codeViewer;
|
|
|
212
214
|
{:else}
|
|
213
215
|
<FlowModuleScript path={stepDetail.value.path} />
|
|
214
216
|
{/if}
|
|
217
|
+
{:else if stepDetail.value.type == 'aiagent'}
|
|
218
|
+
<div class="text-2xs">
|
|
219
|
+
<h3 class="mb-2 font-semibold mt-2">Step Inputs</h3>
|
|
220
|
+
<InputTransformsViewer inputTransforms={stepDetail?.value?.input_transforms ?? {}} />
|
|
221
|
+
</div>
|
|
215
222
|
{:else if stepDetail.value.type == 'forloopflow'}
|
|
216
223
|
<div>
|
|
217
224
|
<p class="font-medium text-secondary pb-2"> Iterator expression: </p>
|
|
@@ -1,59 +1,10 @@
|
|
|
1
1
|
<script lang="ts">import { Loader2 } from 'lucide-svelte';
|
|
2
2
|
import DisplayResult from './DisplayResult.svelte';
|
|
3
3
|
import LogViewer from './LogViewer.svelte';
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
7
|
-
import { Drawer } from './common';
|
|
8
|
-
import AllFlowLogs from './AllFlowLogs.svelte';
|
|
9
|
-
import { untrack } from 'svelte';
|
|
10
|
-
let { waitingForExecutor = false, result, result_stream, logs = $bindable(), col = false, noBorder = false, loading, filename = undefined, jobId = undefined, tag = undefined, workspaceId = undefined, refreshLog = false, durationStates, downloadLogs = true, tagLabel = undefined } = $props();
|
|
11
|
-
let lastJobId = $state(undefined);
|
|
12
|
-
let drawer = $state(undefined);
|
|
13
|
-
let iteration = 0;
|
|
14
|
-
let logOffset = 0;
|
|
15
|
-
async function diffJobId() {
|
|
16
|
-
if (jobId != lastJobId) {
|
|
17
|
-
lastJobId = jobId;
|
|
18
|
-
logs = undefined;
|
|
19
|
-
logOffset = 0;
|
|
20
|
-
iteration = 0;
|
|
21
|
-
getLogs();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async function getLogs() {
|
|
25
|
-
iteration += 1;
|
|
26
|
-
if (jobId) {
|
|
27
|
-
const getUpdate = await JobService.getJobUpdates({
|
|
28
|
-
workspace: workspaceId ?? $workspaceStore,
|
|
29
|
-
id: jobId,
|
|
30
|
-
running: loading ?? false,
|
|
31
|
-
logOffset: logOffset == 0 ? (logs?.length ? logs?.length + 1 : 0) : logOffset
|
|
32
|
-
});
|
|
33
|
-
logs = (logs ?? '').concat(getUpdate.new_logs ?? '');
|
|
34
|
-
logOffset = getUpdate.log_offset ?? 0;
|
|
35
|
-
}
|
|
36
|
-
if (refreshLog) {
|
|
37
|
-
setTimeout(() => {
|
|
38
|
-
if (refreshLog) {
|
|
39
|
-
getLogs();
|
|
40
|
-
}
|
|
41
|
-
}, iteration < 10 ? 1000 : iteration < 20 ? 2000 : 5000);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
$effect(() => {
|
|
45
|
-
jobId;
|
|
46
|
-
untrack(() => {
|
|
47
|
-
jobId != lastJobId && diffJobId();
|
|
48
|
-
});
|
|
49
|
-
});
|
|
4
|
+
import AiAgentLogViewer from './AIAgentLogViewer.svelte';
|
|
5
|
+
let { waitingForExecutor = false, result, result_stream, logs, col = false, noBorder = false, loading, filename = undefined, jobId = undefined, tag = undefined, workspaceId = undefined, downloadLogs = true, tagLabel = undefined, aiAgentStatus = undefined } = $props();
|
|
50
6
|
</script>
|
|
51
7
|
|
|
52
|
-
<Drawer bind:this={drawer}>
|
|
53
|
-
<DrawerContent title="Explore all steps' logs" on:close={drawer.closeDrawer}
|
|
54
|
-
><AllFlowLogs states={durationStates} /></DrawerContent
|
|
55
|
-
>
|
|
56
|
-
</Drawer>
|
|
57
8
|
<div
|
|
58
9
|
class:border={!noBorder}
|
|
59
10
|
class="grid {!col
|
|
@@ -63,7 +14,7 @@ $effect(() => {
|
|
|
63
14
|
<div class="bg-surface {col ? '' : 'max-h-80'} p-1 overflow-auto relative">
|
|
64
15
|
<span class="text-tertiary">Result</span>
|
|
65
16
|
{#if result !== undefined || result_stream !== undefined}
|
|
66
|
-
<DisplayResult {workspaceId} {jobId} {filename} {result} {result_stream} />
|
|
17
|
+
<DisplayResult {workspaceId} {jobId} {filename} {result} {result_stream} growVertical />
|
|
67
18
|
{:else if loading}
|
|
68
19
|
<Loader2 class="animate-spin" />
|
|
69
20
|
{:else}
|
|
@@ -71,16 +22,17 @@ $effect(() => {
|
|
|
71
22
|
{/if}
|
|
72
23
|
</div>
|
|
73
24
|
<div class="overflow-auto {col ? '' : 'max-h-80'} relative">
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
25
|
+
{#if aiAgentStatus}
|
|
26
|
+
<AiAgentLogViewer {...aiAgentStatus} {workspaceId} />
|
|
27
|
+
{:else}
|
|
28
|
+
<LogViewer
|
|
29
|
+
{tagLabel}
|
|
30
|
+
download={downloadLogs}
|
|
31
|
+
content={logs ?? ''}
|
|
32
|
+
{jobId}
|
|
33
|
+
isLoading={waitingForExecutor}
|
|
34
|
+
{tag}
|
|
35
|
+
/>
|
|
36
|
+
{/if}
|
|
85
37
|
</div>
|
|
86
38
|
</div>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Writable } from 'svelte/store';
|
|
1
|
+
import type { CompletedJob, FlowModule, Job } from '../gen';
|
|
3
2
|
interface Props {
|
|
4
3
|
waitingForExecutor?: boolean;
|
|
5
4
|
result: any;
|
|
@@ -13,10 +12,17 @@ interface Props {
|
|
|
13
12
|
tag?: string | undefined;
|
|
14
13
|
workspaceId?: string | undefined;
|
|
15
14
|
refreshLog?: boolean;
|
|
16
|
-
durationStates: Writable<Record<string, DurationStatus>> | undefined;
|
|
17
15
|
downloadLogs?: boolean;
|
|
18
16
|
tagLabel?: string | undefined;
|
|
17
|
+
aiAgentStatus?: {
|
|
18
|
+
tools: FlowModule[];
|
|
19
|
+
agentJob: Partial<CompletedJob> & Pick<CompletedJob, 'id'> & {
|
|
20
|
+
type: 'CompletedJob';
|
|
21
|
+
};
|
|
22
|
+
storedToolCallJobs?: Record<number, Job>;
|
|
23
|
+
onToolJobLoaded?: (job: Job, idx: number) => void;
|
|
24
|
+
};
|
|
19
25
|
}
|
|
20
|
-
declare const FlowJobResult: import("svelte").Component<Props, {}, "
|
|
26
|
+
declare const FlowJobResult: import("svelte").Component<Props, {}, "">;
|
|
21
27
|
type FlowJobResult = ReturnType<typeof FlowJobResult>;
|
|
22
28
|
export default FlowJobResult;
|