@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.
@@ -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;AAiCvH,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;IAqGhC;;;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;YA8BxB,eAAe;YA0Hf,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"}
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
- // Pre-check: Skip AI call if SQL doesn't contain Nunjucks syntax
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 Template Parameter Extraction prompt (we'll reuse it for SQL)
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 parameter extraction.');
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 Nunjucks parameters from any template content
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 parameter extraction failed:`, {
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
- this.syncQueryParameters(result.result.parameters)
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 = result.result.parameters.length > 0;
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 extracted field names to lowercase for comparison
736
- const extractedFieldNames = extractedFields.map(f => f.name.toLowerCase());
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 = extractedFields.filter(f => !existingFields.some(ef => ef.Name.toLowerCase() === f.name.toLowerCase()));
739
- const fieldsToUpdate = existingFields.filter(ef => extractedFields.some(f => f.name.toLowerCase() === ef.Name.toLowerCase()));
740
- const fieldsToRemove = existingFields.filter(ef => !extractedFieldNames.includes(ef.Name.toLowerCase()));
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
- newField.IsComputed = field.dynamicName || false;
770
- if (field.dynamicName) {
771
- newField.SourceFieldName = field.name;
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 = extractedFields.find(f => f.name.toLowerCase() === existingField.Name.toLowerCase());
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 isDynamic = extractedField.dynamicName || false;
785
- if (existingField.IsComputed !== isDynamic) {
786
- existingField.IsComputed = isDynamic;
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 !== extractedFields.indexOf(extractedField) + 1) {
790
- existingField.Sequence = extractedFields.indexOf(extractedField) + 1;
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
- GenerateSysPrompt(entityInfo: EntityInfo): string;
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,EAA+B,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAIrE,qBACa,qBAAsB,SAAQ,sBAAsB;IAC7D;;OAEG;IACH,cAAuB,sBAAsB,IAAI,OAAO,CAEvD;IAED;;;OAGG;IACH,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED;;;OAGG;cACa,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAgB5D;;;;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;IAuErI,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;CAqH3D;AAGD,wBAAgB,gCAAgC,SAE/C"}
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 ai_1 = require("@memberjunction/ai");
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
- const model = await this.GetAIModel();
55
- const llm = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, model.DriverClass, (0, ai_1.GetAIAPIKey)(model.DriverClass));
56
- const chatParams = {
57
- model: model.APINameOrName,
58
- messages: [
59
- {
60
- role: 'system',
61
- content: this.GenerateSysPrompt(entityInfo)
62
- },
63
- {
64
- role: 'user',
65
- content: `${prompt}`,
66
- },
67
- ],
68
- };
69
- const result = await llm.ChatCompletion(chatParams);
70
- if (result && result.data) {
71
- const llmResponse = result.data.choices[0].message.content;
72
- if (llmResponse) {
73
- // try to parse it as JSON
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
- else
109
- throw new Error('Null response from AI');
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
- GenerateSysPrompt(entityInfo) {
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
- const gptSysPrompt = `You are an expert in SQL and Microsoft SQL Server.
126
- You will be provided a user prompt representing how they want to filter the data.
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
- const relationships = `
152
- In addition, ${entityInfo.BaseView} has links to other views, as shown here, you can use these views in sub-queries to achieve the request from the user.
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); // already processed this view now, so we won't repeat it
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
- else
169
- return ''; // already did this at some point
170
- }).join('\n')}
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
- if (processedViews.indexOf(e.BaseView) === -1) {
177
- processedViews.push(e.BaseView); // note that we are processing this view now, so we won't repeat it
178
- return `* ${e.SchemaName}.${e.BaseView}: ${e.Fields.map(ef => {
179
- let ret = `${ef.Name} (${ef.Type})`;
180
- if (ef.RelatedEntity) {
181
- ret += ` (fkey to ${ef.RelatedEntityBaseView})`;
182
- }
183
- return ret;
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
- else
190
- return '';
191
- }).join('\n')}
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":"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"}
1
+ {"version":3,"file":"userViewEntity.server.js","sourceRoot":"","sources":["../../src/custom/userViewEntity.server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/core-entities-server",
3
- "version": "3.0.0",
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.0.0",
23
- "@memberjunction/ai": "3.0.0",
24
- "@memberjunction/ai-core-plus": "3.0.0",
25
- "@memberjunction/ai-engine-base": "3.0.0",
26
- "@memberjunction/ai-prompts": "3.0.0",
27
- "@memberjunction/ai-provider-bundle": "3.0.0",
28
- "@memberjunction/ai-vector-dupe": "3.0.0",
29
- "@memberjunction/aiengine": "3.0.0",
30
- "@memberjunction/core": "3.0.0",
31
- "@memberjunction/core-entities": "3.0.0",
32
- "@memberjunction/doc-utils": "3.0.0",
33
- "@memberjunction/global": "3.0.0",
34
- "@memberjunction/skip-types": "3.0.0",
35
- "@memberjunction/sqlserver-dataprovider": "3.0.0",
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"