@memberjunction/core-entities-server 5.34.1 → 5.35.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/MJConversationDetailAttachmentEntityServer.server.d.ts +29 -0
- package/dist/custom/MJConversationDetailAttachmentEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJConversationDetailAttachmentEntityServer.server.js +151 -0
- package/dist/custom/MJConversationDetailAttachmentEntityServer.server.js.map +1 -0
- 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 +22 -22
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { EntitySaveOptions, ValidationResult } from '@memberjunction/core';
|
|
2
|
+
import { MJConversationDetailAttachmentEntity } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Server-side hook for `MJ: Conversation Detail Attachments` that:
|
|
5
|
+
*
|
|
6
|
+
* 1. Rejects uploads whose MIME type is not registered in the Artifact
|
|
7
|
+
* Type registry (and whose extension hint also fails to resolve via
|
|
8
|
+
* the wildcard resolver). Failure surfaces through ValidateAsync so
|
|
9
|
+
* the client gets a structured error rather than a silent skip.
|
|
10
|
+
*
|
|
11
|
+
* 2. After the attachment row is saved, creates a paired Artifact +
|
|
12
|
+
* ArtifactVersion (v1) + ConversationDetailArtifact junction so the
|
|
13
|
+
* attachment participates in the artifact-tool dispatch path. The
|
|
14
|
+
* attachment's ArtifactVersionID is set as a back-link; the
|
|
15
|
+
* RunAIAgentResolver uses that link to dedupe between the attachment
|
|
16
|
+
* and its artifact partner.
|
|
17
|
+
*
|
|
18
|
+
* Both legs run on every NEW save. Updates to an already-paired attachment
|
|
19
|
+
* (ArtifactVersionID already populated) skip the pairing step but still go
|
|
20
|
+
* through validation.
|
|
21
|
+
*/
|
|
22
|
+
export declare class MJConversationDetailAttachmentEntityServer extends MJConversationDetailAttachmentEntity {
|
|
23
|
+
get DefaultSkipAsyncValidation(): boolean;
|
|
24
|
+
ValidateAsync(): Promise<ValidationResult>;
|
|
25
|
+
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
26
|
+
private checkMimeRegistered;
|
|
27
|
+
private createArtifactPair;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=MJConversationDetailAttachmentEntityServer.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJConversationDetailAttachmentEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationDetailAttachmentEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAoF,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEzK,OAAO,EAKH,oCAAoC,EAGvC,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,0CAA2C,SAAQ,oCAAoC;IAEhG,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEqB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAgB1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YAuB3D,mBAAmB;YAyBnB,kBAAkB;CAqEnC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
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, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
|
|
8
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
9
|
+
import { ArtifactMetadataEngine, MJConversationDetailAttachmentEntity, BuildUnregisteredMimeError, DecideInlineStorage, } from '@memberjunction/core-entities';
|
|
10
|
+
/**
|
|
11
|
+
* Server-side hook for `MJ: Conversation Detail Attachments` that:
|
|
12
|
+
*
|
|
13
|
+
* 1. Rejects uploads whose MIME type is not registered in the Artifact
|
|
14
|
+
* Type registry (and whose extension hint also fails to resolve via
|
|
15
|
+
* the wildcard resolver). Failure surfaces through ValidateAsync so
|
|
16
|
+
* the client gets a structured error rather than a silent skip.
|
|
17
|
+
*
|
|
18
|
+
* 2. After the attachment row is saved, creates a paired Artifact +
|
|
19
|
+
* ArtifactVersion (v1) + ConversationDetailArtifact junction so the
|
|
20
|
+
* attachment participates in the artifact-tool dispatch path. The
|
|
21
|
+
* attachment's ArtifactVersionID is set as a back-link; the
|
|
22
|
+
* RunAIAgentResolver uses that link to dedupe between the attachment
|
|
23
|
+
* and its artifact partner.
|
|
24
|
+
*
|
|
25
|
+
* Both legs run on every NEW save. Updates to an already-paired attachment
|
|
26
|
+
* (ArtifactVersionID already populated) skip the pairing step but still go
|
|
27
|
+
* through validation.
|
|
28
|
+
*/
|
|
29
|
+
let MJConversationDetailAttachmentEntityServer = class MJConversationDetailAttachmentEntityServer extends MJConversationDetailAttachmentEntity {
|
|
30
|
+
get DefaultSkipAsyncValidation() {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
async ValidateAsync() {
|
|
34
|
+
const result = await super.ValidateAsync();
|
|
35
|
+
if (!result.Success)
|
|
36
|
+
return result;
|
|
37
|
+
// Skip the MIME gate for already-saved rows being updated for
|
|
38
|
+
// unrelated reasons (e.g. DisplayOrder reorder, FileID rebind).
|
|
39
|
+
if (!this.IsSaved) {
|
|
40
|
+
const gateError = await this.checkMimeRegistered();
|
|
41
|
+
if (gateError) {
|
|
42
|
+
result.Success = false;
|
|
43
|
+
(result.Errors ??= []).push(gateError);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
async Save(options) {
|
|
49
|
+
const isNewSave = !this.IsSaved;
|
|
50
|
+
const saved = await super.Save(options);
|
|
51
|
+
if (!saved)
|
|
52
|
+
return false;
|
|
53
|
+
// Pair the attachment with an Artifact/Version/junction on creation.
|
|
54
|
+
// Existing rows or rows already linked are skipped.
|
|
55
|
+
if (isNewSave && !this.ArtifactVersionID) {
|
|
56
|
+
try {
|
|
57
|
+
const versionId = await this.createArtifactPair();
|
|
58
|
+
if (versionId) {
|
|
59
|
+
this.ArtifactVersionID = versionId;
|
|
60
|
+
if (!(await super.Save(options))) {
|
|
61
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] failed to backlink attachment ${this.ID} to artifact version ${versionId}: ${this.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] storage unification failed for attachment ${this.ID}: ${err instanceof Error ? err.message : String(err)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
async checkMimeRegistered() {
|
|
72
|
+
const mime = this.MimeType ?? '';
|
|
73
|
+
if (!mime) {
|
|
74
|
+
return new ValidationErrorInfo('MimeType', 'A MIME type is required when uploading an attachment.', this.MimeType, ValidationErrorType.Failure);
|
|
75
|
+
}
|
|
76
|
+
await ArtifactMetadataEngine.Instance.Config(false, this.ContextCurrentUser);
|
|
77
|
+
const ext = this.FileName?.includes('.') ? this.FileName.split('.').pop() : undefined;
|
|
78
|
+
const artifactType = ArtifactMetadataEngine.Instance.GetArtifactTypeByMimeType(mime, ext);
|
|
79
|
+
if (!artifactType) {
|
|
80
|
+
return new ValidationErrorInfo('MimeType', BuildUnregisteredMimeError(this.FileName, mime), mime, ValidationErrorType.Failure);
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
async createArtifactPair() {
|
|
85
|
+
const mime = this.MimeType;
|
|
86
|
+
if (!mime)
|
|
87
|
+
return null;
|
|
88
|
+
await ArtifactMetadataEngine.Instance.Config(false, this.ContextCurrentUser);
|
|
89
|
+
const ext = this.FileName?.includes('.') ? this.FileName.split('.').pop() : undefined;
|
|
90
|
+
const artifactType = ArtifactMetadataEngine.Instance.GetArtifactTypeByMimeType(mime, ext);
|
|
91
|
+
if (!artifactType) {
|
|
92
|
+
// Validation should have caught this. Log and bail rather than panic.
|
|
93
|
+
LogStatus(`[MJConversationDetailAttachmentEntityServer] no artifact type for MIME "${mime}" on attachment ${this.ID}; skipping pair creation.`);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
// Use this entity's own provider rather than `new Metadata()` — keeps
|
|
97
|
+
// the artifact pair on the same provider as the originating attachment
|
|
98
|
+
// in multi-provider clients (per @memberjunction/global multi-provider
|
|
99
|
+
// compliance rule).
|
|
100
|
+
const md = this.ProviderToUse;
|
|
101
|
+
const userId = this.ContextCurrentUser?.ID;
|
|
102
|
+
if (!userId) {
|
|
103
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] no context user for attachment ${this.ID}; cannot create artifact.`);
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const artifact = await md.GetEntityObject('MJ: Artifacts', this.ContextCurrentUser);
|
|
107
|
+
artifact.Name = this.FileName || `attachment_${this.ID}`;
|
|
108
|
+
artifact.TypeID = artifactType.ID;
|
|
109
|
+
artifact.UserID = userId;
|
|
110
|
+
artifact.Visibility = 'Always';
|
|
111
|
+
if (!(await artifact.Save())) {
|
|
112
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] failed to save artifact for attachment ${this.ID}: ${artifact.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
const version = await md.GetEntityObject('MJ: Artifact Versions', this.ContextCurrentUser);
|
|
116
|
+
version.ArtifactID = artifact.ID;
|
|
117
|
+
version.VersionNumber = 1;
|
|
118
|
+
version.MimeType = mime;
|
|
119
|
+
version.FileName = this.FileName ?? null;
|
|
120
|
+
version.ContentSizeBytes = this.FileSizeBytes ?? null;
|
|
121
|
+
version.UserID = userId;
|
|
122
|
+
if (this.FileID) {
|
|
123
|
+
version.ContentMode = 'File';
|
|
124
|
+
version.FileID = this.FileID;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// Single source of truth for the inline-storage decision — pure
|
|
128
|
+
// helper so both upload-path and tests share the same logic.
|
|
129
|
+
const stored = DecideInlineStorage(mime, this.InlineData);
|
|
130
|
+
version.ContentMode = stored.contentMode;
|
|
131
|
+
version.Content = stored.content;
|
|
132
|
+
}
|
|
133
|
+
if (!(await version.Save())) {
|
|
134
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] failed to save artifact version for attachment ${this.ID}: ${version.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
const junction = await md.GetEntityObject('MJ: Conversation Detail Artifacts', this.ContextCurrentUser);
|
|
138
|
+
junction.ConversationDetailID = this.ConversationDetailID;
|
|
139
|
+
junction.ArtifactVersionID = version.ID;
|
|
140
|
+
junction.Direction = 'Input';
|
|
141
|
+
if (!(await junction.Save())) {
|
|
142
|
+
LogError(`[MJConversationDetailAttachmentEntityServer] failed to link artifact ${artifact.ID} to detail ${this.ConversationDetailID}: ${junction.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
143
|
+
}
|
|
144
|
+
return version.ID;
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
MJConversationDetailAttachmentEntityServer = __decorate([
|
|
148
|
+
RegisterClass(BaseEntity, 'MJ: Conversation Detail Attachments')
|
|
149
|
+
], MJConversationDetailAttachmentEntityServer);
|
|
150
|
+
export { MJConversationDetailAttachmentEntityServer };
|
|
151
|
+
//# sourceMappingURL=MJConversationDetailAttachmentEntityServer.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJConversationDetailAttachmentEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationDetailAttachmentEntityServer.server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './custom/MJAIPromptEntityServer.server.js';
|
|
2
2
|
export * from './custom/MJAIPromptRunEntityServer.server.js';
|
|
3
3
|
export * from './custom/MJConversationDetailEntityServer.server.js';
|
|
4
|
+
export * from './custom/MJConversationDetailAttachmentEntityServer.server.js';
|
|
4
5
|
export * from './custom/MJDuplicateRunEntityServer.server.js';
|
|
5
6
|
export * from './custom/MJQueryEntityServer.server.js';
|
|
6
7
|
export * from './custom/MJTemplateContentEntityServer.server.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,+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,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,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,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,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,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './custom/MJAIPromptEntityServer.server.js';
|
|
2
2
|
export * from './custom/MJAIPromptRunEntityServer.server.js';
|
|
3
3
|
export * from './custom/MJConversationDetailEntityServer.server.js';
|
|
4
|
+
export * from './custom/MJConversationDetailAttachmentEntityServer.server.js';
|
|
4
5
|
export * from './custom/MJDuplicateRunEntityServer.server.js';
|
|
5
6
|
export * from './custom/MJQueryEntityServer.server.js';
|
|
6
7
|
export * from './custom/MJTemplateContentEntityServer.server.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,+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,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,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,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,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,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,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.35.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,27 +21,27 @@
|
|
|
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/tag-engine": "5.
|
|
32
|
-
"@memberjunction/ai-vector-dupe": "5.
|
|
33
|
-
"@memberjunction/ai-vectors-memory": "5.
|
|
34
|
-
"@memberjunction/aiengine": "5.
|
|
35
|
-
"@memberjunction/core": "5.
|
|
36
|
-
"@memberjunction/core-entities": "5.
|
|
37
|
-
"@memberjunction/generic-database-provider": "5.
|
|
38
|
-
"@memberjunction/doc-utils": "5.
|
|
39
|
-
"@memberjunction/global": "5.
|
|
40
|
-
"@memberjunction/skip-types": "5.
|
|
41
|
-
"@memberjunction/sql-converter": "5.
|
|
42
|
-
"@memberjunction/sql-dialect": "5.
|
|
43
|
-
"@memberjunction/sql-parser": "5.
|
|
44
|
-
"@memberjunction/sqlserver-dataprovider": "5.
|
|
24
|
+
"@memberjunction/actions-base": "5.35.0",
|
|
25
|
+
"@memberjunction/ai": "5.35.0",
|
|
26
|
+
"@memberjunction/ai-core-plus": "5.35.0",
|
|
27
|
+
"@memberjunction/ai-engine-base": "5.35.0",
|
|
28
|
+
"@memberjunction/ai-prompts": "5.35.0",
|
|
29
|
+
"@memberjunction/ai-provider-bundle": "5.35.0",
|
|
30
|
+
"@memberjunction/ai-vectordb": "5.35.0",
|
|
31
|
+
"@memberjunction/tag-engine": "5.35.0",
|
|
32
|
+
"@memberjunction/ai-vector-dupe": "5.35.0",
|
|
33
|
+
"@memberjunction/ai-vectors-memory": "5.35.0",
|
|
34
|
+
"@memberjunction/aiengine": "5.35.0",
|
|
35
|
+
"@memberjunction/core": "5.35.0",
|
|
36
|
+
"@memberjunction/core-entities": "5.35.0",
|
|
37
|
+
"@memberjunction/generic-database-provider": "5.35.0",
|
|
38
|
+
"@memberjunction/doc-utils": "5.35.0",
|
|
39
|
+
"@memberjunction/global": "5.35.0",
|
|
40
|
+
"@memberjunction/skip-types": "5.35.0",
|
|
41
|
+
"@memberjunction/sql-converter": "5.35.0",
|
|
42
|
+
"@memberjunction/sql-dialect": "5.35.0",
|
|
43
|
+
"@memberjunction/sql-parser": "5.35.0",
|
|
44
|
+
"@memberjunction/sqlserver-dataprovider": "5.35.0",
|
|
45
45
|
"nunjucks": "3.2.4",
|
|
46
46
|
"rxjs": "~7.8.1",
|
|
47
47
|
"zod": "~3.24.4"
|