Files
n8n-enterprise-unlocked/packages/@n8n/nodes-langchain/nodes/ToolExecutor/utils/executeTool.ts

21 lines
557 B
TypeScript

import type { StructuredTool } from 'langchain/tools';
import { type IDataObject, type INodeExecutionData } from 'n8n-workflow';
import { convertObjectBySchema } from './convertToSchema';
export async function executeTool(
tool: StructuredTool,
query: string | object,
): Promise<INodeExecutionData> {
let convertedQuery: string | object = query;
if ('schema' in tool && tool.schema) {
convertedQuery = convertObjectBySchema(query, tool.schema);
}
const result = await tool.invoke(convertedQuery);
return {
json: result as IDataObject,
};
}