windmill-components 1.531.1 → 1.537.1
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/ArgInput.svelte +69 -19
- package/package/components/Auth0Setting.svelte +8 -3
- package/package/components/Dev.svelte +5 -4
- package/package/components/DiffDrawer.svelte +2 -2
- package/package/components/DiffEditor.svelte +34 -37
- package/package/components/DiffEditor.svelte.d.ts +23 -39
- package/package/components/EditableSchemaForm.svelte +67 -67
- package/package/components/EditableSchemaForm.svelte.d.ts +3 -3
- package/package/components/Editor.svelte +32 -11
- package/package/components/Editor.svelte.d.ts +6 -0
- package/package/components/EditorBar.svelte +2 -2
- package/package/components/EditorBar.svelte.d.ts +1 -0
- package/package/components/FieldHeader.svelte +1 -1
- package/package/components/FlowBuilder.svelte +7 -4
- package/package/components/FlowPreviewContent.svelte +3 -3
- package/package/components/FlowStatusViewer.svelte +28 -0
- package/package/components/FlowStatusViewerInner.svelte +72 -20
- package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
- package/package/components/ModulePreview.svelte +2 -1
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/ModulePreviewForm.svelte +72 -65
- package/package/components/ModulePreviewResultViewer.svelte +13 -18
- package/package/components/ModuleTest.svelte +10 -6
- package/package/components/ModuleTest.svelte.d.ts +1 -0
- package/package/components/OktaSetting.svelte +8 -3
- package/package/components/Portal.svelte +11 -7
- package/package/components/Portal.svelte.d.ts +19 -39
- package/package/components/ResourceEditor.svelte +4 -0
- package/package/components/RunForm.svelte +2 -2
- package/package/components/RunForm.svelte.d.ts +1 -1
- package/package/components/RunFormAdvancedPopup.svelte +13 -1
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/ScriptBuilder.svelte +1 -1
- package/package/components/ScriptEditor.svelte +22 -7
- package/package/components/SimpleEditor.svelte +0 -1
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/apps/components/layout/AppModal.svelte +2 -2
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
- package/package/components/common/button/model.d.ts +1 -1
- package/package/components/common/drawer/Disposable.svelte +51 -30
- package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
- package/package/components/common/drawer/Drawer.svelte +15 -11
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +4 -2
- package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +4 -1
- package/package/components/copilot/MetadataGen.svelte +14 -3
- package/package/components/copilot/autocomplete/Autocompletor.js +0 -2
- package/package/components/copilot/chat/AIChat.svelte +2 -4
- package/package/components/copilot/chat/AIChatInput.svelte +3 -3
- package/package/components/copilot/chat/AIChatManager.svelte.js +24 -12
- package/package/components/copilot/chat/AvailableContextList.svelte +243 -26
- package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -1
- package/package/components/copilot/chat/ContextElementBadge.svelte +31 -15
- package/package/components/copilot/chat/ContextElementBadge.svelte.d.ts +5 -20
- package/package/components/copilot/chat/ContextManager.svelte.d.ts +15 -2
- package/package/components/copilot/chat/ContextManager.svelte.js +134 -24
- package/package/components/copilot/chat/ContextTextarea.svelte +22 -49
- package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
- package/package/components/copilot/chat/context.d.ts +19 -1
- package/package/components/copilot/chat/context.js +1 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +109 -7
- package/package/components/copilot/chat/flow/core.d.ts +13 -1
- package/package/components/copilot/chat/flow/core.js +171 -19
- package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
- package/package/components/copilot/chat/flow/uiIntents.js +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +22 -4
- package/package/components/copilot/chat/monaco-adapter.js +55 -16
- package/package/components/copilot/chat/script/core.d.ts +2 -2
- package/package/components/copilot/chat/script/core.js +54 -124
- package/package/components/copilot/chat/shared.d.ts +14 -2
- package/package/components/copilot/chat/shared.js +170 -7
- package/package/components/copilot/lib.js +12 -7
- package/package/components/copilot/shared.d.ts +1 -1
- package/package/components/copilot/shared.js +16 -10
- package/package/components/flows/FlowEditor.svelte +15 -1
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowModuleIcon.svelte +39 -0
- package/package/components/flows/FlowModuleIcon.svelte.d.ts +10 -0
- package/package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +31 -34
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +39 -44
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +16 -18
- package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
- package/package/components/flows/dfs.d.ts +1 -1
- package/package/components/flows/dfs.js +6 -6
- package/package/components/flows/flowInfers.js +7 -7
- package/package/components/flows/flowStateUtils.svelte.js +1 -2
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +12 -26
- package/package/components/flows/map/MapItem.svelte +12 -39
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
- package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
- package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
- package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
- package/package/components/flows/types.d.ts +16 -3
- package/package/components/flows/utils.js +3 -0
- package/package/components/graph/FlowGraphV2.svelte +1 -1
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
- package/package/components/propertyPicker/ObjectViewer.svelte +11 -3
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
- package/package/components/schema/AddPropertyV2.svelte +2 -7
- package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
- package/package/components/schema/EditableSchemaDrawer.svelte +109 -115
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
- package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
- package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
- package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
- package/package/components/schema/FlowPropertyEditor.svelte +83 -57
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/SchemaFormDND.svelte +11 -10
- package/package/components/schema/SchemaFormDND.svelte.d.ts +3 -2
- package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
- package/package/components/schema/jsonSchemaResource.svelte.d.ts +2 -0
- package/package/components/schema/jsonSchemaResource.svelte.js +40 -0
- package/package/components/settings/PremiumInfo.svelte +7 -2
- package/package/components/triggers/CaptureWrapper.svelte +2 -13
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
- package/package/components/triggers/TriggersWrapper.svelte +1 -0
- package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
- package/package/hubPaths.json +3 -1
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +2 -0
- package/package/stores.d.ts +1 -0
- package/package/stores.js +8 -1
- package/package/utils.d.ts +1 -1
- package/package.json +14 -14
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
|
@@ -14,6 +14,7 @@ let scriptEditorDrawer = $state();
|
|
|
14
14
|
const dispatch = createEventDispatcher();
|
|
15
15
|
export async function openDrawer(hash, cb) {
|
|
16
16
|
script = undefined;
|
|
17
|
+
closeAnyway = false;
|
|
17
18
|
scriptEditorDrawer?.openDrawer?.();
|
|
18
19
|
script = await ScriptService.getScriptByHash({
|
|
19
20
|
workspace: $workspaceStore,
|
|
@@ -64,7 +65,6 @@ let unsavedModalOpen = $state(false);
|
|
|
64
65
|
async function checkForUnsavedChanges() {
|
|
65
66
|
if (closeAnyway) {
|
|
66
67
|
scriptEditorDrawer?.closeDrawer();
|
|
67
|
-
closeAnyway = false;
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
if (savedScript && script) {
|
|
@@ -72,6 +72,7 @@ async function checkForUnsavedChanges() {
|
|
|
72
72
|
const current = cleanValueProperties(script);
|
|
73
73
|
if (orderedJsonStringify(saved) !== orderedJsonStringify(current)) {
|
|
74
74
|
unsavedModalOpen = true;
|
|
75
|
+
scriptEditorDrawer?.openDrawer();
|
|
75
76
|
}
|
|
76
77
|
else {
|
|
77
78
|
scriptEditorDrawer?.closeDrawer();
|
|
@@ -79,6 +80,7 @@ async function checkForUnsavedChanges() {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
let args = $state({});
|
|
83
|
+
let displayEditor = $state(true);
|
|
82
84
|
</script>
|
|
83
85
|
|
|
84
86
|
<ConfirmationModal
|
|
@@ -89,8 +91,9 @@ let args = $state({});
|
|
|
89
91
|
unsavedModalOpen = false
|
|
90
92
|
}}
|
|
91
93
|
on:confirmed={() => {
|
|
92
|
-
|
|
94
|
+
console.log('confirmed')
|
|
93
95
|
closeAnyway = true
|
|
96
|
+
unsavedModalOpen = false
|
|
94
97
|
scriptEditorDrawer?.closeDrawer()
|
|
95
98
|
}}
|
|
96
99
|
>
|
|
@@ -107,7 +110,7 @@ let args = $state({});
|
|
|
107
110
|
}
|
|
108
111
|
unsavedModalOpen = false
|
|
109
112
|
closeAnyway = true
|
|
110
|
-
|
|
113
|
+
displayEditor = false
|
|
111
114
|
diffDrawer?.openDrawer()
|
|
112
115
|
diffDrawer?.setDiff({
|
|
113
116
|
title: 'Saved <> Current',
|
|
@@ -133,7 +136,6 @@ let args = $state({});
|
|
|
133
136
|
bind:this={scriptEditorDrawer}
|
|
134
137
|
size="1200px"
|
|
135
138
|
on:close={() => {
|
|
136
|
-
scriptEditorDrawer?.openDrawer()
|
|
137
139
|
checkForUnsavedChanges()
|
|
138
140
|
}}
|
|
139
141
|
>
|
|
@@ -146,7 +148,7 @@ let args = $state({});
|
|
|
146
148
|
scriptEditorDrawer?.closeDrawer()
|
|
147
149
|
}}
|
|
148
150
|
>
|
|
149
|
-
{#if script}
|
|
151
|
+
{#if script && displayEditor}
|
|
150
152
|
{#key script.hash}
|
|
151
153
|
<ScriptEditor
|
|
152
154
|
showCaptures={false}
|
|
@@ -187,7 +189,7 @@ let args = $state({});
|
|
|
187
189
|
return
|
|
188
190
|
}
|
|
189
191
|
closeAnyway = true
|
|
190
|
-
|
|
192
|
+
displayEditor = false
|
|
191
193
|
diffDrawer?.openDrawer()
|
|
192
194
|
diffDrawer?.setDiff({
|
|
193
195
|
mode: 'simple',
|
|
@@ -227,10 +229,6 @@ let args = $state({});
|
|
|
227
229
|
<DiffDrawer
|
|
228
230
|
bind:this={diffDrawer}
|
|
229
231
|
on:close={() => {
|
|
230
|
-
|
|
231
|
-
scriptEditorDrawer?.openDrawer()
|
|
232
|
-
} else {
|
|
233
|
-
closeAnyway = false
|
|
234
|
-
}
|
|
232
|
+
displayEditor = true
|
|
235
233
|
}}
|
|
236
234
|
/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { FlowModule } from '../../gen';
|
|
2
|
-
export declare function dfs<T>(modules: FlowModule[], f: (x: FlowModule, modules: FlowModule[], branches: FlowModule[][]) => T,
|
|
2
|
+
export declare function dfs<T>(modules: FlowModule[], f: (x: FlowModule, modules: FlowModule[], branches: FlowModule[][]) => T, opts?: {
|
|
3
3
|
skipToolNodes?: boolean;
|
|
4
4
|
}): T[];
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export function dfs(modules, f,
|
|
1
|
+
export function dfs(modules, f, opts = {}) {
|
|
2
2
|
let result = [];
|
|
3
3
|
for (const module of modules) {
|
|
4
4
|
if (module.value.type == 'forloopflow' || module.value.type == 'whileloopflow') {
|
|
5
5
|
result = result.concat(f(module, modules, [module.value.modules]));
|
|
6
|
-
result = result.concat(dfs(module.value.modules, f));
|
|
6
|
+
result = result.concat(dfs(module.value.modules, f, opts));
|
|
7
7
|
}
|
|
8
8
|
else if (module.value.type == 'branchone') {
|
|
9
9
|
const allBranches = [module.value.default, ...module.value.branches.map((b) => b.modules)];
|
|
10
10
|
result = result.concat(f(module, modules, allBranches));
|
|
11
11
|
for (const branch of allBranches) {
|
|
12
|
-
result = result.concat(dfs(branch, f));
|
|
12
|
+
result = result.concat(dfs(branch, f, opts));
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
else if (module.value.type == 'branchall') {
|
|
16
16
|
const allBranches = module.value.branches.map((b) => b.modules);
|
|
17
17
|
result = result.concat(f(module, modules, allBranches));
|
|
18
18
|
for (const branch of allBranches) {
|
|
19
|
-
result = result.concat(dfs(branch, f));
|
|
19
|
+
result = result.concat(dfs(branch, f, opts));
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
else if (module.value.type == 'aiagent' && !skipToolNodes) {
|
|
22
|
+
else if (module.value.type == 'aiagent' && !opts.skipToolNodes) {
|
|
23
23
|
result = result.concat(f(module, modules, [module.value.tools]));
|
|
24
|
-
result = result.concat(dfs(module.value.tools, f));
|
|
24
|
+
result = result.concat(dfs(module.value.tools, f, opts));
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
27
|
result.push(f(module, modules, []));
|
|
@@ -82,27 +82,27 @@ export async function loadSchemaFromModule(module) {
|
|
|
82
82
|
}
|
|
83
83
|
]
|
|
84
84
|
},
|
|
85
|
-
system_prompt: {
|
|
86
|
-
type: 'string',
|
|
87
|
-
default: 'You are a helpful assistant'
|
|
88
|
-
},
|
|
89
85
|
user_message: {
|
|
90
86
|
type: 'string'
|
|
91
87
|
},
|
|
88
|
+
system_prompt: {
|
|
89
|
+
type: 'string'
|
|
90
|
+
},
|
|
92
91
|
max_completion_tokens: {
|
|
93
92
|
type: 'number'
|
|
94
93
|
},
|
|
95
94
|
temperature: {
|
|
96
|
-
type: 'number'
|
|
95
|
+
type: 'number',
|
|
96
|
+
description: 'Controls randomness in text generation. Range: 0.0 (deterministic) to 2.0 (random).'
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
-
required: ['provider', 'model', '
|
|
99
|
+
required: ['provider', 'model', 'user_message'],
|
|
100
100
|
type: 'object',
|
|
101
101
|
order: [
|
|
102
102
|
'provider',
|
|
103
103
|
'model',
|
|
104
|
-
'system_prompt',
|
|
105
104
|
'user_message',
|
|
105
|
+
'system_prompt',
|
|
106
106
|
'max_completion_tokens',
|
|
107
107
|
'temperature'
|
|
108
108
|
]
|
|
@@ -113,8 +113,7 @@ export async function createBranchAll(id) {
|
|
|
113
113
|
export async function createAiAgent(id) {
|
|
114
114
|
const aiAgentFlowModules = {
|
|
115
115
|
id,
|
|
116
|
-
value: { type: 'aiagent', tools: [], input_transforms: {} }
|
|
117
|
-
summary: 'AI Agent'
|
|
116
|
+
value: { type: 'aiagent', tools: [], input_transforms: {} }
|
|
118
117
|
};
|
|
119
118
|
const flowModuleState = await loadFlowModuleState(aiAgentFlowModules);
|
|
120
119
|
return [aiAgentFlowModules, flowModuleState];
|
|
@@ -37,9 +37,7 @@ let moduleTest = $state(undefined);
|
|
|
37
37
|
let testIsLoading = $state(false);
|
|
38
38
|
let hover = $state(false);
|
|
39
39
|
let connectingData = $state(undefined);
|
|
40
|
-
let lastJob = $state(undefined);
|
|
41
40
|
let outputPicker = $state(undefined);
|
|
42
|
-
let historyOpen = $state(false);
|
|
43
41
|
let testJob = $state(undefined);
|
|
44
42
|
let outputPickerBarOpen = $state(false);
|
|
45
43
|
let flowStateStore = $derived(flowEditorContext?.flowStateStore);
|
|
@@ -55,32 +53,13 @@ function updateConnectingData(id, pickableIds, flowPropPickerConfig, flowStateSt
|
|
|
55
53
|
$effect(() => {
|
|
56
54
|
updateConnectingData(id, pickableIds, $flowPropPickerConfig, flowStateStore);
|
|
57
55
|
});
|
|
58
|
-
function updateLastJob(flowStateStore) {
|
|
59
|
-
if (!flowStateStore ||
|
|
60
|
-
!id ||
|
|
61
|
-
flowStateStore.val[id]?.previewResult === 'never tested this far') {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
lastJob = {
|
|
65
|
-
id: flowStateStore.val[id]?.previewJobId ?? '',
|
|
66
|
-
result: flowStateStore.val[id]?.previewResult,
|
|
67
|
-
type: 'CompletedJob',
|
|
68
|
-
success: flowStateStore.val[id]?.previewSuccess ?? undefined
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
$effect(() => {
|
|
72
|
-
if (testJob && testJob.type === 'CompletedJob') {
|
|
73
|
-
lastJob = $state.snapshot(testJob);
|
|
74
|
-
}
|
|
75
|
-
else if (id) {
|
|
76
|
-
updateLastJob(flowStateStore);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
56
|
let isConnectingCandidate = $derived(!!id && !!$flowPropPickerConfig && !!pickableIds && Object.keys(pickableIds).includes(id));
|
|
80
57
|
const outputPickerVisible = $derived(editMode && (isConnectingCandidate || alwaysShowOutputPicker) && !!id);
|
|
81
58
|
const icon_render = $derived(icon);
|
|
82
59
|
const action = $derived(getAiModuleAction(id));
|
|
83
60
|
let testRunDropdownOpen = $state(false);
|
|
61
|
+
let outputPickerInner = $state(undefined);
|
|
62
|
+
let historyOpen = $derived.by(() => outputPickerInner?.getHistoryOpen?.() ?? false);
|
|
84
63
|
</script>
|
|
85
64
|
|
|
86
65
|
{#if deletable && id && editId}
|
|
@@ -145,7 +124,15 @@ let testRunDropdownOpen = $state(false);
|
|
|
145
124
|
{@const flowStore = flowEditorContext?.flowStore.val}
|
|
146
125
|
{@const mod = flowStore?.value ? dfsPreviousResults(id, flowStore, false)[0] : undefined}
|
|
147
126
|
{#if mod && flowStateStore?.val?.[id]}
|
|
148
|
-
<ModuleTest
|
|
127
|
+
<ModuleTest
|
|
128
|
+
bind:this={moduleTest}
|
|
129
|
+
{mod}
|
|
130
|
+
bind:testIsLoading
|
|
131
|
+
bind:testJob
|
|
132
|
+
onJobDone={() => {
|
|
133
|
+
outputPickerInner?.setJobPreview?.()
|
|
134
|
+
}}
|
|
135
|
+
/>
|
|
149
136
|
{/if}
|
|
150
137
|
{/if}
|
|
151
138
|
|
|
@@ -329,7 +316,6 @@ let testRunDropdownOpen = $state(false);
|
|
|
329
316
|
prefix={'results'}
|
|
330
317
|
connectingData={isConnecting ? connectingData : undefined}
|
|
331
318
|
{mock}
|
|
332
|
-
{lastJob}
|
|
333
319
|
{testJob}
|
|
334
320
|
moduleId={id}
|
|
335
321
|
onSelect={selectConnection}
|
|
@@ -337,12 +323,12 @@ let testRunDropdownOpen = $state(false);
|
|
|
337
323
|
{path}
|
|
338
324
|
{loopStatus}
|
|
339
325
|
rightMargin
|
|
340
|
-
bind:derivedHistoryOpen={historyOpen}
|
|
341
326
|
historyOffset={{ mainAxis: 12, crossAxis: -9 }}
|
|
342
327
|
clazz="p-1"
|
|
343
328
|
isLoading={testIsLoading ||
|
|
344
329
|
(id ? stepHistoryLoader?.stepStates[id]?.loadingJobs : false)}
|
|
345
330
|
initial={id ? stepHistoryLoader?.stepStates[id]?.initial : undefined}
|
|
331
|
+
bind:this={outputPickerInner}
|
|
346
332
|
/>
|
|
347
333
|
{/snippet}
|
|
348
334
|
</OutputPicker>
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
<script lang="ts">import { Button } from '../../common';
|
|
2
|
-
import LanguageIcon from '../../common/languageIcons/LanguageIcon.svelte';
|
|
3
|
-
import IconedResourceType from '../../IconedResourceType.svelte';
|
|
4
|
-
import { Building, Repeat, Square, ArrowDown, GitBranch, Bot } from 'lucide-svelte';
|
|
5
2
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
6
3
|
import FlowModuleSchemaItem from './FlowModuleSchemaItem.svelte';
|
|
4
|
+
import FlowModuleIcon from '../FlowModuleIcon.svelte';
|
|
7
5
|
import { prettyLanguage } from '../../../common';
|
|
8
6
|
import { msToSec } from '../../../utils';
|
|
9
|
-
import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
10
7
|
import FlowJobsMenu from './FlowJobsMenu.svelte';
|
|
11
8
|
import { isTriggerStep } from '../../graph/graphBuilder.svelte';
|
|
12
9
|
import { checkIfParentLoop } from '../utils';
|
|
@@ -107,9 +104,7 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
|
|
|
107
104
|
{darkMode}
|
|
108
105
|
>
|
|
109
106
|
{#snippet icon()}
|
|
110
|
-
<
|
|
111
|
-
<Repeat size={16} />
|
|
112
|
-
</div>
|
|
107
|
+
<FlowModuleIcon module={mod} />
|
|
113
108
|
{/snippet}
|
|
114
109
|
</FlowModuleSchemaItem>
|
|
115
110
|
{:else if mod.value.type === 'branchone'}
|
|
@@ -130,9 +125,7 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
|
|
|
130
125
|
{darkMode}
|
|
131
126
|
>
|
|
132
127
|
{#snippet icon()}
|
|
133
|
-
<
|
|
134
|
-
<GitBranch size={16} />
|
|
135
|
-
</div>
|
|
128
|
+
<FlowModuleIcon module={mod} />
|
|
136
129
|
{/snippet}
|
|
137
130
|
</FlowModuleSchemaItem>
|
|
138
131
|
{:else if mod.value.type === 'branchall'}
|
|
@@ -153,9 +146,7 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
|
|
|
153
146
|
{darkMode}
|
|
154
147
|
>
|
|
155
148
|
{#snippet icon()}
|
|
156
|
-
<
|
|
157
|
-
<GitBranch size={16} />
|
|
158
|
-
</div>
|
|
149
|
+
<FlowModuleIcon module={mod} />
|
|
159
150
|
{/snippet}
|
|
160
151
|
</FlowModuleSchemaItem>
|
|
161
152
|
{:else}
|
|
@@ -179,6 +170,7 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
|
|
|
179
170
|
{bgColor}
|
|
180
171
|
{bgHoverColor}
|
|
181
172
|
label={mod.summary ||
|
|
173
|
+
(mod.value.type === 'aiagent' ? 'AI Agent' : undefined) ||
|
|
182
174
|
(mod.id === 'preprocessor'
|
|
183
175
|
? 'Preprocessor'
|
|
184
176
|
: mod.id.startsWith('failure')
|
|
@@ -203,32 +195,13 @@ let parentLoop = $derived(flowStore?.val && mod ? checkIfParentLoop(flowStore.va
|
|
|
203
195
|
{skipped}
|
|
204
196
|
>
|
|
205
197
|
{#snippet icon()}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
{:else if mod.value.type === 'identity'}
|
|
214
|
-
<ArrowDown size={16} />
|
|
215
|
-
{:else if mod.value.type === 'flow'}
|
|
216
|
-
<BarsStaggered size={16} />
|
|
217
|
-
{:else if mod.value.type === 'script'}
|
|
218
|
-
{#if mod.value.path.startsWith('hub/')}
|
|
219
|
-
<div>
|
|
220
|
-
<IconedResourceType
|
|
221
|
-
width="20px"
|
|
222
|
-
height="20px"
|
|
223
|
-
name={mod.value.path.split('/')[2]}
|
|
224
|
-
silent={true}
|
|
225
|
-
/>
|
|
226
|
-
</div>
|
|
227
|
-
{:else}
|
|
228
|
-
<Building size={14} />
|
|
229
|
-
{/if}
|
|
230
|
-
{/if}
|
|
231
|
-
</div>
|
|
198
|
+
{@const size =
|
|
199
|
+
mod.value.type === 'script' && mod.value.path.startsWith('hub/')
|
|
200
|
+
? 20
|
|
201
|
+
: mod.value.type === 'script'
|
|
202
|
+
? 14
|
|
203
|
+
: 16}
|
|
204
|
+
<FlowModuleIcon module={mod} {size} />
|
|
232
205
|
{/snippet}
|
|
233
206
|
</FlowModuleSchemaItem>
|
|
234
207
|
{/if}
|
|
@@ -3,11 +3,11 @@ import ObjectViewer from '../../propertyPicker/ObjectViewer.svelte';
|
|
|
3
3
|
import { twMerge } from 'tailwind-merge';
|
|
4
4
|
import { DollarSign, Pencil, RefreshCw, SquareFunction } from 'lucide-svelte';
|
|
5
5
|
let { inputTransform, id, onEditInput } = $props();
|
|
6
|
-
const { flowStore, flowStateStore,
|
|
6
|
+
const { flowStore, flowStateStore, stepsInputArgs, previewArgs } = getContext('FlowEditorContext') || {};
|
|
7
7
|
onMount(() => {
|
|
8
|
-
|
|
8
|
+
stepsInputArgs?.updateStepArgs(id, flowStateStore?.val, flowStore?.val, previewArgs?.val);
|
|
9
9
|
});
|
|
10
|
-
const input = $derived(
|
|
10
|
+
const input = $derived(stepsInputArgs?.getStepArgs(id));
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<div class="p-4 pr-6 h-full overflow-y-auto">
|
|
@@ -29,10 +29,10 @@ const input = $derived(testSteps?.getStepArgs(id));
|
|
|
29
29
|
{:else if inputTransform[key].type === 'static'}
|
|
30
30
|
<DollarSign size={12} class="text-tertiary font-mono -my-1" />
|
|
31
31
|
{/if}
|
|
32
|
-
{#if
|
|
32
|
+
{#if stepsInputArgs?.isArgManuallySet(id, key)}
|
|
33
33
|
<button
|
|
34
34
|
onclick={() => {
|
|
35
|
-
|
|
35
|
+
stepsInputArgs?.evalArg(id, key, flowStateStore?.val, flowStore?.val, previewArgs?.val)
|
|
36
36
|
}}
|
|
37
37
|
title="Re-evaluate input"
|
|
38
38
|
class="-my-1 ml-0.5 hover:text-primary dark:hover:text-primary dark:text-gray-500 text-gray-300"
|