n8n-workflow 2.21.1 → 2.21.2

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.
@@ -0,0 +1,35 @@
1
+ import type { ICredentialDataDecryptedObject, ICredentialType, INode, INodeProperties } from './interfaces';
2
+ export type DomainRestrictionMode = 'all' | 'domains' | 'none';
3
+ export declare const DOMAIN_RESTRICTION_FIELDS: INodeProperties[];
4
+ /** Idempotent — safe to call repeatedly. */
5
+ export declare function injectDomainRestrictionFields(credentialType: ICredentialType): INodeProperties[];
6
+ /** `*.example.com` matches subdomains only, never the bare domain. */
7
+ export declare function isDomainAllowed(options: {
8
+ url: string;
9
+ allowedDomains: string;
10
+ }): boolean;
11
+ /** Throws `ApplicationError` when `node` is omitted, so callers without an `INode` (axios helper) get a wrappable error. */
12
+ export declare function assertUrlAllowed(options: {
13
+ url: string;
14
+ allowedDomains?: string;
15
+ node?: INode;
16
+ }): void;
17
+ /** Returns the allowlist for forwarding to per-hop redirect checks; `undefined` means allow-all. */
18
+ export declare function getCredentialAllowedDomains(options: {
19
+ node: INode;
20
+ credentialData: ICredentialDataDecryptedObject;
21
+ surface?: string;
22
+ }): string | undefined;
23
+ /**
24
+ * Passing `pinnedUrl` switches `'none'` mode from "block all" to "allow only
25
+ * the pinned URL" — for surfaces like OpenAI where the credential pins a base
26
+ * URL but the user may override it. A falsy `pinnedUrl` makes `'none'` a no-op.
27
+ */
28
+ export declare function assertCredentialAllowsUrl(options: {
29
+ node: INode;
30
+ credentialData: ICredentialDataDecryptedObject;
31
+ url: string;
32
+ pinnedUrl?: string;
33
+ surface?: string;
34
+ }): string | undefined;
35
+ //# sourceMappingURL=credential-domain-restrictions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-domain-restrictions.d.ts","sourceRoot":"","sources":["../../src/credential-domain-restrictions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,8BAA8B,EAC9B,eAAe,EACf,KAAK,EACL,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAI/D,eAAO,MAAM,yBAAyB,EAAE,eAAe,EAsCtD,CAAC;AAiCF,4CAA4C;AAC5C,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,eAAe,GAAG,eAAe,EAAE,CAShG;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAgCzF;AAED,4HAA4H;AAC5H,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC;CACb,GAAG,IAAI,CAOP;AAED,oGAAoG;AACpG,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACpD,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,8BAA8B,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,GAAG,SAAS,CAuBrB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IAClD,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,8BAA8B,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,GAAG,SAAS,CAkCrB"}
@@ -0,0 +1,182 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "@n8n/errors", "./errors/node-operation.error"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DOMAIN_RESTRICTION_FIELDS = void 0;
13
+ exports.injectDomainRestrictionFields = injectDomainRestrictionFields;
14
+ exports.isDomainAllowed = isDomainAllowed;
15
+ exports.assertUrlAllowed = assertUrlAllowed;
16
+ exports.getCredentialAllowedDomains = getCredentialAllowedDomains;
17
+ exports.assertCredentialAllowsUrl = assertCredentialAllowsUrl;
18
+ const errors_1 = require("@n8n/errors");
19
+ const node_operation_error_1 = require("./errors/node-operation.error");
20
+ const DEFAULT_SURFACE = 'HTTP Request';
21
+ exports.DOMAIN_RESTRICTION_FIELDS = [
22
+ {
23
+ displayName: 'Allowed HTTP Request Domains',
24
+ name: 'allowedHttpRequestDomains',
25
+ type: 'options',
26
+ options: [
27
+ {
28
+ name: 'All',
29
+ value: 'all',
30
+ description: 'Allow all requests when used in the HTTP Request node',
31
+ },
32
+ {
33
+ name: 'Specific Domains',
34
+ value: 'domains',
35
+ description: 'Restrict requests to specific domains',
36
+ },
37
+ {
38
+ name: 'None',
39
+ value: 'none',
40
+ description: 'Block all requests when used in the HTTP Request node',
41
+ },
42
+ ],
43
+ default: 'all',
44
+ description: 'Control which domains this credential can be used with in HTTP Request nodes',
45
+ },
46
+ {
47
+ displayName: 'Allowed Domains',
48
+ name: 'allowedDomains',
49
+ type: 'string',
50
+ default: '',
51
+ placeholder: 'example.com, *.subdomain.com',
52
+ description: 'Comma-separated list of allowed domains (supports wildcards with *)',
53
+ displayOptions: {
54
+ show: {
55
+ allowedHttpRequestDomains: ['domains'],
56
+ },
57
+ },
58
+ },
59
+ ];
60
+ function isRestrictionMode(value) {
61
+ return value === 'all' || value === 'domains' || value === 'none';
62
+ }
63
+ function readMode(credentialData) {
64
+ const value = credentialData.allowedHttpRequestDomains;
65
+ return isRestrictionMode(value) ? value : undefined;
66
+ }
67
+ function readAllowedDomainsField(credentialData) {
68
+ const value = credentialData.allowedDomains;
69
+ if (typeof value !== 'string')
70
+ return undefined;
71
+ const trimmed = value.trim();
72
+ return trimmed.length > 0 ? trimmed : undefined;
73
+ }
74
+ function shouldInjectDomainRestrictionFields(credentialType) {
75
+ return (credentialType.authenticate !== undefined ||
76
+ credentialType.genericAuth === true ||
77
+ (Array.isArray(credentialType.extends) &&
78
+ (credentialType.extends.includes('oAuth2Api') ||
79
+ credentialType.extends.includes('oAuth1Api') ||
80
+ credentialType.extends.includes('googleOAuth2Api'))));
81
+ }
82
+ /** Idempotent — safe to call repeatedly. */
83
+ function injectDomainRestrictionFields(credentialType) {
84
+ const properties = Array.isArray(credentialType.properties) ? credentialType.properties : [];
85
+ if (!shouldInjectDomainRestrictionFields(credentialType)) {
86
+ return properties;
87
+ }
88
+ if (properties.some((prop) => prop.name === 'allowedHttpRequestDomains')) {
89
+ return properties;
90
+ }
91
+ return [...properties, ...exports.DOMAIN_RESTRICTION_FIELDS];
92
+ }
93
+ /** `*.example.com` matches subdomains only, never the bare domain. */
94
+ function isDomainAllowed(options) {
95
+ const { url: urlString, allowedDomains } = options;
96
+ if (!allowedDomains || allowedDomains.trim() === '') {
97
+ return true;
98
+ }
99
+ let url;
100
+ try {
101
+ url = new URL(urlString);
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ const hostname = url.hostname.toLowerCase().replace(/\.$/, '');
107
+ if (!hostname)
108
+ return false;
109
+ const allowedDomainsList = allowedDomains
110
+ .split(',')
111
+ .map((domain) => domain.trim().toLowerCase().replace(/\.$/, ''))
112
+ .filter(Boolean);
113
+ for (const allowedDomain of allowedDomainsList) {
114
+ if (allowedDomain.startsWith('*.')) {
115
+ const domainSuffix = allowedDomain.substring(2);
116
+ if (!domainSuffix)
117
+ continue;
118
+ if (hostname.endsWith('.' + domainSuffix))
119
+ return true;
120
+ }
121
+ else if (hostname === allowedDomain) {
122
+ return true;
123
+ }
124
+ }
125
+ return false;
126
+ }
127
+ /** Throws `ApplicationError` when `node` is omitted, so callers without an `INode` (axios helper) get a wrappable error. */
128
+ function assertUrlAllowed(options) {
129
+ const { url, allowedDomains, node } = options;
130
+ if (!allowedDomains)
131
+ return;
132
+ if (isDomainAllowed({ url, allowedDomains }))
133
+ return;
134
+ const message = `Domain not allowed: This credential is restricted from accessing ${url}. Only the following domains are allowed: ${allowedDomains}`;
135
+ throw node ? new node_operation_error_1.NodeOperationError(node, message) : new errors_1.ApplicationError(message);
136
+ }
137
+ /** Returns the allowlist for forwarding to per-hop redirect checks; `undefined` means allow-all. */
138
+ function getCredentialAllowedDomains(options) {
139
+ const { node, credentialData, surface = DEFAULT_SURFACE } = options;
140
+ const mode = readMode(credentialData);
141
+ if (mode === 'none') {
142
+ throw new node_operation_error_1.NodeOperationError(node, `This credential is configured to prevent use within an ${surface} node`);
143
+ }
144
+ if (mode === 'domains') {
145
+ const allowedDomains = readAllowedDomainsField(credentialData);
146
+ if (!allowedDomains) {
147
+ throw new node_operation_error_1.NodeOperationError(node, 'No allowed domains specified. Configure allowed domains or change restriction setting.');
148
+ }
149
+ return allowedDomains;
150
+ }
151
+ return undefined;
152
+ }
153
+ /**
154
+ * Passing `pinnedUrl` switches `'none'` mode from "block all" to "allow only
155
+ * the pinned URL" — for surfaces like OpenAI where the credential pins a base
156
+ * URL but the user may override it. A falsy `pinnedUrl` makes `'none'` a no-op.
157
+ */
158
+ function assertCredentialAllowsUrl(options) {
159
+ const { node, credentialData, url, surface = DEFAULT_SURFACE } = options;
160
+ const usePinnedUrlSemantic = 'pinnedUrl' in options;
161
+ const mode = readMode(credentialData);
162
+ if (mode === 'none') {
163
+ if (!usePinnedUrlSemantic) {
164
+ throw new node_operation_error_1.NodeOperationError(node, `This credential is configured to prevent use within an ${surface} node`);
165
+ }
166
+ if (options.pinnedUrl && url !== options.pinnedUrl) {
167
+ throw new node_operation_error_1.NodeOperationError(node, `Domain not allowed: This credential is restricted from accessing ${url}.`);
168
+ }
169
+ return undefined;
170
+ }
171
+ if (mode === 'domains') {
172
+ const allowedDomains = readAllowedDomainsField(credentialData);
173
+ if (!allowedDomains) {
174
+ throw new node_operation_error_1.NodeOperationError(node, 'No allowed domains specified. Configure allowed domains or change restriction setting.');
175
+ }
176
+ assertUrlAllowed({ url, allowedDomains, node });
177
+ return allowedDomains;
178
+ }
179
+ return undefined;
180
+ }
181
+ });
182
+ //# sourceMappingURL=credential-domain-restrictions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-domain-restrictions.js","sourceRoot":"","sources":["../../src/credential-domain-restrictions.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,13 @@ export * from './workflow-validation';
33
33
  export * from './workflow-structure-validation';
