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.
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/constants.d.ts +11 -0
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +19 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/empty-group-anchor.d.ts +8 -0
- package/dist/cjs/empty-group-anchor.d.ts.map +1 -0
- package/dist/cjs/empty-group-anchor.js +22 -0
- package/dist/cjs/empty-group-anchor.js.map +1 -0
- package/dist/cjs/expression.d.ts +18 -0
- package/dist/cjs/expression.d.ts.map +1 -1
- package/dist/cjs/expression.js +66 -14
- 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 +22 -22
- package/dist/cjs/extensions/array-extensions.js.map +1 -1
- package/dist/cjs/extensions/boolean-extensions.js +1 -1
- package/dist/cjs/extensions/boolean-extensions.js.map +1 -1
- package/dist/cjs/extensions/date-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/date-extensions.js +15 -15
- package/dist/cjs/extensions/date-extensions.js.map +1 -1
- package/dist/cjs/extensions/extended-functions.d.ts.map +1 -1
- package/dist/cjs/extensions/extended-functions.js +1 -1
- package/dist/cjs/extensions/extended-functions.js.map +1 -1
- package/dist/cjs/extensions/number-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/number-extensions.js +10 -10
- package/dist/cjs/extensions/number-extensions.js.map +1 -1
- package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/object-extensions.js +11 -11
- package/dist/cjs/extensions/object-extensions.js.map +1 -1
- package/dist/cjs/extensions/string-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/string-extensions.js +31 -31
- package/dist/cjs/extensions/string-extensions.js.map +1 -1
- package/dist/cjs/graph/graph-utils.d.ts +5 -1
- package/dist/cjs/graph/graph-utils.d.ts.map +1 -1
- package/dist/cjs/graph/graph-utils.js +38 -29
- package/dist/cjs/graph/graph-utils.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces.d.ts +26 -3
- package/dist/cjs/interfaces.d.ts.map +1 -1
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/n8n-browser-oauth2-flow.d.ts +28 -0
- package/dist/cjs/n8n-browser-oauth2-flow.d.ts.map +1 -0
- package/dist/cjs/n8n-browser-oauth2-flow.js +171 -0
- package/dist/cjs/n8n-browser-oauth2-flow.js.map +1 -0
- package/dist/cjs/n8n-oauth2-auth.d.ts +22 -0
- package/dist/cjs/n8n-oauth2-auth.d.ts.map +1 -1
- package/dist/cjs/n8n-oauth2-auth.js +27 -1
- package/dist/cjs/n8n-oauth2-auth.js.map +1 -1
- package/dist/cjs/node-grouping-validation.d.ts +14 -3
- package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
- package/dist/cjs/node-grouping-validation.js +26 -16
- package/dist/cjs/node-grouping-validation.js.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +7 -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/esm/constants.d.ts +11 -0
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +15 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/empty-group-anchor.d.ts +8 -0
- package/dist/esm/empty-group-anchor.d.ts.map +1 -0
- package/dist/esm/empty-group-anchor.js +18 -0
- package/dist/esm/empty-group-anchor.js.map +1 -0
- package/dist/esm/expression.d.ts +18 -0
- package/dist/esm/expression.d.ts.map +1 -1
- package/dist/esm/expression.js +66 -14
- 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 +22 -22
- package/dist/esm/extensions/array-extensions.js.map +1 -1
- package/dist/esm/extensions/boolean-extensions.js +1 -1
- package/dist/esm/extensions/boolean-extensions.js.map +1 -1
- package/dist/esm/extensions/date-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/date-extensions.js +15 -15
- package/dist/esm/extensions/date-extensions.js.map +1 -1
- package/dist/esm/extensions/extended-functions.d.ts.map +1 -1
- package/dist/esm/extensions/extended-functions.js +1 -1
- package/dist/esm/extensions/extended-functions.js.map +1 -1
- package/dist/esm/extensions/number-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/number-extensions.js +10 -10
- package/dist/esm/extensions/number-extensions.js.map +1 -1
- package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/object-extensions.js +11 -11
- package/dist/esm/extensions/object-extensions.js.map +1 -1
- package/dist/esm/extensions/string-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/string-extensions.js +31 -31
- package/dist/esm/extensions/string-extensions.js.map +1 -1
- package/dist/esm/graph/graph-utils.d.ts +5 -1
- package/dist/esm/graph/graph-utils.d.ts.map +1 -1
- package/dist/esm/graph/graph-utils.js +38 -29
- package/dist/esm/graph/graph-utils.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.d.ts +26 -3
- package/dist/esm/interfaces.d.ts.map +1 -1
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/n8n-browser-oauth2-flow.d.ts +28 -0
- package/dist/esm/n8n-browser-oauth2-flow.d.ts.map +1 -0
- package/dist/esm/n8n-browser-oauth2-flow.js +167 -0
- package/dist/esm/n8n-browser-oauth2-flow.js.map +1 -0
- package/dist/esm/n8n-oauth2-auth.d.ts +22 -0
- package/dist/esm/n8n-oauth2-auth.d.ts.map +1 -1
- package/dist/esm/n8n-oauth2-auth.js +25 -0
- package/dist/esm/n8n-oauth2-auth.js.map +1 -1
- package/dist/esm/node-grouping-validation.d.ts +14 -3
- package/dist/esm/node-grouping-validation.d.ts.map +1 -1
- package/dist/esm/node-grouping-validation.js +26 -16
- package/dist/esm/node-grouping-validation.js.map +1 -1
- package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +7 -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/typecheck.tsbuildinfo +1 -1
- package/package.json +9 -8
|
@@ -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;
|
|
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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
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>(
|
|
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":"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,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,MAAM,cAAc,CAAC;AAMtB,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED,+EAA+E;AAC/E,eAAO,MAAM,iCAAiC,iCAAiC,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IAClC,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAC/C,GAAG,CAAC,MAAM,CAAC,CAkBb;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,uBAAuB,CAAC,EAAE,YAAY,CAAC;CACvC,GAAG,oBAAoB,CAwBvB;AAED,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAWhF;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;
|
|
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
|
-
|
|
120
|
-
|
|
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(
|
|
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
|
-
|
|
374
|
-
|
|
375
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACN,kBAAkB,EAClB,iCAAiC,GAIjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,mBAAmB,GASnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKlE,iGAAiG;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAoB;IAC7D,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAgBhF;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAClC,uBAAiD;IAEjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,KAAK,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3F,uFAAuF;QACvF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC9E,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,IACC,cAAc,CAAC,MAAM,GAAG,CAAC;YACzB,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,CAAC,EAChE,CAAC;YACF,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAE/C,OAAO;QACN,KAAK;QACL,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,KAAK,GAAG,sBAAsB;QAC3C,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1C,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;KAC1F,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,0BAA0B,CAAC,OAA6B;IACvE,MAAM,cAAc,GACnB,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACpC,CAAC,CAAC,sBAAsB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/D,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACN,4BAA4B,OAAO,CAAC,KAAK,+CAA+C,OAAO,CAAC,OAAO,qBAAqB;QAC5H,cAAc;QACd,yGAAyG,CACzG,CAAC;AACH,CAAC;AA6CD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,eAAe,EAAE;QAChB,YAAY,EAAE,gEAAgE;QAC9E,SAAS,EAAE,8BAA8B;KACzC;IACD,eAAe,EAAE;QAChB,YAAY,EACX,uFAAuF;YACvF,qFAAqF;YACrF,2FAA2F;YAC3F,4FAA4F;YAC5F,4FAA4F;YAC5F,oGAAoG;YACpG,2FAA2F;YAC3F,mDAAmD;YACnD,0EAA0E;QAC3E,SAAS,EAAE,oEAAoE;KAC/E;IACD,eAAe,EAAE;QAChB,YAAY,EACX,4FAA4F;YAC5F,6FAA6F;YAC7F,mGAAmG;QACpG,6FAA6F;QAC7F,SAAS,EAAE,kBAAkB;KAC7B;IACD,kBAAkB,EAAE;QACnB,YAAY,EAAE,2EAA2E;QACzF,SAAS,EAAE,qDAAqD;KAChE;CACQ,CAAC;AAEX,MAAM,UAAU,kCAAkC,CACjD,KAAyC;IAEzC,gFAAgF;IAChF,+EAA+E;IAC/E,qBAAqB;IACrB,MAAM,cAAc,GAAG,6BAA6B,CAAC;QACpD,GAAG,KAAK;QACR,mBAAmB,EAAE,KAAK;QAC1B,0BAA0B,EAAE,KAAK;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpE,IACC,KAAK;QACL,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC,EACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC;IAED,IACC,GAAG;QACH,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC,EACxF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,KAAyC;IAEzC,MAAM,qBAAqB,GAAG,yBAAyB,CACtD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAClC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAC9B,CAAC;IACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACzF,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IACtF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;SAClD,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,6BAA6B,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,cAAc,CAAC,KAAK;QAAE,OAAO,cAAc,CAAC;IAEjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,kBAAkB,GAAG,6BAA6B,CACvD,SAAS,EACT,KAAK,CAAC,uBAAuB,CAC7B,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACtF,CAAC;IAED,2EAA2E;IAC3E,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACrD,CAAC;AAsCD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAqB;IAC/D,OAAO,CAAC,IAAW,EAAE,EAAE;QACtB,IAAI,CAAC;YACJ,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,sBAAsB,CACrC,KAA2C;IAE3C,MAAM,MAAM,GAAG,uCAAuC,CAAC,KAAK,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzC,MAAM,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9D,OAAO;QACN,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACX,0BAA0B,CAAC,cAAc,CAAC;YAC1C,GAAG,cAAc,CAAC,GAAG,CAAC,0BAA0B,CAAC;SACjD;KACD,CAAC;AACH,CAAC;AAED,SAAS,uCAAuC,CAAsB,EACrE,KAAK,EACL,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,GAAG,KAAK,EAC8B;IAMtC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEnE,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,6EAA6E;IAC7E,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5D,MAAM,YAAY,GAAG,CACpB,KAAqB,EACrB,IAAgC,EAChC,OAAe,EACd,EAAE;QACH,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClG,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,CAAC,IAAgC,EAAE,OAAe,EAAE,EAAE;YAC/E,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,mBAAmB;QACnB,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,iBAAiB,CAAC,oBAAoB,EAAE,4BAA4B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE3B,qBAAqB;QACrB,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,iBAAiB,CAAC,sBAAsB,EAAE,8BAA8B,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACzF,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,iBAAiB,CAAC,aAAa,EAAE,UAAU,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,kCAAkC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,iBAAiB,CAChB,iBAAiB,EACjB,UAAU,KAAK,CAAC,IAAI,yBAAyB,MAAM,wCAAwC,CAC3F,CAAC;gBACF,SAAS;YACV,CAAC;YACD,sCAAsC;YACtC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,aAAa,EAAE,CAAC;gBACnB,iBAAiB,CAChB,yBAAyB,EACzB,SAAS,SAAS,CAAC,MAAM,CAAC,kCAAkC,aAAa,UAAU,KAAK,CAAC,IAAI,IAAI,CACjG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,uBAAuB,IAAI,EAAE,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAChC,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEnD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,gCAAgC,CAAC;gBAC/C,KAAK,EAAE,UAAU;gBACjB,uBAAuB,EAAE,WAAW;gBACpC,WAAW;gBACX,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvE,GAAG,KAAK;aACR,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACnB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACzF,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,GAAG,UAAU,CAAC;IACvD,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,0BAA0B,CAAC,EACnC,OAAO,EACP,SAAS,EACT,IAAI,EACJ,OAAO,GAC0B;IACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAuF,EACvF,WAA0C,EAC1C,UAAU,GAAmD,GAAG,EAAE,CAAC,IAAI;IAEvE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,uCAAuC,CAAC;QACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,uBAAuB,EAAE,QAAQ,CAAC,WAAW;QAC7C,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW;KACX,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvF,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CACjC,KAAqB,EACrB,MAA4D,EAC5D,SAAqC;IAErC,MAAM,KAAK,GAAG,eAAe,KAAK,CAAC,IAAI,GAAG,CAAC;IAC3C,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,kBAAkB;YACtB,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,eAAe,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpG,KAAK,kBAAkB;YACtB,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,eAAe,CAAC,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;QAC1H,KAAK,sBAAsB;YAC1B,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrH,KAAK,mBAAmB;YACvB,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,eAAe,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,yBAAyB,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;QACpL,sFAAsF;QACtF,KAAK,yBAAyB;YAC7B,OAAO,GAAG,KAAK,yCAAyC,MAAM,CAAC,IAAI,IAAI,CAAC;QACzE,KAAK,0BAA0B;YAC9B,OAAO,GAAG,KAAK,0CAA0C,MAAM,CAAC,IAAI,IAAI,CAAC;IAC3E,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC7B,KAAyC,EACzC,SAAqC;IAErC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACzB,KAAK,gCAAgC,CAAC;QACtC,KAAK,6BAA6B;YACjC,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1E,KAAK,sBAAsB,CAAC;QAC5B,KAAK,uBAAuB;YAC3B,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpH,KAAK,mDAAmD;YACvD,OAAO,mBAAmB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACpF,CAAC;AACF,CAAC;AAED,SAAS,6BAA6B,CAAsB,EAC3D,KAAK,EACL,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,0BAA0B,GACU;IACpC,oFAAoF;IACpF,MAAM,QAAQ,GAAG,mBAAmB;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3C,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,wDAAwD;IACxD,MAAM,SAAS,GAAG,iCAAiC,CAAC,iBAAiB,EAAE,aAAa,EAAE;QACrF,kBAAkB,EAAE,0BAA0B;KAC9C,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,0BAA0B,GAAG,8BAA8B,CAChE,iBAAiB,EACjB,aAAa,CACb,CAAC;IACF,IAAI,0BAA0B,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,yBAAyB,CACjC,gBAA0B,EAC1B,kBAAoC;IAEpC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CACvB,QAAgB,EAChB,SAAsB,EACtB,WAA+B,EAC/B,WAAqE,EACrE,aAGwD,EACxD,cAGyD;IAEzD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,GAAG,GACR,SAAS,KAAK,QAAQ;QACrB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,EAAU;IAC3B,OAAO,OAAO,EAAE,KAAK,QAAQ;QAC5B,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,IAAI;QACjC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,8BAA8B,CACtC,SAAsB,EACtB,oBAA8C;IAE9C,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;YAAE,SAAS;QAE7C,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe;YAAE,SAAS;QAE/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,KAAK,cAAc;gBAAE,SAAS;YAElF,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IACtD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe;YAAE,SAAS;QAE/B,KAAK,MAAM,gBAAgB,IAAI,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAAE,SAAS;YAE5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAEvC,OAAO;QACN,SAAS,EAAE,mDAAmD;QAC9D,KAAK,EAAE,aAAa;QACpB,GAAG,EAAE,oBAAoB;KACzB,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,SAAsB,EACtB,uBAAqC;IAErC,KAAK,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC3F,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEnD,KAAK,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClF,IAAI,IAAI,KAAK,mBAAmB,CAAC,IAAI;gBAAE,SAAS;YAEhD,KAAK,MAAM,WAAW,IAAI,wBAAwB,EAAE,CAAC;gBACpD,KAAK,MAAM,UAAU,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;oBAC5C,IAAI,YAAY,KAAK,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAE9D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBAClE,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -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;
|
|
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":"
|
|
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"}
|