n8n-workflow 2.41.0 → 2.42.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 (111) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.d.ts +9 -0
  3. package/dist/cjs/constants.d.ts.map +1 -1
  4. package/dist/cjs/constants.js +12 -3
  5. package/dist/cjs/constants.js.map +1 -1
  6. package/dist/cjs/empty-group-anchor.d.ts +8 -0
  7. package/dist/cjs/empty-group-anchor.d.ts.map +1 -0
  8. package/dist/cjs/empty-group-anchor.js +22 -0
  9. package/dist/cjs/empty-group-anchor.js.map +1 -0
  10. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
  11. package/dist/cjs/extensions/array-extensions.js +22 -22
  12. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  13. package/dist/cjs/extensions/boolean-extensions.js +1 -1
  14. package/dist/cjs/extensions/boolean-extensions.js.map +1 -1
  15. package/dist/cjs/extensions/date-extensions.d.ts.map +1 -1
  16. package/dist/cjs/extensions/date-extensions.js +15 -15
  17. package/dist/cjs/extensions/date-extensions.js.map +1 -1
  18. package/dist/cjs/extensions/extended-functions.d.ts.map +1 -1
  19. package/dist/cjs/extensions/extended-functions.js +1 -1
  20. package/dist/cjs/extensions/extended-functions.js.map +1 -1
  21. package/dist/cjs/extensions/number-extensions.d.ts.map +1 -1
  22. package/dist/cjs/extensions/number-extensions.js +10 -10
  23. package/dist/cjs/extensions/number-extensions.js.map +1 -1
  24. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  25. package/dist/cjs/extensions/object-extensions.js +11 -11
  26. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  27. package/dist/cjs/extensions/string-extensions.d.ts.map +1 -1
  28. package/dist/cjs/extensions/string-extensions.js +31 -31
  29. package/dist/cjs/extensions/string-extensions.js.map +1 -1
  30. package/dist/cjs/graph/graph-utils.d.ts +5 -1
  31. package/dist/cjs/graph/graph-utils.d.ts.map +1 -1
  32. package/dist/cjs/graph/graph-utils.js +38 -29
  33. package/dist/cjs/graph/graph-utils.js.map +1 -1
  34. package/dist/cjs/index.d.ts +2 -0
  35. package/dist/cjs/index.d.ts.map +1 -1
  36. package/dist/cjs/index.js +2 -0
  37. package/dist/cjs/index.js.map +1 -1
  38. package/dist/cjs/interfaces.d.ts +18 -1
  39. package/dist/cjs/interfaces.d.ts.map +1 -1
  40. package/dist/cjs/interfaces.js.map +1 -1
  41. package/dist/cjs/n8n-browser-oauth2-flow.d.ts +28 -0
  42. package/dist/cjs/n8n-browser-oauth2-flow.d.ts.map +1 -0
  43. package/dist/cjs/n8n-browser-oauth2-flow.js +171 -0
  44. package/dist/cjs/n8n-browser-oauth2-flow.js.map +1 -0
  45. package/dist/cjs/n8n-oauth2-auth.d.ts +22 -0
  46. package/dist/cjs/n8n-oauth2-auth.d.ts.map +1 -1
  47. package/dist/cjs/n8n-oauth2-auth.js +27 -1
  48. package/dist/cjs/n8n-oauth2-auth.js.map +1 -1
  49. package/dist/cjs/node-grouping-validation.d.ts +14 -3
  50. package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
  51. package/dist/cjs/node-grouping-validation.js +26 -16
  52. package/dist/cjs/node-grouping-validation.js.map +1 -1
  53. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +1 -1
  54. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  55. package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
  56. package/dist/esm/constants.d.ts +9 -0
  57. package/dist/esm/constants.d.ts.map +1 -1
  58. package/dist/esm/constants.js +9 -0
  59. package/dist/esm/constants.js.map +1 -1
  60. package/dist/esm/empty-group-anchor.d.ts +8 -0
  61. package/dist/esm/empty-group-anchor.d.ts.map +1 -0
  62. package/dist/esm/empty-group-anchor.js +18 -0
  63. package/dist/esm/empty-group-anchor.js.map +1 -0
  64. package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
  65. package/dist/esm/extensions/array-extensions.js +22 -22
  66. package/dist/esm/extensions/array-extensions.js.map +1 -1
  67. package/dist/esm/extensions/boolean-extensions.js +1 -1
  68. package/dist/esm/extensions/boolean-extensions.js.map +1 -1
  69. package/dist/esm/extensions/date-extensions.d.ts.map +1 -1
  70. package/dist/esm/extensions/date-extensions.js +15 -15
  71. package/dist/esm/extensions/date-extensions.js.map +1 -1
  72. package/dist/esm/extensions/extended-functions.d.ts.map +1 -1
  73. package/dist/esm/extensions/extended-functions.js +1 -1
  74. package/dist/esm/extensions/extended-functions.js.map +1 -1
  75. package/dist/esm/extensions/number-extensions.d.ts.map +1 -1
  76. package/dist/esm/extensions/number-extensions.js +10 -10
  77. package/dist/esm/extensions/number-extensions.js.map +1 -1
  78. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  79. package/dist/esm/extensions/object-extensions.js +11 -11
  80. package/dist/esm/extensions/object-extensions.js.map +1 -1
  81. package/dist/esm/extensions/string-extensions.d.ts.map +1 -1
  82. package/dist/esm/extensions/string-extensions.js +31 -31
  83. package/dist/esm/extensions/string-extensions.js.map +1 -1
  84. package/dist/esm/graph/graph-utils.d.ts +5 -1
  85. package/dist/esm/graph/graph-utils.d.ts.map +1 -1
  86. package/dist/esm/graph/graph-utils.js +38 -29
  87. package/dist/esm/graph/graph-utils.js.map +1 -1
  88. package/dist/esm/index.d.ts +2 -0
  89. package/dist/esm/index.d.ts.map +1 -1
  90. package/dist/esm/index.js +2 -0
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/interfaces.d.ts +18 -1
  93. package/dist/esm/interfaces.d.ts.map +1 -1
  94. package/dist/esm/interfaces.js.map +1 -1
  95. package/dist/esm/n8n-browser-oauth2-flow.d.ts +28 -0
  96. package/dist/esm/n8n-browser-oauth2-flow.d.ts.map +1 -0
  97. package/dist/esm/n8n-browser-oauth2-flow.js +167 -0
  98. package/dist/esm/n8n-browser-oauth2-flow.js.map +1 -0
  99. package/dist/esm/n8n-oauth2-auth.d.ts +22 -0
  100. package/dist/esm/n8n-oauth2-auth.d.ts.map +1 -1
  101. package/dist/esm/n8n-oauth2-auth.js +25 -0
  102. package/dist/esm/n8n-oauth2-auth.js.map +1 -1
  103. package/dist/esm/node-grouping-validation.d.ts +14 -3
  104. package/dist/esm/node-grouping-validation.d.ts.map +1 -1
  105. package/dist/esm/node-grouping-validation.js +26 -16
  106. package/dist/esm/node-grouping-validation.js.map +1 -1
  107. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +1 -1
  108. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  109. package/dist/esm/run-execution-data/run-execution-data.v1.js.map +1 -1
  110. package/dist/esm/typecheck.tsbuildinfo +1 -1
  111. package/package.json +9 -9
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Carries the access token across the single same-site redirect from the OAuth
3
+ * callback to the clean webhook URL, so `code`/`state` never reach the workflow's
4
+ * query data. Mirrors the form trigger's `n8n-form-oauth` cookie.
5
+ */
6
+ const BROWSER_OAUTH_COOKIE_NAME = 'n8n-webhook-oauth';
7
+ /** Query params owned by the OAuth callback, stripped before handing the URL back. */
8
+ const CALLBACK_PARAMS = ['code', 'state', 'error', 'error_description', 'iss'];
9
+ /** The path part of a same-origin URL, normalized to a single leading slash. */
10
+ function pathOf(url) {
11
+ const path = url.split('?')[0];
12
+ return `/${path.replace(/^\/+/, '')}`;
13
+ }
14
+ /**
15
+ * `path` must be where the browser will *read* the cookie: a dynamic webhook's
16
+ * `redirect_uri` is the templated path (`/webhook/<id>/user/:id`), but the hop that
17
+ * consumes the cookie sits on the resolved one (`/webhook/<id>/user/42`).
18
+ */
19
+ function cookieOptions(req, path) {
20
+ // `secure` follows the request scheme (honouring x-forwarded-proto), so the cookie
21
+ // still comes back over plain http in dev.
22
+ const forwardedProto = req.headers['x-forwarded-proto'];
23
+ const proto = (typeof forwardedProto === 'string' ? forwardedProto.trim() : '') || req.protocol;
24
+ return {
25
+ httpOnly: true,
26
+ sameSite: 'lax', // must be Lax: sent on our own top-level 302 → GET
27
+ secure: proto === 'https',
28
+ path,
29
+ };
30
+ }
31
+ /** A cookie value that isn't valid percent-encoding is treated as no cookie at all. */
32
+ function readCookie(req) {
33
+ const match = (req.headers.cookie ?? '').match(new RegExp(`(?:^|;\\s*)${BROWSER_OAUTH_COOKIE_NAME}=([^;]+)`));
34
+ if (!match)
35
+ return null;
36
+ try {
37
+ return decodeURIComponent(match[1].trim());
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Drops the one-hop cookie from the request so its token never reaches the workflow's
45
+ * `headers` data; unrelated cookies stay. The cli sanitizer runs before the node and
46
+ * must leave it in place for the flow to read.
47
+ */
48
+ function stripCookie(req) {
49
+ const rest = (req.headers.cookie ?? '')
50
+ .split(';')
51
+ .map((cookie) => cookie.trim())
52
+ .filter((cookie) => cookie && !cookie.startsWith(`${BROWSER_OAUTH_COOKIE_NAME}=`));
53
+ if (rest.length)
54
+ req.headers.cookie = rest.join('; ');
55
+ else
56
+ delete req.headers.cookie;
57
+ }
58
+ /**
59
+ * True only for a *top-level* browser navigation. `Sec-Fetch-Mode: navigate` alone is
60
+ * not enough: a hidden `<iframe>` on someone else's page reports it too and could ride
61
+ * the victim's session through `/oauth/authorize` without a click, so `Sec-Fetch-Dest`
62
+ * must be `document` (or absent, for the Accept fallback). `force` skips the check for
63
+ * the "always redirect" node setting; the caller has already ruled out non-GETs.
64
+ */
65
+ function isBrowserNavigation(req, force) {
66
+ if (force)
67
+ return true;
68
+ const dest = req.headers['sec-fetch-dest'];
69
+ if (typeof dest === 'string' && dest !== 'document')
70
+ return false;
71
+ const mode = req.headers['sec-fetch-mode'];
72
+ if (typeof mode === 'string')
73
+ return mode === 'navigate';
74
+ return (req.headers.accept ?? '').includes('text/html');
75
+ }
76
+ /**
77
+ * Where to send the browser once authenticated: the URL it asked for, minus the
78
+ * callback's own params. Stashed server-side against `state`, yet still normalized to
79
+ * a single-slash path so it can never become a protocol-relative redirect.
80
+ */
81
+ function returnToUrl(req) {
82
+ const [, query] = req.originalUrl.split('?');
83
+ const params = new URLSearchParams(query ?? '');
84
+ for (const param of CALLBACK_PARAMS)
85
+ params.delete(param);
86
+ const search = params.toString();
87
+ const safePath = pathOf(req.originalUrl);
88
+ return search ? `${safePath}?${search}` : safePath;
89
+ }
90
+ function redirect(res, location) {
91
+ res.writeHead(302, { Location: location });
92
+ res.end();
93
+ return 'handled';
94
+ }
95
+ /**
96
+ * Authenticates a *browser* hitting an `n8nOAuth2` webhook with no client setup: the
97
+ * webhook URL doubles as virtual first-party client_id and redirect_uri against this
98
+ * instance's own AS, with PKCE and `state` generated server-side. Three GET shapes:
99
+ *
100
+ * 1. **Fresh GET** (browser navigation) → 302 to `/oauth/authorize`.
101
+ * 2. **Callback** (`code` + `state`) → exchange server-to-server, stash the token in a
102
+ * one-hop cookie, 302 back to the URL originally asked for.
103
+ * 3. **Clean GET** (cookie present) → validate, consume the cookie, run the workflow.
104
+ *
105
+ * Anything that isn't a browser navigation on a GET is `'not-applicable'` and the
106
+ * caller falls back to the 401 + `WWW-Authenticate` path. `force` (the node's
107
+ * "Browser (Virtual Client)" setting) skips the navigation heuristic, never the GET rule.
108
+ */
109
+ export const n8nBrowserOAuth2Flow = async (context, resourceUrl, force = false) => {
110
+ const req = context.getRequestObject();
111
+ const res = context.getResponseObject();
112
+ // The whole flow is GET-only and navigation-only, callback and cookie hops included:
113
+ // a redirect can't carry a POST body, and a same-origin fetch() still sends the
114
+ // Lax cookie, so neither may spend it.
115
+ if (req.method !== 'GET' || !isBrowserNavigation(req, force)) {
116
+ return 'not-applicable';
117
+ }
118
+ const { code, state, error } = (req.query ?? {});
119
+ const isCallback = typeof code === 'string' && typeof state === 'string';
120
+ const cookieToken = readCookie(req);
121
+ if (typeof error === 'string') {
122
+ // The user denied consent (or the AS refused). Restarting here would loop straight
123
+ // back into the same denial, so stop and report.
124
+ context.logger.warn('Webhook OAuth2 authorization was denied or failed', {
125
+ error,
126
+ error_description: req.query.error_description,
127
+ });
128
+ res.status(403).send('Access denied');
129
+ res.end();
130
+ return 'handled';
131
+ }
132
+ if (isCallback) {
133
+ try {
134
+ const result = await context.completeN8nOAuth2Flow(code, state);
135
+ if (result.valid) {
136
+ // Not on the callback URL itself: `code`/`state` would land in the webhook's
137
+ // query data. One-hop cookie, then bounce to the clean URL.
138
+ const location = result.metadata?.returnTo ?? returnToUrl(req);
139
+ res.cookie(BROWSER_OAUTH_COOKIE_NAME, result.token, {
140
+ ...cookieOptions(req, pathOf(location)),
141
+ maxAge: 60_000, // one redirect hop; short by design
142
+ });
143
+ return redirect(res, location);
144
+ }
145
+ context.logger.warn('Webhook OAuth2 flow failed, restarting', { reason: result.reason });
146
+ }
147
+ catch (error) {
148
+ context.logger.warn('Webhook OAuth2 flow failed, restarting', { error });
149
+ }
150
+ // Fall through to restart the flow.
151
+ }
152
+ else if (cookieToken !== null) {
153
+ // Cleared at the path it was set for: this request *is* the redirect target.
154
+ res.clearCookie(BROWSER_OAUTH_COOKIE_NAME, cookieOptions(req, pathOf(req.originalUrl)));
155
+ stripCookie(req);
156
+ const validation = await context.validateN8nOAuth2Token(cookieToken, resourceUrl);
157
+ if (validation.valid) {
158
+ return { status: 'ok', token: cookieToken, user: validation.user };
159
+ }
160
+ // Stale/invalid cookie — fall through to restart the flow.
161
+ }
162
+ const authorizationUrl = await context.beginN8nOAuth2Flow(resourceUrl, {
163
+ returnTo: returnToUrl(req),
164
+ });
165
+ return redirect(res, authorizationUrl);
166
+ };
167
+ //# sourceMappingURL=n8n-browser-oauth2-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n8n-browser-oauth2-flow.js","sourceRoot":"","sources":["../../src/n8n-browser-oauth2-flow.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,22 @@
1
1
  import type { IUser, IWebhookFunctions } from './interfaces';
2
+ /**
3
+ * How a tokenless request is handled:
4
+ * - `auto`: redirect a browser navigation, 401 everything else.
5
+ * - `browser`: always redirect a GET, skipping the navigation heuristic.
6
+ * - `bearer`: never redirect, always 401; the resource is not first-party either,
7
+ * so the AS refuses its URL as a virtual client too.
8
+ */
9
+ export type N8nOAuth2BrowserFlowMode = 'auto' | 'browser' | 'bearer';
10
+ /**
11
+ * Webhook node `typeVersion` from which an unset `oauthClient` defaults to `auto`.
12
+ * Below it the option didn't exist, so those workflows keep bearer-only on upgrade.
13
+ */
14
+ export declare const WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION = 2.2;
15
+ /**
16
+ * Explicit value wins; unset resolves by node version. Shared by the Webhook node
17
+ * (runtime redirect) and its resolvers (static `isFirstParty`) so they can't diverge.
18
+ */
19
+ export declare function resolveOAuthClientMode(oauthClient: N8nOAuth2BrowserFlowMode | undefined, typeVersion: number): N8nOAuth2BrowserFlowMode;
2
20
  /**
3
21
  * Validates a webhook caller's OAuth2 bearer token and resolves it to an n8n user —
4
22
  * the first step of the "identity" webhook auth flow shared by the Webhook node
@@ -15,10 +33,14 @@ import type { IUser, IWebhookFunctions } from './interfaces';
15
33
  * header (e.g. `n8n Webhook` vs `n8n MCP Server`); everything else — token
16
34
  * parsing, protected-resource-metadata URL, error-code mapping — is identical and
17
35
  * kept here so the two auth modes can't drift.
36
+ *
37
+ * With `browserFlow` set to anything but `'bearer'`, a tokenless browser navigation
38
+ * is redirected through this instance's own AS instead (see {@link n8nBrowserOAuth2Flow}).
18
39
  */
19
40
  export declare const n8nOAuth2Auth: (context: IWebhookFunctions, options: {
20
41
  realm: string;
21
42
  method?: string;
43
+ browserFlow?: N8nOAuth2BrowserFlowMode;
22
44
  }) => Promise<{
23
45
  status: 'ok';
24
46
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"n8n-oauth2-auth.d.ts","sourceRoot":"","sources":["../../src/n8n-oauth2-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA8B7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,YAChB,iBAAiB,WACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KACzC,OAAO,CACP;IACA,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACX,GACD,SAAS,CAgDX,CAAC"}
1
+ {"version":3,"file":"n8n-oauth2-auth.d.ts","sourceRoot":"","sources":["../../src/n8n-oauth2-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG7D;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAExD;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,WAAW,EAAE,wBAAwB,GAAG,SAAS,EACjD,WAAW,EAAE,MAAM,GACjB,wBAAwB,CAE1B;AA8BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,YAChB,iBAAiB,WACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,wBAAwB,CAAA;CAAE,KACjF,OAAO,CACP;IACA,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACX,GACD,SAAS,CA4DX,CAAC"}
@@ -1,5 +1,18 @@
1
1
  import { recordConsumedAuth } from './auth-redaction';
2
2
  import { UnexpectedError } from './errors';
3
+ import { n8nBrowserOAuth2Flow } from './n8n-browser-oauth2-flow';
4
+ /**
5
+ * Webhook node `typeVersion` from which an unset `oauthClient` defaults to `auto`.
6
+ * Below it the option didn't exist, so those workflows keep bearer-only on upgrade.
7
+ */
8
+ export const WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION = 2.2;
9
+ /**
10
+ * Explicit value wins; unset resolves by node version. Shared by the Webhook node
11
+ * (runtime redirect) and its resolvers (static `isFirstParty`) so they can't diverge.
12
+ */
13
+ export function resolveOAuthClientMode(oauthClient, typeVersion) {
14
+ return oauthClient ?? (typeVersion >= WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION ? 'auto' : 'bearer');
15
+ }
3
16
  function trimTrailingSlash(url) {
4
17
  return url.endsWith('/') ? url.slice(0, -1) : url;
5
18
  }
@@ -35,6 +48,9 @@ function sendUnauthorizedResponse(resp, code, prmUrl, realm, error) {
35
48
  * header (e.g. `n8n Webhook` vs `n8n MCP Server`); everything else — token
36
49
  * parsing, protected-resource-metadata URL, error-code mapping — is identical and
37
50
  * kept here so the two auth modes can't drift.
51
+ *
52
+ * With `browserFlow` set to anything but `'bearer'`, a tokenless browser navigation
53
+ * is redirected through this instance's own AS instead (see {@link n8nBrowserOAuth2Flow}).
38
54
  */
39
55
  export const n8nOAuth2Auth = async (context, options) => {
40
56
  const webhookUrl = context.getWebhookResourceUrl('default');
@@ -54,6 +70,15 @@ export const n8nOAuth2Auth = async (context, options) => {
54
70
  const req = context.getRequestObject();
55
71
  const token = getBearerToken(req.headers.authorization);
56
72
  if (!token) {
73
+ if (options.browserFlow && options.browserFlow !== 'bearer') {
74
+ const outcome = await n8nBrowserOAuth2Flow(context, resourceUrl, options.browserFlow === 'browser');
75
+ if (outcome === 'handled')
76
+ return 'handled';
77
+ if (outcome !== 'not-applicable') {
78
+ recordConsumedAuth(req, ['cookie']);
79
+ return { status: 'ok', token: outcome.token, resource: resourceUrl, user: outcome.user };
80
+ }
81
+ }
57
82
  sendUnauthorizedResponse(resp, 401, prmUrl, options.realm);
58
83
  return 'handled';
59
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"n8n-oauth2-auth.js","sourceRoot":"","sources":["../../src/n8n-oauth2-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"n8n-oauth2-auth.js","sourceRoot":"","sources":["../../src/n8n-oauth2-auth.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,17 @@ export declare function summarizeTopLevelItems(input: {
47
47
  }): TopLevelItemsSummary;
48
48
  /** The over-ceiling message, worded once so every surface tells the agent the same thing. */
49
49
  export declare function formatTopLevelItemsMessage(summary: TopLevelItemsSummary): string;
50
+ /**
51
+ * The group rules that relax behind a flag. Each one rolls out on its own.
52
+ * The validator takes this shape; the canvas and the save path each fill it
53
+ * from their own flag reader.
54
+ */
55
+ export type NodeGroupRuleOptions = {
56
+ /** Accept a group that holds its own trigger. */
57
+ allowTriggerInGroup?: boolean;
58
+ /** Accept a group with several entry and exit nodes. */
59
+ allowMultipleBoundaryNodes?: boolean;
60
+ };
50
61
  export type NodeGroupingValidationInput<TNode extends INode = INode> = {
51
62
  nodes: TNode[];
52
63
  connectionsBySourceNode: IConnections;
@@ -54,7 +65,7 @@ export type NodeGroupingValidationInput<TNode extends INode = INode> = {
54
65
  existingNodeGroups?: IWorkflowGroup[];
55
66
  getNodeInputs?: (node: TNode, nodeType: INodeTypeDescription) => Array<NodeConnectionType | INodeInputConfiguration>;
56
67
  getNodeOutputs?: (node: TNode, nodeType: INodeTypeDescription) => Array<NodeConnectionType | INodeOutputConfiguration>;
57
- };
68
+ } & NodeGroupRuleOptions;
58
69
  export type NodeSelectionValidationResult<TNode extends INode = INode> = {
59
70
  valid: true;
60
71
  subGraph: TNode[];
@@ -140,7 +151,7 @@ export type WorkflowGroupsValidationInput<TNode extends INode = INode> = {
140
151
  * Pass `null` to run basic checks only.
141
152
  */
142
153
  getNodeType: ((node: TNode) => INodeTypeDescription | null | undefined) | null;
143
- };
154
+ } & NodeGroupRuleOptions;
144
155
  export type WorkflowGroupsValidationResult = {
145
156
  valid: true;
146
157
  } | {
@@ -178,7 +189,7 @@ export declare function makeGetNodeTypeForGrouping(nodeTypes: INodeTypes): GetNo
178
189
  * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
179
190
  * since nodes created via the API may not have IDs until that step assigns them.
180
191
  */
181
- export declare function validateWorkflowGroups<TNode extends INode>({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }: WorkflowGroupsValidationInput<TNode>): WorkflowGroupsValidationResult;
192
+ export declare function validateWorkflowGroups<TNode extends INode>(input: WorkflowGroupsValidationInput<TNode>): WorkflowGroupsValidationResult;
182
193
  /**
183
194
  * Non-fatal twin of `validateWorkflowGroups`: drops every offending group instead
184
195
  * of throwing, returning every violation for the groups it dropped.
@@ -1 +1 @@
1
- {"version":3,"file":"node-grouping-validation.d.ts","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-grouping-validation.d.ts","sourceRoot":"","sources":["../../src/node-grouping-validation.ts"],"names":[],"mappings":"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"}
@@ -116,9 +116,17 @@ export const NODE_GROUPING_RULES = {
116
116
  },
117
117
  };
118
118
  export function validateNodeSelectionForExtraction(input) {
119
- const subgraphResult = validateNodeSelectionSubgraph(input);
120
- if (!subgraphResult.valid)
119
+ // Both rules forced off: extraction replaces the selection with one node, which
120
+ // has one input and one output. Several entries or exits leave nothing to wire
121
+ // that node back to.
122
+ const subgraphResult = validateNodeSelectionSubgraph({
123
+ ...input,
124
+ allowTriggerInGroup: false,
125
+ allowMultipleBoundaryNodes: false,
126
+ });
127
+ if (!subgraphResult.valid) {
121
128
  return subgraphResult;
129
+ }
122
130
  const { nodes, getNodeType, getNodeInputs, getNodeOutputs } = input;
123
131
  const { start, end } = subgraphResult.subGraphData;
124
132
  const nodesByName = new Map(nodes.map((node) => [node.name, node]));
@@ -203,13 +211,8 @@ export function makeGetNodeTypeForGrouping(nodeTypes) {
203
211
  * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
204
212
  * since nodes created via the API may not have IDs until that step assigns them.
205
213
  */
206
- export function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
207
- const result = validateWorkflowGroupsWithGroupIdentity({
208
- nodes,
209
- connectionsBySourceNode,
210
- nodeGroups,
211
- getNodeType,
212
- });
214
+ export function validateWorkflowGroups(input) {
215
+ const result = validateWorkflowGroupsWithGroupIdentity(input);
213
216
  if (result.valid)
214
217
  return { valid: true };
215
218
  const [firstViolation, ...restViolations] = result.violations;
@@ -221,7 +224,7 @@ export function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGro
221
224
  ],
222
225
  };
223
226
  }
224
- function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
227
+ function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, ...rules }) {
225
228
  if (!nodeGroups || nodeGroups.length === 0)
226
229
  return { valid: true };
227
230
  const violations = [];
@@ -284,6 +287,7 @@ function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNod
284
287
  connectionsBySourceNode: connections,
285
288
  getNodeType,
286
289
  existingNodeGroups: nodeGroups.filter((other) => other.id !== group.id),
290
+ ...rules,
287
291
  });
288
292
  if (!result.valid) {
289
293
  addViolation(group, result.reason, groupRuleViolationMessage(group, result, nodeLabel));
@@ -369,11 +373,14 @@ function describeSubgraphError(error, nodeLabel) {
369
373
  return ` (no path from "${nodeLabel(error.start)}" to "${nodeLabel(error.end)}")`;
370
374
  }
371
375
  }
372
- function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, }) {
373
- const triggers = nodes.filter((node) => {
374
- const nodeType = getNodeType(node);
375
- return nodeType ? isTriggerNode(nodeType) : false;
376
- });
376
+ function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, allowTriggerInGroup, allowMultipleBoundaryNodes, }) {
377
+ // A relaxed group may hold its own trigger, together with the nodes that follow it.
378
+ const triggers = allowTriggerInGroup
379
+ ? []
380
+ : nodes.filter((node) => {
381
+ const nodeType = getNodeType(node);
382
+ return nodeType ? isTriggerNode(nodeType) : false;
383
+ });
377
384
  if (triggers.length > 0) {
378
385
  return {
379
386
  valid: false,
@@ -383,7 +390,10 @@ function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNode
383
390
  }
384
391
  const adjacencyList = buildAdjacencyList(connectionsBySourceNode);
385
392
  const selectedNodeNames = new Set(nodes.map((node) => node.name));
386
- const selection = parseExtractableSubgraphSelection(selectedNodeNames, adjacencyList);
393
+ // A relaxed group may have several entry and exit nodes
394
+ const selection = parseExtractableSubgraphSelection(selectedNodeNames, adjacencyList, {
395
+ relaxBoundaryRules: allowMultipleBoundaryNodes,
396
+ });
387
397
  if (Array.isArray(selection)) {
388
398
  return { valid: false, reason: 'invalid-subgraph', errors: selection };
389
399
  }
@@ -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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"}
@@ -52,7 +52,7 @@ export interface IRunExecutionDataV1 {
52
52
  waitTill?: Date;
53
53
  pushRef?: string;
54
54
  /** Data needed for a worker to run a manual execution. */
55
- manualData?: Pick<IWorkflowExecutionDataProcess, 'dirtyNodeNames' | 'triggerToStartFrom' | 'userId' | 'evaluationRunId' | 'source' | 'suppressErrorWorkflow'>;
55
+ manualData?: Pick<IWorkflowExecutionDataProcess, 'dirtyNodeNames' | 'triggerToStartFrom' | 'userId' | 'evaluationRunId' | 'source' | 'suppressErrorWorkflow' | 'agentRequest'>;
56
56
  /** Metadata about whether and how this execution's data was redacted. */
57
57
  redactionInfo?: RedactionInfo;
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-execution-data.v1.d.ts","sourceRoot":"","sources":["../../../src/run-execution-data/run-execution-data.v1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;QAC7B,eAAe,CAAC,EAAE,gBAAgB,CAAC;QACnC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;QAC3C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,EAAE;QACX,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB;;;WAGG;QACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;QACnC,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF,aAAa,CAAC,EAAE;QACf,WAAW,EAAE,mBAAmB,CAAC;QACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,kBAAkB,EAAE,YAAY,EAAE,CAAC;QACnC,QAAQ,EAAE;YAET,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;SAC/B,CAAC;QACF,gBAAgB,EAAE,oBAAoB,CAAC;QACvC,sBAAsB,EAAE,0BAA0B,GAAG,IAAI,CAAC;KAC1D,CAAC;IACF,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,wEAAwE;IACxE,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,IAAI,CAChB,6BAA6B,EAC3B,gBAAgB,GAChB,oBAAoB,GACpB,QAAQ,GACR,iBAAiB,GACjB,QAAQ,GACR,uBAAuB,CACzB,CAAC;IAEF,yEAAyE;IACzE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAuBrF"}
1
+ {"version":3,"file":"run-execution-data.v1.d.ts","sourceRoot":"","sources":["../../../src/run-execution-data/run-execution-data.v1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;QAC7B,eAAe,CAAC,EAAE,gBAAgB,CAAC;QACnC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;QAC3C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,EAAE;QACX,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB;;;WAGG;QACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;QACnC,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF,aAAa,CAAC,EAAE;QACf,WAAW,EAAE,mBAAmB,CAAC;QACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,kBAAkB,EAAE,YAAY,EAAE,CAAC;QACnC,QAAQ,EAAE;YAET,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;SAC/B,CAAC;QACF,gBAAgB,EAAE,oBAAoB,CAAC;QACvC,sBAAsB,EAAE,0BAA0B,GAAG,IAAI,CAAC;KAC1D,CAAC;IACF,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,wEAAwE;IACxE,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,IAAI,CAChB,6BAA6B,EAC3B,gBAAgB,GAChB,oBAAoB,GACpB,QAAQ,GACR,iBAAiB,GACjB,QAAQ,GACR,uBAAuB,GAGvB,cAAc,CAChB,CAAC;IAEF,yEAAyE;IACzE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAuBrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-execution-data.v1.js","sourceRoot":"","sources":["../../../src/run-execution-data/run-execution-data.v1.ts"],"names":[],"mappings":"AAyFA,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAC1D,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAE1E,OAAO;QACN,GAAG,IAAI;QACP,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACV,GAAG,IAAI,CAAC,SAAS;YACjB,eAAe,EAAE,iBAAiB;gBACjC,CAAC,CAAC;oBACA,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE,WAAW;iBACjB;gBACF,CAAC,CAAC,SAAS;YACZ,uBAAuB,EAAE,yBAAyB;gBACjD,CAAC,CAAC;oBACA,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAE,WAAW;iBACjB;gBACF,CAAC,CAAC,SAAS;SACZ;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run-execution-data.v1.js","sourceRoot":"","sources":["../../../src/run-execution-data/run-execution-data.v1.ts"],"names":[],"mappings":"AA4FA,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAC1D,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAE1E,OAAO;QACN,GAAG,IAAI;QACP,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACV,GAAG,IAAI,CAAC,SAAS;YACjB,eAAe,EAAE,iBAAiB;gBACjC,CAAC,CAAC;oBACA,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE,WAAW;iBACjB;gBACF,CAAC,CAAC,SAAS;YACZ,uBAAuB,EAAE,yBAAyB;gBACjD,CAAC,CAAC;oBACA,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAE,WAAW;iBACjB;gBACF,CAAC,CAAC,SAAS;SACZ;KACD,CAAC;AACH,CAAC"}