@memberjunction/core-entities-server 5.10.1 → 5.12.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.
@@ -15,8 +15,18 @@ export declare class MJQueryEntityServer extends MJQueryEntity {
15
15
  * @returns
16
16
  */
17
17
  protected EmbedTextLocal(textToEmbed: string): Promise<SimpleEmbeddingResult>;
18
+ /**
19
+ * Generates an embedding from composite text (Name + UserQuestion + Description) for richer semantic search.
20
+ * Stores the vector in EmbeddingVector and the model reference in EmbeddingModelID.
21
+ */
22
+ protected GenerateCompositeEmbedding(): Promise<void>;
18
23
  Save(options?: EntitySaveOptions): Promise<boolean>;
19
24
  Delete(options?: EntitySaveOptions): Promise<boolean>;
25
+ /**
26
+ * Builds a category path string from a CategoryID by walking up the category hierarchy.
27
+ * Returns a path like "Golden-Queries/Sales" or "Golden-Queries".
28
+ */
29
+ private buildCategoryPathFromID;
20
30
  /**
21
31
  * Asynchronous version of extractAndSyncData that runs outside the main save operation
22
32
  * to prevent connection pool exhaustion
@@ -34,16 +44,55 @@ export declare class MJQueryEntityServer extends MJQueryEntity {
34
44
  private extractEntityMetadataFromSQL;
35
45
  private syncQueryParameters;
36
46
  private removeAllQueryParameters;
47
+ /**
48
+ * Detects if the SQL uses SELECT * and if so, builds the complete field list deterministically
49
+ * from entity metadata without relying on the AI (which can't enumerate * columns).
50
+ * Returns null if the SQL doesn't use SELECT * or if entities can't be resolved.
51
+ */
52
+ private buildFieldsForSelectStar;
53
+ /**
54
+ * Finds an entity by name, checking both Name (which may have "MJ: " prefix) and DisplayName.
55
+ * The AI often returns entity names without the "MJ: " prefix, so we need to match both.
56
+ */
57
+ private findEntityByName;
37
58
  /**
38
59
  * Expands wildcard (*) entries in the extracted fields list.
39
- * When AI returns a field with sourceFieldName="*", it indicates a SELECT table.* pattern.
40
- * We expand this into individual field entries by looking up the entity's fields from metadata.
60
+ * When AI returns a field with name="*" or sourceFieldName="*", we expand it into
61
+ * individual field entries by looking up the source from metadata.
62
+ * If the AI didn't provide a sourceEntity, we parse the SQL's FROM clause to find it.
41
63
  */
42
64
  private expandWildcardFields;
43
65
  private syncQueryFields;
44
66
  private syncQueryEntities;
45
67
  private removeAllQueryFields;
46
68
  private removeAllQueryEntities;
69
+ /**
70
+ * Deterministically extracts {{query:"..."}} composition references from this query's SQL
71
+ * and syncs the QueryDependency records accordingly. No LLM needed — uses regex parsing.
72
+ */
73
+ private extractAndSyncQueryDependencies;
74
+ /**
75
+ * Resolves parsed composition tokens to dependency records with QueryIDs.
76
+ */
77
+ private resolveTokensToQueryDependencies;
78
+ /**
79
+ * Extracts the SQL alias following a {{query:"..."}} token from this query's SQL.
80
+ */
81
+ private extractAliasFromSQL;
82
+ /**
83
+ * Detects circular dependencies by walking the dependency graph.
84
+ * Returns a descriptive error string if a cycle is found, or null if clean.
85
+ */
86
+ private detectDependencyCycles;
87
+ /**
88
+ * Syncs extracted query dependencies against existing QueryDependency records.
89
+ * Follows the same add/update/delete pattern as syncQueryParameters/Fields/Entities.
90
+ */
91
+ private syncQueryDependencies;
92
+ /**
93
+ * Removes all QueryDependency records for this query.
94
+ */
95
+ private removeAllQueryDependencies;
47
96
  /**
48
97
  * Auto-converts the query's SQL to other dialects based on the queryDialects
49
98
  * configuration stored in GlobalObjectStore. Best-effort: failures never block the save.
@@ -1 +1 @@
1
- {"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAyC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAW,qBAAqB,EAAkB,MAAM,sBAAsB,CAAC;AACpP,OAAO,EAAE,aAAa,EAAqF,MAAM,+BAA+B,CAAC;AAoDjJ,qBACa,mBAAoB,SAAQ,aAAa;IAClD,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;IA8CnD,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBpE;;;OAGG;YACW,uBAAuB;IAuBrC;;OAEG;YACW,sBAAsB;YAmBtB,kBAAkB;IA+FhC;;;OAGG;YACW,4BAA4B;YA0E5B,mBAAmB;YAoJnB,wBAAwB;IA8BtC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;YAqDd,eAAe;YA0Kf,iBAAiB;YAsFjB,oBAAoB;YA4BpB,sBAAsB;IA4BpC;;;OAGG;YACW,wBAAwB;IA6DtC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;YACW,oBAAoB;IAsClC;;OAEG;YACW,6BAA6B;IAyB5B,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"}
1
+ {"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAiE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAW,qBAAqB,EAA6C,MAAM,sBAAsB,CAAC;AACvS,OAAO,EAAE,aAAa,EAA8G,MAAM,+BAA+B,CAAC;AAoD1K,qBACa,mBAAoB,SAAQ,aAAa;IAClD,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;IAI5F;;;OAGG;cACa,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB5C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyDnD,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBpE;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;OAGG;YACW,uBAAuB;IAuBrC;;OAEG;YACW,sBAAsB;YAmBtB,kBAAkB;IA0GhC;;;OAGG;YACW,4BAA4B;YA0E5B,mBAAmB;YA+JnB,wBAAwB;IA8BtC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiFhC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;YAiEd,eAAe;YAsKf,iBAAiB;YAsFjB,oBAAoB;YA4BpB,sBAAsB;IA4BpC;;;OAGG;YACW,+BAA+B;IA8B7C;;OAEG;IACH,OAAO,CAAC,gCAAgC;IA4ExC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;OAGG;YACW,sBAAsB;IA+DpC;;;OAGG;YACW,qBAAqB;IAqGnC;;OAEG;YACW,0BAA0B;IA2BxC;;;OAGG;YACW,wBAAwB;IA6DtC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;YACW,oBAAoB;IAsClC;;OAEG;YACW,6BAA6B;IAyB5B,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"}
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { BaseEntity, LogError, Metadata } from "@memberjunction/core";
7
+ import { BaseEntity, LogError, Metadata, QueryCompositionEngine, TypeScriptTypeFromSQLType } from "@memberjunction/core";
8
8
  import { MJQueryEntity } from "@memberjunction/core-entities";
9
9
  import { RegisterClass, MJGlobal, UUIDsEqual } from "@memberjunction/global";
10
10
  import { AIEngine } from "@memberjunction/aiengine";
@@ -41,22 +41,54 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
41
41
  async EmbedTextLocal(textToEmbed) {
42
42
  return EmbedTextLocalHelper(this, textToEmbed);
43
43
  }
44
+ /**
45
+ * Generates an embedding from composite text (Name + UserQuestion + Description) for richer semantic search.
46
+ * Stores the vector in EmbeddingVector and the model reference in EmbeddingModelID.
47
+ */
48
+ async GenerateCompositeEmbedding() {
49
+ const parts = [
50
+ this.Name || '',
51
+ this.UserQuestion || '',
52
+ this.Description || ''
53
+ ].filter(p => p.trim().length > 0);
54
+ if (parts.length === 0) {
55
+ this.EmbeddingVector = null;
56
+ this.EmbeddingModelID = null;
57
+ return;
58
+ }
59
+ const compositeText = parts.join(' | ');
60
+ const result = await this.EmbedTextLocal(compositeText);
61
+ if (result && result.vector && result.vector.length > 0) {
62
+ this.EmbeddingVector = JSON.stringify(result.vector);
63
+ this.EmbeddingModelID = result.modelID;
64
+ }
65
+ }
44
66
  async Save(options) {
45
67
  try {
46
68
  // Check if this is a new record or if SQL/Description has changed
47
69
  const sqlField = this.GetFieldByName('SQL');
70
+ const nameField = this.GetFieldByName('Name');
48
71
  const descriptionField = this.GetFieldByName('Description');
72
+ const userQuestionField = this.GetFieldByName('UserQuestion');
49
73
  const shouldExtractData = !this.IsSaved || sqlField.Dirty;
50
- const shouldGenerateEmbedding = !this.IsSaved || descriptionField.Dirty;
51
- // Generate embedding for Description if needed, before saving
74
+ const shouldGenerateEmbedding = !this.IsSaved || nameField.Dirty || descriptionField.Dirty || userQuestionField.Dirty;
75
+ // Generate embedding from composite text (Name + UserQuestion + Description) for better semantic search
52
76
  if (shouldGenerateEmbedding) {
53
- await this.GenerateEmbeddingByFieldName("Description", "EmbeddingVector", "EmbeddingModelID");
77
+ await this.GenerateCompositeEmbedding();
54
78
  }
55
79
  else if (!this.Description || this.Description.trim().length === 0) {
56
80
  // Clear embedding if description is empty
57
81
  this.EmbeddingVector = null;
58
82
  this.EmbeddingModelID = null;
59
83
  }
84
+ // Auto-set Reusable=true for queries in Golden-Queries/ categories.
85
+ // Golden Queries are composable building blocks, so they should always be reusable.
86
+ if (this.CategoryID) {
87
+ const categoryPath = this.buildCategoryPathFromID(this.CategoryID);
88
+ if (categoryPath.toLowerCase().startsWith('golden-queries/') || categoryPath.toLowerCase() === 'golden-queries') {
89
+ this.Reusable = true;
90
+ }
91
+ }
60
92
  // Save the query first without AI processing (no transaction needed for basic save)
61
93
  const saveResult = await super.Save(options);
62
94
  if (!saveResult) {
@@ -104,6 +136,23 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
104
136
  return false;
105
137
  }
106
138
  }
139
+ /**
140
+ * Builds a category path string from a CategoryID by walking up the category hierarchy.
141
+ * Returns a path like "Golden-Queries/Sales" or "Golden-Queries".
142
+ */
143
+ buildCategoryPathFromID(categoryID) {
144
+ const categories = Metadata.Provider.QueryCategories;
145
+ const segments = [];
146
+ let currentID = categoryID;
147
+ while (currentID) {
148
+ const cat = categories.find(c => c.ID.toLowerCase() === currentID.toLowerCase());
149
+ if (!cat)
150
+ break;
151
+ segments.unshift(cat.Name);
152
+ currentID = cat.ParentID;
153
+ }
154
+ return segments.join('/');
155
+ }
107
156
  /**
108
157
  * Asynchronous version of extractAndSyncData that runs outside the main save operation
109
158
  * to prevent connection pool exhaustion
@@ -155,9 +204,11 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
155
204
  async extractAndSyncData() {
156
205
  try {
157
206
  // Check if SQL contains Nunjucks syntax (determines if query uses templates/parameters)
158
- const hasNunjucksSyntax = this.SQL && (this.SQL.includes('{{') ||
159
- this.SQL.includes('{%') ||
160
- this.SQL.includes('{#'));
207
+ // Strip out {{query:"..."}} composition tokens first — they are NOT Nunjucks parameters
208
+ const sqlWithoutCompositionTokens = this.SQL ? this.SQL.replace(/\{\{query:"[^"]+"\}\}/g, '') : '';
209
+ const hasNunjucksSyntax = sqlWithoutCompositionTokens && (sqlWithoutCompositionTokens.includes('{{') ||
210
+ sqlWithoutCompositionTokens.includes('{%') ||
211
+ sqlWithoutCompositionTokens.includes('{#'));
161
212
  // Ensure AIEngine is configured
162
213
  await AIEngine.Instance.Config(false, this.ContextCurrentUser, this.ProviderToUse);
163
214
  // Find the SQL Query Parameter Extraction prompt
@@ -207,8 +258,15 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
207
258
  // No Nunjucks syntax - remove any existing parameters
208
259
  syncPromises.push(this.removeAllQueryParameters());
209
260
  }
210
- // Always sync query fields if we got a selectClause back
211
- if (result.result.selectClause && Array.isArray(result.result.selectClause) && result.result.selectClause.length > 0) {
261
+ // For SELECT * queries, use deterministic field extraction from entity metadata
262
+ // instead of the AI (which can't enumerate all columns from *)
263
+ // For SELECT * queries, use deterministic field extraction from entity metadata
264
+ // instead of the AI (which can't enumerate all columns from *)
265
+ const selectStarFields = this.buildFieldsForSelectStar();
266
+ if (selectStarFields) {
267
+ syncPromises.push(this.syncQueryFields(selectStarFields));
268
+ }
269
+ else if (result.result.selectClause && Array.isArray(result.result.selectClause) && result.result.selectClause.length > 0) {
212
270
  syncPromises.push(this.syncQueryFields(result.result.selectClause));
213
271
  }
214
272
  // Use deterministic SQL parsing for entity extraction instead of LLM
@@ -216,6 +274,8 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
216
274
  if (entityMetadata.length > 0) {
217
275
  syncPromises.push(this.syncQueryEntities(entityMetadata));
218
276
  }
277
+ // Sync query dependencies from {{query:"..."}} composition tokens (deterministic, no LLM)
278
+ syncPromises.push(this.extractAndSyncQueryDependencies());
219
279
  await Promise.all(syncPromises);
220
280
  // Update UsesTemplate flag based on whether Nunjucks syntax exists and parameters were found
221
281
  this.UsesTemplate = hasNunjucksSyntax &&
@@ -292,6 +352,16 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
292
352
  }
293
353
  }
294
354
  async syncQueryParameters(extractedParams) {
355
+ // Filter out any parameter named "query" that came from {{query:"..."}} composition tokens.
356
+ // The AI extraction prompt should skip these, but this is a safety net.
357
+ const compositionTokenRegex = /\{\{query:"[^"]+"\}\}/;
358
+ const filteredParams = extractedParams.filter(p => {
359
+ if (p.name === 'query' && this.SQL && compositionTokenRegex.test(this.SQL)) {
360
+ return false;
361
+ }
362
+ return true;
363
+ });
364
+ extractedParams = filteredParams;
295
365
  // Use the entity's provider instead of creating new Metadata instance
296
366
  // Use same casting pattern as RefreshRelatedMetadata method
297
367
  const md = this.ProviderToUse;
@@ -442,58 +512,146 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
442
512
  throw e; // Re-throw since we're in a transaction
443
513
  }
444
514
  }
515
+ /**
516
+ * Detects if the SQL uses SELECT * and if so, builds the complete field list deterministically
517
+ * from entity metadata without relying on the AI (which can't enumerate * columns).
518
+ * Returns null if the SQL doesn't use SELECT * or if entities can't be resolved.
519
+ */
520
+ buildFieldsForSelectStar() {
521
+ if (!this.SQL)
522
+ return null;
523
+ // Check if SELECT clause contains * (possibly with table alias like "a.*")
524
+ // Use a simple regex that matches SELECT ... * ... FROM (ignoring subqueries)
525
+ const selectStarRegex = /\bSELECT\s+(?:(?:TOP\s+\d+|DISTINCT)\s+)?(\*|[\w.]+\.\*)\s+FROM\b/i;
526
+ if (!selectStarRegex.test(this.SQL))
527
+ return null;
528
+ const md = this.ProviderToUse;
529
+ try {
530
+ const parseResult = SQLParser.ParseWithTemplatePreprocessing(this.SQL);
531
+ const expandedFields = [];
532
+ for (const tableRef of parseResult.Tables) {
533
+ const matchingEntity = md.Entities.find(e => (e.BaseView.toLowerCase() === tableRef.TableName.toLowerCase() ||
534
+ e.BaseTable.toLowerCase() === tableRef.TableName.toLowerCase()) &&
535
+ e.SchemaName.toLowerCase() === tableRef.SchemaName.toLowerCase());
536
+ if (matchingEntity) {
537
+ for (const entityField of matchingEntity.Fields) {
538
+ if (!expandedFields.some(f => f.name === entityField.Name)) {
539
+ expandedFields.push({
540
+ name: entityField.Name,
541
+ description: entityField.Description || `${entityField.Name} field from ${matchingEntity.Name}`,
542
+ type: TypeScriptTypeFromSQLType(entityField.Type).toLowerCase(),
543
+ optional: false,
544
+ sourceEntity: matchingEntity.Name,
545
+ sourceFieldName: entityField.Name,
546
+ isComputed: false,
547
+ isSummary: false
548
+ });
549
+ }
550
+ }
551
+ }
552
+ }
553
+ // Also check for {{query:"..."}} composition tokens in FROM clause
554
+ if (expandedFields.length === 0) {
555
+ const compositionTokenRegex = /\{\{query:"([^"]+)"\}\}/g;
556
+ let match;
557
+ while ((match = compositionTokenRegex.exec(this.SQL)) !== null) {
558
+ const tokenContent = match[1];
559
+ const parenIdx = tokenContent.indexOf('(');
560
+ const pathPart = parenIdx >= 0 ? tokenContent.substring(0, parenIdx) : tokenContent;
561
+ const segments = pathPart.split('/');
562
+ const queryName = segments[segments.length - 1].trim();
563
+ const referencedQuery = Metadata.Provider.Queries.find(q => q.Name.toLowerCase() === queryName.toLowerCase());
564
+ if (referencedQuery && referencedQuery.Fields.length > 0) {
565
+ for (const qField of referencedQuery.Fields) {
566
+ if (!expandedFields.some(f => f.name === qField.Name)) {
567
+ expandedFields.push({
568
+ name: qField.Name,
569
+ description: qField.Description || `${qField.Name} from query "${referencedQuery.Name}"`,
570
+ type: TypeScriptTypeFromSQLType(qField.SQLBaseType).toLowerCase(),
571
+ optional: false,
572
+ sourceEntity: qField.SourceEntityID ? md.Entities.find(e => UUIDsEqual(e.ID, qField.SourceEntityID))?.Name || null : null,
573
+ sourceFieldName: qField.SourceFieldName || null,
574
+ isComputed: qField.IsComputed || false,
575
+ isSummary: qField.IsSummary || false
576
+ });
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
582
+ return expandedFields.length > 0 ? expandedFields : null;
583
+ }
584
+ catch (error) {
585
+ console.warn(`Query "${this.Name}" - Error in buildFieldsForSelectStar:`, error);
586
+ return null;
587
+ }
588
+ }
589
+ /**
590
+ * Finds an entity by name, checking both Name (which may have "MJ: " prefix) and DisplayName.
591
+ * The AI often returns entity names without the "MJ: " prefix, so we need to match both.
592
+ */
593
+ findEntityByName(md, name) {
594
+ const lower = name.toLowerCase();
595
+ return md.Entities.find(e => e.Name.toLowerCase() === lower || (e.DisplayName && e.DisplayName.toLowerCase() === lower));
596
+ }
445
597
  /**
446
598
  * Expands wildcard (*) entries in the extracted fields list.
447
- * When AI returns a field with sourceFieldName="*", it indicates a SELECT table.* pattern.
448
- * We expand this into individual field entries by looking up the entity's fields from metadata.
599
+ * When AI returns a field with name="*" or sourceFieldName="*", we expand it into
600
+ * individual field entries by looking up the source from metadata.
601
+ * If the AI didn't provide a sourceEntity, we parse the SQL's FROM clause to find it.
449
602
  */
450
603
  expandWildcardFields(extractedFields, md) {
604
+ // Check if any field is a wildcard that needs expansion
605
+ const hasWildcard = extractedFields.some(f => f.name === '*' || f.sourceFieldName === '*');
606
+ if (!hasWildcard)
607
+ return extractedFields;
451
608
  const expandedFields = [];
452
609
  for (const field of extractedFields) {
453
- // Check if this is a wildcard entry: sourceFieldName is "*" and sourceEntity is set
454
- if (field.sourceFieldName === '*' && field.sourceEntity) {
455
- // Look up the entity in metadata
456
- const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === field.sourceEntity.toLowerCase());
610
+ const isWildcard = field.name === '*' || field.sourceFieldName === '*';
611
+ if (!isWildcard) {
612
+ expandedFields.push(field);
613
+ continue;
614
+ }
615
+ // If we have a sourceEntity, try to resolve from it
616
+ if (field.sourceEntity) {
617
+ const sourceEntityInfo = this.findEntityByName(md, field.sourceEntity);
457
618
  if (sourceEntityInfo) {
458
- // Expand the wildcard into individual fields from the entity
459
619
  for (const entityField of sourceEntityInfo.Fields) {
460
- // Map SQL type to our simplified type system
461
- let fieldType = 'string';
462
- const sqlTypeLower = entityField.Type.toLowerCase();
463
- if (sqlTypeLower.includes('int') || sqlTypeLower.includes('decimal') ||
464
- sqlTypeLower.includes('numeric') || sqlTypeLower.includes('float') ||
465
- sqlTypeLower.includes('real') || sqlTypeLower.includes('money')) {
466
- fieldType = 'number';
467
- }
468
- else if (sqlTypeLower.includes('date') || sqlTypeLower.includes('time')) {
469
- fieldType = 'date';
470
- }
471
- else if (sqlTypeLower.includes('bit')) {
472
- fieldType = 'boolean';
473
- }
474
620
  expandedFields.push({
475
- name: entityField.Name, // SQL Server returns original column names for *
476
- description: entityField.Description || `${entityField.Name} field from ${field.sourceEntity}`,
477
- type: fieldType,
478
- optional: field.optional, // Inherit from the wildcard entry
479
- sourceEntity: field.sourceEntity,
621
+ name: entityField.Name,
622
+ description: entityField.Description || `${entityField.Name} field from ${sourceEntityInfo.Name}`,
623
+ type: TypeScriptTypeFromSQLType(entityField.Type).toLowerCase(),
624
+ optional: field.optional,
625
+ sourceEntity: sourceEntityInfo.Name,
480
626
  sourceFieldName: entityField.Name,
481
627
  isComputed: false,
482
628
  isSummary: false
483
629
  });
484
630
  }
631
+ continue;
485
632
  }
486
- else {
487
- // Entity not found in metadata - keep the original entry as-is
488
- // but log a warning
489
- console.warn(`Query "${this.Name}" - Could not expand wildcard for entity "${field.sourceEntity}" - entity not found in metadata`);
490
- expandedFields.push(field);
633
+ // sourceEntity didn't match an entity — try as a query name
634
+ const composedQuery = Metadata.Provider.Queries.find(q => q.Name.toLowerCase() === field.sourceEntity.toLowerCase());
635
+ if (composedQuery && composedQuery.Fields.length > 0) {
636
+ for (const qField of composedQuery.Fields) {
637
+ expandedFields.push({
638
+ name: qField.Name,
639
+ description: qField.Description || `${qField.Name} from query "${composedQuery.Name}"`,
640
+ type: TypeScriptTypeFromSQLType(qField.SQLBaseType).toLowerCase(),
641
+ optional: field.optional,
642
+ sourceEntity: qField.SourceEntityID ? md.Entities.find(e => UUIDsEqual(e.ID, qField.SourceEntityID))?.Name || null : null,
643
+ sourceFieldName: qField.SourceFieldName || null,
644
+ isComputed: qField.IsComputed || false,
645
+ isSummary: qField.IsSummary || false
646
+ });
647
+ }
648
+ continue;
491
649
  }
492
- }
493
- else {
494
- // Not a wildcard entry - keep as-is
495
650
  expandedFields.push(field);
651
+ continue;
496
652
  }
653
+ // No sourceEntity and no match — keep the raw entry as-is
654
+ expandedFields.push(field);
497
655
  }
498
656
  return expandedFields;
499
657
  }
@@ -560,8 +718,8 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
560
718
  }
561
719
  // Set source entity tracking
562
720
  if (field.sourceEntity) {
563
- // Look up entity ID from entity name
564
- const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === field.sourceEntity.toLowerCase());
721
+ // Look up entity ID from entity name (check both Name and DisplayName for "MJ: " prefix)
722
+ const sourceEntityInfo = this.findEntityByName(md, field.sourceEntity);
565
723
  if (sourceEntityInfo) {
566
724
  newField.SourceEntityID = sourceEntityInfo.ID;
567
725
  }
@@ -594,7 +752,7 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
594
752
  }
595
753
  // Update source entity tracking
596
754
  if (extractedField.sourceEntity) {
597
- const sourceEntityInfo = md.Entities.find(e => e.Name.toLowerCase() === extractedField.sourceEntity.toLowerCase());
755
+ const sourceEntityInfo = this.findEntityByName(md, extractedField.sourceEntity);
598
756
  if (sourceEntityInfo && !UUIDsEqual(existingField.SourceEntityID, sourceEntityInfo.ID)) {
599
757
  existingField.SourceEntityID = sourceEntityInfo.ID;
600
758
  hasChanges = true;
@@ -744,6 +902,266 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
744
902
  throw e;
745
903
  }
746
904
  }
905
+ /**
906
+ * Deterministically extracts {{query:"..."}} composition references from this query's SQL
907
+ * and syncs the QueryDependency records accordingly. No LLM needed — uses regex parsing.
908
+ */
909
+ async extractAndSyncQueryDependencies() {
910
+ const compositionEngine = new QueryCompositionEngine();
911
+ const sql = this.SQL;
912
+ if (!sql || !compositionEngine.HasCompositionTokens(sql)) {
913
+ // No composition tokens — remove any stale dependency records
914
+ await this.removeAllQueryDependencies();
915
+ return;
916
+ }
917
+ // Parse all {{query:"..."}} tokens
918
+ const tokens = compositionEngine.ParseCompositionTokens(sql);
919
+ if (tokens.length === 0) {
920
+ await this.removeAllQueryDependencies();
921
+ return;
922
+ }
923
+ // Resolve each token to a QueryInfo to get its ID
924
+ const extractedDeps = this.resolveTokensToQueryDependencies(tokens);
925
+ // Check for cycles before syncing
926
+ const cycleError = await this.detectDependencyCycles(extractedDeps);
927
+ if (cycleError) {
928
+ LogError(`Query "${this.Name}" creates circular dependency: ${cycleError}. Dependencies will not be synced.`);
929
+ return;
930
+ }
931
+ await this.syncQueryDependencies(extractedDeps);
932
+ }
933
+ /**
934
+ * Resolves parsed composition tokens to dependency records with QueryIDs.
935
+ */
936
+ resolveTokensToQueryDependencies(tokens) {
937
+ const allQueries = Metadata.Provider.Queries;
938
+ const deps = [];
939
+ for (const token of tokens) {
940
+ const queryName = token.QueryName.toLowerCase();
941
+ // Try category-qualified lookup first
942
+ let matchedQuery;
943
+ if (token.CategorySegments.length > 0) {
944
+ const expectedPath = `/${token.CategorySegments.join('/')}/`;
945
+ matchedQuery = allQueries.find(q => q.Name.toLowerCase() === queryName &&
946
+ q.CategoryPath.toLowerCase() === expectedPath.toLowerCase());
947
+ }
948
+ // Fall back to name-only
949
+ if (!matchedQuery) {
950
+ const nameMatches = allQueries.filter(q => q.Name.toLowerCase() === queryName);
951
+ if (nameMatches.length === 1) {
952
+ matchedQuery = nameMatches[0];
953
+ }
954
+ }
955
+ if (!matchedQuery) {
956
+ LogError(`Query "${this.Name}": Referenced query not found: "${token.FullPath}". Dependency will not be tracked.`);
957
+ continue;
958
+ }
959
+ // Validate the referenced query is marked Reusable
960
+ if (!matchedQuery.Reusable) {
961
+ throw new Error(`Query "${this.Name}" references "${token.FullPath}" via composition syntax, ` +
962
+ `but "${matchedQuery.Name}" is not marked as Reusable. ` +
963
+ `Set Reusable=true on "${matchedQuery.Name}" before using it in {{query:"..."}} references.`);
964
+ }
965
+ // Extract alias from SQL context (look for the token followed by whitespace + identifier)
966
+ const alias = this.extractAliasFromSQL(token.FullToken);
967
+ // Build parameter mapping
968
+ let parameterMapping = null;
969
+ if (token.Parameters.length > 0) {
970
+ parameterMapping = {};
971
+ for (const param of token.Parameters) {
972
+ if (param.StaticValue !== null) {
973
+ parameterMapping[param.Name] = param.StaticValue;
974
+ }
975
+ else if (param.PassThroughName !== null) {
976
+ parameterMapping[param.Name] = `@${param.PassThroughName}`;
977
+ }
978
+ }
979
+ }
980
+ deps.push({
981
+ dependsOnQueryID: matchedQuery.ID,
982
+ referencePath: token.FullPath,
983
+ alias,
984
+ parameterMapping
985
+ });
986
+ }
987
+ return deps;
988
+ }
989
+ /**
990
+ * Extracts the SQL alias following a {{query:"..."}} token from this query's SQL.
991
+ */
992
+ extractAliasFromSQL(fullToken) {
993
+ if (!this.SQL)
994
+ return null;
995
+ const tokenIndex = this.SQL.indexOf(fullToken);
996
+ if (tokenIndex < 0)
997
+ return null;
998
+ const afterToken = this.SQL.substring(tokenIndex + fullToken.length);
999
+ const aliasMatch = /^\s+(\w+)/i.exec(afterToken);
1000
+ // Make sure it's not a SQL keyword
1001
+ if (aliasMatch) {
1002
+ const keywords = new Set(['ON', 'WHERE', 'AND', 'OR', 'JOIN', 'LEFT', 'RIGHT', 'INNER', 'OUTER', 'CROSS', 'FULL', 'GROUP', 'ORDER', 'HAVING', 'UNION', 'EXCEPT', 'INTERSECT', 'LIMIT', 'OFFSET', 'FETCH']);
1003
+ if (!keywords.has(aliasMatch[1].toUpperCase())) {
1004
+ return aliasMatch[1];
1005
+ }
1006
+ }
1007
+ return null;
1008
+ }
1009
+ /**
1010
+ * Detects circular dependencies by walking the dependency graph.
1011
+ * Returns a descriptive error string if a cycle is found, or null if clean.
1012
+ */
1013
+ async detectDependencyCycles(proposedDeps) {
1014
+ const allDependencies = Metadata.Provider.QueryDependencies;
1015
+ const visited = new Set();
1016
+ const stack = new Set();
1017
+ const hasCycle = (queryID, path) => {
1018
+ if (stack.has(queryID)) {
1019
+ const queryName = Metadata.Provider.Queries.find(q => UUIDsEqual(q.ID, queryID))?.Name || queryID;
1020
+ return [...path, queryName].join(' → ');
1021
+ }
1022
+ if (visited.has(queryID))
1023
+ return null;
1024
+ visited.add(queryID);
1025
+ stack.add(queryID);
1026
+ const queryName = Metadata.Provider.Queries.find(q => UUIDsEqual(q.ID, queryID))?.Name || queryID;
1027
+ path.push(queryName);
1028
+ // Get existing dependencies for this query
1029
+ const deps = allDependencies.filter(d => d.QueryID === queryID);
1030
+ for (const dep of deps) {
1031
+ const result = hasCycle(dep.DependsOnQueryID, [...path]);
1032
+ if (result)
1033
+ return result;
1034
+ }
1035
+ stack.delete(queryID);
1036
+ return null;
1037
+ };
1038
+ // Check each proposed dependency
1039
+ for (const dep of proposedDeps) {
1040
+ // Simulate: dep.dependsOnQueryID → (its dependencies) → ... → back to this.ID?
1041
+ const visited2 = new Set();
1042
+ const stack2 = new Set([this.ID]);
1043
+ const checkFromDep = (queryID, path) => {
1044
+ if (UUIDsEqual(queryID, this.ID)) {
1045
+ return [...path, this.Name].join(' → ');
1046
+ }
1047
+ if (visited2.has(queryID))
1048
+ return null;
1049
+ visited2.add(queryID);
1050
+ const queryName = Metadata.Provider.Queries.find(q => UUIDsEqual(q.ID, queryID))?.Name || queryID;
1051
+ path.push(queryName);
1052
+ const deps = allDependencies.filter(d => d.QueryID === queryID);
1053
+ for (const d of deps) {
1054
+ const result = checkFromDep(d.DependsOnQueryID, [...path]);
1055
+ if (result)
1056
+ return result;
1057
+ }
1058
+ return null;
1059
+ };
1060
+ const result = checkFromDep(dep.dependsOnQueryID, [this.Name]);
1061
+ if (result)
1062
+ return result;
1063
+ }
1064
+ return null;
1065
+ }
1066
+ /**
1067
+ * Syncs extracted query dependencies against existing QueryDependency records.
1068
+ * Follows the same add/update/delete pattern as syncQueryParameters/Fields/Entities.
1069
+ */
1070
+ async syncQueryDependencies(extractedDeps) {
1071
+ const md = new Metadata();
1072
+ try {
1073
+ const existingDeps = [];
1074
+ if (this.IsSaved) {
1075
+ const rv = this.RunViewProviderToUse;
1076
+ const existingResult = await rv.RunView({
1077
+ EntityName: 'MJ: Query Dependencies',
1078
+ ExtraFilter: `QueryID='${this.ID}'`,
1079
+ ResultType: 'entity_object'
1080
+ }, this.ContextCurrentUser);
1081
+ if (!existingResult.Success) {
1082
+ throw new Error(`Failed to load existing query dependencies: ${existingResult.ErrorMessage}`);
1083
+ }
1084
+ existingDeps.push(...(existingResult.Results || []));
1085
+ }
1086
+ // Compare: match on DependsOnQueryID + ReferencePath for uniqueness
1087
+ const depsToAdd = extractedDeps.filter(d => !existingDeps.some(ed => UUIDsEqual(ed.DependsOnQueryID, d.dependsOnQueryID) &&
1088
+ ed.ReferencePath === d.referencePath));
1089
+ const depsToUpdate = existingDeps.filter(ed => extractedDeps.some(d => UUIDsEqual(ed.DependsOnQueryID, d.dependsOnQueryID) &&
1090
+ ed.ReferencePath === d.referencePath));
1091
+ const depsToRemove = existingDeps.filter(ed => !extractedDeps.some(d => UUIDsEqual(ed.DependsOnQueryID, d.dependsOnQueryID) &&
1092
+ ed.ReferencePath === d.referencePath));
1093
+ const promises = [];
1094
+ // Add new dependencies
1095
+ for (const dep of depsToAdd) {
1096
+ const newDep = await md.GetEntityObject('MJ: Query Dependencies', this.ContextCurrentUser);
1097
+ newDep.QueryID = this.ID;
1098
+ newDep.DependsOnQueryID = dep.dependsOnQueryID;
1099
+ newDep.ReferencePath = dep.referencePath;
1100
+ newDep.Alias = dep.alias;
1101
+ newDep.ParameterMapping = dep.parameterMapping ? JSON.stringify(dep.parameterMapping) : null;
1102
+ newDep.DetectionMethod = 'Auto';
1103
+ promises.push(newDep.Save());
1104
+ }
1105
+ // Update existing dependencies (check for changes)
1106
+ for (const existingDep of depsToUpdate) {
1107
+ const extractedDep = extractedDeps.find(d => UUIDsEqual(existingDep.DependsOnQueryID, d.dependsOnQueryID) &&
1108
+ existingDep.ReferencePath === d.referencePath);
1109
+ if (extractedDep) {
1110
+ let hasChanges = false;
1111
+ if (existingDep.Alias !== extractedDep.alias) {
1112
+ existingDep.Alias = extractedDep.alias;
1113
+ hasChanges = true;
1114
+ }
1115
+ const newMapping = extractedDep.parameterMapping ? JSON.stringify(extractedDep.parameterMapping) : null;
1116
+ if (existingDep.ParameterMapping !== newMapping) {
1117
+ existingDep.ParameterMapping = newMapping;
1118
+ hasChanges = true;
1119
+ }
1120
+ if (hasChanges) {
1121
+ promises.push(existingDep.Save());
1122
+ }
1123
+ }
1124
+ }
1125
+ // Remove stale dependencies
1126
+ for (const depToRemove of depsToRemove) {
1127
+ promises.push(depToRemove.Delete());
1128
+ }
1129
+ if (promises.length > 0) {
1130
+ await Promise.all(promises);
1131
+ }
1132
+ }
1133
+ catch (e) {
1134
+ LogError(`Query "${this.Name}" - Failed to sync dependencies:`, e);
1135
+ throw e;
1136
+ }
1137
+ }
1138
+ /**
1139
+ * Removes all QueryDependency records for this query.
1140
+ */
1141
+ async removeAllQueryDependencies() {
1142
+ try {
1143
+ if (!this.IsSaved)
1144
+ return;
1145
+ const rv = this.RunViewProviderToUse;
1146
+ const existingResult = await rv.RunView({
1147
+ EntityName: 'MJ: Query Dependencies',
1148
+ ExtraFilter: `QueryID='${this.ID}'`,
1149
+ ResultType: 'entity_object'
1150
+ }, this.ContextCurrentUser);
1151
+ if (!existingResult.Success) {
1152
+ throw new Error(`Failed to load existing query dependencies: ${existingResult.ErrorMessage}`);
1153
+ }
1154
+ const existingDeps = existingResult.Results || [];
1155
+ const deletePromises = existingDeps.map(dep => dep.Delete());
1156
+ if (deletePromises.length > 0) {
1157
+ await Promise.all(deletePromises);
1158
+ }
1159
+ }
1160
+ catch (e) {
1161
+ LogError('Failed to remove query dependencies:', e);
1162
+ throw e;
1163
+ }
1164
+ }
747
1165
  /**
748
1166
  * Auto-converts the query's SQL to other dialects based on the queryDialects
749
1167
  * configuration stored in GlobalObjectStore. Best-effort: failures never block the save.
@@ -1 +1 @@
1
- {"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-entities-server",
3
3
  "type": "module",
4
- "version": "5.10.1",
4
+ "version": "5.12.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,21 +21,21 @@
21
21
  "typescript": "^5.9.3"
22
22
  },
23
23
  "dependencies": {
24
- "@memberjunction/actions-base": "5.10.1",
25
- "@memberjunction/ai": "5.10.1",
26
- "@memberjunction/ai-core-plus": "5.10.1",
27
- "@memberjunction/ai-engine-base": "5.10.1",
28
- "@memberjunction/ai-prompts": "5.10.1",
29
- "@memberjunction/ai-provider-bundle": "5.10.1",
30
- "@memberjunction/ai-vector-dupe": "5.10.1",
31
- "@memberjunction/aiengine": "5.10.1",
32
- "@memberjunction/core": "5.10.1",
33
- "@memberjunction/core-entities": "5.10.1",
34
- "@memberjunction/doc-utils": "5.10.1",
35
- "@memberjunction/global": "5.10.1",
36
- "@memberjunction/skip-types": "5.10.1",
37
- "@memberjunction/sql-converter": "5.10.1",
38
- "@memberjunction/sqlserver-dataprovider": "5.10.1",
24
+ "@memberjunction/actions-base": "5.12.0",
25
+ "@memberjunction/ai": "5.12.0",
26
+ "@memberjunction/ai-core-plus": "5.12.0",
27
+ "@memberjunction/ai-engine-base": "5.12.0",
28
+ "@memberjunction/ai-prompts": "5.12.0",
29
+ "@memberjunction/ai-provider-bundle": "5.12.0",
30
+ "@memberjunction/ai-vector-dupe": "5.12.0",
31
+ "@memberjunction/aiengine": "5.12.0",
32
+ "@memberjunction/core": "5.12.0",
33
+ "@memberjunction/core-entities": "5.12.0",
34
+ "@memberjunction/doc-utils": "5.12.0",
35
+ "@memberjunction/global": "5.12.0",
36
+ "@memberjunction/skip-types": "5.12.0",
37
+ "@memberjunction/sql-converter": "5.12.0",
38
+ "@memberjunction/sqlserver-dataprovider": "5.12.0",
39
39
  "node-sql-parser": "^5.4.0",
40
40
  "nunjucks": "^3.2.4",
41
41
  "zod": "~3.24.4"