@lyrolab/nest-shared 1.3.0 → 1.4.0

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/CHANGELOG.md CHANGED
@@ -1,9 +1,9 @@
1
- # [1.3.0](https://github.com/lyrolab/nest-shared/compare/v1.2.0...v1.3.0) (2025-04-22)
1
+ # [1.4.0](https://github.com/lyrolab/nest-shared/compare/v1.3.0...v1.4.0) (2025-06-09)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * configure queue concurrency ([a1b7a4f](https://github.com/lyrolab/nest-shared/commit/a1b7a4fc420689391638e4a4bca8b77d915adc87))
6
+ * configure ai model ([c9ae829](https://github.com/lyrolab/nest-shared/commit/c9ae8299c0488695e53bfd91b617bd64bf26f37f))
7
7
 
8
8
  ## [1.0.1](https://github.com/lyrolab/nest-shared/compare/v1.0.0...v1.0.1) (2025-04-10)
9
9
 
@@ -1,10 +1,14 @@
1
1
  import { LanguageModelV1 } from "ai";
2
2
  import { Cache } from "cache-manager";
3
+ export type BuildModelOptions = {
4
+ model?: string;
5
+ };
3
6
  export declare class AiService {
4
7
  private cache;
5
8
  private readonly openrouter;
6
9
  private readonly openrouterChat;
7
10
  constructor(cache: Cache);
8
11
  get model(): LanguageModelV1;
12
+ buildModel({ model }?: BuildModelOptions): LanguageModelV1;
9
13
  private wrapGenerate;
10
14
  }
@@ -17,6 +17,7 @@ const cache_manager_1 = require("@nestjs/cache-manager");
17
17
  const common_1 = require("@nestjs/common");
18
18
  const ai_sdk_provider_1 = require("@openrouter/ai-sdk-provider");
19
19
  const ai_1 = require("ai");
20
+ const DEFAULT_MODEL = "google/gemini-2.0-flash-001";
20
21
  let AiService = class AiService {
21
22
  cache;
22
23
  openrouter;
@@ -26,14 +27,17 @@ let AiService = class AiService {
26
27
  this.openrouter = (0, ai_sdk_provider_1.createOpenRouter)({
27
28
  apiKey: process.env.OPENROUTER_API_KEY,
28
29
  });
29
- this.openrouterChat = (0, ai_1.wrapLanguageModel)({
30
- model: this.openrouter.chat("google/gemini-2.0-flash-001"),
31
- middleware: [{ wrapGenerate: (options) => this.wrapGenerate(options) }],
32
- });
30
+ this.openrouterChat = this.buildModel();
33
31
  }
34
32
  get model() {
35
33
  return this.openrouterChat;
36
34
  }
35
+ buildModel({ model } = {}) {
36
+ return (0, ai_1.wrapLanguageModel)({
37
+ model: this.openrouter.chat(model ?? DEFAULT_MODEL),
38
+ middleware: [{ wrapGenerate: (options) => this.wrapGenerate(options) }],
39
+ });
40
+ }
37
41
  async wrapGenerate({ doGenerate, params, }) {
38
42
  const cacheKey = "ai:" + JSON.stringify(params);
39
43
  const cachedResult = await this.cache.get(cacheKey);
@@ -1 +1 @@
1
- {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../../src/ai/services/ai.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAqD;AACrD,2CAAmD;AACnD,iEAGoC;AACpC,2BAIW;AAIJ,IAAM,SAAS,GAAf,MAAM,SAAS;IAIuB;IAH1B,UAAU,CAAoB;IAC9B,cAAc,CAAiB;IAEhD,YAA2C,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QACrD,IAAI,CAAC,UAAU,GAAG,IAAA,kCAAgB,EAAC;YACjC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;SACvC,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,IAAA,sBAAiB,EAAC;YACtC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC1D,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;SACxE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,EACzB,UAAU,EACV,MAAM,GAGJ;QACF,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAkE,CAAA;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AApCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAKE,WAAA,IAAA,eAAM,EAAC,6BAAa,CAAC,CAAA;;GAJvB,SAAS,CAoCrB"}
1
+ {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../../src/ai/services/ai.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAqD;AACrD,2CAAmD;AACnD,iEAGoC;AACpC,2BAIW;AAGX,MAAM,aAAa,GAAG,6BAA6B,CAAA;AAO5C,IAAM,SAAS,GAAf,MAAM,SAAS;IAIuB;IAH1B,UAAU,CAAoB;IAC9B,cAAc,CAAiB;IAEhD,YAA2C,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QACrD,IAAI,CAAC,UAAU,GAAG,IAAA,kCAAgB,EAAC;YACjC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;SACvC,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,UAAU,CAAC,EAAE,KAAK,KAAwB,EAAE;QAC1C,OAAO,IAAA,sBAAiB,EAAC;YACvB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC;YACnD,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;SACxE,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,EACzB,UAAU,EACV,MAAM,GAGJ;QACF,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAkE,CAAA;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAxCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAKE,WAAA,IAAA,eAAM,EAAC,6BAAa,CAAC,CAAA;;GAJvB,SAAS,CAwCrB"}