34
34
  export * from './versioned-node-type';
35
35
  export * from './type-validation';
36
+ export * from './credential-domain-restrictions';
36
37
  export * from './result';
37
38
  export * from './schemas';
38
39
  export * from './run-execution-data/run-execution-data';
39
40
  export { WorkflowExpression } from './workflow-expression';
40
41
  export { LoggerProxy, NodeHelpers, ObservableObject, TelemetryHelpers };
41
- export { isObjectEmpty, deepCopy, jsonParse, base64DecodeUTF8, jsonStringify, replaceCircularReferences, sleep, sleepWithAbort, fileTypeFromMimeType, assert, removeCircularRefs, updateDisplayOptions, randomInt, randomString, isSafeObjectProperty, setSafeObjectProperty, isDomainAllowed, getCredentialAllowedDomains, isCommunityPackageName, dedupe, sanitizeFilename, sanitizeXmlName, generateSecureToken, } from './utils';
42
+ export { isObjectEmpty, deepCopy, jsonParse, base64DecodeUTF8, jsonStringify, replaceCircularReferences, sleep, sleepWithAbort, fileTypeFromMimeType, assert, removeCircularRefs, updateDisplayOptions, randomInt, randomString, isSafeObjectProperty, setSafeObjectProperty, isCommunityPackageName, dedupe, sanitizeFilename, sanitizeXmlName, generateSecureToken, } from './utils';
42
43
  export { isINodeProperties, isINodePropertyOptions, isINodePropertyCollection, isINodePropertiesList, isINodePropertyCollectionList, isINodePropertyOptionsList, isResourceMapperValue, isResourceLocatorValue, isFilterValue, isNodeConnectionType, isBinaryValue, } from './type-guards';
