@memberjunction/query-gen 2.126.1 → 2.128.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.
Files changed (58) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +33 -0
  3. package/dist/cli/commands/export.js +0 -1
  4. package/dist/cli/commands/export.js.map +1 -1
  5. package/dist/cli/commands/generate.d.ts.map +1 -1
  6. package/dist/cli/commands/generate.js +1 -1
  7. package/dist/cli/commands/generate.js.map +1 -1
  8. package/dist/cli/commands/validate.js +1 -0
  9. package/dist/cli/commands/validate.js.map +1 -1
  10. package/dist/cli/config.d.ts +1 -0
  11. package/dist/cli/config.d.ts.map +1 -1
  12. package/dist/cli/config.js +1 -0
  13. package/dist/cli/config.js.map +1 -1
  14. package/dist/core/EntityGrouper.d.ts +2 -3
  15. package/dist/core/EntityGrouper.d.ts.map +1 -1
  16. package/dist/core/EntityGrouper.js +45 -4
  17. package/dist/core/EntityGrouper.js.map +1 -1
  18. package/dist/core/MetadataExporter.d.ts +13 -3
  19. package/dist/core/MetadataExporter.d.ts.map +1 -1
  20. package/dist/core/MetadataExporter.js +41 -13
  21. package/dist/core/MetadataExporter.js.map +1 -1
  22. package/dist/core/QueryDatabaseWriter.d.ts.map +1 -1
  23. package/dist/core/QueryDatabaseWriter.js +1 -2
  24. package/dist/core/QueryDatabaseWriter.js.map +1 -1
  25. package/dist/core/QueryFixer.d.ts.map +1 -1
  26. package/dist/core/QueryFixer.js +3 -1
  27. package/dist/core/QueryFixer.js.map +1 -1
  28. package/dist/core/QueryRefiner.d.ts.map +1 -1
  29. package/dist/core/QueryRefiner.js +1 -0
  30. package/dist/core/QueryRefiner.js.map +1 -1
  31. package/dist/core/QuestionGenerator.d.ts +4 -5
  32. package/dist/core/QuestionGenerator.d.ts.map +1 -1
  33. package/dist/core/QuestionGenerator.js +38 -24
  34. package/dist/core/QuestionGenerator.js.map +1 -1
  35. package/dist/data/schema.d.ts +1 -1
  36. package/dist/data/schema.d.ts.map +1 -1
  37. package/dist/index.d.ts +0 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -3
  40. package/dist/index.js.map +1 -1
  41. package/package.json +10 -10
  42. package/src/cli/commands/export.ts +0 -1
  43. package/src/cli/commands/generate.ts +1 -2
  44. package/src/cli/commands/validate.ts +1 -0
  45. package/src/cli/config.ts +3 -0
  46. package/src/core/EntityGrouper.ts +55 -4
  47. package/src/core/MetadataExporter.ts +46 -14
  48. package/src/core/QueryDatabaseWriter.ts +1 -2
  49. package/src/core/QueryFixer.ts +4 -1
  50. package/src/core/QueryRefiner.ts +1 -0
  51. package/src/core/QuestionGenerator.ts +51 -37
  52. package/src/data/schema.ts +1 -1
  53. package/src/index.ts +0 -1
  54. package/dist/utils/query-helpers.d.ts +0 -23
  55. package/dist/utils/query-helpers.d.ts.map +0 -1
  56. package/dist/utils/query-helpers.js +0 -34
  57. package/dist/utils/query-helpers.js.map +0 -1
  58. package/src/utils/query-helpers.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFixer.js","sourceRoot":"","sources":["../../src/core/QueryFixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryFixer.js","sourceRoot":"","sources":["../../src/core/QueryFixer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRefiner.d.ts","sourceRoot":"","sources":["../../src/core/QueryRefiner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C;;;GAGG;AACH,qBAAa,YAAY;IAIrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,cAAc,CAAiC;gBAG7C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc;IAGhC;;;;;;;;;;;OAWG;IACG,WAAW,CACf,KAAK,EAAE,cAAc,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,uBAAuB,EAAE,EACzC,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,YAAY,CAAC;IA+FxB;;;OAGG;YACW,iBAAiB;IAS/B;;;OAGG;YACW,gBAAgB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;YACW,gBAAgB;IAqB9B;;;;;;;;OAQG;YACW,aAAa;IAkC3B;;;;;;;;;OASG;YACW,iBAAiB;IAqC/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;YACW,aAAa;IAwB3B;;OAEG;IACH,OAAO,CAAC,aAAa;CAiBtB"}
