@memberjunction/core-entities-server 5.23.0 → 5.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom/MJTagEntityServer.server.d.ts +18 -0
- package/dist/custom/MJTagEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJTagEntityServer.server.js +79 -0
- package/dist/custom/MJTagEntityServer.server.js.map +1 -0
- package/dist/custom/MJUserViewEntityServer.server.d.ts +15 -1
- package/dist/custom/MJUserViewEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJUserViewEntityServer.server.js +13 -8
- package/dist/custom/MJUserViewEntityServer.server.js.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts +6 -0
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.js +47 -14
- package/dist/custom/MJVectorIndexEntityServer.server.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +21 -20
|
@@ -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;CAsCnD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
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, LogStatus, RunView } 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
|
+
// Clean up all FK references before deletion to prevent constraint errors.
|
|
41
|
+
try {
|
|
42
|
+
const rv = new RunView();
|
|
43
|
+
const [coOccResult, taggedItemResult, contentItemTagResult] = await rv.RunViews([
|
|
44
|
+
{ EntityName: 'MJ: Tag Co Occurrences', ExtraFilter: `TagAID='${tagID}' OR TagBID='${tagID}'`, ResultType: 'entity_object' },
|
|
45
|
+
{ EntityName: 'MJ: Tagged Items', ExtraFilter: `TagID='${tagID}'`, ResultType: 'entity_object' },
|
|
46
|
+
{ EntityName: 'MJ: Content Item Tags', ExtraFilter: `TagID='${tagID}'`, ResultType: 'entity_object' },
|
|
47
|
+
], this.ContextCurrentUser);
|
|
48
|
+
const deletes = [];
|
|
49
|
+
if (coOccResult.Success)
|
|
50
|
+
deletes.push(...coOccResult.Results.map((r) => r.Delete()));
|
|
51
|
+
if (taggedItemResult.Success)
|
|
52
|
+
deletes.push(...taggedItemResult.Results.map((r) => r.Delete()));
|
|
53
|
+
if (contentItemTagResult.Success)
|
|
54
|
+
deletes.push(...contentItemTagResult.Results.map((r) => r.Delete()));
|
|
55
|
+
if (deletes.length > 0) {
|
|
56
|
+
await Promise.all(deletes);
|
|
57
|
+
LogStatus(`[MJTagEntityServer] Cleaned up ${deletes.length} referencing records for tag "${tagName}"`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
LogError(`[MJTagEntityServer] Failed to clean up references for tag "${tagName}": ${error instanceof Error ? error.message : String(error)}`);
|
|
62
|
+
}
|
|
63
|
+
const deleteResult = await super.Delete();
|
|
64
|
+
if (deleteResult) {
|
|
65
|
+
try {
|
|
66
|
+
TagEngine.Instance.RemoveTagFromVectorService(tagID);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
LogError(`[MJTagEntityServer] Failed to remove embedding for tag "${tagName}" after delete: ${error instanceof Error ? error.message : String(error)}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return deleteResult;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
MJTagEntityServer = __decorate([
|
|
76
|
+
RegisterClass(BaseEntity, 'MJ: Tags')
|
|
77
|
+
], MJTagEntityServer);
|
|
78
|
+
export { MJTagEntityServer };
|
|
79
|
+
//# sourceMappingURL=MJTagEntityServer.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJTagEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { EntityInfo, IMetadataProvider } from "@memberjunction/core";
|
|
2
2
|
import { MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Template data passed to the Smart Filter Generation Nunjucks prompt.
|
|
5
|
+
*/
|
|
6
|
+
interface SmartFilterTemplateData extends Record<string, unknown> {
|
|
7
|
+
entityName: string;
|
|
8
|
+
entityId: string;
|
|
9
|
+
baseView: string;
|
|
10
|
+
fieldsDescription: string;
|
|
11
|
+
relatedViewsDescription: string;
|
|
12
|
+
listsSchema: string;
|
|
13
|
+
listsFields: string;
|
|
14
|
+
listDetailsFields: string;
|
|
15
|
+
}
|
|
3
16
|
export declare class MJUserViewEntityServer extends MJUserViewEntityExtended {
|
|
4
17
|
/**
|
|
5
18
|
* This property is hard-coded to true in this class because we DO support smart filters in this class. If you want to disable smart filters for a specific view you can override this property in your subclass and set it to false.
|
|
@@ -18,10 +31,11 @@ export declare class MJUserViewEntityServer extends MJUserViewEntityExtended {
|
|
|
18
31
|
* Builds the template data object for the Smart Filter Generation prompt.
|
|
19
32
|
* This data is used to populate the Nunjucks template variables.
|
|
20
33
|
*/
|
|
21
|
-
protected BuildTemplateData(entityInfo: EntityInfo):
|
|
34
|
+
protected BuildTemplateData(entityInfo: EntityInfo): SmartFilterTemplateData;
|
|
22
35
|
/**
|
|
23
36
|
* Builds the description of related views for the prompt template.
|
|
24
37
|
*/
|
|
25
38
|
protected BuildRelatedViewsDescription(entityInfo: EntityInfo, md: IMetadataProvider, processedViews: string[]): string;
|
|
26
39
|
}
|
|
40
|
+
export {};
|
|
27
41
|
//# sourceMappingURL=MJUserViewEntityServer.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJUserViewEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJUserViewEntityServer.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAY,iBAAiB,
|
|
1
|
+
{"version":3,"file":"MJUserViewEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJUserViewEntityServer.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAY,iBAAiB,EAAY,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAcxE;;GAEG;AACH,UAAU,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,qBACa,sBAAuB,SAAQ,wBAAwB;IAChE;;OAEG;IACH,cAAuB,sBAAsB,IAAI,OAAO,CAEvD;IAED;;;;OAIG;IACU,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,CAAC;IAkF5I;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB;IAwC5E;;OAEG;IACH,SAAS,CAAC,4BAA4B,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM;CAoC1H"}
|
|
@@ -4,8 +4,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { RegisterClass,
|
|
8
|
-
import { BaseEntity, LogError } from "@memberjunction/core";
|
|
7
|
+
import { RegisterClass, CleanAndParseJSON } from "@memberjunction/global";
|
|
8
|
+
import { BaseEntity, LogError, Metadata } from "@memberjunction/core";
|
|
9
9
|
import { MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
10
10
|
import { AIPromptParams } from "@memberjunction/ai-core-plus";
|
|
11
11
|
import { AIEngine } from "@memberjunction/aiengine";
|
|
@@ -52,13 +52,18 @@ let MJUserViewEntityServer = class MJUserViewEntityServer extends MJUserViewEnti
|
|
|
52
52
|
if (!result.success) {
|
|
53
53
|
throw new Error(`AI prompt execution failed: ${result.errorMessage}`);
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
// If the prompt runner already parsed into an object, use it directly.
|
|
56
|
+
// Otherwise parse the string result (OutputType='string' returns raw text
|
|
57
|
+
// that may be wrapped in markdown fencing).
|
|
58
|
+
let llmResponse;
|
|
59
|
+
if (result.result && typeof result.result === 'object' && 'whereClause' in result.result) {
|
|
60
|
+
llmResponse = result.result;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
llmResponse = CleanAndParseJSON(String(result.result ?? result.rawResult ?? ''), true);
|
|
57
64
|
}
|
|
58
|
-
// Process the response
|
|
59
|
-
const llmResponse = SafeJSONParse(result.rawResult);
|
|
60
65
|
if (!llmResponse) {
|
|
61
|
-
throw new Error(
|
|
66
|
+
throw new Error(`Invalid response from AI, could not extract whereClause`);
|
|
62
67
|
}
|
|
63
68
|
// Handle the whereClause - sometimes LLM prefixes with WHERE
|
|
64
69
|
if (llmResponse.whereClause && llmResponse.whereClause.length > 0) {
|
|
@@ -93,7 +98,7 @@ let MJUserViewEntityServer = class MJUserViewEntityServer extends MJUserViewEnti
|
|
|
93
98
|
*/
|
|
94
99
|
BuildTemplateData(entityInfo) {
|
|
95
100
|
const processedViews = [entityInfo.BaseView];
|
|
96
|
-
const md =
|
|
101
|
+
const md = Metadata.Provider;
|
|
97
102
|
const listsEntity = md.Entities.find(e => e.Name === "MJ: Lists");
|
|
98
103
|
const listDetailsEntity = md.Entities.find(e => e.Name === "MJ: List Details");
|
|
99
104
|
// Build fields description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJUserViewEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJUserViewEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"MJUserViewEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJUserViewEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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:
|
|
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 "${
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
68
|
-
LogError(`
|
|
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
|
-
|
|
81
|
-
const
|
|
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 "${
|
|
116
|
+
LogStatus(`Index "${providerIndexName}" deleted from provider`);
|
|
84
117
|
}
|
|
85
118
|
else {
|
|
86
|
-
LogError(`Provider returned error deleting index "${
|
|
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 =
|
|
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":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAY,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAA2C,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,mBAAmB;IAC9D;;OAEG;IACa,KAAK,CAAC,IAAI;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzC,QAAQ,CAAC,2BAA2B,IAAI,CAAC,IAAI,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,MAAM;QACxB,oFAAoF;QACpF,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjD,QAAQ,CAAC,2BAA2B,IAAI,CAAC,IAAI,6DAA6D,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,0DAA0D,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5F,OAAO;QACX,CAAC;QAED,
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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.
|
|
4
|
+
"version": "5.25.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.
|
|
25
|
-
"@memberjunction/ai": "5.
|
|
26
|
-
"@memberjunction/ai-core-plus": "5.
|
|
27
|
-
"@memberjunction/ai-engine-base": "5.
|
|
28
|
-
"@memberjunction/ai-prompts": "5.
|
|
29
|
-
"@memberjunction/ai-provider-bundle": "5.
|
|
30
|
-
"@memberjunction/ai-vectordb": "5.
|
|
31
|
-
"@memberjunction/
|
|
32
|
-
"@memberjunction/ai-
|
|
33
|
-
"@memberjunction/
|
|
34
|
-
"@memberjunction/
|
|
35
|
-
"@memberjunction/core
|
|
36
|
-
"@memberjunction/
|
|
37
|
-
"@memberjunction/
|
|
38
|
-
"@memberjunction/
|
|
39
|
-
"@memberjunction/
|
|
40
|
-
"@memberjunction/
|
|
41
|
-
"@memberjunction/sql-
|
|
42
|
-
"@memberjunction/
|
|
24
|
+
"@memberjunction/actions-base": "5.25.0",
|
|
25
|
+
"@memberjunction/ai": "5.25.0",
|
|
26
|
+
"@memberjunction/ai-core-plus": "5.25.0",
|
|
27
|
+
"@memberjunction/ai-engine-base": "5.25.0",
|
|
28
|
+
"@memberjunction/ai-prompts": "5.25.0",
|
|
29
|
+
"@memberjunction/ai-provider-bundle": "5.25.0",
|
|
30
|
+
"@memberjunction/ai-vectordb": "5.25.0",
|
|
31
|
+
"@memberjunction/tag-engine": "5.25.0",
|
|
32
|
+
"@memberjunction/ai-vector-dupe": "5.25.0",
|
|
33
|
+
"@memberjunction/ai-vectors-memory": "5.25.0",
|
|
34
|
+
"@memberjunction/aiengine": "5.25.0",
|
|
35
|
+
"@memberjunction/core": "5.25.0",
|
|
36
|
+
"@memberjunction/core-entities": "5.25.0",
|
|
37
|
+
"@memberjunction/generic-database-provider": "5.25.0",
|
|
38
|
+
"@memberjunction/doc-utils": "5.25.0",
|
|
39
|
+
"@memberjunction/global": "5.25.0",
|
|
40
|
+
"@memberjunction/skip-types": "5.25.0",
|
|
41
|
+
"@memberjunction/sql-converter": "5.25.0",
|
|
42
|
+
"@memberjunction/sql-parser": "5.25.0",
|
|
43
|
+
"@memberjunction/sqlserver-dataprovider": "5.25.0",
|
|
43
44
|
"nunjucks": "3.2.4",
|
|
44
45
|
"rxjs": "~7.8.1",
|
|
45
46
|
"zod": "~3.24.4"
|