@memberjunction/ai-vector-sync 3.4.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.
Files changed (51) hide show
  1. package/dist/config.js +14 -20
  2. package/dist/config.js.map +1 -1
  3. package/dist/db/db.d.ts +1 -1
  4. package/dist/db/db.d.ts.map +1 -1
  5. package/dist/db/db.js +8 -33
  6. package/dist/db/db.js.map +1 -1
  7. package/dist/db/dbAI.d.ts +1 -1
  8. package/dist/db/dbAI.d.ts.map +1 -1
  9. package/dist/db/dbAI.js +8 -33
  10. package/dist/db/dbAI.js.map +1 -1
  11. package/dist/generic/EntityDocumenTemplateParserBase.d.ts +12 -0
  12. package/dist/generic/EntityDocumenTemplateParserBase.d.ts.map +1 -1
  13. package/dist/generic/EntityDocumenTemplateParserBase.js +29 -12
  14. package/dist/generic/EntityDocumenTemplateParserBase.js.map +1 -1
  15. package/dist/generic/EntityDocumentTemplateParser.d.ts +16 -1
  16. package/dist/generic/EntityDocumentTemplateParser.d.ts.map +1 -1
  17. package/dist/generic/EntityDocumentTemplateParser.js +34 -16
  18. package/dist/generic/EntityDocumentTemplateParser.js.map +1 -1
  19. package/dist/generic/entitySyncConfig.types.d.ts +25 -0
  20. package/dist/generic/entitySyncConfig.types.d.ts.map +1 -1
  21. package/dist/generic/entitySyncConfig.types.js +1 -2
  22. package/dist/generic/vectorSync.types.d.ts +20 -0
  23. package/dist/generic/vectorSync.types.d.ts.map +1 -1
  24. package/dist/generic/vectorSync.types.js +1 -2
  25. package/dist/index.d.ts +4 -4
  26. package/dist/index.js +4 -20
  27. package/dist/index.js.map +1 -1
  28. package/dist/models/BatchWorker.d.ts +33 -2
  29. package/dist/models/BatchWorker.d.ts.map +1 -1
  30. package/dist/models/BatchWorker.js +30 -16
  31. package/dist/models/BatchWorker.js.map +1 -1
  32. package/dist/models/EntityDocumentCache.d.ts +3 -0
  33. package/dist/models/EntityDocumentCache.d.ts.map +1 -1
  34. package/dist/models/EntityDocumentCache.js +17 -17
  35. package/dist/models/EntityDocumentCache.js.map +1 -1
  36. package/dist/models/PagedRecords.d.ts +10 -1
  37. package/dist/models/PagedRecords.d.ts.map +1 -1
  38. package/dist/models/PagedRecords.js +13 -6
  39. package/dist/models/PagedRecords.js.map +1 -1
  40. package/dist/models/entityVectorSync.d.ts +32 -1
  41. package/dist/models/entityVectorSync.d.ts.map +1 -1
  42. package/dist/models/entityVectorSync.js +133 -73
  43. package/dist/models/entityVectorSync.js.map +1 -1
  44. package/dist/models/workers/UpsertVectors.d.ts.map +1 -1
  45. package/dist/models/workers/UpsertVectors.js +12 -17
  46. package/dist/models/workers/UpsertVectors.js.map +1 -1
  47. package/dist/models/workers/VectorizeTemplates.js +23 -20
  48. package/dist/models/workers/VectorizeTemplates.js.map +1 -1
  49. package/dist/models/workers/upserter.js +5 -8
  50. package/dist/models/workers/upserter.js.map +1 -1
  51. package/package.json +19 -18
