@memberjunction/ai-vector-sync 3.3.0 → 4.0.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/dist/config.js +14 -20
- package/dist/config.js.map +1 -1
- package/dist/db/db.d.ts +1 -1
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/db.js +8 -33
- package/dist/db/db.js.map +1 -1
- package/dist/db/dbAI.d.ts +1 -1
- package/dist/db/dbAI.d.ts.map +1 -1
- package/dist/db/dbAI.js +8 -33
- package/dist/db/dbAI.js.map +1 -1
- package/dist/generic/EntityDocumenTemplateParserBase.d.ts +12 -0
- package/dist/generic/EntityDocumenTemplateParserBase.d.ts.map +1 -1
- package/dist/generic/EntityDocumenTemplateParserBase.js +29 -12
- package/dist/generic/EntityDocumenTemplateParserBase.js.map +1 -1
- package/dist/generic/EntityDocumentTemplateParser.d.ts +16 -1
- package/dist/generic/EntityDocumentTemplateParser.d.ts.map +1 -1
- package/dist/generic/EntityDocumentTemplateParser.js +34 -16
- package/dist/generic/EntityDocumentTemplateParser.js.map +1 -1
- package/dist/generic/entitySyncConfig.types.d.ts +25 -0
- package/dist/generic/entitySyncConfig.types.d.ts.map +1 -1
- package/dist/generic/entitySyncConfig.types.js +1 -2
- package/dist/generic/vectorSync.types.d.ts +20 -0
- package/dist/generic/vectorSync.types.d.ts.map +1 -1
- package/dist/generic/vectorSync.types.js +1 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -20
- package/dist/index.js.map +1 -1
- package/dist/models/BatchWorker.d.ts +33 -2
- package/dist/models/BatchWorker.d.ts.map +1 -1
- package/dist/models/BatchWorker.js +30 -16
- package/dist/models/BatchWorker.js.map +1 -1
- package/dist/models/EntityDocumentCache.d.ts +3 -0
- package/dist/models/EntityDocumentCache.d.ts.map +1 -1
- package/dist/models/EntityDocumentCache.js +17 -17
- package/dist/models/EntityDocumentCache.js.map +1 -1
- package/dist/models/PagedRecords.d.ts +10 -1
- package/dist/models/PagedRecords.d.ts.map +1 -1
- package/dist/models/PagedRecords.js +13 -6
- package/dist/models/PagedRecords.js.map +1 -1
- package/dist/models/entityVectorSync.d.ts +32 -1
- package/dist/models/entityVectorSync.d.ts.map +1 -1
- package/dist/models/entityVectorSync.js +133 -73
- package/dist/models/entityVectorSync.js.map +1 -1
- package/dist/models/workers/UpsertVectors.d.ts.map +1 -1
- package/dist/models/workers/UpsertVectors.js +12 -17
- package/dist/models/workers/UpsertVectors.js.map +1 -1
- package/dist/models/workers/VectorizeTemplates.js +23 -20
- package/dist/models/workers/VectorizeTemplates.js.map +1 -1
- package/dist/models/workers/upserter.js +5 -8
- package/dist/models/workers/upserter.js.map +1 -1
- package/package.json +19 -18
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class EntityVectorSyncer extends
|
|
18
|
-
_startTime;
|
|
19
|
-
_endTime;
|
|
1
|
+
import { BaseEmbeddings, GetAIAPIKey } from '@memberjunction/ai';
|
|
2
|
+
import { VectorDBBase } from '@memberjunction/ai-vectordb';
|
|
3
|
+
import { VectorBase } from '@memberjunction/ai-vectors';
|
|
4
|
+
import { LogError, LogStatus, Metadata, RunView } from '@memberjunction/core';
|
|
5
|
+
import { MJGlobal } from '@memberjunction/global';
|
|
6
|
+
import { pipeline } from 'node:stream/promises';
|
|
7
|
+
import { BatchWorker } from './BatchWorker.js';
|
|
8
|
+
import { EntityDocumentCache } from './EntityDocumentCache.js';
|
|
9
|
+
import { PagedRecords } from './PagedRecords.js';
|
|
10
|
+
import { resolve } from 'node:path';
|
|
11
|
+
import { PassThrough, Transform } from 'node:stream';
|
|
12
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
13
|
+
import { TemplateEngineServer } from '@memberjunction/templates';
|
|
14
|
+
/**
|
|
15
|
+
* Class that specializes in vectorizing entities using embedding models and upserting them into Vector Databases
|
|
16
|
+
*/
|
|
17
|
+
export class EntityVectorSyncer extends VectorBase {
|
|
20
18
|
constructor() {
|
|
21
19
|
super();
|
|
22
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Refreshes the EntityDocumentCache and configures the AIEngine and TemplateEngineServer
|
|
23
|
+
* @param forceRefresh If true, the cache and enginges will be refreshed even if it is already loaded
|
|
24
|
+
* @param contextUser The context user to use to refresh the cache and configure the engines
|
|
25
|
+
*/
|
|
23
26
|
async Config(forceRefresh, contextUser) {
|
|
24
27
|
super.CurrentUser;
|
|
25
|
-
await
|
|
26
|
-
await
|
|
27
|
-
await
|
|
28
|
+
await EntityDocumentCache.Instance.Refresh(forceRefresh, contextUser);
|
|
29
|
+
await AIEngine.Instance.Config(forceRefresh, contextUser);
|
|
30
|
+
await TemplateEngineServer.Instance.Config(forceRefresh, contextUser);
|
|
28
31
|
}
|
|
29
32
|
async VectorizeEntity(params, contextUser) {
|
|
30
33
|
if (!contextUser) {
|
|
@@ -33,17 +36,17 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
33
36
|
const delayTimeMS = 250;
|
|
34
37
|
const startTime = new Date().getTime();
|
|
35
38
|
super.CurrentUser = contextUser;
|
|
36
|
-
await
|
|
39
|
+
await TemplateEngineServer.Instance.Config(false, contextUser);
|
|
37
40
|
const entityDocument = await this.GetEntityDocument(params.entityDocumentID);
|
|
38
41
|
const vectorIndexEntity = await this.GetOrCreateVectorIndex(entityDocument);
|
|
39
42
|
const obj = await this.GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(params.entityDocumentID);
|
|
40
|
-
const md = new
|
|
43
|
+
const md = new Metadata();
|
|
41
44
|
const entity = md.Entities.find((e) => e.ID === params.entityID);
|
|
42
45
|
if (!entity) {
|
|
43
46
|
throw new Error(`Entity with ID ${params.entityID} not found.`);
|
|
44
47
|
}
|
|
45
|
-
|
|
46
|
-
const template =
|
|
48
|
+
LogStatus(`Vectorizing entity ${entity.Name} using Entity Document ${entityDocument.Name}`);
|
|
49
|
+
const template = TemplateEngineServer.Instance.Templates.find((t) => t.ID === entityDocument.TemplateID);
|
|
47
50
|
if (!template) {
|
|
48
51
|
throw new Error(`Template not found with ID ${entityDocument.TemplateID}`);
|
|
49
52
|
}
|
|
@@ -53,9 +56,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
53
56
|
if (template.Content.length > 1) {
|
|
54
57
|
throw new Error('Templates used by Entity Documents should only have one associated Template Content record.');
|
|
55
58
|
}
|
|
59
|
+
//If this function doesnt throw an error, then the template is valid
|
|
56
60
|
const validTemplate = this.ValidateTemplateContextParamAlignment(template);
|
|
57
61
|
const pageSize = params.listBatchCount || 50;
|
|
58
|
-
const dataStream = new
|
|
62
|
+
const dataStream = new PagedRecords();
|
|
59
63
|
let templateObj = {
|
|
60
64
|
...template.GetAll(),
|
|
61
65
|
Params: template.Params.map((p) => p.To())
|
|
@@ -72,33 +76,37 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
72
76
|
embeddingAPIKey: obj.embeddingAPIKey,
|
|
73
77
|
delayTimeMS
|
|
74
78
|
};
|
|
75
|
-
|
|
76
|
-
|
|
79
|
+
//Handles vectorizing the records
|
|
80
|
+
const VectorCreator = new BatchWorker({
|
|
81
|
+
workerFile: resolve(__dirname, 'workers/VectorizeTemplates.js'),
|
|
77
82
|
batchSize: params.VectorizeBatchCount || 50,
|
|
78
83
|
concurrencyLimit: 2,
|
|
79
84
|
contextUser: super.CurrentUser,
|
|
80
85
|
workerContext,
|
|
81
86
|
});
|
|
82
87
|
VectorCreator.on('error', (err) => {
|
|
83
|
-
|
|
88
|
+
LogError('Error in VectorCreator worker', null, err);
|
|
84
89
|
});
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
//Handles upserting the vectors into the vector database
|
|
91
|
+
const VectorUpserter = new BatchWorker({
|
|
92
|
+
workerFile: resolve(__dirname, 'workers/UpsertVectors.js'),
|
|
87
93
|
batchSize: params.UpsertBatchCount || 50,
|
|
88
94
|
contextUser: super.CurrentUser,
|
|
89
95
|
workerContext
|
|
90
96
|
});
|
|
91
97
|
VectorUpserter.on('error', (err) => {
|
|
92
|
-
|
|
98
|
+
LogError('Error in VectorUpserter worker', null, err);
|
|
93
99
|
});
|
|
94
|
-
|
|
100
|
+
//short for entity record document upserter
|
|
101
|
+
// handles upserting entity record document records
|
|
102
|
+
const ERCUpserter = new Transform({ objectMode: true, transform: (chunk, encoding, callback) => {
|
|
95
103
|
this.UpsertEntityRecordDocumentRecords(chunk, super.CurrentUser).then(() => callback(null)).catch(callback);
|
|
96
104
|
} });
|
|
97
105
|
const getData = async () => {
|
|
98
106
|
let pageNumber = 0;
|
|
99
107
|
if (params.StartingOffset) {
|
|
100
108
|
pageNumber = params.StartingOffset * pageSize;
|
|
101
|
-
|
|
109
|
+
LogStatus(`Starting at offset ${params.StartingOffset} (skipping first ${pageNumber} records)`);
|
|
102
110
|
}
|
|
103
111
|
let hasMore = true;
|
|
104
112
|
while (hasMore) {
|
|
@@ -115,11 +123,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
115
123
|
const recordsPage = await super.PageRecordsByEntityID(pageRecordRequest);
|
|
116
124
|
const relatedData = await this.GetRelatedTemplateDataForBatch(entity, recordsPage, template);
|
|
117
125
|
const items = [];
|
|
118
|
-
|
|
126
|
+
LogStatus(`Fetched page ${pageNumber + 1} with ${recordsPage.length} records to process`);
|
|
119
127
|
for (const record of recordsPage) {
|
|
120
128
|
const templateData = await this.GetTemplateData(entity, record, template, relatedData);
|
|
129
|
+
//we need a reference to this record's ID for the upsert worker
|
|
121
130
|
templateData.__mj_recordID = record[entity.FirstPrimaryKey.Name];
|
|
122
131
|
templateData.__mj_compositeKey = entity.PrimaryKeys.map((key) => `${key.Name}|${record[key.Name]}`).join("||");
|
|
132
|
+
//we also need a reference to the vector index's ID
|
|
123
133
|
templateData.VectorIndexID = vectorIndexEntity.ID;
|
|
124
134
|
templateData.TemplateContent = template.Content[0].TemplateText;
|
|
125
135
|
items.push(templateData);
|
|
@@ -133,24 +143,33 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
133
143
|
}
|
|
134
144
|
dataStream.endStream();
|
|
135
145
|
};
|
|
146
|
+
// page data asynchrounously and add to the data stream
|
|
136
147
|
getData();
|
|
137
|
-
|
|
138
|
-
await
|
|
148
|
+
LogStatus('Starting pipeline');
|
|
149
|
+
await pipeline(dataStream, VectorCreator, VectorUpserter, ERCUpserter, new PassThrough({ objectMode: true }));
|
|
139
150
|
const endTime = new Date().getTime();
|
|
151
|
+
//convert ms to seconds
|
|
140
152
|
const elapsedSeconds = (endTime - startTime) / 1000;
|
|
141
153
|
const elapsedMinutes = elapsedSeconds / 60;
|
|
142
|
-
|
|
154
|
+
LogStatus(`Finished vectorizing ${entityDocument.Entity} entity in ${elapsedSeconds} seconds (${elapsedMinutes} minutes)`);
|
|
143
155
|
return null;
|
|
144
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* This method will create a default Entity Document for the given entityID, vectorDatabase, and AIModel
|
|
159
|
+
* @param entityID
|
|
160
|
+
* @param vectorDatabase
|
|
161
|
+
* @param AIModel
|
|
162
|
+
* @returns
|
|
163
|
+
*/
|
|
145
164
|
async CreateDefaultEntityDocument(EntityID, VectorDatabase, AIModel) {
|
|
146
|
-
const md = new
|
|
165
|
+
const md = new Metadata();
|
|
147
166
|
const entity = md.Entities.find((e) => e.ID === EntityID);
|
|
148
167
|
if (!entity)
|
|
149
168
|
throw new Error(`Entity with ID ${EntityID} not found.`);
|
|
150
169
|
const EDTemplate = entity.Fields.map((ef) => {
|
|
151
170
|
return `${ef.Name}: \$\{${ef.Name}\}`;
|
|
152
171
|
}).join(' ');
|
|
153
|
-
const rv = new
|
|
172
|
+
const rv = new RunView();
|
|
154
173
|
const rvResult = await rv.RunView({
|
|
155
174
|
EntityName: 'Entity Document Types',
|
|
156
175
|
ExtraFilter: `Name = 'Record Duplicate'`,
|
|
@@ -180,10 +199,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
180
199
|
}
|
|
181
200
|
}
|
|
182
201
|
async GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(entityDocumentID, createDocumentIfNotFound) {
|
|
183
|
-
let entityDocument =
|
|
202
|
+
let entityDocument = EntityDocumentCache.Instance.GetDocument(entityDocumentID);
|
|
184
203
|
if (!entityDocument) {
|
|
185
204
|
if (createDocumentIfNotFound) {
|
|
186
|
-
|
|
205
|
+
LogStatus(`No active Entity Document found for entity ${entityDocumentID}, creating one`);
|
|
187
206
|
const defaultVectorDB = this.GetVectorDatabase();
|
|
188
207
|
const defaultAIModel = this.GetAIModel();
|
|
189
208
|
entityDocument = await this.CreateDefaultEntityDocument(entityDocumentID, defaultVectorDB, defaultAIModel);
|
|
@@ -194,23 +213,24 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
194
213
|
}
|
|
195
214
|
const vectorDBEntity = this.GetVectorDatabase(entityDocument.VectorDatabaseID);
|
|
196
215
|
const aiModelEntity = this.GetAIModel(entityDocument.AIModelID);
|
|
197
|
-
const embeddingAPIKey =
|
|
198
|
-
const vectorDBAPIKey =
|
|
216
|
+
const embeddingAPIKey = GetAIAPIKey(aiModelEntity.DriverClass);
|
|
217
|
+
const vectorDBAPIKey = GetAIAPIKey(vectorDBEntity.ClassKey);
|
|
199
218
|
if (!embeddingAPIKey) {
|
|
200
219
|
throw Error(`No API Key found for AI Model ${aiModelEntity.DriverClass}`);
|
|
201
220
|
}
|
|
202
221
|
if (!vectorDBAPIKey) {
|
|
203
222
|
throw Error(`No API Key found for Vector Database ${vectorDBEntity.ClassKey}`);
|
|
204
223
|
}
|
|
205
|
-
|
|
206
|
-
const
|
|
224
|
+
//LogStatus(`Embedding API Key: ${embeddingAPIKey} VectorDB API Key: ${vectorDBAPIKey}`);
|
|
225
|
+
const embedding = MJGlobal.Instance.ClassFactory.CreateInstance(BaseEmbeddings, aiModelEntity.DriverClass, embeddingAPIKey);
|
|
226
|
+
const vectorDB = MJGlobal.Instance.ClassFactory.CreateInstance(VectorDBBase, vectorDBEntity.ClassKey, vectorDBAPIKey);
|
|
207
227
|
if (!embedding) {
|
|
208
228
|
throw Error(`Failed to create Embeddings instance for AI Model ${aiModelEntity.DriverClass}`);
|
|
209
229
|
}
|
|
210
230
|
if (!vectorDB) {
|
|
211
231
|
throw Error(`Failed to create Vector Database instance for ${vectorDBEntity.ClassKey}`);
|
|
212
232
|
}
|
|
213
|
-
|
|
233
|
+
LogStatus(`Using vector database ${vectorDBEntity.Name} and AI Model ${aiModelEntity.Name}`);
|
|
214
234
|
const obj = {
|
|
215
235
|
embedding,
|
|
216
236
|
vectorDB,
|
|
@@ -222,22 +242,28 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
222
242
|
return obj;
|
|
223
243
|
}
|
|
224
244
|
async GetEntityDocument(EntityDocumentID) {
|
|
225
|
-
const cache =
|
|
245
|
+
const cache = EntityDocumentCache.Instance;
|
|
226
246
|
if (!cache.IsLoaded) {
|
|
227
247
|
await cache.Refresh(false, super.CurrentUser);
|
|
228
248
|
}
|
|
229
249
|
return cache.GetDocument(EntityDocumentID);
|
|
230
250
|
}
|
|
231
251
|
async GetEntityDocumentByName(EntityDocumentName, ContextUser) {
|
|
232
|
-
const cache =
|
|
252
|
+
const cache = EntityDocumentCache.Instance;
|
|
233
253
|
if (!cache.IsLoaded) {
|
|
234
254
|
await cache.Refresh(false, ContextUser);
|
|
235
255
|
}
|
|
236
256
|
return cache.GetDocumentByName(EntityDocumentName);
|
|
237
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Returns all active Entity Documents of the 'Record Duplicate' type.
|
|
260
|
+
* Note that this only returns the first active Entity Document. Meaning if there are multiple Entity Documents for the same entity,
|
|
261
|
+
* only the oldest one will be returned.
|
|
262
|
+
* @param entityIDs If provided, only Entity Documents for the specified entities will be returned.
|
|
263
|
+
*/
|
|
238
264
|
async GetActiveEntityDocuments(entityNames) {
|
|
239
|
-
await
|
|
240
|
-
const entityDocumentType =
|
|
265
|
+
await EntityDocumentCache.Instance.Refresh(false, super.CurrentUser);
|
|
266
|
+
const entityDocumentType = EntityDocumentCache.Instance.GetDocumentTypeByName('Record Duplicate');
|
|
241
267
|
if (!entityDocumentType) {
|
|
242
268
|
throw new Error('Entity Document Type not found');
|
|
243
269
|
}
|
|
@@ -255,6 +281,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
255
281
|
}
|
|
256
282
|
let entityDocuments = [];
|
|
257
283
|
let seenEntities = [];
|
|
284
|
+
//we only want one entity document per entity
|
|
258
285
|
for (const entityDocument of runViewResult.Results) {
|
|
259
286
|
if (seenEntities.includes(entityDocument.EntityID)) {
|
|
260
287
|
continue;
|
|
@@ -269,7 +296,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
269
296
|
if (vectorIndexEntity) {
|
|
270
297
|
return vectorIndexEntity;
|
|
271
298
|
}
|
|
272
|
-
|
|
299
|
+
LogStatus(`No Vector Index found for entityDocument ${entityDocument.ID}, creating one`);
|
|
273
300
|
try {
|
|
274
301
|
vectorIndexEntity = await super.Metadata.GetEntityObject('Vector Indexes');
|
|
275
302
|
vectorIndexEntity.NewRecord();
|
|
@@ -278,20 +305,21 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
278
305
|
vectorIndexEntity.Name = `Vector Index for entityDocument ${entityDocument.EntityID}`;
|
|
279
306
|
vectorIndexEntity.Set('EntityRecordUpdatedAt', new Date());
|
|
280
307
|
vectorIndexEntity.Set('EntityDocumentID', entityDocument.ID);
|
|
308
|
+
//not a very descriptive description, but the view has the name of the vectorDB and embedding model used
|
|
281
309
|
vectorIndexEntity.Description = `Vector Index that uses the Vector database ${entityDocument.VectorDatabaseID} and ${entityDocument.AIModelID} as the embedding model`;
|
|
282
310
|
const saveResult = await super.SaveEntity(vectorIndexEntity);
|
|
283
311
|
if (saveResult) {
|
|
284
|
-
|
|
312
|
+
LogStatus(`Successfully created new Vector Index Entity`);
|
|
285
313
|
return vectorIndexEntity;
|
|
286
314
|
}
|
|
287
315
|
else {
|
|
288
|
-
|
|
316
|
+
LogError('Error saving Vector Index Entity');
|
|
289
317
|
return null;
|
|
290
318
|
}
|
|
291
319
|
}
|
|
292
320
|
catch (err) {
|
|
293
321
|
console.error(JSON.stringify(err));
|
|
294
|
-
|
|
322
|
+
LogError(err);
|
|
295
323
|
return null;
|
|
296
324
|
}
|
|
297
325
|
}
|
|
@@ -305,12 +333,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
305
333
|
templateEntity.CategoryID = null;
|
|
306
334
|
const templateEntitySaveResult = await super.SaveEntity(templateEntity);
|
|
307
335
|
if (!templateEntitySaveResult) {
|
|
308
|
-
|
|
336
|
+
LogError('Error saving Template Entity', undefined, templateEntity.LatestResult);
|
|
309
337
|
throw new Error(templateEntity.LatestResult.CompleteMessage);
|
|
310
338
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
339
|
+
LogStatus(`Successfully created new Template Entity ${templateEntity.ID}`);
|
|
340
|
+
//next, create the template contents record
|
|
341
|
+
await TemplateEngineServer.Instance.Config(false, super.CurrentUser);
|
|
342
|
+
const textContentType = TemplateEngineServer.Instance.TemplateContentTypes.find((type) => type.Name === 'Text');
|
|
314
343
|
if (!textContentType) {
|
|
315
344
|
throw new Error('Text template content type not found');
|
|
316
345
|
}
|
|
@@ -324,10 +353,11 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
324
353
|
templateContentsEntity.TemplateText = this.BuildTemplateContent(entityFields);
|
|
325
354
|
const templateContentsEntitySaveResult = await super.SaveEntity(templateContentsEntity);
|
|
326
355
|
if (!templateContentsEntitySaveResult) {
|
|
327
|
-
|
|
356
|
+
LogError('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
|
|
328
357
|
throw new Error(templateContentsEntity.LatestResult.CompleteMessage);
|
|
329
358
|
}
|
|
330
|
-
|
|
359
|
+
LogStatus(`Successfully created new Template Content Entity ${templateContentsEntity.ID}`);
|
|
360
|
+
//next, create the template params record
|
|
331
361
|
const templateParamsEntity = await super.Metadata.GetEntityObject('Template Params');
|
|
332
362
|
templateParamsEntity.NewRecord();
|
|
333
363
|
templateParamsEntity.TemplateID = templateEntity.ID;
|
|
@@ -343,13 +373,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
343
373
|
templateParamsEntity.RecordID = null;
|
|
344
374
|
const templateParamsEntitySaveResult = await super.SaveEntity(templateParamsEntity);
|
|
345
375
|
if (!templateParamsEntitySaveResult) {
|
|
346
|
-
|
|
376
|
+
LogError('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
|
|
347
377
|
throw new Error(templateParamsEntity.LatestResult.CompleteMessage);
|
|
348
378
|
}
|
|
349
|
-
|
|
379
|
+
LogStatus(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
|
|
350
380
|
templateEntity.Content.push(templateContentsEntity);
|
|
351
381
|
templateEntity.Params.push(templateParamsEntity);
|
|
352
|
-
|
|
382
|
+
TemplateEngineServer.Instance.AddTemplate(templateEntity);
|
|
353
383
|
return templateEntity;
|
|
354
384
|
}
|
|
355
385
|
BuildTemplateContent(entityFields) {
|
|
@@ -358,6 +388,9 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
358
388
|
}).join(' ');
|
|
359
389
|
}
|
|
360
390
|
async GetEntityFieldsForSimilaritySearch(entityID) {
|
|
391
|
+
//We only want fields that can potentially be the same across records
|
|
392
|
+
//which means things such as IDs, timestamps, etc. are not useful
|
|
393
|
+
//as they're likely to be unique or not that helpful in determining similarity
|
|
361
394
|
const runViewResult = await super.RunView.RunView({
|
|
362
395
|
EntityName: 'Entity Fields',
|
|
363
396
|
ExtraFilter: `EntityID = '${entityID}' AND IsPrimaryKey = 0 AND IsUnique = 0 AND AutoIncrement = 0 and Type NOT IN ('datetimeoffset', 'datetime')`,
|
|
@@ -376,20 +409,25 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
376
409
|
}
|
|
377
410
|
switch (param.Type) {
|
|
378
411
|
case 'Record':
|
|
412
|
+
// this one is simple, we create a property by the provided name, and set the value to the record we are currently processing
|
|
379
413
|
templateData[param.Name] = record;
|
|
380
414
|
break;
|
|
381
415
|
case 'Entity':
|
|
416
|
+
// here we need to grab the related data from another entity and filter it down for the record we are current processing so it only shows the related data
|
|
417
|
+
// the metadata in the param tells us what we need to know
|
|
382
418
|
const paramData = relatedData.find((rd) => rd.ParamName === param.Name);
|
|
383
419
|
if (!paramData) {
|
|
384
|
-
|
|
420
|
+
LogError(`No related data found for param ${param.Name} in template ${template.ID}`);
|
|
385
421
|
break;
|
|
386
422
|
}
|
|
423
|
+
// now filter down the data in d to just this record and set the value of the context data to the filtered data
|
|
387
424
|
templateData[param.Name] = paramData.Data.filter((rdfr) => rdfr[param.LinkedParameterField] === record[entity.FirstPrimaryKey.Name]);
|
|
388
425
|
break;
|
|
389
426
|
case "Array":
|
|
390
427
|
case "Scalar":
|
|
391
428
|
case "Object":
|
|
392
|
-
|
|
429
|
+
// do nothing here, as we don't directly support these param types
|
|
430
|
+
LogError(`Unsupported parameter type ${param.Type} for parameter ${param.Name} in template ${template.ID}`);
|
|
393
431
|
break;
|
|
394
432
|
}
|
|
395
433
|
}
|
|
@@ -403,6 +441,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
403
441
|
}
|
|
404
442
|
const relatedEntity = templateParam.Entity;
|
|
405
443
|
const relatedField = templateParam.LinkedParameterField;
|
|
444
|
+
// construct a filter for the related field so that we constrain the results to just the set of records linked to our recipients
|
|
406
445
|
const quotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : "";
|
|
407
446
|
const filter = `${relatedField} in (${records.map((record) => `${quotes}${record[entity.FirstPrimaryKey.Name]}${quotes}`).join(',')})`;
|
|
408
447
|
const finalFilter = templateParam.ExtraFilter ? `(${filter}) AND (${templateParam.ExtraFilter})` : filter;
|
|
@@ -418,11 +457,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
418
457
|
relatedData.push(data);
|
|
419
458
|
}
|
|
420
459
|
else {
|
|
421
|
-
|
|
460
|
+
LogError(`Error getting related data for entity ${relatedEntity} with filter ${finalFilter}`, undefined, result.ErrorMessage);
|
|
422
461
|
}
|
|
423
462
|
}
|
|
424
463
|
return relatedData;
|
|
425
464
|
}
|
|
465
|
+
// Rather than having this logic inside the EntityRecordDocumentWorker class, it's placed here instead
|
|
466
|
+
//so that the logic behind vectorizing entities isnt spread out across so many files
|
|
426
467
|
async UpsertEntityRecordDocumentRecords(embeddingData, contextUser) {
|
|
427
468
|
let md = super.Metadata;
|
|
428
469
|
let rv = super.RunView;
|
|
@@ -430,7 +471,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
430
471
|
let vectorIndexID = embeddingData.VectorIndexID.toString();
|
|
431
472
|
let loadResult = await vectorIndex.Load(vectorIndexID);
|
|
432
473
|
if (!loadResult) {
|
|
433
|
-
|
|
474
|
+
LogError(`Vector Index with ID ${embeddingData.VectorIndexID} not found`);
|
|
434
475
|
return;
|
|
435
476
|
}
|
|
436
477
|
let entityDocument = embeddingData.EntityDocument;
|
|
@@ -445,7 +486,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
445
486
|
existingRecords = runViewResult.Results;
|
|
446
487
|
}
|
|
447
488
|
else {
|
|
448
|
-
|
|
489
|
+
LogError(`Error getting existing Entity Record Documents`, undefined, runViewResult.ErrorMessage);
|
|
449
490
|
}
|
|
450
491
|
let erdEntity = existingRecords.find((er) => er.Get("RecordID").toString() === embeddingData.__mj_recordID.toString());
|
|
451
492
|
if (!erdEntity) {
|
|
@@ -463,16 +504,23 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
463
504
|
erdEntity.ContextCurrentUser = contextUser;
|
|
464
505
|
let erdEntitySaveResult = await erdEntity.Save();
|
|
465
506
|
if (!erdEntitySaveResult) {
|
|
466
|
-
|
|
507
|
+
LogError('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
|
|
467
508
|
}
|
|
468
509
|
else {
|
|
469
|
-
|
|
510
|
+
LogStatus("Upserting Entity Record Documents: Complete");
|
|
470
511
|
}
|
|
471
512
|
}
|
|
513
|
+
/**
|
|
514
|
+
* This method is resposnible for determining if the template(s) given have aligned parameters, meaning they don't have overlapping parameter names that have
|
|
515
|
+
* different meanings. It is okay for scenarios where there are > 1 template in use for a message to have different parameter names, but if they have the SAME parameter names
|
|
516
|
+
* they must not have different settings.
|
|
517
|
+
*/
|
|
472
518
|
ValidateTemplateContextParamAlignment(template) {
|
|
519
|
+
// the params are defined in each template they will be in the Params property of the template
|
|
473
520
|
const seenParams = {};
|
|
474
521
|
for (const templateParam of template.Params) {
|
|
475
522
|
const param = seenParams[templateParam.Name];
|
|
523
|
+
// we have a duplicate parameter name, now we need to check if the definitions are the same
|
|
476
524
|
if (param && param.Type !== templateParam.Type) {
|
|
477
525
|
throw new Error(`Parameter ${param.Name} has different types in different templates`);
|
|
478
526
|
}
|
|
@@ -480,15 +528,27 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
480
528
|
seenParams[templateParam.Name] = templateParam;
|
|
481
529
|
}
|
|
482
530
|
}
|
|
531
|
+
// if we get here, we are good, otherwise we will have thrown an exception
|
|
483
532
|
return true;
|
|
484
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* Build the SQL filter to select records that are in the given list.
|
|
536
|
+
* For single PK entities, uses a simple IN clause.
|
|
537
|
+
* For composite PK entities, uses an EXISTS clause that concatenates PK columns to match the RecordID format.
|
|
538
|
+
*/
|
|
485
539
|
buildListFilter(entity, listDetailsSchema, listId) {
|
|
486
540
|
const primaryKeys = entity.PrimaryKeys;
|
|
487
541
|
if (primaryKeys.length === 1) {
|
|
542
|
+
// Simple case: single primary key
|
|
543
|
+
// Use a simple IN clause matching the first PK field
|
|
488
544
|
const pkField = primaryKeys[0].Name;
|
|
489
545
|
return `${pkField} IN (SELECT RecordID FROM ${listDetailsSchema}.vwListDetails WHERE ListID = '${listId}')`;
|
|
490
546
|
}
|
|
491
547
|
else {
|
|
548
|
+
// Composite key case: need to match concatenated key format
|
|
549
|
+
// RecordID format is "Field1|Value1||Field2|Value2" (using CompositeKey delimiters)
|
|
550
|
+
// Build SQL expression that concatenates the PK fields in the same format
|
|
551
|
+
// Format: 'Field1|' + CAST(Value1 AS NVARCHAR(MAX)) + '||' + 'Field2|' + CAST(Value2 AS NVARCHAR(MAX))
|
|
492
552
|
const concatParts = primaryKeys.map((pk, index) => {
|
|
493
553
|
const fieldNameLiteral = `'${pk.Name}|'`;
|
|
494
554
|
const fieldValue = `CAST([${pk.Name}] AS NVARCHAR(MAX))`;
|
|
@@ -500,6 +560,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
500
560
|
}
|
|
501
561
|
});
|
|
502
562
|
const compositeKeyExpr = concatParts.join(' + ');
|
|
563
|
+
// Use EXISTS with a subquery that matches the concatenated key against RecordID
|
|
503
564
|
return `EXISTS (
|
|
504
565
|
SELECT 1 FROM ${listDetailsSchema}.vwListDetails ld
|
|
505
566
|
WHERE ld.ListID = '${listId}'
|
|
@@ -508,5 +569,4 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
508
569
|
}
|
|
509
570
|
}
|
|
510
571
|
}
|
|
511
|
-
exports.EntityVectorSyncer = EntityVectorSyncer;
|
|
512
572
|
//# sourceMappingURL=entityVectorSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityVectorSync.js","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entityVectorSync.js","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpsertVectors.d.ts","sourceRoot":"","sources":["../../../src/models/workers/UpsertVectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpsertVectors.d.ts","sourceRoot":"","sources":["../../../src/models/workers/UpsertVectors.ts"],"names":[],"mappings":"AASA,wBAAsB,mBAAmB,kBAsCxC"}
|