@memberjunction/ai 2.123.0 → 2.124.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.
@@ -12,5 +12,6 @@ export declare class AIAPIKeys {
12
12
  GetAPIKey(AIDriverName: string): string;
13
13
  protected getEnvVariableCaseInsensitive(name: string): string | undefined;
14
14
  }
15
- export declare function GetAIAPIKey(AIDriverName: string): string;
15
+ export declare function GetAIAPIKey(AIDriverName: string, apiKeys?: AIAPIKey[], verbose?: boolean): string;
16
+ export declare function GetAIAPIKeyGlobal(AIDriverName: string): string;
16
17
  //# sourceMappingURL=apiKeyDictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiKeyDictionary.d.ts","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IAKrB,WAAW,EAAE,MAAM,CAAC;IAKpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAG9D,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChE,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKvD,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAmB9C,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAK5E;AAOD,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMxD"}
1
+ {"version":3,"file":"apiKeyDictionary.d.ts","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IAKrB,WAAW,EAAE,MAAM,CAAC;IAKpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAG9D,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChE,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKvD,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAmB9C,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAK5E;AASD,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAmBjG;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM9D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetAIAPIKey = exports.AIAPIKeys = void 0;
3
+ exports.GetAIAPIKeyGlobal = exports.GetAIAPIKey = exports.AIAPIKeys = void 0;
4
4
  const global_1 = require("@memberjunction/global");
5
5
  class AIAPIKeys {
6
6
  GetCachedAPIKey(AIDriverName) {
@@ -37,12 +37,35 @@ class AIAPIKeys {
37
37
  exports.AIAPIKeys = AIAPIKeys;
38
38
  AIAPIKeys._apiKeyPrefix = 'AI_VENDOR_API_KEY__';
39
39
  AIAPIKeys._cachedAPIKeys = {};
40
- function GetAIAPIKey(AIDriverName) {
40
+ function GetAIAPIKey(AIDriverName, apiKeys, verbose) {
41
+ let apiKey;
42
+ if (apiKeys && apiKeys.length > 0) {
43
+ const localKey = apiKeys.find(k => k.driverClass === AIDriverName);
44
+ if (localKey) {
45
+ apiKey = localKey.apiKey;
46
+ if (verbose) {
47
+ console.log(` Using local API key for driver class: ${AIDriverName}`);
48
+ }
49
+ }
50
+ else {
51
+ apiKey = GetAIAPIKeyGlobal(AIDriverName);
52
+ if (verbose) {
53
+ console.log(` No local API key found for driver class ${AIDriverName}, using global key`);
54
+ }
55
+ }
56
+ }
57
+ else {
58
+ apiKey = GetAIAPIKeyGlobal(AIDriverName);
59
+ }
60
+ return apiKey;
61
+ }
62
+ exports.GetAIAPIKey = GetAIAPIKey;
63
+ function GetAIAPIKeyGlobal(AIDriverName) {
41
64
  const obj = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(AIAPIKeys);
42
65
  if (obj)
43
66
  return obj.GetAPIKey(AIDriverName);
44
67
  else
45
68
  throw new Error('Could not instantiate AIAPIKeys class');
46
69
  }
47
- exports.GetAIAPIKey = GetAIAPIKey;
70
+ exports.GetAIAPIKeyGlobal = GetAIAPIKeyGlobal;
48
71
  //# sourceMappingURL=apiKeyDictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiKeyDictionary.js","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAuBlD,MAAa,SAAS;IAKR,eAAe,CAAC,YAAoB;QAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAES,eAAe,CAAC,YAAoB,EAAE,KAAa;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACpD,CAAC;IAEM,SAAS,CAAC,YAAoB;QACjC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC;QAClB,CAAC;aACI,CAAC;YAEF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACjB,CAAC;;gBAEG,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IAES,6BAA6B,CAAC,IAAY;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;;AAtCL,8BAuCC;AAtC2B,uBAAa,GAAG,qBAAqB,CAAC;AAG7C,wBAAc,GAA8B,EAAE,CAAC;AA0CpE,SAAgB,WAAW,CAAC,YAAoB;IAC5C,MAAM,GAAG,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAY,SAAS,CAAC,CAAC;IAChF,IAAI,GAAG;QACH,OAAO,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;;QAEnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACjE,CAAC;AAND,kCAMC"}
1
+ {"version":3,"file":"apiKeyDictionary.js","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ai",
3
- "version": "2.123.0",
3
+ "version": "2.124.0",
4
4
  "description": "MemberJunction: AI - core components for abstracting LLMs and other AI model types that are usable anywhere without ANY other MJ dependencies past @memberjunction/global which itself has zero additional dependencies.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "author": "MemberJunction.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@memberjunction/global": "2.123.0",
18
+ "@memberjunction/global": "2.124.0",
19
19
  "dotenv": "^16.4.1",
20
20
  "rxjs": "^7.8.1"
21
21
  },