@n8n/ai-workflow-builder 1.6.0 → 1.7.0

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.
Files changed (32) hide show
  1. package/dist/ai-workflow-builder-agent.service.d.ts +2 -1
  2. package/dist/ai-workflow-builder-agent.service.js +8 -4
  3. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/prompts/agents/builder.prompt.js +2 -0
  6. package/dist/prompts/agents/builder.prompt.js.map +1 -1
  7. package/dist/prompts/agents/configurator.prompt.js +3 -0
  8. package/dist/prompts/agents/configurator.prompt.js.map +1 -1
  9. package/dist/prompts/shared/node-guidance/index.d.ts +1 -0
  10. package/dist/prompts/shared/node-guidance/index.js +3 -1
  11. package/dist/prompts/shared/node-guidance/index.js.map +1 -1
  12. package/dist/prompts/shared/node-guidance/webhook.d.ts +2 -0
  13. package/dist/prompts/shared/node-guidance/webhook.js +38 -0
  14. package/dist/prompts/shared/node-guidance/webhook.js.map +1 -0
  15. package/dist/session-manager.service.d.ts +2 -1
  16. package/dist/session-manager.service.js +6 -3
  17. package/dist/session-manager.service.js.map +1 -1
  18. package/dist/validation/checks/index.d.ts +1 -0
  19. package/dist/validation/checks/index.js +3 -1
  20. package/dist/validation/checks/index.js.map +1 -1
  21. package/dist/validation/checks/node-usage/index.d.ts +1 -0
  22. package/dist/validation/checks/node-usage/index.js +6 -0
  23. package/dist/validation/checks/node-usage/index.js.map +1 -0
  24. package/dist/validation/checks/node-usage/webhook-response.d.ts +3 -0
  25. package/dist/validation/checks/node-usage/webhook-response.js +57 -0
  26. package/dist/validation/checks/node-usage/webhook-response.js.map +1 -0
  27. package/dist/validation/programmatic.js +2 -0
  28. package/dist/validation/programmatic.js.map +1 -1
  29. package/dist/validation/types.d.ts +3 -1
  30. package/dist/validation/types.js +2 -0
  31. package/dist/validation/types.js.map +1 -1
  32. package/package.json +9 -9
@@ -88,6 +88,7 @@ EXAMPLES:
88
88
 
89
89
  IMPORTANT: Choose the operation that matches user intent. If unclear, pick the most likely operation based on context`;
90
90
  const STRUCTURED_OUTPUT_PARSER = node_guidance_1.structuredOutputParser.configuration;
91
+ const WEBHOOK_GUIDANCE = node_guidance_1.webhook.connections;
91
92
  const AI_CONNECTIONS = `n8n connections flow from SOURCE (output) to TARGET (input).
92
93
 
93
94
  Regular "main" connections flow: Source → Target (data flows forward)
