@vybestack/llxprt-code-core 0.7.0-nightly.251212.dd1b5bfd7 → 0.7.0-nightly.251213.e273961ea
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/dist/src/providers/LoadBalancingProvider.d.ts +22 -1
- package/dist/src/providers/LoadBalancingProvider.js +120 -2
- package/dist/src/providers/LoadBalancingProvider.js.map +1 -1
- package/dist/src/providers/errors.d.ts +15 -0
- package/dist/src/providers/errors.js +18 -0
- package/dist/src/providers/errors.js.map +1 -1
- package/dist/src/types/modelParams.d.ts +1 -1
- package/package.json +1 -1
|
@@ -28,10 +28,11 @@ export interface LoadBalancerSubProfile {
|
|
|
28
28
|
/**
|
|
29
29
|
* Load balancing provider configuration
|
|
30
30
|
* @plan PLAN-20251211issue486c - Updated to support ResolvedSubProfile
|
|
31
|
+
* @plan PLAN-20251212issue488 - Added failover strategy
|
|
31
32
|
*/
|
|
32
33
|
export interface LoadBalancingProviderConfig {
|
|
33
34
|
profileName: string;
|
|
34
|
-
strategy: 'round-robin';
|
|
35
|
+
strategy: 'round-robin' | 'failover';
|
|
35
36
|
subProfiles: ResolvedSubProfile[] | LoadBalancerSubProfile[];
|
|
36
37
|
lbProfileEphemeralSettings?: Record<string, unknown>;
|
|
37
38
|
}
|
|
@@ -134,6 +135,26 @@ export declare class LoadBalancingProvider implements IProvider {
|
|
|
134
135
|
* Phase 5: Stats Integration
|
|
135
136
|
*/
|
|
136
137
|
resetStats(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Extract failover settings from ephemeral settings
|
|
140
|
+
* @plan PLAN-20251212issue488
|
|
141
|
+
*/
|
|
142
|
+
private extractFailoverSettings;
|
|
143
|
+
/**
|
|
144
|
+
* Determine if error should trigger failover
|
|
145
|
+
* @plan PLAN-20251212issue488
|
|
146
|
+
*/
|
|
147
|
+
private shouldFailover;
|
|
148
|
+
/**
|
|
149
|
+
* Build resolved options for a sub-profile
|
|
150
|
+
* @plan PLAN-20251212issue488
|
|
151
|
+
*/
|
|
152
|
+
private buildResolvedOptions;
|
|
153
|
+
/**
|
|
154
|
+
* Execute with failover strategy
|
|
155
|
+
* @plan PLAN-20251212issue488
|
|
156
|
+
*/
|
|
157
|
+
private executeWithFailover;
|
|
137
158
|
/**
|
|
138
159
|
* Get auth token - required by ProviderManager.normalizeRuntimeInputs validation
|
|
139
160
|
* @plan:PLAN-20251211issue486b - Auth token resolution
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* Selection happens at REQUEST TIME, not profile load time.
|
|
12
12
|
*/
|
|
13
13
|
import { DebugLogger } from '../debug/DebugLogger.js';
|
|
14
|
+
import { LoadBalancerFailoverError } from './errors.js';
|
|
15
|
+
import { isNetworkTransientError, getErrorStatus } from '../utils/retry.js';
|
|
14
16
|
/**
|
|
15
17
|
* Type guard to identify load balancer profile format
|
|
16
18
|
* @plan PLAN-20251211issue486c
|
|
@@ -63,8 +65,12 @@ export class LoadBalancingProvider {
|
|
|
63
65
|
throw new Error('LoadBalancingProvider requires at least one sub-profile in configuration');
|
|
64
66
|
}
|
|
65
67
|
// Check for valid strategy
|
|
66
|
-
if (config.strategy !== 'round-robin') {
|
|
67
|
-
throw new Error(`Invalid strategy "${config.strategy}".
|
|
68
|
+
if (config.strategy !== 'round-robin' && config.strategy !== 'failover') {
|
|
69
|
+
throw new Error(`Invalid strategy "${config.strategy}". Supported: "round-robin", "failover".`);
|
|
70
|
+
}
|
|
71
|
+
// Failover strategy requires at least 2 sub-profiles
|
|
72
|
+
if (config.strategy === 'failover' && config.subProfiles.length < 2) {
|
|
73
|
+
throw new Error('Failover strategy requires at least 2 sub-profiles (minimum 2 backends for failover)');
|
|
68
74
|
}
|
|
69
75
|
// Validate each sub-profile
|
|
70
76
|
for (const subProfile of config.subProfiles) {
|
|
@@ -127,6 +133,11 @@ export class LoadBalancingProvider {
|
|
|
127
133
|
// Called with GenerateChatOptions
|
|
128
134
|
options = optionsOrContent;
|
|
129
135
|
}
|
|
136
|
+
// Branch on strategy
|
|
137
|
+
if (this.config.strategy === 'failover') {
|
|
138
|
+
yield* this.executeWithFailover(options);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
130
141
|
// Phase 3 Step 1: Select next sub-profile using round-robin
|
|
131
142
|
const subProfile = this.selectNextSubProfile();
|
|
132
143
|
this.logger.debug(() => `Selected sub-profile: ${subProfile.name} for request`);
|
|
@@ -261,6 +272,113 @@ export class LoadBalancingProvider {
|
|
|
261
272
|
this.lastSelected = null;
|
|
262
273
|
this.totalRequests = 0;
|
|
263
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Extract failover settings from ephemeral settings
|
|
277
|
+
* @plan PLAN-20251212issue488
|
|
278
|
+
*/
|
|
279
|
+
extractFailoverSettings() {
|
|
280
|
+
const ephemeral = this.config.lbProfileEphemeralSettings ?? {};
|
|
281
|
+
return {
|
|
282
|
+
retryCount: Math.min(typeof ephemeral.failover_retry_count === 'number'
|
|
283
|
+
? ephemeral.failover_retry_count
|
|
284
|
+
: 1, 100),
|
|
285
|
+
retryDelayMs: typeof ephemeral.failover_retry_delay_ms === 'number'
|
|
286
|
+
? ephemeral.failover_retry_delay_ms
|
|
287
|
+
: 0,
|
|
288
|
+
failoverOnNetworkErrors: ephemeral.failover_on_network_errors !== false,
|
|
289
|
+
failoverStatusCodes: Array.isArray(ephemeral.failover_status_codes)
|
|
290
|
+
? ephemeral.failover_status_codes.filter((n) => typeof n === 'number')
|
|
291
|
+
: undefined,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Determine if error should trigger failover
|
|
296
|
+
* @plan PLAN-20251212issue488
|
|
297
|
+
*/
|
|
298
|
+
shouldFailover(error, settings) {
|
|
299
|
+
if (!(error instanceof Error))
|
|
300
|
+
return true;
|
|
301
|
+
if (settings.failoverOnNetworkErrors && isNetworkTransientError(error)) {
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
const status = getErrorStatus(error);
|
|
305
|
+
if (status !== undefined) {
|
|
306
|
+
if (settings.failoverStatusCodes) {
|
|
307
|
+
return settings.failoverStatusCodes.includes(status);
|
|
308
|
+
}
|
|
309
|
+
return status === 429 || (status >= 500 && status < 600);
|
|
310
|
+
}
|
|
311
|
+
return true;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Build resolved options for a sub-profile
|
|
315
|
+
* @plan PLAN-20251212issue488
|
|
316
|
+
*/
|
|
317
|
+
buildResolvedOptions(subProfile, options) {
|
|
318
|
+
return {
|
|
319
|
+
...options,
|
|
320
|
+
resolved: {
|
|
321
|
+
...options.resolved,
|
|
322
|
+
model: isResolvedSubProfile(subProfile)
|
|
323
|
+
? subProfile.model
|
|
324
|
+
: (subProfile.modelId ?? ''),
|
|
325
|
+
baseURL: subProfile.baseURL ?? '',
|
|
326
|
+
authToken: subProfile.authToken ?? '',
|
|
327
|
+
},
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Execute with failover strategy
|
|
332
|
+
* @plan PLAN-20251212issue488
|
|
333
|
+
*/
|
|
334
|
+
async *executeWithFailover(options) {
|
|
335
|
+
const settings = this.extractFailoverSettings();
|
|
336
|
+
const errors = [];
|
|
337
|
+
for (const subProfile of this.config.subProfiles) {
|
|
338
|
+
let attempts = 0;
|
|
339
|
+
const maxAttempts = Math.max(1, settings.retryCount);
|
|
340
|
+
while (attempts < maxAttempts) {
|
|
341
|
+
attempts++;
|
|
342
|
+
try {
|
|
343
|
+
this.logger.debug(() => `[LB:failover] Trying backend: ${subProfile.name} (attempt ${attempts}/${maxAttempts})`);
|
|
344
|
+
const resolvedOptions = this.buildResolvedOptions(subProfile, options);
|
|
345
|
+
const delegateProvider = this.providerManager.getProviderByName(subProfile.providerName);
|
|
346
|
+
if (!delegateProvider) {
|
|
347
|
+
throw new Error(`Provider "${subProfile.providerName}" not found`);
|
|
348
|
+
}
|
|
349
|
+
const iterator = delegateProvider.generateChatCompletion(resolvedOptions);
|
|
350
|
+
const firstResult = await iterator.next();
|
|
351
|
+
if (!firstResult.done) {
|
|
352
|
+
yield firstResult.value;
|
|
353
|
+
}
|
|
354
|
+
for await (const chunk of {
|
|
355
|
+
[Symbol.asyncIterator]: () => iterator,
|
|
356
|
+
}) {
|
|
357
|
+
yield chunk;
|
|
358
|
+
}
|
|
359
|
+
this.incrementStats(subProfile.name);
|
|
360
|
+
this.logger.debug(() => `[LB:failover] Success on backend: ${subProfile.name}`);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
const isLastAttempt = attempts >= maxAttempts;
|
|
365
|
+
const shouldRetry = !isLastAttempt && this.shouldFailover(error, settings);
|
|
366
|
+
if (shouldRetry) {
|
|
367
|
+
if (settings.retryDelayMs > 0) {
|
|
368
|
+
this.logger.debug(() => `[LB:failover] ${subProfile.name} attempt ${attempts} failed, retrying after ${settings.retryDelayMs}ms: ${error.message}`);
|
|
369
|
+
await new Promise((resolve) => setTimeout(resolve, settings.retryDelayMs));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
this.logger.debug(() => `[LB:failover] ${subProfile.name} failed after ${attempts} attempts: ${error.message}`);
|
|
374
|
+
errors.push({ profile: subProfile.name, error: error });
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
throw new LoadBalancerFailoverError(this.config.profileName, errors);
|
|
381
|
+
}
|
|
264
382
|
/**
|
|
265
383
|
* Get auth token - required by ProviderManager.normalizeRuntimeInputs validation
|
|
266
384
|
* @plan:PLAN-20251211issue486b - Auth token resolution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadBalancingProvider.js","sourceRoot":"","sources":["../../../src/providers/LoadBalancingProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoadBalancingProvider.js","sourceRoot":"","sources":["../../../src/providers/LoadBalancingProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,3 +97,18 @@ export declare class ProviderRuntimeScopeError extends Error {
|
|
|
97
97
|
metadata?: Record<string, unknown>;
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Error thrown when all backends in a load balancer failover policy have failed
|
|
102
|
+
* @plan PLAN-20251212issue488
|
|
103
|
+
*/
|
|
104
|
+
export declare class LoadBalancerFailoverError extends Error {
|
|
105
|
+
readonly profileName: string;
|
|
106
|
+
readonly failures: ReadonlyArray<{
|
|
107
|
+
readonly profile: string;
|
|
108
|
+
readonly error: Error;
|
|
109
|
+
}>;
|
|
110
|
+
constructor(profileName: string, failures: Array<{
|
|
111
|
+
profile: string;
|
|
112
|
+
error: Error;
|
|
113
|
+
}>);
|
|
114
|
+
}
|
|
@@ -105,4 +105,22 @@ export class ProviderRuntimeScopeError extends Error {
|
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Error thrown when all backends in a load balancer failover policy have failed
|
|
110
|
+
* @plan PLAN-20251212issue488
|
|
111
|
+
*/
|
|
112
|
+
export class LoadBalancerFailoverError extends Error {
|
|
113
|
+
profileName;
|
|
114
|
+
failures;
|
|
115
|
+
constructor(profileName, failures) {
|
|
116
|
+
const profileNames = failures.map((f) => f.profile).join(', ');
|
|
117
|
+
const errorSummary = failures.length === 1
|
|
118
|
+
? failures[0].error.message
|
|
119
|
+
: `${failures.length} backends failed`;
|
|
120
|
+
super(`Load balancer "${profileName}" failover exhausted: ${errorSummary} (tried: ${profileNames})`);
|
|
121
|
+
this.name = 'LoadBalancerFailoverError';
|
|
122
|
+
this.profileName = profileName;
|
|
123
|
+
this.failures = failures;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
108
126
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/providers/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,QAAQ,CAAS;IACjB,YAAY,CAAY;IAEjC,YAAY,OAAe,EAAE,QAAgB,EAAE,YAAuB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD;;OAEG;IACM,WAAW,CAAS;IAC7B;;OAEG;IACM,aAAa,CAAoB;IAC1C;;OAEG;IACM,WAAW,CAAS;IAC7B;;OAEG;IACM,WAAW,CAAoB;IACxC;;OAEG;IACM,OAAO,CAGd;IAEF;;;;OAIG;IACH,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,GAAG,aAAa,EAC3B,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,GASR;QACC,MAAM,gBAAgB,GACpB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,KAAK,CACH,OAAO;YACL,YAAY,WAAW,8CAA8C,gBAAgB,IAAI,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI;YAChC,2EAA2E;YAC3E,kFAAkF;SACnF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACjD,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,OAAO,CAId;IAEF,YAAY,EACV,WAAW,EACX,OAAO,EACP,WAAW,GAAG,aAAa,EAC3B,SAAS,EACT,KAAK,EACL,QAAQ,GAQT;QACC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,SAAS;YACT,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,WAAW,CAAS;IACpB,OAAO,CAId;IAEF,YAAY,EACV,OAAO,EACP,WAAW,GAAG,aAAa,EAC3B,MAAM,EACN,KAAK,EACL,QAAQ,GAOT;QACC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,MAAM;YACN,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/providers/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,7 +136,7 @@ export interface LoadBalancerProfile {
|
|
|
136
136
|
/** Profile type */
|
|
137
137
|
type: 'loadbalancer';
|
|
138
138
|
/** Load balancing policy */
|
|
139
|
-
policy: 'roundrobin';
|
|
139
|
+
policy: 'roundrobin' | 'failover';
|
|
140
140
|
/** List of profile names to load balance across */
|
|
141
141
|
profiles: string[];
|
|
142
142
|
/** Provider name (empty for load balancer) */
|