@memberjunction/core-entities-server 5.23.0 → 5.24.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.
@@ -0,0 +1,18 @@
1
+ import { MJTagEntity } from '@memberjunction/core-entities';
2
+ /**
3
+ * Server-side Tag entity that keeps TagEngine's vector service in sync.
4
+ *
5
+ * After every Save (insert or update), the tag's embedding is added/updated
6
+ * in the SimpleVectorService so that semantic matching in ResolveTag() stays
7
+ * current. On Delete, the embedding is removed.
8
+ *
9
+ * This runs SYNCHRONOUSLY within the Save() call — the caller's
10
+ * `await tag.Save()` does not resolve until the embedding is updated.
11
+ * This eliminates the race condition where concurrent ResolveTag() calls
12
+ * miss a just-created tag because the embedding wasn't ready yet.
13
+ */
14
+ export declare class MJTagEntityServer extends MJTagEntity {
15
+ Save(): Promise<boolean>;
16
+ Delete(): Promise<boolean>;
17
+ }
18
+ //# sourceMappingURL=MJTagEntityServer.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJTagEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D;;;;;;;;;;;GAWG;AACH,qBACa,iBAAkB,SAAQ,WAAW;IACxB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAexB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAgBnD"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BaseEntity, LogError } from '@memberjunction/core';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import { MJTagEntity } from '@memberjunction/core-entities';
10
+ import { TagEngine } from '@memberjunction/tag-engine';
11
+ /**
12
+ * Server-side Tag entity that keeps TagEngine's vector service in sync.
13
+ *
14
+ * After every Save (insert or update), the tag's embedding is added/updated
15
+ * in the SimpleVectorService so that semantic matching in ResolveTag() stays
16
+ * current. On Delete, the embedding is removed.
17
+ *
18
+ * This runs SYNCHRONOUSLY within the Save() call — the caller's
19
+ * `await tag.Save()` does not resolve until the embedding is updated.
20
+ * This eliminates the race condition where concurrent ResolveTag() calls
21
+ * miss a just-created tag because the embedding wasn't ready yet.
22
+ */
23
+ let MJTagEntityServer = class MJTagEntityServer extends MJTagEntity {
24
+ async Save() {
25
+ const saveResult = await super.Save();
26
+ if (saveResult) {
27
+ try {
28
+ await TagEngine.Instance.ReEmbedTag(this);
29
+ }
30
+ catch (error) {
31
+ // Non-blocking — embedding failure should not fail the save
32
+ LogError(`[MJTagEntityServer] Failed to embed tag "${this.Name}" after save: ${error instanceof Error ? error.message : String(error)}`);
33
+ }
34
+ }
35
+ return saveResult;
36
+ }
37
+ async Delete() {
38
+ const tagName = this.Name;
39
+ const tagID = this.ID;
40
+ const deleteResult = await super.Delete();
41
+ if (deleteResult) {
42
+ try {
43
+ TagEngine.Instance.RemoveTagFromVectorService(tagID);
44
+ }
45
+ catch (error) {
46
+ LogError(`[MJTagEntityServer] Failed to remove embedding for tag "${tagName}" after delete: ${error instanceof Error ? error.message : String(error)}`);
47
+ }
48
+ }
49
+ return deleteResult;
50
+ }
51
+ };
52
+ MJTagEntityServer = __decorate([
53
+ RegisterClass(BaseEntity, 'MJ: Tags')
54
+ ], MJTagEntityServer);
55
+ export { MJTagEntityServer };
56
+ //# sourceMappingURL=MJTagEntityServer.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJTagEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD;;;;;;;;;;;GAWG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAW;IAC9B,KAAK,CAAC,IAAI;QACtB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,4DAA4D;gBAC5D,QAAQ,CAAC,4CAA4C,IAAI,CAAC,IAAI,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7I,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEe,KAAK,CAAC,MAAM;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;QAEtB,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAE1C,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC;gBACD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,2DAA2D,OAAO,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5J,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAhCY,iBAAiB;IAD7B,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC;GACzB,iBAAiB,CAgC7B"}
@@ -13,6 +13,12 @@ export declare class MJVectorIndexEntityServer extends MJVectorIndexEntity {
13
13
  * Before deleting, remove the index from the provider.
14
14
  */
15
15
  Delete(): Promise<boolean>;
16
+ /**
17
+ * Validates and sanitizes the index name for use with vector DB providers.
18
+ * Pinecone index names must be lowercase alphanumeric + hyphens, max 45 chars.
19
+ * Returns the sanitized name.
20
+ */
21
+ private sanitizeIndexName;
16
22
  /**
17
23
  * Create the index in the vector database provider.
18
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAI5F;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC9D;;OAEG;IACmB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9C;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;YACW,uBAAuB;IAgBrC;;;OAGG;YACW,mBAAmB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;YACW,oBAAoB;CAgCrC"}
1
+ {"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAI5F;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC9D;;OAEG;IACmB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9C;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;YACW,qBAAqB;IAuCnC;;OAEG;YACW,uBAAuB;IAkBrC;;;OAGG;YACW,mBAAmB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;YACW,oBAAoB;CAiCrC"}
@@ -38,6 +38,27 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
38
38
  });
39
39
  return super.Delete();
40
40
  }
41
+ /**
42
+ * Validates and sanitizes the index name for use with vector DB providers.
43
+ * Pinecone index names must be lowercase alphanumeric + hyphens, max 45 chars.
44
+ * Returns the sanitized name.
45
+ */
46
+ sanitizeIndexName(name) {
47
+ // Replace spaces and underscores with hyphens, remove invalid chars, lowercase, trim to 45 chars
48
+ let sanitized = name
49
+ .toLowerCase()
50
+ .replace(/[\s_]+/g, '-')
51
+ .replace(/[^a-z0-9-]/g, '')
52
+ .replace(/-+/g, '-') // collapse multiple hyphens
53
+ .replace(/^-|-$/g, ''); // trim leading/trailing hyphens
54
+ if (sanitized.length > 45) {
55
+ sanitized = sanitized.substring(0, 45).replace(/-$/, '');
56
+ }
57
+ if (sanitized.length === 0) {
58
+ throw new Error(`Index name "${name}" results in an empty string after sanitization. Please use a name with alphanumeric characters.`);
59
+ }
60
+ return sanitized;
61
+ }
41
62
  /**
42
63
  * Create the index in the vector database provider.
43
64
  */
@@ -47,8 +68,13 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
47
68
  LogError(`Cannot create index: no VectorDB instance for database ${this.VectorDatabaseID}`);
48
69
  return;
49
70
  }