@@ -491,6 +492,7 @@ function buildBuilderPrompt() {
491
492
  .section('initial_parameters_examples', INITIAL_PARAMETERS_EXAMPLES)
492
493
  .section('resource_operation_pattern', RESOURCE_OPERATION_PATTERN)
493
494
  .section('structured_output_parser_guidance', STRUCTURED_OUTPUT_PARSER)
495
+ .section('webhook_response_mode', WEBHOOK_GUIDANCE)
494
496
  .section('node_connections_understanding', AI_CONNECTIONS)
495
497
  .section('ai_connection_patterns', AI_CONNECTION_PATTERNS)
496
498
  .section('branching', BRANCHING)
@@ -1 +1 @@
1
- {"version":3,"file":"builder.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/builder.prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/builder.prompt.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ exports.buildRecoveryModeContext = buildRecoveryModeContext;
5
5
  exports.buildConfiguratorPrompt = buildConfiguratorPrompt;
6
6
  const data_table_helpers_1 = require("../../utils/data-table-helpers");
7
7
  const builder_1 = require("../builder");
8
+ const node_guidance_1 = require("../shared/node-guidance");
8
9
  const dataTableColumnOperationsList = data_table_helpers_1.DATA_TABLE_ROW_COLUMN_MAPPING_OPERATIONS.join(', ');
9
10
  const CONFIGURATOR_ROLE = 'You are a Configurator Agent specialized in setting up n8n node parameters.';
10
11
  const EXECUTION_SEQUENCE = `You MUST follow these steps IN ORDER. Do not skip any step.
@@ -150,6 +151,7 @@ For numeric ranges (e.g., $100-$1000):
150
151
  - Second: lte (less than or equal)
151
152
 
152
153
  Always set renameOutput: true and provide descriptive outputKey labels.`;
154
+ const WEBHOOK_CONFIGURATION = node_guidance_1.webhook.configuration;
153
155
  const RESOURCE_LOCATOR_CONFIGURATION = `RESOURCE LOCATOR PARAMETERS:
154
156
  Some node parameters use "resource locator" type. This allows user to select from dynamic lists (calendars, documents, boards, channels, etc.).
155
157
  These parameters have a specific structure in the node configuration:
@@ -248,6 +250,7 @@ function buildConfiguratorPrompt() {
248
250
  .section('data_table_configuration', DATA_TABLE_CONFIGURATION)
249
251
  .section('default_values_guide', DEFAULT_VALUES_GUIDE)
250
252
  .section('switch_node_configuration', SWITCH_NODE_CONFIGURATION)
253
+ .section('webhook_configuration', WEBHOOK_CONFIGURATION)
251
254
  .section('node_configuration_examples', NODE_CONFIGURATION_EXAMPLES)
252
255
  .section('credential_security', CREDENTIAL_SECURITY)
253
256
  .section('response_format', RESPONSE_FORMAT)
@@ -1 +1 @@
1
- {"version":3,"file":"configurator.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/configurator.prompt.ts"],"names":[],"mappings":";;;AA4PA,4DAaC;AAED,0DAmBC;AAvRD,mEAAsF;AAEtF,wCAAoC;AAEpC,MAAM,6BAA6B,GAAG,6DAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1F,MAAM,iBAAiB,GACtB,6EAA6E,CAAC;AAE/E,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;uEAoB4C,CAAC;AAExE,MAAM,uBAAuB,GAAG;;iGAEiE,CAAC;AAElG,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;qFAaqD,CAAC;AAEtF,MAAM,gBAAgB,GAAG;;;;;;;;;;;8DAWqC,CAAC;AAE/D,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;8EAsBgD,CAAC;AAE/E,MAAM,qBAAqB,GAAG;;;;;;;;;+DASiC,CAAC;AAEhE,MAAM,mBAAmB,GAAG;;;;;;;uEAO2C,CAAC;AAExE,MAAM,wBAAwB,GAAG;;;+BAGF,6BAA6B;;;;;;;;;;;;oMAYwI,CAAC;AAErM,MAAM,oBAAoB,GAAG;;;;;;;;;;4JAU+H,CAAC;AAE7J,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;wEAwBsC,CAAC;AAEzE,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;uHA2BgF,CAAC;AAExH,MAAM,2BAA2B,GAAG;;;;;;;;;;;;6DAYyB,CAAC;AAE9D,MAAM,eAAe,GAAG;;;8GAGsF,CAAC;AAE/G,MAAM,mBAAmB,GAAG;;;;;;;;;qHASyF,CAAC;AAEtH,MAAM,YAAY,GAAG;;;;qEAIgD,CAAC;AAGzD,QAAA,mBAAmB,GAAG;;;;;;;;;;;CAWlC,CAAC;AAMF,SAAgB,wBAAwB,CAAC,SAAiB,EAAE,SAAmB;IAC9E,OAAO,CACN,qCAAqC;QACrC,+BAA+B;QAC/B,uBAAuB,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;QACpI,mCAAmC;QACnC,6FAA6F;QAC7F,sDAAsD;QACtD,sGAAsG;QACtG,6EAA6E;QAC7E,wEAAwE;QACxE,wDAAwD,CACxD,CAAC;AACH,CAAC;AAED,SAAgB,uBAAuB;IACtC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;SAClC,OAAO,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,gCAAgC,EAAE,8BAA8B,CAAC;SACzE,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACvD,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACvD,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;SAC7D,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;SACrD,OAAO,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;SAC/D,OAAO,CAAC,6BAA6B,EAAE,2BAA2B,CAAC;SACnE,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,KAAK,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"configurator.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/configurator.prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export { structuredOutputParser } from './structured-output-parser';
2
+ export { webhook } from './webhook';
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.structuredOutputParser = void 0;
3
+ exports.webhook = exports.structuredOutputParser = void 0;
4
4
  var structured_output_parser_1 = require("./structured-output-parser");
5
5
  Object.defineProperty(exports, "structuredOutputParser", { enumerable: true, get: function () { return structured_output_parser_1.structuredOutputParser; } });
6
+ var webhook_1 = require("./webhook");
7
+ Object.defineProperty(exports, "webhook", { enumerable: true, get: function () { return webhook_1.webhook; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompts/shared/node-guidance/index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompts/shared/node-guidance/index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAC/B,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { NodeGuidance } from '../../../types';
2
+ export declare const webhook: NodeGuidance;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhook = void 0;
4
+ exports.webhook = {
5
+ nodeType: 'n8n-nodes-base.webhook',
6
+ usage: `Search for "Webhook" (n8n-nodes-base.webhook) when:
7
+ - Workflow needs to receive HTTP requests from external services
8
+ - API callbacks, webhooks, or HTTP endpoints are needed
9
+ - Integration requires real-time event handling from external systems`,
10
+ connections: `WEBHOOK RESPONSE MODE RULES - CRITICAL:
11
+
12
+ Response modes and their requirements:
13
+ - "onReceived" (Immediately): Responds instantly when webhook is called. No RespondToWebhook node needed.
14
+ - "lastNode" (When Last Node Finishes): Responds with data from last node. No RespondToWebhook node needed.
15
+ - "responseNode" (Using Respond to Webhook Node): REQUIRES a RespondToWebhook node connected downstream.
16
+
17
+ RULE 1: If responseMode='responseNode', you MUST add a RespondToWebhook node
18
+ RULE 2: If RespondToWebhook node exists, responseMode MUST be 'responseNode'
19
+
20
+ Pattern for custom response control:
21
+ Webhook (responseMode: responseNode) → [Processing] → RespondToWebhook`,
22
+ configuration: `WEBHOOK RESPONSE MODE CONFIGURATION:
23
+
24
+ Choose responseMode based on use case:
25
+ - "onReceived": Quick acknowledgment, processing happens async
26
+ - "lastNode": Return processed data, simple request-response flows
27
+ - "responseNode": Full control over response timing, headers, status codes
28
+
29
+ CRITICAL: When user needs to control response content/timing/headers, set responseMode='responseNode' AND add RespondToWebhook node.
30
+
31
+ When NOT to use responseNode:
32
+ - Simple acknowledgments (use 'onReceived')
33
+ - Return last node output directly (use 'lastNode')`,
34
+ recommendation: `For webhook workflows requiring custom response handling (status codes, headers, delayed response), use responseMode='responseNode' with a RespondToWebhook node.
35
+
36
+ For simple webhook acknowledgments or direct data return, use 'onReceived' or 'lastNode' modes respectively.`,
37
+ };
38
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/prompts/shared/node-guidance/webhook.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAiB;IACpC,QAAQ,EAAE,wBAAwB;IAElC,KAAK,EAAE;;;sEAG8D;IAErE,WAAW,EAAE;;;;;;;;;;;uEAWyD;IAEtE,aAAa,EAAE;;;;;;;;;;;oDAWoC;IAEnD,cAAc,EAAE;;6GAE4F;CAC5G,CAAC"}
@@ -3,10 +3,11 @@ import { Logger } from '@n8n/backend-common';
3
3
  import type { INodeTypeDescription } from 'n8n-workflow';
4
4
  import { Session } from './types/sessions';
5
5
  export declare class SessionManagerService {
6
- private readonly parsedNodeTypes;
7
6
  private readonly logger?;
8
7
  private checkpointer;
8
+ private nodeTypes;
9
9
  constructor(parsedNodeTypes: INodeTypeDescription[], logger?: Logger | undefined);
10
+ updateNodeTypes(nodeTypes: INodeTypeDescription[]): void;
10
11
  static generateThreadId(workflowId?: string, userId?: string): string;
11
12
  getCheckpointer(): MemorySaver;
12
13
  getSessions(workflowId: string | undefined, userId: string | undefined): Promise<{
@@ -18,14 +18,17 @@ const builder_tools_1 = require("./tools/builder-tools");
18
18
  const sessions_1 = require("./types/sessions");
19
19
  const stream_processor_1 = require("./utils/stream-processor");
20
20
  let SessionManagerService = SessionManagerService_1 = class SessionManagerService {
21
- parsedNodeTypes;
22
21
  logger;
23
22
  checkpointer;
23
+ nodeTypes;
24
24
  constructor(parsedNodeTypes, logger) {
25
- this.parsedNodeTypes = parsedNodeTypes;
26
25
  this.logger = logger;
26
+ this.nodeTypes = parsedNodeTypes;
27
27
  this.checkpointer = new langgraph_1.MemorySaver();
28
28
  }
29
+ updateNodeTypes(nodeTypes) {
30
+ this.nodeTypes = nodeTypes;
31
+ }
29
32
  static generateThreadId(workflowId, userId) {
30
33
  return workflowId
31
34
  ? `workflow-${workflowId}-user-${userId ?? new Date().getTime()}`
@@ -51,7 +54,7 @@ let SessionManagerService = SessionManagerService_1 = class SessionManagerServic
51
54
  ? rawMessages
52
55
  : [];
53
56
  const formattedMessages = (0, stream_processor_1.formatMessages)(messages, (0, builder_tools_1.getBuilderToolsForDisplay)({
54
- nodeTypes: this.parsedNodeTypes,
57
+ nodeTypes: this.nodeTypes,
55
58
  }));
56
59
  sessions.push({
57
60
  sessionId: threadId,
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../src/session-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,oDAAoE;AACpE,wDAA6C;AAC7C,gCAAkC;AAGlC,yDAAkE;AAClE,+CAAuF;AACvF,+DAA0D;AAGnD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAIf;IACA;IAJV,YAAY,CAAc;IAElC,YACkB,eAAuC,EACvC,MAAe;QADf,oBAAe,GAAf,eAAe,CAAwB;QACvC,WAAM,GAAN,MAAM,CAAS;QAEhC,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAW,EAAE,CAAC;IACvC,CAAC;IAKD,MAAM,CAAC,gBAAgB,CAAC,UAAmB,EAAE,MAAe;QAC3D,OAAO,UAAU;YAChB,CAAC,CAAC,YAAY,UAAU,SAAS,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;IAKD,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAKD,KAAK,CAAC,WAAW,CAChB,UAA8B,EAC9B,MAA0B;QAK1B,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,uBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAmB;gBACpC,YAAY,EAAE;oBACb,SAAS,EAAE,QAAQ;iBACnB;aACD,CAAC;YAEF,IAAI,CAAC;gBAEJ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAElE,IAAI,UAAU,EAAE,UAAU,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;oBACnE,MAAM,QAAQ,GAAuB,IAAA,mCAAwB,EAAC,WAAW,CAAC;wBACzE,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,EAAE,CAAC;oBAEN,MAAM,iBAAiB,GAAG,IAAA,iCAAc,EACvC,QAAQ,EACR,IAAA,yCAAyB,EAAC;wBACzB,SAAS,EAAE,IAAI,CAAC,eAAe;qBAC/B,CAAC,CACF,CAAC;oBAEF,QAAQ,CAAC,IAAI,CAAC;wBACb,SAAS,EAAE,QAAQ;wBACnB,QAAQ,EAAE,iBAAiB;wBAC3B,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;qBACrC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEhB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gCAAgC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrB,CAAC;IAYD,KAAK,CAAC,qBAAqB,CAC1B,UAAkB,EAClB,MAA0B,EAC1B,SAAiB;QAEjB,MAAM,QAAQ,GAAG,uBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAmB;YACpC,YAAY,EAAE;gBACb,SAAS,EAAE,QAAQ;aACnB;SACD,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,oCAAoC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClF,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;YACxE,IAAI,CAAC,IAAA,mCAAwB,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,wCAAwC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACd,CAAC;YAGD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,KAAK,SAAS,CACvD,CAAC;YAEF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAChF,OAAO,KAAK,CAAC;YACd,CAAC;YAGD,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAGzD,MAAM,iBAAiB,GAAe;gBACrC,GAAG,eAAe,CAAC,UAAU;gBAC7B,cAAc,EAAE;oBACf,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc;oBAC5C,QAAQ,EAAE,iBAAiB;iBAC3B;aACD,CAAC;YAGF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,IAAI;gBAC5C,MAAM,EAAE,QAAiB;gBACzB,IAAI,EAAE,CAAC,CAAC;gBACR,OAAO,EAAE,EAAE;aACX,CAAC;YAEF,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAEvE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE;gBACrD,QAAQ;gBACR,SAAS;gBACT,aAAa,EAAE,WAAW,CAAC,MAAM;gBACjC,QAAQ,EAAE,iBAAiB,CAAC,MAAM;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;CACD,CAAA;AA9JY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,YAAO,GAAE;4CAMkB,uBAAM;GALrB,qBAAqB,CA8JjC"}
1
+ {"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../src/session-manager.service.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,4 @@ export { validateFromAi } from './from-ai';
5
5
  export { validateNodes } from './nodes';
6
6
  export { validateTools } from './tools';
7
7
  export { validateTrigger, type TriggerEvaluationResult } from './trigger';
8
+ export { validateWebhookResponse } from './node-usage';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTrigger = exports.validateTools = exports.validateNodes = exports.validateFromAi = exports.validateCredentials = exports.validateConnections = exports.validateAgentPrompt = void 0;
3
+ exports.validateWebhookResponse = exports.validateTrigger = exports.validateTools = exports.validateNodes = exports.validateFromAi = exports.validateCredentials = exports.validateConnections = exports.validateAgentPrompt = void 0;
4
4
  var agent_prompt_1 = require("./agent-prompt");
5
5
  Object.defineProperty(exports, "validateAgentPrompt", { enumerable: true, get: function () { return agent_prompt_1.validateAgentPrompt; } });
6
6
  var connections_1 = require("./connections");
@@ -15,4 +15,6 @@ var tools_1 = require("./tools");
15
15
  Object.defineProperty(exports, "validateTools", { enumerable: true, get: function () { return tools_1.validateTools; } });
16
16
  var trigger_1 = require("./trigger");
17
17
  Object.defineProperty(exports, "validateTrigger", { enumerable: true, get: function () { return trigger_1.validateTrigger; } });
18
+ var node_usage_1 = require("./node-usage");
19
+ Object.defineProperty(exports, "validateWebhookResponse", { enumerable: true, get: function () { return node_usage_1.validateWebhookResponse; } });
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/checks/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,qCAA0E;AAAjE,0GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/checks/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,qCAA0E;AAAjE,0GAAA,eAAe,OAAA;AACxB,2CAAuD;AAA9C,qHAAA,uBAAuB,OAAA"}
@@ -0,0 +1 @@
1
+ export { validateWebhookResponse } from './webhook-response';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWebhookResponse = void 0;
4
+ var webhook_response_1 = require("./webhook-response");
5
+ Object.defineProperty(exports, "validateWebhookResponse", { enumerable: true, get: function () { return webhook_response_1.validateWebhookResponse; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validation/checks/node-usage/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA"}
@@ -0,0 +1,3 @@
1
+ import type { SimpleWorkflow } from '../../../types';
2
+ import type { ProgrammaticViolation } from '../../types';
3
+ export declare function validateWebhookResponse(workflow: SimpleWorkflow): ProgrammaticViolation[];
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWebhookResponse = validateWebhookResponse;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const WEBHOOK_NODE_TYPE = 'n8n-nodes-base.webhook';
6
+ const RESPOND_TO_WEBHOOK_NODE_TYPE = 'n8n-nodes-base.respondToWebhook';
7
+ function getResponseMode(node) {
8
+ const responseMode = node.parameters?.responseMode;
9
+ return typeof responseMode === 'string' ? responseMode : undefined;
10
+ }
11
+ function hasConnectedRespondToWebhook(webhookNodeName, respondToWebhookNodeNames, connections) {
12
+ if (!connections) {
13
+ return false;
14
+ }
15
+ const childNodes = (0, n8n_workflow_1.getChildNodes)(connections, webhookNodeName, 'ALL', -1);
16
+ return childNodes.some((nodeName) => respondToWebhookNodeNames.has(nodeName));
17
+ }
18
+ function validateWebhookResponse(workflow) {
19
+ const violations = [];
20
+ if (!workflow.nodes || workflow.nodes.length === 0) {
21
+ return violations;
22
+ }
23
+ const webhookNodes = workflow.nodes.filter((node) => node.type === WEBHOOK_NODE_TYPE);
24
+ const respondToWebhookNodes = workflow.nodes.filter((node) => node.type === RESPOND_TO_WEBHOOK_NODE_TYPE);
25
+ const respondToWebhookNodeNames = new Set(respondToWebhookNodes.map((node) => node.name));
26
+ for (const webhookNode of webhookNodes) {
27
+ const responseMode = getResponseMode(webhookNode);
28
+ const hasConnectedResponder = hasConnectedRespondToWebhook(webhookNode.name, respondToWebhookNodeNames, workflow.connections);
29
+ if (responseMode === 'responseNode' && !hasConnectedResponder) {
30
+ violations.push({
31
+ name: 'webhook-response-mode-missing-respond-node',
32
+ type: 'critical',
33
+ description: `Webhook node "${webhookNode.name}" has responseMode='responseNode' but no "Respond to Webhook" node is connected downstream. Either add and connect a "Respond to Webhook" node or change the response mode to 'onReceived' or 'lastNode'.`,
34
+ pointsDeducted: 50,
35
+ metadata: {
36
+ webhookNodeName: webhookNode.name,
37
+ webhookNodeId: webhookNode.id,
38
+ },
39
+ });
40
+ }
41
+ if (hasConnectedResponder && responseMode !== 'responseNode') {
42
+ violations.push({
43
+ name: 'webhook-response-mode-mismatch',
44
+ type: 'critical',
45
+ description: `Webhook "${webhookNode.name}" has a "Respond to Webhook" node connected downstream but responseMode='${responseMode ?? 'undefined'}'. The responseMode must be 'responseNode' for the Respond to Webhook node to work.`,
46
+ pointsDeducted: 50,
47
+ metadata: {
48
+ webhookNodeName: webhookNode.name,
49
+ webhookNodeId: webhookNode.id,
50
+ currentResponseMode: responseMode ?? 'undefined',
51
+ },
52
+ });
53
+ }
54
+ }
55
+ return violations;
56
+ }
57
+ //# sourceMappingURL=webhook-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-response.js","sourceRoot":"","sources":["../../../../src/validation/checks/node-usage/webhook-response.ts"],"names":[],"mappings":";;AAsCA,0DAuDC;AA7FD,+CAA6C;AAM7C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACnD,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AAKvE,SAAS,eAAe,CAAC,IAAgC;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;IACnD,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAKD,SAAS,4BAA4B,CACpC,eAAuB,EACvB,yBAAsC,EACtC,WAA0C;IAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,4BAAa,EAAC,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/E,CAAC;AAOD,SAAgB,uBAAuB,CAAC,QAAwB;IAC/D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;IACnB,CAAC;IAGD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IACtF,MAAM,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,4BAA4B,CACpD,CAAC;IAEF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAG1F,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,qBAAqB,GAAG,4BAA4B,CACzD,WAAW,CAAC,IAAI,EAChB,yBAAyB,EACzB,QAAQ,CAAC,WAAW,CACpB,CAAC;QAGF,IAAI,YAAY,KAAK,cAAc,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,4CAA4C;gBAClD,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,iBAAiB,WAAW,CAAC,IAAI,2MAA2M;gBACzP,cAAc,EAAE,EAAE;gBAClB,QAAQ,EAAE;oBACT,eAAe,EAAE,WAAW,CAAC,IAAI;oBACjC,aAAa,EAAE,WAAW,CAAC,EAAE;iBAC7B;aACD,CAAC,CAAC;QACJ,CAAC;QAGD,IAAI,qBAAqB,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,YAAY,WAAW,CAAC,IAAI,4EAA4E,YAAY,IAAI,WAAW,qFAAqF;gBACrO,cAAc,EAAE,EAAE;gBAClB,QAAQ,EAAE;oBACT,eAAe,EAAE,WAAW,CAAC,IAAI;oBACjC,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,mBAAmB,EAAE,YAAY,IAAI,WAAW;iBAChD;aACD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -11,6 +11,7 @@ function programmaticValidation(input, nodeTypes) {
11
11
  const toolsValidationResult = (0, checks_1.validateTools)(generatedWorkflow, nodeTypes);
12
12
  const fromAiValidationResult = (0, checks_1.validateFromAi)(generatedWorkflow, nodeTypes);
13
13
  const credentialsValidationResult = (0, checks_1.validateCredentials)(generatedWorkflow);
14
+ const nodeUsageValidationResult = (0, checks_1.validateWebhookResponse)(generatedWorkflow);
14
15
  return {
15
16
  connections: connectionsValidationResult,
16
17
  nodes: nodesValidationResult,
@@ -19,6 +20,7 @@ function programmaticValidation(input, nodeTypes) {
19
20
  tools: toolsValidationResult,
20
21
  fromAi: fromAiValidationResult,
21
22
  credentials: credentialsValidationResult,
23
+ nodeUsage: nodeUsageValidationResult,
22
24
  };
23
25
  }
24
26
  //# sourceMappingURL=programmatic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../src/validation/programmatic.ts"],"names":[],"mappings":";;AAcA,wDAuBC;AAnCD,gDAQ6B;AAI7B,SAAgB,sBAAsB,CACrC,KAAkC,EAClC,SAAiC;IAEjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEpC,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,IAAA,wBAAe,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,IAAA,uBAAc,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAE3E,OAAO;QACN,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,sBAAsB;QAC9B,WAAW,EAAE,2BAA2B;KACxC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../src/validation/programmatic.ts"],"names":[],"mappings":";;AAeA,wDAyBC;AAtCD,gDAS6B;AAI7B,SAAgB,sBAAsB,CACrC,KAAkC,EAClC,SAAiC;IAEjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEpC,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,IAAA,wBAAe,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,IAAA,uBAAc,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAC3E,MAAM,yBAAyB,GAAG,IAAA,gCAAuB,EAAC,iBAAiB,CAAC,CAAC;IAE7E,OAAO;QACN,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,sBAAsB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,SAAS,EAAE,yBAAyB;KACpC,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { INodeTypeDescription, NodeConnectionType } from 'n8n-workflow';
2
2
  import type { SimpleWorkflow } from '../types';
3
3
  export type ProgrammaticViolationType = 'critical' | 'major' | 'minor';
4
- export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "workflow-exceeds-max-nodes-limit", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections", "workflow-similarity-node-insert", "workflow-similarity-node-delete", "workflow-similarity-node-substitute", "workflow-similarity-edge-insert", "workflow-similarity-edge-delete", "workflow-similarity-edge-substitute", "workflow-similarity-evaluation-failed", "http-request-hardcoded-credentials", "set-node-credential-field", "data-table-missing-set-node"];
4
+ export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "workflow-exceeds-max-nodes-limit", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections", "workflow-similarity-node-insert", "workflow-similarity-node-delete", "workflow-similarity-node-substitute", "workflow-similarity-edge-insert", "workflow-similarity-edge-delete", "workflow-similarity-edge-substitute", "workflow-similarity-evaluation-failed", "http-request-hardcoded-credentials", "set-node-credential-field", "webhook-response-mode-missing-respond-node", "webhook-response-mode-mismatch", "data-table-missing-set-node"];
5
5
  export type ProgrammaticViolationName = (typeof PROGRAMMATIC_VIOLATION_NAMES)[number];
6
6
  export type TelemetryValidationStatus = Record<ProgrammaticViolationName, 'pass' | 'fail'>;
7
7
  export interface ProgrammaticViolation {
@@ -23,6 +23,7 @@ export interface ProgrammaticChecksResult {
23
23
  tools: ProgrammaticViolation[];
24
24
  fromAi: ProgrammaticViolation[];
25
25
  credentials: ProgrammaticViolation[];
26
+ nodeUsage: ProgrammaticViolation[];
26
27
  }
27
28
  export interface ProgrammaticEvaluationResult {
28
29
  overallScore: number;
@@ -33,6 +34,7 @@ export interface ProgrammaticEvaluationResult {
33
34
  tools: SingleEvaluatorResult;
34
35
  fromAi: SingleEvaluatorResult;
35
36
  credentials: SingleEvaluatorResult;
37
+ nodeUsage: SingleEvaluatorResult;
36
38
  similarity: SingleEvaluatorResult | null;
37
39
  }
38
40
  export interface ProgrammaticEvaluationInput {
@@ -27,6 +27,8 @@ exports.PROGRAMMATIC_VIOLATION_NAMES = [
27
27
  'workflow-similarity-evaluation-failed',
28
28
  'http-request-hardcoded-credentials',
29
29
  'set-node-credential-field',
30
+ 'webhook-response-mode-missing-respond-node',
31
+ 'webhook-response-mode-mismatch',
30
32
  'data-table-missing-set-node',
31
33
  ];
32
34
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAE7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,uCAAuC;IACvC,oCAAoC;IACpC,2BAA2B;IAC3B,6BAA6B;CACpB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAE7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,uCAAuC;IACvC,oCAAoC;IACpC,2BAA2B;IAC3B,4CAA4C;IAC5C,gCAAgC;IAChC,6BAA6B;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@n8n/ai-workflow-builder",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist/**/*",
9
- "LICENSE.md",
10
- "LICENSE_EE.md"
9
+ "LICENSE_EE.md",
10
+ "LICENSE.md"
11
11
  ],
12
12
  "exports": {
13
13
  ".": {
@@ -24,14 +24,14 @@
24
24
  "@n8n_io/ai-assistant-sdk": "1.20.0",
25
25
  "csv-parse": "5.5.0",
26
26
  "langsmith": "^0.4.2",
27
- "lodash": "4.17.21",
27
+ "lodash": "4.17.23",
28
28
  "picocolors": "1.0.1",
29
29
  "zod": "3.25.67",
30
- "@n8n/backend-common": "1.6.0",
31
- "@n8n/config": "2.5.0",
32
- "@n8n/utils": "1.22.0",
33
- "n8n-workflow": "2.6.0",
34
- "@n8n/di": "0.10.0"
30
+ "@n8n/config": "2.6.0",
31
+ "@n8n/backend-common": "1.7.0",
32
+ "@n8n/di": "0.10.0",
33
+ "@n8n/utils": "1.23.0",
34
+ "n8n-workflow": "2.7.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/cli-progress": "^3.11.5",