@n8n_io/license-sdk 2.18.0 → 2.19.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.
@@ -1,216 +1,227 @@
1
- import { X509Certificate } from 'node:crypto';
2
-
3
- /** How often (ms) to renew the license periodically. */
4
- export declare const AUTORENEWAL_INTERVAL: number;
5
-
6
- export declare function computeDeviceFingerprint(): Promise<string>;
7
-
8
- export declare const default_alias: {
9
- postRequest: typeof postRequest;
10
- };
11
-
12
- export declare function generateCertContainerStr(options?: {}): Promise<string>;
13
-
14
- export declare function generateTamperedCert(options?: Object): Promise<string>;
15
-
16
- export declare class LicenseManager {
17
- config: TLicenseManagerConfig;
18
- private initializationPromise?;
19
- private key?;
20
- private logger;
21
- protected licenseCert?: TLicenseCertObj;
22
- private x509Cert?;
23
- private x509IssuerCert;
24
- private deviceFingerprint?;
25
- private renewalTimer?;
26
- private upcomingEntitlementChangesCheckTimer?;
27
- private entitlementChangeTimer?;
28
- private currentFeatures?;
29
- private isShuttingDown;
30
- get isInitialized(): boolean;
31
- constructor(config: TLicenseManagerConfig);
32
- log(msg: string, logLevel: LogLevel): void;
33
- initialize(): Promise<void>;
34
- /** Initializes the license manager */
35
- private _doInitialization;
36
- private setupSingleTimer;
37
- clearSingleTimer(timer: SingleTimer | undefined): void;
38
- setupRepeatingTimer(callback: () => void, interval: number): RepeatingTimer;
39
- clearRepeatingTimer(timer: RepeatingTimer | undefined): void;
40
- private isOlderThan;
41
- reload(): Promise<void>;
42
- reset(): Promise<void>;
43
- computeDeviceFingerprint(): Promise<string>;
44
- activate(reservationId: string): Promise<void>;
45
- renew(): Promise<void>;
46
- _renew({ detachFloatingEntitlements, cause, }?: {
47
- detachFloatingEntitlements?: Boolean;
48
- cause?: 'startup' | 'shutdown' | 'request' | 'auto' | 'unknown';
49
- }): Promise<void>;
50
- private hasCert;
51
- isTerminated(): boolean;
52
- getExpiryDate(): Date;
53
- getTerminationDate(): Date;
54
- isValid(useLogger?: boolean): boolean;
55
- hasFeatureEnabled(feature: string, requireValidCert?: boolean): boolean;
56
- hasFeatureDefined(feature: string, requireValidCert?: boolean): boolean;
57
- hasQuotaLeft(quotaFeatureName: string, currentConsumption: number): boolean;
58
- getFeatureValue(feature: string, requireValidCert?: boolean): undefined | boolean | number | string;
59
- private updateCurrentFeatures;
60
- getFeatures(): TFeatures;
61
- getCurrentEntitlements(): TEntitlement[];
62
- getManagementJwt(): string;
63
- getCertStr(): Promise<TLicenseBlock>;
64
- getConsumerId(): string | undefined;
65
- isRenewalDue(): boolean;
66
- private formatDuration;
67
- toString(): string;
68
- private triggerOnFeatureChangeCallback;
69
- private setTimerForNextEntitlementChange;
70
- private renewalCron;
71
- private initCert;
72
- private stringifyCertContainer;
73
- private parseLicenseCertContainerStr;
74
- private parseLicenseKeyStr;
75
- private validateLicenseKey;
76
- getIssuerCert(): X509Certificate;
77
- shutdown(): Promise<void>;
78
- /** Enable renewing the license periodically. */
79
- enableAutoRenewals(): void;
80
- /** Disable renewing the license periodically. */
81
- disableAutoRenewals(): void;
82
- }
83
-
84
- export declare function licenseManagerFactory(config?: {}): LicenseManager;
85
-
86
- declare const enum LogLevel {
87
- ERROR = "error",
88
- WARN = "warn",
89
- INFO = "info",
90
- DEBUG = "debug"
91
- }
92
-
93
- export declare function makeEntitlement({ validFrom, validTo, features, featureOverrides, productId, isFloatable, }: {
94
- validFrom?: Date;
95
- validTo?: Date;
96
- features?: TFeatures;
97
- featureOverrides?: TFeatures;
98
- productId?: string;
99
- isFloatable?: boolean;
100
- }): {
101
- id: string;
102
- productId: string;
103
- productMetadata: {
104
- metadataKey1: string;
105
- };
106
- features: TFeatures;
107
- featureOverrides: TFeatures;
108
- validFrom: Date;
109
- validTo: Date;
110
- isFloatable: boolean;
111
- };
112
-
113
- export declare function makeRelativeDate(offsetInMinutes: number): Date;
114
-
115
- export declare function postRequest<T>(url: string, data: {}, options?: {
116
- timeoutInMs?: number;
117
- productIdentifier?: string;
118
- }): Promise<{
119
- status: number;
120
- data: T;
121
- }>;
122
-
123
- declare type RepeatingTimer = NodeJS.Timeout;
124
-
125
- export declare const SDK_VERSION = "2.18.0";
126
-
127
- declare type SingleTimer = NodeJS.Timeout;
128
-
129
- export declare type TEntitlement = {
130
- id: string;
131
- productId: string;
132
- productMetadata: TMetadata;
133
- features: TFeatures;
134
- featureOverrides: TFeatures;
135
- validFrom: Date;
136
- validTo: Date;
137
- isFloatable: boolean;
138
- };
139
-
140
- export declare type TFeatures = {
141
- [key: string]: boolean | number | string;
142
- };
143
-
144
- export declare type TLicenseBlock = string;
145
-
146
- export declare type TLicenseCertObj = {
147
- consumerId: string;
148
- consumerRef?: string;
149
- version: number;
150
- tenantId: number;
151
- renewalToken: string;
152
- deviceLock: boolean;
153
- deviceFingerprint: string;
154
- createdAt: Date;
155
- issuedAt: Date;
156
- expiresAt: Date;
157
- terminatesAt: Date;
158
- entitlements: TEntitlement[];
159
- /**
160
- * Indicates the number of floating entitlements that are not attached to the consumer
161
- * because they are in use elsewhere at the time of renewal.
162
- */
163
- detachedEntitlementsCount: number;
164
- managementJwt: string;
165
- /**
166
- * Specifies whether the license is ephemeral and therefore does not have corresponding entries in the license server DB.
167
- */
168
- isEphemeral: boolean;
169
- };
170
-
171
- export declare type TLicenseContainer = {
172
- licenseKey: string;
173
- x509: string;
174
- };
175
-
176
- export declare type TLicenseManagerConfig = {
177
- server?: string;
178
- tenantId: number;
179
- productIdentifier: string;
180
- /**
181
- * Whether to renew the license periodically.
182
- *
183
- * @default true
184
- */
185
- autoRenewEnabled?: boolean;
186
- offlineMode?: boolean;
187
- renewOnInit?: boolean;
188
- autoRenewOffset?: number;
189
- loadCertStr: () => Promise<TLicenseBlock>;
190
- saveCertStr: (cert: TLicenseBlock) => Promise<void>;
191
- collectUsageMetrics?: () => Promise<Array<TUsageMetric>>;
192
- collectPassthroughData?: () => Promise<TPassthroughData>;
193
- deviceFingerprint?: () => string | Promise<string>;
194
- onFeatureChange?: (features: TFeatures) => any;
195
- logger?: TLogger;
196
- };
197
-
198
- export declare type TLogger = {
199
- error: Function;
200
- warn: Function;
201
- info: Function;
202
- debug: Function;
203
- };
204
-
205
- export declare type TMetadata = {
206
- [key: string]: boolean | number | string | Array<any> | {};
207
- };
208
-
209
- export declare type TPassthroughData = Record<string, unknown>;
210
-
211
- export declare type TUsageMetric = {
212
- name: string;
213
- value: number;
214
- };
215
-
216
- export { }
1
+ import { X509Certificate } from 'node:crypto';
2
+
3
+ /** How often to consider periodic license renewal (in ms) */
4
+ export declare const AUTORENEWAL_INTERVAL: number;
5
+
6
+ export declare function computeDeviceFingerprint(): Promise<string>;
7
+
8
+ export declare const default_alias: {
9
+ postRequest: typeof postRequest;
10
+ };
11
+
12
+ export declare function generateCertContainerStr(options?: {}): Promise<string>;
13
+
14
+ export declare function generateTamperedCert(options?: Object): Promise<string>;
15
+
16
+ export declare class LicenseManager {
17
+ config: TLicenseManagerConfig;
18
+ private initializationPromise?;
19
+ private key?;
20
+ private logger;
21
+ protected licenseCert?: TLicenseCertObj;
22
+ private x509Cert?;
23
+ private x509IssuerCert;
24
+ private deviceFingerprint?;
25
+ private renewalTimer?;
26
+ private upcomingEntitlementChangesCheckTimer?;
27
+ private entitlementChangeTimer?;
28
+ private currentFeatures?;
29
+ private isShuttingDown;
30
+ get isInitialized(): boolean;
31
+ constructor(config: TLicenseManagerConfig);
32
+ log(msg: string, logLevel: LogLevel): void;
33
+ initialize(): Promise<void>;
34
+ /** Initializes the license manager */
35
+ private _doInitialization;
36
+ private setupSingleTimer;
37
+ clearSingleTimer(timer: SingleTimer | undefined): void;
38
+ setupRepeatingTimer(callback: () => void, interval: number): RepeatingTimer;
39
+ clearRepeatingTimer(timer: RepeatingTimer | undefined): void;
40
+ private isOlderThan;
41
+ reload(): Promise<void>;
42
+ reset(): Promise<void>;
43
+ computeDeviceFingerprint(): Promise<string>;
44
+ activate(reservationId: string): Promise<void>;
45
+ renew(): Promise<void>;
46
+ _renew({ detachFloatingEntitlements, cause, }?: {
47
+ detachFloatingEntitlements?: Boolean;
48
+ cause?: 'startup' | 'shutdown' | 'request' | 'auto' | 'unknown';
49
+ }): Promise<void>;
50
+ private hasCert;
51
+ isTerminated(): boolean;
52
+ getExpiryDate(): Date;
53
+ getTerminationDate(): Date;
54
+ isValid(useLogger?: boolean): boolean;
55
+ hasFeatureEnabled(feature: string, requireValidCert?: boolean): boolean;
56
+ hasFeatureDefined(feature: string, requireValidCert?: boolean): boolean;
57
+ hasQuotaLeft(quotaFeatureName: string, currentConsumption: number): boolean;
58
+ getFeatureValue(feature: string, requireValidCert?: boolean): undefined | boolean | number | string;
59
+ private updateCurrentFeatures;
60
+ getFeatures(): TFeatures;
61
+ getCurrentEntitlements(): TEntitlement[];
62
+ getManagementJwt(): string;
63
+ getCertStr(): Promise<TLicenseBlock>;
64
+ getConsumerId(): string | undefined;
65
+ isRenewalDue(): boolean;
66
+ private formatDuration;
67
+ toString(): string;
68
+ private triggerOnFeatureChangeCallback;
69
+ private setTimerForNextEntitlementChange;
70
+ private renewalCron;
71
+ private initCert;
72
+ private stringifyCertContainer;
73
+ private parseLicenseCertContainerStr;
74
+ private parseLicenseKeyStr;
75
+ private validateLicenseKey;
76
+ getIssuerCert(): X509Certificate;
77
+ /**
78
+ * Detaches any floating entitlements and clears the local license cert.
79
+ */
80
+ clear(): Promise<void>;
81
+ shutdown(): Promise<void>;
82
+ private detachFloatingEntitlements;
83
+ /** Enable renewing the license periodically. */
84
+ enableAutoRenewals(): void;
85
+ /** Disable renewing the license periodically. */
86
+ disableAutoRenewals(): void;
87
+ }
88
+
89
+ export declare function licenseManagerFactory(config?: {}): LicenseManager;
90
+
91
+ declare const enum LogLevel {
92
+ ERROR = "error",
93
+ WARN = "warn",
94
+ INFO = "info",
95
+ DEBUG = "debug"
96
+ }
97
+
98
+ export declare function makeEntitlement({ validFrom, validTo, features, featureOverrides, productId, isFloatable, }: {
99
+ validFrom?: Date;
100
+ validTo?: Date;
101
+ features?: TFeatures;
102
+ featureOverrides?: TFeatures;
103
+ productId?: string;
104
+ isFloatable?: boolean;
105
+ }): {
106
+ id: string;
107
+ productId: string;
108
+ productMetadata: {
109
+ metadataKey1: string;
110
+ };
111
+ features: TFeatures;
112
+ featureOverrides: TFeatures;
113
+ validFrom: Date;
114
+ validTo: Date;
115
+ isFloatable: boolean;
116
+ };
117
+
118
+ export declare function makeRelativeDate(offsetInMinutes: number): Date;
119
+
120
+ export declare function postRequest<T>(url: string, data: {}, options?: {
121
+ timeoutInMs?: number;
122
+ productIdentifier?: string;
123
+ }): Promise<{
124
+ status: number;
125
+ data: T;
126
+ }>;
127
+
128
+ declare type RepeatingTimer = NodeJS.Timeout;
129
+
130
+ export declare const SDK_VERSION = "2.19.0";
131
+
132
+ declare type SingleTimer = NodeJS.Timeout;
133
+
134
+ export declare type TEntitlement = {
135
+ id: string;
136
+ productId: string;
137
+ productMetadata: TMetadata;
138
+ features: TFeatures;
139
+ featureOverrides: TFeatures;
140
+ validFrom: Date;
141
+ validTo: Date;
142
+ isFloatable: boolean;
143
+ };
144
+
145
+ export declare type TFeatures = {
146
+ [key: string]: boolean | number | string;
147
+ };
148
+
149
+ export declare type TLicenseBlock = string;
150
+
151
+ export declare type TLicenseCertObj = {
152
+ consumerId: string;
153
+ consumerRef?: string;
154
+ version: number;
155
+ tenantId: number;
156
+ renewalToken: string;
157
+ deviceLock: boolean;
158
+ deviceFingerprint: string;
159
+ createdAt: Date;
160
+ issuedAt: Date;
161
+ expiresAt: Date;
162
+ terminatesAt: Date;
163
+ entitlements: TEntitlement[];
164
+ /**
165
+ * Indicates the number of floating entitlements that are not attached to the consumer
166
+ * because they are in use elsewhere at the time of renewal.
167
+ */
168
+ detachedEntitlementsCount: number;
169
+ managementJwt: string;
170
+ /**
171
+ * Specifies whether the license is ephemeral and therefore does not have corresponding entries in the license server DB.
172
+ */
173
+ isEphemeral: boolean;
174
+ };
175
+
176
+ export declare type TLicenseContainer = {
177
+ licenseKey: string;
178
+ x509: string;
179
+ };
180
+
181
+ export declare type TLicenseManagerConfig = {
182
+ server?: string;
183
+ tenantId: number;
184
+ productIdentifier: string;
185
+ /**
186
+ * Whether to renew the license periodically.
187
+ *
188
+ * @default true
189
+ */
190
+ autoRenewEnabled?: boolean;
191
+ /**
192
+ * Whether to return any floatable entitlements to the pool on SDK shutdown.
193
+ *
194
+ * @default true
195
+ */
196
+ detachFloatingOnShutdown?: boolean;
197
+ offlineMode?: boolean;
198
+ renewOnInit?: boolean;
199
+ autoRenewOffset?: number;
200
+ loadCertStr: () => Promise<TLicenseBlock>;
201
+ saveCertStr: (cert: TLicenseBlock) => Promise<void>;
202
+ collectUsageMetrics?: () => Promise<Array<TUsageMetric>>;
203
+ collectPassthroughData?: () => Promise<TPassthroughData>;
204
+ deviceFingerprint?: () => string | Promise<string>;
205
+ onFeatureChange?: (features: TFeatures) => any;
206
+ logger?: TLogger;
207
+ };
208
+
209
+ export declare type TLogger = {
210
+ error: Function;
211
+ warn: Function;
212
+ info: Function;
213
+ debug: Function;
214
+ };
215
+
216
+ export declare type TMetadata = {
217
+ [key: string]: boolean | number | string | Array<any> | {};
218
+ };
219
+
220
+ export declare type TPassthroughData = Record<string, unknown>;
221
+
222
+ export declare type TUsageMetric = {
223
+ name: string;
224
+ value: number;
225
+ };
226
+
227
+ export { }
@@ -1,2 +1,2 @@
1
- export { postRequest } from './_tsup-dts-rollup';
2
- export { default_alias as default } from './_tsup-dts-rollup';
1
+ export { postRequest } from './_tsup-dts-rollup.mjs';
2
+ export { default_alias as default } from './_tsup-dts-rollup.mjs';
@@ -1,2 +1,2 @@
1
- export { postRequest } from './_tsup-dts-rollup';
2
- export { default_alias as default } from './_tsup-dts-rollup';
1
+ export { postRequest } from './_tsup-dts-rollup.js';
2
+ export { default_alias as default } from './_tsup-dts-rollup.js';
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var d=(t,s)=>{for(var e in s)p(t,e,{get:s[e],enumerable:!0})},l=(t,s,e,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of x(s))!f.call(t,r)&&r!==e&&p(t,r,{get:()=>s[r],enumerable:!(n=u(s,r))||n.enumerable});return t};var m=t=>l(p({},"__esModule",{value:!0}),t);var S={};d(S,{default:()=>I,postRequest:()=>g});module.exports=m(S);var o=require("undici"),y=require("url");var c="2.18.0";function i(t){let s=process.env[t];return s?new o.ProxyAgent(s):null}var a=i("http_proxy_license_server")||i("http_proxy"),h=i("https_proxy_license_server")||i("https_proxy"),_={...a?{"http:":a}:{},...h?{"https:":h}:{}},w=(process.env.no_proxy??"").split(",").map(t=>t.trim()),D=(0,o.getGlobalDispatcher)();(0,o.setGlobalDispatcher)(new class extends o.Dispatcher{dispatch(t,s){if(t.origin){let{host:e,protocol:n}=typeof t.origin=="string"?new y.URL(t.origin):t.origin;if(!w.some(r=>r.startsWith(".")?e.endsWith(r):e===r)){let r=_[n];r&&r.dispatch(t,s)}}return D.dispatch(t,s)}});async function g(t,s,e={}){try{let n=await(0,o.fetch)(t,{method:"post",body:JSON.stringify(s),headers:{"Content-Type":"application/json","User-Agent":`License-SDK/${c} (Node.js ${process.version}; ${process.platform}) ${e.productIdentifier}`},signal:AbortSignal.timeout(e.timeoutInMs??3e4)}),r=await n.json();return{status:n.status,data:r}}catch(n){throw new Error("Connection Error",{cause:n})}}var I={postRequest:g};0&&(module.exports={postRequest});
1
+ "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var d=(t,s)=>{for(var e in s)p(t,e,{get:s[e],enumerable:!0})},l=(t,s,e,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of x(s))!f.call(t,r)&&r!==e&&p(t,r,{get:()=>s[r],enumerable:!(n=u(s,r))||n.enumerable});return t};var m=t=>l(p({},"__esModule",{value:!0}),t);var S={};d(S,{default:()=>I,postRequest:()=>g});module.exports=m(S);var o=require("undici"),y=require("url");var c="2.19.0";function i(t){let s=process.env[t];return s?new o.ProxyAgent(s):null}var a=i("http_proxy_license_server")||i("http_proxy"),h=i("https_proxy_license_server")||i("https_proxy"),_={...a?{"http:":a}:{},...h?{"https:":h}:{}},w=(process.env.no_proxy??"").split(",").map(t=>t.trim()),D=(0,o.getGlobalDispatcher)();(0,o.setGlobalDispatcher)(new class extends o.Dispatcher{dispatch(t,s){if(t.origin){let{host:e,protocol:n}=typeof t.origin=="string"?new y.URL(t.origin):t.origin;if(!w.some(r=>r.startsWith(".")?e.endsWith(r):e===r)){let r=_[n];r&&r.dispatch(t,s)}}return D.dispatch(t,s)}});async function g(t,s,e={}){try{let n=await(0,o.fetch)(t,{method:"post",body:JSON.stringify(s),headers:{"Content-Type":"application/json","User-Agent":`License-SDK/${c} (Node.js ${process.version}; ${process.platform}) ${e.productIdentifier}`},signal:AbortSignal.timeout(e.timeoutInMs??3e4)}),r=await n.json();return{status:n.status,data:r}}catch(n){throw new Error("Connection Error",{cause:n})}}var I={postRequest:g};0&&(module.exports={postRequest});
2
2
  //# sourceMappingURL=httpRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/httpRequest.ts","../src/version.ts"],"sourcesContent":["import {\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher,\n Dispatcher,\n ProxyAgent,\n} from 'undici'\n\nimport { URL } from 'node:url'\nimport { SDK_VERSION } from './version'\n\nfunction getProxyAgent(variableName: string) {\n const proxyURI = process.env[variableName]\n return proxyURI ? new ProxyAgent(proxyURI) : null\n}\n\nconst httpProxy =\n getProxyAgent('http_proxy_license_server') || getProxyAgent('http_proxy')\nconst httpsProxy =\n getProxyAgent('https_proxy_license_server') || getProxyAgent('https_proxy')\n\nconst proxyAgents = {\n ...(httpProxy ? { 'http:': httpProxy } : {}),\n ...(httpsProxy ? { 'https:': httpsProxy } : {}),\n}\n\nconst noProxyRules = (process.env['no_proxy'] ?? '')\n .split(',')\n .map((rule) => rule.trim())\n\nconst defaultDispatcher = getGlobalDispatcher()\n\nsetGlobalDispatcher(\n new (class extends Dispatcher {\n dispatch(options: any, handler: any) {\n if (options.origin) {\n const { host, protocol } =\n typeof options.origin === 'string'\n ? new URL(options.origin)\n : options.origin\n if (\n !noProxyRules.some((rule) =>\n rule.startsWith('.') ? host.endsWith(rule) : host === rule\n )\n ) {\n const proxyAgent = proxyAgents[protocol as 'http:' | 'https:']\n if (proxyAgent) {\n proxyAgent.dispatch(options, handler)\n }\n }\n }\n return defaultDispatcher.dispatch(options, handler)\n }\n })()\n)\n\nexport async function postRequest<T>(\n url: string,\n data: {},\n options: {\n timeoutInMs?: number\n productIdentifier?: string\n } = {}\n) {\n try {\n const response = await fetch(url, {\n method: 'post',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': `License-SDK/${SDK_VERSION} (Node.js ${process.version}; ${process.platform}) ${options.productIdentifier}`,\n },\n signal: AbortSignal.timeout(options.timeoutInMs ?? 30_000),\n })\n\n const responseJson = await response.json()\n\n return {\n status: response.status,\n data: responseJson as T,\n }\n } catch (err) {\n throw new Error('Connection Error', { cause: err })\n }\n}\n\nexport default {\n postRequest,\n}\n","// '2.18.0' is replaced before publishing to npm at .github/workflows/publish_sdk.yml\nexport const SDK_VERSION = '2.18.0'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,gBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAMO,kBAEPC,EAAoB,eCPb,IAAMC,EAAc,SDU3B,SAASC,EAAcC,EAAsB,CAC3C,IAAMC,EAAW,QAAQ,IAAID,CAAY,EACzC,OAAOC,EAAW,IAAI,aAAWA,CAAQ,EAAI,IAC/C,CAEA,IAAMC,EACJH,EAAc,2BAA2B,GAAKA,EAAc,YAAY,EACpEI,EACJJ,EAAc,4BAA4B,GAAKA,EAAc,aAAa,EAEtEK,EAAc,CAClB,GAAIF,EAAY,CAAE,QAASA,CAAU,EAAI,CAAC,EAC1C,GAAIC,EAAa,CAAE,SAAUA,CAAW,EAAI,CAAC,CAC/C,EAEME,GAAgB,QAAQ,IAAI,UAAe,IAC9C,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,KAAK,CAAC,EAEtBC,KAAoB,uBAAoB,KAE9C,uBACE,IAAK,cAAc,YAAW,CAC5B,SAASC,EAAcC,EAAc,CACnC,GAAID,EAAQ,OAAQ,CAClB,GAAM,CAAE,KAAAE,EAAM,SAAAC,CAAS,EACrB,OAAOH,EAAQ,QAAW,SACtB,IAAI,MAAIA,EAAQ,MAAM,EACtBA,EAAQ,OACd,GACE,CAACH,EAAa,KAAMC,GAClBA,EAAK,WAAW,GAAG,EAAII,EAAK,SAASJ,CAAI,EAAII,IAASJ,CACxD,EACA,CACA,IAAMM,EAAaR,EAAYO,CAA8B,EACzDC,GACFA,EAAW,SAASJ,EAASC,CAAO,CAExC,CACF,CACA,OAAOF,EAAkB,SAASC,EAASC,CAAO,CACpD,CACF,CACF,EAEA,eAAsBI,EACpBC,EACAC,EACAP,EAGI,CAAC,EACL,CACA,GAAI,CACF,IAAMQ,EAAW,QAAM,SAAMF,EAAK,CAChC,OAAQ,OACR,KAAM,KAAK,UAAUC,CAAI,EACzB,QAAS,CACP,eAAgB,mBAChB,aAAc,eAAeE,CAAW,aAAa,QAAQ,OAAO,KAAK,QAAQ,QAAQ,KAAKT,EAAQ,iBAAiB,EACzH,EACA,OAAQ,YAAY,QAAQA,EAAQ,aAAe,GAAM,CAC3D,CAAC,EAEKU,EAAe,MAAMF,EAAS,KAAK,EAEzC,MAAO,CACL,OAAQA,EAAS,OACjB,KAAME,CACR,CACF,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,mBAAoB,CAAE,MAAOA,CAAI,CAAC,CACpD,CACF,CAEA,IAAOC,EAAQ,CACb,YAAAP,CACF","names":["httpRequest_exports","__export","httpRequest_default","postRequest","__toCommonJS","import_undici","import_node_url","SDK_VERSION","getProxyAgent","variableName","proxyURI","httpProxy","httpsProxy","proxyAgents","noProxyRules","rule","defaultDispatcher","options","handler","host","protocol","proxyAgent","postRequest","url","data","response","SDK_VERSION","responseJson","err","httpRequest_default"]}
