@loonylabs/llm-middleware 2.22.0 → 2.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/middleware/services/llm/llm.service.d.ts +6 -1
- package/dist/middleware/services/llm/llm.service.d.ts.map +1 -1
- package/dist/middleware/services/llm/llm.service.js +2 -2
- package/dist/middleware/services/llm/llm.service.js.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.d.ts.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.js +14 -11
- package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.js.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/index.d.ts +1 -1
- package/dist/middleware/services/llm/providers/gemini/index.d.ts.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/index.js.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.d.ts +17 -1
- package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.d.ts.map +1 -1
- package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.js +82 -2
- package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.js.map +1 -1
- package/dist/middleware/services/llm/types/common.types.d.ts +31 -2
- package/dist/middleware/services/llm/types/common.types.d.ts.map +1 -1
- package/dist/middleware/services/llm/types/common.types.js.map +1 -1
- package/dist/middleware/services/llm/utils/retry.utils.d.ts +13 -1
- package/dist/middleware/services/llm/utils/retry.utils.d.ts.map +1 -1
- package/dist/middleware/services/llm/utils/retry.utils.js +25 -1
- package/dist/middleware/services/llm/utils/retry.utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,6 +52,8 @@
|
|
|
52
52
|
- 🔒 No base64 blobs in logs — images logged as `[IMAGE: image/png, 1.4MB]`
|
|
53
53
|
- 🔄 **Automatic Retry**: Exponential backoff with jitter for transient errors (429, 5xx, timeouts)
|
|
54
54
|
- ✨ **v2.19.0**: Configurable per-request via `retry` option, enabled by default
|
|
55
|
+
- 🔌 **v2.23.0**: Provider-agnostic `onRetry` hook for custom retry behavior (e.g., region rotation)
|
|
56
|
+
- 🌍 **v2.23.0**: Vertex AI region rotation — rotates through EU regions on 429 quota errors
|
|
55
57
|
- 🧠 **Reasoning Control**: Control model thinking effort via `reasoningEffort` parameter
|
|
56
58
|
- ✨ **v2.14.0**: Supports Gemini 2.5 (`thinkingBudget`) and Gemini 3 (`thinkingLevel`)
|
|
57
59
|
- 📊 Track reasoning tokens separately for cost analysis
|
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
* Provides a unified interface for interacting with different LLM providers
|
|
4
4
|
*/
|
|
5
5
|
import { BaseLLMProvider } from './providers/base-llm-provider';
|
|
6
|
+
import { VertexAIProviderConfig } from './providers/gemini';
|
|
6
7
|
import { LLMProvider, CommonLLMOptions, CommonLLMResponse } from './types';
|
|
7
8
|
import { MultimodalContent } from './types/multimodal.types';
|
|
9
|
+
export interface LLMServiceOptions {
|
|
10
|
+
/** Configuration for the Vertex AI provider (e.g., region rotation). */
|
|
11
|
+
vertexAIConfig?: VertexAIProviderConfig;
|
|
12
|
+
}
|
|
8
13
|
export declare class LLMService {
|
|
9
14
|
private providers;
|
|
10
15
|
private defaultProvider;
|
|
11
|
-
constructor();
|
|
16
|
+
constructor(options?: LLMServiceOptions);
|
|
12
17
|
/**
|
|
13
18
|
* Get a specific provider instance
|
|
14
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/llm/llm.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"llm.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/llm/llm.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKhE,OAAO,EAAoB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,eAAe,CAAmC;gBAE9C,OAAO,CAAC,EAAE,iBAAiB;IAUvC;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,eAAe;IAQ1D;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAOtD;;OAEG;IACI,kBAAkB,IAAI,WAAW;IAIxC;;;OAGG;IACU,qBAAqB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;KAAO,GAC1D,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMpC;;;OAGG;IACU,IAAI,CACf,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;KAAO,GAC1D,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMpC;;OAEG;IACI,qBAAqB,IAAI,WAAW,EAAE;CAG9C;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|
|
@@ -12,7 +12,7 @@ const requesty_provider_1 = require("./providers/requesty-provider");
|
|
|
12
12
|
const gemini_1 = require("./providers/gemini");
|
|
13
13
|
const types_1 = require("./types");
|
|
14
14
|
class LLMService {
|
|
15
|
-
constructor() {
|
|
15
|
+
constructor(options) {
|
|
16
16
|
this.defaultProvider = types_1.LLMProvider.OLLAMA;
|
|
17
17
|
this.providers = new Map();
|
|
18
18
|
// Initialize available providers
|
|
@@ -20,7 +20,7 @@ class LLMService {
|
|
|
20
20
|
this.providers.set(types_1.LLMProvider.ANTHROPIC, new anthropic_provider_1.AnthropicProvider());
|
|
21
21
|
this.providers.set(types_1.LLMProvider.GOOGLE, new gemini_provider_1.GeminiProvider());
|
|
22
22
|
this.providers.set(types_1.LLMProvider.REQUESTY, new requesty_provider_1.RequestyProvider());
|
|
23
|
-
this.providers.set(types_1.LLMProvider.VERTEX_AI, new gemini_1.VertexAIProvider());
|
|
23
|
+
this.providers.set(types_1.LLMProvider.VERTEX_AI, new gemini_1.VertexAIProvider(options?.vertexAIConfig));
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Get a specific provider instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/llm/llm.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iEAA6D;AAC7D,uEAAmE;AACnE,iEAA6D;AAC7D,qEAAiE;AACjE,+
|
|
1
|
+
{"version":3,"file":"llm.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/llm/llm.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iEAA6D;AAC7D,uEAAmE;AACnE,iEAA6D;AAC7D,qEAAiE;AACjE,+CAA8E;AAC9E,mCAA2E;AAQ3E,MAAa,UAAU;IAIrB,YAAY,OAA2B;QAF/B,oBAAe,GAAgB,mBAAW,CAAC,MAAM,CAAC;QAGxD,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,MAAM,EAAE,IAAI,gCAAc,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,SAAS,EAAE,IAAI,sCAAiB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,MAAM,EAAE,IAAI,gCAAc,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,QAAQ,EAAE,IAAI,oCAAgB,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,SAAS,EAAE,IAAI,yBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,QAAqB;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,2CAA2C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjI,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,QAAqB;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,qBAAqB,CAChC,UAA6B,EAC7B,aAAqB,EACrB,UAAyD,EAAE;QAE3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI,CACf,MAAyB,EACzB,UAAyD,EAAE;QAE3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AA3ED,gCA2EC;AAED,4BAA4B;AACf,QAAA,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-base.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/gemini-base.provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EAEtB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,GAAG,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAWlF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAa9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAalF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;GAKG;AACH,8BAAsB,kBAAmB,SAAQ,eAAe;IAC9D,SAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC;gBAEpC,YAAY,EAAE,WAAW;IAKrC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAEpF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE7F;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAExF;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,MAAM,GACZ,sBAAsB;IA+DzB;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,sBAAsB,GACvC,gBAAgB;IA4BnB;;OAEG;IACH,SAAS,CAAC,aAAa,CACrB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GACtB,iBAAiB;IAyEpB;;;OAGG;IACU,qBAAqB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini-base.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/gemini-base.provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EAEtB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,GAAG,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAWlF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAa9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAalF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;GAKG;AACH,8BAAsB,kBAAmB,SAAQ,eAAe;IAC9D,SAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC;gBAEpC,YAAY,EAAE,WAAW;IAKrC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAEpF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE7F;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAExF;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,MAAM,GACZ,sBAAsB;IA+DzB;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,sBAAsB,GACvC,gBAAgB;IA4BnB;;OAEG;IACH,SAAS,CAAC,aAAa,CACrB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GACtB,iBAAiB;IAyEpB;;;OAGG;IACU,qBAAqB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IA6NpC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,MAAM;CAC7C"}
|
|
@@ -251,8 +251,6 @@ class GeminiBaseProvider extends base_llm_provider_1.BaseLLMProvider {
|
|
|
251
251
|
const generationConfig = this.buildGenerationConfig(options, model);
|
|
252
252
|
// Build request payload
|
|
253
253
|
const requestPayload = this.buildRequestPayload(userPrompt, systemMessage, generationConfig);
|
|
254
|
-
// Get endpoint URL
|
|
255
|
-
const endpoint = this.getEndpointUrl(model, options);
|
|
256
254
|
// Get client request body from global scope
|
|
257
255
|
let clientRequestBody = undefined;
|
|
258
256
|
try {
|
|
@@ -317,20 +315,25 @@ class GeminiBaseProvider extends base_llm_provider_1.BaseLLMProvider {
|
|
|
317
315
|
logging_utils_1.logger.info(`Sending request to ${this.providerName} API`, {
|
|
318
316
|
context: this.constructor.name,
|
|
319
317
|
metadata: {
|
|
320
|
-
url:
|
|
318
|
+
url: this.getEndpointUrl(model, options),
|
|
321
319
|
model,
|
|
322
320
|
promptLength: (0, multimodal_utils_1.contentLength)(userPrompt),
|
|
323
321
|
maxOutputTokens: generationConfig.maxOutputTokens
|
|
324
322
|
}
|
|
325
323
|
});
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
324
|
+
// Endpoint is computed inside the lambda so region changes between retries
|
|
325
|
+
// (e.g., via _retryHooks.onRetry) take effect on the next attempt.
|
|
326
|
+
const response = await (0, retry_utils_1.retryWithBackoff)(() => {
|
|
327
|
+
const endpoint = this.getEndpointUrl(model, options);
|
|
328
|
+
return axios_1.default.post(endpoint, requestPayload, {
|
|
329
|
+
...authConfig,
|
|
330
|
+
headers: {
|
|
331
|
+
'Content-Type': 'application/json',
|
|
332
|
+
...authConfig.headers
|
|
333
|
+
},
|
|
334
|
+
timeout: 180000 // 180 second timeout
|
|
335
|
+
});
|
|
336
|
+
}, this.constructor.name, options.retry, options._retryHooks);
|
|
334
337
|
const requestDuration = Date.now() - requestStartTime;
|
|
335
338
|
if (response && response.status === 200) {
|
|
336
339
|
const normalizedResponse = this.parseResponse(response.data, sessionId, model, requestDuration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-base.provider.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/gemini-base.provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini-base.provider.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/gemini-base.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { GeminiBaseProvider, GeminiProviderOptions, GeminiGeneration, detectGeminiGeneration, mapReasoningEffortToThinkingLevel, mapReasoningEffortToThinkingBudget } from './gemini-base.provider';
|
|
6
6
|
export { GeminiDirectProvider, geminiDirectProvider } from './gemini-direct.provider';
|
|
7
|
-
export { VertexAIProvider, VertexAIProviderOptions, VertexAIRegion, vertexAIProvider } from './vertex-ai.provider';
|
|
7
|
+
export { VertexAIProvider, VertexAIProviderOptions, VertexAIProviderConfig, VertexAIRegion, vertexAIProvider } from './vertex-ai.provider';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EACjB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EACjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2BAA2B;AAC3B,+DAOgC;AAN9B,0HAAA,kBAAkB,OAAA;AAGlB,8HAAA,sBAAsB,OAAA;AACtB,yIAAA,iCAAiC,OAAA;AACjC,0IAAA,kCAAkC,OAAA;AAGpC,qCAAqC;AACrC,mEAGkC;AAFhC,8HAAA,oBAAoB,OAAA;AACpB,8HAAA,oBAAoB,OAAA;AAGtB,4CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2BAA2B;AAC3B,+DAOgC;AAN9B,0HAAA,kBAAkB,OAAA;AAGlB,8HAAA,sBAAsB,OAAA;AACtB,yIAAA,iCAAiC,OAAA;AACjC,0IAAA,kCAAkC,OAAA;AAGpC,qCAAqC;AACrC,mEAGkC;AAFhC,8HAAA,oBAAoB,OAAA;AACpB,8HAAA,oBAAoB,OAAA;AAGtB,4CAA4C;AAC5C,2DAM8B;AAL5B,sHAAA,gBAAgB,OAAA;AAIhB,sHAAA,gBAAgB,OAAA"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* - Service Account JSON for authentication
|
|
10
10
|
*/
|
|
11
11
|
import { AxiosRequestConfig } from 'axios';
|
|
12
|
+
import { CommonLLMResponse, RegionRotationConfig } from '../../types';
|
|
13
|
+
import { MultimodalContent } from '../../types/multimodal.types';
|
|
12
14
|
import { GeminiBaseProvider, GeminiProviderOptions } from './gemini-base.provider';
|
|
13
15
|
/**
|
|
14
16
|
* Supported EU regions for Vertex AI.
|
|
@@ -28,6 +30,13 @@ export interface VertexAIProviderOptions extends GeminiProviderOptions {
|
|
|
28
30
|
/** Service account JSON content (alternative to path) */
|
|
29
31
|
serviceAccountKey?: object;
|
|
30
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Configuration for the VertexAI provider instance.
|
|
35
|
+
*/
|
|
36
|
+
export interface VertexAIProviderConfig {
|
|
37
|
+
/** Opt-in region rotation for quota errors (429 / Resource Exhausted). */
|
|
38
|
+
regionRotation?: RegionRotationConfig;
|
|
39
|
+
}
|
|
31
40
|
/**
|
|
32
41
|
* Vertex AI provider with Service Account authentication.
|
|
33
42
|
*
|
|
@@ -45,8 +54,9 @@ export interface VertexAIProviderOptions extends GeminiProviderOptions {
|
|
|
45
54
|
export declare class VertexAIProvider extends GeminiBaseProvider {
|
|
46
55
|
private tokenCache;
|
|
47
56
|
private authClient;
|
|
57
|
+
private readonly regionRotationConfig;
|
|
48
58
|
private readonly TOKEN_REFRESH_BUFFER_MS;
|
|
49
|
-
constructor();
|
|
59
|
+
constructor(config?: VertexAIProviderConfig);
|
|
50
60
|
/**
|
|
51
61
|
* Get the base URL for Vertex AI API.
|
|
52
62
|
* Regional endpoints ensure data residency compliance.
|
|
@@ -106,6 +116,12 @@ export declare class VertexAIProvider extends GeminiBaseProvider {
|
|
|
106
116
|
* Load credentials from a JSON file.
|
|
107
117
|
*/
|
|
108
118
|
private loadCredentialsFromFile;
|
|
119
|
+
/**
|
|
120
|
+
* Override callWithSystemMessage to add region rotation on quota errors.
|
|
121
|
+
* When regionRotation is configured, rotates through regions on 429 errors.
|
|
122
|
+
* Without regionRotation config, delegates directly to base class (backwards compatible).
|
|
123
|
+
*/
|
|
124
|
+
callWithSystemMessage(userPrompt: MultimodalContent, systemMessage: string, options?: GeminiProviderOptions): Promise<CommonLLMResponse | null>;
|
|
109
125
|
/**
|
|
110
126
|
* Clear the token cache (useful for testing or after errors).
|
|
111
127
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-ai.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/vertex-ai.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"vertex-ai.provider.d.ts","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/vertex-ai.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAK3C,OAAO,EAAe,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAUD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAGnE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiB;gBAE7C,MAAM,CAAC,EAAE,sBAAsB;IAe3C;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM;IAU7E;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM;IAQjF;;OAEG;cACa,aAAa,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU7F;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;YACW,cAAc;IAW5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;YACW,gBAAgB;IA2C9B;;OAEG;YACW,oBAAoB;IAuDlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;;OAIG;IACU,qBAAqB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAyEpC;;OAEG;IACI,eAAe,IAAI,IAAI;CAI/B;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -49,6 +49,7 @@ const fs = __importStar(require("fs"));
|
|
|
49
49
|
const path = __importStar(require("path"));
|
|
50
50
|
const logging_utils_1 = require("../../../../shared/utils/logging.utils");
|
|
51
51
|
const types_1 = require("../../types");
|
|
52
|
+
const retry_utils_1 = require("../../utils/retry.utils");
|
|
52
53
|
const gemini_base_provider_1 = require("./gemini-base.provider");
|
|
53
54
|
/**
|
|
54
55
|
* Vertex AI provider with Service Account authentication.
|
|
@@ -65,12 +66,22 @@ const gemini_base_provider_1 = require("./gemini-base.provider");
|
|
|
65
66
|
* - The JSON file should be in .gitignore
|
|
66
67
|
*/
|
|
67
68
|
class VertexAIProvider extends gemini_base_provider_1.GeminiBaseProvider {
|
|
68
|
-
constructor() {
|
|
69
|
+
constructor(config) {
|
|
69
70
|
super(types_1.LLMProvider.VERTEX_AI);
|
|
70
71
|
this.tokenCache = null;
|
|
71
72
|
this.authClient = null;
|
|
72
73
|
// Buffer time before token expiry to refresh (5 minutes)
|
|
73
74
|
this.TOKEN_REFRESH_BUFFER_MS = 5 * 60 * 1000;
|
|
75
|
+
this.regionRotationConfig = config?.regionRotation ?? null;
|
|
76
|
+
// Validate regionRotation config
|
|
77
|
+
if (this.regionRotationConfig) {
|
|
78
|
+
if (!this.regionRotationConfig.regions || this.regionRotationConfig.regions.length === 0) {
|
|
79
|
+
throw new Error('regionRotation.regions must contain at least one region');
|
|
80
|
+
}
|
|
81
|
+
if (!this.regionRotationConfig.fallback) {
|
|
82
|
+
throw new Error('regionRotation.fallback is required');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
74
85
|
}
|
|
75
86
|
/**
|
|
76
87
|
* Get the base URL for Vertex AI API.
|
|
@@ -291,6 +302,75 @@ class VertexAIProvider extends gemini_base_provider_1.GeminiBaseProvider {
|
|
|
291
302
|
throw new Error(`Failed to load service account file: ${error.message}`);
|
|
292
303
|
}
|
|
293
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Override callWithSystemMessage to add region rotation on quota errors.
|
|
307
|
+
* When regionRotation is configured, rotates through regions on 429 errors.
|
|
308
|
+
* Without regionRotation config, delegates directly to base class (backwards compatible).
|
|
309
|
+
*/
|
|
310
|
+
async callWithSystemMessage(userPrompt, systemMessage, options = {}) {
|
|
311
|
+
// No rotation configured → use base implementation directly
|
|
312
|
+
if (!this.regionRotationConfig) {
|
|
313
|
+
return super.callWithSystemMessage(userPrompt, systemMessage, options);
|
|
314
|
+
}
|
|
315
|
+
const rotation = this.regionRotationConfig;
|
|
316
|
+
const model = options.model || this.getDefaultModel();
|
|
317
|
+
// Preview models use global endpoint → no rotation
|
|
318
|
+
if (this.isPreviewModel(model)) {
|
|
319
|
+
return super.callWithSystemMessage(userPrompt, systemMessage, options);
|
|
320
|
+
}
|
|
321
|
+
// Build region sequence: [...regions, fallback]
|
|
322
|
+
const regionSequence = [...rotation.regions, rotation.fallback];
|
|
323
|
+
let regionIndex = 0;
|
|
324
|
+
logging_utils_1.logger.info('Region rotation enabled for Vertex AI LLM call', {
|
|
325
|
+
context: 'VertexAIProvider',
|
|
326
|
+
metadata: { sequence: regionSequence, model }
|
|
327
|
+
});
|
|
328
|
+
// Mutable options object — onRetry mutates the region
|
|
329
|
+
const mutableOptions = {
|
|
330
|
+
...options,
|
|
331
|
+
region: rotation.regions[0],
|
|
332
|
+
_retryHooks: {
|
|
333
|
+
onRetry: (error) => {
|
|
334
|
+
if ((0, retry_utils_1.isQuotaError)(error) && regionIndex < regionSequence.length - 1) {
|
|
335
|
+
regionIndex++;
|
|
336
|
+
mutableOptions.region = regionSequence[regionIndex];
|
|
337
|
+
logging_utils_1.logger.info(`Quota error — rotating to region ${mutableOptions.region}`, {
|
|
338
|
+
context: 'VertexAIProvider',
|
|
339
|
+
metadata: {
|
|
340
|
+
regionIndex,
|
|
341
|
+
totalRegions: regionSequence.length,
|
|
342
|
+
region: mutableOptions.region
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
// Non-quota retryable errors (500, 503, timeout): stay on same region
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
try {
|
|
351
|
+
return await super.callWithSystemMessage(userPrompt, systemMessage, mutableOptions);
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
// Bonus fallback attempt: after retry budget exhausted, one more try on fallback
|
|
355
|
+
if ((0, retry_utils_1.isQuotaError)(error) &&
|
|
356
|
+
rotation.alwaysTryFallback !== false &&
|
|
357
|
+
mutableOptions.region !== rotation.fallback) {
|
|
358
|
+
logging_utils_1.logger.info(`Retry budget exhausted — bonus attempt on fallback region ${rotation.fallback}`, {
|
|
359
|
+
context: 'VertexAIProvider',
|
|
360
|
+
metadata: {
|
|
361
|
+
exhaustedRegion: mutableOptions.region,
|
|
362
|
+
fallback: rotation.fallback
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
mutableOptions.region = rotation.fallback;
|
|
366
|
+
// Remove retry hooks and disable retries for the single bonus attempt
|
|
367
|
+
delete mutableOptions._retryHooks;
|
|
368
|
+
mutableOptions.retry = { ...mutableOptions.retry, maxRetries: 0 };
|
|
369
|
+
return await super.callWithSystemMessage(userPrompt, systemMessage, mutableOptions);
|
|
370
|
+
}
|
|
371
|
+
throw error;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
294
374
|
/**
|
|
295
375
|
* Clear the token cache (useful for testing or after errors).
|
|
296
376
|
*/
|
|
@@ -300,6 +380,6 @@ class VertexAIProvider extends gemini_base_provider_1.GeminiBaseProvider {
|
|
|
300
380
|
}
|
|
301
381
|
}
|
|
302
382
|
exports.VertexAIProvider = VertexAIProvider;
|
|
303
|
-
//
|
|
383
|
+
// Default singleton instance (without region rotation, for backwards compatibility)
|
|
304
384
|
exports.vertexAIProvider = new VertexAIProvider();
|
|
305
385
|
//# sourceMappingURL=vertex-ai.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-ai.provider.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/vertex-ai.provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,6DAAsD;AACtD,uCAAyB;AACzB,2CAA6B;AAC7B,0EAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"vertex-ai.provider.js","sourceRoot":"","sources":["../../../../../../src/middleware/services/llm/providers/gemini/vertex-ai.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Common types shared across all LLM providers
|
|
3
3
|
*/
|
|
4
|
-
import type { RetryConfig } from '../utils/retry.utils';
|
|
4
|
+
import type { RetryConfig, RetryHooks } from '../utils/retry.utils';
|
|
5
5
|
/**
|
|
6
6
|
* Reasoning effort levels for models with thinking/reasoning capabilities.
|
|
7
7
|
* Maps to provider-specific parameters:
|
|
@@ -56,8 +56,35 @@ export interface CommonLLMOptions {
|
|
|
56
56
|
* Set `{ enabled: false }` to disable.
|
|
57
57
|
*/
|
|
58
58
|
retry?: RetryConfig;
|
|
59
|
+
/** @internal Retry hooks (e.g., onRetry for region rotation). Not part of public API. */
|
|
60
|
+
_retryHooks?: RetryHooks;
|
|
61
|
+
}
|
|
62
|
+
export type { RetryConfig, RetryHooks };
|
|
63
|
+
/**
|
|
64
|
+
* Configuration for region rotation on quota errors (429 / Resource Exhausted).
|
|
65
|
+
*
|
|
66
|
+
* When a provider returns a quota error, the middleware rotates through the
|
|
67
|
+
* configured regions instead of retrying the same region. This is useful
|
|
68
|
+
* when Dynamic Shared Quota is temporarily exhausted in a single region.
|
|
69
|
+
*
|
|
70
|
+
* The total retry budget (from RetryConfig.maxRetries) is shared across
|
|
71
|
+
* all regions — region rotation does NOT multiply the retry count.
|
|
72
|
+
*
|
|
73
|
+
* Provider-agnostic: regions are plain strings. The consuming provider
|
|
74
|
+
* is responsible for using valid region identifiers.
|
|
75
|
+
*/
|
|
76
|
+
export interface RegionRotationConfig {
|
|
77
|
+
/** Ordered list of regions to try. First entry = primary region. */
|
|
78
|
+
regions: string[];
|
|
79
|
+
/** Last-resort region after all regions exhausted (typically 'global'). */
|
|
80
|
+
fallback: string;
|
|
81
|
+
/**
|
|
82
|
+
* If true: when maxRetries is exhausted before reaching the fallback,
|
|
83
|
+
* one final bonus attempt on the fallback region is made.
|
|
84
|
+
* @default true
|
|
85
|
+
*/
|
|
86
|
+
alwaysTryFallback?: boolean;
|
|
59
87
|
}
|
|
60
|
-
export type { RetryConfig };
|
|
61
88
|
/**
|
|
62
89
|
* Provider-agnostic token usage information
|
|
63
90
|
* Normalized across all LLM providers (Anthropic, Ollama, OpenAI, Google)
|
|
@@ -96,6 +123,8 @@ export interface CommonLLMResponse {
|
|
|
96
123
|
model: string;
|
|
97
124
|
tokensUsed?: number;
|
|
98
125
|
processingTime?: number;
|
|
126
|
+
/** Which region served this request (Vertex AI only) */
|
|
127
|
+
region?: string;
|
|
99
128
|
};
|
|
100
129
|
/**
|
|
101
130
|
* Standardized token usage information
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/types/common.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/types/common.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/types/common.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/types/common.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA6JH;;GAEG;AACH,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,kEAAkE;IAClE,sCAAuB,CAAA;AACzB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB"}
|
|
@@ -33,6 +33,12 @@ export interface RetryConfig {
|
|
|
33
33
|
}
|
|
34
34
|
/** Default retry configuration following Google's recommendations */
|
|
35
35
|
export declare const DEFAULT_RETRY_CONFIG: Required<RetryConfig>;
|
|
36
|
+
/**
|
|
37
|
+
* Checks if an error is a quota/rate-limit error (429 / Resource Exhausted).
|
|
38
|
+
* Only these errors should trigger region rotation — server errors (500, 503)
|
|
39
|
+
* should retry on the same region.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isQuotaError(error: any): boolean;
|
|
36
42
|
/**
|
|
37
43
|
* Checks if an error is retryable based on HTTP status or network error code.
|
|
38
44
|
*/
|
|
@@ -41,12 +47,18 @@ export declare function isRetryableError(error: any): boolean;
|
|
|
41
47
|
* Calculates the delay for a given retry attempt with optional jitter.
|
|
42
48
|
*/
|
|
43
49
|
export declare function calculateDelay(attempt: number, config: Required<RetryConfig>): number;
|
|
50
|
+
/** Options for retryWithBackoff beyond the retry config. */
|
|
51
|
+
export interface RetryHooks {
|
|
52
|
+
/** Called before each retry. Use to adjust state (e.g., rotate regions on quota errors). */
|
|
53
|
+
onRetry?: (error: any, attempt: number) => void;
|
|
54
|
+
}
|
|
44
55
|
/**
|
|
45
56
|
* Executes an async function with exponential backoff retry on transient errors.
|
|
46
57
|
*
|
|
47
58
|
* @param fn - The async function to execute (typically an axios call)
|
|
48
59
|
* @param context - Logging context (e.g. provider class name)
|
|
49
60
|
* @param config - Retry configuration (merged with defaults)
|
|
61
|
+
* @param hooks - Optional hooks (e.g., onRetry for region rotation)
|
|
50
62
|
* @returns The result of fn()
|
|
51
63
|
* @throws The last error if all retries are exhausted
|
|
52
64
|
*
|
|
@@ -59,5 +71,5 @@ export declare function calculateDelay(attempt: number, config: Required<RetryCo
|
|
|
59
71
|
* );
|
|
60
72
|
* ```
|
|
61
73
|
*/
|
|
62
|
-
export declare function retryWithBackoff<T>(fn: () => Promise<T>, context: string, config?: RetryConfig): Promise<T>;
|
|
74
|
+
export declare function retryWithBackoff<T>(fn: () => Promise<T>, context: string, config?: RetryConfig, hooks?: RetryHooks): Promise<T>;
|
|
63
75
|
//# sourceMappingURL=retry.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.utils.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/retry.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAOtD,CAAC;AAgBF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAoBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,MAAM,CAUR;AA+CD
|
|
1
|
+
{"version":3,"file":"retry.utils.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/retry.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAOtD,CAAC;AAgBF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAehD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAoBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,MAAM,CAUR;AA+CD,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,CAAC,CAAC,CAwDZ"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.DEFAULT_RETRY_CONFIG = void 0;
|
|
22
|
+
exports.isQuotaError = isQuotaError;
|
|
22
23
|
exports.isRetryableError = isRetryableError;
|
|
23
24
|
exports.calculateDelay = calculateDelay;
|
|
24
25
|
exports.retryWithBackoff = retryWithBackoff;
|
|
@@ -44,6 +45,24 @@ const RETRYABLE_ERROR_CODES = new Set([
|
|
|
44
45
|
'ENETUNREACH',
|
|
45
46
|
'EAI_AGAIN',
|
|
46
47
|
]);
|
|
48
|
+
/**
|
|
49
|
+
* Checks if an error is a quota/rate-limit error (429 / Resource Exhausted).
|
|
50
|
+
* Only these errors should trigger region rotation — server errors (500, 503)
|
|
51
|
+
* should retry on the same region.
|
|
52
|
+
*/
|
|
53
|
+
function isQuotaError(error) {
|
|
54
|
+
// Axios error with 429 status
|
|
55
|
+
if (error?.isAxiosError && error.response?.status === 429) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
// Check error message for common quota/rate-limit patterns
|
|
59
|
+
const message = (error?.message || '').toLowerCase();
|
|
60
|
+
return (message.includes('429') ||
|
|
61
|
+
message.includes('resource exhausted') ||
|
|
62
|
+
message.includes('quota exceeded') ||
|
|
63
|
+
message.includes('rate limit') ||
|
|
64
|
+
message.includes('too many requests'));
|
|
65
|
+
}
|
|
47
66
|
/**
|
|
48
67
|
* Checks if an error is retryable based on HTTP status or network error code.
|
|
49
68
|
*/
|
|
@@ -124,6 +143,7 @@ function sleep(ms) {
|
|
|
124
143
|
* @param fn - The async function to execute (typically an axios call)
|
|
125
144
|
* @param context - Logging context (e.g. provider class name)
|
|
126
145
|
* @param config - Retry configuration (merged with defaults)
|
|
146
|
+
* @param hooks - Optional hooks (e.g., onRetry for region rotation)
|
|
127
147
|
* @returns The result of fn()
|
|
128
148
|
* @throws The last error if all retries are exhausted
|
|
129
149
|
*
|
|
@@ -136,7 +156,7 @@ function sleep(ms) {
|
|
|
136
156
|
* );
|
|
137
157
|
* ```
|
|
138
158
|
*/
|
|
139
|
-
async function retryWithBackoff(fn, context, config) {
|
|
159
|
+
async function retryWithBackoff(fn, context, config, hooks) {
|
|
140
160
|
const resolvedConfig = {
|
|
141
161
|
...exports.DEFAULT_RETRY_CONFIG,
|
|
142
162
|
...config,
|
|
@@ -155,6 +175,10 @@ async function retryWithBackoff(fn, context, config) {
|
|
|
155
175
|
if (!isRetryableError(error) || attempt === resolvedConfig.maxRetries) {
|
|
156
176
|
throw error;
|
|
157
177
|
}
|
|
178
|
+
// Notify consumer before retry (e.g., for region rotation on quota errors)
|
|
179
|
+
if (hooks?.onRetry) {
|
|
180
|
+
hooks.onRetry(error, attempt + 1);
|
|
181
|
+
}
|
|
158
182
|
const errorInfo = getErrorInfo(error);
|
|
159
183
|
let delayMs = calculateDelay(attempt, resolvedConfig);
|
|
160
184
|
// Respect Retry-After header if present (use the larger value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.utils.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/retry.utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;
|
|
1
|
+
{"version":3,"file":"retry.utils.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/retry.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loonylabs/llm-middleware",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.1",
|
|
4
4
|
"description": "Complete middleware infrastructure for LLM-based backends with multi-provider support (Ollama, Anthropic, OpenAI, Google)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|