71
+ // Sanitize the index name for the provider (e.g., Pinecone requires lowercase, no spaces)
72
+ const sanitizedName = this.sanitizeIndexName(this.Name);
73
+ if (sanitizedName !== this.Name) {
74
+ LogStatus(`Index name sanitized from "${this.Name}" to "${sanitizedName}" for vector DB provider compatibility`);
75
+ }
50
76
  const params = {
51
- id: this.Name,
77
+ id: sanitizedName,
52
78
  dimension: this.resolveDimensions(),
53
79
  metric: 'cosine',
54
80
  additionalParams: {
@@ -58,14 +84,19 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
58
84
  }
59
85
  }
60
86
  };
61
- LogStatus(`Creating index "${this.Name}" in vector DB provider...`);
62
- const result = await vectorDB.CreateIndex(params);
63
- if (result.success) {
64
- LogStatus(`Index "${this.Name}" created successfully in provider`);
65
- await this.saveProviderMetadata(result.data, params);
87
+ LogStatus(`Creating index "${sanitizedName}" in vector DB provider...`);
88
+ try {
89
+ const result = await vectorDB.CreateIndex(params);
90
+ if (result.success) {
91
+ LogStatus(`Index "${sanitizedName}" created successfully in provider`);
92
+ await this.saveProviderMetadata(result.data, params, sanitizedName);
93
+ }
94
+ else {
95
+ LogError(`Provider returned error creating index "${sanitizedName}": ${result.message}`);
96
+ }
66
97
  }
67
- else {
68
- LogError(`Provider returned error creating index "${this.Name}": ${result.message}`);
98
+ catch (error) {
99
+ LogError(`Exception while creating index "${sanitizedName}" in vector DB provider`, undefined, error);
69
100
  }
70
101
  }
71
102
  /**
@@ -77,13 +108,15 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
77
108
  LogError(`Cannot delete index: no VectorDB instance for database ${this.VectorDatabaseID}`);
78
109
  return;
79
110
  }
80
- LogStatus(`Deleting index "${this.Name}" from vector DB provider...`);
81
- const result = await vectorDB.DeleteIndex({ id: this.Name });
111
+ // Use ExternalID if available (the sanitized name stored in the provider), fall back to Name
112
+ const providerIndexName = this.ExternalID || this.sanitizeIndexName(this.Name);
113
+ LogStatus(`Deleting index "${providerIndexName}" from vector DB provider...`);
114
+ const result = await vectorDB.DeleteIndex({ id: providerIndexName });
82
115
  if (result.success) {
83
- LogStatus(`Index "${this.Name}" deleted from provider`);
116
+ LogStatus(`Index "${providerIndexName}" deleted from provider`);
84
117
  }
85
118
  else {
86
- LogError(`Provider returned error deleting index "${this.Name}": ${result.message}`);
119
+ LogError(`Provider returned error deleting index "${providerIndexName}": ${result.message}`);
87
120
  }
88
121
  }
89
122
  /**
@@ -130,10 +163,10 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
130
163
  * After provider creates the index, save the returned metadata back to our record.
131
164
  * Stores ExternalID, Dimensions, Metric, and full provider config as JSON.
132
165
  */
133
- async saveProviderMetadata(providerResult, params) {
166
+ async saveProviderMetadata(providerResult, params, sanitizedName) {
134
167
  try {
135
168
  // Save what we know from our params + whatever the provider returned
136
- this.ExternalID = this.Name; // For Pinecone, name IS the external ID
169
+ this.ExternalID = sanitizedName; // The sanitized name used in the provider
137
170
  this.Dimensions = params.dimension;
138
171
  this.Metric = params.metric;
139
172
  // Store full provider response + our spec as JSON config
@@ -1 +1 @@
1
- {"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export * from './custom/MJArtifactVersionEntityServer.server.js';
13
13
  export * from './custom/MJAIAgentNoteEntityServer.server.js';
14
14
  export * from './custom/MJAIAgentExampleEntityServer.server.js';
15
15
  export * from './custom/MJVectorIndexEntityServer.server.js';
16
+ export * from './custom/MJTagEntityServer.server.js';
16
17
  export * from './custom/util.js';
17
18
  export * from './engines/QueryEngineServer.js';
18
19
  export * from './engines/QueryMatchResult.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ export * from './custom/MJArtifactVersionEntityServer.server.js';
13
13
  export * from './custom/MJAIAgentNoteEntityServer.server.js';
14
14
  export * from './custom/MJAIAgentExampleEntityServer.server.js';
15
15
  export * from './custom/MJVectorIndexEntityServer.server.js';
16
+ export * from './custom/MJTagEntityServer.server.js';
16
17
  export * from './custom/util.js';
17
18
  export * from './engines/QueryEngineServer.js';
18
19
  export * from './engines/QueryMatchResult.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-entities-server",
3
3
  "type": "module",
4
- "version": "5.23.0",
4
+ "version": "5.24.0",
5
5
  "description": "Entity subclasses for the metadata layer of MemberJunction that are only used on server side applications like MJAPI, distributed as part of each release of MemberJunction",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -21,25 +21,26 @@
21
21
  "typescript": "^5.9.3"
22
22
  },
23
23
  "dependencies": {
24
- "@memberjunction/actions-base": "5.23.0",
25
- "@memberjunction/ai": "5.23.0",
26
- "@memberjunction/ai-core-plus": "5.23.0",
27
- "@memberjunction/ai-engine-base": "5.23.0",
28
- "@memberjunction/ai-prompts": "5.23.0",
29
- "@memberjunction/ai-provider-bundle": "5.23.0",
30
- "@memberjunction/ai-vectordb": "5.23.0",
31
- "@memberjunction/ai-vector-dupe": "5.23.0",
32
- "@memberjunction/ai-vectors-memory": "5.23.0",
33
- "@memberjunction/aiengine": "5.23.0",
34
- "@memberjunction/core": "5.23.0",
35
- "@memberjunction/core-entities": "5.23.0",
36
- "@memberjunction/generic-database-provider": "5.23.0",
37
- "@memberjunction/doc-utils": "5.23.0",
38
- "@memberjunction/global": "5.23.0",
39
- "@memberjunction/skip-types": "5.23.0",
40
- "@memberjunction/sql-converter": "5.23.0",
41
- "@memberjunction/sql-parser": "5.23.0",
42
- "@memberjunction/sqlserver-dataprovider": "5.23.0",
24
+ "@memberjunction/actions-base": "5.24.0",
25
+ "@memberjunction/ai": "5.24.0",
26
+ "@memberjunction/ai-core-plus": "5.24.0",
27
+ "@memberjunction/ai-engine-base": "5.24.0",
28
+ "@memberjunction/ai-prompts": "5.24.0",
29
+ "@memberjunction/ai-provider-bundle": "5.24.0",
30
+ "@memberjunction/ai-vectordb": "5.24.0",
31
+ "@memberjunction/tag-engine": "5.24.0",
32
+ "@memberjunction/ai-vector-dupe": "5.24.0",
33
+ "@memberjunction/ai-vectors-memory": "5.24.0",
34
+ "@memberjunction/aiengine": "5.24.0",
35
+ "@memberjunction/core": "5.24.0",
36
+ "@memberjunction/core-entities": "5.24.0",
37
+ "@memberjunction/generic-database-provider": "5.24.0",
38
+ "@memberjunction/doc-utils": "5.24.0",
39
+ "@memberjunction/global": "5.24.0",
40
+ "@memberjunction/skip-types": "5.24.0",
41
+ "@memberjunction/sql-converter": "5.24.0",
42
+ "@memberjunction/sql-parser": "5.24.0",
43
+ "@memberjunction/sqlserver-dataprovider": "5.24.0",
43
44
  "nunjucks": "3.2.4",
44
45
  "rxjs": "~7.8.1",
45
46
  "zod": "~3.24.4"