@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.
Files changed (23) hide show
  1. package/README.md +2 -0
  2. package/dist/middleware/services/llm/llm.service.d.ts +6 -1
  3. package/dist/middleware/services/llm/llm.service.d.ts.map +1 -1
  4. package/dist/middleware/services/llm/llm.service.js +2 -2
  5. package/dist/middleware/services/llm/llm.service.js.map +1 -1
  6. package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.d.ts.map +1 -1
  7. package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.js +14 -11
  8. package/dist/middleware/services/llm/providers/gemini/gemini-base.provider.js.map +1 -1
  9. package/dist/middleware/services/llm/providers/gemini/index.d.ts +1 -1
  10. package/dist/middleware/services/llm/providers/gemini/index.d.ts.map +1 -1
  11. package/dist/middleware/services/llm/providers/gemini/index.js.map +1 -1
  12. package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.d.ts +17 -1
  13. package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.d.ts.map +1 -1
  14. package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.js +82 -2
  15. package/dist/middleware/services/llm/providers/gemini/vertex-ai.provider.js.map +1 -1
  16. package/dist/middleware/services/llm/types/common.types.d.ts +31 -2
  17. package/dist/middleware/services/llm/types/common.types.d.ts.map +1 -1
  18. package/dist/middleware/services/llm/types/common.types.js.map +1 -1
  19. package/dist/middleware/services/llm/utils/retry.utils.d.ts +13 -1
  20. package/dist/middleware/services/llm/utils/retry.utils.d.ts.map +1 -1
  21. package/dist/middleware/services/llm/utils/retry.utils.js +25 -1
  22. package/dist/middleware/services/llm/utils/retry.utils.js.map +1 -1
  23. 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;AAMhE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,eAAe,CAAmC;;IAY1D;;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"}
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,+CAAsD;AACtD,mCAA2E;AAG3E,MAAa,UAAU;IAIrB;QAFQ,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,EAAE,CAAC,CAAC;IACpE,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
+ {"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;IA0NpC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,MAAM;CAC7C"}
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: endpoint,
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
- const response = await (0, retry_utils_1.retryWithBackoff)(() => axios_1.default.post(endpoint, requestPayload, {
327
- ...authConfig,
328
- headers: {
329
- 'Content-Type': 'application/json',
330
- ...authConfig.headers
331
- },
332
- timeout: 180000 // 180 second timeout
333
- }), this.constructor.name, options.retry);
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,2DAK8B;AAJ5B,sHAAA,gBAAgB,OAAA;AAGhB,sHAAA,gBAAgB,OAAA"}
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;AAM3C,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;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiB;;IAMzD;;;;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;;OAEG;IACI,eAAe,IAAI,IAAI;CAI/B;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,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
- // Export singleton instance
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":"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"}
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":"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"}
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;;;AA4HH;;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"}
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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAmDZ"}
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":"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"}
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.22.0",
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",