43
44
  export { parseExtractableSubgraphSelection, buildAdjacencyList, type ExtractableErrorResult, type ExtractableSubgraphData, type IConnectionAdjacencyList as AdjacencyList, } from './graph/graph-utils';
44
45
  export { ExpressionExtensions, type Alias, type AliasCompletion } from './extensions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -40,12 +40,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
40
40
  if (v !== undefined) module.exports = v;
41
41
  }
42
42
  else if (typeof define === "function" && define.amd) {
43
- define(["require", "exports", "./logger-proxy", "./node-helpers", "./observable-object", "./telemetry-helpers", "./errors", "./constants", "./common", "./cron", "./data-table.types", "./deferred-promise", "./execution-context", "./execution-context-establishment-hooks", "./global-state", "./interfaces", "./run-execution-data-factory", "./message-event-bus", "./execution-status", "./trimmed-task-data", "./expression", "./expressions/expression-helpers", "./from-ai-parse-utils", "./node-helpers", "./node-validation", "./tool-helpers", "./node-reference-parser-utils", "./metadata-utils", "./highlighted-data", "./workflow", "./workflow-checksum", "./workflow-data-proxy", "./workflow-data-proxy-env-provider", "./workflow-validation", "./workflow-structure-validation", "./versioned-node-type", "./type-validation", "./result", "./schemas", "./run-execution-data/run-execution-data", "./workflow-expression", "./utils", "./type-guards", "./graph/graph-utils", "./extensions", "./extensions/expression-parser", "./native-methods", "./node-parameters/filter-parameter", "./node-parameters/parameter-type-validation", "./node-parameters/node-parameter-value-type-guard", "./node-parameters/path-utils", "./evaluation-helpers", "./workflow-diff", "./workflow-environments-helper"], factory);
43
+ define(["require", "exports", "./logger-proxy", "./node-helpers", "./observable-object", "./telemetry-helpers", "./errors", "./constants", "./common", "./cron", "./data-table.types", "./deferred-promise", "./execution-context", "./execution-context-establishment-hooks", "./global-state", "./interfaces", "./run-execution-data-factory", "./message-event-bus", "./execution-status", "./trimmed-task-data", "./expression", "./expressions/expression-helpers", "./from-ai-parse-utils", "./node-helpers", "./node-validation", "./tool-helpers", "./node-reference-parser-utils", "./metadata-utils", "./highlighted-data", "./workflow", "./workflow-checksum", "./workflow-data-proxy", "./workflow-data-proxy-env-provider", "./workflow-validation", "./workflow-structure-validation", "./versioned-node-type", "./type-validation", "./credential-domain-restrictions", "./result", "./schemas", "./run-execution-data/run-execution-data", "./workflow-expression", "./utils", "./type-guards", "./graph/graph-utils", "./extensions", "./extensions/expression-parser", "./native-methods", "./node-parameters/filter-parameter", "./node-parameters/parameter-type-validation", "./node-parameters/node-parameter-value-type-guard", "./node-parameters/path-utils", "./evaluation-helpers", "./workflow-diff", "./workflow-environments-helper"], factory);
44
44
  }
