feat(core): Implement partial execution for all tool nodes (#15168)

This commit is contained in:
Benjamin Schroth
2025-05-12 12:31:17 +02:00
committed by GitHub
parent d12c7ee87f
commit 8b467e3f56
39 changed files with 1129 additions and 279 deletions

View File

@@ -118,8 +118,8 @@ import { LOGS_PANEL_STATE } from '@/components/CanvasChat/types/logs';
import { useWorkflowSaving } from '@/composables/useWorkflowSaving';
import { useBuilderStore } from '@/stores/builder.store';
import { useFoldersStore } from '@/stores/folders.store';
import { useParameterOverridesStore } from '@/stores/parameterOverrides.store';
import { hasFromAiExpressions } from '@/utils/nodes/nodeTransforms';
import { useAgentRequestStore } from '@/stores/agentRequest.store';
import { needsAgentInput } from '@/utils/nodes/nodeTransforms';
defineOptions({
name: 'NodeView',
@@ -172,7 +172,7 @@ const ndvStore = useNDVStore();
const templatesStore = useTemplatesStore();
const builderStore = useBuilderStore();
const foldersStore = useFoldersStore();
const parameterOverridesStore = useParameterOverridesStore();
const agentRequestStore = useAgentRequestStore();
const canvasEventBus = createEventBus<CanvasEventBusEvents>();
@@ -1166,7 +1166,7 @@ async function onRunWorkflowToNode(id: string) {
const node = workflowsStore.getNodeById(id);
if (!node) return;
if (hasFromAiExpressions(node) && nodeTypesStore.isNodesAsToolNode(node.type)) {
if (needsAgentInput(node) && nodeTypesStore.isToolNode(node.type)) {
uiStore.openModalWithData({
name: FROM_AI_PARAMETERS_MODAL_KEY,
data: {
@@ -1175,7 +1175,7 @@ async function onRunWorkflowToNode(id: string) {
});
} else {
trackRunWorkflowToNode(node);
parameterOverridesStore.clearParameterOverrides(workflowsStore.workflowId, node.id);
agentRequestStore.clearAgentRequests(workflowsStore.workflowId, node.id);
void runWorkflow({ destinationNode: node.name, source: 'Node.executeNode' });
}