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,77 @@
1
+ import { UnexpectedError } from './errors';
2
+ function trimTrailingSlash(url) {
3
+ return url.endsWith('/') ? url.slice(0, -1) : url;
4
+ }
5
+ function getBearerToken(headerValue) {
6
+ if (!headerValue)
7
+ return null;
8
+ const split = headerValue.split(' ');
9
+ if (split.length !== 2 || split[0].toLowerCase() !== 'bearer') {
10
+ return null;
11
+ }
12
+ return split[1];
13
+ }
14
+ function sendUnauthorizedResponse(resp, code, prmUrl, realm, error) {
15
+ const authenticateHeader = `Bearer realm="${realm}", resource_metadata="${prmUrl}"` + (error ? `, error="${error}"` : '');
16
+ resp.writeHead(code, {
17
+ 'WWW-Authenticate': authenticateHeader,
18
+ });
19
+ resp.end();
20
+ }
21
+ /**
22
+ * Validates a webhook caller's OAuth2 bearer token and resolves it to an n8n user —
23
+ * the first step of the "identity" webhook auth flow shared by the Webhook node
24
+ * and the MCP trigger — both expose it as the `n8nOAuth2` authentication mode.
25
+ *
26
+ * On success returns the validated `token` and `resource` URL, which the caller
27
+ * passes to `context.establishTriggerIdentity` to run the workflow as that user.
28
+ * When the token is missing or invalid the response is written here (401/403/503,
29
+ * advertising the OAuth protected-resource metadata URL in `WWW-Authenticate`) and
30
+ * `'handled'` is returned, so the request never reaches workflow execution.
31
+ *
32
+ * The only per-node difference is the `realm` shown in the `WWW-Authenticate`
33
+ * header (e.g. `n8n Webhook` vs `n8n MCP Server`); everything else — token
34
+ * parsing, protected-resource-metadata URL, error-code mapping — is identical and
35
+ * kept here so the two auth modes can't drift.
36
+ */
37
+ export const n8nOAuth2Auth = async (context, options) => {
38
+ const webhookUrl = context.getWebhookResourceUrl('default');
39
+ if (!webhookUrl) {
40
+ throw new UnexpectedError('Webhook URL is not available');
41
+ }
42
+ // One webhook path can host several disjoint-method triggers, so the method being
43
+ // served selects which one a resource URL names. It has to be carried on both the
44
+ // token audience (`resourceUrl`) and the metadata URL advertised in
45
+ // `WWW-Authenticate` (`prmUrl`), keeping mint and verify consistent. Omitted for
46
+ // MCP, which is always POST and needs no selector.
47
+ const resourceUrl = trimTrailingSlash(webhookUrl) +
48
+ (options.method ? `?method=${options.method.toUpperCase()}` : '');
49
+ const u = new URL(resourceUrl);
50
+ const prmUrl = `${u.origin}/.well-known/oauth-protected-resource${u.pathname}${u.search}`;
51
+ const resp = context.getResponseObject();
52
+ const req = context.getRequestObject();
53
+ const token = getBearerToken(req.headers.authorization);
54
+ if (!token) {
55
+ sendUnauthorizedResponse(resp, 401, prmUrl, options.realm);
56
+ return 'handled';
57
+ }
58
+ const validationResult = await context.validateN8nOAuth2Token(token, resourceUrl);
59
+ if (!validationResult.valid) {
60
+ if (validationResult.reason === 'invalid_token') {
61
+ sendUnauthorizedResponse(resp, 401, prmUrl, options.realm, 'invalid_token');
62
+ }
63
+ else if (validationResult.reason === 'insufficient_scope') {
64
+ sendUnauthorizedResponse(resp, 403, prmUrl, options.realm, 'insufficient_scope');
65
+ }
66
+ else {
67
+ resp.status(503).send('OAuth token validation is not available');
68
+ }
69
+ return 'handled';
70
+ }
71
+ return {
72
+ status: 'ok',
73
+ token,
74
+ resource: resourceUrl,
75
+ };
76
+ };
77
+ //# 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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"}
@@ -328,7 +328,7 @@ export const arrayMethods = {
328
328
  reverse: {
329
329
  doc: {
330
330
  name: 'reverse',
331
- description: 'Reverses the order of the elements in the array',
331
+ description: 'Returns a new array with the elements in reverse order',
332
332
  examples: [
333
333
  { example: "['dog', 'bites', 'man'].reverse()", evaluated: "['man', 'bites', 'dog']" },
334
334
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"array.methods.js","sourceRoot":"","sources":["../../../src/native-methods/array.methods.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAc;IACtC,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE;QACX,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC1B,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,qCAAqC;gBAClD,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;gBACxE,MAAM,EACL,+FAA+F;gBAChG,UAAU,EAAE,QAAQ;aACpB;SACD;KACD;IACD,SAAS,EAAE;QACV,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,QAAQ,CAAC;gBACnB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,6CAA6C;wBACtD,SAAS,EAAE,oCAAoC;qBAC/C;oBACD;wBACC,OAAO,EAAE,uCAAuC;wBAChD,SAAS,EAAE,4BAA4B;qBACvC;iBACD;gBACD,MAAM,EACL,+FAA+F;gBAChG,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,gEAAgE;wBAC7E,IAAI,EAAE,OAAO;qBACb;iBACD;aACD;SACD;QACD,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACV,mJAAmJ;gBACpJ,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,0CAA0C;wBACnD,SAAS,EAAE,UAAU;wBACrB,WAAW,EAAE,mDAAmD;qBAChE;oBACD;wBACC,OAAO,EAAE,gEAAgE;wBACzE,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,iEAAiE;qBAC9E;oBACD;wBACC,OAAO,EACN,kFAAkF;wBACnF,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,wCAAwC;qBACrD;oBACD;wBACC,OAAO,EAAE,2DAA2D;wBACpE,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,6BAA6B;qBAC1C;iBACD;gBACD,MAAM,EACL,+FAA+F;gBAChG,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,UAAU;wBAChB,WAAW,EACV,sRAAsR;wBACvR,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE;4BACL;gCACC,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,kCAAkC;gCAC/C,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,kEAAkE;gCAC/E,IAAI,EAAE,QAAQ;6BACd;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,2CAA2C;gCACxD,IAAI,EAAE,OAAO;6BACb;4BACD;gCACC,IAAI,EAAE,WAAW;gCACjB,QAAQ,EAAE,IAAI;gCACd,WAAW,EACV,+EAA+E;gCAChF,IAAI,EAAE,KAAK;6BACX;yBACD;qBACD;iBACD;aACD;SACD;QACD,IAAI,EAAE;YACL,GAAG,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,WAAW,EACV,4RAA4R;gBAC7R,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,wCAAwC;wBACjD,SAAS,EAAE,IAAI;wBACf,WAAW,EAAE,wDAAwD;qBACrE;oBACD;wBACC,OAAO,EAAE,8DAA8D;wBACvE,SAAS,EAAE,OAAO;wBAClB,WAAW,EAAE,sEAAsE;qBACnF;oBACD;wBACC,OAAO,EACN,gFAAgF;wBACjF,SAAS,EAAE,OAAO;wBAClB,WAAW,EAAE,wCAAwC;qBACrD;iBACD;gBACD,MAAM,EACL,6FAA6F;gBAC9F,UAAU,EAAE,mBAAmB;gBAC/B,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,UAAU;wBAChB,WAAW,EACV,mSAAmS;wBACpS,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE;4BACL;gCACC,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,kCAAkC;gCAC/C,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,kEAAkE;gCAC/E,IAAI,EAAE,QAAQ;6BACd;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,2CAA2C;gCACxD,IAAI,EAAE,OAAO;6BACb;4BACD;gCACC,IAAI,EAAE,WAAW;gCACjB,QAAQ,EAAE,IAAI;gCACd,WAAW,EACV,+EAA+E;gCAChF,IAAI,EAAE,KAAK;6BACX;yBACD;qBACD;iBACD;aACD;SACD;QACD,SAAS,EAAE;YACV,GAAG,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI;gBACZ,WAAW,EACV,kHAAkH;gBACnH,MAAM,EACL,kGAAkG;gBACnG,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aACxC;SACD;QACD,QAAQ,EAAE;YACT,GAAG,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,kEAAkE;gBAC/E,MAAM,EACL,iGAAiG;gBAClG,UAAU,EAAE,iBAAiB;gBAC7B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aACxC;SACD;QACD,aAAa,EAAE;YACd,GAAG,EAAE;gBACJ,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,IAAI;gBACZ,WAAW,EACV,wHAAwH;gBACzH,MAAM,EACL,sGAAsG;gBACvG,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aACxC;SACD;QACD,OAAO,EAAE;YACR,GAAG,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EACV,0HAA0H;gBAC3H,QAAQ,EAAE;oBACT,EAAE,OAAO,EAAE,uCAAuC,EAAE,SAAS,EAAE,GAAG,EAAE;oBACpE,EAAE,OAAO,EAAE,0CAA0C,EAAE,SAAS,EAAE,IAAI,EAAE;iBACxE;gBACD,MAAM,EACL,gGAAgG;gBACjG,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uBAAuB;wBACpC,IAAI,EAAE,KAAK;qBACX;oBACD;wBACC,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iCAAiC;wBAC9C,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,QAAQ;qBACd;iBACD;aACD;SACD;QACD,QAAQ,EAAE;YACT,GAAG,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAC5B,WAAW,EAAE,uEAAuE;gBACpF,QAAQ,EAAE;oBACT,EAAE,OAAO,EAAE,wCAAwC,EAAE,SAAS,EAAE,MAAM,EAAE;oBACxE,EAAE,OAAO,EAAE,2CAA2C,EAAE,SAAS,EAAE,OAAO,EAAE;iBAC5E;gBACD,MAAM,EACL,iGAAiG;gBAClG,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,mCAAmC;wBAChD,IAAI,EAAE,KAAK;qBACX;oBACD;wBACC,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iCAAiC;wBAC9C,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,QAAQ;qBACd;iBACD;aACD;SACD;QACD,IAAI,EAAE;YACL,GAAG,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,WAAW,EACV,yJAAyJ;gBAC1J,QAAQ,EAAE;oBACT,EAAE,OAAO,EAAE,uCAAuC,EAAE,SAAS,EAAE,uBAAuB,EAAE;oBACxF,EAAE,OAAO,EAAE,kCAAkC,EAAE,SAAS,EAAE,mBAAmB,EAAE;oBAC/E,EAAE,OAAO,EAAE,oCAAoC,EAAE,SAAS,EAAE,iBAAiB,EAAE;iBAC/E;gBACD,MAAM,EACL,6FAA6F;gBAC9F,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iDAAiD;wBAC9D,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,QAAQ;qBACd;iBACD;aACD;SACD;QACD,GAAG,EAAE;YACJ,GAAG,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,WAAW,EACV,kFAAkF;gBACnF,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,kCAAkC;wBAC3C,SAAS,EAAE,cAAc;wBACzB,WAAW,EAAE,oDAAoD;qBACjE;oBACD;wBACC,OAAO,EAAE,0DAA0D;wBACnE,SAAS,EAAE,2BAA2B;wBACtC,WAAW,EAAE,+DAA+D;qBAC5E;oBACD;wBACC,OAAO,EAAE,4EAA4E;wBACrF,SAAS,EAAE,2BAA2B;wBACtC,WAAW,EAAE,wCAAwC;qBACrD;iBACD;gBACD,MAAM,EACL,4FAA4F;gBAC7F,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,UAAU;wBAChB,WAAW,EACV,ySAAyS;wBAC1S,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE;4BACL;gCACC,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,kCAAkC;gCAC/C,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,kEAAkE;gCAC/E,IAAI,EAAE,QAAQ;6BACd;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,2CAA2C;gCACxD,IAAI,EAAE,OAAO;6BACb;4BACD;gCACC,IAAI,EAAE,WAAW;gCACjB,QAAQ,EAAE,IAAI;gCACd,WAAW,EACV,+EAA+E;gCAChF,IAAI,EAAE,KAAK;6BACX;yBACD;qBACD;iBACD;aACD;SACD;QACD,OAAO,EAAE;YACR,GAAG,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iDAAiD;gBAC9D,QAAQ,EAAE;oBACT,EAAE,OAAO,EAAE,mCAAmC,EAAE,SAAS,EAAE,yBAAyB,EAAE;iBACtF;gBACD,MAAM,EACL,gGAAgG;gBACjG,UAAU,EAAE,OAAO;aACnB;SACD;QACD,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACV,yOAAyO;gBAC1O,MAAM,EACL,+FAA+F;gBAChG,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,UAAU;wBAChB,WAAW,EACV,uTAAuT;wBACxT,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE;4BACL;gCACC,IAAI,EAAE,YAAY;gCAClB,WAAW,EACV,+LAA+L;gCAChM,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,aAAa;gCACnB,WAAW,EAAE,kDAAkD;gCAC/D,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,kEAAkE;gCAC/E,IAAI,EAAE,QAAQ;6BACd;4BACD;gCACC,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,2CAA2C;gCACxD,IAAI,EAAE,OAAO;6BACb;yBACD;qBACD;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,IAAI;wBACd,WAAW,EACV,0OAA0O;wBAC3O,IAAI,EAAE,KAAK;qBACX;iBACD;aACD;SACD;QACD,KAAK,EAAE;YACN,GAAG,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,WAAW,EACV,6IAA6I;gBAC9I,QAAQ,EAAE;oBACT,EAAE,OAAO,EAAE,8BAA8B,EAAE,SAAS,EAAE,cAAc,EAAE;oBACtE,EAAE,OAAO,EAAE,6BAA6B,EAAE,SAAS,EAAE,QAAQ,EAAE;oBAC/D,EAAE,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,WAAW,EAAE;oBAC/D,EAAE,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,QAAQ,EAAE;iBAC7D;gBACD,MAAM,EACL,8FAA8F;gBAC/F,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;wBACd,WAAW,EACV,0GAA0G;wBAC3G,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,QAAQ;qBACd;oBACD;wBACC,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,IAAI;wBACd,WAAW,EACV,qLAAqL;wBACtL,IAAI,EAAE,QAAQ;qBACd;iBACD;aACD;SACD;QACD,IAAI,EAAE;YACL,GAAG,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,WAAW,EACV,iJAAiJ;gBAClJ,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,6BAA6B;wBACtC,SAAS,EAAE,sBAAsB;wBACjC,WAAW,EAAE,0CAA0C;qBACvD;oBACD;wBACC,OAAO,EAAE,sCAAsC;wBAC/C,SAAS,EAAE,cAAc;wBACzB,WAAW,EAAE,0CAA0C;qBACvD;oBACD;wBACC,OAAO,EAAE,oDAAoD;wBAC7D,SAAS,EAAE,cAAc;wBACzB,WAAW,EAAE,wCAAwC;qBACrD;oBACD,EAAE,OAAO,EAAE,oCAAoC,EAAE;oBACjD,EAAE,OAAO,EAAE,4BAA4B,EAAE;oBACzC;wBACC,OAAO,EAAE,wCAAwC;wBACjD,SAAS,EAAE,sBAAsB;wBACjC,WAAW,EAAE,oCAAoC;qBACjD;oBACD;wBACC,OAAO,EACN,yFAAyF;wBAC1F,SAAS,EAAE,4CAA4C;wBACvD,WAAW,EAAE,qCAAqC;qBAClD;iBACD;gBACD,MAAM,EACL,6FAA6F;gBAC9F,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,IAAI;wBACd,WAAW,EACV,uZAAuZ;wBACxZ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE;4BACL;gCACC,IAAI,EAAE,GAAG;gCACT,WAAW,EAAE,8CAA8C;gCAC3D,IAAI,EAAE,KAAK;6BACX;4BACD;gCACC,IAAI,EAAE,GAAG;gCACT,WAAW,EAAE,+CAA+C;gCAC5D,IAAI,EAAE,KAAK;6BACX;yBACD;qBACD;iBACD;aACD;SACD;QACD,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;gBAC3F,MAAM,EACL,+FAA+F;gBAChG,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACL,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,KAAK,EAAE;oBACf,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnC;aACD;SACD;QACD,QAAQ,EAAE;YACT,GAAG,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,qEAAqE;gBAClF,MAAM,EACL,iGAAiG;gBAClG,UAAU,EAAE,QAAQ;aACpB;SACD;QACD,SAAS,EAAE;YACV,GAAG,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBACjC,WAAW,EACV,sHAAsH;gBACvH,QAAQ,EAAE;oBACT;wBACC,OAAO,EAAE,sCAAsC;wBAC/C,SAAS,EAAE,uBAAuB;wBAClC,WAAW,EAAE,2BAA2B;qBACxC;oBACD;wBACC,OAAO,EAAE,wDAAwD;wBACjE,SAAS,EAAE,0BAA0B;wBACrC,WAAW,EAAE,uCAAuC;qBACpD;oBACD;wBACC,OAAO,EAAE,0DAA0D;wBACnE,SAAS,EAAE,4BAA4B;wBACvC,WAAW,EAAE,wCAAwC;qBACrD;iBACD;gBACD,MAAM,EACL,kGAAkG;gBACnG,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE;oBACL;wBACC,IAAI,EAAE,OAAO;wBACb,WAAW,EACV,0KAA0K;wBAC3K,IAAI,EAAE,QAAQ;qBACd;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,IAAI;wBACd,WAAW,EACV,+GAA+G;wBAChH,IAAI,EAAE,QAAQ;qBACd;oBACD;wBACC,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,oCAAoC;wBACjD,IAAI,EAAE,KAAK;qBACX;iBACD;aACD;SACD;KACD;CACD,CAAC"}
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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"}
@@ -13,6 +13,42 @@ export function normalizeGroupDescription(description) {
13
13
  const capped = description.slice(0, GROUP_DESCRIPTION_MAX_LENGTH);
14
14
  return capped.length > 0 ? capped : undefined;
15
15
  }
16
+ /**
17
+ * Single source of truth for the structural grouping rules, shared by three
18
+ * surfaces so they cannot drift:
19
+ * - `sdkReference`: the rule as stated in the SDK/MCP docs an agent reads.
20
+ * - `violation`: the fragment used in the save-path rejection message below.
21
+ *
22
+ * Only the four reasons `validateNodeSelectionForGrouping` can actually return
23
+ * live here. The per-node `multiple-input-branches` / `multiple-output-branches`
24
+ * checks are extraction-only (`validateNodeSelectionForExtraction`) and are
25
+ * deliberately absent — a group is never rejected for them.
26
+ */
27
+ export const NODE_GROUPING_RULES = {
28
+ triggerSelected: {
29
+ sdkReference: '**No trigger nodes.** Trigger nodes cannot be part of a group.',
30
+ violation: 'cannot contain trigger nodes',
31
+ },
32
+ invalidSubgraph: {
33
+ sdkReference: '**One connected section with a single entry and exit.** The connectable members must ' +
34
+ 'form a single connected section of the graph — reachable from one another, not two ' +
35
+ 'unrelated islands — with at most one incoming and one outgoing main connection crossing ' +
36
+ 'the group boundary. Sticky notes may accompany the selection without participating in ' +
37
+ 'connectivity, and a sticky-only group is valid.',
38
+ violation: 'must form a single connected subgraph with a single entry and exit',
39
+ },
40
+ nonMainBoundary: {
41
+ sdkReference: '**Keep AI sub-nodes with their Agent.** If an AI Agent is in a group, its language-model, ' +
42
+ 'tool, and memory sub-nodes belong in the same group — put them either all inside the group ' +
43
+ 'or all outside it, never split. A model/tool/memory connection must not cross the group boundary.',
44
+ // Fragment: reads as `<label> cannot cross the "<type>" connection between "<a>" and "<b>".`
45
+ violation: 'cannot cross the',
46
+ },
47
+ nodeAlreadyGrouped: {
48
+ sdkReference: '**One group per node.** A node can belong to at most one group at a time.',
49
+ violation: 'contains nodes that already belong to another group',
50
+ },
51
+ };
16
52
  export function validateNodeSelectionForExtraction(input) {
17
53
  const subgraphResult = validateNodeSelectionSubgraph(input);
18
54
  if (!subgraphResult.valid)
@@ -62,6 +98,127 @@ export function validateNodeSelectionForGrouping(input) {
62
98
  // Report the full selection (stickies included) as the resulting subgraph.
63
99
  return { ...subgraphResult, subGraph: input.nodes };
64
100
  }
101
+ /**
102
+ * Validates a workflow's `nodeGroups` without throwing, collecting all violations.
103
+ * Single source of truth for group rules: persistence (CLI save path) rejects with
104
+ * the first violation's message, and validate-time surfaces (e.g. the MCP
105
+ * `validate_workflow` tool) report all of them as errors.
106
+ *
107
+ * Basic checks (always run): unique group IDs, unique group names, at least one
108
+ * member, all referenced node IDs exist, and each node belongs to at most one group.
109
+ *
110
+ * Full checks (run only when `getNodeType` is non-null, and skipped for groups that
111
+ * already have a basic violation): each group must satisfy the same grouping rules
112
+ * the canvas enforces — no triggers, a single connected subgraph, and no non-main
113
+ * connection crossing the group boundary — validated against the other groups as
114
+ * existing groups. Pass the `getNodeType` callback to run the full checks (on
115
+ * create, and on an update that changed the graph or the groups); pass `null` to
116
+ * run basic checks only (e.g. a git import, so legacy-invalid groups don't block
117
+ * the import).
118
+ *
119
+ * Violations are collected in the same order the save path checks them, so
120
+ * `violations[0]` is always the error a save would reject with.
121
+ *
122
+ * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
123
+ * since nodes created via the API may not have IDs until that step assigns them.
124
+ */
125
+ export function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
126
+ if (!nodeGroups || nodeGroups.length === 0)
127
+ return { valid: true };
128
+ const violations = [];
129
+ // Tracked by object identity: duplicate IDs/names make `group.id` ambiguous.
130
+ const groupsWithBasicViolations = new Set();
131
+ const addViolation = (group, code, message) => {
132
+ violations.push({ groupId: group.id, groupName: group.name, code, message });
133
+ };
134
+ const nodeById = new Map(nodes.filter((node) => Boolean(node.id)).map((node) => [node.id, node]));
135
+ // Node names are how users and agents identify nodes, so messages use them;
136
+ // the id is only a fallback for members without a resolvable name.
137
+ const nodeLabel = (nodeId) => nodeById.get(nodeId)?.name || nodeId;
138
+ const seenGroupIds = new Set();
139
+ const seenGroupNames = new Set();
140
+ const nodeToGroup = new Map();
141
+ for (const group of nodeGroups) {
142
+ const addBasicViolation = (code, message) => {
143
+ addViolation(group, code, message);
144
+ groupsWithBasicViolations.add(group);
145
+ };
146
+ // Unique group IDs
147
+ if (seenGroupIds.has(group.id)) {
148
+ addBasicViolation('duplicate-group-id', `Duplicate node group ID "${group.id}".`);
149
+ }
150
+ seenGroupIds.add(group.id);
151
+ // Unique group names
152
+ if (seenGroupNames.has(group.name)) {
153
+ addBasicViolation('duplicate-group-name', `Duplicate node group name "${group.name}".`);
154
+ }
155
+ seenGroupNames.add(group.name);
156
+ if (group.nodeIds.length === 0) {
157
+ addBasicViolation('empty-group', `Group "${group.name}" has no members.`);
158
+ }
159
+ for (const nodeId of group.nodeIds) {
160
+ // All referenced nodes must exist
161
+ if (!nodeById.has(nodeId)) {
162
+ addBasicViolation('unknown-node-id', `Group "${group.name}" references node ID "${nodeId}" that does not exist in the workflow.`);
163
+ continue;
164
+ }
165
+ // A node can only belong to one group
166
+ const existingGroup = nodeToGroup.get(nodeId);
167
+ if (existingGroup) {
168
+ addBasicViolation('node-in-multiple-groups', `Node "${nodeLabel(nodeId)}" belongs to multiple groups: "${existingGroup}" and "${group.name}".`);
169
+ }
170
+ else {
171
+ nodeToGroup.set(nodeId, group.name);
172
+ }
173
+ }
174
+ }
175
+ if (getNodeType) {
176
+ const connections = connectionsBySourceNode ?? {};
177
+ for (const group of nodeGroups) {
178
+ // A basic violation makes the group's member set unreliable, so the
179
+ // graph rules would only produce misleading follow-up violations.
180
+ if (groupsWithBasicViolations.has(group))
181
+ continue;
182
+ const groupNodes = group.nodeIds.flatMap((id) => nodeById.get(id) ?? []);
183
+ const result = validateNodeSelectionForGrouping({
184
+ nodes: groupNodes,
185
+ connectionsBySourceNode: connections,
186
+ getNodeType,
187
+ existingNodeGroups: nodeGroups.filter((other) => other.id !== group.id),
188
+ });
189
+ if (!result.valid) {
190
+ addViolation(group, result.reason, groupRuleViolationMessage(group, result, nodeLabel));
191
+ }
192
+ }
193
+ }
194
+ const [firstViolation, ...restViolations] = violations;
195
+ if (!firstViolation)
196
+ return { valid: true };
197
+ return { valid: false, violations: [firstViolation, ...restViolations] };
198
+ }
199
+ /**
200
+ * Maps a failed `validateNodeSelectionForGrouping` result to an actionable message
201
+ * that names the offending group and the rule it broke. These strings are the
202
+ * public save-rejection messages — change them only deliberately.
203
+ */
204
+ function groupRuleViolationMessage(group, result, nodeLabel) {
205
+ const label = `Node group "${group.name}"`;
206
+ switch (result.reason) {
207
+ case 'trigger-selected':
208
+ return `${label} ${NODE_GROUPING_RULES.triggerSelected.violation}: ${result.triggers.join(', ')}.`;
209
+ case 'invalid-subgraph':
210
+ return `${label} ${NODE_GROUPING_RULES.invalidSubgraph.violation}.`;
211
+ case 'node-already-grouped':
212
+ return `${label} ${NODE_GROUPING_RULES.nodeAlreadyGrouped.violation}: ${result.nodeIds.map(nodeLabel).join(', ')}.`;
213
+ case 'non-main-boundary':
214
+ return `${label} ${NODE_GROUPING_RULES.nonMainBoundary.violation} "${result.connection.type}" connection between "${result.connection.source}" and "${result.connection.target}".`;
215
+ // Extraction-only reasons; unreachable from grouping but required for exhaustiveness.
216
+ case 'multiple-input-branches':
217
+ return `${label} has multiple input branches at node "${result.node}".`;
218
+ case 'multiple-output-branches':
219
+ return `${label} has multiple output branches at node "${result.node}".`;
220
+ }
221
+ }
65
222
  function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, }) {
66
223
  const triggers = nodes.filter((node) => {
67
224
  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":"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"}
@@ -4,7 +4,7 @@
4
4
  import get from 'lodash/get';
5
5
  import isEqual from 'lodash/isEqual';
6
6
  import { v4 as uuid } from 'uuid';
7
- import { EXECUTE_WORKFLOW_NODE_TYPE, WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE } from './constants';
7
+ import { EXECUTE_WORKFLOW_NODE_TYPE, RETRIEVER_WORKFLOW_LANGCHAIN_NODE_TYPE, WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, } from './constants';
8
8
  import { UnexpectedError, UserError } from './errors';
9
9
  import { isExpression } from './expressions/expression-helpers';
10
10
  import { isFromAIOnlyExpression } from './from-ai-parse-utils';
@@ -1369,7 +1369,11 @@ export function isExecutable(workflow, node, nodeTypeData) {
1369
1369
  isTriggerNode(nodeTypeData));
1370
1370
  }
1371
1371
  export function isNodeWithWorkflowSelector(node) {
1372
- return [EXECUTE_WORKFLOW_NODE_TYPE, WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE].includes(node.type);
1372
+ return [
1373
+ EXECUTE_WORKFLOW_NODE_TYPE,
1374
+ WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE,
1375
+ RETRIEVER_WORKFLOW_LANGCHAIN_NODE_TYPE,
1376
+ ].includes(node.type);
1373
1377
  }
1374
1378
  /**
1375
1379
  * @returns An object containing either the resolved operation's action if available,
@@ -1615,4 +1619,56 @@ export function nodeHasOutputType(nodeType, connectionType) {
1615
1619
  return output.type === connectionType;
1616
1620
  });
1617
1621
  }
1622
+ /**
1623
+ * Parameters to write so a credential's `displayOptions.show` becomes satisfied,
1624
+ * making it the active slot (e.g. `{ authentication: ['apiKey'] }` →
1625
+ * `{ authentication: 'apiKey' }`). `@version` is excluded — it gates typeVersion,
1626
+ * not a settable parameter. A `show` clause may accept several values; this
1627
+ * returns only the first, so callers must not apply it to an already-active slot.
1628
+ */
1629
+ export function getCredentialActivationParameters(displayOptions) {
1630
+ const parameters = {};
1631
+ const show = displayOptions?.show;
1632
+ if (!show)
1633
+ return parameters;
1634
+ for (const [name, values] of Object.entries(show)) {
1635
+ if (name === '@version')
1636
+ continue;
1637
+ const value = values?.[0];
1638
+ if (value !== undefined && value !== null) {
1639
+ parameters[name] = value;
1640
+ }
1641
+ }
1642
+ return parameters;
1643
+ }
1644
+ /**
1645
+ * Pick the credential type a node should use for a managed (n8n-credits)
1646
+ * credential and the parameters that activate it. Prefers `preferredType`, else
1647
+ * the first supported declared type. An already-active candidate returns empty
1648
+ * parameters, so a valid value (e.g. the second entry of a multi-value `show`
1649
+ * clause) is never overwritten; candidates the node can't display (e.g.
1650
+ * `@version`-gated) are skipped. Returns `undefined` when none qualifies.
1651
+ */
1652
+ export function resolveSupportedCredentialActivation(nodeTypeDescription, node, isSupported, preferredType) {
1653
+ const credentials = nodeTypeDescription.credentials ?? [];
1654
+ const ordered = preferredType
1655
+ ? [
1656
+ ...credentials.filter((cred) => cred.name === preferredType),
1657
+ ...credentials.filter((cred) => cred.name !== preferredType),
1658
+ ]
1659
+ : credentials;
1660
+ for (const cred of ordered) {
1661
+ if (!isSupported(cred.name))
1662
+ continue;
1663
+ if (displayParameter(node.parameters, cred, node, nodeTypeDescription)) {
1664
+ return { credentialType: cred.name, parameters: {} };
1665
+ }
1666
+ const parameters = getCredentialActivationParameters(cred.displayOptions);
1667
+ const activatedValues = { ...node.parameters, ...parameters };
1668
+ if (displayParameter(activatedValues, cred, node, nodeTypeDescription)) {
1669
+ return { credentialType: cred.name, parameters };
1670
+ }
1671
+ }
1672
+ return undefined;
1673
+ }
1618
1674
  //# sourceMappingURL=node-helpers.js.map