1
+ {"version":3,"sources":["../src/httpRequest.ts","../src/version.ts"],"sourcesContent":["import {\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher,\n Dispatcher,\n ProxyAgent,\n} from 'undici'\n\nimport { URL } from 'node:url'\nimport { SDK_VERSION } from './version'\n\nfunction getProxyAgent(variableName: string) {\n const proxyURI = process.env[variableName]\n return proxyURI ? new ProxyAgent(proxyURI) : null\n}\n\nconst httpProxy =\n getProxyAgent('http_proxy_license_server') || getProxyAgent('http_proxy')\nconst httpsProxy =\n getProxyAgent('https_proxy_license_server') || getProxyAgent('https_proxy')\n\nconst proxyAgents = {\n ...(httpProxy ? { 'http:': httpProxy } : {}),\n ...(httpsProxy ? { 'https:': httpsProxy } : {}),\n}\n\nconst noProxyRules = (process.env['no_proxy'] ?? '')\n .split(',')\n .map((rule) => rule.trim())\n\nconst defaultDispatcher = getGlobalDispatcher()\n\nsetGlobalDispatcher(\n new (class extends Dispatcher {\n dispatch(options: any, handler: any) {\n if (options.origin) {\n const { host, protocol } =\n typeof options.origin === 'string'\n ? new URL(options.origin)\n : options.origin\n if (\n !noProxyRules.some((rule) =>\n rule.startsWith('.') ? host.endsWith(rule) : host === rule\n )\n ) {\n const proxyAgent = proxyAgents[protocol as 'http:' | 'https:']\n if (proxyAgent) {\n proxyAgent.dispatch(options, handler)\n }\n }\n }\n return defaultDispatcher.dispatch(options, handler)\n }\n })()\n)\n\nexport async function postRequest<T>(\n url: string,\n data: {},\n options: {\n timeoutInMs?: number\n productIdentifier?: string\n } = {}\n) {\n try {\n const response = await fetch(url, {\n method: 'post',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': `License-SDK/${SDK_VERSION} (Node.js ${process.version}; ${process.platform}) ${options.productIdentifier}`,\n },\n signal: AbortSignal.timeout(options.timeoutInMs ?? 30_000),\n })\n\n const responseJson = await response.json()\n\n return {\n status: response.status,\n data: responseJson as T,\n }\n } catch (err) {\n throw new Error('Connection Error', { cause: err })\n }\n}\n\nexport default {\n postRequest,\n}\n","// '2.19.0' is replaced before publishing to npm at .github/workflows/publish_sdk.yml\nexport const SDK_VERSION = '2.19.0'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,gBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAMO,kBAEPC,EAAoB,eCPb,IAAMC,EAAc,SDU3B,SAASC,EAAcC,EAAsB,CAC3C,IAAMC,EAAW,QAAQ,IAAID,CAAY,EACzC,OAAOC,EAAW,IAAI,aAAWA,CAAQ,EAAI,IAC/C,CAEA,IAAMC,EACJH,EAAc,2BAA2B,GAAKA,EAAc,YAAY,EACpEI,EACJJ,EAAc,4BAA4B,GAAKA,EAAc,aAAa,EAEtEK,EAAc,CAClB,GAAIF,EAAY,CAAE,QAASA,CAAU,EAAI,CAAC,EAC1C,GAAIC,EAAa,CAAE,SAAUA,CAAW,EAAI,CAAC,CAC/C,EAEME,GAAgB,QAAQ,IAAI,UAAe,IAC9C,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,KAAK,CAAC,EAEtBC,KAAoB,uBAAoB,KAE9C,uBACE,IAAK,cAAc,YAAW,CAC5B,SAASC,EAAcC,EAAc,CACnC,GAAID,EAAQ,OAAQ,CAClB,GAAM,CAAE,KAAAE,EAAM,SAAAC,CAAS,EACrB,OAAOH,EAAQ,QAAW,SACtB,IAAI,MAAIA,EAAQ,MAAM,EACtBA,EAAQ,OACd,GACE,CAACH,EAAa,KAAMC,GAClBA,EAAK,WAAW,GAAG,EAAII,EAAK,SAASJ,CAAI,EAAII,IAASJ,CACxD,EACA,CACA,IAAMM,EAAaR,EAAYO,CAA8B,EACzDC,GACFA,EAAW,SAASJ,EAASC,CAAO,CAExC,CACF,CACA,OAAOF,EAAkB,SAASC,EAASC,CAAO,CACpD,CACF,CACF,EAEA,eAAsBI,EACpBC,EACAC,EACAP,EAGI,CAAC,EACL,CACA,GAAI,CACF,IAAMQ,EAAW,QAAM,SAAMF,EAAK,CAChC,OAAQ,OACR,KAAM,KAAK,UAAUC,CAAI,EACzB,QAAS,CACP,eAAgB,mBAChB,aAAc,eAAeE,CAAW,aAAa,QAAQ,OAAO,KAAK,QAAQ,QAAQ,KAAKT,EAAQ,iBAAiB,EACzH,EACA,OAAQ,YAAY,QAAQA,EAAQ,aAAe,GAAM,CAC3D,CAAC,EAEKU,EAAe,MAAMF,EAAS,KAAK,EAEzC,MAAO,CACL,OAAQA,EAAS,OACjB,KAAME,CACR,CACF,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,mBAAoB,CAAE,MAAOA,CAAI,CAAC,CACpD,CACF,CAEA,IAAOC,EAAQ,CACb,YAAAP,CACF","names":["httpRequest_exports","__export","httpRequest_default","postRequest","__toCommonJS","import_undici","import_node_url","SDK_VERSION","getProxyAgent","variableName","proxyURI","httpProxy","httpsProxy","proxyAgents","noProxyRules","rule","defaultDispatcher","options","handler","host","protocol","proxyAgent","postRequest","url","data","response","SDK_VERSION","responseJson","err","httpRequest_default"]}
@@ -1,2 +1,2 @@
1
- import{fetch as a,getGlobalDispatcher as h,setGlobalDispatcher as y,Dispatcher as g,ProxyAgent as u}from"undici";import{URL as x}from"url";var i="2.18.0";function n(t){let r=process.env[t];return r?new u(r):null}var p=n("http_proxy_license_server")||n("http_proxy"),c=n("https_proxy_license_server")||n("https_proxy"),f={...p?{"http:":p}:{},...c?{"https:":c}:{}},d=(process.env.no_proxy??"").split(",").map(t=>t.trim()),l=h();y(new class extends g{dispatch(t,r){if(t.origin){let{host:o,protocol:e}=typeof t.origin=="string"?new x(t.origin):t.origin;if(!d.some(s=>s.startsWith(".")?o.endsWith(s):o===s)){let s=f[e];s&&s.dispatch(t,r)}}return l.dispatch(t,r)}});async function m(t,r,o={}){try{let e=await a(t,{method:"post",body:JSON.stringify(r),headers:{"Content-Type":"application/json","User-Agent":`License-SDK/${i} (Node.js ${process.version}; ${process.platform}) ${o.productIdentifier}`},signal:AbortSignal.timeout(o.timeoutInMs??3e4)}),s=await e.json();return{status:e.status,data:s}}catch(e){throw new Error("Connection Error",{cause:e})}}var S={postRequest:m};export{S as default,m as postRequest};
1
+ import{fetch as a,getGlobalDispatcher as h,setGlobalDispatcher as y,Dispatcher as g,ProxyAgent as u}from"undici";import{URL as x}from"node:url";var i="2.19.0";function n(t){let r=process.env[t];return r?new u(r):null}var p=n("http_proxy_license_server")||n("http_proxy"),c=n("https_proxy_license_server")||n("https_proxy"),f={...p?{"http:":p}:{},...c?{"https:":c}:{}},d=(process.env.no_proxy??"").split(",").map(t=>t.trim()),l=h();y(new class extends g{dispatch(t,r){if(t.origin){let{host:o,protocol:e}=typeof t.origin=="string"?new x(t.origin):t.origin;if(!d.some(s=>s.startsWith(".")?o.endsWith(s):o===s)){let s=f[e];s&&s.dispatch(t,r)}}return l.dispatch(t,r)}});async function m(t,r,o={}){try{let e=await a(t,{method:"post",body:JSON.stringify(r),headers:{"Content-Type":"application/json","User-Agent":`License-SDK/${i} (Node.js ${process.version}; ${process.platform}) ${o.productIdentifier}`},signal:AbortSignal.timeout(o.timeoutInMs??3e4)}),s=await e.json();return{status:e.status,data:s}}catch(e){throw new Error("Connection Error",{cause:e})}}var S={postRequest:m};export{S as default,m as postRequest};
2
2
  //# sourceMappingURL=httpRequest.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/httpRequest.ts","../src/version.ts"],"sourcesContent":["import {\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher,\n Dispatcher,\n ProxyAgent,\n} from 'undici'\n\nimport { URL } from 'node:url'\nimport { SDK_VERSION } from './version'\n\nfunction getProxyAgent(variableName: string) {\n const proxyURI = process.env[variableName]\n return proxyURI ? new ProxyAgent(proxyURI) : null\n}\n\nconst httpProxy =\n getProxyAgent('http_proxy_license_server') || getProxyAgent('http_proxy')\nconst httpsProxy =\n getProxyAgent('https_proxy_license_server') || getProxyAgent('https_proxy')\n\nconst proxyAgents = {\n ...(httpProxy ? { 'http:': httpProxy } : {}),\n ...(httpsProxy ? { 'https:': httpsProxy } : {}),\n}\n\nconst noProxyRules = (process.env['no_proxy'] ?? '')\n .split(',')\n .map((rule) => rule.trim())\n\nconst defaultDispatcher = getGlobalDispatcher()\n\nsetGlobalDispatcher(\n new (class extends Dispatcher {\n dispatch(options: any, handler: any) {\n if (options.origin) {\n const { host, protocol } =\n typeof options.origin === 'string'\n ? new URL(options.origin)\n : options.origin\n if (\n !noProxyRules.some((rule) =>\n rule.startsWith('.') ? host.endsWith(rule) : host === rule\n )\n ) {\n const proxyAgent = proxyAgents[protocol as 'http:' | 'https:']\n if (proxyAgent) {\n proxyAgent.dispatch(options, handler)\n }\n }\n }\n return defaultDispatcher.dispatch(options, handler)\n }\n })()\n)\n\nexport async function postRequest<T>(\n url: string,\n data: {},\n options: {\n timeoutInMs?: number\n productIdentifier?: string\n } = {}\n) {\n try {\n const response = await fetch(url, {\n method: 'post',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': `License-SDK/${SDK_VERSION} (Node.js ${process.version}; ${process.platform}) ${options.productIdentifier}`,\n },\n signal: AbortSignal.timeout(options.timeoutInMs ?? 30_000),\n })\n\n const responseJson = await response.json()\n\n return {\n status: response.status,\n data: responseJson as T,\n }\n } catch (err) {\n throw new Error('Connection Error', { cause: err })\n }\n}\n\nexport default {\n postRequest,\n}\n","// '2.18.0' is replaced before publishing to npm at .github/workflows/publish_sdk.yml\nexport const SDK_VERSION = '2.18.0'\n"],"mappings":"AAAA,OACE,SAAAA,EACA,uBAAAC,EACA,uBAAAC,EACA,cAAAC,EACA,cAAAC,MACK,SAEP,OAAS,OAAAC,MAAW,MCPb,IAAMC,EAAc,SDU3B,SAASC,EAAcC,EAAsB,CAC3C,IAAMC,EAAW,QAAQ,IAAID,CAAY,EACzC,OAAOC,EAAW,IAAIC,EAAWD,CAAQ,EAAI,IAC/C,CAEA,IAAME,EACJJ,EAAc,2BAA2B,GAAKA,EAAc,YAAY,EACpEK,EACJL,EAAc,4BAA4B,GAAKA,EAAc,aAAa,EAEtEM,EAAc,CAClB,GAAIF,EAAY,CAAE,QAASA,CAAU,EAAI,CAAC,EAC1C,GAAIC,EAAa,CAAE,SAAUA,CAAW,EAAI,CAAC,CAC/C,EAEME,GAAgB,QAAQ,IAAI,UAAe,IAC9C,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,KAAK,CAAC,EAEtBC,EAAoBC,EAAoB,EAE9CC,EACE,IAAK,cAAcC,CAAW,CAC5B,SAASC,EAAcC,EAAc,CACnC,GAAID,EAAQ,OAAQ,CAClB,GAAM,CAAE,KAAAE,EAAM,SAAAC,CAAS,EACrB,OAAOH,EAAQ,QAAW,SACtB,IAAII,EAAIJ,EAAQ,MAAM,EACtBA,EAAQ,OACd,GACE,CAACN,EAAa,KAAMC,GAClBA,EAAK,WAAW,GAAG,EAAIO,EAAK,SAASP,CAAI,EAAIO,IAASP,CACxD,EACA,CACA,IAAMU,EAAaZ,EAAYU,CAA8B,EACzDE,GACFA,EAAW,SAASL,EAASC,CAAO,CAExC,CACF,CACA,OAAOL,EAAkB,SAASI,EAASC,CAAO,CACpD,CACF,CACF,EAEA,eAAsBK,EACpBC,EACAC,EACAR,EAGI,CAAC,EACL,CACA,GAAI,CACF,IAAMS,EAAW,MAAMC,EAAMH,EAAK,CAChC,OAAQ,OACR,KAAM,KAAK,UAAUC,CAAI,EACzB,QAAS,CACP,eAAgB,mBAChB,aAAc,eAAeG,CAAW,aAAa,QAAQ,OAAO,KAAK,QAAQ,QAAQ,KAAKX,EAAQ,iBAAiB,EACzH,EACA,OAAQ,YAAY,QAAQA,EAAQ,aAAe,GAAM,CAC3D,CAAC,EAEKY,EAAe,MAAMH,EAAS,KAAK,EAEzC,MAAO,CACL,OAAQA,EAAS,OACjB,KAAMG,CACR,CACF,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,mBAAoB,CAAE,MAAOA,CAAI,CAAC,CACpD,CACF,CAEA,IAAOC,EAAQ,CACb,YAAAR,CACF","names":["fetch","getGlobalDispatcher","setGlobalDispatcher","Dispatcher","ProxyAgent","URL","SDK_VERSION","getProxyAgent","variableName","proxyURI","ProxyAgent","httpProxy","httpsProxy","proxyAgents","noProxyRules","rule","defaultDispatcher","getGlobalDispatcher","setGlobalDispatcher","Dispatcher","options","handler","host","protocol","URL","proxyAgent","postRequest","url","data","response","fetch","SDK_VERSION","responseJson","err","httpRequest_default"]}
1
+ {"version":3,"sources":["../src/httpRequest.ts","../src/version.ts"],"sourcesContent":["import {\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher,\n Dispatcher,\n ProxyAgent,\n} from 'undici'\n\nimport { URL } from 'node:url'\nimport { SDK_VERSION } from './version'\n\nfunction getProxyAgent(variableName: string) {\n const proxyURI = process.env[variableName]\n return proxyURI ? new ProxyAgent(proxyURI) : null\n}\n\nconst httpProxy =\n getProxyAgent('http_proxy_license_server') || getProxyAgent('http_proxy')\nconst httpsProxy =\n getProxyAgent('https_proxy_license_server') || getProxyAgent('https_proxy')\n\nconst proxyAgents = {\n ...(httpProxy ? { 'http:': httpProxy } : {}),\n ...(httpsProxy ? { 'https:': httpsProxy } : {}),\n}\n\nconst noProxyRules = (process.env['no_proxy'] ?? '')\n .split(',')\n .map((rule) => rule.trim())\n\nconst defaultDispatcher = getGlobalDispatcher()\n\nsetGlobalDispatcher(\n new (class extends Dispatcher {\n dispatch(options: any, handler: any) {\n if (options.origin) {\n const { host, protocol } =\n typeof options.origin === 'string'\n ? new URL(options.origin)\n : options.origin\n if (\n !noProxyRules.some((rule) =>\n rule.startsWith('.') ? host.endsWith(rule) : host === rule\n )\n ) {\n const proxyAgent = proxyAgents[protocol as 'http:' | 'https:']\n if (proxyAgent) {\n proxyAgent.dispatch(options, handler)\n }\n }\n }\n return defaultDispatcher.dispatch(options, handler)\n }\n })()\n)\n\nexport async function postRequest<T>(\n url: string,\n data: {},\n options: {\n timeoutInMs?: number\n productIdentifier?: string\n } = {}\n) {\n try {\n const response = await fetch(url, {\n method: 'post',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': `License-SDK/${SDK_VERSION} (Node.js ${process.version}; ${process.platform}) ${options.productIdentifier}`,\n },\n signal: AbortSignal.timeout(options.timeoutInMs ?? 30_000),\n })\n\n const responseJson = await response.json()\n\n return {\n status: response.status,\n data: responseJson as T,\n }\n } catch (err) {\n throw new Error('Connection Error', { cause: err })\n }\n}\n\nexport default {\n postRequest,\n}\n","// '2.19.0' is replaced before publishing to npm at .github/workflows/publish_sdk.yml\nexport const SDK_VERSION = '2.19.0'\n"],"mappings":"AAAA,OACE,SAAAA,EACA,uBAAAC,EACA,uBAAAC,EACA,cAAAC,EACA,cAAAC,MACK,SAEP,OAAS,OAAAC,MAAW,WCPb,IAAMC,EAAc,SDU3B,SAASC,EAAcC,EAAsB,CAC3C,IAAMC,EAAW,QAAQ,IAAID,CAAY,EACzC,OAAOC,EAAW,IAAIC,EAAWD,CAAQ,EAAI,IAC/C,CAEA,IAAME,EACJJ,EAAc,2BAA2B,GAAKA,EAAc,YAAY,EACpEK,EACJL,EAAc,4BAA4B,GAAKA,EAAc,aAAa,EAEtEM,EAAc,CAClB,GAAIF,EAAY,CAAE,QAASA,CAAU,EAAI,CAAC,EAC1C,GAAIC,EAAa,CAAE,SAAUA,CAAW,EAAI,CAAC,CAC/C,EAEME,GAAgB,QAAQ,IAAI,UAAe,IAC9C,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,KAAK,CAAC,EAEtBC,EAAoBC,EAAoB,EAE9CC,EACE,IAAK,cAAcC,CAAW,CAC5B,SAASC,EAAcC,EAAc,CACnC,GAAID,EAAQ,OAAQ,CAClB,GAAM,CAAE,KAAAE,EAAM,SAAAC,CAAS,EACrB,OAAOH,EAAQ,QAAW,SACtB,IAAII,EAAIJ,EAAQ,MAAM,EACtBA,EAAQ,OACd,GACE,CAACN,EAAa,KAAMC,GAClBA,EAAK,WAAW,GAAG,EAAIO,EAAK,SAASP,CAAI,EAAIO,IAASP,CACxD,EACA,CACA,IAAMU,EAAaZ,EAAYU,CAA8B,EACzDE,GACFA,EAAW,SAASL,EAASC,CAAO,CAExC,CACF,CACA,OAAOL,EAAkB,SAASI,EAASC,CAAO,CACpD,CACF,CACF,EAEA,eAAsBK,EACpBC,EACAC,EACAR,EAGI,CAAC,EACL,CACA,GAAI,CACF,IAAMS,EAAW,MAAMC,EAAMH,EAAK,CAChC,OAAQ,OACR,KAAM,KAAK,UAAUC,CAAI,EACzB,QAAS,CACP,eAAgB,mBAChB,aAAc,eAAeG,CAAW,aAAa,QAAQ,OAAO,KAAK,QAAQ,QAAQ,KAAKX,EAAQ,iBAAiB,EACzH,EACA,OAAQ,YAAY,QAAQA,EAAQ,aAAe,GAAM,CAC3D,CAAC,EAEKY,EAAe,MAAMH,EAAS,KAAK,EAEzC,MAAO,CACL,OAAQA,EAAS,OACjB,KAAMG,CACR,CACF,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,mBAAoB,CAAE,MAAOA,CAAI,CAAC,CACpD,CACF,CAEA,IAAOC,EAAQ,CACb,YAAAR,CACF","names":["fetch","getGlobalDispatcher","setGlobalDispatcher","Dispatcher","ProxyAgent","URL","SDK_VERSION","getProxyAgent","variableName","proxyURI","ProxyAgent","httpProxy","httpsProxy","proxyAgents","noProxyRules","rule","defaultDispatcher","getGlobalDispatcher","setGlobalDispatcher","Dispatcher","options","handler","host","protocol","URL","proxyAgent","postRequest","url","data","response","fetch","SDK_VERSION","responseJson","err","httpRequest_default"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n_io/license-sdk",
3
- "version": "2.18.0",
3
+ "version": "2.19.0",
4
4
  "description": "License SDK",
5
5
  "main": "dist/LicenseManager.js",
6
6
  "types": "dist/LicenseManager.d.ts",
@@ -37,13 +37,13 @@
37
37
  "crypto-js": "^4.2.0",
38
38
  "node-machine-id": "^1.1.12",
39
39
  "node-rsa": "^1.1.1",
40
- "undici": "^6.20.0"
40
+ "undici": "^7.5.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@microsoft/api-extractor": "^7.47.9",
43
+ "@microsoft/api-extractor": "^7.52.1",
44
44
  "@types/crypto-js": "^4.2.2",
45
45
  "@types/node-rsa": "^1.1.4",
46
- "tsup": "8.3.0",
46
+ "tsup": "8.4.0",
47
47
  "@n8n_io/license-server": "1.0.0"
48
48
  },
49
49
  "scripts": {