@memberjunction/ai-recommendations 6.2.0-edge.0 → 6.2.0-edge.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Engine.d.ts CHANGED
@@ -5,14 +5,14 @@ import { RecommendationRequest, RecommendationResult } from './generic/types.js'
5
5
  * Engine class to be used for running all recommendation requests
6
6
  */
7
7
  export declare class RecommendationEngineBase extends BaseEngine<RecommendationEngineBase> {
8
- private _RecommendationProviders;
8
+ private _recommendationProviders;
9
9
  static get Instance(): RecommendationEngineBase;
10
10
  get RecommendationProviders(): MJRecommendationProviderEntity[];
11
11
  Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
12
12
  Recommend<T>(request: RecommendationRequest<T>): Promise<RecommendationResult>;
13
- private GetRecommendationEntities;
14
- private GetRecommendationsByListID;
15
- private GetRecommendationsByRecordIDs;
13
+ private getRecommendationEntities;
14
+ private getRecommendationsByListID;
15
+ private getRecommendationsByRecordIDs;
16
16
  /**
17
17
  * Builds the filter that selects exactly the given records of `entity`. Each id is a compact
18
18
  * CompositeKey URL segment — what `MJ: List Details.RecordID` holds and what callers pass to
@@ -22,7 +22,7 @@ export declare class RecommendationEngineBase extends BaseEngine<RecommendationE
22
22
  * compared against a multi-column value.
23
23
  */
24
24
  protected BuildPrimaryKeyFilter(entity: EntityInfo, recordIDs: Array<string | number>): string;
25
- private CreateRecommendationErrorList;
26
- private IsNullOrUndefined;
25
+ private createRecommendationErrorList;
26
+ private isNullOrUndefined;
27
27
  }
28
28
  //# sourceMappingURL=Engine.d.ts.map
