@kaitranntt/ccs 7.75.0-dev.7 → 7.75.0-dev.9

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.
Files changed (78) hide show
  1. package/dist/config/config-loader-facade.d.ts +57 -0
  2. package/dist/config/config-loader-facade.d.ts.map +1 -0
  3. package/dist/config/config-loader-facade.js +131 -0
  4. package/dist/config/config-loader-facade.js.map +1 -0
  5. package/dist/config/schemas/auth.d.ts +97 -0
  6. package/dist/config/schemas/auth.d.ts.map +1 -0
  7. package/dist/config/schemas/auth.js +25 -0
  8. package/dist/config/schemas/auth.js.map +1 -0
  9. package/dist/config/schemas/browser.d.ts +53 -0
  10. package/dist/config/schemas/browser.d.ts.map +1 -0
  11. package/dist/config/schemas/browser.js +27 -0
  12. package/dist/config/schemas/browser.js.map +1 -0
  13. package/dist/config/schemas/channels.d.ts +27 -0
  14. package/dist/config/schemas/channels.d.ts.map +1 -0
  15. package/dist/config/schemas/channels.js +19 -0
  16. package/dist/config/schemas/channels.js.map +1 -0
  17. package/dist/config/schemas/cliproxy.d.ts +140 -0
  18. package/dist/config/schemas/cliproxy.d.ts.map +1 -0
  19. package/dist/config/schemas/cliproxy.js +18 -0
  20. package/dist/config/schemas/cliproxy.js.map +1 -0
  21. package/dist/config/schemas/copilot-cursor.d.ts +75 -0
  22. package/dist/config/schemas/copilot-cursor.d.ts.map +1 -0
  23. package/dist/config/schemas/copilot-cursor.js +36 -0
  24. package/dist/config/schemas/copilot-cursor.js.map +1 -0
  25. package/dist/config/schemas/index.d.ts +28 -0
  26. package/dist/config/schemas/index.d.ts.map +1 -0
  27. package/dist/config/schemas/index.js +51 -0
  28. package/dist/config/schemas/index.js.map +1 -0
  29. package/dist/config/schemas/logging.d.ts +43 -0
  30. package/dist/config/schemas/logging.d.ts.map +1 -0
  31. package/dist/config/schemas/logging.js +23 -0
  32. package/dist/config/schemas/logging.js.map +1 -0
  33. package/dist/config/schemas/providers.d.ts +14 -0
  34. package/dist/config/schemas/providers.d.ts.map +1 -0
  35. package/dist/config/schemas/providers.js +21 -0
  36. package/dist/config/schemas/providers.js.map +1 -0
  37. package/dist/config/schemas/proxy-server.d.ts +141 -0
  38. package/dist/config/schemas/proxy-server.d.ts.map +1 -0
  39. package/dist/config/schemas/proxy-server.js +71 -0
  40. package/dist/config/schemas/proxy-server.js.map +1 -0
  41. package/dist/config/schemas/quota.d.ts +88 -0
  42. package/dist/config/schemas/quota.d.ts.map +1 -0
  43. package/dist/config/schemas/quota.js +47 -0
  44. package/dist/config/schemas/quota.js.map +1 -0
  45. package/dist/config/schemas/thinking.d.ts +50 -0
  46. package/dist/config/schemas/thinking.d.ts.map +1 -0
  47. package/dist/config/schemas/thinking.js +26 -0
  48. package/dist/config/schemas/thinking.js.map +1 -0
  49. package/dist/config/schemas/unified-config.d.ts +74 -0
  50. package/dist/config/schemas/unified-config.d.ts.map +1 -0
  51. package/dist/config/schemas/unified-config.js +131 -0
  52. package/dist/config/schemas/unified-config.js.map +1 -0
  53. package/dist/config/schemas/version.d.ts +23 -0
  54. package/dist/config/schemas/version.d.ts.map +1 -0
  55. package/dist/config/schemas/version.js +26 -0
  56. package/dist/config/schemas/version.js.map +1 -0
  57. package/dist/config/schemas/websearch.d.ts +138 -0
  58. package/dist/config/schemas/websearch.d.ts.map +1 -0
  59. package/dist/config/schemas/websearch.js +12 -0
  60. package/dist/config/schemas/websearch.js.map +1 -0
  61. package/dist/config/unified-config-types.d.ts +3 -818
  62. package/dist/config/unified-config-types.d.ts.map +1 -1
  63. package/dist/config/unified-config-types.js +19 -319
  64. package/dist/config/unified-config-types.js.map +1 -1
  65. package/dist/errors/error-types.d.ts +9 -0
  66. package/dist/errors/error-types.d.ts.map +1 -1
  67. package/dist/errors/error-types.js +15 -1
  68. package/dist/errors/error-types.js.map +1 -1
  69. package/dist/errors/index.d.ts +1 -1
  70. package/dist/errors/index.d.ts.map +1 -1
  71. package/dist/errors/index.js +3 -1
  72. package/dist/errors/index.js.map +1 -1
  73. package/dist/utils/retry-strategy.d.ts +37 -0
  74. package/dist/utils/retry-strategy.d.ts.map +1 -0
  75. package/dist/utils/retry-strategy.js +99 -0
  76. package/dist/utils/retry-strategy.js.map +1 -0
  77. package/package.json +1 -1
  78. package/scripts/run-test-bucket.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"unified-config-types.d.ts","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-config-types.d.ts","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
