@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,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  import { UserInfo } from '@memberjunction/core';
4
2
  import { Transform } from 'node:stream';
5
3
  export type TransformCallback = Parameters<Transform['_flush']>[0];
@@ -8,13 +6,36 @@ export type WorkerData<TContext = Record<string, unknown>, TRecord = Record<stri
8
6
  context?: TContext;
9
7
  };
10
8
  export type BatchWorkerOptions<TContext = Record<string, unknown>> = {
9
+ /**
10
+ * The number of records to process in a batch
11
+ */
11
12
  batchSize?: number;
13
+ /**
14
+ * The path to the worker file used to launch a worker thread
15
+ */
12
16
  workerFile?: string;
17
+ /**
18
+ * An abitrary context to pass to the worker thread
19
+ */
13
20
  workerContext?: TContext;
21
+ /**
22
+ * The maximum number of worker threads to run concurrently
23
+ */
14
24
  concurrencyLimit?: number;
25
+ /**
26
+ * The user context to pass to the worker thread
27
+ */
15
28
  contextUser?: UserInfo;
29
+ /**
30
+ * The time to delay between api calls
31
+ **/
16
32
  delayTimeMS?: number;
17
33
  };
34
+ /**
35
+ * This class processes records in batches using a worker thread. It expects
36
+ * a worker file that exports a function to process the batch of records.
37
+ * The stream operates in object mode and emits processed records.
38
+ */
18
39
  export declare class BatchWorker<TRecord = Record<string, unknown>, TContext = Record<string, unknown>> extends Transform {
19
40
  _batchSize: number;
20
41
  _workerFile: string;
@@ -24,8 +45,18 @@ export declare class BatchWorker<TRecord = Record<string, unknown>, TContext = R
24
45
  _buffer: Array<TRecord>;
25
46
  _queue: Array<() => Promise<void>>;
26
47
  _contextUser: UserInfo | undefined;
48
+ /**
49
+ * @param {BatchWorkerOptions} options - Options for the BatchWorker
50
+ */
27
51
  constructor(options?: BatchWorkerOptions<TContext>);
52
+ /**
53
+ * Starts the next task in the queue
54
+ */
28
55
  _next(): void;
56
+ /**
57
+ * Enqueues a task to be processed
58
+ * @param task - The task to enqueue
59
+ */
29
60
  _enqueue(task: () => Promise<void>): void;
30
61
  _transform(chunk: TRecord, encoding: BufferEncoding, callback: TransformCallback): Promise<void>;
31
62
  _flush(callback: TransformCallback): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"BatchWorker.d.ts","sourceRoot":"","sources":["../../src/models/BatchWorker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAInE,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,aAAa,CAAC,EAAE,QAAQ,CAAC;IAIzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,WAAW,CAAC,EAAE,QAAQ,CAAC;IAIvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAOF,qBAAa,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,SAAS;IAC/G,UAAU,SAAM;IAChB,WAAW,SAAiB;IAC5B,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IACtD,iBAAiB,SAAK;IACtB,QAAQ,SAAK;IAEb,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAM;IAE7B,MAAM,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM;IAExC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAa;gBAKnC,OAAO,GAAE,kBAAkB,CAAC,QAAQ,CAAM;IAYtD,KAAK;IAWL,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK5B,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB;IAiBhF,MAAM,CAAC,QAAQ,EAAE,iBAAiB;IAexC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB5D"}
1
+ {"version":3,"file":"BatchWorker.d.ts","sourceRoot":"","sources":["../../src/models/BatchWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACnE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;QAEI;IACJ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,SAAS;IAC/G,UAAU,SAAM;IAChB,WAAW,SAAiB;IAC5B,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IACtD,iBAAiB,SAAK;IACtB,QAAQ,SAAK;IAEb,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAM;IAE7B,MAAM,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM;IAExC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAa;IAE/C;;OAEG;gBACS,OAAO,GAAE,kBAAkB,CAAC,QAAQ,CAAM;IAStD;;OAEG;IACH,KAAK;IAOL;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK5B,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB;IAiBhF,MAAM,CAAC,QAAQ,EAAE,iBAAiB;IAexC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB5D"}
@@ -1,31 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BatchWorker = void 0;
4
- const node_stream_1 = require("node:stream");
5
- const node_worker_threads_1 = require("node:worker_threads");
6
- class BatchWorker extends node_stream_1.Transform {
7
- _batchSize = 10;
8
- _workerFile = './worker.js';
9
- _workerContext = {};
10
- _concurrencyLimit = 4;
11
- _running = 0;
12
- _buffer = [];
13
- _queue = [];
14
- _contextUser = undefined;
1
+ import { Transform } from 'node:stream';
2
+ import { Worker } from 'node:worker_threads';
3
+ /**
4
+ * This class processes records in batches using a worker thread. It expects
5
+ * a worker file that exports a function to process the batch of records.
6
+ * The stream operates in object mode and emits processed records.
7
+ */
8
+ export class BatchWorker extends Transform {
9
+ /**
10
+ * @param {BatchWorkerOptions} options - Options for the BatchWorker
11
+ */
15
12
  constructor(options = {}) {
16
13
  super({ objectMode: true });
14
+ this._batchSize = 10;
15
+ this._workerFile = './worker.js';
16
+ this._workerContext = {};
17
+ this._concurrencyLimit = 4;
18
+ this._running = 0;
19
+ this._buffer = [];
20
+ this._queue = [];
21
+ this._contextUser = undefined;
17
22
  this._batchSize = options.batchSize ?? this._batchSize;
18
23
  this._workerFile = options.workerFile ?? this._workerFile;
19
24
  this._workerContext = options.workerContext ?? this._workerContext;
20
25
  this._concurrencyLimit = options.concurrencyLimit ?? this._concurrencyLimit;
21
26
  this._contextUser = options.contextUser ?? this._contextUser;
22
27
  }
28
+ /**
29
+ * Starts the next task in the queue
30
+ */
23
31
  _next() {
24
32
  if (this._queue.length > 0 && this._running < this._concurrencyLimit) {
25
33
  const task = this._queue.shift();
26
34
  task && task().then(() => this._next());
27
35
  }
28
36
  }
37
+ /**
38
+ * Enqueues a task to be processed
39
+ * @param task - The task to enqueue
40
+ */
29
41
  _enqueue(task) {
30
42
  this._queue.push(task);
31
43
  this._next();
@@ -61,19 +73,21 @@ class BatchWorker extends node_stream_1.Transform {
61
73
  _processBatchInWorker(batch) {
62
74
  return new Promise((resolve, reject) => {
63
75
  this._running++;
64
- const worker = new node_worker_threads_1.Worker(this._workerFile, { workerData: { batch, context: this._workerContext } });
76
+ const worker = new Worker(this._workerFile, { workerData: { batch, context: this._workerContext } });
65
77
  worker.on('message', ({ batch }) => {
78
+ // Push batch rows to the stream for reading
66
79
  batch.forEach((row) => this.push(row));
80
+ // Decrement _running on successful processing
67
81
  this._running--;
68
82
  resolve();
69
83
  });
70
84
  worker.on('error', (error) => {
71
85
  console.log('Error processing batch in worker:', error);
86
+ // Decrement _running and reject on error
72
87
  this._running--;
73
88
  reject(error);
74
89
  });
75
90
  });
76
91
  }
77
92
  }
78
- exports.BatchWorker = BatchWorker;
79
93
  //# sourceMappingURL=BatchWorker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchWorker.js","sourceRoot":"","sources":["../../src/models/BatchWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BatchWorker.js","sourceRoot":"","sources":["../../src/models/BatchWorker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { UserInfo } from "@memberjunction/core";
2
2
  import { EntityDocumentEntity, EntityDocumentTypeEntity } from "@memberjunction/core-entities";
3
+ /**
4
+ * Simple caching class to load all Entity Documents and related data at once into memory
5
+ */
3
6
  export declare class EntityDocumentCache {
4
7
  private static _instance;
5
8
  private _loaded;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDocumentCache.d.ts","sourceRoot":"","sources":["../../src/models/EntityDocumentCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAK/F,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsB;IAC9C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,UAAU,CAAmD;IACrE,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO;IAMP,WAAkB,QAAQ,IAAI,mBAAmB,CAKhD;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,SAAS,CAAC,KAAK,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAI1D,SAAS,CAAC,SAAS,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;KAAE;IAI3D,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IASlE,mCAAmC,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAYlF,qCAAqC,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAYtF,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAa1E,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAU9E,qBAAqB,CAAC,sBAAsB,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAYtF,cAAc,CAAC,IAAI,EAAE,QAAQ;IAIvB,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ;CAsCrE"}
1
+ {"version":3,"file":"EntityDocumentCache.d.ts","sourceRoot":"","sources":["../../src/models/EntityDocumentCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE/F;;GAEG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsB;IAC9C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,UAAU,CAAmD;IACrE,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO;IAMP,WAAkB,QAAQ,IAAI,mBAAmB,CAKhD;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,SAAS,CAAC,KAAK,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAI1D,SAAS,CAAC,SAAS,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;KAAE;IAI3D,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IASlE,mCAAmC,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAYlF,qCAAqC,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAYtF,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAa1E,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAU9E,qBAAqB,CAAC,sBAAsB,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAYtF,cAAc,CAAC,IAAI,EAAE,QAAQ;IAIvB,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ;CAsCrE"}
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityDocumentCache = void 0;
4
- const core_1 = require("@memberjunction/core");
5
- class EntityDocumentCache {
6
- static _instance;
7
- _loaded = false;
8
- _cache = {};
9
- _typeCache = {};
10
- _contextUser = null;
1
+ import { RunView, LogStatus } from "@memberjunction/core";
2
+ /**
3
+ * Simple caching class to load all Entity Documents and related data at once into memory
4
+ */
5
+ export class EntityDocumentCache {
11
6
  constructor() {
7
+ this._loaded = false;
8
+ this._cache = {};
9
+ this._typeCache = {};
10
+ this._contextUser = null;
11
+ // load up the cache
12
12
  this._cache = {};
13
13
  this._typeCache = {};
14
14
  }
@@ -30,7 +30,7 @@ class EntityDocumentCache {
30
30
  GetDocument(EntityDocumentID) {
31
31
  let document = this._cache[EntityDocumentID];
32
32
  if (!document) {
33
- (0, core_1.LogStatus)(`EntityDocumentCache.GetDocument: Cache miss for EntityDocumentID: ${EntityDocumentID}`);
33
+ LogStatus(`EntityDocumentCache.GetDocument: Cache miss for EntityDocumentID: ${EntityDocumentID}`);
34
34
  }
35
35
  return document || null;
36
36
  }
@@ -58,14 +58,14 @@ class EntityDocumentCache {
58
58
  ed.Name.trim().toLowerCase() === toLower;
59
59
  });
60
60
  if (!document) {
61
- (0, core_1.LogStatus)(`EntityDocumentCache.GetDocumentByName: Cache miss for EntityDocumentName: ${EntityDocumentName}`);
61
+ LogStatus(`EntityDocumentCache.GetDocumentByName: Cache miss for EntityDocumentName: ${EntityDocumentName}`);
62
62
  }
63
63
  return document || null;
64
64
  }
65
65
  GetDocumentType(EntityDocumentTypeID) {
66
66
  let documentType = this._typeCache[EntityDocumentTypeID];
67
67
  if (!documentType) {
68
- (0, core_1.LogStatus)(`EntityDocumentCache.GetDocument: Cache miss for EntityDocumentID: ${EntityDocumentTypeID}`);
68
+ LogStatus(`EntityDocumentCache.GetDocument: Cache miss for EntityDocumentID: ${EntityDocumentTypeID}`);
69
69
  return null;
70
70
  }
71
71
  return documentType;
@@ -74,7 +74,7 @@ class EntityDocumentCache {
74
74
  const toLower = EntityDocumentTypeName.trim().toLowerCase();
75
75
  let documentType = Object.values(this._typeCache).find((edt) => edt.Name.trim().toLowerCase() === toLower);
76
76
  if (!documentType) {
77
- (0, core_1.LogStatus)(`EntityDocumentCache.GetDocumentByName: Cache miss for EntityDocumentName: ${EntityDocumentTypeName}`);
77
+ LogStatus(`EntityDocumentCache.GetDocumentByName: Cache miss for EntityDocumentName: ${EntityDocumentTypeName}`);
78
78
  return null;
79
79
  }
80
80
  return documentType;
@@ -87,10 +87,11 @@ class EntityDocumentCache {
87
87
  if (!forceRefresh && this._loaded) {
88
88
  return;
89
89
  }
90
- (0, core_1.LogStatus)('Refreshing Entity Document Cache');
90
+ LogStatus('Refreshing Entity Document Cache');
91
91
  this._cache = {};
92
92
  this._typeCache = {};
93
- const rv = new core_1.RunView();
93
+ // now load up the cache with all the entity documents
94
+ const rv = new RunView();
94
95
  const results = await rv.RunViews([
95
96
  {
96
97
  EntityName: "Entity Documents",
@@ -114,5 +115,4 @@ class EntityDocumentCache {
114
115
  this._loaded = true;
115
116
  }
116
117
  }
117
- exports.EntityDocumentCache = EntityDocumentCache;
118
118
  //# sourceMappingURL=EntityDocumentCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDocumentCache.js","sourceRoot":"","sources":["../../src/models/EntityDocumentCache.ts"],"names":[],"mappings":";;;AAAA,+CAAmF;AAMnF,MAAa,mBAAmB;IACpB,MAAM,CAAC,SAAS,CAAsB;IACtC,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,GAA4C,EAAE,CAAC;IACrD,UAAU,GAAgD,EAAE,CAAC;IAC7D,YAAY,GAAoB,IAAI,CAAC;IAE7C;QAEI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,IAAG,CAAC,mBAAmB,CAAC,SAAS,EAAC,CAAC;YAC/B,mBAAmB,CAAC,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAES,KAAK;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAES,SAAS;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,WAAW,CAAC,gBAAwB;QACvC,IAAI,QAAQ,GAAyB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAA,gBAAS,EAAC,qEAAqE,gBAAgB,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC5B,CAAC;IAEM,mCAAmC,CAAC,QAAgB;QACvD,IAAI,YAAY,GAAoC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QACnG,IAAG,CAAC,YAAY,EAAC,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAwB,EAAE,EAAE;YAChE,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC;QACxF,CAAC,CAAC,CAAC;IAEP,CAAC;IAEM,qCAAqC,CAAC,UAAkB;QAC3D,IAAI,YAAY,GAAoC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QACnG,IAAG,CAAC,YAAY,EAAC,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAwB,EAAE,EAAE;YAChE,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC;QACxF,CAAC,CAAC,CAAC;IAEP,CAAC;IAEM,iBAAiB,CAAC,kBAA0B;QAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,IAAI,QAAQ,GAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAwB,EAAE,EAAE;YAC9F,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAA,gBAAS,EAAC,6EAA6E,kBAAkB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC5B,CAAC;IAEM,eAAe,CAAC,oBAA4B;QAC/C,IAAI,YAAY,GAA6B,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACnF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,IAAA,gBAAS,EAAC,qEAAqE,oBAAoB,EAAE,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEM,qBAAqB,CAAC,sBAA8B;QACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5D,IAAI,YAAY,GAA6B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;QAE/J,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,IAAA,gBAAS,EAAC,6EAA6E,sBAAsB,EAAE,CAAC,CAAC;YACjH,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,YAAY,CAAC;QAAA,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,IAAc;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,YAAqB,EAAE,WAAsB;QAE9D,IAAG,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAC,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,IAAA,gBAAS,EAAC,kCAAkC,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAGrB,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;QAEzB,MAAM,OAAO,GAAoB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAC/C;gBACI,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,eAAe;aAC9B;YACD;gBACI,UAAU,EAAE,uBAAuB;gBACnC,UAAU,EAAE,eAAe;aAC9B;SACJ,EAAE,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;YACpD,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;YAChE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CACJ;AA9ID,kDA8IC"}
1
+ {"version":3,"file":"EntityDocumentCache.js","sourceRoot":"","sources":["../../src/models/EntityDocumentCache.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
- /// <reference types="node" />
2
1
  import { Readable } from 'node:stream';
2
+ /**
3
+ * A stream to collect pages of records and emit them as individual records
4
+ */
3
5
  export declare class PagedRecords extends Readable {
4
6
  constructor();
5
7
  _read(): void;
8
+ /**
9
+ * Adds a page of results to the stream
10
+ * @param {Array<Record<string,unknown>>} page - The page of results to add to the stream
11
+ */
6
12
  addPage(page: any): void;
13
+ /**
14
+ * Called when there are no more pages to add to the stream
15
+ */
7
16
  endStream(): void;
8
17
  }
9
18
  //# sourceMappingURL=PagedRecords.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagedRecords.d.ts","sourceRoot":"","sources":["../../src/models/PagedRecords.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,qBAAa,YAAa,SAAQ,QAAQ;;IAKxC,KAAK;IAQL,OAAO,CAAC,IAAI,KAAA;IAOZ,SAAS;CAGV"}
1
+ {"version":3,"file":"PagedRecords.d.ts","sourceRoot":"","sources":["../../src/models/PagedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;GAEG;AACH,qBAAa,YAAa,SAAQ,QAAQ;;IAKxC,KAAK;IAIL;;;OAGG;IACH,OAAO,CAAC,IAAI,KAAA;IAIZ;;OAEG;IACH,SAAS;CAGV"}
@@ -1,19 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PagedRecords = void 0;
4
- const node_stream_1 = require("node:stream");
5
- class PagedRecords extends node_stream_1.Readable {
1
+ import { Readable } from 'node:stream';
2
+ /**
3
+ * A stream to collect pages of records and emit them as individual records
4
+ */
5
+ export class PagedRecords extends Readable {
6
6
  constructor() {
7
7
  super({ objectMode: true });
8
8
  }
9
9
  _read() {
10
+ // no-op
10
11
  }
12
+ /**
13
+ * Adds a page of results to the stream
14
+ * @param {Array<Record<string,unknown>>} page - The page of results to add to the stream
15
+ */
11
16
  addPage(page) {
12
17
  page.forEach((row) => this.push(row));
13
18
  }
19
+ /**
20
+ * Called when there are no more pages to add to the stream
21
+ */
14
22
  endStream() {
15
23
  this.push(null);
16
24
  }
17
25
  }
18
- exports.PagedRecords = PagedRecords;
19
26
  //# sourceMappingURL=PagedRecords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagedRecords.js","sourceRoot":"","sources":["../../src/models/PagedRecords.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAKvC,MAAa,YAAa,SAAQ,sBAAQ;IACxC;QACE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK;IAEL,CAAC;IAMD,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAKD,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AAvBD,oCAuBC"}
1
+ {"version":3,"file":"PagedRecords.js","sourceRoot":"","sources":["../../src/models/PagedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC;QACE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK;QACH,QAAQ;IACV,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -1,17 +1,38 @@
1
1
  import { VectorBase } from '@memberjunction/ai-vectors';
2
2
  import { EntityField, EntityInfo, UserInfo } from '@memberjunction/core';
3
3
  import { AIModelEntity, EntityDocumentEntity, TemplateEntity, TemplateEntityExtended, VectorDatabaseEntity } from '@memberjunction/core-entities';
4
- import { EmbeddingData, TemplateParamData, VectorEmeddingData, VectorizeEntityParams, VectorizeEntityResponse } from '../generic/vectorSync.types';
4
+ import { EmbeddingData, TemplateParamData, VectorEmeddingData, VectorizeEntityParams, VectorizeEntityResponse } from '../generic/vectorSync.types.js';
5
+ /**
6
+ * Class that specializes in vectorizing entities using embedding models and upserting them into Vector Databases
7
+ */
5
8
  export declare class EntityVectorSyncer extends VectorBase {
6
9
  _startTime: Date;
7
10
  _endTime: Date;
8
11
  constructor();
12
+ /**
13
+ * Refreshes the EntityDocumentCache and configures the AIEngine and TemplateEngineServer
14
+ * @param forceRefresh If true, the cache and enginges will be refreshed even if it is already loaded
15
+ * @param contextUser The context user to use to refresh the cache and configure the engines
16
+ */
9
17
  Config(forceRefresh: boolean, contextUser?: UserInfo): Promise<void>;
10
18
  VectorizeEntity(params: VectorizeEntityParams, contextUser?: UserInfo): Promise<VectorizeEntityResponse>;
19
+ /**
20
+ * This method will create a default Entity Document for the given entityID, vectorDatabase, and AIModel
21
+ * @param entityID
22
+ * @param vectorDatabase
23
+ * @param AIModel
24
+ * @returns
25
+ */
11
26
  CreateDefaultEntityDocument(EntityID: string, VectorDatabase: VectorDatabaseEntity, AIModel: AIModelEntity): Promise<EntityDocumentEntity>;
12
27
  protected GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(entityDocumentID: string, createDocumentIfNotFound?: boolean): Promise<VectorEmeddingData>;
13
28
  GetEntityDocument(EntityDocumentID: string): Promise<EntityDocumentEntity | null>;
14
29
  GetEntityDocumentByName(EntityDocumentName: string, ContextUser?: UserInfo): Promise<EntityDocumentEntity | null>;
30
+ /**
31
+ * Returns all active Entity Documents of the 'Record Duplicate' type.
32
+ * Note that this only returns the first active Entity Document. Meaning if there are multiple Entity Documents for the same entity,
33
+ * only the oldest one will be returned.
34
+ * @param entityIDs If provided, only Entity Documents for the specified entities will be returned.
35
+ */
15
36
  GetActiveEntityDocuments(entityNames?: string[]): Promise<EntityDocumentEntity[]>;
16
37
  private GetOrCreateVectorIndex;
17
38
  protected CreateTemplateForEntityDocument(entityDocument: EntityDocumentEntity): Promise<TemplateEntity>;
@@ -22,7 +43,17 @@ export declare class EntityVectorSyncer extends VectorBase {
22
43
  }>;
23
44
  protected GetRelatedTemplateDataForBatch(entity: EntityInfo, records: unknown[], template: TemplateEntityExtended): Promise<TemplateParamData[]>;
24
45
  protected UpsertEntityRecordDocumentRecords(embeddingData: EmbeddingData, contextUser: UserInfo): Promise<void>;
46
+ /**
47
+ * This method is resposnible for determining if the template(s) given have aligned parameters, meaning they don't have overlapping parameter names that have
48
+ * 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
49
+ * they must not have different settings.
50
+ */
25
51
  protected ValidateTemplateContextParamAlignment(template: TemplateEntityExtended): boolean;
52
+ /**
53
+ * Build the SQL filter to select records that are in the given list.
54
+ * For single PK entities, uses a simple IN clause.
55
+ * For composite PK entities, uses an EXISTS clause that concatenates PK columns to match the RecordID format.
56
+ */
26
57
  protected buildListFilter(entity: EntityInfo, listDetailsSchema: string, listId: string): string;
27
58
  }
28
59
  //# sourceMappingURL=entityVectorSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityVectorSync.d.ts","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAc,WAAW,EAAE,UAAU,EAAyD,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,oBAAoB,EACf,cAAc,EAAE,sBAAsB,EAAuB,oBAAoB,EAAqB,MAAM,+BAA+B,CAAC;AAGzK,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAYnJ,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;;IAWF,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,eAAe,CAAC,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoKxG,2BAA2B,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;cA0ChB,oDAAoD,CAAE,gBAAgB,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAI,OAAO,CAAC,kBAAkB,CAAC;IAsDpJ,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAQjF,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAcjH,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAsChF,sBAAsB;cAoCpB,+BAA+B,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqE9G,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM;cAMnD,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;cAiB5E,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;cAmCzJ,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;cAsCtI,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DrH,SAAS,CAAC,qCAAqC,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO;IAuB1F,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAgCjG"}
1
+ {"version":3,"file":"entityVectorSync.d.ts","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAc,WAAW,EAAE,UAAU,EAAyD,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,oBAAoB,EACf,cAAc,EAAE,sBAAsB,EAAuB,oBAAoB,EAAqB,MAAM,+BAA+B,CAAC;AAGzK,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AASnJ;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;;IAMf;;;;OAIG;IACU,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,eAAe,CAAC,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA6JrH;;;;;;OAMG;IACU,2BAA2B,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;cA0ChB,oDAAoD,CAAE,gBAAgB,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAI,OAAO,CAAC,kBAAkB,CAAC;IAsDpJ,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAQjF,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAQ9H;;;;;OAKG;IACU,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAsChF,sBAAsB;cAoCpB,+BAA+B,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqE9G,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM;cAMnD,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;cAiB5E,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;cAmCzJ,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;cAsCtI,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDrH;;;;OAIG;IACH,SAAS,CAAC,qCAAqC,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO;IAkB1F;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAgCjG"}