@compresr/sdk 1.6.5 → 1.6.6

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,3 +1,4 @@
1
+ import { type RetryConfig } from './retry.js';
1
2
  /**
2
3
  * HTTP client configuration options
3
4
  */
@@ -8,6 +9,8 @@ export interface HttpClientOptions {
8
9
  baseUrl?: string;
9
10
  /** Request timeout in milliseconds (optional) */
10
11
  timeout?: number;
12
+ /** Transport-layer retry policy. Defaults retry 429/503. */
13
+ retry?: RetryConfig;
11
14
  }
12
15
  /**
13
16
  * Internal HTTP client for all Compresr API requests
@@ -16,6 +19,7 @@ export declare class HttpClient {
16
19
  private readonly apiKey;
17
20
  private readonly baseUrl;
18
21
  private readonly timeout;
22
+ private readonly retryConfig;
19
23
  constructor(options: HttpClientOptions);
20
24
  private get headers();
21
25
  /**
@@ -26,6 +30,7 @@ export declare class HttpClient {
26
30
  * must be a relative path starting with ``/``.
27
31
  */
28
32
  private url;
33
+ private attemptPost;
29
34
  post<T>(endpoint: string, data: Record<string, unknown>): Promise<T>;
30
35
  stream(endpoint: string, data: Record<string, unknown>): AsyncGenerator<string, void, undefined>;
31
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAoHA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,iBAAiB;IAuCtC,OAAO,KAAK,OAAO,GAOlB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAG;IAUL,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmCnE,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;CAuE3C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAoBA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAmGpB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;gBAEtC,OAAO,EAAE,iBAAiB;IAwCtC,OAAO,KAAK,OAAO,GAOlB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAG;YAUG,WAAW;IAgDnB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBnE,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;CAuE3C"}
@@ -10,6 +10,7 @@ const constants_js_1 = require("../config/constants.js");
10
10
  const logger_js_1 = require("../logger.js");
11
11
  const index_js_1 = require("../errors/index.js");
12
12
  const errors_js_1 = require("./errors.js");
13
+ const retry_js_1 = require("./retry.js");
13
14
  const version_js_1 = require("../version.js");
