@memberjunction/core-entities-server 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom/QueryEntity.server.d.ts +6 -0
- package/dist/custom/QueryEntity.server.d.ts.map +1 -1
- package/dist/custom/QueryEntity.server.js +130 -40
- package/dist/custom/QueryEntity.server.js.map +1 -1
- package/dist/custom/userViewEntity.server.d.ts +10 -13
- package/dist/custom/userViewEntity.server.d.ts.map +1 -1
- package/dist/custom/userViewEntity.server.js +106 -174
- package/dist/custom/userViewEntity.server.js.map +1 -1
- package/package.json +15 -15
|
@@ -56,6 +56,12 @@ export declare class QueryEntityExtended extends QueryEntity {
|
|
|
56
56
|
private extractEntityMetadataFromSQLRegex;
|
|
57
57
|
private syncQueryParameters;
|
|
58
58
|
private removeAllQueryParameters;
|
|
59
|
+
/**
|
|
60
|
+
* Expands wildcard (*) entries in the extracted fields list.
|
|
61
|
+
* When AI returns a field with sourceFieldName="*", it indicates a SELECT table.* pattern.
|
|
62
|
+
* We expand this into individual field entries by looking up the entity's fields from metadata.
|
|
63
|
+
*/
|
|
64
|
+
private expandWildcardFields;
|
|
59
65
|
private syncQueryFields;
|
|
60
66
|
private syncQueryEntities;
|
|
61
67
|
private removeAllQueryFields;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/QueryEntity.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAyC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAW,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACpO,OAAO,EAAE,WAAW,EAA6D,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/QueryEntity.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAyC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAW,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACpO,OAAO,EAAE,WAAW,EAA6D,MAAM,+BAA+B,CAAC;AAuCvH,qBACa,mBAAoB,SAAQ,WAAW;IAChD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,iBAAiB,CAA6B;IAEtD,IAAW,aAAa,IAAI,eAAe,EAAE,CAE5C;IAED,IAAW,WAAW,IAAI,cAAc,EAAE,CAEzC;IAED,IAAW,eAAe,IAAI,kBAAkB,EAAE,CAEjD;IAED,IAAW,gBAAgB,IAAI,mBAAmB,EAAE,CAEnD;IAED;;;;OAIG;cACsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7E,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CnD,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBpE;;;OAGG;YACW,uBAAuB;IAuBrC;;OAEG;YACW,sBAAsB;YAkBtB,kBAAkB;IA+FhC;;;OAGG;YACW,4BAA4B;IA4G1C;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkDpC;;OAEG;IACH,OAAO,CAAC,cAAc;IA8DtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,OAAO,CAAC,iCAAiC;YA8D3B,mBAAmB;YAoJnB,wBAAwB;IA8BtC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;YAqDd,eAAe;YA0Kf,iBAAiB;YAsFjB,oBAAoB;YA4BpB,sBAAsB;IA4BrB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,yBAAyB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7F,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrF;;;;;OAKG;IACU,sBAAsB,CAAC,aAAa,EAAE,OAAO;CAgB7D;AAED,wBAAgB,6BAA6B,SAAK"}
|
|
@@ -177,30 +177,26 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
177
177
|
}
|
|
178
178
|
async extractAndSyncData() {
|
|
179
179
|
try {
|
|
180
|
-
//
|
|
180
|
+
// Check if SQL contains Nunjucks syntax (determines if query uses templates/parameters)
|
|
181
181
|
const hasNunjucksSyntax = this.SQL && (this.SQL.includes('{{') ||
|
|
182
182
|
this.SQL.includes('{%') ||
|
|
183
183
|
this.SQL.includes('{#'));
|
|
184
|
-
if (!hasNunjucksSyntax) {
|
|
185
|
-
// No Nunjucks syntax found - skip AI processing to save tokens/time
|
|
186
|
-
this.UsesTemplate = false;
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
184
|
// Ensure AIEngine is configured
|
|
190
185
|
await aiengine_1.AIEngine.Instance.Config(false, this.ContextCurrentUser, this.ProviderToUse);
|
|
191
|
-
// Find the
|
|
186
|
+
// Find the SQL Query Parameter Extraction prompt
|
|
192
187
|
const aiPrompt = aiengine_1.AIEngine.Instance.Prompts.find(p => p.Name === 'SQL Query Parameter Extraction' &&
|
|
193
188
|
p.Category === 'MJ: System');
|
|
194
189
|
if (!aiPrompt) {
|
|
195
190
|
// Prompt not configured, non-fatal, just warn and return
|
|
196
|
-
console.warn('AI prompt for SQL Query Parameter Extraction not found. Skipping
|
|
191
|
+
console.warn('AI prompt for SQL Query Parameter Extraction not found. Skipping query metadata extraction.');
|
|
192
|
+
this.UsesTemplate = false;
|
|
197
193
|
return;
|
|
198
194
|
}
|
|
199
195
|
// First, do a quick parse to identify entities from the SQL
|
|
200
196
|
// We'll use this to provide entity metadata to the LLM for better type inference
|
|
201
197
|
const entityMetadata = await this.extractEntityMetadataFromSQL();
|
|
202
198
|
// Prepare prompt data - we'll send the SQL as templateText since the prompt
|
|
203
|
-
// is designed to extract
|
|
199
|
+
// is designed to extract both parameters (if any) and query fields/entities
|
|
204
200
|
const promptData = {
|
|
205
201
|
templateText: this.SQL,
|
|
206
202
|
entities: entityMetadata
|
|
@@ -214,7 +210,7 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
214
210
|
const result = await promptRunner.ExecutePrompt(params);
|
|
215
211
|
if (!result.success || !result.result) {
|
|
216
212
|
// AI extraction failed - log details for debugging
|
|
217
|
-
console.warn(`Query "${this.Name}" - AI
|
|
213
|
+
console.warn(`Query "${this.Name}" - AI query metadata extraction failed:`, {
|
|
218
214
|
success: result.success,
|
|
219
215
|
status: result.status,
|
|
220
216
|
errorMessage: result.errorMessage,
|
|
@@ -223,21 +219,18 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
223
219
|
this.UsesTemplate = false;
|
|
224
220
|
return;
|
|
225
221
|
}
|
|
226
|
-
// Validate that result.result has the expected structure
|
|
227
|
-
if (!result.result.parameters || !Array.isArray(result.result.parameters)) {
|
|
228
|
-
// AI returned malformed result - log for debugging
|
|
229
|
-
console.warn(`Query "${this.Name}" - AI returned malformed result:`, {
|
|
230
|
-
hasParameters: !!result.result.parameters,
|
|
231
|
-
isArray: Array.isArray(result.result.parameters),
|
|
232
|
-
resultKeys: Object.keys(result.result)
|
|
233
|
-
});
|
|
234
|
-
this.UsesTemplate = false;
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
222
|
// Process the extracted data in parallel
|
|
238
|
-
const syncPromises = [
|
|
239
|
-
|
|
240
|
-
|
|
223
|
+
const syncPromises = [];
|
|
224
|
+
// Sync parameters if we have Nunjucks syntax and parameters were extracted
|
|
225
|
+
// For non-templated queries, ensure any stale parameters are removed
|
|
226
|
+
if (hasNunjucksSyntax && result.result.parameters && Array.isArray(result.result.parameters)) {
|
|
227
|
+
syncPromises.push(this.syncQueryParameters(result.result.parameters));
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// No Nunjucks syntax - remove any existing parameters
|
|
231
|
+
syncPromises.push(this.removeAllQueryParameters());
|
|
232
|
+
}
|
|
233
|
+
// Always sync query fields if we got a selectClause back
|
|
241
234
|
if (result.result.selectClause && Array.isArray(result.result.selectClause) && result.result.selectClause.length > 0) {
|
|
242
235
|
syncPromises.push(this.syncQueryFields(result.result.selectClause));
|
|
243
236
|
}
|
|
@@ -247,8 +240,11 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
247
240
|
syncPromises.push(this.syncQueryEntities(entityMetadata));
|
|
248
241
|
}
|
|
249
242
|
await Promise.all(syncPromises);
|
|
250
|
-
// Update UsesTemplate flag based on whether parameters were found
|
|
251
|
-
this.UsesTemplate =
|
|
243
|
+
// Update UsesTemplate flag based on whether Nunjucks syntax exists and parameters were found
|
|
244
|
+
this.UsesTemplate = hasNunjucksSyntax &&
|
|
245
|
+
result.result.parameters &&
|
|
246
|
+
Array.isArray(result.result.parameters) &&
|
|
247
|
+
result.result.parameters.length > 0;
|
|
252
248
|
}
|
|
253
249
|
catch (e) {
|
|
254
250
|
// Unexpected error during extraction - log for debugging but don't fail the save
|
|
@@ -713,10 +709,67 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
713
709
|
throw e; // Re-throw since we're in a transaction
|
|
714
710
|
}
|
|
715
711
|
}
|
|
712
|
+
/**
|
|
713
|
+
* Expands wildcard (*) entries in the extracted fields list.
|
|
714
|
+
* When AI returns a field with sourceFieldName="*", it indicates a SELECT table.* pattern.
|
|
715
|
+
* We expand this into individual field entries by looking up the entity's fields from metadata.
|
|
716
|
+
*/
|
|
717
|
+
expandWildcardFields(extractedFields, md) {
|
|
718
|
+
const expandedFields = [];
|
|
719
|
+
for (const field of extractedFields) {
|
|
720
|
+
// Check if this is a wildcard entry: sourceFieldName is "*" and sourceEntity is set
|
|
721
|
+
if (field.sourceFieldName === '*' && field.sourceEntity) {
|
|
722
|
+
// Look up the entity in metadata
|
|
723
|
+
const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === field.sourceEntity.toLowerCase());
|
|
724
|
+
if (sourceEntityInfo) {
|
|
725
|
+
// Expand the wildcard into individual fields from the entity
|
|
726
|
+
for (const entityField of sourceEntityInfo.Fields) {
|
|
727
|
+
// Map SQL type to our simplified type system
|
|
728
|
+
let fieldType = 'string';
|
|
729
|
+
const sqlTypeLower = entityField.Type.toLowerCase();
|
|
730
|
+
if (sqlTypeLower.includes('int') || sqlTypeLower.includes('decimal') ||
|
|
731
|
+
sqlTypeLower.includes('numeric') || sqlTypeLower.includes('float') ||
|
|
732
|
+
sqlTypeLower.includes('real') || sqlTypeLower.includes('money')) {
|
|
733
|
+
fieldType = 'number';
|
|
734
|
+
}
|
|
735
|
+
else if (sqlTypeLower.includes('date') || sqlTypeLower.includes('time')) {
|
|
736
|
+
fieldType = 'date';
|
|
737
|
+
}
|
|
738
|
+
else if (sqlTypeLower.includes('bit')) {
|
|
739
|
+
fieldType = 'boolean';
|
|
740
|
+
}
|
|
741
|
+
expandedFields.push({
|
|
742
|
+
name: entityField.Name, // SQL Server returns original column names for *
|
|
743
|
+
description: entityField.Description || `${entityField.Name} field from ${field.sourceEntity}`,
|
|
744
|
+
type: fieldType,
|
|
745
|
+
optional: field.optional, // Inherit from the wildcard entry
|
|
746
|
+
sourceEntity: field.sourceEntity,
|
|
747
|
+
sourceFieldName: entityField.Name,
|
|
748
|
+
isComputed: false,
|
|
749
|
+
isSummary: false
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
else {
|
|
754
|
+
// Entity not found in metadata - keep the original entry as-is
|
|
755
|
+
// but log a warning
|
|
756
|
+
console.warn(`Query "${this.Name}" - Could not expand wildcard for entity "${field.sourceEntity}" - entity not found in metadata`);
|
|
757
|
+
expandedFields.push(field);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
else {
|
|
761
|
+
// Not a wildcard entry - keep as-is
|
|
762
|
+
expandedFields.push(field);
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
return expandedFields;
|
|
766
|
+
}
|
|
716
767
|
async syncQueryFields(extractedFields) {
|
|
717
768
|
// Use the entity's provider instead of creating new Metadata instance
|
|
718
769
|
// Use same casting pattern as RefreshRelatedMetadata method
|
|
719
770
|
const md = this.ProviderToUse;
|
|
771
|
+
// Expand any wildcard (*) entries before processing
|
|
772
|
+
const fieldsToSync = this.expandWildcardFields(extractedFields, md);
|
|
720
773
|
try {
|
|
721
774
|
const existingFields = [];
|
|
722
775
|
if (this.IsSaved) {
|
|
@@ -732,12 +785,12 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
732
785
|
}
|
|
733
786
|
existingFields.push(...existingFieldsResult.Results || []);
|
|
734
787
|
}
|
|
735
|
-
// Convert
|
|
736
|
-
const
|
|
788
|
+
// Convert field names to lowercase for comparison (using expanded fieldsToSync)
|
|
789
|
+
const fieldNamesToSync = fieldsToSync.map(f => f.name.toLowerCase());
|
|
737
790
|
// Find fields to add, update, or remove
|
|
738
|
-
const fieldsToAdd =
|
|
739
|
-
const fieldsToUpdate = existingFields.filter(ef =>
|
|
740
|
-
const fieldsToRemove = existingFields.filter(ef => !
|
|
791
|
+
const fieldsToAdd = fieldsToSync.filter(f => !existingFields.some(ef => ef.Name.toLowerCase() === f.name.toLowerCase()));
|
|
792
|
+
const fieldsToUpdate = existingFields.filter(ef => fieldsToSync.some(f => f.name.toLowerCase() === ef.Name.toLowerCase()));
|
|
793
|
+
const fieldsToRemove = existingFields.filter(ef => !fieldNamesToSync.includes(ef.Name.toLowerCase()));
|
|
741
794
|
// Prepare all save/delete operations
|
|
742
795
|
const promises = [];
|
|
743
796
|
// Add new fields
|
|
@@ -766,28 +819,65 @@ let QueryEntityExtended = class QueryEntityExtended extends core_entities_1.Quer
|
|
|
766
819
|
newField.SQLBaseType = 'nvarchar';
|
|
767
820
|
newField.SQLFullType = 'nvarchar(MAX)';
|
|
768
821
|
}
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
822
|
+
// Set computed/summary flags
|
|
823
|
+
newField.IsComputed = field.isComputed || field.dynamicName || false;
|
|
824
|
+
newField.IsSummary = field.isSummary || false;
|
|
825
|
+
if (field.computationDescription) {
|
|
826
|
+
newField.ComputationDescription = field.computationDescription;
|
|
772
827
|
}
|
|
828
|
+
// Set source entity tracking
|
|
829
|
+
if (field.sourceEntity) {
|
|
830
|
+
// Look up entity ID from entity name
|
|
831
|
+
const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === field.sourceEntity.toLowerCase());
|
|
832
|
+
if (sourceEntityInfo) {
|
|
833
|
+
newField.SourceEntityID = sourceEntityInfo.ID;
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
newField.SourceFieldName = field.sourceFieldName || (field.dynamicName ? field.name : null);
|
|
773
837
|
promises.push(newField.Save());
|
|
774
838
|
}
|
|
775
839
|
// Update existing fields if properties changed
|
|
776
840
|
for (const existingField of fieldsToUpdate) {
|
|
777
|
-
const extractedField =
|
|
841
|
+
const extractedField = fieldsToSync.find(f => f.name.toLowerCase() === existingField.Name.toLowerCase());
|
|
778
842
|
if (extractedField) {
|
|
779
843
|
let hasChanges = false;
|
|
780
844
|
if (existingField.Description !== extractedField.description) {
|
|
781
845
|
existingField.Description = extractedField.description;
|
|
782
846
|
hasChanges = true;
|
|
783
847
|
}
|
|
784
|
-
const
|
|
785
|
-
if (existingField.IsComputed !==
|
|
786
|
-
existingField.IsComputed =
|
|
848
|
+
const newIsComputed = extractedField.isComputed || extractedField.dynamicName || false;
|
|
849
|
+
if (existingField.IsComputed !== newIsComputed) {
|
|
850
|
+
existingField.IsComputed = newIsComputed;
|
|
851
|
+
hasChanges = true;
|
|
852
|
+
}
|
|
853
|
+
const newIsSummary = extractedField.isSummary || false;
|
|
854
|
+
if (existingField.IsSummary !== newIsSummary) {
|
|
855
|
+
existingField.IsSummary = newIsSummary;
|
|
856
|
+
hasChanges = true;
|
|
857
|
+
}
|
|
858
|
+
if (extractedField.computationDescription && existingField.ComputationDescription !== extractedField.computationDescription) {
|
|
859
|
+
existingField.ComputationDescription = extractedField.computationDescription;
|
|
860
|
+
hasChanges = true;
|
|
861
|
+
}
|
|
862
|
+
// Update source entity tracking
|
|
863
|
+
if (extractedField.sourceEntity) {
|
|
864
|
+
const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === extractedField.sourceEntity.toLowerCase());
|
|
865
|
+
if (sourceEntityInfo && existingField.SourceEntityID !== sourceEntityInfo.ID) {
|
|
866
|
+
existingField.SourceEntityID = sourceEntityInfo.ID;
|
|
867
|
+
hasChanges = true;
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
else if (existingField.SourceEntityID != null) {
|
|
871
|
+
existingField.SourceEntityID = null;
|
|
872
|
+
hasChanges = true;
|
|
873
|
+
}
|
|
874
|
+
const newSourceFieldName = extractedField.sourceFieldName || (extractedField.dynamicName ? extractedField.name : null);
|
|
875
|
+
if (existingField.SourceFieldName !== newSourceFieldName) {
|
|
876
|
+
existingField.SourceFieldName = newSourceFieldName;
|
|
787
877
|
hasChanges = true;
|
|
788
878
|
}
|
|
789
|
-
if (existingField.Sequence !==
|
|
790
|
-
existingField.Sequence =
|
|
879
|
+
if (existingField.Sequence !== fieldsToSync.indexOf(extractedField) + 1) {
|
|
880
|
+
existingField.Sequence = fieldsToSync.indexOf(extractedField) + 1;
|
|
791
881
|
hasChanges = true;
|
|
792
882
|
}
|
|
793
883
|
if (hasChanges) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryEntity.server.js","sourceRoot":"","sources":["../../src/custom/QueryEntity.server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryEntity.server.js","sourceRoot":"","sources":["../../src/custom/QueryEntity.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import { EntityInfo } from "@memberjunction/core";
|
|
1
|
+
import { EntityInfo, IMetadataProvider } from "@memberjunction/core";
|
|
2
2
|
import { UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
3
|
-
import { AIModelEntityExtended } from "@memberjunction/ai-core-plus";
|
|
4
3
|
export declare class UserViewEntity_Server extends UserViewEntityExtended {
|
|
5
4
|
/**
|
|
6
5
|
* 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.
|
|
7
6
|
*/
|
|
8
7
|
protected get SmartFilterImplemented(): boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Default implementation simply returns 'OpenAI' - override this in your subclass if you are using a different AI vendor.
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
protected get AIVendorName(): string;
|
|
14
|
-
/**
|
|
15
|
-
* Default implementation simply grabs the first AI model that matches GetAIModelName().
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
protected GetAIModel(): Promise<AIModelEntityExtended>;
|
|
19
8
|
/**
|
|
20
9
|
* This method will use AI to return a valid WHERE clause based on the provided prompt. This is automatically called at the right time if the view has SmartFilterEnabled turned on and the SmartFilterPrompt is set. If you want
|
|
21
10
|
* to call this directly to get back a WHERE clause for other purposes you can call this method directly and provide both a prompt and the entity that the view is based on.
|
|
@@ -25,7 +14,15 @@ export declare class UserViewEntity_Server extends UserViewEntityExtended {
|
|
|
25
14
|
whereClause: string;
|
|
26
15
|
userExplanation: string;
|
|
27
16
|
}>;
|
|
28
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Builds the template data object for the Smart Filter Generation prompt.
|
|
19
|
+
* This data is used to populate the Nunjucks template variables.
|
|
20
|
+
*/
|
|
21
|
+
protected BuildTemplateData(entityInfo: EntityInfo): Record<string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Builds the description of related views for the prompt template.
|
|
24
|
+
*/
|
|
25
|
+
protected BuildRelatedViewsDescription(entityInfo: EntityInfo, md: IMetadataProvider, processedViews: string[]): string;
|
|
29
26
|
}
|
|
30
27
|
export declare function LoadUserViewEntityServerSubClass(): void;
|
|
31
28
|
//# sourceMappingURL=userViewEntity.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userViewEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/userViewEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,
|
|
1
|
+
{"version":3,"file":"userViewEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/userViewEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AActE,qBACa,qBAAsB,SAAQ,sBAAsB;IAC7D;;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;IA4E5I;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwC5E;;OAEG;IACH,SAAS,CAAC,4BAA4B,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM;CAoC1H;AAGD,wBAAgB,gCAAgC,SAE/C"}
|
|
@@ -10,8 +10,9 @@ exports.LoadUserViewEntityServerSubClass = exports.UserViewEntity_Server = void
|
|
|
10
10
|
const global_1 = require("@memberjunction/global");
|
|
11
11
|
const core_1 = require("@memberjunction/core");
|
|
12
12
|
const core_entities_1 = require("@memberjunction/core-entities");
|
|
13
|
-
const
|
|
13
|
+
const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
|
|
14
14
|
const aiengine_1 = require("@memberjunction/aiengine");
|
|
15
|
+
const ai_prompts_1 = require("@memberjunction/ai-prompts");
|
|
15
16
|
let UserViewEntity_Server = class UserViewEntity_Server extends core_entities_1.UserViewEntityExtended {
|
|
16
17
|
/**
|
|
17
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.
|
|
@@ -19,31 +20,6 @@ let UserViewEntity_Server = class UserViewEntity_Server extends core_entities_1.
|
|
|
19
20
|
get SmartFilterImplemented() {
|
|
20
21
|
return true;
|
|
21
22
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Default implementation simply returns 'OpenAI' - override this in your subclass if you are using a different AI vendor.
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
get AIVendorName() {
|
|
27
|
-
return 'OpenAI';
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Default implementation simply grabs the first AI model that matches GetAIModelName().
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
async GetAIModel() {
|
|
34
|
-
await aiengine_1.AIEngine.Instance.Config(false, this.ContextCurrentUser); // most of the time this is already loaded, but just in case it isn't we will load it here
|
|
35
|
-
if (this.AIVendorName) {
|
|
36
|
-
const aiVendorName = this.AIVendorName.trim().toLowerCase();
|
|
37
|
-
const models = aiengine_1.AIEngine.Instance.Models.filter(m => m.AIModelType?.trim().toLowerCase() === 'llm' &&
|
|
38
|
-
m.Vendor?.trim().toLowerCase() === aiVendorName);
|
|
39
|
-
// next, sort the models by the PowerRank field so that the highest power rank model is the first array element
|
|
40
|
-
models.sort((a, b) => b.PowerRank - a.PowerRank); // highest power rank first
|
|
41
|
-
return models[0];
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
23
|
/**
|
|
48
24
|
* This method will use AI to return a valid WHERE clause based on the provided prompt. This is automatically called at the right time if the view has SmartFilterEnabled turned on and the SmartFilterPrompt is set. If you want
|
|
49
25
|
* to call this directly to get back a WHERE clause for other purposes you can call this method directly and provide both a prompt and the entity that the view is based on.
|
|
@@ -51,183 +27,139 @@ let UserViewEntity_Server = class UserViewEntity_Server extends core_entities_1.
|
|
|
51
27
|
*/
|
|
52
28
|
async GenerateSmartFilterWhereClause(prompt, entityInfo) {
|
|
53
29
|
try {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
try {
|
|
75
|
-
const cleansed = (0, global_1.CleanJSON)(llmResponse);
|
|
76
|
-
if (!cleansed)
|
|
77
|
-
throw new Error('Invalid JSON response from AI: ' + llmResponse);
|
|
78
|
-
const parsed = JSON.parse(cleansed);
|
|
79
|
-
if (parsed.whereClause && parsed.whereClause.length > 0) {
|
|
80
|
-
// we have the where clause. Sometimes the LLM prefixes it with WHERE and somtimes not, we need to strip WHERE if it is there
|
|
81
|
-
const trimmed = parsed.whereClause.trim();
|
|
82
|
-
let ret = '';
|
|
83
|
-
if (trimmed.toLowerCase().startsWith('where '))
|
|
84
|
-
ret = trimmed.substring(6);
|
|
85
|
-
else
|
|
86
|
-
ret = parsed.whereClause;
|
|
87
|
-
return {
|
|
88
|
-
whereClause: ret,
|
|
89
|
-
userExplanation: parsed.userExplanationMessage
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
else if (parsed.whereClause !== undefined && parsed.whereClause !== null) {
|
|
93
|
-
return {
|
|
94
|
-
whereClause: '', // empty string is valid, it means no where clause
|
|
95
|
-
userExplanation: parsed.userExplanationMessage
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// if we get here, no whereClause property was provided by the LLM, that is an error
|
|
100
|
-
throw new Error('Invalid response from AI, no whereClause property found in response: ' + llmResponse);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (e) {
|
|
104
|
-
(0, core_1.LogError)(e);
|
|
105
|
-
throw new Error('Error parsing JSON response from AI: ' + llmResponse);
|
|
106
|
-
}
|
|
30
|
+
// Ensure AIEngine is configured
|
|
31
|
+
await aiengine_1.AIEngine.Instance.Config(false, this.ContextCurrentUser);
|
|
32
|
+
// Find the Smart Filter Generation prompt
|
|
33
|
+
const smartFilterPrompt = aiengine_1.AIEngine.Instance.Prompts.find(p => p.Name === 'Smart Filter Generation' && p.Category === 'MJ: System');
|
|
34
|
+
if (!smartFilterPrompt) {
|
|
35
|
+
throw new Error('Smart Filter Generation prompt not found. Please ensure the prompt metadata is synced.');
|
|
36
|
+
}
|
|
37
|
+
// Build template data for the prompt
|
|
38
|
+
const templateData = this.BuildTemplateData(entityInfo);
|
|
39
|
+
// Create execution parameters
|
|
40
|
+
const params = new ai_core_plus_1.AIPromptParams();
|
|
41
|
+
params.prompt = smartFilterPrompt;
|
|
42
|
+
params.contextUser = this.ContextCurrentUser;
|
|
43
|
+
params.data = templateData;
|
|
44
|
+
params.attemptJSONRepair = true; // Help with JSON parsing issues
|
|
45
|
+
// Add the user's filter request as a conversation message
|
|
46
|
+
params.conversationMessages = [
|
|
47
|
+
{
|
|
48
|
+
role: 'user',
|
|
49
|
+
content: prompt
|
|
107
50
|
}
|
|
108
|
-
|
|
109
|
-
|
|
51
|
+
];
|
|
52
|
+
// Execute the prompt
|
|
53
|
+
const runner = new ai_prompts_1.AIPromptRunner();
|
|
54
|
+
const result = await runner.ExecutePrompt(params);
|
|
55
|
+
if (!result.success) {
|
|
56
|
+
throw new Error(`AI prompt execution failed: ${result.errorMessage}`);
|
|
57
|
+
}
|
|
58
|
+
if (!result.result) {
|
|
59
|
+
throw new Error('AI returned empty result');
|
|
60
|
+
}
|
|
61
|
+
// Process the response
|
|
62
|
+
const llmResponse = (0, global_1.SafeJSONParse)(result.rawResult);
|
|
63
|
+
// Handle the whereClause - sometimes LLM prefixes with WHERE
|
|
64
|
+
if (llmResponse.whereClause && llmResponse.whereClause.length > 0) {
|
|
65
|
+
const trimmed = llmResponse.whereClause.trim();
|
|
66
|
+
const whereClause = trimmed.toLowerCase().startsWith('where ')
|
|
67
|
+
? trimmed.substring(6)
|
|
68
|
+
: llmResponse.whereClause;
|
|
69
|
+
return {
|
|
70
|
+
whereClause,
|
|
71
|
+
userExplanation: llmResponse.userExplanationMessage
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
else if (llmResponse.whereClause !== undefined && llmResponse.whereClause !== null) {
|
|
75
|
+
// Empty string is valid - means no where clause
|
|
76
|
+
return {
|
|
77
|
+
whereClause: '',
|
|
78
|
+
userExplanation: llmResponse.userExplanationMessage
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
throw new Error('Invalid response from AI, no whereClause property found');
|
|
110
83
|
}
|
|
111
|
-
else
|
|
112
|
-
throw new Error('No result returned from AI');
|
|
113
84
|
}
|
|
114
85
|
catch (e) {
|
|
115
86
|
(0, core_1.LogError)(e);
|
|
116
87
|
throw e;
|
|
117
88
|
}
|
|
118
89
|
}
|
|
119
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Builds the template data object for the Smart Filter Generation prompt.
|
|
92
|
+
* This data is used to populate the Nunjucks template variables.
|
|
93
|
+
*/
|
|
94
|
+
BuildTemplateData(entityInfo) {
|
|
120
95
|
const processedViews = [entityInfo.BaseView];
|
|
121
|
-
// Use the entity's provider instead of creating new Metadata instance
|
|
122
96
|
const md = this.ProviderToUse;
|
|
123
97
|
const listsEntity = md.Entities.find(e => e.Name === "Lists");
|
|
124
98
|
const listDetailsEntity = md.Entities.find(e => e.Name === "List Details");
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
You may *NOT* use JOINS, only sub-queries for related tables.
|
|
128
|
-
|
|
129
|
-
I am a bot and can only understand JSON. Your response must be parsable into this type:
|
|
130
|
-
const returnType = {
|
|
131
|
-
whereClause: string,
|
|
132
|
-
orderByClause: string
|
|
133
|
-
userExplanationMessage: string
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
In MemberJunction, we have a concept called "Entities" and these are metadata constructs that wrap SQL tables and views. The entity that we are currently
|
|
137
|
-
building a filter for is called "${entityInfo.Name}" and has an ID of "${entityInfo.ID}"
|
|
138
|
-
|
|
139
|
-
You won't be using this Entity name or ID in your SQL, unless you need to use it for List filtering (more on that below).
|
|
140
|
-
|
|
141
|
-
The view that the user is querying is called ${entityInfo.BaseView} and has these fields:
|
|
142
|
-
${entityInfo.Fields.map(f => {
|
|
99
|
+
// Build fields description
|
|
100
|
+
const fieldsDescription = entityInfo.Fields.map(f => {
|
|
143
101
|
let ret = `${f.Name} (${f.Type})`;
|
|
144
102
|
if (f.RelatedEntity) {
|
|
145
103
|
ret += ` (fkey to ${f.RelatedEntityBaseView})`;
|
|
146
104
|
}
|
|
147
105
|
return ret;
|
|
148
|
-
}).join(',')
|
|
106
|
+
}).join(',');
|
|
107
|
+
// Build related views description
|
|
108
|
+
const relatedViewsDescription = this.BuildRelatedViewsDescription(entityInfo, md, processedViews);
|
|
109
|
+
// Build lists fields
|
|
110
|
+
const listsFields = listsEntity ? listsEntity.Fields.map(f => {
|
|
111
|
+
return f.Name + ' (' + f.SQLFullType + ')';
|
|
112
|
+
}).join(', ') : '';
|
|
113
|
+
// Build list details fields
|
|
114
|
+
const listDetailsFields = listDetailsEntity ? listDetailsEntity.Fields.map(f => {
|
|
115
|
+
return f.Name + ' (' + f.SQLFullType + ')';
|
|
116
|
+
}).join(', ') : '';
|
|
117
|
+
return {
|
|
118
|
+
entityName: entityInfo.Name,
|
|
119
|
+
entityId: entityInfo.ID,
|
|
120
|
+
baseView: entityInfo.BaseView,
|
|
121
|
+
fieldsDescription,
|
|
122
|
+
relatedViewsDescription: processedViews.length > 1 ? relatedViewsDescription : '',
|
|
123
|
+
listsSchema: listsEntity?.SchemaName || '__mj',
|
|
124
|
+
listsFields,
|
|
125
|
+
listDetailsFields
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Builds the description of related views for the prompt template.
|
|
130
|
+
*/
|
|
131
|
+
BuildRelatedViewsDescription(entityInfo, md, processedViews) {
|
|
149
132
|
const fkeyFields = entityInfo.Fields.filter(f => f.RelatedEntity && f.RelatedEntity.length > 0);
|
|
150
133
|
const fkeyBaseViewsDistinct = fkeyFields.map(f => f.RelatedEntityBaseView).filter((v, i, a) => a.indexOf(v) === i);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
If there are multiple filters related to a single related view, attempt to combine them into a single sub-query for efficiency.
|
|
154
|
-
${
|
|
155
|
-
// this part returns a list of all the related views and the fields that are related to the current view via fkeys in the current view
|
|
156
|
-
fkeyBaseViewsDistinct.map(v => {
|
|
134
|
+
// Build fkey views description
|
|
135
|
+
const fkeyViewsDesc = fkeyBaseViewsDistinct.map(v => {
|
|
157
136
|
if (processedViews.indexOf(v) === -1) {
|
|
158
137
|
const e = md.Entities.find(e => e.BaseView === v);
|
|
159
138
|
if (e) {
|
|
160
|
-
processedViews.push(v);
|
|
139
|
+
processedViews.push(v);
|
|
161
140
|
return `* ${e.SchemaName}.${e.BaseView}: ${e.Fields.map(ef => {
|
|
162
141
|
return ef.Name + ' (' + ef.Type + ')';
|
|
163
142
|
}).join(',')}`;
|
|
164
143
|
}
|
|
165
|
-
else
|
|
166
|
-
return '';
|
|
167
144
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// this part returns a list of all the related views and the fields that are related to the current view fkeys in THOSE views
|
|
173
|
-
entityInfo.RelatedEntities.map(r => {
|
|
145
|
+
return '';
|
|
146
|
+
}).filter(s => s.length > 0).join('\n');
|
|
147
|
+
// Build related entities views description
|
|
148
|
+
const relatedEntitiesDesc = entityInfo.RelatedEntities.map(r => {
|
|
174
149
|
const e = md.Entities.find(e => e.Name === r.RelatedEntity);
|
|
175
|
-
if (e) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}).join(',')}`;
|
|
185
|
-
}
|
|
186
|
-
else
|
|
187
|
-
return ''; // already did this at some point
|
|
150
|
+
if (e && processedViews.indexOf(e.BaseView) === -1) {
|
|
151
|
+
processedViews.push(e.BaseView);
|
|
152
|
+
return `* ${e.SchemaName}.${e.BaseView}: ${e.Fields.map(ef => {
|
|
153
|
+
let ret = `${ef.Name} (${ef.Type})`;
|
|
154
|
+
if (ef.RelatedEntity) {
|
|
155
|
+
ret += ` (fkey to ${ef.RelatedEntityBaseView})`;
|
|
156
|
+
}
|
|
157
|
+
return ret;
|
|
158
|
+
}).join(',')}`;
|
|
188
159
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
<IMPORTANT - LISTS FEATURE>
|
|
194
|
-
In addition to the above related views, a user may talk about "Lists" in their request. A List is a static set of records modeled in our database with the ${listsEntity.SchemaName}.vwLists view and
|
|
195
|
-
the ${listsEntity.SchemaName}.vwListDetails view. ${listsEntity.SchemaName}.vwLists contains the list "header" information with these columns:
|
|
196
|
-
${listsEntity.Fields.map(f => {
|
|
197
|
-
return f.Name + ' (' + f.SQLFullType + ')';
|
|
198
|
-
}).join(', ')}
|
|
199
|
-
The vwListDetails view contains the list "detail" information with these columns which is basically the records that are part of the list. ${listsEntity.SchemaName}.vwListDetails contains these columns:
|
|
200
|
-
${listDetailsEntity.Fields.map(f => {
|
|
201
|
-
return f.Name + ' (' + f.SQLFullType + ')';
|
|
202
|
-
}).join(', ')}.
|
|
203
|
-
|
|
204
|
-
If a user is asking to use a list in creating a view, you need to use a sub-query along these lines:
|
|
205
|
-
|
|
206
|
-
ID IN (SELECT RecordID FROM ${listsEntity.SchemaName}.vwListDetails WHERE ListID='My List ID')
|
|
207
|
-
|
|
208
|
-
In this example we're assuming the user has asked us to filter to include only records that are part of the list with the ID of 'My List ID'. In reality the prompt you will have will have a UUID/GUID type ID not a text string like this.
|
|
209
|
-
You can use any fields at the detail level filter the records and of course combine this type of list-oriented sub-query with other filters as appropriate to satisfy the user's request.
|
|
210
|
-
|
|
211
|
-
It is also possible that a user will provide ONLY the name of the list they want to filter on. If they provide the List ID, use it with a query like the above. However, if ONLY a List name is provided, you can do as follows: use this style of query with a join to the vwLists view (the list "header") to filter on the name
|
|
212
|
-
of the view or other header information if they want to filter on other list header attributes you can do this. Here is an example:
|
|
213
|
-
|
|
214
|
-
ID IN (SELECT ld.RecordID FROM ${listsEntity.SchemaName}.vwListDetails ld INNER JOIN ${listsEntity.SchemaName}.vwLists l ON ld.ListID=l.ID WHERE l.Name='My List Name')
|
|
215
|
-
|
|
216
|
-
No need to use table aliasing if you're just using the vwListDetails view, in that simple subquery it is automatic and unnecessary. If you need to join to the vwLists view, you can use the aliases "l" and "ld", as shown in the example above.
|
|
217
|
-
|
|
218
|
-
</IMPORTANT - LISTS FEATURE>
|
|
219
|
-
<IMPORTANT - OTHER VIEWS>
|
|
220
|
-
The user might reference other "views" in their request. In the user's terminology a view is what we call a "User View" in MemberJunction system-speak. The idea is a user might ask for a filter that includes or excludes
|
|
221
|
-
records from another view. Unlike Lists, which are STATIC sets of records, User Views are dynamic and can change based on the underlying data. So, what we need to do is use a sub-query that pulls in the SQL for the other view
|
|
222
|
-
The user will be referring to the other view by name, so what you need to do when generating SQL for this scenario is to simply embed a sub-query along the lines of this example, updated of course in the context of the user's request and the rest of any filters you are building:
|
|
223
|
-
ID IN ({%UserView "ViewID"%}) -- this is for filtering the primary key using other User Views for this entity: "${entityInfo.Name}"
|
|
224
|
-
AccountID IN ({%UserView "ViewID"%}) -- this is an example where the foreign key relationship for the AccountID field in this entity (${entityInfo.Name}) links to another entity hypothetically called "Accounts" and we want to use an Accounts view for filtering in some way
|
|
225
|
-
By including this sub-query in your generated WHERE clause, it will give me what I need to dynamically replace the {%UserView "View Name"%} with the actual SQL for the view that the user is referring to. Since that actual SQL
|
|
226
|
-
can change over time, I don't want to embed it directly here but rather have it templatized and each time it is run, I will pre-process the SQL to replace the template with the actual SQL for the view.
|
|
227
|
-
</IMPORTANT - OTHER VIEWS>
|
|
228
|
-
`;
|
|
229
|
-
return gptSysPrompt + (processedViews.length > 1 /*we always have 1 from the entity base view*/ ? relationships : '') + `
|
|
230
|
-
**** REMEMBER **** I am a BOT, do not return anything other than JSON to me or I will choke on your response!`;
|
|
160
|
+
return '';
|
|
161
|
+
}).filter(s => s.length > 0).join('\n');
|
|
162
|
+
return [fkeyViewsDesc, relatedEntitiesDesc].filter(s => s.length > 0).join('\n');
|
|
231
163
|
}
|
|
232
164
|
};
|
|
233
165
|
exports.UserViewEntity_Server = UserViewEntity_Server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userViewEntity.server.js","sourceRoot":"","sources":["../../src/custom/userViewEntity.server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"userViewEntity.server.js","sourceRoot":"","sources":["../../src/custom/userViewEntity.server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAsE;AACtE,+CAA2F;AAC3F,iEAAsE;AACtE,+DAA8D;AAC9D,uDAAoD;AACpD,2DAA4D;AAYrD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,sCAAsB;IAC7D;;OAEG;IACH,IAAuB,sBAAsB;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,8BAA8B,CAAC,MAAc,EAAE,UAAsB;QAC9E,IAAI,CAAC;YACD,gCAAgC;YAChC,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE/D,0CAA0C;YAC1C,MAAM,iBAAiB,GAAG,mBAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAC3E,CAAC;YAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC9G,CAAC;YAED,qCAAqC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAExD,8BAA8B;YAC9B,MAAM,MAAM,GAAG,IAAI,6BAAc,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC;YAClC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC7C,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;YAC3B,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,gCAAgC;YAEjE,0DAA0D;YAC1D,MAAM,CAAC,oBAAoB,GAAG;gBAC1B;oBACI,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;iBAClB;aACJ,CAAC;YAEF,qBAAqB;YACrB,MAAM,MAAM,GAAG,IAAI,2BAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAsB,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,CAAC;YAED,uBAAuB;YACvB,MAAM,WAAW,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEpD,6DAA6D;YAC7D,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC1D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;gBAE9B,OAAO;oBACH,WAAW;oBACX,eAAe,EAAE,WAAW,CAAC,sBAAsB;iBACtD,CAAC;YACN,CAAC;iBACI,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACjF,gDAAgD;gBAChD,OAAO;oBACH,WAAW,EAAE,EAAE;oBACf,eAAe,EAAE,WAAW,CAAC,sBAAsB;iBACtD,CAAC;YACN,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,iBAAiB,CAAC,UAAsB;QAC9C,MAAM,cAAc,GAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,aAA6C,CAAC;QAC9D,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAE3E,2BAA2B;QAC3B,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChD,IAAI,GAAG,GAAW,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;YAC1C,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAClB,GAAG,IAAI,aAAa,CAAC,CAAC,qBAAqB,GAAG,CAAC;YACnD,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,kCAAkC;QAClC,MAAM,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAElG,qBAAqB;QACrB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzD,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnB,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3E,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnB,OAAO;YACH,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,QAAQ,EAAE,UAAU,CAAC,EAAE;YACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,iBAAiB;YACjB,uBAAuB,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;YACjF,WAAW,EAAE,WAAW,EAAE,UAAU,IAAI,MAAM;YAC9C,WAAW;YACX,iBAAiB;SACpB,CAAC;IACN,CAAC;IAED;;OAEG;IACO,4BAA4B,CAAC,UAAsB,EAAE,EAAqB,EAAE,cAAwB;QAC1G,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnH,+BAA+B;QAC/B,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChD,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,EAAE,CAAC;oBACJ,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBACzD,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;oBAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC;gBACpB,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,2CAA2C;QAC3C,MAAM,mBAAmB,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjD,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChC,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACzD,IAAI,GAAG,GAAW,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;oBAC5C,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;wBACnB,GAAG,IAAI,aAAa,EAAE,CAAC,qBAAqB,GAAG,CAAC;oBACpD,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;CACJ,CAAA;AA5KY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAa,EAAC,iBAAU,EAAE,YAAY,CAAC;GAC3B,qBAAqB,CA4KjC;AAGD,SAAgB,gCAAgC;AAEhD,CAAC;AAFD,4EAEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/core-entities-server",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"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",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/actions-base": "3.
|
|
23
|
-
"@memberjunction/ai": "3.
|
|
24
|
-
"@memberjunction/ai-core-plus": "3.
|
|
25
|
-
"@memberjunction/ai-engine-base": "3.
|
|
26
|
-
"@memberjunction/ai-prompts": "3.
|
|
27
|
-
"@memberjunction/ai-provider-bundle": "3.
|
|
28
|
-
"@memberjunction/ai-vector-dupe": "3.
|
|
29
|
-
"@memberjunction/aiengine": "3.
|
|
30
|
-
"@memberjunction/core": "3.
|
|
31
|
-
"@memberjunction/core-entities": "3.
|
|
32
|
-
"@memberjunction/doc-utils": "3.
|
|
33
|
-
"@memberjunction/global": "3.
|
|
34
|
-
"@memberjunction/skip-types": "3.
|
|
35
|
-
"@memberjunction/sqlserver-dataprovider": "3.
|
|
22
|
+
"@memberjunction/actions-base": "3.1.0",
|
|
23
|
+
"@memberjunction/ai": "3.1.0",
|
|
24
|
+
"@memberjunction/ai-core-plus": "3.1.0",
|
|
25
|
+
"@memberjunction/ai-engine-base": "3.1.0",
|
|
26
|
+
"@memberjunction/ai-prompts": "3.1.0",
|
|
27
|
+
"@memberjunction/ai-provider-bundle": "3.1.0",
|
|
28
|
+
"@memberjunction/ai-vector-dupe": "3.1.0",
|
|
29
|
+
"@memberjunction/aiengine": "3.1.0",
|
|
30
|
+
"@memberjunction/core": "3.1.0",
|
|
31
|
+
"@memberjunction/core-entities": "3.1.0",
|
|
32
|
+
"@memberjunction/doc-utils": "3.1.0",
|
|
33
|
+
"@memberjunction/global": "3.1.0",
|
|
34
|
+
"@memberjunction/skip-types": "3.1.0",
|
|
35
|
+
"@memberjunction/sqlserver-dataprovider": "3.1.0",
|
|
36
36
|
"node-sql-parser": "^5.3.13",
|
|
37
37
|
"nunjucks": "^3.2.4",
|
|
38
38
|
"zod": "^3.23.8"
|