feat: Add once for each item support for JS task runner (no-changelog) (#11109)

This commit is contained in:
Tomi Turtiainen
2024-10-07 21:18:32 +03:00
committed by GitHub
parent 1146c4e98d
commit 2bb1996738
23 changed files with 1104 additions and 142 deletions

View File

@@ -199,9 +199,9 @@ export class ToolCode implements INodeType {
let sandbox: Sandbox;
if (language === 'javaScript') {
sandbox = new JavaScriptSandbox(context, code, index, this.helpers);
sandbox = new JavaScriptSandbox(context, code, this.helpers);
} else {
sandbox = new PythonSandbox(context, code, index, this.helpers);
sandbox = new PythonSandbox(context, code, this.helpers);
}
sandbox.on(
@@ -216,7 +216,7 @@ export class ToolCode implements INodeType {
const runFunction = async (query: string | IDataObject): Promise<string> => {
const sandbox = getSandbox(query, itemIndex);
return await (sandbox.runCode() as Promise<string>);
return await sandbox.runCode<string>();
};
const toolHandler = async (query: string | IDataObject): Promise<string> => {
@@ -274,7 +274,7 @@ export class ToolCode implements INodeType {
: jsonParse<JSONSchema7>(inputSchema);
const zodSchemaSandbox = getSandboxWithZod(this, jsonSchema, 0);
const zodSchema = (await zodSchemaSandbox.runCode()) as DynamicZodObject;
const zodSchema = await zodSchemaSandbox.runCode<DynamicZodObject>();
tool = new DynamicStructuredTool<typeof zodSchema>({
schema: zodSchema,