package/dist/Engine.js CHANGED
@@ -7,18 +7,18 @@ import { RecommendationProviderBase } from './ProviderBase.js';
7
7
  export class RecommendationEngineBase extends BaseEngine {
8
8
  constructor() {
9
9
  super(...arguments);
10
- this._RecommendationProviders = [];
10
+ this._recommendationProviders = [];
11
11
  }
12
12
  static get Instance() {
13
13
  return super.getInstance();
14
14
  }
15
15
  get RecommendationProviders() {
16
- return this._RecommendationProviders;
16
+ return this._recommendationProviders;
17
17
  }
18
18
  async Config(forceRefresh, contextUser, provider) {
19
19
  const params = [
20
20
  {
21
- PropertyName: '_RecommendationProviders',
21
+ PropertyName: '_recommendationProviders',
22
22
  EntityName: 'MJ: Recommendation Providers',
23
23
  CacheLocal: true
24
24
  },
@@ -42,7 +42,7 @@ export class RecommendationEngineBase extends BaseEngine {
42
42
  if (!driver) {
43
43
  throw new Error(`Could not find driver for provider: ${provider.Name}`);
44
44
  }
45
- const recommendations = await this.GetRecommendationEntities(request);
45
+ const recommendations = await this.getRecommendationEntities(request);
46
46
  LogStatus(`Processing ${recommendations.length} recommendations`);
47
47
  if (recommendations.length == 0) {
48
48
  return {
@@ -65,7 +65,7 @@ export class RecommendationEngineBase extends BaseEngine {
65
65
  throw new Error('Error creating Recommendation Run entity');
66
66
  }
67
67
  if (request.CreateErrorList) {
68
- const errorList = await this.CreateRecommendationErrorList(recommendationRunEntity.ID, recommendations[0].SourceEntityID, request.CurrentUser);
68
+ const errorList = await this.createRecommendationErrorList(recommendationRunEntity.ID, recommendations[0].SourceEntityID, request.CurrentUser);
69
69
  if (errorList) {
70
70
  request.ErrorListID = errorList.ID;
71
71
  }
@@ -81,16 +81,16 @@ export class RecommendationEngineBase extends BaseEngine {
81
81
  }
82
82
  return recommendResult;
83
83
  }
84
- async GetRecommendationEntities(request) {
84
+ async getRecommendationEntities(request) {
85
85
  if (request.Recommendations) {
86
- const invalidEntities = request.Recommendations.filter((r) => !this.IsNullOrUndefined(r.RecommendationRunID) || r.IsSaved);
86
+ const invalidEntities = request.Recommendations.filter((r) => !this.isNullOrUndefined(r.RecommendationRunID) || r.IsSaved);
87
87
  if (invalidEntities.length > 0) {
88
88
  throw new Error(`Recommendation entities must be new, not saved and have their RecommendationRunID not set. Invalid entities: ${invalidEntities.map((r) => r.ID).join(',')}`);
89
89
  }
90
90
  return request.Recommendations;
91
91
  }
92
92
  else if (request.ListID) {
93
- return await this.GetRecommendationsByListID(request.ListID, request.CurrentUser);
93
+ return await this.getRecommendationsByListID(request.ListID, request.CurrentUser);
94
94
  }
95
95
  else if (request.EntityAndRecordsInfo) {
96
96
  const entityName = request.EntityAndRecordsInfo.EntityName;
@@ -101,10 +101,10 @@ export class RecommendationEngineBase extends BaseEngine {
101
101
  if (!recordIDs) {
102
102
  throw new Error('RecordIDs are required in EntityAndRecordsInfo');
103
103
  }
104
- return await this.GetRecommendationsByRecordIDs(entityName, recordIDs, request.CurrentUser);
104
+ return await this.getRecommendationsByRecordIDs(entityName, recordIDs, request.CurrentUser);
105
105
  }
106
106
  }
107
- async GetRecommendationsByListID(listID, currentUser) {
107
+ async getRecommendationsByListID(listID, currentUser) {
108
108
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
109
109
  const md = this.ProviderToUse;
110
110
  const rvListDetailsResult = await rv.RunViews([
@@ -159,7 +159,7 @@ export class RecommendationEngineBase extends BaseEngine {
159
159
  }
160
160
  return recommendations;
161
161
  }
162
- async GetRecommendationsByRecordIDs(entityName, recordIDs, currentUser) {
162
+ async getRecommendationsByRecordIDs(entityName, recordIDs, currentUser) {
163
163
  const md = this.ProviderToUse;
164
164
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
165
165
  const entity = md.Entities.find((e) => e.Name.toLowerCase() == entityName.toLowerCase());
@@ -204,7 +204,7 @@ export class RecommendationEngineBase extends BaseEngine {
204
204
  }
205
205
  return recordIDs.map((id) => `(${CompositeKey.FromURLSegment(entity, String(id)).ToWhereClause()})`).join(' OR ');
206
206
  }
207
- async CreateRecommendationErrorList(recommendationRunID, entityID, currentUser) {
207
+ async createRecommendationErrorList(recommendationRunID, entityID, currentUser) {
208
208
  const md = this.ProviderToUse;
209
209
  const list = await md.GetEntityObject('MJ: Lists', currentUser);
210
210
  list.Name = `Recommendation Run ${recommendationRunID} Errors`;
@@ -220,7 +220,7 @@ export class RecommendationEngineBase extends BaseEngine {
220
220
  }
221
221
  return list;
222
222
  }
223
- IsNullOrUndefined(value) {
223
+ isNullOrUndefined(value) {
224
224
  return value === null || value === undefined;
225
225
  }
226
226
  }
@@ -5,7 +5,7 @@ import { RecommendationRequest, RecommendationResult } from './generic/types.js'
5
5
  * Base class for all recommendation providers
6
6
  */
7
7
  export declare abstract class RecommendationProviderBase {
8
- private _ContextUser;
8
+ private _contextUser;
9
9
  private _provider;
10
10
  constructor(ContextUser: UserInfo);
11
11
  get ContextUser(): UserInfo;
@@ -5,10 +5,10 @@ import { LogError, Metadata } from '@memberjunction/core';
5
5
  export class RecommendationProviderBase {
6
6
  constructor(ContextUser) {
7
7
  this._provider = null;
8
- this._ContextUser = ContextUser;
8
+ this._contextUser = ContextUser;
9
9
  }
10
10
  get ContextUser() {
11
- return this._ContextUser;
11
+ return this._contextUser;
12
12
  }
13
13
  /**
14
14
  * Optional metadata provider override. Callers should set
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/ai-recommendations",
3
3
  "type": "module",
4
- "version": "6.2.0-edge.0",
4
+ "version": "6.2.0-edge.2",
5
5
  "description": "MemberJunction Recommendations Engine",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -15,10 +15,10 @@
15
15
  "typescript": "^5.9.3"
16
16
  },
17
17
  "dependencies": {
18
- "@memberjunction/global": "6.2.0-edge.0",
19
- "@memberjunction/core": "6.2.0-edge.0",
20
- "@memberjunction/core-entities": "6.2.0-edge.0",
21
- "@memberjunction/ai": "6.2.0-edge.0"
18
+ "@memberjunction/global": "6.2.0-edge.2",
19
+ "@memberjunction/core": "6.2.0-edge.2",
20
+ "@memberjunction/core-entities": "6.2.0-edge.2",
21
+ "@memberjunction/ai": "6.2.0-edge.2"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",