n8n-nodes-trusera 0.8.4 → 0.8.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TruseraAgent.node.d.ts","sourceRoot":"","sources":["../../../nodes/TruseraAgent/TruseraAgent.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAOtB,qBAAa,YAAa,YAAW,SAAS;IAC5C,WAAW,EAAE,oBAAoB,CAqH/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAsPxE"}
1
+ {"version":3,"file":"TruseraAgent.node.d.ts","sourceRoot":"","sources":["../../../nodes/TruseraAgent/TruseraAgent.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAOtB,qBAAa,YAAa,YAAW,SAAS;IAC5C,WAAW,EAAE,oBAAoB,CAqH/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAgVxE"}
@@ -171,14 +171,81 @@ class TruseraAgent {
171
171
  // Get connected tools
172
172
  const rawTools = ((await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiTool, 0)) ?? []);
173
173
  const connectedTools = Array.isArray(rawTools) ? rawTools : [rawTools].filter(Boolean);
174
- // Debug: log tool details
174
+ // n8n's N8nTool objects often have empty schemas (schema.shape = {})
175
+ // because the $fromAI() expressions resolve dynamically. When the schema
176
+ // is empty, bindTools sends a function with zero parameters to OpenAI,
177
+ // and the LLM returns empty args {}.
178
+ //
179
+ // Fix: for tools with empty schemas, convert to DynamicTool via asDynamicTool()
180
+ // which embeds parameter info in the description string. Then build OpenAI
181
+ // function definitions manually with a single 'input' string parameter.
182
+ const processedTools = [];
183
+ const openAiFunctions = [];
175
184
  for (const tool of connectedTools) {
176
- console.log(`[TruseraAgent] Connected tool: ${tool.name}, type: ${tool.constructor?.name}, hasSchema: ${!!tool.schema}, schemaShape: ${tool.schema?.shape ? Object.keys(tool.schema.shape).join(',') : 'none'}`);
185
+ const schemaKeys = tool.schema?.shape ? Object.keys(tool.schema.shape) : [];
186
+ if (schemaKeys.length === 0 && typeof tool.asDynamicTool === 'function') {
187
+ // N8nTool with empty schema → convert to DynamicTool
188
+ const dynamicTool = tool.asDynamicTool();
189
+ processedTools.push(dynamicTool);
190
+ // Build OpenAI function definition with a single 'input' param
191
+ openAiFunctions.push({
192
+ type: 'function',
193
+ function: {
194
+ name: dynamicTool.name,
195
+ description: dynamicTool.description || tool.description || 'A tool',
196
+ parameters: {
197
+ type: 'object',
198
+ properties: {
199
+ input: {
200
+ type: 'string',
201
+ description: 'The input to pass to the tool. Must be a valid JSON string with the required parameters.',
202
+ },
203
+ },
204
+ required: ['input'],
205
+ },
206
+ },
207
+ });
208
+ }
209
+ else {
210
+ // Tool with proper schema → use as-is
211
+ processedTools.push(tool);
212
+ // Build function def from zod schema
213
+ const props = {};
214
+ const required = [];
215
+ if (tool.schema?.shape) {
216
+ for (const [key, zodField] of Object.entries(tool.schema.shape)) {
217
+ props[key] = {
218
+ type: 'string',
219
+ description: zodField?._def?.description ?? '',
220
+ };
221
+ if (!zodField?.isOptional?.()) {
222
+ required.push(key);
223
+ }
224
+ }
225
+ }
226
+ openAiFunctions.push({
227
+ type: 'function',
228
+ function: {
229
+ name: tool.name,
230
+ description: tool.description || 'A tool',
231
+ parameters: {
232
+ type: 'object',
233
+ properties: props,
234
+ required,
235
+ },
236
+ },
237
+ });
238
+ }
177
239
  }
178
- // Bind tools to the model — pass tool objects directly.
179
- // LangChain's bindTools() handles schema extraction internally.
180
- const modelWithTools = model.bindTools
181
- ? model.bindTools(connectedTools)
240
+ const toolDebug = processedTools.map((tool) => ({
241
+ name: tool.name,
242
+ type: tool.constructor?.name,
243
+ description: (tool.description ?? '').slice(0, 200),
244
+ }));
245
+ // Bind tools using OpenAI function format (not raw tool objects)
246
+ // This ensures proper schema is sent to the LLM regardless of tool type.
247
+ const modelWithTools = model.bind
248
+ ? model.bind({ tools: openAiFunctions })
182
249
  : model;
183
250
  // Execute for each input item
184
251
  for (let i = 0; i < items.length; i++) {
@@ -219,8 +286,15 @@ class TruseraAgent {
219
286
  toolArgs = { raw: String(toolArgsRaw) };
220
287
  }
221
288
  const callId = toolCall.id ?? `call_${iter}`;
222
- // Debug: log tool call details
223
- console.log(`[TruseraAgent] Tool call: ${toolName}, args keys: ${Object.keys(toolArgs).join(',')}, args: ${JSON.stringify(toolArgs).slice(0, 200)}`);
289
+ // Debug: capture raw tool call info
290
+ const rawToolCallDebug = {
291
+ name: toolCall.name,
292
+ fnName: toolCall.function?.name,
293
+ argsType: typeof toolArgsRaw,
294
+ argsKeys: Object.keys(toolArgs),
295
+ argsPreview: JSON.stringify(toolArgs).slice(0, 200),
296
+ callId,
297
+ };
224
298
  // ── THE KEY: Policy evaluation BEFORE tool execution ──
225
299
  const proposal = {
226
300
  toolName,
@@ -259,11 +333,18 @@ class TruseraAgent {
259
333
  if (blocked)
260
334
  break;
261
335
  // ── Policy approved — execute the actual tool ──
262
- const tool = connectedTools.find((t) => t.name === toolName);
336
+ const tool = processedTools.find((t) => t.name === toolName);
263
337
  let toolResult = '';
264
338
  if (tool) {
265
339
  try {
266
- const result = await tool.invoke(toolArgs);
340
+ // DynamicTool expects a string input; DynamicStructuredTool expects an object.
341
+ // If args has a single 'input' key (from our OpenAI function def), extract it.
342
+ let invokeArg = toolArgs;
343
+ if (toolArgs.input && Object.keys(toolArgs).length === 1) {
344
+ // Single 'input' param → pass the string directly (DynamicTool format)
345
+ invokeArg = toolArgs.input;
346
+ }
347
+ const result = await tool.invoke(invokeArg);
267
348
  toolResult = typeof result === 'string' ? result : JSON.stringify(result);
268
349
  }
269
350
  catch (err) {
@@ -284,6 +365,7 @@ class TruseraAgent {
284
365
  input: toolArgs,
285
366
  output: toolResult.slice(0, 1000),
286
367
  blocked: false,
368
+ debug: rawToolCallDebug,
287
369
  });
288
370
  }
289
371
  if (blocked)
@@ -301,6 +383,7 @@ class TruseraAgent {
301
383
  enforcement: enforcementMode,
302
384
  decision: 'blocked',
303
385
  reason: blockReason,
386
+ toolDebug,
304
387
  },
305
388
  },
306
389
  pairedItem: { item: i },
@@ -317,6 +400,7 @@ class TruseraAgent {
317
400
  enforcement: enforcementMode,
318
401
  decision: 'allowed',
319
402
  toolCallsTotal: intermediateSteps.length,
403
+ toolDebug,
320
404
  },
321
405
  },
322
406
  pairedItem: { item: i },
@@ -1 +1 @@
1
- {"version":3,"file":"TruseraAgent.node.js","sourceRoot":"","sources":["../../../nodes/TruseraAgent/TruseraAgent.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TruseraAgent.node.js","sourceRoot":"","sources":["../../../nodes/TruseraAgent/TruseraAgent.node.ts"],"names":[],"mappings":"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"}
@@ -194,15 +194,87 @@ export class TruseraAgent implements INodeType {
194
194
 
195
195
  const connectedTools = Array.isArray(rawTools) ? rawTools : [rawTools].filter(Boolean);
196
196
 
197
- // Debug: log tool details
197
+ // n8n's N8nTool objects often have empty schemas (schema.shape = {})
198
+ // because the $fromAI() expressions resolve dynamically. When the schema
199
+ // is empty, bindTools sends a function with zero parameters to OpenAI,
200
+ // and the LLM returns empty args {}.
201
+ //
202
+ // Fix: for tools with empty schemas, convert to DynamicTool via asDynamicTool()
203
+ // which embeds parameter info in the description string. Then build OpenAI
204
+ // function definitions manually with a single 'input' string parameter.
205
+ const processedTools: any[] = [];
206
+ const openAiFunctions: any[] = [];
207
+
198
208
  for (const tool of connectedTools) {
199
- console.log(`[TruseraAgent] Connected tool: ${tool.name}, type: ${tool.constructor?.name}, hasSchema: ${!!tool.schema}, schemaShape: ${tool.schema?.shape ? Object.keys(tool.schema.shape).join(',') : 'none'}`);
209
+ const schemaKeys = tool.schema?.shape ? Object.keys(tool.schema.shape) : [];
210
+
211
+ if (schemaKeys.length === 0 && typeof tool.asDynamicTool === 'function') {
212
+ // N8nTool with empty schema → convert to DynamicTool
213
+ const dynamicTool = tool.asDynamicTool();
214
+ processedTools.push(dynamicTool);
215
+
216
+ // Build OpenAI function definition with a single 'input' param
217
+ openAiFunctions.push({
218
+ type: 'function',
219
+ function: {
220
+ name: dynamicTool.name,
221
+ description: dynamicTool.description || tool.description || 'A tool',
222
+ parameters: {
223
+ type: 'object',
224
+ properties: {
225
+ input: {
226
+ type: 'string',
227
+ description: 'The input to pass to the tool. Must be a valid JSON string with the required parameters.',
228
+ },
229
+ },
230
+ required: ['input'],
231
+ },
232
+ },
233
+ });
234
+ } else {
235
+ // Tool with proper schema → use as-is
236
+ processedTools.push(tool);
237
+
238
+ // Build function def from zod schema
239
+ const props: any = {};
240
+ const required: string[] = [];
241
+ if (tool.schema?.shape) {
242
+ for (const [key, zodField] of Object.entries(tool.schema.shape)) {
243
+ props[key] = {
244
+ type: 'string',
245
+ description: (zodField as any)?._def?.description ?? '',
246
+ };
247
+ if (!(zodField as any)?.isOptional?.()) {
248
+ required.push(key);
249
+ }
250
+ }
251
+ }
252
+
253
+ openAiFunctions.push({
254
+ type: 'function',
255
+ function: {
256
+ name: tool.name,
257
+ description: tool.description || 'A tool',
258
+ parameters: {
259
+ type: 'object',
260
+ properties: props,
261
+ required,
262
+ },
263
+ },
264
+ });
265
+ }
200
266
  }
201
267
 
202
- // Bind tools to the model — pass tool objects directly.
203
- // LangChain's bindTools() handles schema extraction internally.
204
- const modelWithTools = model.bindTools
205
- ? model.bindTools(connectedTools)
268
+ const toolDebug = processedTools.map((tool: any) => ({
269
+ name: tool.name,
270
+ type: tool.constructor?.name,
271
+ description: (tool.description ?? '').slice(0, 200),
272
+ }));
273
+
274
+ // Bind tools using OpenAI function format (not raw tool objects)
275
+ // This ensures proper schema is sent to the LLM regardless of tool type.
276
+ const modelWithTools = model.bind
277
+ ? model.bind({ tools: openAiFunctions })
206
278
  : model;
207
279
 
208
280
  // Execute for each input item
@@ -251,8 +323,15 @@ export class TruseraAgent implements INodeType {
251
323
  }
252
324
  const callId = toolCall.id ?? `call_${iter}`;
253
325
 
254
- // Debug: log tool call details
255
- console.log(`[TruseraAgent] Tool call: ${toolName}, args keys: ${Object.keys(toolArgs).join(',')}, args: ${JSON.stringify(toolArgs).slice(0, 200)}`);
326
+ // Debug: capture raw tool call info
327
+ const rawToolCallDebug = {
328
+ name: toolCall.name,
329
+ fnName: toolCall.function?.name,
330
+ argsType: typeof toolArgsRaw,
331
+ argsKeys: Object.keys(toolArgs),
332
+ argsPreview: JSON.stringify(toolArgs).slice(0, 200),
333
+ callId,
334
+ };
256
335
 
257
336
  // ── THE KEY: Policy evaluation BEFORE tool execution ──
258
337
  const proposal: ToolCallProposal = {
@@ -301,12 +380,20 @@ export class TruseraAgent implements INodeType {
301
380
  if (blocked) break;
302
381
 
303
382
  // ── Policy approved — execute the actual tool ──
304
- const tool = connectedTools.find((t: any) => t.name === toolName);
383
+ const tool = processedTools.find((t: any) => t.name === toolName);
305
384
  let toolResult = '';
306
385
 
307
386
  if (tool) {
308
387
  try {
309
- const result = await tool.invoke(toolArgs);
388
+ // DynamicTool expects a string input; DynamicStructuredTool expects an object.
389
+ // If args has a single 'input' key (from our OpenAI function def), extract it.
390
+ let invokeArg: any = toolArgs;
391
+ if (toolArgs.input && Object.keys(toolArgs).length === 1) {
392
+ // Single 'input' param → pass the string directly (DynamicTool format)
393
+ invokeArg = toolArgs.input;
394
+ }
395
+
396
+ const result = await tool.invoke(invokeArg);
310
397
  toolResult = typeof result === 'string' ? result : JSON.stringify(result);
311
398
  } catch (err: any) {
312
399
  toolResult = `Error: ${err.message}`;
@@ -327,6 +414,7 @@ export class TruseraAgent implements INodeType {
327
414
  input: toolArgs,
328
415
  output: toolResult.slice(0, 1000),
329
416
  blocked: false,
417
+ debug: rawToolCallDebug,
330
418
  });
331
419
  }
332
420
 
@@ -345,6 +433,7 @@ export class TruseraAgent implements INodeType {
345
433
  enforcement: enforcementMode,
346
434
  decision: 'blocked',
347
435
  reason: blockReason,
436
+ toolDebug,
348
437
  },
349
438
  },
350
439
  pairedItem: { item: i },
@@ -360,6 +449,7 @@ export class TruseraAgent implements INodeType {
360
449
  enforcement: enforcementMode,
361
450
  decision: 'allowed',
362
451
  toolCallsTotal: intermediateSteps.length,
452
+ toolDebug,
363
453
  },
364
454
  },
365
455
  pairedItem: { item: i },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-trusera",
3
- "version": "0.8.4",
3
+ "version": "0.8.6",
4
4
  "description": "n8n community node for AI security: static scanning + runtime policy enforcement via Trusera",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",