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.
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/cron.d.ts +7 -0
- package/dist/cjs/cron.d.ts.map +1 -1
- package/dist/cjs/cron.js +14 -1
- package/dist/cjs/cron.js.map +1 -1
- package/dist/cjs/errors/abstract/execution-base.error.d.ts +4 -1
- package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -1
- package/dist/cjs/errors/abstract/execution-base.error.js +7 -5
- package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -1
- package/dist/cjs/errors/abstract/node.error.d.ts +1 -1
- package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -1
- package/dist/cjs/errors/abstract/node.error.js +7 -4
- package/dist/cjs/errors/abstract/node.error.js.map +1 -1
- package/dist/cjs/expression.d.ts +1 -0
- package/dist/cjs/expression.d.ts.map +1 -1
- package/dist/cjs/expression.js +16 -0
- package/dist/cjs/expression.js.map +1 -1
- package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/array-extensions.js +4 -0
- package/dist/cjs/extensions/array-extensions.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces.d.ts +110 -6
- package/dist/cjs/interfaces.d.ts.map +1 -1
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/message-event-bus.d.ts +2 -1
- package/dist/cjs/message-event-bus.d.ts.map +1 -1
- package/dist/cjs/message-event-bus.js +1 -0
- package/dist/cjs/message-event-bus.js.map +1 -1
- package/dist/cjs/n8n-oauth2-auth.d.ts +26 -0
- package/dist/cjs/n8n-oauth2-auth.d.ts.map +1 -0
- package/dist/cjs/n8n-oauth2-auth.js +81 -0
- package/dist/cjs/n8n-oauth2-auth.js.map +1 -0
- package/dist/cjs/native-methods/array.methods.js +1 -1
- package/dist/cjs/native-methods/array.methods.js.map +1 -1
- package/dist/cjs/node-grouping-validation.d.ts +81 -0
- package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
- package/dist/cjs/node-grouping-validation.js +159 -1
- package/dist/cjs/node-grouping-validation.js.map +1 -1
- package/dist/cjs/node-helpers.d.ts +21 -1
- package/dist/cjs/node-helpers.d.ts.map +1 -1
- package/dist/cjs/node-helpers.js +59 -1
- package/dist/cjs/node-helpers.js.map +1 -1
- package/dist/cjs/redaction-channels.d.ts +7 -0
- package/dist/cjs/redaction-channels.d.ts.map +1 -1
- package/dist/cjs/redaction-channels.js +13 -0
- package/dist/cjs/redaction-channels.js.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
- package/dist/cjs/schemas.d.ts +11 -0
- package/dist/cjs/schemas.d.ts.map +1 -1
- package/dist/cjs/schemas.js +36 -1
- package/dist/cjs/schemas.js.map +1 -1
- package/dist/cjs/trigger-identity.d.ts +19 -1
- package/dist/cjs/trigger-identity.d.ts.map +1 -1
- package/dist/cjs/trigger-identity.js +22 -2
- package/dist/cjs/trigger-identity.js.map +1 -1
- package/dist/cjs/utils.d.ts +1 -3
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +6 -19
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/workflow-expression.d.ts +1 -0
- package/dist/cjs/workflow-expression.d.ts.map +1 -1
- package/dist/cjs/workflow-expression.js +3 -0
- package/dist/cjs/workflow-expression.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/cron.d.ts +7 -0
- package/dist/esm/cron.d.ts.map +1 -1
- package/dist/esm/cron.js +12 -0
- package/dist/esm/cron.js.map +1 -1
- package/dist/esm/errors/abstract/execution-base.error.d.ts +4 -1
- package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -1
- package/dist/esm/errors/abstract/execution-base.error.js +7 -5
- package/dist/esm/errors/abstract/execution-base.error.js.map +1 -1
- package/dist/esm/errors/abstract/node.error.d.ts +1 -1
- package/dist/esm/errors/abstract/node.error.d.ts.map +1 -1
- package/dist/esm/errors/abstract/node.error.js +7 -4
- package/dist/esm/errors/abstract/node.error.js.map +1 -1
- package/dist/esm/expression.d.ts +1 -0
- package/dist/esm/expression.d.ts.map +1 -1
- package/dist/esm/expression.js +16 -0
- package/dist/esm/expression.js.map +1 -1
- package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/array-extensions.js +4 -0
- package/dist/esm/extensions/array-extensions.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.d.ts +110 -6
- package/dist/esm/interfaces.d.ts.map +1 -1
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/message-event-bus.d.ts +2 -1
- package/dist/esm/message-event-bus.d.ts.map +1 -1
- package/dist/esm/message-event-bus.js +1 -0
- package/dist/esm/message-event-bus.js.map +1 -1
- package/dist/esm/n8n-oauth2-auth.d.ts +26 -0
- package/dist/esm/n8n-oauth2-auth.d.ts.map +1 -0
- package/dist/esm/n8n-oauth2-auth.js +77 -0
- package/dist/esm/n8n-oauth2-auth.js.map +1 -0
- package/dist/esm/native-methods/array.methods.js +1 -1
- package/dist/esm/native-methods/array.methods.js.map +1 -1
- package/dist/esm/node-grouping-validation.d.ts +81 -0
- package/dist/esm/node-grouping-validation.d.ts.map +1 -1
- package/dist/esm/node-grouping-validation.js +157 -0
- package/dist/esm/node-grouping-validation.js.map +1 -1
- package/dist/esm/node-helpers.d.ts +21 -1
- package/dist/esm/node-helpers.d.ts.map +1 -1
- package/dist/esm/node-helpers.js +58 -2
- package/dist/esm/node-helpers.js.map +1 -1
- package/dist/esm/redaction-channels.d.ts +7 -0
- package/dist/esm/redaction-channels.d.ts.map +1 -1
- package/dist/esm/redaction-channels.js +12 -0
- package/dist/esm/redaction-channels.js.map +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v0.d.ts +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v0.d.ts.map +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v1.js.map +1 -1
- package/dist/esm/schemas.d.ts +11 -0
- package/dist/esm/schemas.d.ts.map +1 -1
- package/dist/esm/schemas.js +35 -1
- package/dist/esm/schemas.js.map +1 -1
- package/dist/esm/trigger-identity.d.ts +19 -1
- package/dist/esm/trigger-identity.d.ts.map +1 -1
- package/dist/esm/trigger-identity.js +23 -3
- package/dist/esm/trigger-identity.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +1 -3
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +4 -16
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/workflow-expression.d.ts +1 -0
- package/dist/esm/workflow-expression.d.ts.map +1 -1
- package/dist/esm/workflow-expression.js +3 -0
- package/dist/esm/workflow-expression.js.map +1 -1
- 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: '
|
|
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":"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
|
|
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,wDAAwD;gBACrE,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"}
|
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../src/node-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/node-helpers.js
CHANGED
|
@@ -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 [
|
|
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
|