45
45
  })(function (require, exports) {
46
46
  "use strict";
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.NativeMethods = exports.ExpressionParser = exports.ExpressionExtensions = exports.buildAdjacencyList = exports.parseExtractableSubgraphSelection = exports.isBinaryValue = exports.isNodeConnectionType = exports.isFilterValue = exports.isResourceLocatorValue = exports.isResourceMapperValue = exports.isINodePropertyOptionsList = exports.isINodePropertyCollectionList = exports.isINodePropertiesList = exports.isINodePropertyCollection = exports.isINodePropertyOptions = exports.isINodeProperties = exports.generateSecureToken = exports.sanitizeXmlName = exports.sanitizeFilename = exports.dedupe = exports.isCommunityPackageName = exports.getCredentialAllowedDomains = exports.isDomainAllowed = exports.setSafeObjectProperty = exports.isSafeObjectProperty = exports.randomString = exports.randomInt = exports.updateDisplayOptions = exports.removeCircularRefs = exports.assert = exports.fileTypeFromMimeType = exports.sleepWithAbort = exports.sleep = exports.replaceCircularReferences = exports.jsonStringify = exports.base64DecodeUTF8 = exports.jsonParse = exports.deepCopy = exports.isObjectEmpty = exports.TelemetryHelpers = exports.ObservableObject = exports.NodeHelpers = exports.LoggerProxy = exports.WorkflowExpression = void 0;
48
+ exports.NativeMethods = exports.ExpressionParser = exports.ExpressionExtensions = exports.buildAdjacencyList = exports.parseExtractableSubgraphSelection = exports.isBinaryValue = exports.isNodeConnectionType = exports.isFilterValue = exports.isResourceLocatorValue = exports.isResourceMapperValue = exports.isINodePropertyOptionsList = exports.isINodePropertyCollectionList = exports.isINodePropertiesList = exports.isINodePropertyCollection = exports.isINodePropertyOptions = exports.isINodeProperties = exports.generateSecureToken = exports.sanitizeXmlName = exports.sanitizeFilename = exports.dedupe = exports.isCommunityPackageName = exports.setSafeObjectProperty = exports.isSafeObjectProperty = exports.randomString = exports.randomInt = exports.updateDisplayOptions = exports.removeCircularRefs = exports.assert = exports.fileTypeFromMimeType = exports.sleepWithAbort = exports.sleep = exports.replaceCircularReferences = exports.jsonStringify = exports.base64DecodeUTF8 = exports.jsonParse = exports.deepCopy = exports.isObjectEmpty = exports.TelemetryHelpers = exports.ObservableObject = exports.NodeHelpers = exports.LoggerProxy = exports.WorkflowExpression = void 0;
49
49
  const LoggerProxy = __importStar(require("./logger-proxy"));
50
50
  exports.LoggerProxy = LoggerProxy;
51
51
  const NodeHelpers = __importStar(require("./node-helpers"));
@@ -85,6 +85,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
85
85
  __exportStar(require("./workflow-structure-validation"), exports);
86
86
  __exportStar(require("./versioned-node-type"), exports);
87
87
  __exportStar(require("./type-validation"), exports);
88
+ __exportStar(require("./credential-domain-restrictions"), exports);
88
89
  __exportStar(require("./result"), exports);
89
90
  __exportStar(require("./schemas"), exports);
90
91
  __exportStar(require("./run-execution-data/run-execution-data"), exports);
@@ -107,8 +108,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
107
108
  Object.defineProperty(exports, "randomString", { enumerable: true, get: function () { return utils_1.randomString; } });
108
109
  Object.defineProperty(exports, "isSafeObjectProperty", { enumerable: true, get: function () { return utils_1.isSafeObjectProperty; } });
109
110
  Object.defineProperty(exports, "setSafeObjectProperty", { enumerable: true, get: function () { return utils_1.setSafeObjectProperty; } });
110
- Object.defineProperty(exports, "isDomainAllowed", { enumerable: true, get: function () { return utils_1.isDomainAllowed; } });
111
- Object.defineProperty(exports, "getCredentialAllowedDomains", { enumerable: true, get: function () { return utils_1.getCredentialAllowedDomains; } });
112
111
  Object.defineProperty(exports, "isCommunityPackageName", { enumerable: true, get: function () { return utils_1.isCommunityPackageName; } });
113
112
  Object.defineProperty(exports, "dedupe", { enumerable: true, get: function () { return utils_1.dedupe; } });
114
113
  Object.defineProperty(exports, "sanitizeFilename", { enumerable: true, get: function () { return utils_1.sanitizeFilename; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,4DAA8C;IAwCrC,kCAAW;IAvCpB,4DAA8C;IAuCxB,kCAAW;IAtCjC,sEAAwD;IAsCrB,4CAAgB;IArCnD,sEAAwD;IAqCH,4CAAgB;IAnCrE,2CAAyB;IACzB,8CAA4B;IAC5B,2CAAyB;IACzB,yCAAuB;IACvB,qDAAmC;IACnC,qDAAmC;IACnC,sDAAoC;IACpC,0EAAwD;IACxD,iDAA+B;IAC/B,+CAA6B;IAC7B,+DAA6C;IAC7C,sDAAoC;IACpC,qDAAmC;IACnC,sDAAoC;IACpC,+CAA6B;IAC7B,mEAAiD;IACjD,wDAAsC;IACtC,iDAA+B;IAC/B,oDAAkC;IAClC,iDAA+B;IAC/B,gEAA8C;IAC9C,mDAAiC;IACjC,qDAAmC;IACnC,6CAA2B;IAC3B,sDAAoC;IACpC,wDAAsC;IACtC,qEAAmD;IACnD,wDAAsC;IACtC,kEAAgD;IAChD,wDAAsC;IACtC,oDAAkC;IAClC,2CAAyB;IACzB,4CAA0B;IAC1B,0EAAwD;IACxD,6DAA2D;IAAlD,yHAAA,kBAAkB,OAAA;IAE3B,iCAwBiB;IAvBhB,sGAAA,aAAa,OAAA;IACb,iGAAA,QAAQ,OAAA;IACR,kGAAA,SAAS,OAAA;IACT,yGAAA,gBAAgB,OAAA;IAChB,sGAAA,aAAa,OAAA;IACb,kHAAA,yBAAyB,OAAA;IACzB,8FAAA,KAAK,OAAA;IACL,uGAAA,cAAc,OAAA;IACd,6GAAA,oBAAoB,OAAA;IACpB,+FAAA,MAAM,OAAA;IACN,2GAAA,kBAAkB,OAAA;IAClB,6GAAA,oBAAoB,OAAA;IACpB,kGAAA,SAAS,OAAA;IACT,qGAAA,YAAY,OAAA;IACZ,6GAAA,oBAAoB,OAAA;IACpB,8GAAA,qBAAqB,OAAA;IACrB,wGAAA,eAAe,OAAA;IACf,oHAAA,2BAA2B,OAAA;IAC3B,+GAAA,sBAAsB,OAAA;IACtB,+FAAA,MAAM,OAAA;IACN,yGAAA,gBAAgB,OAAA;IAChB,wGAAA,eAAe,OAAA;IACf,4GAAA,mBAAmB,OAAA;IAEpB,6CAYuB;IAXtB,gHAAA,iBAAiB,OAAA;IACjB,qHAAA,sBAAsB,OAAA;IACtB,wHAAA,yBAAyB,OAAA;IACzB,oHAAA,qBAAqB,OAAA;IACrB,4HAAA,6BAA6B,OAAA;IAC7B,yHAAA,0BAA0B,OAAA;IAC1B,oHAAA,qBAAqB,OAAA;IACrB,qHAAA,sBAAsB,OAAA;IACtB,4GAAA,aAAa,OAAA;IACb,mHAAA,oBAAoB,OAAA;IACpB,4GAAA,aAAa,OAAA;IAGd,mDAM6B;IAL5B,gIAAA,iCAAiC,OAAA;IACjC,iHAAA,kBAAkB,OAAA;IAKnB,2CAAsF;IAA7E,kHAAA,oBAAoB,OAAA;IAC7B,mFAAmE;IACnE,mDAAiD;IAAxC,+GAAA,aAAa,OAAA;IACtB,qEAAmD;IACnD,8EAA4D;IAC5D,oFAAkE;IAClE,+DAA6C;IAC7C,uDAAqC;IACrC,kDAAgC;IAChC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,4DAA8C;IAyCrC,kCAAW;IAxCpB,4DAA8C;IAwCxB,kCAAW;IAvCjC,sEAAwD;IAuCrB,4CAAgB;IAtCnD,sEAAwD;IAsCH,4CAAgB;IApCrE,2CAAyB;IACzB,8CAA4B;IAC5B,2CAAyB;IACzB,yCAAuB;IACvB,qDAAmC;IACnC,qDAAmC;IACnC,sDAAoC;IACpC,0EAAwD;IACxD,iDAA+B;IAC/B,+CAA6B;IAC7B,+DAA6C;IAC7C,sDAAoC;IACpC,qDAAmC;IACnC,sDAAoC;IACpC,+CAA6B;IAC7B,mEAAiD;IACjD,wDAAsC;IACtC,iDAA+B;IAC/B,oDAAkC;IAClC,iDAA+B;IAC/B,gEAA8C;IAC9C,mDAAiC;IACjC,qDAAmC;IACnC,6CAA2B;IAC3B,sDAAoC;IACpC,wDAAsC;IACtC,qEAAmD;IACnD,wDAAsC;IACtC,kEAAgD;IAChD,wDAAsC;IACtC,oDAAkC;IAClC,mEAAiD;IACjD,2CAAyB;IACzB,4CAA0B;IAC1B,0EAAwD;IACxD,6DAA2D;IAAlD,yHAAA,kBAAkB,OAAA;IAE3B,iCAsBiB;IArBhB,sGAAA,aAAa,OAAA;IACb,iGAAA,QAAQ,OAAA;IACR,kGAAA,SAAS,OAAA;IACT,yGAAA,gBAAgB,OAAA;IAChB,sGAAA,aAAa,OAAA;IACb,kHAAA,yBAAyB,OAAA;IACzB,8FAAA,KAAK,OAAA;IACL,uGAAA,cAAc,OAAA;IACd,6GAAA,oBAAoB,OAAA;IACpB,+FAAA,MAAM,OAAA;IACN,2GAAA,kBAAkB,OAAA;IAClB,6GAAA,oBAAoB,OAAA;IACpB,kGAAA,SAAS,OAAA;IACT,qGAAA,YAAY,OAAA;IACZ,6GAAA,oBAAoB,OAAA;IACpB,8GAAA,qBAAqB,OAAA;IACrB,+GAAA,sBAAsB,OAAA;IACtB,+FAAA,MAAM,OAAA;IACN,yGAAA,gBAAgB,OAAA;IAChB,wGAAA,eAAe,OAAA;IACf,4GAAA,mBAAmB,OAAA;IAEpB,6CAYuB;IAXtB,gHAAA,iBAAiB,OAAA;IACjB,qHAAA,sBAAsB,OAAA;IACtB,wHAAA,yBAAyB,OAAA;IACzB,oHAAA,qBAAqB,OAAA;IACrB,4HAAA,6BAA6B,OAAA;IAC7B,yHAAA,0BAA0B,OAAA;IAC1B,oHAAA,qBAAqB,OAAA;IACrB,qHAAA,sBAAsB,OAAA;IACtB,4GAAA,aAAa,OAAA;IACb,mHAAA,oBAAoB,OAAA;IACpB,4GAAA,aAAa,OAAA;IAGd,mDAM6B;IAL5B,gIAAA,iCAAiC,OAAA;IACjC,iHAAA,kBAAkB,OAAA;IAKnB,2CAAsF;IAA7E,kHAAA,oBAAoB,OAAA;IAC7B,mFAAmE;IACnE,mDAAiD;IAAxC,+GAAA,aAAa,OAAA;IACtB,qEAAmD;IACnD,8EAA4D;IAC5D,oFAAkE;IAClE,+DAA6C;IAC7C,uDAAqC;IACrC,kDAAgC;IAChC,iEAA+C"}