Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
18 lines
538 B
TypeScript
18 lines
538 B
TypeScript
import type { Tool } from '@langchain/core/tools';
|
|
import { type IDataObject, type INodeExecutionData } from 'n8n-workflow';
|
|
|
|
import { convertObjectBySchema } from './convertToSchema';
|
|
|
|
export async function executeTool(tool: Tool, 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,
|
|
};
|
|
}
|