14
15
  /**
15
16
  * Maximum allowed response payload size (50 MB).
@@ -99,6 +100,7 @@ class HttpClient {
99
100
  apiKey;
100
101
  baseUrl;
101
102
  timeout;
103
+ retryConfig;
102
104
  constructor(options) {
103
105
  if (!options.apiKey) {
104
106
  throw new index_js_1.AuthenticationError('API key is required');
@@ -126,6 +128,7 @@ class HttpClient {
126
128
  this.apiKey = options.apiKey;
127
129
  this.baseUrl = rawBase.replace(/\/+$/, '');
128
130
  this.timeout = options.timeout ?? constants_js_1.DEFAULT_TIMEOUT;
131
+ this.retryConfig = (0, retry_js_1.resolveRetryConfig)(options.retry);
129
132
  }
130
133
  get headers() {
131
134
  return {
@@ -148,7 +151,7 @@ class HttpClient {
148
151
  }
149
152
  return `${this.baseUrl}${endpoint}`;
150
153
  }
151
- async post(endpoint, data) {
154
+ async attemptPost(endpoint, data) {
152
155
  const controller = new AbortController();
153
156
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
154
157
  try {
@@ -160,7 +163,17 @@ class HttpClient {
160
163
  });
161
164
  const body = await readBoundedJson(response);
162
165
  if (!response.ok) {
163
- (0, errors_js_1.handleHttpError)(response.status, body);
166
+ const errorBody = body;
167
+ if (errorBody.retry_after === undefined) {
168
+ const header = response.headers.get('Retry-After');
169
+ if (header !== null) {
170
+ const parsed = Number(header);
171
+ if (Number.isFinite(parsed)) {
172
+ errorBody.retry_after = parsed;
173
+ }
174
+ }
175
+ }
176
+ (0, errors_js_1.handleHttpError)(response.status, errorBody);
164
177
  }
165
178
  return body;
166
179
  }
@@ -180,6 +193,30 @@ class HttpClient {
180
193
  clearTimeout(timeoutId);
181
194
  }
182
195
  }
196
+ async post(endpoint, data) {
197
+ const cfg = this.retryConfig;
198
+ let attempt = 0;
199
+ for (;;) {
200
+ try {
201
+ return await this.attemptPost(endpoint, data);
202
+ }
203
+ catch (err) {
204
+ const status = err instanceof index_js_1.RateLimitError
205
+ ? 429
206
+ : err instanceof index_js_1.ServiceUnavailableError
207
+ ? 503
208
+ : null;
209
+ if (status === null || !cfg.retryOnStatus.has(status) || attempt >= cfg.maxRetries) {
210
+ throw err;
211
+ }
212
+ const hint = err.retryAfter;
213
+ const delay = (0, retry_js_1.computeBackoffMs)(attempt, cfg, hint);
214
+ if (delay > 0)
215
+ await (0, retry_js_1.sleep)(delay);
216
+ attempt += 1;
217
+ }
218
+ }
219
+ }
183
220
  async *stream(endpoint, data) {
184
221
  const controller = new AbortController();
185
222
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,yDAKgC;AAChC,4CAAyC;AACzC,iDAM4B;AAC5B,2CAA8D;AAC9D,yCAMoB;AACpB,8CAA4C;AAE5C;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,mEAAmE;AACnE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,KAAK,UAAU,eAAe,CAAI,QAAkB;IAClD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YAC/D,MAAM,IAAI,wBAAa,CACrB,sCAAsC,QAAQ,iBAAiB;gBAC7D,QAAQ,kBAAkB,UAAU,EACtC,oBAAoB,CACrB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,gEAAgE;IAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,wBAAa,CACrB,uBAAuB,IAAI,CAAC,MAAM,qBAAqB;gBACrD,IAAI,kBAAkB,UAAU,EAClC,oBAAoB,CACrB,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAI,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;gBACD,MAAM,IAAI,wBAAa,CACrB,gCAAgC,KAAK,qBAAqB;oBACxD,IAAI,kBAAkB,UAAU,EAClC,oBAAoB,CACrB,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAI,IAAY;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,wBAAa,CACrB,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACpF,kBAAkB,CACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAgBD;;GAEG;AACH,MAAa,UAAU;IACJ,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,WAAW,CAAsB;IAElD,YAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,8BAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,6BAAc,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,8BAAmB,CAC3B,iDAAiD,6BAAc,GAAG,CACnE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAAgB,CAAC;QACpD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,wBAAa,CACrB,qBAAqB,OAAO,uBAAuB,EACnD,kBAAkB,CACnB,CAAC;QACJ,CAAC;QACD,IACE,MAAM,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrC,CAAC;YACD,IAAA,qBAAS,GAAE,CAAC,IAAI,CACd,cAAc,MAAM,CAAC,QAAQ,qBAAqB;gBAChD,oDAAoD,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,8BAAe,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAA,6BAAkB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,IAAY,OAAO;QACjB,OAAO;YACL,CAAC,sBAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM;YAC9B,CAAC,sBAAO,CAAC,YAAY,CAAC,EAAE,kBAAkB;YAC1C,CAAC,sBAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB;YACpC,CAAC,sBAAO,CAAC,UAAU,CAAC,EAAE,2BAA2B,wBAAW,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,GAAG,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,wBAAa,CACrB,sBAAsB,QAAQ,8CAA8C,EAC5E,kBAAkB,CACnB,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,IAA6B;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAgB,QAAQ,CAAC,CAAC;YAE5D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAiB,CAAC;gBACpC,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACnD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC5B,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAA,2BAAe,EAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,IAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,wBAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,MAAM,IAAI,0BAAe,CAAC,mBAAmB,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,IAAI,0BAAe,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,IAAI,wBAAa,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,QAAgB,EAAE,IAA6B;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GACV,GAAG,YAAY,yBAAc;oBAC3B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,YAAY,kCAAuB;wBACtC,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,IAAI,CAAC;gBACb,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACnF,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,MAAM,IAAI,GAAI,GAA+B,CAAC,UAAU,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,KAAK,GAAG,CAAC;oBAAE,MAAM,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CACX,QAAgB,EAChB,IAA6B;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;oBACf,CAAC,sBAAO,CAAC,MAAM,CAAC,EAAE,mBAAmB;iBACtC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAY,QAAQ,CAAC,CAAC;gBACxD,IAAA,2BAAe,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,wBAAa,CAAC,6BAA6B,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;4BACvB,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAyB,CAAC;4BACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACnB,MAAM,MAAM,CAAC,OAAO,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,KAAK,EAAE,CAAC;gCACV,MAAM,KAAK,CAAC;4BACd,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,wBAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,MAAM,IAAI,0BAAe,CAAC,kBAAkB,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,IAAI,0BAAe,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,IAAI,wBAAa,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AA1ND,gCA0NC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyFD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CAuDtE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyFD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CA+DtE"}
@@ -115,6 +115,9 @@ function handleHttpError(status, body) {
115
115
  throw new index_js_1.RateLimitError(`Rate limit exceeded: ${msg}.${retryMsg}`, body.retry_after, normalized);
116
116
  }
117
117
  default:
118
+ if (status === 503) {
119
+ throw new index_js_1.ServiceUnavailableError(`Service temporarily unavailable: ${msg}`, undefined, body.retry_after, normalized);
120
+ }
118
121
  if (status >= 500) {
119
122
  throw new index_js_1.ServerError(`Server error: ${msg}. Please try again later or contact support.`, normalized);
120
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { HttpClient, type HttpClientOptions } from './client.js';
2
2
  export { handleHttpError, type ErrorBody } from './errors.js';
3
+ export { DEFAULT_RETRY_CONFIG, computeBackoffMs, resolveRetryConfig, type RetryConfig, type ResolvedRetryConfig, } from './retry.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleHttpError = exports.HttpClient = void 0;
3
+ exports.resolveRetryConfig = exports.computeBackoffMs = exports.DEFAULT_RETRY_CONFIG = exports.handleHttpError = exports.HttpClient = void 0;
4
4
  var client_js_1 = require("./client.js");
5
5
  Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return client_js_1.HttpClient; } });
6
6
  var errors_js_1 = require("./errors.js");
7
7
  Object.defineProperty(exports, "handleHttpError", { enumerable: true, get: function () { return errors_js_1.handleHttpError; } });
8
+ var retry_js_1 = require("./retry.js");
9
+ Object.defineProperty(exports, "DEFAULT_RETRY_CONFIG", { enumerable: true, get: function () { return retry_js_1.DEFAULT_RETRY_CONFIG; } });
10
+ Object.defineProperty(exports, "computeBackoffMs", { enumerable: true, get: function () { return retry_js_1.computeBackoffMs; } });
11
+ Object.defineProperty(exports, "resolveRetryConfig", { enumerable: true, get: function () { return retry_js_1.resolveRetryConfig; } });
8
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiE;AAAxD,uGAAA,UAAU,OAAA;AACnB,yCAA8D;AAArD,4GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiE;AAAxD,uGAAA,UAAU,OAAA;AACnB,yCAA8D;AAArD,4GAAA,eAAe,OAAA;AACxB,uCAMoB;AALlB,gHAAA,oBAAoB,OAAA;AACpB,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Bounded retry policy for the SDK transport layer.
3
+ *
4
+ * Defaults retry HTTP `429` and `503` from the proxy with exponential
5
+ * backoff + jitter. Pass `{ maxRetries: 0 }` to opt out.
6
+ */
7
+ export interface RetryConfig {
8
+ /** Max retry attempts after the initial failure. `0` disables retries. */
9
+ maxRetries?: number;
10
+ /** Initial backoff before the first retry, in milliseconds. */
11
+ initialBackoffMs?: number;
12
+ /** Cap on any single backoff, in milliseconds. */
13
+ maxBackoffMs?: number;
14
+ /** Exponential growth factor between attempts. */
15
+ multiplier?: number;
16
+ /** Fractional symmetric jitter in `[0, 1]` (e.g. `0.25` = ±25%). */
17
+ jitter?: number;
18
+ /** HTTP status codes that trigger a retry. */
19
+ retryOnStatus?: number[];
20
+ /** When the server returns a `retry_after` hint, use it as the delay. */
21
+ respectRetryAfter?: boolean;
22
+ }
23
+ export interface ResolvedRetryConfig {
24
+ maxRetries: number;
25
+ initialBackoffMs: number;
26
+ maxBackoffMs: number;
27
+ multiplier: number;
28
+ jitter: number;
29
+ retryOnStatus: ReadonlySet<number>;
30
+ respectRetryAfter: boolean;
31
+ }
32
+ export declare const DEFAULT_RETRY_CONFIG: ResolvedRetryConfig;
33
+ export declare function resolveRetryConfig(cfg?: RetryConfig): ResolvedRetryConfig;
34
+ /**
35
+ * Returns the delay in milliseconds before retry `attempt` (0-indexed).
36
+ *
37
+ * Honors `retryAfterSeconds` from the server when present and
38
+ * `cfg.respectRetryAfter` is true; otherwise applies exponential backoff
39
+ * with symmetric jitter, capped at `maxBackoffMs`.
40
+ */
41
+ export declare function computeBackoffMs(attempt: number, cfg: ResolvedRetryConfig, retryAfterSeconds?: number): number;
42
+ export declare function sleep(ms: number): Promise<void>;
43
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,mBAQlC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAqBzE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAUR;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Bounded retry policy for the SDK transport layer.
4
+ *
5
+ * Defaults retry HTTP `429` and `503` from the proxy with exponential
6
+ * backoff + jitter. Pass `{ maxRetries: 0 }` to opt out.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_RETRY_CONFIG = void 0;
10
+ exports.resolveRetryConfig = resolveRetryConfig;
11
+ exports.computeBackoffMs = computeBackoffMs;
12
+ exports.sleep = sleep;
13
+ exports.DEFAULT_RETRY_CONFIG = {
14
+ maxRetries: 3,
15
+ initialBackoffMs: 500,
16
+ maxBackoffMs: 30_000,
17
+ multiplier: 2.0,
18
+ jitter: 0.25,
19
+ retryOnStatus: new Set([429, 503]),
20
+ respectRetryAfter: true,
21
+ };
22
+ function resolveRetryConfig(cfg) {
23
+ if (!cfg)
24
+ return exports.DEFAULT_RETRY_CONFIG;
25
+ const merged = {
26
+ maxRetries: cfg.maxRetries ?? exports.DEFAULT_RETRY_CONFIG.maxRetries,
27
+ initialBackoffMs: cfg.initialBackoffMs ?? exports.DEFAULT_RETRY_CONFIG.initialBackoffMs,
28
+ maxBackoffMs: cfg.maxBackoffMs ?? exports.DEFAULT_RETRY_CONFIG.maxBackoffMs,
29
+ multiplier: cfg.multiplier ?? exports.DEFAULT_RETRY_CONFIG.multiplier,
30
+ jitter: cfg.jitter ?? exports.DEFAULT_RETRY_CONFIG.jitter,
31
+ retryOnStatus: cfg.retryOnStatus
32
+ ? new Set(cfg.retryOnStatus)
33
+ : exports.DEFAULT_RETRY_CONFIG.retryOnStatus,
34
+ respectRetryAfter: cfg.respectRetryAfter ?? exports.DEFAULT_RETRY_CONFIG.respectRetryAfter,
35
+ };
36
+ if (merged.maxRetries < 0)
37
+ throw new RangeError('maxRetries must be >= 0');
38
+ if (merged.initialBackoffMs < 0)
39
+ throw new RangeError('initialBackoffMs must be >= 0');
40
+ if (merged.maxBackoffMs < 0)
41
+ throw new RangeError('maxBackoffMs must be >= 0');
42
+ if (merged.multiplier < 1)
43
+ throw new RangeError('multiplier must be >= 1');
44
+ if (merged.jitter < 0 || merged.jitter > 1) {
45
+ throw new RangeError('jitter must be in [0, 1]');
46
+ }
47
+ return merged;
48
+ }
49
+ /**
50
+ * Returns the delay in milliseconds before retry `attempt` (0-indexed).
51
+ *
52
+ * Honors `retryAfterSeconds` from the server when present and
53
+ * `cfg.respectRetryAfter` is true; otherwise applies exponential backoff
54
+ * with symmetric jitter, capped at `maxBackoffMs`.
55
+ */
56
+ function computeBackoffMs(attempt, cfg, retryAfterSeconds) {
57
+ if (retryAfterSeconds !== undefined && cfg.respectRetryAfter) {
58
+ const ms = Math.max(0, retryAfterSeconds * 1000);
59
+ return Math.min(ms, cfg.maxBackoffMs);
60
+ }
61
+ const raw = cfg.initialBackoffMs * Math.pow(cfg.multiplier, attempt);
62
+ const capped = Math.min(raw, cfg.maxBackoffMs);
63
+ if (cfg.jitter === 0)
64
+ return capped;
65
+ const spread = capped * cfg.jitter;
66
+ return Math.max(0, capped + (Math.random() * 2 - 1) * spread);
67
+ }
68
+ function sleep(ms) {
69
+ return new Promise((resolve) => setTimeout(resolve, ms));
70
+ }
71
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export { CompressionClient, type CompressOptions, type CompressBatchOptions, typ
19
19
  export { WebSearchTool, createWebSearchTool, type Citation, type CompresrStats, type CompressionPolicyOptions, type NormalizedResult, type TavilyOptions, type BraveOptions, } from './agents/index.js';
20
20
  export { setLogger, type CompresrLogger } from './logger.js';
21
21
  export { MODELS, type Model } from './config/index.js';
22
+ export { type RetryConfig } from './http/index.js';
22
23
  export { CompresrError, AuthenticationError, ValidationError, RateLimitError, ScopeError, ServerError, ConnectionError, NotFoundError, type ErrorResponseData, } from './errors/index.js';
23
24
  export { type CompressResponse, type CompressResult, type CompressBatchResponse, type CompressBatchResult, type CompressBatchItemResult, type StreamChunk, } from './schemas/index.js';
24
25
  export { ResearchAgent, ResearchFacade, parseResearchOutput, DEFAULT_RESEARCH_SYSTEM_PROMPT, type ResearchAgentOptions, type ResearchAgentRunOptions, type ResearchRunOptions, type ParsedResearch, type ResearchResult, type ResearchUsage, type Step, type StepKind, } from './agents/research/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,QAAQ,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,QAAQ,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,+CAK4B;AAJ1B,6GAAA,iBAAiB,OAAA;AAMnB,2EAA2E;AAC3E,8CAS2B;AARzB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AASrB,kEAAkE;AAClE,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAElB,8CAAuD;AAA9C,kGAAA,MAAM,OAAA;AAEf,8CAU2B;AATzB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,sGAAA,UAAU,OAAA;AACV,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AAaf,uDAaoC;AAZlC,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,0HAAA,8BAA8B,OAAA;AAWhC,2CAAsD;AAA7C,qGAAA,WAAW,OAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,+CAK4B;AAJ1B,6GAAA,iBAAiB,OAAA;AAMnB,2EAA2E;AAC3E,8CAS2B;AARzB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AASrB,kEAAkE;AAClE,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAElB,8CAAuD;AAA9C,kGAAA,MAAM,OAAA;AAIf,8CAU2B;AATzB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,sGAAA,UAAU,OAAA;AACV,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AAaf,uDAaoC;AAZlC,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,0HAAA,8BAA8B,OAAA;AAWhC,2CAAsD;AAA7C,qGAAA,WAAW,OAAW"}
@@ -1,3 +1,4 @@
1
+ import { type RetryConfig } from './retry.js';
1
2
  /**
2
3
  * HTTP client configuration options
3
4
  */
@@ -8,6 +9,8 @@ export interface HttpClientOptions {
8
9
  baseUrl?: string;
9
10
  /** Request timeout in milliseconds (optional) */
10
11
  timeout?: number;
12
+ /** Transport-layer retry policy. Defaults retry 429/503. */
13
+ retry?: RetryConfig;
11
14
  }
12
15
  /**
13
16
  * Internal HTTP client for all Compresr API requests
@@ -16,6 +19,7 @@ export declare class HttpClient {
16
19
  private readonly apiKey;
17
20
  private readonly baseUrl;
18
21
  private readonly timeout;
22
+ private readonly retryConfig;
19
23
  constructor(options: HttpClientOptions);
20
24
  private get headers();
21
25
  /**
@@ -26,6 +30,7 @@ export declare class HttpClient {
26
30
  * must be a relative path starting with ``/``.
27
31
  */
28
32
  private url;
33
+ private attemptPost;
29
34
  post<T>(endpoint: string, data: Record<string, unknown>): Promise<T>;
30
35
  stream(endpoint: string, data: Record<string, unknown>): AsyncGenerator<string, void, undefined>;
31
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAoHA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,iBAAiB;IAuCtC,OAAO,KAAK,OAAO,GAOlB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAG;IAUL,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmCnE,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;CAuE3C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAoBA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAmGpB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;gBAEtC,OAAO,EAAE,iBAAiB;IAwCtC,OAAO,KAAK,OAAO,GAOlB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAG;YAUG,WAAW;IAgDnB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBnE,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;CAuE3C"}
@@ -5,8 +5,9 @@
5
5
  */
6
6
  import { API_KEY_PREFIX, DEFAULT_BASE_URL, DEFAULT_TIMEOUT, HEADERS, } from '../config/constants.js';
7
7
  import { getLogger } from '../logger.js';
8
- import { AuthenticationError, CompresrError, ConnectionError, } from '../errors/index.js';
8
+ import { AuthenticationError, CompresrError, ConnectionError, RateLimitError, ServiceUnavailableError, } from '../errors/index.js';
9
9
  import { handleHttpError } from './errors.js';
10
+ import { computeBackoffMs, resolveRetryConfig, sleep, } from './retry.js';
10
11
  import { SDK_VERSION } from '../version.js';
11
12
  /**
12
13
  * Maximum allowed response payload size (50 MB).
@@ -96,6 +97,7 @@ export class HttpClient {
96
97
  apiKey;
97
98
  baseUrl;
98
99
  timeout;
100
+ retryConfig;
99
101
  constructor(options) {
100
102
  if (!options.apiKey) {
101
103
  throw new AuthenticationError('API key is required');
@@ -123,6 +125,7 @@ export class HttpClient {
123
125
  this.apiKey = options.apiKey;
124
126
  this.baseUrl = rawBase.replace(/\/+$/, '');
125
127
  this.timeout = options.timeout ?? DEFAULT_TIMEOUT;
128
+ this.retryConfig = resolveRetryConfig(options.retry);
126
129
  }
127
130
  get headers() {
128
131
  return {
@@ -145,7 +148,7 @@ export class HttpClient {
145
148
  }
146
149
  return `${this.baseUrl}${endpoint}`;
147
150
  }
148
- async post(endpoint, data) {
151
+ async attemptPost(endpoint, data) {
149
152
  const controller = new AbortController();
150
153
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
151
154
  try {
@@ -157,7 +160,17 @@ export class HttpClient {
157
160
  });
158
161
  const body = await readBoundedJson(response);
159
162
  if (!response.ok) {
160
- handleHttpError(response.status, body);
163
+ const errorBody = body;
164
+ if (errorBody.retry_after === undefined) {
165
+ const header = response.headers.get('Retry-After');
166
+ if (header !== null) {
167
+ const parsed = Number(header);
168
+ if (Number.isFinite(parsed)) {
169
+ errorBody.retry_after = parsed;
170
+ }
171
+ }
172
+ }
173
+ handleHttpError(response.status, errorBody);
161
174
  }
162
175
  return body;
163
176
  }
@@ -177,6 +190,30 @@ export class HttpClient {
177
190
  clearTimeout(timeoutId);
178
191
  }
179
192
  }
193
+ async post(endpoint, data) {
194
+ const cfg = this.retryConfig;
195
+ let attempt = 0;
196
+ for (;;) {
197
+ try {
198
+ return await this.attemptPost(endpoint, data);
199
+ }
200
+ catch (err) {
201
+ const status = err instanceof RateLimitError
202
+ ? 429
203
+ : err instanceof ServiceUnavailableError
204
+ ? 503
205
+ : null;
206
+ if (status === null || !cfg.retryOnStatus.has(status) || attempt >= cfg.maxRetries) {
207
+ throw err;
208
+ }
209
+ const hint = err.retryAfter;
210
+ const delay = computeBackoffMs(attempt, cfg, hint);
211
+ if (delay > 0)
212
+ await sleep(delay);
213
+ attempt += 1;
214
+ }
215
+ }
216
+ }
180
217
  async *stream(endpoint, data) {
181
218
  const controller = new AbortController();
182
219
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyFD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CAuDtE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyFD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CA+DtE"}
@@ -112,6 +112,9 @@ export function handleHttpError(status, body) {
112
112
  throw new RateLimitError(`Rate limit exceeded: ${msg}.${retryMsg}`, body.retry_after, normalized);
113
113
  }
114
114
  default:
115
+ if (status === 503) {
116
+ throw new ServiceUnavailableError(`Service temporarily unavailable: ${msg}`, undefined, body.retry_after, normalized);
117
+ }
115
118
  if (status >= 500) {
116
119
  throw new ServerError(`Server error: ${msg}. Please try again later or contact support.`, normalized);
117
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/http/errors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { HttpClient, type HttpClientOptions } from './client.js';
2
2
  export { handleHttpError, type ErrorBody } from './errors.js';
3
+ export { DEFAULT_RETRY_CONFIG, computeBackoffMs, resolveRetryConfig, type RetryConfig, type ResolvedRetryConfig, } from './retry.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { HttpClient } from './client.js';
2
2
  export { handleHttpError } from './errors.js';
3
+ export { DEFAULT_RETRY_CONFIG, computeBackoffMs, resolveRetryConfig, } from './retry.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Bounded retry policy for the SDK transport layer.
3
+ *
4
+ * Defaults retry HTTP `429` and `503` from the proxy with exponential
5
+ * backoff + jitter. Pass `{ maxRetries: 0 }` to opt out.
6
+ */
7
+ export interface RetryConfig {
8
+ /** Max retry attempts after the initial failure. `0` disables retries. */
9
+ maxRetries?: number;
10
+ /** Initial backoff before the first retry, in milliseconds. */
11
+ initialBackoffMs?: number;
12
+ /** Cap on any single backoff, in milliseconds. */
13
+ maxBackoffMs?: number;
14
+ /** Exponential growth factor between attempts. */
15
+ multiplier?: number;
16
+ /** Fractional symmetric jitter in `[0, 1]` (e.g. `0.25` = ±25%). */
17
+ jitter?: number;
18
+ /** HTTP status codes that trigger a retry. */
19
+ retryOnStatus?: number[];
20
+ /** When the server returns a `retry_after` hint, use it as the delay. */
21
+ respectRetryAfter?: boolean;
22
+ }
23
+ export interface ResolvedRetryConfig {
24
+ maxRetries: number;
25
+ initialBackoffMs: number;
26
+ maxBackoffMs: number;
27
+ multiplier: number;
28
+ jitter: number;
29
+ retryOnStatus: ReadonlySet<number>;
30
+ respectRetryAfter: boolean;
31
+ }
32
+ export declare const DEFAULT_RETRY_CONFIG: ResolvedRetryConfig;
33
+ export declare function resolveRetryConfig(cfg?: RetryConfig): ResolvedRetryConfig;
34
+ /**
35
+ * Returns the delay in milliseconds before retry `attempt` (0-indexed).
36
+ *
37
+ * Honors `retryAfterSeconds` from the server when present and
38
+ * `cfg.respectRetryAfter` is true; otherwise applies exponential backoff
39
+ * with symmetric jitter, capped at `maxBackoffMs`.
40
+ */
41
+ export declare function computeBackoffMs(attempt: number, cfg: ResolvedRetryConfig, retryAfterSeconds?: number): number;
42
+ export declare function sleep(ms: number): Promise<void>;
43
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,mBAQlC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAqBzE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAUR;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Bounded retry policy for the SDK transport layer.
3
+ *
4
+ * Defaults retry HTTP `429` and `503` from the proxy with exponential
5
+ * backoff + jitter. Pass `{ maxRetries: 0 }` to opt out.
6
+ */
7
+ export const DEFAULT_RETRY_CONFIG = {
8
+ maxRetries: 3,
9
+ initialBackoffMs: 500,
10
+ maxBackoffMs: 30_000,
11
+ multiplier: 2.0,
12
+ jitter: 0.25,
13
+ retryOnStatus: new Set([429, 503]),
14
+ respectRetryAfter: true,
15
+ };
16
+ export function resolveRetryConfig(cfg) {
17
+ if (!cfg)
18
+ return DEFAULT_RETRY_CONFIG;
19
+ const merged = {
20
+ maxRetries: cfg.maxRetries ?? DEFAULT_RETRY_CONFIG.maxRetries,
21
+ initialBackoffMs: cfg.initialBackoffMs ?? DEFAULT_RETRY_CONFIG.initialBackoffMs,
22
+ maxBackoffMs: cfg.maxBackoffMs ?? DEFAULT_RETRY_CONFIG.maxBackoffMs,
23
+ multiplier: cfg.multiplier ?? DEFAULT_RETRY_CONFIG.multiplier,
24
+ jitter: cfg.jitter ?? DEFAULT_RETRY_CONFIG.jitter,
25
+ retryOnStatus: cfg.retryOnStatus
26
+ ? new Set(cfg.retryOnStatus)
27
+ : DEFAULT_RETRY_CONFIG.retryOnStatus,
28
+ respectRetryAfter: cfg.respectRetryAfter ?? DEFAULT_RETRY_CONFIG.respectRetryAfter,
29
+ };
30
+ if (merged.maxRetries < 0)
31
+ throw new RangeError('maxRetries must be >= 0');
32
+ if (merged.initialBackoffMs < 0)
33
+ throw new RangeError('initialBackoffMs must be >= 0');
34
+ if (merged.maxBackoffMs < 0)
35
+ throw new RangeError('maxBackoffMs must be >= 0');
36
+ if (merged.multiplier < 1)
37
+ throw new RangeError('multiplier must be >= 1');
38
+ if (merged.jitter < 0 || merged.jitter > 1) {
39
+ throw new RangeError('jitter must be in [0, 1]');
40
+ }
41
+ return merged;
42
+ }
43
+ /**
44
+ * Returns the delay in milliseconds before retry `attempt` (0-indexed).
45
+ *
46
+ * Honors `retryAfterSeconds` from the server when present and
47
+ * `cfg.respectRetryAfter` is true; otherwise applies exponential backoff
48
+ * with symmetric jitter, capped at `maxBackoffMs`.
49
+ */
50
+ export function computeBackoffMs(attempt, cfg, retryAfterSeconds) {
51
+ if (retryAfterSeconds !== undefined && cfg.respectRetryAfter) {
52
+ const ms = Math.max(0, retryAfterSeconds * 1000);
53
+ return Math.min(ms, cfg.maxBackoffMs);
54
+ }
55
+ const raw = cfg.initialBackoffMs * Math.pow(cfg.multiplier, attempt);
56
+ const capped = Math.min(raw, cfg.maxBackoffMs);
57
+ if (cfg.jitter === 0)
58
+ return capped;
59
+ const spread = capped * cfg.jitter;
60
+ return Math.max(0, capped + (Math.random() * 2 - 1) * spread);
61
+ }
62
+ export function sleep(ms) {
63
+ return new Promise((resolve) => setTimeout(resolve, ms));
64
+ }
65
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export { CompressionClient, type CompressOptions, type CompressBatchOptions, typ
19
19
  export { WebSearchTool, createWebSearchTool, type Citation, type CompresrStats, type CompressionPolicyOptions, type NormalizedResult, type TavilyOptions, type BraveOptions, } from './agents/index.js';
20
20
  export { setLogger, type CompresrLogger } from './logger.js';
21
21
  export { MODELS, type Model } from './config/index.js';
22
+ export { type RetryConfig } from './http/index.js';
22
23
  export { CompresrError, AuthenticationError, ValidationError, RateLimitError, ScopeError, ServerError, ConnectionError, NotFoundError, type ErrorResponseData, } from './errors/index.js';
23
24
  export { type CompressResponse, type CompressResult, type CompressBatchResponse, type CompressBatchResult, type CompressBatchItemResult, type StreamChunk, } from './schemas/index.js';
24
25
  export { ResearchAgent, ResearchFacade, parseResearchOutput, DEFAULT_RESEARCH_SYSTEM_PROMPT, type ResearchAgentOptions, type ResearchAgentRunOptions, type ResearchRunOptions, type ParsedResearch, type ResearchResult, type ResearchUsage, type Step, type StepKind, } from './agents/research/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,QAAQ,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,QAAQ,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,GAIlB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,OAAO,EACL,aAAa,EACb,mBAAmB,GAOpB,MAAM,mBAAmB,CAAC;AAE3B,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,GAS/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,GAIlB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,OAAO,EACL,aAAa,EACb,mBAAmB,GAOpB,MAAM,mBAAmB,CAAC;AAE3B,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,GAS/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compresr/sdk",
3
- "version": "1.6.5",
3
+ "version": "1.6.6",
4
4
  "description": "TypeScript SDK for Compresr - Intelligent context compression to reduce LLM API costs by 30-70%",
5
5
  "author": "Compresr Team <founders@compresr.ai>",
6
6
  "license": "Apache-2.0",