n8n-workflow 2.40.1 → 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 (119) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.d.ts +11 -0
  3. package/dist/cjs/constants.d.ts.map +1 -1
  4. package/dist/cjs/constants.js +19 -2
  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/expression.d.ts +18 -0
  11. package/dist/cjs/expression.d.ts.map +1 -1
  12. package/dist/cjs/expression.js +66 -14
  13. package/dist/cjs/expression.js.map +1 -1
  14. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
  15. package/dist/cjs/extensions/array-extensions.js +22 -22
  16. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  17. package/dist/cjs/extensions/boolean-extensions.js +1 -1
  18. package/dist/cjs/extensions/boolean-extensions.js.map +1 -1
  19. package/dist/cjs/extensions/date-extensions.d.ts.map +1 -1
  20. package/dist/cjs/extensions/date-extensions.js +15 -15
  21. package/dist/cjs/extensions/date-extensions.js.map +1 -1
  22. package/dist/cjs/extensions/extended-functions.d.ts.map +1 -1
  23. package/dist/cjs/extensions/extended-functions.js +1 -1
  24. package/dist/cjs/extensions/extended-functions.js.map +1 -1
  25. package/dist/cjs/extensions/number-extensions.d.ts.map +1 -1
  26. package/dist/cjs/extensions/number-extensions.js +10 -10
  27. package/dist/cjs/extensions/number-extensions.js.map +1 -1
  28. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  29. package/dist/cjs/extensions/object-extensions.js +11 -11
  30. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  31. package/dist/cjs/extensions/string-extensions.d.ts.map +1 -1
  32. package/dist/cjs/extensions/string-extensions.js +31 -31
  33. package/dist/cjs/extensions/string-extensions.js.map +1 -1
  34. package/dist/cjs/graph/graph-utils.d.ts +5 -1
  35. package/dist/cjs/graph/graph-utils.d.ts.map +1 -1
  36. package/dist/cjs/graph/graph-utils.js +38 -29
  37. package/dist/cjs/graph/graph-utils.js.map +1 -1
  38. package/dist/cjs/index.d.ts +2 -0
  39. package/dist/cjs/index.d.ts.map +1 -1
  40. package/dist/cjs/index.js +2 -0
  41. package/dist/cjs/index.js.map +1 -1
  42. package/dist/cjs/interfaces.d.ts +26 -3
  43. package/dist/cjs/interfaces.d.ts.map +1 -1
  44. package/dist/cjs/interfaces.js.map +1 -1
  45. package/dist/cjs/n8n-browser-oauth2-flow.d.ts +28 -0
  46. package/dist/cjs/n8n-browser-oauth2-flow.d.ts.map +1 -0
  47. package/dist/cjs/n8n-browser-oauth2-flow.js +171 -0
  48. package/dist/cjs/n8n-browser-oauth2-flow.js.map +1 -0
  49. package/dist/cjs/n8n-oauth2-auth.d.ts +22 -0
  50. package/dist/cjs/n8n-oauth2-auth.d.ts.map +1 -1
  51. package/dist/cjs/n8n-oauth2-auth.js +27 -1
  52. package/dist/cjs/n8n-oauth2-auth.js.map +1 -1
  53. package/dist/cjs/node-grouping-validation.d.ts +14 -3
  54. package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
  55. package/dist/cjs/node-grouping-validation.js +26 -16
  56. package/dist/cjs/node-grouping-validation.js.map +1 -1
  57. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +7 -1
  58. package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  59. package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
  60. package/dist/esm/constants.d.ts +11 -0
  61. package/dist/esm/constants.d.ts.map +1 -1
  62. package/dist/esm/constants.js +15 -0
  63. package/dist/esm/constants.js.map +1 -1
  64. package/dist/esm/empty-group-anchor.d.ts +8 -0
  65. package/dist/esm/empty-group-anchor.d.ts.map +1 -0
  66. package/dist/esm/empty-group-anchor.js +18 -0
  67. package/dist/esm/empty-group-anchor.js.map +1 -0
  68. package/dist/esm/expression.d.ts +18 -0
  69. package/dist/esm/expression.d.ts.map +1 -1
  70. package/dist/esm/expression.js +66 -14
  71. package/dist/esm/expression.js.map +1 -1
  72. package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
  73. package/dist/esm/extensions/array-extensions.js +22 -22
  74. package/dist/esm/extensions/array-extensions.js.map +1 -1
  75. package/dist/esm/extensions/boolean-extensions.js +1 -1
  76. package/dist/esm/extensions/boolean-extensions.js.map +1 -1
  77. package/dist/esm/extensions/date-extensions.d.ts.map +1 -1
  78. package/dist/esm/extensions/date-extensions.js +15 -15
  79. package/dist/esm/extensions/date-extensions.js.map +1 -1
  80. package/dist/esm/extensions/extended-functions.d.ts.map +1 -1
  81. package/dist/esm/extensions/extended-functions.js +1 -1
  82. package/dist/esm/extensions/extended-functions.js.map +1 -1
  83. package/dist/esm/extensions/number-extensions.d.ts.map +1 -1
  84. package/dist/esm/extensions/number-extensions.js +10 -10
  85. package/dist/esm/extensions/number-extensions.js.map +1 -1
  86. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  87. package/dist/esm/extensions/object-extensions.js +11 -11
  88. package/dist/esm/extensions/object-extensions.js.map +1 -1
  89. package/dist/esm/extensions/string-extensions.d.ts.map +1 -1
  90. package/dist/esm/extensions/string-extensions.js +31 -31
  91. package/dist/esm/extensions/string-extensions.js.map +1 -1
  92. package/dist/esm/graph/graph-utils.d.ts +5 -1
  93. package/dist/esm/graph/graph-utils.d.ts.map +1 -1
  94. package/dist/esm/graph/graph-utils.js +38 -29
  95. package/dist/esm/graph/graph-utils.js.map +1 -1
  96. package/dist/esm/index.d.ts +2 -0
  97. package/dist/esm/index.d.ts.map +1 -1
  98. package/dist/esm/index.js +2 -0
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/interfaces.d.ts +26 -3
  101. package/dist/esm/interfaces.d.ts.map +1 -1
  102. package/dist/esm/interfaces.js.map +1 -1
  103. package/dist/esm/n8n-browser-oauth2-flow.d.ts +28 -0
  104. package/dist/esm/n8n-browser-oauth2-flow.d.ts.map +1 -0
  105. package/dist/esm/n8n-browser-oauth2-flow.js +167 -0
  106. package/dist/esm/n8n-browser-oauth2-flow.js.map +1 -0
  107. package/dist/esm/n8n-oauth2-auth.d.ts +22 -0
  108. package/dist/esm/n8n-oauth2-auth.d.ts.map +1 -1
  109. package/dist/esm/n8n-oauth2-auth.js +25 -0
  110. package/dist/esm/n8n-oauth2-auth.js.map +1 -1
  111. package/dist/esm/node-grouping-validation.d.ts +14 -3
  112. package/dist/esm/node-grouping-validation.d.ts.map +1 -1
  113. package/dist/esm/node-grouping-validation.js +26 -16
  114. package/dist/esm/node-grouping-validation.js.map +1 -1
  115. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +7 -1
  116. package/dist/esm/run-execution-data/run-execution-data.v1.d.ts.map +1 -1
  117. package/dist/esm/run-execution-data/run-execution-data.v1.js.map +1 -1
  118. package/dist/esm/typecheck.tsbuildinfo +1 -1
  119. package/package.json +9 -8
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.n8nBrowserOAuth2Flow = void 0;
4
+ /**
5
+ * Carries the access token across the single same-site redirect from the OAuth
6
+ * callback to the clean webhook URL, so `code`/`state` never reach the workflow's
7
+ * query data. Mirrors the form trigger's `n8n-form-oauth` cookie.
8
+ */
9
+ const BROWSER_OAUTH_COOKIE_NAME = 'n8n-webhook-oauth';
10
+ /** Query params owned by the OAuth callback, stripped before handing the URL back. */
11
+ const CALLBACK_PARAMS = ['code', 'state', 'error', 'error_description', 'iss'];
12
+ /** The path part of a same-origin URL, normalized to a single leading slash. */
13
+ function pathOf(url) {
14
+ const path = url.split('?')[0];
15
+ return `/${path.replace(/^\/+/, '')}`;
16
+ }
17
+ /**
18
+ * `path` must be where the browser will *read* the cookie: a dynamic webhook's
19
+ * `redirect_uri` is the templated path (`/webhook/<id>/user/:id`), but the hop that
20
+ * consumes the cookie sits on the resolved one (`/webhook/<id>/user/42`).
21
+ */
22
+ function cookieOptions(req, path) {
23
+ // `secure` follows the request scheme (honouring x-forwarded-proto), so the cookie
24
+ // still comes back over plain http in dev.
25
+ const forwardedProto = req.headers['x-forwarded-proto'];
26
+ const proto = (typeof forwardedProto === 'string' ? forwardedProto.trim() : '') || req.protocol;
27
+ return {
28
+ httpOnly: true,
29
+ sameSite: 'lax', // must be Lax: sent on our own top-level 302 → GET
30
+ secure: proto === 'https',
31
+ path,
32
+ };
33
+ }
34
+ /** A cookie value that isn't valid percent-encoding is treated as no cookie at all. */
35
+ function readCookie(req) {
36
+ const match = (req.headers.cookie ?? '').match(new RegExp(`(?:^|;\\s*)${BROWSER_OAUTH_COOKIE_NAME}=([^;]+)`));
37
+ if (!match)
38
+ return null;
39
+ try {
40
+ return decodeURIComponent(match[1].trim());
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ /**
47
+ * Drops the one-hop cookie from the request so its token never reaches the workflow's
48
+ * `headers` data; unrelated cookies stay. The cli sanitizer runs before the node and
49
+ * must leave it in place for the flow to read.
50
+ */
51
+ function stripCookie(req) {
52
+ const rest = (req.headers.cookie ?? '')
53
+ .split(';')
54
+ .map((cookie) => cookie.trim())
55
+ .filter((cookie) => cookie && !cookie.startsWith(`${BROWSER_OAUTH_COOKIE_NAME}=`));
56
+ if (rest.length)
57
+ req.headers.cookie = rest.join('; ');
58
+ else
59
+ delete req.headers.cookie;
60
+ }
61
+ /**
62
+ * True only for a *top-level* browser navigation. `Sec-Fetch-Mode: navigate` alone is
63
+ * not enough: a hidden `<iframe>` on someone else's page reports it too and could ride
64
+ * the victim's session through `/oauth/authorize` without a click, so `Sec-Fetch-Dest`
65
+ * must be `document` (or absent, for the Accept fallback). `force` skips the check for
66
+ * the "always redirect" node setting; the caller has already ruled out non-GETs.
67
+ */
68
+ function isBrowserNavigation(req, force) {
69
+ if (force)
70
+ return true;
71
+ const dest = req.headers['sec-fetch-dest'];
72
+ if (typeof dest === 'string' && dest !== 'document')
73
+ return false;
74
+ const mode = req.headers['sec-fetch-mode'];
75
+ if (typeof mode === 'string')
76
+ return mode === 'navigate';
77
+ return (req.headers.accept ?? '').includes('text/html');
78
+ }
79
+ /**
80
+ * Where to send the browser once authenticated: the URL it asked for, minus the
81
+ * callback's own params. Stashed server-side against `state`, yet still normalized to
82
+ * a single-slash path so it can never become a protocol-relative redirect.
83
+ */
84
+ function returnToUrl(req) {
85
+ const [, query] = req.originalUrl.split('?');
86
+ const params = new URLSearchParams(query ?? '');
87
+ for (const param of CALLBACK_PARAMS)
88
+ params.delete(param);
89
+ const search = params.toString();
90
+ const safePath = pathOf(req.originalUrl);
91
+ return search ? `${safePath}?${search}` : safePath;
92
+ }
93
+ function redirect(res, location) {
94
+ res.writeHead(302, { Location: location });
95
+ res.end();
96
+ return 'handled';
97
+ }
98
+ /**
99
+ * Authenticates a *browser* hitting an `n8nOAuth2` webhook with no client setup: the
100
+ * webhook URL doubles as virtual first-party client_id and redirect_uri against this
101
+ * instance's own AS, with PKCE and `state` generated server-side. Three GET shapes:
102
+ *
103
+ * 1. **Fresh GET** (browser navigation) → 302 to `/oauth/authorize`.
104
+ * 2. **Callback** (`code` + `state`) → exchange server-to-server, stash the token in a
105
+ * one-hop cookie, 302 back to the URL originally asked for.
106
+ * 3. **Clean GET** (cookie present) → validate, consume the cookie, run the workflow.
107
+ *
108
+ * Anything that isn't a browser navigation on a GET is `'not-applicable'` and the
109
+ * caller falls back to the 401 + `WWW-Authenticate` path. `force` (the node's
110
+ * "Browser (Virtual Client)" setting) skips the navigation heuristic, never the GET rule.
111
+ */
112
+ const n8nBrowserOAuth2Flow = async (context, resourceUrl, force = false) => {
113
+ const req = context.getRequestObject();
114
+ const res = context.getResponseObject();
115
+ // The whole flow is GET-only and navigation-only, callback and cookie hops included:
116
+ // a redirect can't carry a POST body, and a same-origin fetch() still sends the
117
+ // Lax cookie, so neither may spend it.
118
+ if (req.method !== 'GET' || !isBrowserNavigation(req, force)) {
119
+ return 'not-applicable';
120
+ }
121
+ const { code, state, error } = (req.query ?? {});
122
+ const isCallback = typeof code === 'string' && typeof state === 'string';
123
+ const cookieToken = readCookie(req);
124
+ if (typeof error === 'string') {
125
+ // The user denied consent (or the AS refused). Restarting here would loop straight
126
+ // back into the same denial, so stop and report.
127
+ context.logger.warn('Webhook OAuth2 authorization was denied or failed', {
128
+ error,
129
+ error_description: req.query.error_description,
130
+ });
131
+ res.status(403).send('Access denied');
132
+ res.end();
133
+ return 'handled';
134
+ }
135
+ if (isCallback) {
136
+ try {
137
+ const result = await context.completeN8nOAuth2Flow(code, state);
138
+ if (result.valid) {
139
+ // Not on the callback URL itself: `code`/`state` would land in the webhook's
140
+ // query data. One-hop cookie, then bounce to the clean URL.
141
+ const location = result.metadata?.returnTo ?? returnToUrl(req);
142
+ res.cookie(BROWSER_OAUTH_COOKIE_NAME, result.token, {
143
+ ...cookieOptions(req, pathOf(location)),
144
+ maxAge: 60_000, // one redirect hop; short by design
145
+ });
146
+ return redirect(res, location);
147
+ }
148
+ context.logger.warn('Webhook OAuth2 flow failed, restarting', { reason: result.reason });
149
+ }
150
+ catch (error) {
151
+ context.logger.warn('Webhook OAuth2 flow failed, restarting', { error });
152
+ }
153
+ // Fall through to restart the flow.
154
+ }
155
+ else if (cookieToken !== null) {
156
+ // Cleared at the path it was set for: this request *is* the redirect target.
157
+ res.clearCookie(BROWSER_OAUTH_COOKIE_NAME, cookieOptions(req, pathOf(req.originalUrl)));
158
+ stripCookie(req);
159
+ const validation = await context.validateN8nOAuth2Token(cookieToken, resourceUrl);
160
+ if (validation.valid) {
161
+ return { status: 'ok', token: cookieToken, user: validation.user };
162
+ }
163
+ // Stale/invalid cookie — fall through to restart the flow.
164
+ }
165
+ const authorizationUrl = await context.beginN8nOAuth2Flow(resourceUrl, {
166
+ returnTo: returnToUrl(req),
167
+ });
168
+ return redirect(res, authorizationUrl);
169
+ };
170
+ exports.n8nBrowserOAuth2Flow = n8nBrowserOAuth2Flow;
171
+ //# 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,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.n8nOAuth2Auth = void 0;
3
+ exports.n8nOAuth2Auth = exports.WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION = void 0;
4
+ exports.resolveOAuthClientMode = resolveOAuthClientMode;
4
5
  const auth_redaction_1 = require("./auth-redaction");
5
6
  const errors_1 = require("./errors");
7
+ const n8n_browser_oauth2_flow_1 = require("./n8n-browser-oauth2-flow");
8
+ /**
9
+ * Webhook node `typeVersion` from which an unset `oauthClient` defaults to `auto`.
10
+ * Below it the option didn't exist, so those workflows keep bearer-only on upgrade.
11
+ */
12
+ exports.WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION = 2.2;
13
+ /**
14
+ * Explicit value wins; unset resolves by node version. Shared by the Webhook node
15
+ * (runtime redirect) and its resolvers (static `isFirstParty`) so they can't diverge.
16
+ */
17
+ function resolveOAuthClientMode(oauthClient, typeVersion) {
18
+ return oauthClient ?? (typeVersion >= exports.WEBHOOK_OAUTH_CLIENT_DEFAULT_VERSION ? 'auto' : 'bearer');
19
+ }
6
20
  function trimTrailingSlash(url) {
7
21
  return url.endsWith('/') ? url.slice(0, -1) : url;
8
22
  }
@@ -38,6 +52,9 @@ function sendUnauthorizedResponse(resp, code, prmUrl, realm, error) {
38
52
  * header (e.g. `n8n Webhook` vs `n8n MCP Server`); everything else — token
39
53
  * parsing, protected-resource-metadata URL, error-code mapping — is identical and
40
54
  * kept here so the two auth modes can't drift.
55
+ *
56
+ * With `browserFlow` set to anything but `'bearer'`, a tokenless browser navigation
57
+ * is redirected through this instance's own AS instead (see {@link n8nBrowserOAuth2Flow}).
41
58
  */
42
59
  const n8nOAuth2Auth = async (context, options) => {
43
60
  const webhookUrl = context.getWebhookResourceUrl('default');
@@ -57,6 +74,15 @@ const n8nOAuth2Auth = async (context, options) => {
57
74
  const req = context.getRequestObject();
58
75
  const token = getBearerToken(req.headers.authorization);
59
76
  if (!token) {
77
+ if (options.browserFlow && options.browserFlow !== 'bearer') {
78
+ const outcome = await (0, n8n_browser_oauth2_flow_1.n8nBrowserOAuth2Flow)(context, resourceUrl, options.browserFlow === 'browser');
79
+ if (outcome === 'handled')
80
+ return 'handled';
81
+ if (outcome !== 'not-applicable') {
82
+ (0, auth_redaction_1.recordConsumedAuth)(req, ['cookie']);
83
+ return { status: 'ok', token: outcome.token, resource: resourceUrl, user: outcome.user };
84
+ }
85
+ }
60
86
  sendUnauthorizedResponse(resp, 401, prmUrl, options.realm);
61
87
  return 'handled';
62
88
  }
@@ -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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"}
@@ -128,9 +128,17 @@ exports.NODE_GROUPING_RULES = {
128
128
  },
129
129
  };
130
130
  function validateNodeSelectionForExtraction(input) {
131
- const subgraphResult = validateNodeSelectionSubgraph(input);
132
- if (!subgraphResult.valid)
131
+ // Both rules forced off: extraction replaces the selection with one node, which
132
+ // has one input and one output. Several entries or exits leave nothing to wire
133
+ // that node back to.
134
+ const subgraphResult = validateNodeSelectionSubgraph({
135
+ ...input,
136
+ allowTriggerInGroup: false,
137
+ allowMultipleBoundaryNodes: false,
138
+ });
139
+ if (!subgraphResult.valid) {
133
140
  return subgraphResult;
141
+ }
134
142
  const { nodes, getNodeType, getNodeInputs, getNodeOutputs } = input;
135
143
  const { start, end } = subgraphResult.subGraphData;
136
144
  const nodesByName = new Map(nodes.map((node) => [node.name, node]));
@@ -215,13 +223,8 @@ function makeGetNodeTypeForGrouping(nodeTypes) {
215
223
  * Note: must be called after node IDs are assigned (see `addNodeIds` in the CLI),
216
224
  * since nodes created via the API may not have IDs until that step assigns them.
217
225
  */
218
- function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
219
- const result = validateWorkflowGroupsWithGroupIdentity({
220
- nodes,
221
- connectionsBySourceNode,
222
- nodeGroups,
223
- getNodeType,
224
- });
226
+ function validateWorkflowGroups(input) {
227
+ const result = validateWorkflowGroupsWithGroupIdentity(input);
225
228
  if (result.valid)
226
229
  return { valid: true };
227
230
  const [firstViolation, ...restViolations] = result.violations;
@@ -233,7 +236,7 @@ function validateWorkflowGroups({ nodes, connectionsBySourceNode, nodeGroups, ge
233
236
  ],
234
237
  };
235
238
  }
236
- function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, }) {
239
+ function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNode, nodeGroups, getNodeType, ...rules }) {
237
240
  if (!nodeGroups || nodeGroups.length === 0)
238
241
  return { valid: true };
239
242
  const violations = [];
@@ -296,6 +299,7 @@ function validateWorkflowGroupsWithGroupIdentity({ nodes, connectionsBySourceNod
296
299
  connectionsBySourceNode: connections,
297
300
  getNodeType,
298
301
  existingNodeGroups: nodeGroups.filter((other) => other.id !== group.id),
302
+ ...rules,
299
303
  });
300
304
  if (!result.valid) {
301
305
  addViolation(group, result.reason, groupRuleViolationMessage(group, result, nodeLabel));
@@ -381,11 +385,14 @@ function describeSubgraphError(error, nodeLabel) {
381
385
  return ` (no path from "${nodeLabel(error.start)}" to "${nodeLabel(error.end)}")`;
382
386
  }
383
387
  }
384
- function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, }) {
385
- const triggers = nodes.filter((node) => {
386
- const nodeType = getNodeType(node);
387
- return nodeType ? (0, node_helpers_1.isTriggerNode)(nodeType) : false;
388
- });
388
+ function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNodeType, allowTriggerInGroup, allowMultipleBoundaryNodes, }) {
389
+ // A relaxed group may hold its own trigger, together with the nodes that follow it.
390
+ const triggers = allowTriggerInGroup
391
+ ? []
392
+ : nodes.filter((node) => {
393
+ const nodeType = getNodeType(node);
394
+ return nodeType ? (0, node_helpers_1.isTriggerNode)(nodeType) : false;
395
+ });
389
396
  if (triggers.length > 0) {
390
397
  return {
391
398
  valid: false,
@@ -395,7 +402,10 @@ function validateNodeSelectionSubgraph({ nodes, connectionsBySourceNode, getNode
395
402
  }
396
403
  const adjacencyList = (0, graph_utils_1.buildAdjacencyList)(connectionsBySourceNode);
397
404
  const selectedNodeNames = new Set(nodes.map((node) => node.name));
398
- const selection = (0, graph_utils_1.parseExtractableSubgraphSelection)(selectedNodeNames, adjacencyList);
405
+ // A relaxed group may have several entry and exit nodes
406
+ const selection = (0, graph_utils_1.parseExtractableSubgraphSelection)(selectedNodeNames, adjacencyList, {
407
+ relaxBoundaryRules: allowMultipleBoundaryNodes,
408
+ });
399
409
  if (Array.isArray(selection)) {
400
410
  return { valid: false, reason: 'invalid-subgraph', errors: selection };
401
411
  }
@@ -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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"}
@@ -4,6 +4,12 @@ export interface RedactionInfo {
4
4
  isRedacted: boolean;
5
5
  reason: string;
6
6
  canReveal: boolean;
7
+ /**
8
+ * True when the info is synthesized from live push markers before the
9
+ * authoritative executionFinished metadata arrives. `canReveal` is a
10
+ * pessimistic guess while this is set.
11
+ */
12
+ provisional?: boolean;
7
13
  }
8
14
  export interface IRunExecutionDataV1 {
9
15
  version: 1;
@@ -46,7 +52,7 @@ export interface IRunExecutionDataV1 {
46
52
  waitTill?: Date;
47
53
  pushRef?: string;
48
54
  /** Data needed for a worker to run a manual execution. */
49
- manualData?: Pick<IWorkflowExecutionDataProcess, 'dirtyNodeNames' | 'triggerToStartFrom' | 'userId' | 'evaluationRunId' | 'source' | 'suppressErrorWorkflow'>;
55
+ manualData?: Pick<IWorkflowExecutionDataProcess, 'dirtyNodeNames' | 'triggerToStartFrom' | 'userId' | 'evaluationRunId' | 'source' | 'suppressErrorWorkflow' | 'agentRequest'>;
50
56
  /** Metadata about whether and how this execution's data was redacted. */
51
57
  redactionInfo?: RedactionInfo;
52
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;CACnB;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":";;;AAmFA,gCAAuC,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,gCAAuC,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"}
@@ -4,6 +4,17 @@ export declare const LOWERCASE_LETTERS: string;
4
4
  export declare const ALPHABET: string;
5
5
  export declare const BINARY_ENCODING = "base64";
6
6
  export declare const WAIT_INDEFINITELY: Date;
7
+ export declare const WAIT_FOR_SUB_EXECUTION: Date;
8
+ /**
9
+ * The longest wait that sleeps in the process instead of suspending the execution.
10
+ * `WaitTracker` polls every 60 seconds, so it can need a full minute to see a new row.
11
+ * A suspended wait shorter than that resumes late. The 5 extra seconds cover the delay
12
+ * until the row is written. `ExecutionRepository.getWaitingExecutions` must keep
13
+ * selecting rows further out than one poll interval. Change this number only with
14
+ * those two.
15
+ */
16
+ export declare const MAX_IN_PROCESS_WAIT_MS = 65000;
17
+ export declare function isIndefiniteWait(waitTill: Date): boolean;
7
18
  export declare const LOG_LEVELS: readonly ['silent', 'error', 'warn', 'info', 'debug'];
8
19
  export declare const CODE_LANGUAGES: readonly ['javaScript', 'python', 'json', 'html'];
9
20
  export declare const CODE_EXECUTION_MODES: readonly ['runOnceForAllItems', 'runOnceForEachItem'];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,21 @@ export const LOWERCASE_LETTERS = UPPERCASE_LETTERS.toLowerCase();
4
4
  export const ALPHABET = [DIGITS, UPPERCASE_LETTERS, LOWERCASE_LETTERS].join('');
5
5
  export const BINARY_ENCODING = 'base64';
6
6
  export const WAIT_INDEFINITELY = new Date('3000-01-01T00:00:00.000Z');
7
+ // A parent parked on a sub-execution gets its own sentinel so the waiting-executions sweep can select those rows by equality.
8
+ export const WAIT_FOR_SUB_EXECUTION = new Date('2999-12-31T00:00:00.000Z');
9
+ /**
10
+ * The longest wait that sleeps in the process instead of suspending the execution.
11
+ * `WaitTracker` polls every 60 seconds, so it can need a full minute to see a new row.
12
+ * A suspended wait shorter than that resumes late. The 5 extra seconds cover the delay
13
+ * until the row is written. `ExecutionRepository.getWaitingExecutions` must keep
14
+ * selecting rows further out than one poll interval. Change this number only with
15
+ * those two.
16
+ */
17
+ export const MAX_IN_PROCESS_WAIT_MS = 65_000;
18
+ export function isIndefiniteWait(waitTill) {
19
+ const time = waitTill.getTime();
20
+ return time === WAIT_INDEFINITELY.getTime() || time === WAIT_FOR_SUB_EXECUTION.getTime();
21
+ }
7
22
  export const LOG_LEVELS = ['silent', 'error', 'warn', 'info', 'debug'];
8
23
  export const CODE_LANGUAGES = ['javaScript', 'python', 'json', 'html'];
9
24
  export const CODE_EXECUTION_MODES = ['runOnceForAllItems', 'runOnceForEachItem'];