@@ -1,30 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityVectorSyncer = void 0;
4
- const ai_1 = require("@memberjunction/ai");
5
- const ai_vectordb_1 = require("@memberjunction/ai-vectordb");
6
- const ai_vectors_1 = require("@memberjunction/ai-vectors");
7
- const core_1 = require("@memberjunction/core");
8
- const global_1 = require("@memberjunction/global");
9
- const promises_1 = require("node:stream/promises");
10
- const BatchWorker_1 = require("./BatchWorker");
11
- const EntityDocumentCache_1 = require("./EntityDocumentCache");
12
- const PagedRecords_1 = require("./PagedRecords");
13
- const node_path_1 = require("node:path");
14
- const node_stream_1 = require("node:stream");
15
- const aiengine_1 = require("@memberjunction/aiengine");
16
- const templates_1 = require("@memberjunction/templates");
17
- class EntityVectorSyncer extends ai_vectors_1.VectorBase {
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 EntityDocumentCache_1.EntityDocumentCache.Instance.Refresh(forceRefresh, contextUser);
26
- await aiengine_1.AIEngine.Instance.Config(forceRefresh, contextUser);
27
- await templates_1.TemplateEngineServer.Instance.Config(forceRefresh, contextUser);
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 templates_1.TemplateEngineServer.Instance.Config(false, contextUser);
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 core_1.Metadata();
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
- (0, core_1.LogStatus)(`Vectorizing entity ${entity.Name} using Entity Document ${entityDocument.Name}`);
46
- const template = templates_1.TemplateEngineServer.Instance.Templates.find((t) => t.ID === entityDocument.TemplateID);
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 PagedRecords_1.PagedRecords();
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
- const VectorCreator = new BatchWorker_1.BatchWorker({
76
- workerFile: (0, node_path_1.resolve)(__dirname, 'workers/VectorizeTemplates.js'),
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
- (0, core_1.LogError)('Error in VectorCreator worker', null, err);
88
+ LogError('Error in VectorCreator worker', null, err);
84
89
  });
85
- const VectorUpserter = new BatchWorker_1.BatchWorker({
86
- workerFile: (0, node_path_1.resolve)(__dirname, 'workers/UpsertVectors.js'),
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
- (0, core_1.LogError)('Error in VectorUpserter worker', null, err);
98
+ LogError('Error in VectorUpserter worker', null, err);
93
99
  });
94
- const ERCUpserter = new node_stream_1.Transform({ objectMode: true, transform: (chunk, encoding, callback) => {
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
- (0, core_1.LogStatus)(`Starting at offset ${params.StartingOffset} (skipping first ${pageNumber} records)`);
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
- (0, core_1.LogStatus)(`Fetched page ${pageNumber + 1} with ${recordsPage.length} records to process`);
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
- (0, core_1.LogStatus)('Starting pipeline');
138
- await (0, promises_1.pipeline)(dataStream, VectorCreator, VectorUpserter, ERCUpserter, new node_stream_1.PassThrough({ objectMode: true }));
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
- (0, core_1.LogStatus)(`Finished vectorizing ${entityDocument.Entity} entity in ${elapsedSeconds} seconds (${elapsedMinutes} minutes)`);
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 core_1.Metadata();
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 core_1.RunView();
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 = EntityDocumentCache_1.EntityDocumentCache.Instance.GetDocument(entityDocumentID);
202
+ let entityDocument = EntityDocumentCache.Instance.GetDocument(entityDocumentID);
184
203
  if (!entityDocument) {
185
204
  if (createDocumentIfNotFound) {
186
- (0, core_1.LogStatus)(`No active Entity Document found for entity ${entityDocumentID}, creating one`);
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 = (0, ai_1.GetAIAPIKey)(aiModelEntity.DriverClass);
198
- const vectorDBAPIKey = (0, ai_1.GetAIAPIKey)(vectorDBEntity.ClassKey);
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
- const embedding = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseEmbeddings, aiModelEntity.DriverClass, embeddingAPIKey);
206
- const vectorDB = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_vectordb_1.VectorDBBase, vectorDBEntity.ClassKey, vectorDBAPIKey);
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
- (0, core_1.LogStatus)(`Using vector database ${vectorDBEntity.Name} and AI Model ${aiModelEntity.Name}`);
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 = EntityDocumentCache_1.EntityDocumentCache.Instance;
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 = EntityDocumentCache_1.EntityDocumentCache.Instance;
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 EntityDocumentCache_1.EntityDocumentCache.Instance.Refresh(false, super.CurrentUser);
240
- const entityDocumentType = EntityDocumentCache_1.EntityDocumentCache.Instance.GetDocumentTypeByName('Record Duplicate');
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
- (0, core_1.LogStatus)(`No Vector Index found for entityDocument ${entityDocument.ID}, creating one`);
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
- (0, core_1.LogStatus)(`Successfully created new Vector Index Entity`);
312
+ LogStatus(`Successfully created new Vector Index Entity`);
285
313
  return vectorIndexEntity;
286
314
  }
287
315
  else {
288
- (0, core_1.LogError)('Error saving Vector Index Entity');
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
- (0, core_1.LogError)(err);
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
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateEntity.LatestResult);
336
+ LogError('Error saving Template Entity', undefined, templateEntity.LatestResult);
309
337
  throw new Error(templateEntity.LatestResult.CompleteMessage);
310
338
  }
311
- (0, core_1.LogStatus)(`Successfully created new Template Entity ${templateEntity.ID}`);
312
- await templates_1.TemplateEngineServer.Instance.Config(false, super.CurrentUser);
313
- const textContentType = templates_1.TemplateEngineServer.Instance.TemplateContentTypes.find((type) => type.Name === 'Text');
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
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
356
+ LogError('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
328
357
  throw new Error(templateContentsEntity.LatestResult.CompleteMessage);
329
358
  }
330
- (0, core_1.LogStatus)(`Successfully created new Template Content Entity ${templateContentsEntity.ID}`);
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
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
376
+ LogError('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
347
377
  throw new Error(templateParamsEntity.LatestResult.CompleteMessage);
348
378
  }
349
- (0, core_1.LogStatus)(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
379
+ LogStatus(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
350
380
  templateEntity.Content.push(templateContentsEntity);
351
381
  templateEntity.Params.push(templateParamsEntity);
352
- templates_1.TemplateEngineServer.Instance.AddTemplate(templateEntity);
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
- (0, core_1.LogError)(`No related data found for param ${param.Name} in template ${template.ID}`);
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
- (0, core_1.LogError)(`Unsupported parameter type ${param.Type} for parameter ${param.Name} in template ${template.ID}`);
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
- (0, core_1.LogError)(`Error getting related data for entity ${relatedEntity} with filter ${finalFilter}`, undefined, result.ErrorMessage);
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
- (0, core_1.LogError)(`Vector Index with ID ${embeddingData.VectorIndexID} not found`);
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
- (0, core_1.LogError)(`Error getting existing Entity Record Documents`, undefined, runViewResult.ErrorMessage);
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
- (0, core_1.LogError)('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
507
+ LogError('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
467
508
  }
468
509
  else {
469
- (0, core_1.LogStatus)("Upserting Entity Record Documents: Complete");
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":";;;AAAA,2CAAiE;AACjE,6DAA2D;AAC3D,2DAA2E;AAC3E,+CAA4I;AAG5I,mDAAkD;AAClD,mDAAgD;AAEhD,+CAA4C;AAC5C,+DAA4D;AAC5D,iDAA8C;AAC9C,yCAAoC;AACpC,6CAAqD;AACrD,uDAAoD;AACpD,yDAAiE;AAKjE,MAAa,kBAAmB,SAAQ,uBAAU;IAChD,UAAU,CAAO;IACjB,QAAQ,CAAO;IAEf;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,YAAqB,EAAE,WAAsB;QAC/D,KAAK,CAAC,WAAW,CAAC;QAClB,MAAM,yCAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,gCAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAA6B,EAAE,WAAsB;QAChF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAW,GAAG,CAAC;QAChC,MAAM,SAAS,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,MAAM,gCAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAyB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnG,MAAM,iBAAiB,GAAsB,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,oDAAoD,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEzH,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,QAAQ,aAAa,CAAC,CAAC;QAClE,CAAC;QAED,IAAA,gBAAS,EAAC,sBAAsB,MAAM,CAAC,IAAI,0BAA0B,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5F,MAAM,QAAQ,GAAuC,gCAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC;QACrK,IAAG,CAAC,QAAQ,EAAC,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,EAAE,sDAAsD,CAAC,CAAC;QACjG,CAAC;QAED,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QAGD,MAAM,aAAa,GAAY,IAAI,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAEpF,MAAM,QAAQ,GAAW,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,2BAAY,EAAE,CAAC;QAEtC,IAAI,WAAW,GAAO;YACpB,GAAG,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC3C,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,MAAM;YACN,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE;YACnC,QAAQ,EAAE,WAAW;YACrB,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,WAAW;SACZ,CAAC;QAGF,MAAM,aAAa,GAAG,IAAI,yBAAW,CAAC;YACpC,UAAU,EAAE,IAAA,mBAAO,EAAC,SAAS,EAAE,+BAA+B,CAAC;YAC/D,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;YAC3C,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa;SACd,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAChC,IAAA,eAAQ,EAAC,+BAA+B,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,IAAI,yBAAW,CAAC;YACrC,UAAU,EAAE,IAAA,mBAAO,EAAC,SAAS,EAAE,0BAA0B,CAAC;YAC1D,SAAS,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa;SACd,CAAC,CAAC;QAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACjC,IAAA,eAAQ,EAAC,gCAAgC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAIH,MAAM,WAAW,GAAG,IAAI,uBAAS,CAAC,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC5F,IAAI,CAAC,iCAAiC,CAAC,KAAsB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/H,CAAC,EAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACxC,IAAI,UAAU,GAAI,CAAC,CAAC;YAEpB,IAAG,MAAM,CAAC,cAAc,EAAC,CAAC;gBACxB,UAAU,GAAG,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC9C,IAAA,gBAAS,EAAC,sBAAsB,MAAM,CAAC,cAAc,oBAAoB,UAAU,WAAW,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,EAAE,CAAC;gBACf,IAAI,iBAAiB,GAAsB;oBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,QAAQ;iBACrB,CAAC;gBAEF,IAAG,MAAM,CAAC,MAAM,EAAC,CAAC;oBAChB,MAAM,UAAU,GAAW,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC1D,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrF,CAAC;gBAED,MAAM,WAAW,GAAc,MAAM,KAAK,CAAC,qBAAqB,CAAU,iBAAiB,CAAC,CAAC;gBAC7F,MAAM,WAAW,GAAwB,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClH,MAAM,KAAK,GAA0B,EAAE,CAAC;gBAExC,IAAA,gBAAS,EAAC,gBAAgB,UAAU,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;gBAE1F,KAAI,MAAM,MAAM,IAAI,WAAW,EAAC,CAAC;oBAC/B,MAAM,YAAY,GAA+B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAEnH,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjE,YAAY,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE/G,YAAY,CAAC,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;oBAClD,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAChE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,CAAC;gBAED,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACjC,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;gBAED,UAAU,EAAE,CAAC;YACf,CAAC;YAED,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,CAAC,CAAC;QAGF,OAAO,EAAE,CAAC;QAEV,IAAA,gBAAS,EAAC,mBAAmB,CAAC,CAAC;QAC/B,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,yBAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9G,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAG7C,MAAM,cAAc,GAAW,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAC5D,MAAM,cAAc,GAAW,cAAc,GAAG,EAAE,CAAC;QAEnD,IAAA,gBAAS,EAAC,wBAAwB,cAAc,CAAC,MAAM,cAAc,cAAc,aAAa,cAAc,WAAW,CAAC,CAAC;QAC3H,OAAO,IAAI,CAAC;IACd,CAAC;IASM,KAAK,CAAC,2BAA2B,CACtC,QAAgB,EAChB,cAAoC,EACpC,OAAsB;QAEtB,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,aAAa,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAClD,OAAO,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,EAAE,GAAY,IAAI,cAAO,EAAE,CAAC;QAClC,MAAM,QAAQ,GAA4C,MAAM,EAAE,CAAC,OAAO,CAA2B;YACnG,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,2BAA2B;SACzC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,kBAAkB,GAA6B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAyB,MAAM,EAAE,CAAC,eAAe,CAAuB,kBAAkB,CAAC,CAAC;QAChH,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,GAAG,oDAAoD,MAAM,CAAC,IAAI,iCAAiC,cAAc,CAAC,IAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC;QACzK,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnC,cAAc,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,MAAM,GAAG,QAAQ,CAAC;QACjC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACvC,cAAc,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;QACpD,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oDAAoD,CAAE,gBAAwB,EAAE,wBAAkC;QAChI,IAAI,cAAc,GAAgC,yCAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC7G,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,wBAAwB,EAAE,CAAC;gBAC3B,IAAA,gBAAS,EAAC,8CAA8C,gBAAgB,gBAAgB,CAAC,CAAC;gBAC1F,MAAM,eAAe,GAAyB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvE,MAAM,cAAc,GAAkB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxD,cAAc,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;YAC/G,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAyB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACrG,MAAM,aAAa,GAAkB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/E,MAAM,eAAe,GAAW,IAAA,gBAAW,EAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,cAAc,GAAW,IAAA,gBAAW,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEpE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,KAAK,CAAC,iCAAiC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,wCAAwC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;QAGD,MAAM,SAAS,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAiB,mBAAc,EAAE,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC5I,MAAM,QAAQ,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAe,0BAAY,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEpI,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,qDAAqD,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC,iDAAiD,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAA,gBAAS,EAAC,yBAAyB,cAAc,CAAC,IAAI,iBAAiB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7F,MAAM,GAAG,GAAuB;YAC9B,SAAS;YACT,QAAQ;YACR,gBAAgB,EAAE,cAAc,CAAC,QAAQ;YACzC,cAAc,EAAE,cAAc;YAC9B,oBAAoB,EAAE,aAAa,CAAC,WAAW;YAC/C,eAAe,EAAE,eAAe;SACjC,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,gBAAwB;QACrD,MAAM,KAAK,GAAG,yCAAmB,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,kBAA0B,EAAE,WAAsB;QACrF,MAAM,KAAK,GAAG,yCAAmB,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAQM,KAAK,CAAC,wBAAwB,CAAC,WAAsB;QAC1D,MAAM,yCAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,kBAAkB,GAAyC,yCAAmB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QACxI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,MAAM,GAAG,aAAa,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;QAC1E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,mBAAmB,WAAW,CAAC,GAAG,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACvG,CAAC;QAED,MAAM,aAAa,GAAwC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAuB;YAC3G,UAAU,EAAE,kBAAkB;YAC9B,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,eAAe;SAC5B,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtB,IAAG,CAAC,aAAa,CAAC,OAAO,EAAC,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,eAAe,GAA2B,EAAE,CAAC;QACjD,IAAI,YAAY,GAAa,EAAE,CAAC;QAGhC,KAAI,MAAM,cAAc,IAAI,aAAa,CAAC,OAAO,EAAC,CAAC;YACjD,IAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,cAAoC;QACvE,IAAI,iBAAiB,GAAsB,MAAM,KAAK,CAAC,qBAAqB,CAC1E,gBAAgB,EAChB,uBAAuB,cAAc,CAAC,gBAAgB,6BAA6B,cAAc,CAAC,SAAS,GAAG,CAC/G,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,IAAA,gBAAS,EAAC,4CAA4C,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACzF,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAoB,gBAAgB,CAAC,CAAC;YAC9F,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAC9B,iBAAiB,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;YACrE,iBAAiB,CAAC,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC;YAC9D,iBAAiB,CAAC,IAAI,GAAG,mCAAmC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACtF,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3D,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YAE7D,iBAAiB,CAAC,WAAW,GAAG,8CAA8C,cAAc,CAAC,gBAAgB,QAAQ,cAAc,CAAC,SAAS,yBAAyB,CAAC;YACvK,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,IAAA,gBAAS,EAAC,8CAA8C,CAAC,CAAC;gBAC1D,OAAO,iBAAiB,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAA,eAAQ,EAAC,kCAAkC,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,KAAK,CAAC,+BAA+B,CAAC,cAAoC;QAClF,MAAM,cAAc,GAA2B,MAAM,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAyB,WAAW,CAAC,CAAC;QACzH,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,GAAG,+BAA+B,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC/E,cAAc,CAAC,WAAW,GAAG,uCAAuC,cAAc,CAAC,EAAE,EAAE,CAAA;QACvF,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;QAEjC,MAAM,wBAAwB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxE,IAAG,CAAC,wBAAwB,EAAC,CAAC;YAC5B,IAAA,eAAQ,EAAC,8BAA8B,EAAE,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC;QACD,IAAA,gBAAS,EAAC,4CAA4C,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;QAG3E,MAAM,gCAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,eAAe,GAA8B,gCAAoB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACtK,IAAG,CAAC,eAAe,EAAC,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,YAAY,GAAkB,MAAM,IAAI,CAAC,kCAAkC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3G,MAAM,sBAAsB,GAA0B,MAAM,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAwB,mBAAmB,CAAC,CAAC;QACvI,sBAAsB,CAAC,SAAS,EAAE,CAAC;QACnC,sBAAsB,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;QACtD,sBAAsB,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;QACnD,sBAAsB,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAE9E,MAAM,gCAAgC,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACxF,IAAG,CAAC,gCAAgC,EAAC,CAAC;YACpC,IAAA,eAAQ,EAAC,8BAA8B,EAAE,SAAS,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QACD,IAAA,gBAAS,EAAC,oDAAoD,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC;QAG3F,MAAM,oBAAoB,GAAwB,MAAM,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAsB,iBAAiB,CAAC,CAAC;QAC/H,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACjC,oBAAoB,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;QACpD,oBAAoB,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrC,oBAAoB,CAAC,WAAW,GAAG,8CAA8C,CAAC;QAClF,oBAAoB,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrC,oBAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;QACzC,oBAAoB,CAAC,UAAU,GAAG,IAAI,CAAC;QACvC,oBAAoB,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChD,oBAAoB,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjD,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;QACxC,oBAAoB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QACxD,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErC,MAAM,8BAA8B,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACpF,IAAG,CAAC,8BAA8B,EAAC,CAAC;YAClC,IAAA,eAAQ,EAAC,8BAA8B,EAAE,SAAS,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC;QACD,IAAA,gBAAS,EAAC,kDAAkD,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjD,gCAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAES,oBAAoB,CAAC,YAA2B;QACxD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAkB,EAAE,EAAE;YAC7C,OAAO,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAES,KAAK,CAAC,kCAAkC,CAAC,QAAgB;QAIjE,MAAM,aAAa,GAA+B,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAc;YACzF,UAAU,EAAE,eAAe;YAC3B,WAAW,EAAE,eAAe,QAAQ,8GAA8G;YAClJ,UAAU,EAAE,eAAe;SAC5B,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,MAAkB,EAAE,MAAe,EAAE,QAAgC,EAAE,WAAgC;QACrI,MAAM,YAAY,GAA+B,EAAE,CAAC;QACpD,KAAI,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAC,CAAC;YAClC,IAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,QAAO,KAAK,CAAC,IAAI,EAAC,CAAC;gBACjB,KAAK,QAAQ;oBAEX,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBAGX,MAAM,SAAS,GAAkC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1H,IAAG,CAAC,SAAS,EAAC,CAAC;wBACb,IAAA,eAAQ,EAAC,mCAAmC,KAAK,CAAC,IAAI,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrF,MAAM;oBACR,CAAC;oBAGD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjJ,MAAM;gBACN,KAAK,OAAO,CAAC;gBACb,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBAET,IAAA,eAAQ,EAAC,8BAA8B,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,IAAI,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5G,MAAM;YACd,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,8BAA8B,CAAC,MAAkB,EAAE,OAAkB,EAAE,QAAgC;QACrH,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,KAAI,MAAM,aAAa,IAAI,QAAQ,CAAC,MAAM,EAAC,CAAC;YAC1C,IAAG,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;YAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC;YAGxD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,GAAG,YAAY,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAe,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAChJ,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,UAAU,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1G,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAU;gBAChD,UAAU,EAAE,aAAa;gBACzB,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,QAAQ;aACvB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAEtB,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAsB,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC5D,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI;oBACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBACI,CAAC;gBACJ,IAAA,eAAQ,EAAC,yCAAyC,aAAa,gBAAgB,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAIS,KAAK,CAAC,iCAAiC,CAAC,aAA4B,EAAE,WAAqB;QACnG,IAAI,EAAE,GAAa,KAAK,CAAC,QAAQ,CAAC;QAClC,IAAI,EAAE,GAAY,KAAK,CAAC,OAAO,CAAC;QAEhC,IAAI,WAAW,GAAsB,MAAM,EAAE,CAAC,eAAe,CAAoB,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAChH,IAAI,aAAa,GAAW,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACnE,IAAI,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,IAAG,CAAC,UAAU,EAAC,CAAC;YACd,IAAA,eAAQ,EAAC,wBAAwB,aAAa,CAAC,aAAa,YAAY,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,cAAc,GAA4B,aAAa,CAAC,cAAc,CAAC;QAC3E,IAAI,QAAQ,GAAY,cAAc,CAAC,QAAQ,CAAC;QAEhD,IAAI,eAAe,GAAiB,EAAE,CAAC;QACvC,MAAM,aAAa,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAa;YAC5E,UAAU,EAAE,yBAAyB;YACrC,WAAW,EAAE,eAAe,QAAQ,6BAA6B,cAAc,CAAC,EAAE,uBAAuB,aAAa,CAAC,aAAa,IAAI;YACxI,UAAU,EAAE,eAAe;SAC5B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAG,aAAa,CAAC,OAAO,EAAC,CAAC;YACxB,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC;QAC1C,CAAC;aACI,CAAC;YACJ,IAAA,eAAQ,EAAC,gDAAgD,EAAE,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,SAAS,GAA2B,eAAe,CAAC,IAAI,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3J,IAAG,CAAC,SAAS,EAAC,CAAC;YACb,SAAS,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,yBAAyB,EAAE,WAAW,CAAC,CAAC;YACzF,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC7D,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,SAAS,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAE3C,IAAI,mBAAmB,GAAY,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAG,CAAC,mBAAmB,EAAC,CAAC;YACvB,IAAA,eAAQ,EAAC,4CAA4C,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5F,CAAC;aACG,CAAC;YACH,IAAA,gBAAS,EAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAOS,qCAAqC,CAAC,QAAgC;QAE9E,MAAM,UAAU,GAA0C,EAAE,CAAC;QAC7D,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAoC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9E,IAAG,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAC,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,6CAA6C,CAAC,CAAC;YACxF,CAAC;iBACI,CAAC;gBACJ,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;YACjD,CAAC;QACH,CAAC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;IAOS,eAAe,CAAC,MAAkB,EAAE,iBAAyB,EAAE,MAAc;QACrF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAEvC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAG7B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,OAAO,GAAG,OAAO,6BAA6B,iBAAiB,kCAAkC,MAAM,IAAI,CAAC;QAC9G,CAAC;aAAM,CAAC;YAKN,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBAChD,MAAM,gBAAgB,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC;gBACzC,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC,IAAI,qBAAqB,CAAC;gBACzD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,OAAO,GAAG,gBAAgB,MAAM,UAAU,EAAE,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,UAAU,gBAAgB,MAAM,UAAU,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAGjD,OAAO;wBACW,iBAAiB;6BACZ,MAAM;6BACN,gBAAgB;QACrC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAnpBD,gDAmpBC"}
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":"AAYA,wBAAsB,mBAAmB,kBAsCxC"}
1
+ {"version":3,"file":"UpsertVectors.d.ts","sourceRoot":"","sources":["../../../src/models/workers/UpsertVectors.ts"],"names":[],"mappings":"AASA,wBAAsB,mBAAmB,kBAsCxC"}