2
17
  /**
3
18
  * Unified Config Types for CCS v2
4
19
  *
@@ -8,324 +23,9 @@
8
23
  * - *.settings.json (env vars)
9
24
  *
10
25
  * Into a single config.yaml structure.
26
+ *
27
+ * Types have been reorganized into src/config/schemas/ for maintainability.
28
+ * This file re-exports everything for backward compatibility.
11
29
  */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.isUnifiedConfig = exports.createEmptyUnifiedConfig = exports.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG = exports.DEFAULT_CLIPROXY_SERVER_CONFIG = exports.DEFAULT_CURSOR_CONFIG = exports.DEFAULT_COPILOT_CONFIG = exports.DEFAULT_IMAGE_ANALYSIS_CONFIG = exports.DEFAULT_BROWSER_CONFIG = exports.DEFAULT_DASHBOARD_AUTH_CONFIG = exports.DEFAULT_OFFICIAL_CHANNELS_CONFIG = exports.DEFAULT_THINKING_CONFIG = exports.DEFAULT_THINKING_TIER_DEFAULTS = exports.DEFAULT_QUOTA_MANAGEMENT_CONFIG = exports.DEFAULT_RUNTIME_MONITOR_CONFIG = exports.DEFAULT_MANUAL_QUOTA_CONFIG = exports.DEFAULT_AUTO_QUOTA_CONFIG = exports.DEFAULT_GLOBAL_ENV = exports.DEFAULT_LOGGING_CONFIG = exports.DEFAULT_CLIPROXY_SAFETY_CONFIG = exports.CLIPROXY_SUPPORTED_PROVIDERS = exports.UNIFIED_CONFIG_VERSION = void 0;
