@memberjunction/ai-vector-sync 3.4.0 → 4.1.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 (52) hide show
  1. package/README.md +255 -178
  2. package/dist/config.js +14 -20
  3. package/dist/config.js.map +1 -1
  4. package/dist/db/db.d.ts +1 -1
  5. package/dist/db/db.d.ts.map +1 -1
  6. package/dist/db/db.js +8 -33
  7. package/dist/db/db.js.map +1 -1
  8. package/dist/db/dbAI.d.ts +1 -1
  9. package/dist/db/dbAI.d.ts.map +1 -1
  10. package/dist/db/dbAI.js +8 -33
  11. package/dist/db/dbAI.js.map +1 -1
  12. package/dist/generic/EntityDocumenTemplateParserBase.d.ts +12 -0
  13. package/dist/generic/EntityDocumenTemplateParserBase.d.ts.map +1 -1
  14. package/dist/generic/EntityDocumenTemplateParserBase.js +29 -12
  15. package/dist/generic/EntityDocumenTemplateParserBase.js.map +1 -1
  16. package/dist/generic/EntityDocumentTemplateParser.d.ts +16 -1
  17. package/dist/generic/EntityDocumentTemplateParser.d.ts.map +1 -1
  18. package/dist/generic/EntityDocumentTemplateParser.js +34 -16
  19. package/dist/generic/EntityDocumentTemplateParser.js.map +1 -1
  20. package/dist/generic/entitySyncConfig.types.d.ts +25 -0
  21. package/dist/generic/entitySyncConfig.types.d.ts.map +1 -1
  22. package/dist/generic/entitySyncConfig.types.js +1 -2
  23. package/dist/generic/vectorSync.types.d.ts +20 -0
  24. package/dist/generic/vectorSync.types.d.ts.map +1 -1
  25. package/dist/generic/vectorSync.types.js +1 -2
  26. package/dist/index.d.ts +4 -4
  27. package/dist/index.js +4 -20
  28. package/dist/index.js.map +1 -1
  29. package/dist/models/BatchWorker.d.ts +33 -2
  30. package/dist/models/BatchWorker.d.ts.map +1 -1
  31. package/dist/models/BatchWorker.js +30 -16
  32. package/dist/models/BatchWorker.js.map +1 -1
  33. package/dist/models/EntityDocumentCache.d.ts +3 -0
  34. package/dist/models/EntityDocumentCache.d.ts.map +1 -1
  35. package/dist/models/EntityDocumentCache.js +17 -17
  36. package/dist/models/EntityDocumentCache.js.map +1 -1
  37. package/dist/models/PagedRecords.d.ts +10 -1
  38. package/dist/models/PagedRecords.d.ts.map +1 -1
  39. package/dist/models/PagedRecords.js +13 -6
  40. package/dist/models/PagedRecords.js.map +1 -1
  41. package/dist/models/entityVectorSync.d.ts +32 -1
  42. package/dist/models/entityVectorSync.d.ts.map +1 -1
  43. package/dist/models/entityVectorSync.js +136 -73
  44. package/dist/models/entityVectorSync.js.map +1 -1
  45. package/dist/models/workers/UpsertVectors.d.ts.map +1 -1
  46. package/dist/models/workers/UpsertVectors.js +12 -17
  47. package/dist/models/workers/UpsertVectors.js.map +1 -1
  48. package/dist/models/workers/VectorizeTemplates.js +23 -20
  49. package/dist/models/workers/VectorizeTemplates.js.map +1 -1
  50. package/dist/models/workers/upserter.js +5 -8
  51. package/dist/models/workers/upserter.js.map +1 -1
  52. package/package.json +19 -18
@@ -1,30 +1,36 @@
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, dirname } from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+ import { PassThrough, Transform } from 'node:stream';
15
+ import { AIEngine } from '@memberjunction/aiengine';
16
+ import { TemplateEngineServer } from '@memberjunction/templates';
17
+ /**
18
+ * Class that specializes in vectorizing entities using embedding models and upserting them into Vector Databases
19
+ */
20
+ export class EntityVectorSyncer extends VectorBase {
20
21
  constructor() {
21
22
  super();
22
23
  }
24
+ /**
25
+ * Refreshes the EntityDocumentCache and configures the AIEngine and TemplateEngineServer
26
+ * @param forceRefresh If true, the cache and enginges will be refreshed even if it is already loaded
27
+ * @param contextUser The context user to use to refresh the cache and configure the engines
28
+ */
23
29
  async Config(forceRefresh, contextUser) {
24
30
  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);
31
+ await EntityDocumentCache.Instance.Refresh(forceRefresh, contextUser);
32
+ await AIEngine.Instance.Config(forceRefresh, contextUser);
33
+ await TemplateEngineServer.Instance.Config(forceRefresh, contextUser);
28
34
  }
