n8n-nodes-autotask 0.6.9 → 0.7.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # n8n-nodes-autotask
2
2
 
3
- ![n8n-nodes-autotask](https://img.shields.io/badge/n8n--nodes--autotask-0.6.9-blue)
3
+ ![n8n-nodes-autotask](https://img.shields.io/badge/n8n--nodes--autotask-0.7.0-blue)
4
4
  ![License](https://img.shields.io/badge/license-MIT-green)
5
5
 
6
6
  > **IMPORTANT**: After updating this node to a new version, a restart of your n8n instance is highly recommended to ensure all changes are properly applied.
@@ -12,9 +12,6 @@ export declare const API_CONSTANTS: {
12
12
  readonly MAX_UDF_PER_QUERY: 1;
13
13
  readonly MAX_GET_LENGTH: 2048;
14
14
  readonly MAX_REQUESTS_PER_HOUR: 10000;
15
- readonly MAX_RETRIES: 3;
16
- readonly BASE_BACKOFF_DELAY: 1000;
17
- readonly MAX_BACKOFF_DELAY: 30000;
18
15
  };
19
16
  export declare const PAGINATION: {
20
17
  readonly MAX_PAGE_SIZE: 500;
@@ -15,9 +15,6 @@ exports.API_CONSTANTS = {
15
15
  MAX_UDF_PER_QUERY: 1,
16
16
  MAX_GET_LENGTH: 2048,
17
17
  MAX_REQUESTS_PER_HOUR: 10000,
18
- MAX_RETRIES: 3,
19
- BASE_BACKOFF_DELAY: 1000,
20
- MAX_BACKOFF_DELAY: 30000,
21
18
  };
22
19
  exports.PAGINATION = {
23
20
  MAX_PAGE_SIZE: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/api.ts"],"names":[],"mappings":";;;AAKa,QAAA,WAAW,GAAG;IAE1B,OAAO,EAAE,MAAM;CACN,CAAC;AAGE,QAAA,aAAa,GAAG;IAE5B,cAAc,EAAE,GAAG;IAEnB,aAAa,EAAE,GAAG;IAElB,gBAAgB,EAAE,IAAI;IAEtB,gBAAgB,EAAE,GAAG;IAErB,sBAAsB,EAAE,IAAI;IAE5B,uBAAuB,EAAE,EAAE;IAE3B,iBAAiB,EAAE,GAAG;IAEtB,iBAAiB,EAAE,CAAC;IAEpB,cAAc,EAAE,IAAI;IAEpB,qBAAqB,EAAE,KAAK;IAE5B,WAAW,EAAE,CAAC;IAEd,kBAAkB,EAAE,IAAI;IAExB,iBAAiB,EAAE,KAAK;CACf,CAAC;AAGE,QAAA,UAAU,GAAG;IAEzB,aAAa,EAAE,GAAG;IAElB,aAAa,EAAE,CAAC;IAEhB,iBAAiB,EAAE,EAAE;IAErB,SAAS,EAAE,EAAE;CACJ,CAAC;AAGE,QAAA,gBAAgB,GAAG;IAE/B,EAAE,EAAE,IAAI;IAER,KAAK,EAAE,OAAO;IAEd,EAAE,EAAE,IAAI;IAER,GAAG,EAAE,KAAK;IAEV,EAAE,EAAE,IAAI;IAER,GAAG,EAAE,KAAK;IAEV,UAAU,EAAE,YAAY;IAExB,QAAQ,EAAE,UAAU;IAEpB,QAAQ,EAAE,UAAU;IAEpB,KAAK,EAAE,OAAO;IAEd,QAAQ,EAAE,UAAU;IAEpB,EAAE,EAAE,IAAI;IAER,KAAK,EAAE,OAAO;CACL,CAAC;AAGE,QAAA,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAG3D,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAGvD,QAAA,eAAe,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACL,CAAC;AAGE,QAAA,cAAc,GAAG;IAC7B,kBAAkB,EAAE,mBAAmB;IACvC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,mBAAmB;CACtB,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/api.ts"],"names":[],"mappings":";;;AAKa,QAAA,WAAW,GAAG;IAE1B,OAAO,EAAE,MAAM;CACN,CAAC;AAGE,QAAA,aAAa,GAAG;IAE5B,cAAc,EAAE,GAAG;IAEnB,aAAa,EAAE,GAAG;IAElB,gBAAgB,EAAE,IAAI;IAEtB,gBAAgB,EAAE,GAAG;IAErB,sBAAsB,EAAE,IAAI;IAE5B,uBAAuB,EAAE,EAAE;IAE3B,iBAAiB,EAAE,GAAG;IAEtB,iBAAiB,EAAE,CAAC;IAEpB,cAAc,EAAE,IAAI;IAEpB,qBAAqB,EAAE,KAAK;CACnB,CAAC;AAGE,QAAA,UAAU,GAAG;IAEzB,aAAa,EAAE,GAAG;IAElB,aAAa,EAAE,CAAC;IAEhB,iBAAiB,EAAE,EAAE;IAErB,SAAS,EAAE,EAAE;CACJ,CAAC;AAGE,QAAA,gBAAgB,GAAG;IAE/B,EAAE,EAAE,IAAI;IAER,KAAK,EAAE,OAAO;IAEd,EAAE,EAAE,IAAI;IAER,GAAG,EAAE,KAAK;IAEV,EAAE,EAAE,IAAI;IAER,GAAG,EAAE,KAAK;IAEV,UAAU,EAAE,YAAY;IAExB,QAAQ,EAAE,UAAU;IAEpB,QAAQ,EAAE,UAAU;IAEpB,KAAK,EAAE,OAAO;IAEd,QAAQ,EAAE,UAAU;IAEpB,EAAE,EAAE,IAAI;IAER,KAAK,EAAE,OAAO;CACL,CAAC;AAGE,QAAA,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAG3D,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAGvD,QAAA,eAAe,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACL,CAAC;AAGE,QAAA,cAAc,GAAG;IAC7B,kBAAkB,EAAE,mBAAmB;IACvC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,mBAAmB;CACtB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { IExecuteFunctions, ILoadOptionsFunctions, IHookFunctions } from 'n8n-workflow';
2
+ import type { IApiErrorWithResponse } from '../types/base/api';
3
+ import type { IAutotaskError } from '../types/base/errors';
2
4
  export declare enum AutotaskErrorType {
3
5
  Authentication = "AuthenticationError_401",
4
6
  Authorization = "AuthorizationError_403",
@@ -15,6 +17,13 @@ export declare enum AutotaskErrorType {
15
17
  ParseError = "ParseError",
16
18
  Unknown = "UnknownError"
17
19
  }
20
+ export declare function createStandardErrorObject(error: Error | IApiErrorWithResponse, context: {
21
+ url: string;
22
+ method: string;
23
+ status?: number;
24
+ operation?: string;
25
+ entityType?: string;
26
+ }): IAutotaskError;
18
27
  export declare function handleErrors<T>(context: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions | undefined, operation: () => Promise<T>, metadata?: {
19
28
  operation?: string;
20
29
  entityType?: string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutotaskErrorType = void 0;
4
+ exports.createStandardErrorObject = createStandardErrorObject;
4
5
  exports.handleErrors = handleErrors;
5
6
  const n8n_workflow_1 = require("n8n-workflow");
6
7
  var AutotaskErrorType;
@@ -23,196 +24,128 @@ var AutotaskErrorType;
23
24
  function formatErrorDetails(errors) {
24
25
  if (!(errors === null || errors === void 0 ? void 0 : errors.length))
25
26
  return '';
26
- return errors.map(e => e.message).join(', ');
27
+ return errors.map(e => {
28
+ let message = e.message || 'Unknown error';
29
+ if (e.field) {
30
+ message = `Field '${e.field}': ${message}`;
31
+ }
32
+ if (e.code) {
33
+ message = `[${e.code}] ${message}`;
34
+ }
35
+ return message;
36
+ }).join(' | ');
37
+ }
38
+ function getErrorTypeByContext(status, message, errors) {
39
+ if (message) {
40
+ if (message.includes('[NotFoundError]') ||
41
+ message.toLowerCase().includes('not found') ||
42
+ (message.includes('item') && message.includes('null'))) {
43
+ return AutotaskErrorType.NotFound;
44
+ }
45
+ }
46
+ if (!status)
47
+ return AutotaskErrorType.Unknown;
48
+ const statusErrorMap = {
49
+ 400: AutotaskErrorType.BadRequest,
50
+ 401: AutotaskErrorType.Authentication,
51
+ 403: AutotaskErrorType.Authorization,
52
+ 404: AutotaskErrorType.NotFound,
53
+ 409: AutotaskErrorType.Conflict,
54
+ 422: AutotaskErrorType.Validation,
55
+ 429: AutotaskErrorType.TooManyRequests,
56
+ 500: AutotaskErrorType.InternalServer,
57
+ 503: AutotaskErrorType.ServiceUnavailable,
58
+ 504: AutotaskErrorType.GatewayTimeout,
59
+ };
60
+ if (statusErrorMap[status])
61
+ return statusErrorMap[status];
62
+ if (status >= 400 && status < 500)
63
+ return AutotaskErrorType.BadRequest;
64
+ if (status >= 500)
65
+ return AutotaskErrorType.InternalServer;
66
+ return AutotaskErrorType.Unknown;
27
67
  }
28
68
  function getErrorContext(error, operation, entityType) {
29
- var _a, _b, _c, _d, _e, _f, _g, _h;
30
69
  if (!error) {
31
70
  return {
32
71
  type: AutotaskErrorType.Unknown,
33
72
  details: 'An unknown error occurred (no error provided)',
34
73
  };
35
74
  }
36
- if (error.message) {
37
- if (error.message.includes('[NotFoundError]') ||
38
- error.message.toLowerCase().includes('not found') ||
39
- (error.message.includes('item') && error.message.includes('null'))) {
40
- return {
41
- type: AutotaskErrorType.NotFound,
42
- details: error.message,
43
- };
75
+ let details = '';
76
+ let statusCode;
77
+ let specificErrors = [];
78
+ if ('response' in error && error.response) {
79
+ statusCode = error.response.status;
80
+ if (error.response.data && Array.isArray(error.response.data.errors) && error.response.data.errors.length > 0) {
81
+ specificErrors = error.response.data.errors;
82
+ details = formatErrorDetails(specificErrors);
44
83
  }
45
84
  }
46
- if ('response' in error) {
47
- const status = (_a = error.response) === null || _a === void 0 ? void 0 : _a.status;
48
- if (((_b = error.response) === null || _b === void 0 ? void 0 : _b.data) && 'errors' in error.response.data) {
49
- const errorData = error.response.data;
50
- if (Array.isArray(errorData.errors) && errorData.errors.length > 0) {
51
- const errorDetails = errorData.errors.map((e) => {
52
- let message = e.message || 'Unknown error';
53
- if (e.field) {
54
- message = `Field '${e.field}': ${message}`;
55
- }
56
- if (e.code) {
57
- message = `[${e.code}] ${message}`;
58
- }
59
- return message;
60
- }).join(' | ');
61
- const errorContext = {
62
- type: getErrorTypeByStatus(status),
63
- statusCode: status,
64
- details: errorDetails || formatErrorDetails(errorData.errors) || 'API error occurred',
65
- };
66
- return errorContext;
67
- }
68
- }
69
- switch (status) {
70
- case 400:
71
- return {
72
- type: AutotaskErrorType.BadRequest,
73
- statusCode: status,
74
- details: formatErrorDetails((_d = (_c = error.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.errors) || 'Invalid request format or parameters',
75
- };
76
- case 401:
77
- return {
78
- type: AutotaskErrorType.Authentication,
79
- statusCode: status,
80
- details: 'Authentication failed: Invalid credentials',
81
- };
82
- case 403:
83
- return {
84
- type: AutotaskErrorType.Authorization,
85
- statusCode: status,
86
- details: 'Authorization failed: Insufficient permissions',
87
- };
88
- case 404:
89
- return {
90
- type: AutotaskErrorType.NotFound,
91
- statusCode: status,
92
- details: `Resource not found${entityType ? `: ${entityType}` : ''}`,
93
- };
94
- case 409:
95
- return {
96
- type: AutotaskErrorType.Conflict,
97
- statusCode: status,
98
- details: 'Resource state conflict',
99
- };
100
- case 422:
101
- return {
102
- type: AutotaskErrorType.Validation,
103
- statusCode: status,
104
- details: formatErrorDetails((_f = (_e = error.response) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.errors) || 'Validation error',
105
- };
106
- case 429:
107
- return {
108
- type: AutotaskErrorType.TooManyRequests,
109
- statusCode: status,
110
- details: 'Rate limit exceeded',
111
- };
112
- case 500:
113
- return {
114
- type: AutotaskErrorType.InternalServer,
115
- statusCode: status,
116
- details: 'Internal server error',
117
- };
118
- case 503:
119
- return {
120
- type: AutotaskErrorType.ServiceUnavailable,
121
- statusCode: status,
122
- details: 'Service temporarily unavailable',
123
- };
124
- case 504:
125
- return {
126
- type: AutotaskErrorType.GatewayTimeout,
127
- statusCode: status,
128
- details: 'Gateway timeout',
129
- };
130
- default:
131
- if (status && status >= 400 && status < 500) {
132
- return {
133
- type: AutotaskErrorType.BadRequest,
134
- statusCode: status,
135
- details: formatErrorDetails((_h = (_g = error.response) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.errors) || `Client error: ${status}`,
136
- };
137
- }
138
- if (status && status >= 500) {
139
- return {
140
- type: AutotaskErrorType.InternalServer,
141
- statusCode: status,
142
- details: `Server error: ${status}`,
143
- };
144
- }
145
- }
85
+ if (!details && error.message) {
86
+ details = error.message;
146
87
  }
147
- if (error instanceof Error) {
148
- if (error.name === 'NetworkError') {
149
- return {
150
- type: AutotaskErrorType.Network,
151
- details: error.message || 'Network connection error',
152
- };
153
- }
154
- if (error.name === 'TimeoutError') {
155
- return {
156
- type: AutotaskErrorType.Timeout,
157
- details: error.message || 'Request timeout',
158
- };
159
- }
160
- if (error.name === 'SyntaxError' || error.name === 'TypeError') {
161
- return {
162
- type: AutotaskErrorType.ParseError,
163
- details: error.message || 'Failed to parse API response',
164
- };
88
+ const type = getErrorTypeByContext(statusCode, error.message, specificErrors);
89
+ return {
90
+ type,
91
+ operation,
92
+ entityType,
93
+ statusCode,
94
+ details: details || 'An error occurred',
95
+ };
96
+ }
97
+ function createStandardErrorObject(error, context) {
98
+ var _a, _b, _c;
99
+ const { url, method, status, operation, entityType } = context;
100
+ let details = [];
101
+ if ('response' in error && ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errors)) {
102
+ if (Array.isArray(error.response.data.errors)) {
103
+ details = error.response.data.errors;
165
104
  }
166
105
  }
106
+ const errorContext = getErrorContext(error, operation, entityType);
107
+ const rawResponse = 'response' in error && ((_c = error.response) === null || _c === void 0 ? void 0 : _c.data)
108
+ ? JSON.stringify(error.response.data)
109
+ : undefined;
167
110
  return {
168
- type: AutotaskErrorType.Unknown,
169
- details: error.message || 'An unknown error occurred',
111
+ statusCode: status,
112
+ message: errorContext.details || error.message || 'Unknown error',
113
+ details,
114
+ context: {
115
+ url,
116
+ method,
117
+ operation,
118
+ entityType,
119
+ errorDetails: details,
120
+ rawResponse
121
+ }
170
122
  };
171
123
  }
172
- function getErrorTypeByStatus(status) {
173
- if (!status)
174
- return AutotaskErrorType.Unknown;
175
- if (status === 401)
176
- return AutotaskErrorType.Authentication;
177
- if (status === 403)
178
- return AutotaskErrorType.Authorization;
179
- if (status === 404)
180
- return AutotaskErrorType.NotFound;
181
- if (status === 400)
182
- return AutotaskErrorType.BadRequest;
183
- if (status === 422)
184
- return AutotaskErrorType.Validation;
185
- if (status === 409)
186
- return AutotaskErrorType.Conflict;
187
- if (status === 429)
188
- return AutotaskErrorType.TooManyRequests;
189
- if (status === 500)
190
- return AutotaskErrorType.InternalServer;
191
- if (status === 503)
192
- return AutotaskErrorType.ServiceUnavailable;
193
- if (status === 504)
194
- return AutotaskErrorType.GatewayTimeout;
195
- if (status >= 400 && status < 500)
196
- return AutotaskErrorType.BadRequest;
197
- if (status >= 500)
198
- return AutotaskErrorType.InternalServer;
199
- return AutotaskErrorType.Unknown;
200
- }
201
124
  async function handleErrors(context, operation, metadata) {
125
+ var _a, _b, _c;
202
126
  const { operation: opName, entityType } = metadata || {};
203
127
  try {
204
128
  return await operation();
205
129
  }
206
130
  catch (error) {
207
- const lastError = error instanceof Error ? error : new Error('Unknown error');
208
- const errorContext = getErrorContext(lastError, opName, entityType);
209
- if (!context) {
210
- throw lastError;
131
+ const errorContext = getErrorContext(error, opName, entityType);
132
+ const errorMessage = error.description ||
133
+ error.message ||
134
+ errorContext.details ||
135
+ 'An unknown error occurred';
136
+ const apiErrors = ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errors) ||
137
+ ((_c = error.error) === null || _c === void 0 ? void 0 : _c.errors) ||
138
+ [];
139
+ const formattedApiErrors = Array.isArray(apiErrors) && apiErrors.length > 0
140
+ ? apiErrors.map((e) => typeof e === 'string' ? e : e.message).filter(Boolean).join(' | ')
141
+ : '';
142
+ const detailedMessage = errorMessage !== 'An unknown error occurred'
143
+ ? errorMessage
144
+ : formattedApiErrors || errorContext.details || 'An unknown error occurred';
145
+ if (context) {
146
+ throw new n8n_workflow_1.NodeOperationError(context.getNode(), detailedMessage, { itemIndex: 0 });
211
147
  }
212
- throw new n8n_workflow_1.NodeOperationError(context.getNode(), lastError, {
213
- description: errorContext.details,
214
- message: `[${errorContext.type}] ${opName ? `Operation: ${opName}, ` : ''}${entityType ? `Entity: ${entityType}, ` : ''}${errorContext.details}`,
215
- });
148
+ throw new Error(`${detailedMessage} [${errorContext.type}]`);
216
149
  }
217
150
  }
218
151
  //# sourceMappingURL=errorHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../nodes/Autotask/helpers/errorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../nodes/Autotask/helpers/errorHandler.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ declare class RequestRateTracker {
30
30
  currentTimeframeRequestCount: number;
31
31
  } | null>): void;
32
32
  }
33
- export declare function calculateBackoff(retryAttempt: number, baseDelay?: number): number;
34
- export declare function handleRateLimit(retryAttempt?: number): Promise<void>;
33
+ export declare function calculateThrottleDuration(usagePercent: number): number;
34
+ export declare function handleRateLimit(): Promise<void>;
35
35
  export declare const rateTracker: RequestRateTracker;
36
36
  export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rateTracker = void 0;
4
- exports.calculateBackoff = calculateBackoff;
4
+ exports.calculateThrottleDuration = calculateThrottleDuration;
5
5
  exports.handleRateLimit = handleRateLimit;
6
6
  class RequestRateTracker {
7
7
  constructor() {
@@ -125,11 +125,11 @@ class RequestRateTracker {
125
125
  this.requestCount = result.currentTimeframeRequestCount;
126
126
  this.lastSyncTime = Date.now();
127
127
  this.counterResetTime = Date.now() + this.hourInMs;
128
- this.debugLog(`Threshold sync complete:
129
- - API count: ${oldActualCount} → ${this.actualUsageCount}
130
- - Local count: ${oldCount} → ${this.requestCount}
131
- - Limit: ${oldThreshold} → ${this.thresholdLimit}
132
- - Next reset: ${new Date(this.counterResetTime).toISOString()}
128
+ this.debugLog(`Threshold sync complete:
129
+ - API count: ${oldActualCount} → ${this.actualUsageCount}
130
+ - Local count: ${oldCount} → ${this.requestCount}
131
+ - Limit: ${oldThreshold} → ${this.thresholdLimit}
132
+ - Next reset: ${new Date(this.counterResetTime).toISOString()}
133
133
  - Next sync: ${new Date(this.lastSyncTime + this.syncIntervalMs).toISOString()}`);
134
134
  }
135
135
  else {
@@ -146,20 +146,25 @@ class RequestRateTracker {
146
146
  this.fetchThresholdInfo = fetcher;
147
147
  }
148
148
  }
149
- function calculateBackoff(retryAttempt, baseDelay = 1000) {
150
- const maxDelay = 30000;
151
- const exponentialDelay = Math.min(maxDelay, baseDelay * (2 ** (retryAttempt - 1)));
152
- const jitter = Math.random() * 1000;
153
- return exponentialDelay + jitter;
149
+ function calculateThrottleDuration(usagePercent) {
150
+ if (usagePercent >= 90) {
151
+ return 5000;
152
+ }
153
+ else if (usagePercent >= 75) {
154
+ return 2000;
155
+ }
156
+ else if (usagePercent >= 50) {
157
+ return 1000;
158
+ }
159
+ return 0;
154
160
  }
155
- async function handleRateLimit(retryAttempt = 0) {
161
+ async function handleRateLimit() {
156
162
  const rateTracker = RequestRateTracker.getInstance();
157
163
  const usagePercent = rateTracker.trackRequest();
158
164
  if (rateTracker.shouldThrottle()) {
159
165
  const baseDelay = rateTracker.getThrottleDuration();
160
- const backoffDelay = calculateBackoff(retryAttempt, baseDelay);
161
- console.debug(`[RateLimit] Adding backoff delay of ${backoffDelay}ms (retry attempt: ${retryAttempt})`);
162
- await new Promise(resolve => setTimeout(resolve, backoffDelay));
166
+ console.debug(`[RateLimit] Adding throttle delay of ${baseDelay}ms (at limit)`);
167
+ await new Promise(resolve => setTimeout(resolve, baseDelay));
163
168
  }
164
169
  const throttleDelay = rateTracker.getThrottleDuration();
165
170
  if (throttleDelay > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/http/rateLimit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/http/rateLimit.ts"],"names":[],"mappings":"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"}