14
- const provider_capabilities_1 = require("../cliproxy/provider-capabilities");
15
- /**
16
- * Unified config version.
17
- * Version 2 = YAML unified format
18
- * Version 3 = WebSearch config with model configuration for Gemini/OpenCode
19
- * Version 4 = Copilot API integration (GitHub Copilot proxy)
20
- * Version 5 = Remote proxy configuration (connect to remote CLIProxyAPI)
21
- * Version 6 = Customizable auth tokens (API key and management secret)
22
- * Version 7 = Quota management for hybrid auto+manual account control
23
- * Version 8 = Thinking/reasoning budget configuration
24
- * Version 9 = Real WebSearch backends (DuckDuckGo/Brave) with legacy CLI fallback
25
- * Version 10 = Exa + Tavily WebSearch backends
26
- * Version 11 = Discord Channels runtime auto-enable preferences
27
- * Version 12 = Official Channels multi-provider support (Telegram, Discord, iMessage)
28
- * Version 13 = Browser automation defaults to safe manual/off exposure
29
- */
30
- exports.UNIFIED_CONFIG_VERSION = 13;
31
- /**
32
- * Supported CLIProxy providers.
33
- * Derived from CLIPROXY_PROVIDER_IDS — single source of truth in provider-capabilities.ts.
34
- */
35
- exports.CLIPROXY_SUPPORTED_PROVIDERS = provider_capabilities_1.CLIPROXY_PROVIDER_IDS;
36
- /**
37
- * Default CLIProxy safety configuration.
38
- */
39
- exports.DEFAULT_CLIPROXY_SAFETY_CONFIG = {
40
- antigravity_ack_bypass: false,
41
- };
42
- exports.DEFAULT_LOGGING_CONFIG = {
43
- enabled: true,
44
- level: 'info',
45
- rotate_mb: 10,
46
- retain_days: 7,
47
- redact: true,
48
- live_buffer_size: 250,
49
- };
50
- /**
51
- * Default global env vars for third-party profiles.
52
- * These disable Claude Code telemetry/reporting since we're using proxy.
53
- */
54
- exports.DEFAULT_GLOBAL_ENV = {
55
- DISABLE_BUG_COMMAND: '1',
56
- DISABLE_ERROR_REPORTING: '1',
57
- DISABLE_TELEMETRY: '1',
58
- };
59
- /**
60
- * Default auto quota configuration.
61
- */
62
- exports.DEFAULT_AUTO_QUOTA_CONFIG = {
63
- preflight_check: true,
64
- exhaustion_threshold: 5,
65
- tier_priority: ['ultra', 'pro', 'free'],
66
- cooldown_minutes: 5,
67
- };
68
- /**
69
- * Default manual quota configuration.
70
- */
71
- exports.DEFAULT_MANUAL_QUOTA_CONFIG = {
72
- paused_accounts: [],
73
- forced_default: null,
74
- tier_lock: null,
75
- };
76
- /**
77
- * Default runtime monitor configuration.
78
- */
79
- exports.DEFAULT_RUNTIME_MONITOR_CONFIG = {
80
- enabled: true,
81
- normal_interval_seconds: 300,
82
- critical_interval_seconds: 60,
83
- warn_threshold: 20,
84
- exhaustion_threshold: 5,
85
- cooldown_minutes: 5,
86
- };
87
- /**
88
- * Default quota management configuration.
89
- */
90
- exports.DEFAULT_QUOTA_MANAGEMENT_CONFIG = {
91
- mode: 'hybrid',
92
- auto: { ...exports.DEFAULT_AUTO_QUOTA_CONFIG },
93
- manual: { ...exports.DEFAULT_MANUAL_QUOTA_CONFIG },
94
- runtime_monitor: { ...exports.DEFAULT_RUNTIME_MONITOR_CONFIG },
95
- };
96
- /**
97
- * Default thinking tier defaults.
98
- */
99
- exports.DEFAULT_THINKING_TIER_DEFAULTS = {
100
- opus: 'high',
101
- sonnet: 'medium',
102
- haiku: 'low',
103
- };
104
- /**
105
- * Default thinking configuration.
106
- */
107
- exports.DEFAULT_THINKING_CONFIG = {
108
- mode: 'auto',
109
- tier_defaults: { ...exports.DEFAULT_THINKING_TIER_DEFAULTS },
110
- show_warnings: true,
111
- };
112
- /**
113
- * Default Official Channels configuration.
114
- * Disabled by default because the feature requires explicit user setup.
115
- */
116
- exports.DEFAULT_OFFICIAL_CHANNELS_CONFIG = {
117
- selected: [],
118
- unattended: false,
119
- };
120
- /**
121
- * Default dashboard auth configuration.
122
- * Disabled by default - must be explicitly enabled.
123
- */
124
- exports.DEFAULT_DASHBOARD_AUTH_CONFIG = {
125
- enabled: false,
126
- username: '',
127
- password_hash: '',
128
- session_timeout_hours: 24,
129
- };
130
- exports.DEFAULT_BROWSER_CONFIG = {
131
- claude: {
132
- enabled: false,
133
- policy: 'manual',
134
- user_data_dir: '',
135
- devtools_port: 9222,
136
- eval_mode: 'readonly',
137
- },
138
- codex: {
139
- enabled: false,
140
- policy: 'manual',
141
- eval_mode: 'readonly',
142
- },
143
- };
144
- /**
145
- * Default image analysis configuration.
146
- * Enabled by default for CLIProxy providers with vision support.
147
- */
148
- exports.DEFAULT_IMAGE_ANALYSIS_CONFIG = {
149
- enabled: true,
150
- timeout: 60,
151
- provider_models: {
152
- agy: 'gemini-3-1-flash-preview',
153
- gemini: 'gemini-3-flash-preview',
154
- codex: 'gpt-5.1-codex-mini',
155
- kiro: 'kiro-claude-haiku-4-5',
156
- ghcp: 'claude-haiku-4.5',
157
- claude: 'claude-haiku-4-5-20251001',
158
- // 'vision-model' is a generic placeholder - users can override via config.yaml
159
- qwen: 'vision-model',
160
- iflow: 'qwen3-vl-plus',
161
- kimi: 'vision-model',
162
- },
163
- fallback_backend: 'gemini',
164
- profile_backends: {},
165
- };
166
- /**
167
- * Default Copilot configuration.
168
- * Strictly opt-in - disabled by default.
169
- * Uses gpt-4.1 as default model (free tier compatible).
170
- */
171
- exports.DEFAULT_COPILOT_CONFIG = {
172
- enabled: false,
173
- auto_start: false,
174
- port: 4141,
175
- account_type: 'individual',
176
- rate_limit: null,
177
- wait_on_limit: true,
178
- model: 'gpt-4.1', // Free tier compatible
179
- };
180
- /**
181
- * Default Cursor configuration.
182
- * Disabled by default, ghost mode enabled for privacy.
183
- */
184
- exports.DEFAULT_CURSOR_CONFIG = {
185
- enabled: false,
186
- port: 20129,
187
- auto_start: false,
188
- ghost_mode: true,
189
- model: 'gpt-5.3-codex',
190
- };
191
- /**
192
- * Default CLIProxy server configuration.
193
- * Local mode by default - remote must be explicitly enabled.
194
- * Port is optional for remote - defaults based on protocol.
195
- */
196
- exports.DEFAULT_CLIPROXY_SERVER_CONFIG = {
197
- remote: {
198
- enabled: false,
199
- host: '',
200
- // port is intentionally omitted - will use protocol default (443 for HTTPS, 8317 for HTTP)
201
- protocol: 'http',
202
- auth_token: '',
203
- },
204
- fallback: {
205
- enabled: true,
206
- auto_start: false,
207
- },
208
- local: {
209
- port: 8317,
210
- auto_start: true,
211
- },
212
- };
213
- exports.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG = {
214
- profile_ports: {},
215
- routing: {
216
- longContextThreshold: 60000,
217
- },
218
- };
219
- /**
220
- * Create an empty unified config with defaults.
221
- */
222
- function createEmptyUnifiedConfig() {
223
- return {
224
- version: exports.UNIFIED_CONFIG_VERSION,
225
- default: undefined,
226
- accounts: {},
227
- profiles: {},
228
- cliproxy: {
229
- backend: 'original',
230
- oauth_accounts: {},
231
- providers: [...exports.CLIPROXY_SUPPORTED_PROVIDERS],
232
- variants: {},
233
- logging: {
234
- enabled: false,
235
- request_log: false,
236
- },
237
- safety: { ...exports.DEFAULT_CLIPROXY_SAFETY_CONFIG },
238
- auto_sync: true,
239
- routing: {
240
- strategy: 'round-robin',
241
- session_affinity: false,
242
- session_affinity_ttl: '1h',
243
- },
244
- },
245
- proxy: {
246
- port: exports.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.port,
247
- profile_ports: { ...exports.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.profile_ports },
248
- routing: {
249
- ...exports.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.routing,
250
- },
251
- },
252
- logging: { ...exports.DEFAULT_LOGGING_CONFIG },
253
- preferences: {
254
- theme: 'system',
255
- telemetry: false,
256
- auto_update: true,
257
- },
258
- websearch: {
259
- enabled: true,
260
- providers: {
261
- exa: {
262
- enabled: false,
263
- max_results: 5,
264
- },
265
- tavily: {
266
- enabled: false,
267
- max_results: 5,
268
- },
269
- brave: {
270
- enabled: false,
271
- max_results: 5,
272
- },
273
- searxng: {
274
- enabled: false,
275
- url: '',
276
- max_results: 5,
277
- },
278
- duckduckgo: {
279
- enabled: true,
280
- max_results: 5,
281
- },
282
- gemini: {
283
- enabled: false,
284
- model: 'gemini-2.5-flash',
285
- timeout: 55,
286
- },
287
- opencode: {
288
- enabled: false,
289
- model: 'opencode/grok-code',
290
- timeout: 90,
291
- },
292
- grok: {
293
- enabled: false,
294
- timeout: 55,
295
- },
296
- },
297
- },
298
- global_env: {
299
- enabled: true,
300
- env: { ...exports.DEFAULT_GLOBAL_ENV },
301
- },
302
- copilot: { ...exports.DEFAULT_COPILOT_CONFIG },
303
- cursor: { ...exports.DEFAULT_CURSOR_CONFIG },
304
- cliproxy_server: { ...exports.DEFAULT_CLIPROXY_SERVER_CONFIG },
305
- quota_management: { ...exports.DEFAULT_QUOTA_MANAGEMENT_CONFIG },
306
- thinking: { ...exports.DEFAULT_THINKING_CONFIG },
307
- channels: { ...exports.DEFAULT_OFFICIAL_CHANNELS_CONFIG },
308
- dashboard_auth: { ...exports.DEFAULT_DASHBOARD_AUTH_CONFIG },
309
- browser: {
310
- claude: { ...exports.DEFAULT_BROWSER_CONFIG.claude },
311
- codex: { ...exports.DEFAULT_BROWSER_CONFIG.codex },
312
- },
313
- image_analysis: { ...exports.DEFAULT_IMAGE_ANALYSIS_CONFIG },
314
- };
315
- }
316
- exports.createEmptyUnifiedConfig = createEmptyUnifiedConfig;
317
- /**
318
- * Type guard for UnifiedConfig.
319
- * Relaxed validation: accepts configs with version >= 1 and any subset of sections.
320
- * Missing sections will be filled with defaults during merge.
321
- */
322
- function isUnifiedConfig(obj) {
323
- if (typeof obj !== 'object' || obj === null)
324
- return false;
325
- const config = obj;
326
- // Only require version to be a number >= 1 (allow future versions)
327
- // Sections are optional - will be merged with defaults in loadOrCreateUnifiedConfig
328
- return typeof config.version === 'number' && config.version >= 1;
329
- }
330
- exports.isUnifiedConfig = isUnifiedConfig;
30
+ __exportStar(require("./schemas/index"), exports);
331
31
  //# sourceMappingURL=unified-config-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unified-config-types.js","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-config-types.js","sourceRoot":"","sources":["../../src/config/unified-config-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,kDAAgC"}