1
+ {"version":3,"file":"QueryRefiner.d.ts","sourceRoot":"","sources":["../../src/core/QueryRefiner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C;;;GAGG;AACH,qBAAa,YAAY;IAIrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,cAAc,CAAiC;gBAG7C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc;IAGhC;;;;;;;;;;;OAWG;IACG,WAAW,CACf,KAAK,EAAE,cAAc,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,uBAAuB,EAAE,EACzC,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,YAAY,CAAC;IA+FxB;;;OAGG;YACW,iBAAiB;IAS/B;;;OAGG;YACW,gBAAgB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;YACW,gBAAgB;IAqB9B;;;;;;;;OAQG;YACW,aAAa;IAkC3B;;;;;;;;;OASG;YACW,iBAAiB;IAsC/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;YACW,aAAa;IAwB3B;;OAEG;IACH,OAAO,CAAC,aAAa;CAiBtB"}
@@ -213,6 +213,7 @@ class QueryRefiner {
213
213
  (0, core_1.LogStatus)(`Refinements applied: ${refinedQuery.improvementsSummary}`);
214
214
  }
215
215
  return {
216
+ queryName: refinedQuery.queryName,
216
217
  sql: refinedQuery.sql,
217
218
  parameters: refinedQuery.parameters,
218
219
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRefiner.js","sourceRoot":"","sources":["../../src/core/QueryRefiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryRefiner.js","sourceRoot":"","sources":["../../src/core/QueryRefiner.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,11 @@ export declare class QuestionGenerator {
36
36
  /**
37
37
  * Validate and filter business questions
38
38
  * Removes low-quality or unanswerable questions
39
+ * Corrects entity name casing to match exact entity group names
39
40
  *
40
41
  * @param questions - Raw questions from AI
41
42
  * @param entityGroup - Entity group for validation context
42
- * @returns Filtered array of valid questions
43
+ * @returns Filtered array of valid questions with corrected entity names
43
44
  */
44
45
  private validateQuestions;
45
46
  /**
@@ -48,11 +49,9 @@ export declare class QuestionGenerator {
48
49
  private hasRequiredFields;
49
50
  /**
50
51
  * Check if question references entities in the group
52
+ * Uses case-insensitive matching to handle minor casing differences
53
+ * Also accepts base view names as valid references
51
54
  */
52
55
  private referencesGroupEntities;
53
- /**
54
- * Check if question is too generic to be useful
55
- */
56
- private isTooGeneric;
57
56
  }
58
57
  //# sourceMappingURL=QuestionGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionGenerator.d.ts","sourceRoot":"","sources":["../../src/core/QuestionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;GAGG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;gBADN,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc;IAGhC;;;;;;OAMG;IACG,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyC9E;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;YACW,aAAa;IAuB3B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;OAEG;IACH,OAAO,CAAC,YAAY;CAarB"}
1
+ {"version":3,"file":"QuestionGenerator.d.ts","sourceRoot":"","sources":["../../src/core/QuestionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;GAGG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;gBADN,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc;IAGhC;;;;;;OAMG;IACG,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyC9E;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;YACW,aAAa;IAuB3B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAShC"}
@@ -87,27 +87,52 @@ class QuestionGenerator {
87
87
  /**
88
88
  * Validate and filter business questions
89
89
  * Removes low-quality or unanswerable questions
90
+ * Corrects entity name casing to match exact entity group names
90
91
  *
91
92
  * @param questions - Raw questions from AI
92
93
  * @param entityGroup - Entity group for validation context
93
- * @returns Filtered array of valid questions
94
+ * @returns Filtered array of valid questions with corrected entity names
94
95
  */
95
96
  validateQuestions(questions, entityGroup) {
96
- const entityNames = new Set(entityGroup.entities.map((e) => e.Name));
97
- return questions.filter((q) => {
97
+ // Create case-insensitive lookup map: lowercase -> exact entity name
98
+ // Also map BaseView names to correct entity names (in case LLM returns view names)
99
+ const entityNameLookup = new Map();
100
+ for (const entity of entityGroup.entities) {
101
+ // Map entity name (case-insensitive)
102
+ entityNameLookup.set(entity.Name.toLowerCase(), entity.Name);
103
+ // Map base view name to entity name (case-insensitive) as backup
104
+ if (entity.BaseView) {
105
+ entityNameLookup.set(entity.BaseView.toLowerCase(), entity.Name);
106
+ }
107
+ }
108
+ return questions
109
+ .filter((q) => {
98
110
  // Must have required fields
99
111
  if (!this.hasRequiredFields(q)) {
112
+ if (this.config.verbose) {
113
+ (0, core_1.LogStatus)(` ❌ Filtered: Missing required fields - "${q.userQuestion?.substring(0, 60)}..."`);
114
+ }
100
115
  return false;
101
116
  }
102
- // Must reference entities in the group
103
- if (!this.referencesGroupEntities(q, entityNames)) {
104
- return false;
105
- }
106
- // Must not be overly generic
107
- if (this.isTooGeneric(q)) {
117
+ // Must reference entities in the group (by name or base view)
118
+ if (!this.referencesGroupEntities(q, entityNameLookup)) {
119
+ if (this.config.verbose) {
120
+ (0, core_1.LogStatus)(` ❌ Filtered: Doesn't reference group entities - "${q.userQuestion.substring(0, 60)}..." (references: ${q.entities.join(', ')})`);
121
+ }
108
122
  return false;
109
123
  }
110
124
  return true;
125
+ })
126
+ .map((q) => {
127
+ // Correct entity name casing to match exact entity group names
128
+ const correctedEntities = q.entities.map((entityName) => {
129
+ const exactName = entityNameLookup.get(entityName.toLowerCase());
130
+ return exactName || entityName; // Use exact name if found, otherwise keep original
131
+ });
132
+ return {
133
+ ...q,
134
+ entities: correctedEntities
135
+ };
111
136
  });
112
137
  }
113
138
  /**
@@ -123,22 +148,11 @@ class QuestionGenerator {
123
148
  }
124
149
  /**
125
150
  * Check if question references entities in the group
151
+ * Uses case-insensitive matching to handle minor casing differences
152
+ * Also accepts base view names as valid references
126
153
  */
127
- referencesGroupEntities(question, entityNames) {
128
- return question.entities.some((entityName) => entityNames.has(entityName));
129
- }
130
- /**
131
- * Check if question is too generic to be useful
132
- */
133
- isTooGeneric(question) {
134
- const genericPatterns = [
135
- /show\s+me\s+all/i,
136
- /list\s+all/i,
137
- /get\s+all/i,
138
- /display\s+all/i,
139
- /^what\s+is/i,
140
- ];
141
- return genericPatterns.some((pattern) => pattern.test(question.userQuestion));
154
+ referencesGroupEntities(question, entityNameLookup) {
155
+ return question.entities.some((entityName) => entityNameLookup.has(entityName.toLowerCase()));
142
156
  }
143
157
  }
144
158
  exports.QuestionGenerator = QuestionGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionGenerator.js","sourceRoot":"","sources":["../../src/core/QuestionGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuestionGenerator.js","sourceRoot":"","sources":["../../src/core/QuestionGenerator.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ export interface BusinessQuestion {
72
72
  * Note: selectClause removed - QueryEntity automatically creates QueryFieldEntity records from SQL
73
73
  */
74
74
  export interface GeneratedQuery {
75
+ queryName: string;
75
76
  sql: string;
76
77
  parameters: QueryParameter[];
77
78
  }
@@ -206,7 +207,6 @@ export interface QueryMetadataRecord {
206
207
  Description: string;
207
208
  TechnicalDescription: string;
208
209
  SQL: string;
209
- OriginalSQL: string;
210
210
  UsesTemplate: boolean;
211
211
  Status: string;
212
212
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/data/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/data/schema.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,5 +24,4 @@ export { validateCommand } from './cli/commands/validate';
24
24
  export { exportCommand } from './cli/commands/export';
25
25
  export { extractErrorMessage, requireValue, getPropertyOrDefault } from './utils/error-handlers';
26
26
  export { formatEntityMetadataForPrompt, formatEntityGroupForPrompt, findEntityById, getPrimaryKeyFields, getForeignKeyFields, hasRelationships, getRelationshipCount } from './utils/entity-helpers';
27
- export { generateQueryName } from './utils/query-helpers';
28
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.generateQueryName = exports.getRelationshipCount = exports.hasRelationships = exports.getForeignKeyFields = exports.getPrimaryKeyFields = exports.findEntityById = exports.formatEntityGroupForPrompt = exports.formatEntityMetadataForPrompt = exports.getPropertyOrDefault = exports.requireValue = exports.extractErrorMessage = exports.exportCommand = exports.validateCommand = exports.generateCommand = exports.loadConfig = exports.EmbeddingService = exports.SimilaritySearch = exports.QueryDatabaseWriter = exports.MetadataExporter = exports.QueryRefiner = exports.QueryFixer = exports.QueryTester = exports.QueryWriter = exports.QuestionGenerator = exports.EntityGrouper = void 0;
25
+ exports.getRelationshipCount = exports.hasRelationships = exports.getForeignKeyFields = exports.getPrimaryKeyFields = exports.findEntityById = exports.formatEntityGroupForPrompt = exports.formatEntityMetadataForPrompt = exports.getPropertyOrDefault = exports.requireValue = exports.extractErrorMessage = exports.exportCommand = exports.validateCommand = exports.generateCommand = exports.loadConfig = exports.EmbeddingService = exports.SimilaritySearch = exports.QueryDatabaseWriter = exports.MetadataExporter = exports.QueryRefiner = exports.QueryFixer = exports.QueryTester = exports.QueryWriter = exports.QuestionGenerator = exports.EntityGrouper = void 0;
26
26
  // Export core classes
27
27
  var EntityGrouper_1 = require("./core/EntityGrouper");
28
28
  Object.defineProperty(exports, "EntityGrouper", { enumerable: true, get: function () { return EntityGrouper_1.EntityGrouper; } });
@@ -72,6 +72,4 @@ Object.defineProperty(exports, "getPrimaryKeyFields", { enumerable: true, get: f
72
72
  Object.defineProperty(exports, "getForeignKeyFields", { enumerable: true, get: function () { return entity_helpers_1.getForeignKeyFields; } });
73
73
  Object.defineProperty(exports, "hasRelationships", { enumerable: true, get: function () { return entity_helpers_1.hasRelationships; } });
74
74
  Object.defineProperty(exports, "getRelationshipCount", { enumerable: true, get: function () { return entity_helpers_1.getRelationshipCount; } });
75
- var query_helpers_1 = require("./utils/query-helpers");
76
- Object.defineProperty(exports, "generateQueryName", { enumerable: true, get: function () { return query_helpers_1.generateQueryName; } });
77
75
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AACtB,8DAA6D;AAApD,sHAAA,iBAAiB,OAAA;AAC1B,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,oDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,kEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAE5B,yBAAyB;AACzB,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AACzB,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AAEzB,eAAe;AACf,gDAA8B;AAE9B,sBAAsB;AACtB,wDAAsC;AAEtC,uBAAuB;AACvB,uCAA0D;AAAjC,oGAAA,UAAU,OAAA;AAEnC,sBAAsB;AACtB,oDAA0D;AAAjD,2GAAA,eAAe,OAAA;AACxB,oDAA0D;AAAjD,2GAAA,eAAe,OAAA;AACxB,gDAAsD;AAA7C,uGAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,yDAAiG;AAAxF,qHAAA,mBAAmB,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,sHAAA,oBAAoB,OAAA;AAChE,yDAQgC;AAP9B,+HAAA,6BAA6B,OAAA;AAC7B,4HAAA,0BAA0B,OAAA;AAC1B,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAChB,sHAAA,oBAAoB,OAAA;AAEtB,uDAA0D;AAAjD,kHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AACtB,8DAA6D;AAApD,sHAAA,iBAAiB,OAAA;AAC1B,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,oDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,kEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAE5B,yBAAyB;AACzB,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AACzB,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AAEzB,eAAe;AACf,gDAA8B;AAE9B,sBAAsB;AACtB,wDAAsC;AAEtC,uBAAuB;AACvB,uCAA0D;AAAjC,oGAAA,UAAU,OAAA;AAEnC,sBAAsB;AACtB,oDAA0D;AAAjD,2GAAA,eAAe,OAAA;AACxB,oDAA0D;AAAjD,2GAAA,eAAe,OAAA;AACxB,gDAAsD;AAA7C,uGAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,yDAAiG;AAAxF,qHAAA,mBAAmB,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,sHAAA,oBAAoB,OAAA;AAChE,yDAQgC;AAP9B,+HAAA,6BAA6B,OAAA;AAC7B,4HAAA,0BAA0B,OAAA;AAC1B,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAChB,sHAAA,oBAAoB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/query-gen",
3
- "version": "2.126.1",
3
+ "version": "2.128.0",
4
4
  "description": "AI-powered generation of domain-specific SQL query templates with automatic testing, refinement, and metadata export",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,15 +25,15 @@
25
25
  "author": "MemberJunction",
26
26
  "license": "MIT",
27
27
  "dependencies": {
28
- "@memberjunction/ai": "2.126.1",
29
- "@memberjunction/ai-core-plus": "2.126.1",
30
- "@memberjunction/aiengine": "2.126.1",
31
- "@memberjunction/ai-prompts": "2.126.1",
32
- "@memberjunction/ai-vectors-memory": "2.126.1",
33
- "@memberjunction/core": "2.126.1",
34
- "@memberjunction/core-entities": "2.126.1",
35
- "@memberjunction/global": "2.126.1",
36
- "@memberjunction/sqlserver-dataprovider": "2.126.1",
28
+ "@memberjunction/ai": "2.128.0",
29
+ "@memberjunction/ai-core-plus": "2.128.0",
30
+ "@memberjunction/aiengine": "2.128.0",
31
+ "@memberjunction/ai-prompts": "2.128.0",
32
+ "@memberjunction/ai-vectors-memory": "2.128.0",
33
+ "@memberjunction/core": "2.128.0",
34
+ "@memberjunction/core-entities": "2.128.0",
35
+ "@memberjunction/global": "2.128.0",
36
+ "@memberjunction/sqlserver-dataprovider": "2.128.0",
37
37
  "chalk": "^4.1.2",
38
38
  "commander": "^11.1.0",
39
39
  "nunjucks": "^3.2.4",
@@ -155,7 +155,6 @@ async function convertQueryToMetadata(
155
155
  Description: query.Description || '',
156
156
  TechnicalDescription: query.TechnicalDescription || '',
157
157
  SQL: query.SQL || '',
158
- OriginalSQL: query.OriginalSQL || query.SQL || '',
159
158
  UsesTemplate: query.UsesTemplate || false,
160
159
  Status: query.Status || 'Active',
161
160
  },
@@ -254,8 +254,7 @@ export async function generateCommand(options: Record<string, unknown>): Promise
254
254
  const exportResult = await exporter.exportQueries(
255
255
  allValidatedQueries,
256
256
  uniqueCategories,
257
- config.outputDirectory,
258
- config.outputCategoryDirectory
257
+ config
259
258
  );
260
259
  spinner.succeed(chalk.green(`Exported to ${exportResult.outputPath}`));
261
260
  }
@@ -179,6 +179,7 @@ async function loadQueryFiles(queryPath: string): Promise<Array<{ file: string;
179
179
  */
180
180
  function convertMetadataToGeneratedQuery(record: QueryMetadataRecord): GeneratedQuery {
181
181
  return {
182
+ queryName: record.fields.Name,
182
183
  sql: record.fields.SQL,
183
184
  parameters: [], // Not needed for validation - QueryEntity will extract
184
185
  };
package/src/cli/config.ts CHANGED
@@ -45,6 +45,7 @@ export interface QueryGenConfig {
45
45
  outputMode: 'metadata' | 'database' | 'both';
46
46
  outputDirectory: string;
47
47
  outputCategoryDirectory?: string; // Optional: defaults to outputDirectory if not provided
48
+ externalizeSQLToFiles: boolean; // When true, creates separate .sql files and uses @file: references
48
49
 
49
50
  // Query Category Configuration
50
51
  rootQueryCategory: string;
@@ -84,6 +85,7 @@ const DEFAULT_CONFIG: QueryGenConfig = {
84
85
  },
85
86
  outputMode: 'metadata',
86
87
  outputDirectory: './metadata/queries',
88
+ externalizeSQLToFiles: true,
87
89
  rootQueryCategory: 'Auto-Generated',
88
90
  autoCreateEntityQueryCategories: false,
89
91
  parallelGenerations: 1,
@@ -116,6 +118,7 @@ export function loadConfig(cliOptions: Record<string, unknown>): QueryGenConfig
116
118
  }
117
119
 
118
120
  // Override with CLI options
121
+
119
122
  if (cliOptions.entities) {
120
123
  config.includeEntities = parseArrayOption(cliOptions.entities);
121
124
  }
@@ -118,9 +118,8 @@ export class EntityGrouper {
118
118
  /**
119
119
  * Prepare schema data for LLM prompt
120
120
  *
121
- * Note: The LLM will determine appropriate group count based on business
122
- * domain understanding and schema complexity. We provide the full entity
123
- * schema and relationship graph for intelligent analysis.
121
+ * Calculates a target group count based on entity count and group size constraints
122
+ * to guide the LLM toward appropriate coverage.
124
123
  *
125
124
  * @param entities - Entities within a single schema
126
125
  * @param schemaName - Name of the schema being processed
@@ -129,12 +128,64 @@ export class EntityGrouper {
129
128
  const formattedEntities = formatEntitiesForPrompt(entities);
130
129
  const relationshipGraph = generateRelationshipGraph(entities);
131
130
 
131
+ // Calculate target group count using graph theory metrics
132
+ // This approach uses actual schema connectivity instead of arbitrary thresholds
133
+ const avgGroupSize = (this.config.minGroupSize + this.config.maxGroupSize) / 2;
134
+
135
+ // Calculate graph metrics
136
+ const totalRelationships = entities.reduce((sum, e) => sum + e.RelatedEntities.length, 0);
137
+ const avgDegree = totalRelationships / entities.length;
138
+
139
+ // Identify hub entities (>5 relationships) - these create many group opportunities
140
+ const hubEntities = entities.filter(e => e.RelatedEntities.length > 5);
141
+ const hubCount = hubEntities.length;
142
+ const maxHubDegree = hubCount > 0 ? Math.max(...hubEntities.map(e => e.RelatedEntities.length)) : 0;
143
+
144
+ // Base coverage: Start with full coverage (1.0) for any connected schema
145
+ // Boost if there are hub entities that create multiple grouping opportunities
146
+ let baseCoverage = 1.0;
147
+
148
+ // Hub multiplier: Each hub entity can participate in many groups
149
+ // A hub with 30 relationships can create ~15 meaningful 2-entity groups
150
+ if (hubCount > 0) {
151
+ // Each hub adds potential groups proportional to its degree
152
+ const hubBoost = (maxHubDegree / entities.length) * 0.5;
153
+ baseCoverage = Math.min(1.0 + hubBoost, 1.5);
154
+ }
155
+
156
+ // Connectivity multiplier: Higher average degree = more overlapping groups possible
157
+ const connectivityMultiplier = Math.min(1.0 + (avgDegree / 10), 1.3);
158
+
159
+ // Final target combining both metrics
160
+ const targetGroupCount = Math.ceil(
161
+ (entities.length * baseCoverage * connectivityMultiplier) / avgGroupSize
162
+ );
163
+
164
+ // Log metrics in verbose mode
165
+ if (this.config.verbose) {
166
+ LogStatus(`\nSchema Graph Metrics (${schemaName}):`);
167
+ LogStatus(` Total entities: ${entities.length}`);
168
+ LogStatus(` Total relationships: ${totalRelationships}`);
169
+ LogStatus(` Average degree: ${avgDegree.toFixed(2)}`);
170
+ LogStatus(` Hub entities (>5 rels): ${hubCount}`);
171
+ if (hubCount > 0) {
172
+ LogStatus(` Largest hub degree: ${maxHubDegree}`);
173
+ }
174
+ LogStatus(` Base coverage: ${baseCoverage.toFixed(2)}`);
175
+ LogStatus(` Connectivity multiplier: ${connectivityMultiplier.toFixed(2)}`);
176
+ LogStatus(` → Target group count: ${targetGroupCount}\n`);
177
+ }
178
+
132
179
  return {
133
180
  schemaName,
134
181
  entities: formattedEntities,
135
182
  relationshipGraph,
136
183
  minGroupSize: this.config.minGroupSize,
137
- maxGroupSize: this.config.maxGroupSize
184
+ maxGroupSize: this.config.maxGroupSize,
185
+ targetGroupCount,
186
+ avgDegree: avgDegree.toFixed(1),
187
+ hubCount,
188
+ maxHubDegree: hubCount > 0 ? maxHubDegree : undefined
138
189
  };
139
190
  }
140
191
 
@@ -8,7 +8,7 @@
8
8
  import { promises as fs } from 'fs';
9
9
  import * as path from 'path';
10
10
  import { ValidatedQuery, ExportResult, QueryMetadataRecord, QueryCategoryInfo } from '../data/schema';
11
- import { generateQueryName } from '../utils/query-helpers';
11
+ import { QueryGenConfig } from '../cli/config';
12
12
 
13
13
  /**
14
14
  * MetadataExporter class
@@ -22,30 +22,41 @@ export class MetadataExporter {
22
22
  * and writes them to timestamped JSON files:
23
23
  * - .query-categories-{timestamp}.json for the categories
24
24
  * - .queries-{timestamp}.json for the queries
25
+ * - SQL/{query-name}.sql files if externalizeSQLToFiles is enabled
25
26
  *
26
27
  * @param validatedQueries - Array of validated queries to export
27
28
  * @param uniqueCategories - Pre-built unique categories for all queries
28
- * @param outputDirectory - Directory to write the queries file
29
- * @param outputCategoryDirectory - Optional directory for categories file (defaults to outputDirectory)
29
+ * @param config - QueryGen configuration
30
30
  * @returns Export result with file path and query count
31
31
  */
32
32
  async exportQueries(
33
33
  validatedQueries: ValidatedQuery[],
34
34
  uniqueCategories: QueryCategoryInfo[],
35
- outputDirectory: string,
36
- outputCategoryDirectory?: string
35
+ config: QueryGenConfig
37
36
  ): Promise<ExportResult> {
38
37
  // Generate shared timestamp for both files
39
38
  const timestamp = Date.now();
40
39
 
41
- // Use category directory if provided, otherwise use queries directory
42
- const categoryDir = outputCategoryDirectory || outputDirectory;
40
+ const outputDirectory = config.outputDirectory;
41
+ const categoryDir = config.outputCategoryDirectory || outputDirectory;
43
42
 
44
- // 1. Transform to MJ metadata format
45
- const queryMetadata = validatedQueries.map(q => this.toQueryMetadata(q));
43
+ // 1. If externalizing SQL, create SQL directory and write files
44
+ if (config.externalizeSQLToFiles) {
45
+ const sqlDir = path.join(outputDirectory, 'SQL');
46
+ await fs.mkdir(sqlDir, { recursive: true });
47
+
48
+ for (const query of validatedQueries) {
49
+ const fileName = this.sanitizeFileName(query.query.queryName);
50
+ const sqlFilePath = path.join(sqlDir, `${fileName}.sql`);
51
+ await fs.writeFile(sqlFilePath, query.query.sql, 'utf-8');
52
+ }
53
+ }
54
+
55
+ // 2. Transform to MJ metadata format
56
+ const queryMetadata = validatedQueries.map(q => this.toQueryMetadata(q, config.externalizeSQLToFiles));
46
57
  const categoryMetadata = uniqueCategories.map(c => this.toCategoryMetadata(c));
47
58
 
48
- // 2. Ensure output directories exist
59
+ // 3. Ensure output directories exist
49
60
  await fs.mkdir(outputDirectory, { recursive: true });
50
61
  if (categoryDir !== outputDirectory) {
51
62
  await fs.mkdir(categoryDir, { recursive: true });
@@ -85,21 +96,26 @@ export class MetadataExporter {
85
96
  * This happens asynchronously during the Save() operation.
86
97
  *
87
98
  * @param query - Validated query to transform
99
+ * @param externalizeSQLToFiles - Whether SQL is externalized to separate files
88
100
  * @returns Query metadata record
89
101
  */
90
- private toQueryMetadata(query: ValidatedQuery): QueryMetadataRecord {
102
+ private toQueryMetadata(query: ValidatedQuery, externalizeSQLToFiles: boolean): QueryMetadataRecord {
91
103
  // Build category lookup path (e.g., "Golden-Queries/Members" becomes lookup filter)
92
104
  const categoryLookup = this.buildCategoryLookup(query.category);
93
105
 
106
+ // If externalizing SQL, use @file: reference; otherwise embed SQL directly
107
+ const sqlValue = externalizeSQLToFiles
108
+ ? `@file:SQL/${this.sanitizeFileName(query.query.queryName)}.sql`
109
+ : query.query.sql;
110
+
94
111
  return {
95
112
  fields: {
96
- Name: generateQueryName(query.businessQuestion),
113
+ Name: query.query.queryName,
97
114
  CategoryID: categoryLookup,
98
115
  UserQuestion: query.businessQuestion.userQuestion,
99
116
  Description: query.businessQuestion.description,
100
117
  TechnicalDescription: query.businessQuestion.technicalDescription,
101
- SQL: query.query.sql,
102
- OriginalSQL: query.query.sql,
118
+ SQL: sqlValue,
103
119
  UsesTemplate: true,
104
120
  Status: 'Pending'
105
121
  }
@@ -145,4 +161,20 @@ export class MetadataExporter {
145
161
  return `@lookup:Query Categories.Name=${category.name}&ParentID=null`;
146
162
  }
147
163
  }
164
+
165
+ /**
166
+ * Sanitize query name for use as a file name
167
+ * Removes or replaces characters that are invalid in file names
168
+ *
169
+ * @param queryName - The query name to sanitize
170
+ * @returns Sanitized file name
171
+ */
172
+ private sanitizeFileName(queryName: string): string {
173
+ return queryName
174
+ .replace(/[<>:"/\\|?*]/g, '-') // Replace invalid file name characters with dash
175
+ .replace(/\s+/g, '-') // Replace spaces with dash
176
+ .replace(/-+/g, '-') // Replace multiple dashes with single dash
177
+ .replace(/^-|-$/g, '') // Remove leading/trailing dashes
178
+ .toLowerCase(); // Convert to lowercase for consistency
179
+ }
148
180
  }
@@ -13,7 +13,6 @@ import {
13
13
  } from '@memberjunction/core-entities';
14
14
  import { ValidatedQuery, WriteResult } from '../data/schema';
15
15
  import { extractErrorMessage } from '../utils/error-handlers';
16
- import { generateQueryName } from '../utils/query-helpers';
17
16
 
18
17
  /**
19
18
  * QueryDatabaseWriter class
@@ -60,7 +59,7 @@ export class QueryDatabaseWriter {
60
59
  // - Set UsesTemplate flag
61
60
  const query = await md.GetEntityObject<QueryEntity>('Queries', contextUser);
62
61
  query.NewRecord();
63
- query.Name = generateQueryName(vq.businessQuestion);
62
+ query.Name = vq.query.queryName;
64
63
  query.CategoryID = categoryId;
65
64
  query.UserQuestion = vq.businessQuestion.userQuestion;
66
65
  query.Description = vq.businessQuestion.description;
@@ -54,6 +54,7 @@ export class QueryFixer {
54
54
 
55
55
  // Prepare prompt data
56
56
  const promptData = {
57
+ queryName: query.queryName,
57
58
  originalSQL: query.sql,
58
59
  errorMessage,
59
60
  parameters: query.parameters,
@@ -96,6 +97,7 @@ export class QueryFixer {
96
97
  private async executePrompt(
97
98
  prompt: AIPromptEntityExtended,
98
99
  promptData: {
100
+ queryName: string;
99
101
  originalSQL: string;
100
102
  errorMessage: string;
101
103
  parameters: GeneratedQuery['parameters'];
@@ -125,8 +127,9 @@ export class QueryFixer {
125
127
  LogStatus(`Query fix reasoning: ${result.result.reasoning}`);
126
128
  }
127
129
 
128
- // Return GeneratedQuery format, preserving original parameters
130
+ // Return GeneratedQuery format, preserving original parameters and queryName
129
131
  return {
132
+ queryName: promptData.queryName,
130
133
  sql: result.result.newSQL,
131
134
  parameters: promptData.parameters,
132
135
  };
@@ -306,6 +306,7 @@ export class QueryRefiner {
306
306
  }
307
307
 
308
308
  return {
309
+ queryName: refinedQuery.queryName,
309
310
  sql: refinedQuery.sql,
310
311
  parameters: refinedQuery.parameters,
311
312
  };