@memberjunction/ai-recommendations 2.112.0 → 2.113.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/dist/Engine.d.ts +1 -1
- package/dist/Engine.d.ts.map +1 -1
- package/dist/Engine.js +21 -21
- package/dist/Engine.js.map +1 -1
- package/dist/ProviderBase.d.ts +1 -1
- package/dist/ProviderBase.d.ts.map +1 -1
- package/dist/ProviderBase.js +4 -4
- package/dist/ProviderBase.js.map +1 -1
- package/dist/generic/types.d.ts +2 -2
- package/dist/generic/types.d.ts.map +1 -1
- package/dist/generic/types.js +1 -1
- package/dist/generic/types.js.map +1 -1
- package/package.json +5 -4
- package/readme.md +2 -2
package/dist/Engine.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseEngine, UserInfo, IMetadataProvider } from '@memberjunction/
|
|
1
|
+
import { BaseEngine, UserInfo, IMetadataProvider } from '@memberjunction/core';
|
|
2
2
|
import { RecommendationProviderEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import { RecommendationRequest, RecommendationResult } from './generic/types';
|
|
4
4
|
/**
|
package/dist/Engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,QAAQ,EAA4C,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,QAAQ,EAA4C,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnI,OAAO,EAA0E,4BAA4B,EAA2B,MAAM,+BAA+B,CAAC;AAG9K,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE9E;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU,CAAC,wBAAwB,CAAC;IAChF,OAAO,CAAC,wBAAwB,CAAsC;IAEtE,WAAkB,QAAQ,IAAI,wBAAwB,CAErD;IAED,IAAW,uBAAuB,IAAI,4BAA4B,EAAE,CAEnE;IAEY,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAWnF,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAuE7E,yBAAyB;YA4BzB,0BAA0B;YAoE1B,6BAA6B;YAiC7B,6BAA6B;IAmB3C,OAAO,CAAC,iBAAiB;CAG1B"}
|
package/dist/Engine.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RecommendationEngineBase = void 0;
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
4
5
|
const global_1 = require("@memberjunction/global");
|
|
5
|
-
const global_2 = require("@memberjunction/global");
|
|
6
6
|
const ProviderBase_1 = require("./ProviderBase");
|
|
7
7
|
/**
|
|
8
8
|
* Engine class to be used for running all recommendation requests
|
|
9
9
|
*/
|
|
10
|
-
class RecommendationEngineBase extends
|
|
10
|
+
class RecommendationEngineBase extends core_1.BaseEngine {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this._RecommendationProviders = [];
|
|
@@ -38,14 +38,14 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
38
38
|
provider = this.RecommendationProviders[0];
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
(0,
|
|
41
|
+
(0, core_1.LogStatus)(`Recommendation Engine is using provider: ${provider.Name}`);
|
|
42
42
|
// get the driver
|
|
43
|
-
const driver =
|
|
43
|
+
const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ProviderBase_1.RecommendationProviderBase, provider.Name);
|
|
44
44
|
if (!driver) {
|
|
45
45
|
throw new Error(`Could not find driver for provider: ${provider.Name}`);
|
|
46
46
|
}
|
|
47
47
|
const recommendations = await this.GetRecommendationEntities(request);
|
|
48
|
-
(0,
|
|
48
|
+
(0, core_1.LogStatus)(`Processing ${recommendations.length} recommendations`);
|
|
49
49
|
if (recommendations.length == 0) {
|
|
50
50
|
return {
|
|
51
51
|
Success: true,
|
|
@@ -54,7 +54,7 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
54
54
|
}
|
|
55
55
|
request.Recommendations = recommendations;
|
|
56
56
|
// load the run
|
|
57
|
-
const recommendationRunEntity = await new
|
|
57
|
+
const recommendationRunEntity = await new core_1.Metadata().GetEntityObject('Recommendation Runs', request.CurrentUser);
|
|
58
58
|
recommendationRunEntity.NewRecord();
|
|
59
59
|
// update status for current run
|
|
60
60
|
recommendationRunEntity.Status = 'In Progress';
|
|
@@ -63,7 +63,7 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
63
63
|
recommendationRunEntity.RunByUserID = request.CurrentUser ? request.CurrentUser.ID : super.ContextUser.ID;
|
|
64
64
|
const saveResult = await recommendationRunEntity.Save();
|
|
65
65
|
if (!saveResult) {
|
|
66
|
-
(0,
|
|
66
|
+
(0, core_1.LogStatus)(`Error saving RecommendationRun entity: `, undefined, recommendationRunEntity.LatestResult);
|
|
67
67
|
throw new Error('Error creating Recommendation Run entity');
|
|
68
68
|
}
|
|
69
69
|
if (request.CreateErrorList) {
|
|
@@ -78,7 +78,7 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
78
78
|
recommendationRunEntity.Description = recommendResult.ErrorMessage;
|
|
79
79
|
const postRunSaveResult = await recommendationRunEntity.Save();
|
|
80
80
|
if (!postRunSaveResult) {
|
|
81
|
-
(0,
|
|
81
|
+
(0, core_1.LogStatus)(`Error saving RecommendationRun entity: `, undefined, recommendationRunEntity.LatestResult);
|
|
82
82
|
throw new Error('Error updating Recommendation Run entity');
|
|
83
83
|
}
|
|
84
84
|
return recommendResult;
|
|
@@ -107,20 +107,20 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
async GetRecommendationsByListID(listID, currentUser) {
|
|
110
|
-
const rv = new
|
|
111
|
-
const md = new
|
|
110
|
+
const rv = new core_1.RunView();
|
|
111
|
+
const md = new core_1.Metadata();
|
|
112
112
|
const rvListDetailsResult = await rv.RunViews([
|
|
113
113
|
{
|
|
114
|
-
|
|
114
|
+
EntityName: 'Lists',
|
|
115
115
|
ExtraFilter: `ID = '${listID}'`,
|
|
116
|
-
ResultType: 'simple'
|
|
116
|
+
ResultType: 'simple'
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
|
-
|
|
119
|
+
EntityName: 'List Details',
|
|
120
120
|
ExtraFilter: `ListID = '${listID}'`,
|
|
121
121
|
ResultType: 'simple',
|
|
122
122
|
IgnoreMaxRows: true,
|
|
123
|
-
}
|
|
123
|
+
}
|
|
124
124
|
], currentUser);
|
|
125
125
|
const listViewResult = rvListDetailsResult[0];
|
|
126
126
|
if (!listViewResult.Success) {
|
|
@@ -131,7 +131,7 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
131
131
|
}
|
|
132
132
|
const list = listViewResult.Results[0];
|
|
133
133
|
const entityName = list.Entity;
|
|
134
|
-
(0,
|
|
134
|
+
(0, core_1.LogStatus)(`Getting recommendations for list: ${list.Name}. Entity: ${entityName}`);
|
|
135
135
|
const entityID = list.EntityID;
|
|
136
136
|
const entity = md.Entities.find((e) => e.ID == entityID);
|
|
137
137
|
const needsQuotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : '';
|
|
@@ -163,13 +163,13 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
163
163
|
return recommendations;
|
|
164
164
|
}
|
|
165
165
|
async GetRecommendationsByRecordIDs(entityName, recordIDs, currentUser) {
|
|
166
|
-
const md = new
|
|
167
|
-
const rv = new
|
|
166
|
+
const md = new core_1.Metadata();
|
|
167
|
+
const rv = new core_1.RunView();
|
|
168
168
|
const entity = md.Entities.find((e) => e.Name.toLowerCase() == entityName.toLowerCase());
|
|
169
169
|
if (!entity) {
|
|
170
170
|
throw new Error(`Unable to get recommendations by entity info: Entity not found with name: ${entityName}`);
|
|
171
171
|
}
|
|
172
|
-
(0,
|
|
172
|
+
(0, core_1.LogStatus)(`Getting recommendations for entity: ${entityName}`);
|
|
173
173
|
const needsQuotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : '';
|
|
174
174
|
const recordIDsFilter = recordIDs.map((id) => `${needsQuotes}${id}${needsQuotes}`).join(',');
|
|
175
175
|
const rvEntityResult = await rv.RunView({
|
|
@@ -190,18 +190,18 @@ class RecommendationEngineBase extends global_1.BaseEngine {
|
|
|
190
190
|
return recommendations;
|
|
191
191
|
}
|
|
192
192
|
async CreateRecommendationErrorList(recommendationRunID, entityID, currentUser) {
|
|
193
|
-
const md = new
|
|
193
|
+
const md = new core_1.Metadata();
|
|
194
194
|
const list = await md.GetEntityObject('Lists', currentUser);
|
|
195
195
|
list.Name = `Recommendation Run ${recommendationRunID} Errors`;
|
|
196
196
|
list.EntityID = entityID;
|
|
197
197
|
list.UserID = currentUser ? currentUser.ID : super.ContextUser.ID;
|
|
198
198
|
const saveResult = await list.Save();
|
|
199
199
|
if (!saveResult) {
|
|
200
|
-
(0,
|
|
200
|
+
(0, core_1.LogError)(`Error saving Recommendation Error List entity: `, undefined, list.LatestResult);
|
|
201
201
|
return null;
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
(0,
|
|
204
|
+
(0, core_1.LogStatus)(`Error list created for recommendation run: ${recommendationRunID}. List ID: ${list.ID}`);
|
|
205
205
|
}
|
|
206
206
|
return list;
|
|
207
207
|
}
|
package/dist/Engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":"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"}
|
package/dist/ProviderBase.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RecommendationEntity, RecommendationItemEntity } from '@memberjunction/core-entities';
|
|
2
|
-
import { UserInfo } from '@memberjunction/
|
|
2
|
+
import { UserInfo } from '@memberjunction/core';
|
|
3
3
|
import { RecommendationRequest, RecommendationResult } from './generic/types';
|
|
4
4
|
/**
|
|
5
5
|
* Base class for all recommendation providers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBase.d.ts","sourceRoot":"","sources":["../src/ProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAsB,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ProviderBase.d.ts","sourceRoot":"","sources":["../src/ProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAsB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE9E;;GAEG;AACH,8BAAsB,0BAA0B;IAC9C,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,YAAY,CAAW;gBAEZ,WAAW,EAAE,QAAQ;IAKxC,IAAW,WAAW,IAAI,QAAQ,CAEjC;IAED;;;;;OAKG;aACa,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAExF;;;;;OAKG;cACa,kBAAkB,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB7I"}
|
package/dist/ProviderBase.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RecommendationProviderBase = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
5
5
|
/**
|
|
6
6
|
* Base class for all recommendation providers
|
|
7
7
|
*/
|
|
8
8
|
class RecommendationProviderBase {
|
|
9
9
|
constructor(ContextUser) {
|
|
10
10
|
this._ContextUser = ContextUser;
|
|
11
|
-
this._md = new
|
|
11
|
+
this._md = new core_1.Metadata();
|
|
12
12
|
}
|
|
13
13
|
get ContextUser() {
|
|
14
14
|
return this._ContextUser;
|
|
@@ -23,7 +23,7 @@ class RecommendationProviderBase {
|
|
|
23
23
|
recommendation.RecommendationRunID = RunID;
|
|
24
24
|
const recommendationSaveResult = await recommendation.Save();
|
|
25
25
|
if (!recommendationSaveResult) {
|
|
26
|
-
(0,
|
|
26
|
+
(0, core_1.LogError)(`Error saving recommendation for ${recommendation.ID}`, undefined, recommendation.LatestResult);
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
29
|
let allSaved = true;
|
|
@@ -31,7 +31,7 @@ class RecommendationProviderBase {
|
|
|
31
31
|
item.RecommendationID = recommendation.ID;
|
|
32
32
|
const saveResult = await item.Save();
|
|
33
33
|
if (!saveResult) {
|
|
34
|
-
(0,
|
|
34
|
+
(0, core_1.LogError)(`Error saving recommendation item for recommendation ${recommendation.ID}`, undefined, item.LatestResult);
|
|
35
35
|
allSaved = false;
|
|
36
36
|
}
|
|
37
37
|
}
|
package/dist/ProviderBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderBase.js","sourceRoot":"","sources":["../src/ProviderBase.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"ProviderBase.js","sourceRoot":"","sources":["../src/ProviderBase.ts"],"names":[],"mappings":";;;AACA,+CAAoE;AAGpE;;GAEG;AACH,MAAsB,0BAA0B;IAI9C,YAAmB,WAAqB;QACtC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,eAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAUD;;;;;OAKG;IACO,KAAK,CAAC,kBAAkB,CAAC,cAAoC,EAAE,KAAa,EAAE,KAAiC;QACvH,cAAc,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAC3C,MAAM,wBAAwB,GAAY,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACtE,IAAG,CAAC,wBAAwB,EAAE,CAAC;YAC7B,IAAA,eAAQ,EAAC,mCAAmC,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;YACzG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAY,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAG,CAAC,UAAU,EAAE,CAAC;gBACf,IAAA,eAAQ,EAAC,uDAAuD,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnH,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA/CD,gEA+CC"}
|
package/dist/generic/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { UserInfo } from
|
|
2
|
-
import { RecommendationEntity, RecommendationItemEntity, RecommendationProviderEntity, RecommendationRunEntity } from
|
|
1
|
+
import { UserInfo } from "@memberjunction/core";
|
|
2
|
+
import { RecommendationEntity, RecommendationItemEntity, RecommendationProviderEntity, RecommendationRunEntity } from "@memberjunction/core-entities";
|
|
3
3
|
/**
|
|
4
4
|
* Used to make requests to Recommendation providers
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generic/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generic/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAEtJ;;GAEG;AACH,qBAAa,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACtD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAM;IAE9C;;;OAGG;IACH,oBAAoB,CAAC,EAAE;QACnB;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;QACnB;;;WAGG;QACH,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;KACpC,CAAA;IAED,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IAExC;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC;IAEZ;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,EAAE,qBAAqB,CAAC;IAC/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,EAAE,CAAM;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;gBAET,OAAO,EAAE,qBAAqB;IAM1C;;;;OAIG;IACH,aAAa,CAAC,cAAc,EAAE,MAAM;IAIpC;;;;OAIG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM;IAKhC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;CAG/B"}
|
package/dist/generic/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generic/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generic/types.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,qBAAqB;IAAlC;QAQI;;;;WAIG;QACH,oBAAe,GAA4B,EAAE,CAAC;IA6ClD,CAAC;CAAA;AA1DD,sDA0DC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAa7B,YAAY,OAA8B;QAP1C;;WAEG;QACH,wBAAmB,GAAgC,EAAE,CAAC;QAKlD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,cAAsB;QAChC,IAAI,CAAC,YAAY,IAAI,YAAY,cAAc,KAAK,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,YAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,IAAI,UAAU,YAAY,KAAK,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACJ;AA9CD,oDA8CC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-recommendations",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.113.1",
|
|
4
4
|
"description": "MemberJunction Recommendations Engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,9 +19,10 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/global": "2.
|
|
23
|
-
"@memberjunction/core
|
|
24
|
-
"@memberjunction/
|
|
22
|
+
"@memberjunction/global": "2.113.1",
|
|
23
|
+
"@memberjunction/core": "2.113.1",
|
|
24
|
+
"@memberjunction/core-entities": "2.113.1",
|
|
25
|
+
"@memberjunction/ai": "2.113.1"
|
|
25
26
|
},
|
|
26
27
|
"repository": {
|
|
27
28
|
"type": "git",
|
package/readme.md
CHANGED
|
@@ -49,7 +49,7 @@ Abstract base class for implementing recommendation providers:
|
|
|
49
49
|
|
|
50
50
|
```typescript
|
|
51
51
|
import { RecommendationProviderBase, RecommendationRequest, RecommendationResult } from '@memberjunction/ai-recommendations';
|
|
52
|
-
import { UserInfo } from '@memberjunction/
|
|
52
|
+
import { UserInfo } from '@memberjunction/core';
|
|
53
53
|
import { RecommendationItemEntity } from '@memberjunction/core-entities';
|
|
54
54
|
|
|
55
55
|
export class MyRecommendationProvider extends RecommendationProviderBase {
|
|
@@ -234,4 +234,4 @@ This package integrates with the MemberJunction ecosystem:
|
|
|
234
234
|
|
|
235
235
|
## License
|
|
236
236
|
|
|
237
|
-
ISC
|
|
237
|
+
ISC
|