@@ -99,6 +99,15 @@ export declare class ValidationError extends CCSError {
99
99
  readonly field?: string | undefined;
100
100
  constructor(message: string, field?: string | undefined);
101
101
  }
102
+ /**
103
+ * Retryable/transient error
104
+ * Signals that the operation may succeed on retry (e.g. rate limits, timeouts)
105
+ */
106
+ export declare class RetryableError extends CCSError {
107
+ readonly originalError?: Error | undefined;
108
+ readonly retryAfter?: number | undefined;
109
+ constructor(message: string, originalError?: Error | undefined, retryAfter?: number | undefined);
110
+ }
102
111
  /**
103
112
  * Type guard to check if an error is a CCSError
104
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-types.d.ts","sourceRoot":"","sources":["../../src/errors/error-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAGf,IAAI,EAAE,QAAQ;aACd,WAAW,EAAE,OAAO;gBAFpC,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,QAAiC,EACvC,WAAW,GAAE,OAAe;CAS/C;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,CAAC;gBAD3B,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,GAAG,CAAC;aACJ,UAAU,CAAC;gBAF3B,OAAO,EAAE,MAAM,EACC,GAAG,CAAC,oBAAQ,EACZ,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aAGnB,QAAQ,CAAC;gBADzB,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,oBAAQ;CAKpC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,CAAC;gBAD3B,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAQ;aAGvB,QAAQ,EAAE,MAAM;aAChB,OAAO,CAAC;gBAFxB,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,SAAS;CAKpC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,WAAW,CAAC;aACZ,iBAAiB,CAAC;gBAFlC,OAAO,EAAE,MAAM,EACC,WAAW,CAAC,oBAAQ,EACpB,iBAAiB,CAAC,sBAAU;CAK/C;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,QAAQ;aAGpB,IAAI,CAAC;gBADrB,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,oBAAQ;CAKhC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAGxB,WAAW,CAAC;aACZ,SAAS,CAAC;gBAF1B,OAAO,EAAE,MAAM,EACC,WAAW,CAAC,oBAAQ,EACpB,SAAS,CAAC,oBAAQ;CAKrC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,GAAE,MAAsC;CAI5D;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;aAGzB,KAAK,CAAC;gBADtB,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,oBAAQ;CAKjC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D"}
1
+ {"version":3,"file":"error-types.d.ts","sourceRoot":"","sources":["../../src/errors/error-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAGf,IAAI,EAAE,QAAQ;aACd,WAAW,EAAE,OAAO;gBAFpC,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,QAAiC,EACvC,WAAW,GAAE,OAAe;CAS/C;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,CAAC;gBAD3B,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,GAAG,CAAC;aACJ,UAAU,CAAC;gBAF3B,OAAO,EAAE,MAAM,EACC,GAAG,CAAC,oBAAQ,EACZ,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aAGnB,QAAQ,CAAC;gBADzB,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,oBAAQ;CAKpC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,CAAC;gBAD3B,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,oBAAQ;CAKtC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAQ;aAGvB,QAAQ,EAAE,MAAM;aAChB,OAAO,CAAC;gBAFxB,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,SAAS;CAKpC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,WAAW,CAAC;aACZ,iBAAiB,CAAC;gBAFlC,OAAO,EAAE,MAAM,EACC,WAAW,CAAC,oBAAQ,EACpB,iBAAiB,CAAC,sBAAU;CAK/C;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,QAAQ;aAGpB,IAAI,CAAC;gBADrB,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,oBAAQ;CAKhC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAGxB,WAAW,CAAC;aACZ,SAAS,CAAC;gBAF1B,OAAO,EAAE,MAAM,EACC,WAAW,CAAC,oBAAQ,EACpB,SAAS,CAAC,oBAAQ;CAKrC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,GAAE,MAAsC;CAI5D;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;aAGzB,KAAK,CAAC;gBADtB,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,oBAAQ;CAKjC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAGxB,aAAa,CAAC;aACd,UAAU,CAAC;gBAF3B,OAAO,EAAE,MAAM,EACC,aAAa,CAAC,mBAAO,EACrB,UAAU,CAAC,oBAAQ;CAKtC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D"}
@@ -8,7 +8,7 @@
8
8
  * - Consistent error formatting
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.isRecoverableError = exports.isCCSError = exports.ValidationError = exports.UserAbortError = exports.MigrationError = exports.ProxyError = exports.ProfileError = exports.ProviderError = exports.BinaryError = exports.AuthError = exports.NetworkError = exports.ConfigError = exports.CCSError = void 0;
11
+ exports.isRecoverableError = exports.isCCSError = exports.RetryableError = exports.ValidationError = exports.UserAbortError = exports.MigrationError = exports.ProxyError = exports.ProfileError = exports.ProviderError = exports.BinaryError = exports.AuthError = exports.NetworkError = exports.ConfigError = exports.CCSError = void 0;
12
12
  const exit_codes_1 = require("./exit-codes");
13
13
  /**
14
14
  * Base error class for all CCS errors
@@ -150,6 +150,20 @@ class ValidationError extends CCSError {
150
150
  }
151
151
  }
152
152
  exports.ValidationError = ValidationError;
153
+ /**
154
+ * Retryable/transient error
155
+ * Signals that the operation may succeed on retry (e.g. rate limits, timeouts)
156
+ */
157
+ class RetryableError extends CCSError {
158
+ constructor(message, originalError, retryAfter // ms until next attempt
159
+ ) {
160
+ super(message, exit_codes_1.ExitCode.GENERAL_ERROR, true);
161
+ this.originalError = originalError;
162
+ this.retryAfter = retryAfter;
163
+ this.name = 'RetryableError';
164
+ }
165
+ }
166
+ exports.RetryableError = RetryableError;
153
167
  /**
154
168
  * Type guard to check if an error is a CCSError
155
169
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-types.js","sourceRoot":"","sources":["../../src/errors/error-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-types.js","sourceRoot":"","sources":["../../src/errors/error-types.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@
22
22
  * ```
23
23
  */