29
35
  async VectorizeEntity(params, contextUser) {
30
36
  if (!contextUser) {
@@ -33,17 +39,17 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
33
39
  const delayTimeMS = 250;
34
40
  const startTime = new Date().getTime();
35
41
  super.CurrentUser = contextUser;
36
- await templates_1.TemplateEngineServer.Instance.Config(false, contextUser);
42
+ await TemplateEngineServer.Instance.Config(false, contextUser);
37
43
  const entityDocument = await this.GetEntityDocument(params.entityDocumentID);
38
44
  const vectorIndexEntity = await this.GetOrCreateVectorIndex(entityDocument);
39
45
  const obj = await this.GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(params.entityDocumentID);
40
- const md = new core_1.Metadata();
46
+ const md = new Metadata();
41
47
  const entity = md.Entities.find((e) => e.ID === params.entityID);
42
48
  if (!entity) {
43
49
  throw new Error(`Entity with ID ${params.entityID} not found.`);
44
50
  }
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);
51
+ LogStatus(`Vectorizing entity ${entity.Name} using Entity Document ${entityDocument.Name}`);
52
+ const template = TemplateEngineServer.Instance.Templates.find((t) => t.ID === entityDocument.TemplateID);
47
53
  if (!template) {
48
54
  throw new Error(`Template not found with ID ${entityDocument.TemplateID}`);
49
55
  }
@@ -53,9 +59,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
53
59
  if (template.Content.length > 1) {
54
60
  throw new Error('Templates used by Entity Documents should only have one associated Template Content record.');
55
61
  }
62
+ //If this function doesnt throw an error, then the template is valid
56
63
  const validTemplate = this.ValidateTemplateContextParamAlignment(template);
57
64
  const pageSize = params.listBatchCount || 50;
58
- const dataStream = new PagedRecords_1.PagedRecords();
65
+ const dataStream = new PagedRecords();
59
66
  let templateObj = {
60
67
  ...template.GetAll(),
61
68
  Params: template.Params.map((p) => p.To())
@@ -72,33 +79,37 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
72
79
  embeddingAPIKey: obj.embeddingAPIKey,
73
80
  delayTimeMS
74
81
  };
75
- const VectorCreator = new BatchWorker_1.BatchWorker({
76
- workerFile: (0, node_path_1.resolve)(__dirname, 'workers/VectorizeTemplates.js'),
82
+ //Handles vectorizing the records
83
+ const VectorCreator = new BatchWorker({
84
+ workerFile: resolve(__dirname, 'workers/VectorizeTemplates.js'),
77
85
  batchSize: params.VectorizeBatchCount || 50,
78
86
  concurrencyLimit: 2,
79
87
  contextUser: super.CurrentUser,
80
88
  workerContext,
81
89
  });
82
90
  VectorCreator.on('error', (err) => {
83
- (0, core_1.LogError)('Error in VectorCreator worker', null, err);
91
+ LogError('Error in VectorCreator worker', null, err);
84
92
  });
85
- const VectorUpserter = new BatchWorker_1.BatchWorker({
86
- workerFile: (0, node_path_1.resolve)(__dirname, 'workers/UpsertVectors.js'),
93
+ //Handles upserting the vectors into the vector database
94
+ const VectorUpserter = new BatchWorker({
95
+ workerFile: resolve(__dirname, 'workers/UpsertVectors.js'),
87
96
  batchSize: params.UpsertBatchCount || 50,
88
97
  contextUser: super.CurrentUser,
89
98
  workerContext
90
99
  });
91
100
  VectorUpserter.on('error', (err) => {
92
- (0, core_1.LogError)('Error in VectorUpserter worker', null, err);
101
+ LogError('Error in VectorUpserter worker', null, err);
93
102
  });
94
- const ERCUpserter = new node_stream_1.Transform({ objectMode: true, transform: (chunk, encoding, callback) => {
103
+ //short for entity record document upserter
104
+ // handles upserting entity record document records
105
+ const ERCUpserter = new Transform({ objectMode: true, transform: (chunk, encoding, callback) => {
95
106
  this.UpsertEntityRecordDocumentRecords(chunk, super.CurrentUser).then(() => callback(null)).catch(callback);
96
107
  } });
97
108
  const getData = async () => {
98
109
  let pageNumber = 0;
99
110
  if (params.StartingOffset) {
100
111
  pageNumber = params.StartingOffset * pageSize;
101
- (0, core_1.LogStatus)(`Starting at offset ${params.StartingOffset} (skipping first ${pageNumber} records)`);
112
+ LogStatus(`Starting at offset ${params.StartingOffset} (skipping first ${pageNumber} records)`);
102
113
  }
103
114
  let hasMore = true;
104
115
  while (hasMore) {
@@ -115,11 +126,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
115
126
  const recordsPage = await super.PageRecordsByEntityID(pageRecordRequest);
116
127
  const relatedData = await this.GetRelatedTemplateDataForBatch(entity, recordsPage, template);
117
128
  const items = [];
118
- (0, core_1.LogStatus)(`Fetched page ${pageNumber + 1} with ${recordsPage.length} records to process`);
129
+ LogStatus(`Fetched page ${pageNumber + 1} with ${recordsPage.length} records to process`);
119
130
  for (const record of recordsPage) {
120
131
  const templateData = await this.GetTemplateData(entity, record, template, relatedData);
132
+ //we need a reference to this record's ID for the upsert worker
121
133
  templateData.__mj_recordID = record[entity.FirstPrimaryKey.Name];
122
134
  templateData.__mj_compositeKey = entity.PrimaryKeys.map((key) => `${key.Name}|${record[key.Name]}`).join("||");
135
+ //we also need a reference to the vector index's ID
123
136
  templateData.VectorIndexID = vectorIndexEntity.ID;
124
137
  templateData.TemplateContent = template.Content[0].TemplateText;
125
138
  items.push(templateData);
@@ -133,24 +146,33 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
133
146
  }
134
147
  dataStream.endStream();
135
148
  };
149
+ // page data asynchrounously and add to the data stream
136
150
  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 }));
151
+ LogStatus('Starting pipeline');
152
+ await pipeline(dataStream, VectorCreator, VectorUpserter, ERCUpserter, new PassThrough({ objectMode: true }));
139
153
  const endTime = new Date().getTime();
154
+ //convert ms to seconds
140
155
  const elapsedSeconds = (endTime - startTime) / 1000;
141
156
  const elapsedMinutes = elapsedSeconds / 60;
142
- (0, core_1.LogStatus)(`Finished vectorizing ${entityDocument.Entity} entity in ${elapsedSeconds} seconds (${elapsedMinutes} minutes)`);
157
+ LogStatus(`Finished vectorizing ${entityDocument.Entity} entity in ${elapsedSeconds} seconds (${elapsedMinutes} minutes)`);
143
158
  return null;
144
159
  }
160
+ /**
161
+ * This method will create a default Entity Document for the given entityID, vectorDatabase, and AIModel
162
+ * @param entityID
163
+ * @param vectorDatabase
164
+ * @param AIModel
165
+ * @returns
166
+ */
145
167
  async CreateDefaultEntityDocument(EntityID, VectorDatabase, AIModel) {
146
- const md = new core_1.Metadata();
168
+ const md = new Metadata();
147
169
  const entity = md.Entities.find((e) => e.ID === EntityID);
148
170
  if (!entity)
149
171
  throw new Error(`Entity with ID ${EntityID} not found.`);
150
172
  const EDTemplate = entity.Fields.map((ef) => {
151
173
  return `${ef.Name}: \$\{${ef.Name}\}`;
152
174
  }).join(' ');
153
- const rv = new core_1.RunView();
175
+ const rv = new RunView();
154
176
  const rvResult = await rv.RunView({
155
177
  EntityName: 'Entity Document Types',
156
178
  ExtraFilter: `Name = 'Record Duplicate'`,
@@ -180,10 +202,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
180
202
  }
181
203
  }
182
204
  async GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(entityDocumentID, createDocumentIfNotFound) {
183
- let entityDocument = EntityDocumentCache_1.EntityDocumentCache.Instance.GetDocument(entityDocumentID);
205
+ let entityDocument = EntityDocumentCache.Instance.GetDocument(entityDocumentID);
184
206
  if (!entityDocument) {
185
207
  if (createDocumentIfNotFound) {
186
- (0, core_1.LogStatus)(`No active Entity Document found for entity ${entityDocumentID}, creating one`);
208
+ LogStatus(`No active Entity Document found for entity ${entityDocumentID}, creating one`);
187
209
  const defaultVectorDB = this.GetVectorDatabase();
188
210
  const defaultAIModel = this.GetAIModel();
189
211
  entityDocument = await this.CreateDefaultEntityDocument(entityDocumentID, defaultVectorDB, defaultAIModel);
@@ -194,23 +216,24 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
194
216
  }
195
217
  const vectorDBEntity = this.GetVectorDatabase(entityDocument.VectorDatabaseID);
196
218
  const aiModelEntity = this.GetAIModel(entityDocument.AIModelID);
197
- const embeddingAPIKey = (0, ai_1.GetAIAPIKey)(aiModelEntity.DriverClass);
198
- const vectorDBAPIKey = (0, ai_1.GetAIAPIKey)(vectorDBEntity.ClassKey);
219
+ const embeddingAPIKey = GetAIAPIKey(aiModelEntity.DriverClass);
220
+ const vectorDBAPIKey = GetAIAPIKey(vectorDBEntity.ClassKey);
199
221
  if (!embeddingAPIKey) {
200
222
  throw Error(`No API Key found for AI Model ${aiModelEntity.DriverClass}`);
201
223
  }
202
224
  if (!vectorDBAPIKey) {
203
225
  throw Error(`No API Key found for Vector Database ${vectorDBEntity.ClassKey}`);
204
226
  }
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);
227
+ //LogStatus(`Embedding API Key: ${embeddingAPIKey} VectorDB API Key: ${vectorDBAPIKey}`);
228
+ const embedding = MJGlobal.Instance.ClassFactory.CreateInstance(BaseEmbeddings, aiModelEntity.DriverClass, embeddingAPIKey);
229
+ const vectorDB = MJGlobal.Instance.ClassFactory.CreateInstance(VectorDBBase, vectorDBEntity.ClassKey, vectorDBAPIKey);
207
230
  if (!embedding) {
208
231
  throw Error(`Failed to create Embeddings instance for AI Model ${aiModelEntity.DriverClass}`);
209
232
  }
210
233
  if (!vectorDB) {
211
234
  throw Error(`Failed to create Vector Database instance for ${vectorDBEntity.ClassKey}`);
212
235
  }
213
- (0, core_1.LogStatus)(`Using vector database ${vectorDBEntity.Name} and AI Model ${aiModelEntity.Name}`);
236
+ LogStatus(`Using vector database ${vectorDBEntity.Name} and AI Model ${aiModelEntity.Name}`);
214
237
  const obj = {
215
238
  embedding,
216
239
  vectorDB,
@@ -222,22 +245,28 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
222
245
  return obj;
223
246
  }
224
247
  async GetEntityDocument(EntityDocumentID) {
225
- const cache = EntityDocumentCache_1.EntityDocumentCache.Instance;
248
+ const cache = EntityDocumentCache.Instance;
226
249
  if (!cache.IsLoaded) {
227
250
  await cache.Refresh(false, super.CurrentUser);
228
251
  }
229
252
  return cache.GetDocument(EntityDocumentID);
230
253
  }
231
254
  async GetEntityDocumentByName(EntityDocumentName, ContextUser) {
232
- const cache = EntityDocumentCache_1.EntityDocumentCache.Instance;
255
+ const cache = EntityDocumentCache.Instance;
233
256
  if (!cache.IsLoaded) {
234
257
  await cache.Refresh(false, ContextUser);
235
258
  }
236
259
  return cache.GetDocumentByName(EntityDocumentName);
237
260
  }
261
+ /**
262
+ * Returns all active Entity Documents of the 'Record Duplicate' type.
263
+ * Note that this only returns the first active Entity Document. Meaning if there are multiple Entity Documents for the same entity,
264
+ * only the oldest one will be returned.
265
+ * @param entityIDs If provided, only Entity Documents for the specified entities will be returned.
266
+ */
238
267
  async GetActiveEntityDocuments(entityNames) {
239
- await EntityDocumentCache_1.EntityDocumentCache.Instance.Refresh(false, super.CurrentUser);
240
- const entityDocumentType = EntityDocumentCache_1.EntityDocumentCache.Instance.GetDocumentTypeByName('Record Duplicate');
268
+ await EntityDocumentCache.Instance.Refresh(false, super.CurrentUser);
269
+ const entityDocumentType = EntityDocumentCache.Instance.GetDocumentTypeByName('Record Duplicate');
241
270
  if (!entityDocumentType) {
242
271
  throw new Error('Entity Document Type not found');
243
272
  }
@@ -255,6 +284,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
255
284
  }
256
285
  let entityDocuments = [];
257
286
  let seenEntities = [];
287
+ //we only want one entity document per entity
258
288
  for (const entityDocument of runViewResult.Results) {
259
289
  if (seenEntities.includes(entityDocument.EntityID)) {
260
290
  continue;
@@ -269,7 +299,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
269
299
  if (vectorIndexEntity) {
270
300
  return vectorIndexEntity;
271
301
  }
272
- (0, core_1.LogStatus)(`No Vector Index found for entityDocument ${entityDocument.ID}, creating one`);
302
+ LogStatus(`No Vector Index found for entityDocument ${entityDocument.ID}, creating one`);
273
303
  try {
274
304
  vectorIndexEntity = await super.Metadata.GetEntityObject('Vector Indexes');
275
305
  vectorIndexEntity.NewRecord();
@@ -278,20 +308,21 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
278
308
  vectorIndexEntity.Name = `Vector Index for entityDocument ${entityDocument.EntityID}`;
279
309
  vectorIndexEntity.Set('EntityRecordUpdatedAt', new Date());
280
310
  vectorIndexEntity.Set('EntityDocumentID', entityDocument.ID);
311
+ //not a very descriptive description, but the view has the name of the vectorDB and embedding model used
281
312
  vectorIndexEntity.Description = `Vector Index that uses the Vector database ${entityDocument.VectorDatabaseID} and ${entityDocument.AIModelID} as the embedding model`;
282
313
  const saveResult = await super.SaveEntity(vectorIndexEntity);
283
314
  if (saveResult) {
284
- (0, core_1.LogStatus)(`Successfully created new Vector Index Entity`);
315
+ LogStatus(`Successfully created new Vector Index Entity`);
285
316
  return vectorIndexEntity;
286
317
  }
287
318
  else {
288
- (0, core_1.LogError)('Error saving Vector Index Entity');
319
+ LogError('Error saving Vector Index Entity');
289
320
  return null;
290
321
  }
291
322
  }
292
323
  catch (err) {
293
324
  console.error(JSON.stringify(err));
294
- (0, core_1.LogError)(err);
325
+ LogError(err);
295
326
  return null;
296
327
  }
297
328
  }
@@ -305,12 +336,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
305
336
  templateEntity.CategoryID = null;
306
337
  const templateEntitySaveResult = await super.SaveEntity(templateEntity);
307
338
  if (!templateEntitySaveResult) {
308
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateEntity.LatestResult);
339
+ LogError('Error saving Template Entity', undefined, templateEntity.LatestResult);
309
340
  throw new Error(templateEntity.LatestResult.CompleteMessage);
310
341
  }
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');
342
+ LogStatus(`Successfully created new Template Entity ${templateEntity.ID}`);
343
+ //next, create the template contents record
344
+ await TemplateEngineServer.Instance.Config(false, super.CurrentUser);
345
+ const textContentType = TemplateEngineServer.Instance.TemplateContentTypes.find((type) => type.Name === 'Text');
314
346
  if (!textContentType) {
315
347
  throw new Error('Text template content type not found');
316
348
  }
@@ -324,10 +356,11 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
324
356
  templateContentsEntity.TemplateText = this.BuildTemplateContent(entityFields);
325
357
  const templateContentsEntitySaveResult = await super.SaveEntity(templateContentsEntity);
326
358
  if (!templateContentsEntitySaveResult) {
327
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
359
+ LogError('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
328
360
  throw new Error(templateContentsEntity.LatestResult.CompleteMessage);
329
361
  }
330
- (0, core_1.LogStatus)(`Successfully created new Template Content Entity ${templateContentsEntity.ID}`);
362
+ LogStatus(`Successfully created new Template Content Entity ${templateContentsEntity.ID}`);
363
+ //next, create the template params record
331
364
  const templateParamsEntity = await super.Metadata.GetEntityObject('Template Params');
332
365
  templateParamsEntity.NewRecord();
333
366
  templateParamsEntity.TemplateID = templateEntity.ID;
@@ -343,13 +376,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
343
376
  templateParamsEntity.RecordID = null;
344
377
  const templateParamsEntitySaveResult = await super.SaveEntity(templateParamsEntity);
345
378
  if (!templateParamsEntitySaveResult) {
346
- (0, core_1.LogError)('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
379
+ LogError('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
347
380
  throw new Error(templateParamsEntity.LatestResult.CompleteMessage);
348
381
  }
349
- (0, core_1.LogStatus)(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
382
+ LogStatus(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
350
383
  templateEntity.Content.push(templateContentsEntity);
351
384
  templateEntity.Params.push(templateParamsEntity);
352
- templates_1.TemplateEngineServer.Instance.AddTemplate(templateEntity);
385
+ TemplateEngineServer.Instance.AddTemplate(templateEntity);
353
386
  return templateEntity;
354
387
  }
355
388
  BuildTemplateContent(entityFields) {
@@ -358,6 +391,9 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
358
391
  }).join(' ');
359
392
  }
360
393
  async GetEntityFieldsForSimilaritySearch(entityID) {
394
+ //We only want fields that can potentially be the same across records
395
+ //which means things such as IDs, timestamps, etc. are not useful
396
+ //as they're likely to be unique or not that helpful in determining similarity
361
397
  const runViewResult = await super.RunView.RunView({
362
398
  EntityName: 'Entity Fields',
363
399
  ExtraFilter: `EntityID = '${entityID}' AND IsPrimaryKey = 0 AND IsUnique = 0 AND AutoIncrement = 0 and Type NOT IN ('datetimeoffset', 'datetime')`,
@@ -376,20 +412,25 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
376
412
  }
377
413
  switch (param.Type) {
378
414
  case 'Record':
415
+ // this one is simple, we create a property by the provided name, and set the value to the record we are currently processing
379
416
  templateData[param.Name] = record;
380
417
  break;
381
418
  case 'Entity':
419
+ // 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
420
+ // the metadata in the param tells us what we need to know
382
421
  const paramData = relatedData.find((rd) => rd.ParamName === param.Name);
383
422
  if (!paramData) {
384
- (0, core_1.LogError)(`No related data found for param ${param.Name} in template ${template.ID}`);
423
+ LogError(`No related data found for param ${param.Name} in template ${template.ID}`);
385
424
  break;
386
425
  }
426
+ // now filter down the data in d to just this record and set the value of the context data to the filtered data
387
427
  templateData[param.Name] = paramData.Data.filter((rdfr) => rdfr[param.LinkedParameterField] === record[entity.FirstPrimaryKey.Name]);
388
428
  break;
389
429
  case "Array":
390
430
  case "Scalar":
391
431
  case "Object":
392
- (0, core_1.LogError)(`Unsupported parameter type ${param.Type} for parameter ${param.Name} in template ${template.ID}`);
432
+ // do nothing here, as we don't directly support these param types
433
+ LogError(`Unsupported parameter type ${param.Type} for parameter ${param.Name} in template ${template.ID}`);
393
434
  break;
394
435
  }
395
436
  }
@@ -403,6 +444,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
403
444
  }
404
445
  const relatedEntity = templateParam.Entity;
405
446
  const relatedField = templateParam.LinkedParameterField;
447
+ // construct a filter for the related field so that we constrain the results to just the set of records linked to our recipients
406
448
  const quotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : "";
407
449
  const filter = `${relatedField} in (${records.map((record) => `${quotes}${record[entity.FirstPrimaryKey.Name]}${quotes}`).join(',')})`;
408
450
  const finalFilter = templateParam.ExtraFilter ? `(${filter}) AND (${templateParam.ExtraFilter})` : filter;
@@ -418,11 +460,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
418
460
  relatedData.push(data);
419
461
  }
420
462
  else {
421
- (0, core_1.LogError)(`Error getting related data for entity ${relatedEntity} with filter ${finalFilter}`, undefined, result.ErrorMessage);
463
+ LogError(`Error getting related data for entity ${relatedEntity} with filter ${finalFilter}`, undefined, result.ErrorMessage);
422
464
  }
423
465
  }
424
466
  return relatedData;
425
467
  }
468
+ // Rather than having this logic inside the EntityRecordDocumentWorker class, it's placed here instead
469
+ //so that the logic behind vectorizing entities isnt spread out across so many files
426
470
  async UpsertEntityRecordDocumentRecords(embeddingData, contextUser) {
427
471
  let md = super.Metadata;
428
472
  let rv = super.RunView;
@@ -430,7 +474,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
430
474
  let vectorIndexID = embeddingData.VectorIndexID.toString();
431
475
  let loadResult = await vectorIndex.Load(vectorIndexID);
432
476
  if (!loadResult) {
433
- (0, core_1.LogError)(`Vector Index with ID ${embeddingData.VectorIndexID} not found`);
477
+ LogError(`Vector Index with ID ${embeddingData.VectorIndexID} not found`);
434
478
  return;
435
479
  }
436
480
  let entityDocument = embeddingData.EntityDocument;
@@ -445,7 +489,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
445
489
  existingRecords = runViewResult.Results;
446
490
  }
447
491
  else {
448
- (0, core_1.LogError)(`Error getting existing Entity Record Documents`, undefined, runViewResult.ErrorMessage);
492
+ LogError(`Error getting existing Entity Record Documents`, undefined, runViewResult.ErrorMessage);
449
493
  }
450
494
  let erdEntity = existingRecords.find((er) => er.Get("RecordID").toString() === embeddingData.__mj_recordID.toString());
451
495
  if (!erdEntity) {
@@ -463,16 +507,23 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
463
507
  erdEntity.ContextCurrentUser = contextUser;
464
508
  let erdEntitySaveResult = await erdEntity.Save();
465
509
  if (!erdEntitySaveResult) {
466
- (0, core_1.LogError)('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
510
+ LogError('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
467
511
  }
468
512
  else {
469
- (0, core_1.LogStatus)("Upserting Entity Record Documents: Complete");
513
+ LogStatus("Upserting Entity Record Documents: Complete");
470
514
  }
471
515
  }
516
+ /**
517
+ * This method is resposnible for determining if the template(s) given have aligned parameters, meaning they don't have overlapping parameter names that have
518
+ * 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
519
+ * they must not have different settings.
520
+ */
472
521
  ValidateTemplateContextParamAlignment(template) {
522
+ // the params are defined in each template they will be in the Params property of the template
473
523
  const seenParams = {};
474
524
  for (const templateParam of template.Params) {
475
525
  const param = seenParams[templateParam.Name];
526
+ // we have a duplicate parameter name, now we need to check if the definitions are the same
476
527
  if (param && param.Type !== templateParam.Type) {
477
528
  throw new Error(`Parameter ${param.Name} has different types in different templates`);
478
529
  }
@@ -480,15 +531,27 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
480
531
  seenParams[templateParam.Name] = templateParam;
481
532
  }
482
533
  }
534
+ // if we get here, we are good, otherwise we will have thrown an exception
483
535
  return true;
484
536
  }
537
+ /**
538
+ * Build the SQL filter to select records that are in the given list.
539
+ * For single PK entities, uses a simple IN clause.
540
+ * For composite PK entities, uses an EXISTS clause that concatenates PK columns to match the RecordID format.
541
+ */
485
542
  buildListFilter(entity, listDetailsSchema, listId) {
486
543
  const primaryKeys = entity.PrimaryKeys;
487
544
  if (primaryKeys.length === 1) {
545
+ // Simple case: single primary key
546
+ // Use a simple IN clause matching the first PK field
488
547
  const pkField = primaryKeys[0].Name;
489
548
  return `${pkField} IN (SELECT RecordID FROM ${listDetailsSchema}.vwListDetails WHERE ListID = '${listId}')`;
490
549
  }
491
550
  else {
551
+ // Composite key case: need to match concatenated key format
552
+ // RecordID format is "Field1|Value1||Field2|Value2" (using CompositeKey delimiters)
553
+ // Build SQL expression that concatenates the PK fields in the same format
554
+ // Format: 'Field1|' + CAST(Value1 AS NVARCHAR(MAX)) + '||' + 'Field2|' + CAST(Value2 AS NVARCHAR(MAX))
492
555
  const concatParts = primaryKeys.map((pk, index) => {
493
556
  const fieldNameLiteral = `'${pk.Name}|'`;
494
557
  const fieldValue = `CAST([${pk.Name}] AS NVARCHAR(MAX))`;
@@ -500,6 +563,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
500
563
  }
501
564
  });
502
565
  const compositeKeyExpr = concatParts.join(' + ');
566
+ // Use EXISTS with a subquery that matches the concatenated key against RecordID
503
567
  return `EXISTS (
504
568
  SELECT 1 FROM ${listDetailsSchema}.vwListDetails ld
505
569
  WHERE ld.ListID = '${listId}'
@@ -508,5 +572,4 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
508
572
  }
509
573
  }
510
574
  }
511
- exports.EntityVectorSyncer = EntityVectorSyncer;
512
575
  //# 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":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAqB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAuC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAA2B,MAAM,sBAAsB,CAAC;AAG5I,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAIhD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,YAAqB,EAAE,WAAsB;QAC/D,KAAK,CAAC,WAAW,CAAC;QAClB,MAAM,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,oBAAoB,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,oBAAoB,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,QAAQ,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,SAAS,CAAC,sBAAsB,MAAM,CAAC,IAAI,0BAA0B,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5F,MAAM,QAAQ,GAAuC,oBAAoB,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;QAED,oEAAoE;QACpE,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,YAAY,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;QAEF,kCAAkC;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,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,QAAQ,CAAC,+BAA+B,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,WAAW,CAAC;YACrC,UAAU,EAAE,OAAO,CAAC,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,QAAQ,CAAC,gCAAgC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,mDAAmD;QACnD,MAAM,WAAW,GAAG,IAAI,SAAS,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,SAAS,CAAC,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,SAAS,CAAC,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;oBACnH,+DAA+D;oBAC/D,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;oBAC/G,mDAAmD;oBACnD,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;QAEF,uDAAuD;QACvD,OAAO,EAAE,CAAC;QAEV,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/B,MAAM,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9G,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAE7C,uBAAuB;QACvB,MAAM,cAAc,GAAW,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAC5D,MAAM,cAAc,GAAW,cAAc,GAAG,EAAE,CAAC;QAEnD,SAAS,CAAC,wBAAwB,cAAc,CAAC,MAAM,cAAc,cAAc,aAAa,cAAc,WAAW,CAAC,CAAC;QAC3H,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,2BAA2B,CACtC,QAAgB,EAChB,cAAoC,EACpC,OAAsB;QAEtB,MAAM,EAAE,GAAG,IAAI,QAAQ,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,OAAO,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,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC7G,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,wBAAwB,EAAE,CAAC;gBAC3B,SAAS,CAAC,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,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,cAAc,GAAW,WAAW,CAAC,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;QAED,yFAAyF;QACzF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAiB,cAAc,EAAE,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC5I,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAe,YAAY,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,SAAS,CAAC,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,mBAAmB,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,mBAAmB,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;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CAAC,WAAsB;QAC1D,MAAM,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,kBAAkB,GAAyC,mBAAmB,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;QAEhC,6CAA6C;QAC7C,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,SAAS,CAAC,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;YAC7D,wGAAwG;YACxG,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,SAAS,CAAC,8CAA8C,CAAC,CAAC;gBAC1D,OAAO,iBAAiB,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,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,QAAQ,CAAC,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,QAAQ,CAAC,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,SAAS,CAAC,4CAA4C,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3E,2CAA2C;QAC3C,MAAM,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,eAAe,GAA8B,oBAAoB,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,QAAQ,CAAC,8BAA8B,EAAE,SAAS,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QACD,SAAS,CAAC,oDAAoD,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3F,yCAAyC;QACzC,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,QAAQ,CAAC,8BAA8B,EAAE,SAAS,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC;QACD,SAAS,CAAC,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,oBAAoB,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;QACjE,qEAAqE;QACrE,iEAAiE;QACjE,8EAA8E;QAC9E,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;oBACX,6HAA6H;oBAC7H,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,0JAA0J;oBAC1J,0DAA0D;oBAC1D,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,QAAQ,CAAC,mCAAmC,KAAK,CAAC,IAAI,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrF,MAAM;oBACR,CAAC;oBAED,+GAA+G;oBAC/G,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;oBACT,kEAAkE;oBAClE,QAAQ,CAAC,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;YAExD,gIAAgI;YAChI,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,QAAQ,CAAC,yCAAyC,aAAa,gBAAgB,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,sGAAsG;IACtG,oFAAoF;IAC1E,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,QAAQ,CAAC,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,QAAQ,CAAC,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,QAAQ,CAAC,4CAA4C,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5F,CAAC;aACG,CAAC;YACH,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,qCAAqC,CAAC,QAAgC;QAC9E,8FAA8F;QAC9F,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;YAC9E,2FAA2F;YAC3F,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;QAED,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACO,eAAe,CAAC,MAAkB,EAAE,iBAAyB,EAAE,MAAc;QACrF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAEvC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,kCAAkC;YAClC,qDAAqD;YACrD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,OAAO,GAAG,OAAO,6BAA6B,iBAAiB,kCAAkC,MAAM,IAAI,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,oFAAoF;YACpF,0EAA0E;YAC1E,uGAAuG;YACvG,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;YAEjD,gFAAgF;YAChF,OAAO;wBACW,iBAAiB;6BACZ,MAAM;6BACN,gBAAgB;QACrC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -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"}