n8n-workflow 2.32.1 → 2.34.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 (149) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.d.ts +1 -0
  3. package/dist/cjs/constants.d.ts.map +1 -1
  4. package/dist/cjs/constants.js +2 -1
  5. package/dist/cjs/constants.js.map +1 -1
  6. package/dist/cjs/cron.d.ts +7 -0
  7. package/dist/cjs/cron.d.ts.map +1 -1
  8. package/dist/cjs/cron.js +14 -1
  9. package/dist/cjs/cron.js.map +1 -1
  10. package/dist/cjs/errors/abstract/execution-base.error.d.ts +4 -1
  11. package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -1
  12. package/dist/cjs/errors/abstract/execution-base.error.js +7 -5
  13. package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -1
  14. package/dist/cjs/errors/abstract/node.error.d.ts +1 -1
  15. package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -1
  16. package/dist/cjs/errors/abstract/node.error.js +7 -4
  17. package/dist/cjs/errors/abstract/node.error.js.map +1 -1
  18. package/dist/cjs/expression.d.ts +1 -0
  19. package/dist/cjs/expression.d.ts.map +1 -1
  20. package/dist/cjs/expression.js +16 -0
  21. package/dist/cjs/expression.js.map +1 -1
  22. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
  23. package/dist/cjs/extensions/array-extensions.js +4 -0
  24. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  25. package/dist/cjs/index.d.ts +2 -1
  26. package/dist/cjs/index.d.ts.map +1 -1
  27. package/dist/cjs/index.js +2 -2
  28. package/dist/cjs/index.js.map +1 -1
  29. package/dist/cjs/interfaces.d.ts +110 -6
  30. package/dist/cjs/interfaces.d.ts.map +1 -1
  31. package/dist/cjs/interfaces.js.map +1 -1
  32. package/dist/cjs/message-event-bus.d.ts +2 -1
  33. package/dist/cjs/message-event-bus.d.ts.map +1 -1
  34. package/dist/cjs/message-event-bus.js +1 -0
  35. package/dist/cjs/message-event-bus.js.map +1 -1
  36. package/dist/cjs/n8n-oauth2-auth.d.ts +26 -0
  37. package/dist/cjs/n8n-oauth2-auth.d.ts.map +1 -0
  38. package/dist/cjs/n8n-oauth2-auth.js +81 -0
  39. package/dist/cjs/n8n-oauth2-auth.js.map +1 -0
  40. package/dist/cjs/native-methods/array.methods.js +1 -1
  41. package/dist/cjs/native-methods/array.methods.js.map +1 -1
  42. package/dist/cjs/node-grouping-validation.d.ts +81 -0
  43. package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
  44. package/dist/cjs/node-grouping-validation.js +159 -1
  45. package/dist/cjs/node-grouping-validation.js.map +1 -1
  46. package/dist/cjs/node-helpers.d.ts +21 -1
  47. package/dist/cjs/node-helpers.d.ts.map +1 -1
  48. package/dist/cjs/node-helpers.js +59 -1
  49. package/dist/cjs/node-helpers.js.map +1 -1
  50. package/dist/cjs/redaction-channels.d.ts +7 -0
  51. package/dist/cjs/redaction-channels.d.ts.map +1 -1
  52. package/dist/cjs/redaction-channels.js +13 -0
  53. package/dist/cjs/redaction-channels.js.map +1 -1
  54. package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts +1 -1
  55. package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts.map +1 -1
  56. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +1 -1
  57. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  58. package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
  59. package/dist/cjs/schemas.d.ts +11 -0
  60. package/dist/cjs/schemas.d.ts.map +1 -1
  61. package/dist/cjs/schemas.js +36 -1
  62. package/dist/cjs/schemas.js.map +1 -1
  63. package/dist/cjs/trigger-identity.d.ts +19 -1
  64. package/dist/cjs/trigger-identity.d.ts.map +1 -1
  65. package/dist/cjs/trigger-identity.js +22 -2
  66. package/dist/cjs/trigger-identity.js.map +1 -1
  67. package/dist/cjs/utils.d.ts +1 -3
  68. package/dist/cjs/utils.d.ts.map +1 -1
  69. package/dist/cjs/utils.js +6 -19
  70. package/dist/cjs/utils.js.map +1 -1
  71. package/dist/cjs/workflow-expression.d.ts +1 -0
  72. package/dist/cjs/workflow-expression.d.ts.map +1 -1
  73. package/dist/cjs/workflow-expression.js +3 -0
  74. package/dist/cjs/workflow-expression.js.map +1 -1
  75. package/dist/esm/constants.d.ts +1 -0
  76. package/dist/esm/constants.d.ts.map +1 -1
  77. package/dist/esm/constants.js +1 -0
  78. package/dist/esm/constants.js.map +1 -1
  79. package/dist/esm/cron.d.ts +7 -0
  80. package/dist/esm/cron.d.ts.map +1 -1
  81. package/dist/esm/cron.js +12 -0
  82. package/dist/esm/cron.js.map +1 -1
  83. package/dist/esm/errors/abstract/execution-base.error.d.ts +4 -1
  84. package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -1
  85. package/dist/esm/errors/abstract/execution-base.error.js +7 -5
  86. package/dist/esm/errors/abstract/execution-base.error.js.map +1 -1
  87. package/dist/esm/errors/abstract/node.error.d.ts +1 -1
  88. package/dist/esm/errors/abstract/node.error.d.ts.map +1 -1
  89. package/dist/esm/errors/abstract/node.error.js +7 -4
  90. package/dist/esm/errors/abstract/node.error.js.map +1 -1
  91. package/dist/esm/expression.d.ts +1 -0
  92. package/dist/esm/expression.d.ts.map +1 -1
  93. package/dist/esm/expression.js +16 -0
  94. package/dist/esm/expression.js.map +1 -1
  95. package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
  96. package/dist/esm/extensions/array-extensions.js +4 -0
  97. package/dist/esm/extensions/array-extensions.js.map +1 -1
  98. package/dist/esm/index.d.ts +2 -1
  99. package/dist/esm/index.d.ts.map +1 -1
  100. package/dist/esm/index.js +2 -1
  101. package/dist/esm/index.js.map +1 -1
  102. package/dist/esm/interfaces.d.ts +110 -6
  103. package/dist/esm/interfaces.d.ts.map +1 -1
  104. package/dist/esm/interfaces.js.map +1 -1
  105. package/dist/esm/message-event-bus.d.ts +2 -1
  106. package/dist/esm/message-event-bus.d.ts.map +1 -1
  107. package/dist/esm/message-event-bus.js +1 -0
  108. package/dist/esm/message-event-bus.js.map +1 -1
  109. package/dist/esm/n8n-oauth2-auth.d.ts +26 -0
  110. package/dist/esm/n8n-oauth2-auth.d.ts.map +1 -0
  111. package/dist/esm/n8n-oauth2-auth.js +77 -0
  112. package/dist/esm/n8n-oauth2-auth.js.map +1 -0
  113. package/dist/esm/native-methods/array.methods.js +1 -1
  114. package/dist/esm/native-methods/array.methods.js.map +1 -1
  115. package/dist/esm/node-grouping-validation.d.ts +81 -0
  116. package/dist/esm/node-grouping-validation.d.ts.map +1 -1
  117. package/dist/esm/node-grouping-validation.js +157 -0
  118. package/dist/esm/node-grouping-validation.js.map +1 -1
  119. package/dist/esm/node-helpers.d.ts +21 -1
  120. package/dist/esm/node-helpers.d.ts.map +1 -1
  121. package/dist/esm/node-helpers.js +58 -2
  122. package/dist/esm/node-helpers.js.map +1 -1
  123. package/dist/esm/redaction-channels.d.ts +7 -0
  124. package/dist/esm/redaction-channels.d.ts.map +1 -1
  125. package/dist/esm/redaction-channels.js +12 -0
  126. package/dist/esm/redaction-channels.js.map +1 -1
  127. package/dist/esm/run-execution-data/run-execution-data.v0.d.ts +1 -1
  128. package/dist/esm/run-execution-data/run-execution-data.v0.d.ts.map +1 -1
  129. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +1 -1
  130. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  131. package/dist/esm/run-execution-data/run-execution-data.v1.js.map +1 -1
  132. package/dist/esm/schemas.d.ts +11 -0
  133. package/dist/esm/schemas.d.ts.map +1 -1
  134. package/dist/esm/schemas.js +35 -1
  135. package/dist/esm/schemas.js.map +1 -1
  136. package/dist/esm/trigger-identity.d.ts +19 -1
  137. package/dist/esm/trigger-identity.d.ts.map +1 -1
  138. package/dist/esm/trigger-identity.js +23 -3
  139. package/dist/esm/trigger-identity.js.map +1 -1
  140. package/dist/esm/typecheck.tsbuildinfo +1 -1
  141. package/dist/esm/utils.d.ts +1 -3
  142. package/dist/esm/utils.d.ts.map +1 -1
  143. package/dist/esm/utils.js +4 -16
  144. package/dist/esm/utils.js.map +1 -1
  145. package/dist/esm/workflow-expression.d.ts +1 -0
  146. package/dist/esm/workflow-expression.d.ts.map +1 -1
  147. package/dist/esm/workflow-expression.js +3 -0
  148. package/dist/esm/workflow-expression.js.map +1 -1
  149. package/package.json +9 -9
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.n8nOAuth2Auth = void 0;
4
+ const errors_1 = require("./errors");
5
+ function trimTrailingSlash(url) {
6
+ return url.endsWith('/') ? url.slice(0, -1) : url;
7
+ }
8
+ function getBearerToken(headerValue) {
9
+ if (!headerValue)
10
+ return null;
11
+ const split = headerValue.split(' ');
12
+ if (split.length !== 2 || split[0].toLowerCase() !== 'bearer') {
13
+ return null;
14
+ }
15
+ return split[1];
16
+ }
17
+ function sendUnauthorizedResponse(resp, code, prmUrl, realm, error) {
18
+ const authenticateHeader = `Bearer realm="${realm}", resource_metadata="${prmUrl}"` + (error ? `, error="${error}"` : '');
19
+ resp.writeHead(code, {
20
+ 'WWW-Authenticate': authenticateHeader,
21
+ });
22
+ resp.end();
23
+ }
24
+ /**
25
+ * Validates a webhook caller's OAuth2 bearer token and resolves it to an n8n user —
26
+ * the first step of the "identity" webhook auth flow shared by the Webhook node
27
+ * and the MCP trigger — both expose it as the `n8nOAuth2` authentication mode.
28
+ *
29
+ * On success returns the validated `token` and `resource` URL, which the caller
30
+ * passes to `context.establishTriggerIdentity` to run the workflow as that user.
31
+ * When the token is missing or invalid the response is written here (401/403/503,
32
+ * advertising the OAuth protected-resource metadata URL in `WWW-Authenticate`) and
33
+ * `'handled'` is returned, so the request never reaches workflow execution.
34
+ *
35
+ * The only per-node difference is the `realm` shown in the `WWW-Authenticate`
36
+ * header (e.g. `n8n Webhook` vs `n8n MCP Server`); everything else — token
37
+ * parsing, protected-resource-metadata URL, error-code mapping — is identical and
38
+ * kept here so the two auth modes can't drift.
39
+ */
40
+ const n8nOAuth2Auth = async (context, options) => {
41
+ const webhookUrl = context.getWebhookResourceUrl('default');
42
+ if (!webhookUrl) {
43
+ throw new errors_1.UnexpectedError('Webhook URL is not available');
44
+ }
45
+ // One webhook path can host several disjoint-method triggers, so the method being
46
+ // served selects which one a resource URL names. It has to be carried on both the
47
+ // token audience (`resourceUrl`) and the metadata URL advertised in
48
+ // `WWW-Authenticate` (`prmUrl`), keeping mint and verify consistent. Omitted for
49
+ // MCP, which is always POST and needs no selector.
50
+ const resourceUrl = trimTrailingSlash(webhookUrl) +
51
+ (options.method ? `?method=${options.method.toUpperCase()}` : '');
52
+ const u = new URL(resourceUrl);
53
+ const prmUrl = `${u.origin}/.well-known/oauth-protected-resource${u.pathname}${u.search}`;
54
+ const resp = context.getResponseObject();
55
+ const req = context.getRequestObject();
56
+ const token = getBearerToken(req.headers.authorization);
57
+ if (!token) {
58
+ sendUnauthorizedResponse(resp, 401, prmUrl, options.realm);
59
+ return 'handled';
60
+ }
61
+ const validationResult = await context.validateN8nOAuth2Token(token, resourceUrl);
62
+ if (!validationResult.valid) {
63
+ if (validationResult.reason === 'invalid_token') {
64
+ sendUnauthorizedResponse(resp, 401, prmUrl, options.realm, 'invalid_token');
65
+ }
66
+ else if (validationResult.reason === 'insufficient_scope') {
67
+ sendUnauthorizedResponse(resp, 403, prmUrl, options.realm, 'insufficient_scope');
68
+ }
69
+ else {
70
+ resp.status(503).send('OAuth token validation is not available');
71
+ }
72
+ return 'handled';
73
+ }
74
+ return {
75
+ status: 'ok',
76
+ token,
77
+ resource: resourceUrl,
78
+ };
79
+ };
80
+ exports.n8nOAuth2Auth = n8nOAuth2Auth;
81
+ //# sourceMappingURL=n8n-oauth2-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n8n-oauth2-auth.js","sourceRoot":"","sources":["../../src/n8n-oauth2-auth.ts"],"names":[],"mappings":"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"}
@@ -331,7 +331,7 @@ exports.arrayMethods = {
331
331
  reverse: {
332
332
  doc: {
333
333
  name: 'reverse',
334
- description: 'Reverses the order of the elements in the array',
334
+ description: 'Returns a new array with the elements in reverse order',
335
335
  examples: [
336
336
  { example: "['dog', 'bites', 'man'].reverse()", evaluated: "['man', 'bites', 'dog']" },
337
337
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"array.methods.js","sourceRoot":"","sources":["../../../src/native-methods/array.methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.methods.js","sourceRoot":"","sources":["../../../src/native-methods/array.methods.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,87 @@ export type NodeGroupValidationResult<TNode extends INode = INode> = NodeSelecti
48
48
  type: string;
49
49
  };
50
50
  };
51
+ /**
52
+ * Single source of truth for the structural grouping rules, shared by three
53
+ * surfaces so they cannot drift:
54
+ * - `sdkReference`: the rule as stated in the SDK/MCP docs an agent reads.
55
+ * - `violation`: the fragment used in the save-path rejection message below.
56
+ *
57
+ * Only the four reasons `validateNodeSelectionForGrouping` can actually return
58
+ * live here. The per-node `multiple-input-branches` / `multiple-output-branches`
59
+ * checks are extraction-only (`validateNodeSelectionForExtraction`) and are
60
+ * deliberately absent — a group is never rejected for them.
61
+ */
62
+ export declare const NODE_GROUPING_RULES: {
63
+ readonly triggerSelected: {
64
+ readonly sdkReference: '**No trigger nodes.** Trigger nodes cannot be part of a group.';
65
+ readonly violation: 'cannot contain trigger nodes';
66
+ };
67
+ readonly invalidSubgraph: {
68
+ readonly sdkReference: string;
69
+ readonly violation: 'must form a single connected subgraph with a single entry and exit';
70
+ };
71
+ readonly nonMainBoundary: {
72
+ readonly sdkReference: string;
73
+ readonly violation: 'cannot cross the';
74
+ };
75
+ readonly nodeAlreadyGrouped: {
76
+ readonly sdkReference: '**One group per node.** A node can belong to at most one group at a time.';
77
+ readonly violation: 'contains nodes that already belong to another group';
78
+ };
79
+ };
51
80
  export declare function validateNodeSelectionForExtraction<TNode extends INode>(input: NodeGroupingValidationInput<TNode>): NodeSelectionValidationResult<TNode>;
52
81
  export declare function validateNodeSelectionForGrouping<TNode extends INode>(input: NodeGroupingValidationInput<TNode>): NodeGroupValidationResult<TNode>;
82
+ export type WorkflowGroupViolationCode = 'duplicate-group-id' | 'duplicate-group-name' | 'empty-group' | 'unknown-node-id' | 'node-in-multiple-groups' | Extract<NodeGroupValidationResult, {
83
+ valid: false;
84
+ }>['reason'];
85
+ export type WorkflowGroupViolation = {
86
+ groupId: string;
87
+ groupName: string;
88
+ code: WorkflowGroupViolationCode;
89
+ /** Actionable, user-facing description; identical to the save-path rejection message. */
90
+ message: string;
91
+ };
92
+ export type WorkflowGroupsValidationInput<TNode extends INode = INode> = {
93
+ nodes: TNode[];
94
+ connectionsBySourceNode?: IConnections;
95
+ nodeGroups?: IWorkflowGroup[];
96
+ /**
97
+ * Resolves a node to its type description (used to detect trigger nodes), or
98
+ * `undefined`/`null` for unknown node types so validation degrades gracefully.
99
+ * Pass `null` to run basic checks only.
100
+ */
101
+ getNodeType: ((node: TNode) => INodeTypeDescription | null | undefined) | null;
102
+ };
103
+ export type WorkflowGroupsValidationResult = {
104
+ valid: true;
105
+ } | {
106
+ valid: false;
107
+ violations: [WorkflowGroupViolation, ...WorkflowGroupViolation[]];
108
+ };
109
+ /**
110
+ * Validates a workflow's `nodeGroups` without throwing, collecting all violations.
111
+ * Single source of truth for group rules: persistence (CLI save path) rejects with
112
+ * the first violation's message, and validate-time surfaces (e.g. the MCP
113
+ * `validate_workflow` tool) report all of them as errors.
114
+ *
115
+ * Basic checks (always run): unique group IDs, unique group names, at least one
116
+ * member, all referenced node IDs exist, and each node belongs to at most one group.
117
+ *
118
+ * Full checks (run only when `getNodeType` is non-null, and skipped for groups that
119
+ * already have a basic violation): each group must satisfy the same grouping rules
120
+ * the canvas enforces — no triggers, a single connected subgraph, and no non-main
121
+ * connection crossing the group boundary — validated against the other groups as
122
+ * existing groups. Pass the `getNodeType` callback to run the full checks (on
123
+ * create, and on an update that changed the graph or the groups); pass `null` to
124
+ * run basic checks only (e.g. a git import, so legacy-invalid groups don't block
125
+ * the import).
126
+ *
127
+ * Violations are collected in the same order the save path checks them, so
128
+ * `violations[0]` is always the error a save would reject with.
129
+ *
130
+ * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
131
+ * since nodes created via the API may not have IDs until that step assigns them.
132
+ */
133
+ export declare function validateWorkflowGroups<TNode extends INode>({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }: WorkflowGroupsValidationInput<TNode>): WorkflowGroupsValidationResult;
53
134
  //# sourceMappingURL=node-grouping-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-grouping-validation.d.ts","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,MAAM,cAAc,CAAC;AAMtB,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED,MAAM,MAAM,2BAA2B,CAAC,KAAK,SAAS,KAAK,GAAG,KAAK,IAAI;IACtE,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,uBAAuB,EAAE,YAAY,CAAC;IACtC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,CACf,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,oBAAoB,KAC1B,KAAK,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,CAChB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,oBAAoB,KAC1B,KAAK,CAAC,kBAAkB,GAAG,wBAAwB,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,KAAK,SAAS,KAAK,GAAG,KAAK,IAClE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAAC,YAAY,EAAE,uBAAuB,CAAA;CAAE,GACzE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,sBAAsB,EAAE,CAAA;CAAE,GAC9E;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,KAAK,GAAG,KAAK,IAC9D,6BAA6B,CAAC,KAAK,CAAC,GACpC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACnE;IACA,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEL,wBAAgB,kCAAkC,CAAC,KAAK,SAAS,KAAK,EACrE,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,GACvC,6BAA6B,CAAC,KAAK,CAAC,CAuBtC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,SAAS,KAAK,EACnE,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,GACvC,yBAAyB,CAAC,KAAK,CAAC,CAyClC"}
1
+ {"version":3,"file":"node-grouping-validation.d.ts","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GROUP_DESCRIPTION_MAX_LENGTH = void 0;
3
+ exports.NODE_GROUPING_RULES = exports.GROUP_DESCRIPTION_MAX_LENGTH = void 0;
4
4
  exports.normalizeGroupDescription = normalizeGroupDescription;
5
5
  exports.validateNodeSelectionForExtraction = validateNodeSelectionForExtraction;
6
6
  exports.validateNodeSelectionForGrouping = validateNodeSelectionForGrouping;
7
+ exports.validateWorkflowGroups = validateWorkflowGroups;
7
8
  const constants_1 = require("./constants");
8
9
  const graph_utils_1 = require("./graph/graph-utils");
9
10
  const interfaces_1 = require("./interfaces");
@@ -19,6 +20,42 @@ function normalizeGroupDescription(description) {
19
20
  const capped = description.slice(0, exports.GROUP_DESCRIPTION_MAX_LENGTH);
20
21
  return capped.length > 0 ? capped : undefined;
21
22
  }
23
+ /**
24
+ * Single source of truth for the structural grouping rules, shared by three
25
+ * surfaces so they cannot drift:
26
+ * - `sdkReference`: the rule as stated in the SDK/MCP docs an agent reads.
27
+ * - `violation`: the fragment used in the save-path rejection message below.
28
+ *
29
+ * Only the four reasons `validateNodeSelectionForGrouping` can actually return
30
+ * live here. The per-node `multiple-input-branches` / `multiple-output-branches`
31
+ * checks are extraction-only (`validateNodeSelectionForExtraction`) and are
32
+ * deliberately absent — a group is never rejected for them.
33
+ */
34
+ exports.NODE_GROUPING_RULES = {
35
+ triggerSelected: {
36
+ sdkReference: '**No trigger nodes.** Trigger nodes cannot be part of a group.',
37
+ violation: 'cannot contain trigger nodes',
38
+ },
39
+ invalidSubgraph: {
40
+ sdkReference: '**One connected section with a single entry and exit.** The connectable members must ' +
41
+ 'form a single connected section of the graph — reachable from one another, not two ' +
42
+ 'unrelated islands — with at most one incoming and one outgoing main connection crossing ' +
43
+ 'the group boundary. Sticky notes may accompany the selection without participating in ' +
44
+ 'connectivity, and a sticky-only group is valid.',
45
+ violation: 'must form a single connected subgraph with a single entry and exit',
46
+ },
47
+ nonMainBoundary: {
48
+ sdkReference: '**Keep AI sub-nodes with their Agent.** If an AI Agent is in a group, its language-model, ' +
49
+ 'tool, and memory sub-nodes belong in the same group — put them either all inside the group ' +
50
+ 'or all outside it, never split. A model/tool/memory connection must not cross the group boundary.',
51
+ // Fragment: reads as `<label> cannot cross the "<type>" connection between "<a>" and "<b>".`
52
+ violation: 'cannot cross the',
53
+ },
54
+ nodeAlreadyGrouped: {
55
+ sdkReference: '**One group per node.** A node can belong to at most one group at a time.',
56
+ violation: 'contains nodes that already belong to another group',
57
+ },
58
+ };
22
59
  function validateNodeSelectionForExtraction(input) {
23
60
  const subgraphResult = validateNodeSelectionSubgraph(input);
24
61
  if (!subgraphResult.valid)
@@ -68,6 +105,127 @@ function validateNodeSelectionForGrouping(input) {
68
105
  // Report the full selection (stickies included) as the resulting subgraph.
69
106
  return { ...subgraphResult, subGraph: input.nodes };
70
107
  }
108
+ /**
109
+ * Validates a workflow's `nodeGroups` without throwing, collecting all violations.
110
+ * Single source of truth for group rules: persistence (CLI save path) rejects with
111
+ * the first violation's message, and validate-time surfaces (e.g. the MCP
112
+ * `validate_workflow` tool) report all of them as errors.
113
+ *
114
+ * Basic checks (always run): unique group IDs, unique group names, at least one
115
+ * member, all referenced node IDs exist, and each node belongs to at most one group.
116
+ *
117
+ * Full checks (run only when `getNodeType` is non-null, and skipped for groups that
118
+ * already have a basic violation): each group must satisfy the same grouping rules
119
+ * the canvas enforces — no triggers, a single connected subgraph, and no non-main
120
+ * connection crossing the group boundary — validated against the other groups as
121
+ * existing groups. Pass the `getNodeType` callback to run the full checks (on
122
+ * create, and on an update that changed the graph or the groups); pass `null` to
123
+ * run basic checks only (e.g. a git import, so legacy-invalid groups don't block
124
+ * the import).
125
+ *
126
+ * Violations are collected in the same order the save path checks them, so
127
+ * `violations[0]` is always the error a save would reject with.
128
+ *
129
+ * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
130
+ * since nodes created via the API may not have IDs until that step assigns them.
131
+ */
132
+ function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
133
+ if (!nodeGroups || nodeGroups.length === 0)
134
+ return { valid: true };
135
+ const violations = [];
136
+ // Tracked by object identity: duplicate IDs/names make `group.id` ambiguous.
137
+ const groupsWithBasicViolations = new Set();
138
+ const addViolation = (group, code, message) => {
139
+ violations.push({ groupId: group.id, groupName: group.name, code, message });
140
+ };
141
+ const nodeById = new Map(nodes.filter((node) => Boolean(node.id)).map((node) => [node.id, node]));
142
+ // Node names are how users and agents identify nodes, so messages use them;
143
+ // the id is only a fallback for members without a resolvable name.
144
+ const nodeLabel = (nodeId) => nodeById.get(nodeId)?.name || nodeId;
145
+ const seenGroupIds = new Set();
146
+ const seenGroupNames = new Set();
147
+ const nodeToGroup = new Map();
148
+ for (const group of nodeGroups) {
149
+ const addBasicViolation = (code, message) => {
150
+ addViolation(group, code, message);
151
+ groupsWithBasicViolations.add(group);
152
+ };
153
+ // Unique group IDs
154
+ if (seenGroupIds.has(group.id)) {
155
+ addBasicViolation('duplicate-group-id', `Duplicate node group ID "${group.id}".`);
156
+ }
157
+ seenGroupIds.add(group.id);
158
+ // Unique group names
159
+ if (seenGroupNames.has(group.name)) {
160
+ addBasicViolation('duplicate-group-name', `Duplicate node group name "${group.name}".`);
161
+ }
162
+ seenGroupNames.add(group.name);
163
+ if (group.nodeIds.length === 0) {
164
+ addBasicViolation('empty-group', `Group "${group.name}" has no members.`);
165
+ }
166
+ for (const nodeId of group.nodeIds) {
167
+ // All referenced nodes must exist
168
+ if (!nodeById.has(nodeId)) {
169
+ addBasicViolation('unknown-node-id', `Group "${group.name}" references node ID "${nodeId}" that does not exist in the workflow.`);
170
+ continue;
171
+ }
172
+ // A node can only belong to one group
173
+ const existingGroup = nodeToGroup.get(nodeId);
174
+ if (existingGroup) {
175
+ addBasicViolation('node-in-multiple-groups', `Node "${nodeLabel(nodeId)}" belongs to multiple groups: "${existingGroup}" and "${group.name}".`);
176
+ }
177
+ else {
178
+ nodeToGroup.set(nodeId, group.name);
179
+ }
180
+ }
181
+ }
182
+ if (getNodeType) {
183
+ const connections = connectionsBySourceNode ?? {};
184
+ for (const group of nodeGroups) {
185
+ // A basic violation makes the group's member set unreliable, so the
186
+ // graph rules would only produce misleading follow-up violations.
187
+ if (groupsWithBasicViolations.has(group))
188
+ continue;
189
+ const groupNodes = group.nodeIds.flatMap((id) => nodeById.get(id) ?? []);
190
+ const result = validateNodeSelectionForGrouping({
191
+ nodes: groupNodes,
192
+ connectionsBySourceNode: connections,
193
+ getNodeType,
194
+ existingNodeGroups: nodeGroups.filter((other) => other.id !== group.id),
195
+ });
196
+ if (!result.valid) {
197
+ addViolation(group, result.reason, groupRuleViolationMessage(group, result, nodeLabel));
198
+ }
199
+ }
200
+ }
201
+ const [firstViolation, ...restViolations] = violations;
202
+ if (!firstViolation)
203
+ return { valid: true };
204
+ return { valid: false, violations: [firstViolation, ...restViolations] };
205
+ }
206
+ /**
207
+ * Maps a failed `validateNodeSelectionForGrouping` result to an actionable message
208
+ * that names the offending group and the rule it broke. These strings are the
209
+ * public save-rejection messages — change them only deliberately.
210
+ */
211
+ function groupRuleViolationMessage(group, result, nodeLabel) {
212
+ const label = `Node group "${group.name}"`;
213
+ switch (result.reason) {
214
+ case 'trigger-selected':
215
+ return `${label} ${exports.NODE_GROUPING_RULES.triggerSelected.violation}: ${result.triggers.join(', ')}.`;
216
+ case 'invalid-subgraph':
217
+ return `${label} ${exports.NODE_GROUPING_RULES.invalidSubgraph.violation}.`;
218
+ case 'node-already-grouped':
219
+ return `${label} ${exports.NODE_GROUPING_RULES.nodeAlreadyGrouped.violation}: ${result.nodeIds.map(nodeLabel).join(', ')}.`;
220
+ case 'non-main-boundary':
221
+ return `${label} ${exports.NODE_GROUPING_RULES.nonMainBoundary.violation} "${result.connection.type}" connection between "${result.connection.source}" and "${result.connection.target}".`;
222
+ // Extraction-only reasons; unreachable from grouping but required for exhaustiveness.
223
+ case 'multiple-input-branches':
224
+ return `${label} has multiple input branches at node "${result.node}".`;
225
+ case 'multiple-output-branches':
226
+ return `${label} has multiple output branches at node "${result.node}".`;
227
+ }
228
+ }
71
229
  function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, }) {
72
230
  const triggers = nodes.filter((node) => {
73
231
  const nodeType = getNodeType(node);
@@ -1 +1 @@
1
- {"version":3,"file":"node-grouping-validation.js","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-grouping-validation.js","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { IContextObject, INode, INodeCredentialDescription, INodeIssues, INodeParameters, INodeProperties, INodePropertyCollection, INodePropertyOptions, INodeType, IParameterDependencies, IVersionedNodeType, NodeParameterValue, INodeTypeDescription, INodeOutputConfiguration, INodeInputConfiguration, DisplayCondition, NodeConnectionType, ICredentialDataDecryptedObject, NodeFeaturesDefinition, NodeFeatures } from './interfaces';
1
+ import type { IContextObject, ICredentialsDisplayOptions, INode, INodeCredentialDescription, INodeIssues, INodeParameters, INodeProperties, INodePropertyCollection, INodePropertyOptions, INodeType, IParameterDependencies, IVersionedNodeType, NodeParameterValue, INodeTypeDescription, INodeOutputConfiguration, INodeInputConfiguration, DisplayCondition, NodeConnectionType, ICredentialDataDecryptedObject, NodeFeaturesDefinition, NodeFeatures } from './interfaces';
2
2
  import type { IRunExecutionData } from './run-execution-data/run-execution-data';
3
3
  import type { Workflow } from '.';
4
4
  type WorkflowForNodeHelpers = Pick<Workflow, 'expression'>;
@@ -197,5 +197,25 @@ export declare function nodeAcceptsInputType(nodeType: INodeTypeDescription, con
197
197
  * @returns True if the node supports the output type
198
198
  */
199
199
  export declare function nodeHasOutputType(nodeType: INodeTypeDescription, connectionType: string): boolean;
200
+ /**
201
+ * Parameters to write so a credential's `displayOptions.show` becomes satisfied,
202
+ * making it the active slot (e.g. `{ authentication: ['apiKey'] }` →
203
+ * `{ authentication: 'apiKey' }`). `@version` is excluded — it gates typeVersion,
204
+ * not a settable parameter. A `show` clause may accept several values; this
205
+ * returns only the first, so callers must not apply it to an already-active slot.
206
+ */
207
+ export declare function getCredentialActivationParameters(displayOptions: ICredentialsDisplayOptions | undefined): INodeParameters;
208
+ /**
209
+ * Pick the credential type a node should use for a managed (n8n-credits)
210
+ * credential and the parameters that activate it. Prefers `preferredType`, else
211
+ * the first supported declared type. An already-active candidate returns empty
212
+ * parameters, so a valid value (e.g. the second entry of a multi-value `show`
213
+ * clause) is never overwritten; candidates the node can't display (e.g.
214
+ * `@version`-gated) are skipped. Returns `undefined` when none qualifies.
215
+ */
216
+ export declare function resolveSupportedCredentialActivation(nodeTypeDescription: INodeTypeDescription, node: Pick<INode, 'typeVersion' | 'parameters'>, isSupported: (credentialType: string) => boolean, preferredType?: string): {
217
+ credentialType: string;
218
+ parameters: INodeParameters;
219
+ } | undefined;
200
220
  export {};
201
221
  //# sourceMappingURL=node-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../src/node-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../src/node-helpers.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEX,cAAc,EACd,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAE1B,WAAW,EAEX,eAAe,EACf,eAAe,EACf,uBAAuB,EAGvB,oBAAoB,EAEpB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAElB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EAEvB,gBAAgB,EAChB,kBAAkB,EAClB,8BAA8B,EAE9B,sBAAsB,EACtB,YAAY,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAUjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAGlC,KAAK,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,uBAAuB,EAyLpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG,IAAI,GAC3D,OAAO,CAQT;AAYD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,WAAW,EAAE,sBAAsB,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GACjB,YAAY,CAUd;AA0CD,eAAO,MAAM,eAAe,eACf,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,gBAC1C,kBAAkB,EAAE,YAkElC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,eAAe,GAAG,8BAA8B,EAC5D,SAAS,EAAE,eAAe,GAAG,0BAA0B,GAAG,oBAAoB,EAC9E,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,IAAI,EAAE,yFAAyF;AAClI,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,EAChD,cAAc,CAAC,EAAE,eAAe,GAAG,8BAA8B,EACjE,UAAU,GAAE,gBAAgB,GAAG,iBAAoC,WAiDnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,eAAe,GAAG,0BAA0B,GAAG,oBAAoB,EAC9E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,IAAI,EACvC,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,EAChD,UAAU,GAAE,gBAAgB,GAAG,iBAAoC,WAqBnE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACzB,gBAAgB,EAAE,iBAAiB,EACnC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,KAAK,GACV,cAAc,CA4BhB;AA0GD,KAAK,wBAAwB,GAAG;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;GASG;AAEH,wBAAgB,iBAAiB,CAChC,mBAAmB,EAAE,eAAe,EAAE,EACtC,UAAU,EAAE,eAAe,GAAG,IAAI,EAClC,cAAc,EAAE,OAAO,EACvB,mBAAmB,EAAE,OAAO,EAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,IAAI,EACvC,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,EAChD,OAAO,CAAC,EAAE,wBAAwB,GAChC,eAAe,GAAG,IAAI,CAqZxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,OAAO,UAoBxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,GAClB,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAC9B,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,GACzD,IAAI,CAIN;AAED,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,KAAK,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,wBAAwB,CAAC,GACzF,kBAAkB,EAAE,CAStB;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,oBAAoB,GAChC,KAAK,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,CAiBrD;AAED,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,oBAAoB,GAChC,KAAK,CAAC,kBAAkB,GAAG,wBAAwB,CAAC,CAkDtD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,mBAAmB,EAAE,eAAe,EAAE,EACtC,IAAI,EAAE,KAAK,EACX,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,EAChD,gBAAgB,CAAC,EAAE,MAAM,EAAE,GACzB,WAAW,GAAG,IAAI,CAyBpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,CAqB9E;AAoID;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,iDAGZ;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,eAAe,EAAE,EAC7B,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,IAAI,EACvC,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,GAC9C,oBAAoB,GAAG,eAAe,GAAG,uBAAuB,GAAG,SAAS,CAkC9E;AAMD;;;;;;GAMG;AAEH,wBAAgB,kBAAkB,CACjC,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,GAC9C,WAAW,CAuMb;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,QAoC/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,cAAc,EAAE,eAAe,EAAE,EACjC,aAAa,EAAE,eAAe,EAAE,GAC9B,IAAI,CAeN;AAED,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,OAAO,CAAC,EAAE,MAAM,GACd,SAAS,CAKX;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,oBAAoB,WAE/D;AAED,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,oBAAoB,WAYlC;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,KAAK,WAMrD;AAwCD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC9B,cAAc,EAAE,eAAe,EAC/B,mBAAmB,EAAE,oBAAoB,GACvC,MAAM,CAeR;AAcD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,wBAAgB,UAAU,CACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,EAAE,WAAkB,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,WAYtD;AAED,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,WAG/C;AAED,wBAAgB,MAAM,CACrB,mBAAmB,EAAE,oBAAoB,EACzC,UAAU,EAAE,eAAe,GACzB,OAAO,CAoBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC3B,cAAc,EAAE,eAAe,EAC/B,mBAAmB,EAAE,oBAAoB,GACvC,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,eAAe,GACzB,OAAO,CAIT;AAED;;;GAGG;AAEH,eAAO,MAAM,yBAAyB,oBACpB,oBAAoB,GAAG,IAAI,iBAC7B,eAAe,GAAG,IAAI,sBACjB,eAAe,uBAkBnC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,SAAS,EACnB,sBAAsB,CAAC,EAAE,MAAM,MAAM,GACnC,MAAM,CAkBR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAKhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,MAAM,GACpB,OAAO,CAiBT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAiBjG;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAChD,cAAc,EAAE,0BAA0B,GAAG,SAAS,GACpD,eAAe,CAajB;AAED;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CACnD,mBAAmB,EAAE,oBAAoB,EACzC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAAC,EAC/C,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,EAChD,aAAa,CAAC,EAAE,MAAM,GACpB;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAAE,GAAG,SAAS,CAqBrE"}
@@ -39,6 +39,8 @@ exports.getToolDescriptionForNode = getToolDescriptionForNode;
39
39
  exports.getSubworkflowId = getSubworkflowId;
40
40
  exports.nodeAcceptsInputType = nodeAcceptsInputType;
41
41
  exports.nodeHasOutputType = nodeHasOutputType;
42
+ exports.getCredentialActivationParameters = getCredentialActivationParameters;
43
+ exports.resolveSupportedCredentialActivation = resolveSupportedCredentialActivation;
42
44
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
43
45
  /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
44
46
  const get_1 = __importDefault(require("lodash/get"));
@@ -1410,7 +1412,11 @@ function isExecutable(workflow, node, nodeTypeData) {
1410
1412
  isTriggerNode(nodeTypeData));
1411
1413
  }
1412
1414
  function isNodeWithWorkflowSelector(node) {
1413
- return [constants_1.EXECUTE_WORKFLOW_NODE_TYPE, constants_1.WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE].includes(node.type);
1415
+ return [
1416
+ constants_1.EXECUTE_WORKFLOW_NODE_TYPE,
1417
+ constants_1.WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE,
1418
+ constants_1.RETRIEVER_WORKFLOW_LANGCHAIN_NODE_TYPE,
1419
+ ].includes(node.type);
1414
1420
  }
1415
1421
  /**
1416
1422
  * @returns An object containing either the resolved operation's action if available,
@@ -1657,4 +1663,56 @@ function nodeHasOutputType(nodeType, connectionType) {
1657
1663
  return output.type === connectionType;
1658
1664
  });
1659
1665
  }
1666
+ /**
1667
+ * Parameters to write so a credential's `displayOptions.show` becomes satisfied,
1668
+ * making it the active slot (e.g. `{ authentication: ['apiKey'] }` →
1669
+ * `{ authentication: 'apiKey' }`). `@version` is excluded — it gates typeVersion,
1670
+ * not a settable parameter. A `show` clause may accept several values; this
1671
+ * returns only the first, so callers must not apply it to an already-active slot.
1672
+ */
1673
+ function getCredentialActivationParameters(displayOptions) {
1674
+ const parameters = {};
1675
+ const show = displayOptions?.show;
1676
+ if (!show)
1677
+ return parameters;
1678
+ for (const [name, values] of Object.entries(show)) {
1679
+ if (name === '@version')
1680
+ continue;
1681
+ const value = values?.[0];
1682
+ if (value !== undefined && value !== null) {
1683
+ parameters[name] = value;
1684
+ }
1685
+ }
1686
+ return parameters;
1687
+ }
1688
+ /**
1689
+ * Pick the credential type a node should use for a managed (n8n-credits)
1690
+ * credential and the parameters that activate it. Prefers `preferredType`, else
1691
+ * the first supported declared type. An already-active candidate returns empty
1692
+ * parameters, so a valid value (e.g. the second entry of a multi-value `show`
1693
+ * clause) is never overwritten; candidates the node can't display (e.g.
1694
+ * `@version`-gated) are skipped. Returns `undefined` when none qualifies.
1695
+ */
1696
+ function resolveSupportedCredentialActivation(nodeTypeDescription, node, isSupported, preferredType) {
1697
+ const credentials = nodeTypeDescription.credentials ?? [];
1698
+ const ordered = preferredType
1699
+ ? [
1700
+ ...credentials.filter((cred) => cred.name === preferredType),
1701
+ ...credentials.filter((cred) => cred.name !== preferredType),
1702
+ ]
1703
+ : credentials;
1704
+ for (const cred of ordered) {
1705
+ if (!isSupported(cred.name))
1706
+ continue;
1707
+ if (displayParameter(node.parameters, cred, node, nodeTypeDescription)) {
1708
+ return { credentialType: cred.name, parameters: {} };
1709
+ }
1710
+ const parameters = getCredentialActivationParameters(cred.displayOptions);
1711
+ const activatedValues = { ...node.parameters, ...parameters };
1712
+ if (displayParameter(activatedValues, cred, node, nodeTypeDescription)) {
1713
+ return { credentialType: cred.name, parameters };
1714
+ }
1715
+ }
1716
+ return undefined;
1717
+ }
1660
1718
  //# sourceMappingURL=node-helpers.js.map