24
24
  export { ExitCode, EXIT_CODE_DESCRIPTIONS, isSuccess, isRecoverable } from './exit-codes';
25
- export { CCSError, ConfigError, NetworkError, AuthError, BinaryError, ProviderError, ProfileError, ProxyError, MigrationError, UserAbortError, isCCSError, isRecoverableError, } from './error-types';
25
+ export { CCSError, ConfigError, NetworkError, AuthError, BinaryError, ProviderError, ProfileError, ProxyError, MigrationError, UserAbortError, ValidationError, RetryableError, isCCSError, isRecoverableError, } from './error-types';
26
26
  export { handleError, exitWithError, exitWithSuccess, withErrorHandling, assertOrExit, } from './error-handler';
27
27
  export { registerCleanup, runCleanup, clearCleanup, getCleanupCount, hasCleanupRun, createCleanupScope, } from './cleanup-registry';
28
28
  export type { CleanupCallback } from './cleanup-registry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1F,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1F,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,UAAU,EACV,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -23,7 +23,7 @@
23
23
  * ```
24
24
  */
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createCleanupScope = exports.hasCleanupRun = exports.getCleanupCount = exports.clearCleanup = exports.runCleanup = exports.registerCleanup = exports.assertOrExit = exports.withErrorHandling = exports.exitWithSuccess = exports.exitWithError = exports.handleError = exports.isRecoverableError = exports.isCCSError = exports.UserAbortError = exports.MigrationError = exports.ProxyError = exports.ProfileError = exports.ProviderError = exports.BinaryError = exports.AuthError = exports.NetworkError = exports.ConfigError = exports.CCSError = exports.isRecoverable = exports.isSuccess = exports.EXIT_CODE_DESCRIPTIONS = exports.ExitCode = void 0;
26
+ exports.createCleanupScope = exports.hasCleanupRun = exports.getCleanupCount = exports.clearCleanup = exports.runCleanup = exports.registerCleanup = exports.assertOrExit = exports.withErrorHandling = exports.exitWithSuccess = exports.exitWithError = exports.handleError = exports.isRecoverableError = exports.isCCSError = exports.RetryableError = exports.ValidationError = exports.UserAbortError = exports.MigrationError = exports.ProxyError = exports.ProfileError = exports.ProviderError = exports.BinaryError = exports.AuthError = exports.NetworkError = exports.ConfigError = exports.CCSError = exports.isRecoverable = exports.isSuccess = exports.EXIT_CODE_DESCRIPTIONS = exports.ExitCode = void 0;
27
27
  // Exit codes
28
28
  var exit_codes_1 = require("./exit-codes");
29
29
  Object.defineProperty(exports, "ExitCode", { enumerable: true, get: function () { return exit_codes_1.ExitCode; } });
@@ -42,6 +42,8 @@ Object.defineProperty(exports, "ProfileError", { enumerable: true, get: function
42
42
  Object.defineProperty(exports, "ProxyError", { enumerable: true, get: function () { return error_types_1.ProxyError; } });
43
43
  Object.defineProperty(exports, "MigrationError", { enumerable: true, get: function () { return error_types_1.MigrationError; } });
44
44
  Object.defineProperty(exports, "UserAbortError", { enumerable: true, get: function () { return error_types_1.UserAbortError; } });
45
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return error_types_1.ValidationError; } });
46
+ Object.defineProperty(exports, "RetryableError", { enumerable: true, get: function () { return error_types_1.RetryableError; } });
45
47
  Object.defineProperty(exports, "isCCSError", { enumerable: true, get: function () { return error_types_1.isCCSError; } });
46
48
  Object.defineProperty(exports, "isRecoverableError", { enumerable: true, get: function () { return error_types_1.isRecoverableError; } });
47
49
  // Error handler
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAEH,aAAa;AACb,2CAA0F;AAAjF,sGAAA,QAAQ,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAAE,uGAAA,SAAS,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnE,cAAc;AACd,6CAauB;AAZrB,uGAAA,QAAQ,OAAA;AACR,0GAAA,WAAW,OAAA;AACX,2GAAA,YAAY,OAAA;AACZ,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,2GAAA,YAAY,OAAA;AACZ,yGAAA,UAAU,OAAA;AACV,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AACd,yGAAA,UAAU,OAAA;AACV,iHAAA,kBAAkB,OAAA;AAGpB,gBAAgB;AAChB,iDAMyB;AALvB,4GAAA,WAAW,OAAA;AACX,8GAAA,aAAa,OAAA;AACb,gHAAA,eAAe,OAAA;AACf,kHAAA,iBAAiB,OAAA;AACjB,6GAAA,YAAY,OAAA;AAGd,mBAAmB;AACnB,uDAO4B;AAN1B,mHAAA,eAAe,OAAA;AACf,8GAAA,UAAU,OAAA;AACV,gHAAA,YAAY,OAAA;AACZ,mHAAA,eAAe,OAAA;AACf,iHAAA,aAAa,OAAA;AACb,sHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAEH,aAAa;AACb,2CAA0F;AAAjF,sGAAA,QAAQ,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAAE,uGAAA,SAAS,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnE,cAAc;AACd,6CAeuB;AAdrB,uGAAA,QAAQ,OAAA;AACR,0GAAA,WAAW,OAAA;AACX,2GAAA,YAAY,OAAA;AACZ,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,2GAAA,YAAY,OAAA;AACZ,yGAAA,UAAU,OAAA;AACV,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA;AACd,yGAAA,UAAU,OAAA;AACV,iHAAA,kBAAkB,OAAA;AAGpB,gBAAgB;AAChB,iDAMyB;AALvB,4GAAA,WAAW,OAAA;AACX,8GAAA,aAAa,OAAA;AACb,gHAAA,eAAe,OAAA;AACf,kHAAA,iBAAiB,OAAA;AACjB,6GAAA,YAAY,OAAA;AAGd,mBAAmB;AACnB,uDAO4B;AAN1B,mHAAA,eAAe,OAAA;AACf,8GAAA,UAAU,OAAA;AACV,gHAAA,YAAY,OAAA;AACZ,mHAAA,eAAe,OAAA;AACf,iHAAA,aAAa,OAAA;AACb,sHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Retry Strategy Utility
3
+ *
4
+ * Reusable exponential-backoff retry wrapper extracted from
5
+ * scattered retry logic in glmt-proxy and binary/downloader.
6
+ *
7
+ * Usage:
8
+ * const data = await withRetry(() => fetch(url), { maxRetries: 3, baseDelayMs: 100 });
9
+ */
10
+ /** Configuration options for retry behavior */
11
+ export interface RetryOptions {
12
+ /** Maximum number of retry attempts (default: 3) */
13
+ maxRetries: number;
14
+ /** Base delay in ms for the first retry (default: 1000) */
15
+ baseDelayMs: number;
16
+ /** Upper bound for the computed backoff delay. Note: server-provided `retryAfter` (from RetryableError) takes precedence and may exceed this cap. */
17
+ maxDelayMs?: number;
18
+ /** Multiplier applied per attempt (default: 2). Values <1 produce degrowth. */
19
+ backoffMultiplier?: number;
20
+ /** Override the default retryability check */
21
+ retryableCheck?: (error: unknown) => boolean;
22
+ /** Callback fired before each retry. Errors thrown by this callback are swallowed to prevent aborting the retry loop. */
23
+ onRetry?: (error: Error, attempt: number) => void;
24
+ }
25
+ /**
26
+ * Execute `fn` with automatic retries on retryable failures.
27
+ *
28
+ * Retryability defaults to checking for `RetryableError` instances
29
+ * and CCSError with `recoverable === true`. Override with `retryableCheck`.
30
+ *
31
+ * @param fn - The async function to execute
32
+ * @param options - Retry configuration
33
+ * @returns The resolved value from `fn`
34
+ * @throws The last error encountered after exhausting retries
35
+ */
36
+ export declare function withRetry<T>(fn: () => Promise<T>, options: RetryOptions): Promise<T>;
37
+ //# sourceMappingURL=retry-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../../src/utils/retry-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,qJAAqJ;IACrJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC7C,yHAAyH;IACzH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AA+CD;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAkD1F"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * Retry Strategy Utility
4
+ *
5
+ * Reusable exponential-backoff retry wrapper extracted from
6
+ * scattered retry logic in glmt-proxy and binary/downloader.
7
+ *
8
+ * Usage:
9
+ * const data = await withRetry(() => fetch(url), { maxRetries: 3, baseDelayMs: 100 });
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.withRetry = void 0;
13
+ const error_types_1 = require("../errors/error-types");
14
+ const DEFAULT_MAX_DELAY_MS = 30000;
15
+ const DEFAULT_MULTIPLIER = 2;
16
+ const JITTER_RATIO = 0.2; // 20% of delay as random jitter
17
+ /**
18
+ * Check whether an unknown thrown value is retryable.
19
+ * Uses CCSError.recoverable flag and RetryableError instance check.
20
+ */
21
+ function defaultRetryableCheck(error) {
22
+ if (error instanceof error_types_1.RetryableError) {
23
+ return true;
24
+ }
25
+ if ((0, error_types_1.isRecoverableError)(error)) {
26
+ return true;
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * Compute backoff delay: base * multiplier^attempt + jitter, capped at maxDelay.
32
+ * Jitter is applied before the final cap to ensure the result never exceeds maxDelayMs.
33
+ */
34
+ function computeDelay(attempt, baseDelayMs, maxDelayMs, multiplier, retryAfter) {
35
+ const exponentialDelay = Math.min(baseDelayMs * Math.pow(multiplier, attempt), maxDelayMs);
36
+ const jitter = exponentialDelay * JITTER_RATIO * Math.random();
37
+ const delay = Math.min(exponentialDelay + jitter, maxDelayMs);
38
+ if (retryAfter !== undefined && retryAfter > 0) {
39
+ return Math.max(delay, retryAfter);
40
+ }
41
+ return delay;
42
+ }
43
+ /**
44
+ * Sleep for the specified number of milliseconds.
45
+ */
46
+ function sleep(ms) {
47
+ return new Promise((resolve) => setTimeout(resolve, ms));
48
+ }
49
+ /**
50
+ * Execute `fn` with automatic retries on retryable failures.
51
+ *
52
+ * Retryability defaults to checking for `RetryableError` instances
53
+ * and CCSError with `recoverable === true`. Override with `retryableCheck`.
54
+ *
55
+ * @param fn - The async function to execute
56
+ * @param options - Retry configuration
57
+ * @returns The resolved value from `fn`
58
+ * @throws The last error encountered after exhausting retries
59
+ */
60
+ async function withRetry(fn, options) {
61
+ const { maxRetries, baseDelayMs, maxDelayMs = DEFAULT_MAX_DELAY_MS, backoffMultiplier = DEFAULT_MULTIPLIER, retryableCheck = defaultRetryableCheck, onRetry, } = options;
62
+ if (maxRetries < 0) {
63
+ throw new Error('withRetry: maxRetries must be >= 0');
64
+ }
65
+ if (baseDelayMs < 0) {
66
+ throw new Error('withRetry: baseDelayMs must be >= 0');
67
+ }
68
+ const isRetryable = retryableCheck;
69
+ let lastError;
70
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
71
+ try {
72
+ return await fn();
73
+ }
74
+ catch (error) {
75
+ lastError = error;
76
+ // No more retries left
77
+ if (attempt >= maxRetries) {
78
+ break;
79
+ }
80
+ // Check retryability
81
+ if (!isRetryable(error)) {
82
+ break;
83
+ }
84
+ const err = error instanceof Error ? error : new Error(String(error));
85
+ try {
86
+ onRetry?.(err, attempt + 1);
87
+ }
88
+ catch {
89
+ // Swallow callback errors — retry decision is already made
90
+ }
91
+ const retryAfter = error instanceof error_types_1.RetryableError ? error.retryAfter : undefined;
92
+ const delay = computeDelay(attempt, baseDelayMs, maxDelayMs, backoffMultiplier, retryAfter);
93
+ await sleep(delay);
94
+ }
95
+ }
96
+ throw lastError;
97
+ }
98
+ exports.withRetry = withRetry;
99
+ //# sourceMappingURL=retry-strategy.js.map