@memberjunction/query-gen 6.2.0-edge.0 → 6.2.0-edge.1

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 (111) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +77 -0
  3. package/dist/cli/commands/export.d.ts +2 -0
  4. package/dist/cli/commands/export.d.ts.map +1 -1
  5. package/dist/cli/commands/export.js +10 -6
  6. package/dist/cli/commands/export.js.map +1 -1
  7. package/dist/cli/commands/generate.d.ts +2 -0
  8. package/dist/cli/commands/generate.d.ts.map +1 -1
  9. package/dist/cli/commands/generate.js +19 -15
  10. package/dist/cli/commands/generate.js.map +1 -1
  11. package/dist/cli/commands/validate.d.ts +2 -0
  12. package/dist/cli/commands/validate.d.ts.map +1 -1
  13. package/dist/cli/commands/validate.js +12 -8
  14. package/dist/cli/commands/validate.js.map +1 -1
  15. package/dist/cli/config.d.ts +2 -0
  16. package/dist/cli/config.d.ts.map +1 -1
  17. package/dist/cli/config.js +5 -1
  18. package/dist/cli/config.js.map +1 -1
  19. package/dist/cli/index.js +6 -6
  20. package/dist/core/EntityGrouper.d.ts +2 -0
  21. package/dist/core/EntityGrouper.d.ts.map +1 -1
  22. package/dist/core/EntityGrouper.js +13 -9
  23. package/dist/core/EntityGrouper.js.map +1 -1
  24. package/dist/core/MetadataExporter.d.ts +2 -0
  25. package/dist/core/MetadataExporter.d.ts.map +1 -1
  26. package/dist/core/MetadataExporter.js +5 -1
  27. package/dist/core/MetadataExporter.js.map +1 -1
  28. package/dist/core/QueryDatabaseWriter.d.ts +2 -0
  29. package/dist/core/QueryDatabaseWriter.d.ts.map +1 -1
  30. package/dist/core/QueryDatabaseWriter.js +7 -3
  31. package/dist/core/QueryDatabaseWriter.js.map +1 -1
  32. package/dist/core/QueryFixer.d.ts +2 -0
  33. package/dist/core/QueryFixer.d.ts.map +1 -1
  34. package/dist/core/QueryFixer.js +9 -5
  35. package/dist/core/QueryFixer.js.map +1 -1
  36. package/dist/core/QueryRefiner.d.ts +2 -0
  37. package/dist/core/QueryRefiner.d.ts.map +1 -1
  38. package/dist/core/QueryRefiner.js +12 -8
  39. package/dist/core/QueryRefiner.js.map +1 -1
  40. package/dist/core/QueryTester.d.ts +2 -0
  41. package/dist/core/QueryTester.d.ts.map +1 -1
  42. package/dist/core/QueryTester.js +9 -5
  43. package/dist/core/QueryTester.js.map +1 -1
  44. package/dist/core/QueryWriter.d.ts +2 -0
  45. package/dist/core/QueryWriter.d.ts.map +1 -1
  46. package/dist/core/QueryWriter.js +9 -5
  47. package/dist/core/QueryWriter.js.map +1 -1
  48. package/dist/core/QuestionGenerator.d.ts +2 -0
  49. package/dist/core/QuestionGenerator.d.ts.map +1 -1
  50. package/dist/core/QuestionGenerator.js +11 -7
  51. package/dist/core/QuestionGenerator.js.map +1 -1
  52. package/dist/index.d.ts +6 -6
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +6 -6
  55. package/dist/index.js.map +1 -1
  56. package/dist/utils/category-builder.d.ts +4 -0
  57. package/dist/utils/category-builder.d.ts.map +1 -1
  58. package/dist/utils/category-builder.js +10 -2
  59. package/dist/utils/category-builder.js.map +1 -1
  60. package/dist/utils/entity-helpers.d.ts +14 -0
  61. package/dist/utils/entity-helpers.d.ts.map +1 -1
  62. package/dist/utils/entity-helpers.js +36 -8
  63. package/dist/utils/entity-helpers.js.map +1 -1
  64. package/dist/utils/error-handlers.d.ts +6 -0
  65. package/dist/utils/error-handlers.d.ts.map +1 -1
  66. package/dist/utils/error-handlers.js +15 -3
  67. package/dist/utils/error-handlers.js.map +1 -1
  68. package/dist/utils/graph-helpers.d.ts +6 -0
  69. package/dist/utils/graph-helpers.d.ts.map +1 -1
  70. package/dist/utils/graph-helpers.js +15 -3
  71. package/dist/utils/graph-helpers.js.map +1 -1
  72. package/dist/utils/prompt-helpers.d.ts +6 -0
  73. package/dist/utils/prompt-helpers.d.ts.map +1 -1
  74. package/dist/utils/prompt-helpers.js +5 -1
  75. package/dist/utils/prompt-helpers.js.map +1 -1
  76. package/dist/utils/user-helpers.d.ts +2 -0
  77. package/dist/utils/user-helpers.d.ts.map +1 -1
  78. package/dist/utils/user-helpers.js +5 -1
  79. package/dist/utils/user-helpers.js.map +1 -1
  80. package/dist/vectors/EmbeddingService.d.ts +14 -0
  81. package/dist/vectors/EmbeddingService.d.ts.map +1 -1
  82. package/dist/vectors/EmbeddingService.js +17 -5
  83. package/dist/vectors/EmbeddingService.js.map +1 -1
  84. package/dist/vectors/SimilaritySearch.d.ts +2 -0
  85. package/dist/vectors/SimilaritySearch.d.ts.map +1 -1
  86. package/dist/vectors/SimilaritySearch.js +5 -1
  87. package/dist/vectors/SimilaritySearch.js.map +1 -1
  88. package/package.json +11 -11
  89. package/src/__tests__/QueryGen.test.ts +22 -22
  90. package/src/cli/commands/export.ts +11 -6
  91. package/src/cli/commands/generate.ts +20 -15
  92. package/src/cli/commands/validate.ts +13 -8
  93. package/src/cli/config.ts +6 -1
  94. package/src/cli/index.ts +6 -6
  95. package/src/core/EntityGrouper.ts +17 -9
  96. package/src/core/MetadataExporter.ts +10 -1
  97. package/src/core/QueryDatabaseWriter.ts +11 -3
  98. package/src/core/QueryFixer.ts +15 -5
  99. package/src/core/QueryRefiner.ts +18 -8
  100. package/src/core/QueryTester.ts +13 -5
  101. package/src/core/QueryWriter.ts +14 -5
  102. package/src/core/QuestionGenerator.ts +12 -7
  103. package/src/index.ts +12 -12
  104. package/src/utils/category-builder.ts +15 -2
  105. package/src/utils/entity-helpers.ts +44 -9
  106. package/src/utils/error-handlers.ts +22 -3
  107. package/src/utils/graph-helpers.ts +18 -3
  108. package/src/utils/prompt-helpers.ts +11 -1
  109. package/src/utils/user-helpers.ts +6 -1
  110. package/src/vectors/EmbeddingService.ts +30 -5
  111. package/src/vectors/SimilaritySearch.ts +10 -1
@@ -11,7 +11,7 @@
11
11
  * Products: → OrderDetails, → Categories
12
12
  * ```
13
13
  */
14
- export function generateRelationshipGraph(entities) {
14
+ export function GenerateRelationshipGraph(entities) {
15
15
  const lines = [];
16
16
  for (const entity of entities) {
17
17
  if (entity.RelatedEntities.length === 0) {
@@ -25,6 +25,10 @@ export function generateRelationshipGraph(entities) {
25
25
  }
26
26
  return lines.join('\n');
27
27
  }
28
+ /** @deprecated Use {@link GenerateRelationshipGraph}. */
29
+ export function generateRelationshipGraph(entities) {
30
+ return GenerateRelationshipGraph(entities);
31
+ }
28
32
  /**
29
33
  * Generates a Mermaid diagram for richer visualization
30
34
  *
@@ -36,7 +40,7 @@ export function generateRelationshipGraph(entities) {
36
40
  * Orders[Orders] --> OrderDetails[OrderDetails]
37
41
  * ```
38
42
  */
39
- export function generateMermaidDiagram(entities) {
43
+ export function GenerateMermaidDiagram(entities) {
40
44
  const lines = ['graph LR'];
41
45
  const processedPairs = new Set();
42
46
  for (const entity of entities) {
@@ -52,6 +56,10 @@ export function generateMermaidDiagram(entities) {
52
56
  }
53
57
  return lines.join('\n');
54
58
  }
59
+ /** @deprecated Use {@link GenerateMermaidDiagram}. */
60
+ export function generateMermaidDiagram(entities) {
61
+ return GenerateMermaidDiagram(entities);
62
+ }
55
63
  /**
56
64
  * Formats entity metadata for LLM prompt (concise version with key info)
57
65
  *
@@ -61,7 +69,7 @@ export function generateMermaidDiagram(entities) {
61
69
  * - Field count (as a proxy for data richness)
62
70
  * - Related entities with relationship types
63
71
  */
64
- export function formatEntitiesForPrompt(entities) {
72
+ export function FormatEntitiesForPrompt(entities) {
65
73
  return entities.map(entity => ({
66
74
  Name: entity.Name,
67
75
  Description: entity.Description || 'No description available',
@@ -73,4 +81,8 @@ export function formatEntitiesForPrompt(entities) {
73
81
  }))
74
82
  }));
75
83
  }
84
+ /** @deprecated Use {@link FormatEntitiesForPrompt}. */
85
+ export function formatEntitiesForPrompt(entities) {
86
+ return FormatEntitiesForPrompt(entities);
87
+ }
76
88
  //# sourceMappingURL=graph-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-helpers.js","sourceRoot":"","sources":["../../src/utils/graph-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAsB;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe;aACrC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;aACpC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAsB;IAC3D,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,IAAI,MAAM,CAAC,IAAI,SAAS,eAAe,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;gBAC/F,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,0BAA0B;QAC7D,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;QACtC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,GAAG,CAAC,aAAa;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"graph-helpers.js","sourceRoot":"","sources":["../../src/utils/graph-helpers.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ import { QueryGenConfig } from '../cli/config.js';
17
17
  * @param config - QueryGen configuration (for model/vendor overrides)
18
18
  * @returns Promise resolving to the prompt result
19
19
  */
20
+ export declare function ExecutePromptWithOverrides<T>(prompt: MJAIPromptEntityExtended, data: Record<string, unknown>, contextUser: UserInfo, config: QueryGenConfig): Promise<{
21
+ success: boolean;
22
+ result?: T;
23
+ errorMessage?: string;
24
+ }>;
25
+ /** @deprecated Use {@link ExecutePromptWithOverrides}. */
20
26
  export declare function executePromptWithOverrides<T>(prompt: MJAIPromptEntityExtended, data: Record<string, unknown>, contextUser: UserInfo, config: QueryGenConfig): Promise<{
21
27
  success: boolean;
22
28
  result?: T;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBlE"}
1
+ {"version":3,"file":"prompt-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBlE;AAED,0DAA0D;AAC1D,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAElE"}
@@ -17,7 +17,7 @@ import { AIEngine } from '@memberjunction/aiengine';
17
17
  * @param config - QueryGen configuration (for model/vendor overrides)
18
18
  * @returns Promise resolving to the prompt result
19
19
  */
20
- export async function executePromptWithOverrides(prompt, data, contextUser, config) {
20
+ export async function ExecutePromptWithOverrides(prompt, data, contextUser, config) {
21
21
  const promptParams = new AIPromptParams();
22
22
  promptParams.prompt = prompt;
23
23
  promptParams.data = data;
@@ -33,6 +33,10 @@ export async function executePromptWithOverrides(prompt, data, contextUser, conf
33
33
  const runner = new AIPromptRunner();
34
34
  return await runner.ExecutePrompt(promptParams);
35
35
  }
36
+ /** @deprecated Use {@link ExecutePromptWithOverrides}. */
37
+ export async function executePromptWithOverrides(prompt, data, contextUser, config) {
38
+ return ExecutePromptWithOverrides(prompt, data, contextUser, config);
39
+ }
36
40
  /**
37
41
  * Resolve model/vendor names to IDs for AIPromptParams.override
38
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-helpers.js","sourceRoot":"","sources":["../../src/utils/prompt-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAgC,EAChC,IAA6B,EAC7B,WAAqB,EACrB,MAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;IAC1C,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IACvC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;IAEpC,sEAAsE;IACtE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChD,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,OAAO,MAAM,MAAM,CAAC,aAAa,CAAI,YAAY,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAClC,MAAsB;IAEtB,MAAM,MAAM,GAA4C,EAAE,CAAC;IAE3D,+DAA+D;IAC/D,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;QAClF,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"prompt-helpers.js","sourceRoot":"","sources":["../../src/utils/prompt-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAgC,EAChC,IAA6B,EAC7B,WAAqB,EACrB,MAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;IAC1C,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IACvC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;IAEpC,sEAAsE;IACtE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChD,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,OAAO,MAAM,MAAM,CAAC,aAAa,CAAI,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAgC,EAChC,IAA6B,EAC7B,WAAqB,EACrB,MAAsB;IAEtB,OAAO,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAClC,MAAsB;IAEtB,MAAM,MAAM,GAA4C,EAAE,CAAC;IAE3D,+DAA+D;IAC/D,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;QAClF,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -11,5 +11,7 @@ import { UserInfo } from '@memberjunction/core';
11
11
  * @returns The System UserInfo object from the cache
12
12
  * @throws Error if System user is not found in cache or doesn't have Developer role
13
13
  */
14
+ export declare function GetSystemUser(): UserInfo;
15
+ /** @deprecated Use {@link GetSystemUser}. */
14
16
  export declare function getSystemUser(): UserInfo;
15
17
  //# sourceMappingURL=user-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/user-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAsBxC"}
1
+ {"version":3,"file":"user-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/user-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAsBxC;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,IAAI,QAAQ,CAExC"}
@@ -11,7 +11,7 @@ import { UserCache } from '@memberjunction/generic-database-provider';
11
11
  * @returns The System UserInfo object from the cache
12
12
  * @throws Error if System user is not found in cache or doesn't have Developer role
13
13
  */
14
- export function getSystemUser() {
14
+ export function GetSystemUser() {
15
15
  const sysUser = UserCache.Instance.UserByName("System", false);
16
16
  if (!sysUser) {
17
17
  throw new Error("System user not found in cache. Ensure the database provider is initialized " +
@@ -25,4 +25,8 @@ export function getSystemUser() {
25
25
  }
26
26
  return sysUser;
27
27
  }
28
+ /** @deprecated Use {@link GetSystemUser}. */
29
+ export function getSystemUser() {
30
+ return GetSystemUser();
31
+ }
28
32
  //# sourceMappingURL=user-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-helpers.js","sourceRoot":"","sources":["../../src/utils/user-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8EAA8E;YAC9E,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAClE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAC/D,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAClD,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"user-helpers.js","sourceRoot":"","sources":["../../src/utils/user-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8EAA8E;YAC9E,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAClE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAC/D,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAClD,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC"}
@@ -27,6 +27,12 @@ export declare class EmbeddingService {
27
27
  * @param query - Query to embed (partial structure with text fields)
28
28
  * @returns Embeddings for all fields
29
29
  */
30
+ EmbedQuery(query: {
31
+ userQuestion: string;
32
+ description: string;
33
+ technicalDescription: string;
34
+ }): Promise<QueryEmbeddings>;
35
+ /** @deprecated Use {@link EmbedQuery}. */
30
36
  embedQuery(query: {
31
37
  userQuestion: string;
32
38
  description: string;
@@ -42,6 +48,8 @@ export declare class EmbeddingService {
42
48
  * @param goldenQueries - Array of golden queries to embed
43
49
  * @returns Array of golden queries with their embeddings
44
50
  */
51
+ EmbedGoldenQueries(goldenQueries: GoldenQuery[]): Promise<EmbeddedGoldenQuery[]>;
52
+ /** @deprecated Use {@link EmbedGoldenQueries}. */
45
53
  embedGoldenQueries(goldenQueries: GoldenQuery[]): Promise<EmbeddedGoldenQuery[]>;
46
54
  /**
47
55
  * Embed multiple queries in batch
@@ -49,6 +57,12 @@ export declare class EmbeddingService {
49
57
  * @param queries - Array of queries to embed
50
58
  * @returns Array of embeddings corresponding to input queries
51
59
  */
60
+ EmbedQueries(queries: Array<{
61
+ userQuestion: string;
62
+ description: string;
63
+ technicalDescription: string;
64
+ }>): Promise<QueryEmbeddings[]>;
65
+ /** @deprecated Use {@link EmbedQueries}. */
52
66
  embedQueries(queries: Array<{
53
67
  userQuestion: string;
54
68
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingService.d.ts","sourceRoot":"","sources":["../../src/vectors/EmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEnF;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;OAIG;gBACS,SAAS,GAAE,MAAiC;IAIxD;;;;;;;;;;OAUG;IACG,UAAU,CAAC,KAAK,EAAE;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,eAAe,CAAC;IAiB5B;;;;;;;;;OASG;IACG,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmBtF;;;;;OAKG;IACG,YAAY,CAChB,OAAO,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,GACD,OAAO,CAAC,eAAe,EAAE,CAAC;CAU9B"}
1
+ {"version":3,"file":"EmbeddingService.d.ts","sourceRoot":"","sources":["../../src/vectors/EmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEnF;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;OAIG;gBACS,SAAS,GAAE,MAAiC;IAIxD;;;;;;;;;;OAUG;IACG,UAAU,CAAC,KAAK,EAAE;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,eAAe,CAAC;IAiB5B,0CAA0C;IACpC,UAAU,CAAC,KAAK,EAAE;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,eAAe,CAAC;IAI5B;;;;;;;;;OASG;IACG,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmBtF,kDAAkD;IAC5C,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAItF;;;;;OAKG;IACG,YAAY,CAChB,OAAO,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,GACD,OAAO,CAAC,eAAe,EAAE,CAAC;IAW7B,4CAA4C;IACtC,YAAY,CAChB,OAAO,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,GACD,OAAO,CAAC,eAAe,EAAE,CAAC;CAG9B"}
@@ -28,7 +28,7 @@ export class EmbeddingService {
28
28
  * @param query - Query to embed (partial structure with text fields)
29
29
  * @returns Embeddings for all fields
30
30
  */
31
- async embedQuery(query) {
31
+ async EmbedQuery(query) {
32
32
  const aiEngine = AIEngine.Instance;
33
33
  // Generate embeddings for each field in parallel
34
34
  const [userQuestionResult, descResult, techDescResult] = await Promise.all([
@@ -42,6 +42,10 @@ export class EmbeddingService {
42
42
  technicalDescription: techDescResult?.result.vector || [],
43
43
  };
44
44
  }
45
+ /** @deprecated Use {@link EmbedQuery}. */
46
+ async embedQuery(query) {
47
+ return this.EmbedQuery(query);
48
+ }
45
49
  /**
46
50
  * Embed all golden queries for few-shot learning
47
51
  *
@@ -52,10 +56,10 @@ export class EmbeddingService {
52
56
  * @param goldenQueries - Array of golden queries to embed
53
57
  * @returns Array of golden queries with their embeddings
54
58
  */
55
- async embedGoldenQueries(goldenQueries) {
59
+ async EmbedGoldenQueries(goldenQueries) {
56
60
  const embedded = [];
57
61
  for (const query of goldenQueries) {
58
- const embeddings = await this.embedQuery({
62
+ const embeddings = await this.EmbedQuery({
59
63
  userQuestion: query.userQuestion,
60
64
  description: query.description,
61
65
  technicalDescription: query.technicalDescription,
@@ -67,19 +71,27 @@ export class EmbeddingService {
67
71
  }
68
72
  return embedded;
69
73
  }
74
+ /** @deprecated Use {@link EmbedGoldenQueries}. */
75
+ async embedGoldenQueries(goldenQueries) {
76
+ return this.EmbedGoldenQueries(goldenQueries);
77
+ }
70
78
  /**
71
79
  * Embed multiple queries in batch
72
80
  *
73
81
  * @param queries - Array of queries to embed
74
82
  * @returns Array of embeddings corresponding to input queries
75
83
  */
76
- async embedQueries(queries) {
84
+ async EmbedQueries(queries) {
77
85
  const embeddings = [];
78
86
  for (const query of queries) {
79
- const embedding = await this.embedQuery(query);
87
+ const embedding = await this.EmbedQuery(query);
80
88
  embeddings.push(embedding);
81
89
  }
82
90
  return embeddings;
83
91
  }
92
+ /** @deprecated Use {@link EmbedQueries}. */
93
+ async embedQueries(queries) {
94
+ return this.EmbedQueries(queries);
95
+ }
84
96
  }
85
97
  //# sourceMappingURL=EmbeddingService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingService.js","sourceRoot":"","sources":["../../src/vectors/EmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAG3B;;;;OAIG;IACH,YAAY,YAAoB,wBAAwB;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,KAIhB;QACC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEnC,iDAAiD;QACjD,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACpD,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,kBAAkB,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YACrD,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC5C,oBAAoB,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC1D,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CAAC,aAA4B;QACnD,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBACvC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;aACjD,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAIE;QAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"EmbeddingService.js","sourceRoot":"","sources":["../../src/vectors/EmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAG3B;;;;OAIG;IACH,YAAY,YAAoB,wBAAwB;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,KAIhB;QACC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEnC,iDAAiD;QACjD,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACpD,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,kBAAkB,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YACrD,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC5C,oBAAoB,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC1D,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,UAAU,CAAC,KAIhB;QACC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CAAC,aAA4B;QACnD,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBACvC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;aACjD,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,kBAAkB,CAAC,aAA4B;QACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAIE;QAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,YAAY,CAChB,OAIE;QAEF,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -32,6 +32,8 @@ export declare class SimilaritySearch extends SimpleVectorService {
32
32
  * @param topK - Number of most similar queries to return (default: 5)
33
33
  * @returns Array of top-K most similar golden queries with scores
34
34
  */
35
+ FindSimilarQueries(queryEmbeddings: QueryEmbeddings, goldenEmbeddings: EmbeddedGoldenQuery[], topK?: number): Promise<SimilarQuery[]>;
36
+ /** @deprecated Use {@link FindSimilarQueries}. */
35
37
  findSimilarQueries(queryEmbeddings: QueryEmbeddings, goldenEmbeddings: EmbeddedGoldenQuery[], topK?: number): Promise<SimilarQuery[]>;
36
38
  /**
37
39
  * Calculate cosine similarity for each field separately
@@ -1 +1 @@
1
- {"version":3,"file":"SimilaritySearch.d.ts","sourceRoot":"","sources":["../../src/vectors/SimilaritySearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAYxE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF;;;;;;;;;;OAUG;IACG,kBAAkB,CACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB1B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAKnB"}
1
+ {"version":3,"file":"SimilaritySearch.d.ts","sourceRoot":"","sources":["../../src/vectors/SimilaritySearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAYxE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF;;;;;;;;;;OAUG;IACG,kBAAkB,CACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB1B,kDAAkD;IAC5C,kBAAkB,CACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,YAAY,EAAE,CAAC;IAI1B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAKnB"}
@@ -38,7 +38,7 @@ export class SimilaritySearch extends SimpleVectorService {
38
38
  * @param topK - Number of most similar queries to return (default: 5)
39
39
  * @returns Array of top-K most similar golden queries with scores
40
40
  */
41
- async findSimilarQueries(queryEmbeddings, goldenEmbeddings, topK = 5) {
41
+ async FindSimilarQueries(queryEmbeddings, goldenEmbeddings, topK = 5) {
42
42
  // Calculate weighted similarity for each golden query
43
43
  const similarities = goldenEmbeddings.map(golden => {
44
44
  const fieldScores = this.calculateFieldSimilarities(queryEmbeddings, golden.embeddings);
@@ -52,6 +52,10 @@ export class SimilaritySearch extends SimpleVectorService {
52
52
  // Sort by similarity (highest first) and return top K
53
53
  return this.selectTopK(similarities, topK);
54
54
  }
55
+ /** @deprecated Use {@link FindSimilarQueries}. */
56
+ async findSimilarQueries(queryEmbeddings, goldenEmbeddings, topK = 5) {
57
+ return this.FindSimilarQueries(queryEmbeddings, goldenEmbeddings, topK);
58
+ }
55
59
  /**
56
60
  * Calculate cosine similarity for each field separately
57
61
  * Note: name field excluded as queries don't have names during generation
@@ -1 +1 @@
1
- {"version":3,"file":"SimilaritySearch.js","sourceRoot":"","sources":["../../src/vectors/SimilaritySearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAYxE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,mBAAmB;IAAzD;;QACE;;;;;;;;WAQG;QACc,YAAO,GAAiB;YACvC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IAqEJ,CAAC;IAnEC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,kBAAkB,CACtB,eAAgC,EAChC,gBAAuC,EACvC,OAAe,CAAC;QAEhB,sDAAsD;QACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAE/D,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,aAAa;gBACzB,WAAW;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAChC,eAAgC,EAChC,gBAAiC;QAEjC,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC;YACnG,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YACzF,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;SAChH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,WAAwC;QACrE,OAAO,CACL,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;YACvD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9C,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,YAA4B,EAAE,IAAY;QAC3D,OAAO,YAAY;aAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"SimilaritySearch.js","sourceRoot":"","sources":["../../src/vectors/SimilaritySearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAYxE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,mBAAmB;IAAzD;;QACE;;;;;;;;WAQG;QACc,YAAO,GAAiB;YACvC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IA8EJ,CAAC;IA5EC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,kBAAkB,CACtB,eAAgC,EAChC,gBAAuC,EACvC,OAAe,CAAC;QAEhB,sDAAsD;QACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAE/D,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,aAAa;gBACzB,WAAW;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,kBAAkB,CACtB,eAAgC,EAChC,gBAAuC,EACvC,OAAe,CAAC;QAEhB,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAChC,eAAgC,EAChC,gBAAiC;QAEjC,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC;YACnG,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YACzF,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;SAChH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,WAAwC;QACrE,OAAO,CACL,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;YACvD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9C,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,YAA4B,EAAE,IAAY;QAC3D,OAAO,YAAY;aAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/query-gen",
3
3
  "type": "module",
4
- "version": "6.2.0-edge.0",
4
+ "version": "6.2.0-edge.1",
5
5
  "description": "AI-powered generation of domain-specific SQL query templates with automatic testing, refinement, and metadata export",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -19,16 +19,16 @@
19
19
  "author": "MemberJunction",
20
20
  "license": "BUSL-1.1",
21
21
  "dependencies": {
22
- "@memberjunction/ai": "6.2.0-edge.0",
23
- "@memberjunction/ai-core-plus": "6.2.0-edge.0",
24
- "@memberjunction/aiengine": "6.2.0-edge.0",
25
- "@memberjunction/ai-prompts": "6.2.0-edge.0",
26
- "@memberjunction/ai-vectors-memory": "6.2.0-edge.0",
27
- "@memberjunction/core": "6.2.0-edge.0",
28
- "@memberjunction/core-entities": "6.2.0-edge.0",
29
- "@memberjunction/global": "6.2.0-edge.0",
30
- "@memberjunction/generic-database-provider": "6.2.0-edge.0",
31
- "@memberjunction/sqlserver-dataprovider": "6.2.0-edge.0",
22
+ "@memberjunction/ai": "6.2.0-edge.1",
23
+ "@memberjunction/ai-core-plus": "6.2.0-edge.1",
24
+ "@memberjunction/aiengine": "6.2.0-edge.1",
25
+ "@memberjunction/ai-prompts": "6.2.0-edge.1",
26
+ "@memberjunction/ai-vectors-memory": "6.2.0-edge.1",
27
+ "@memberjunction/core": "6.2.0-edge.1",
28
+ "@memberjunction/core-entities": "6.2.0-edge.1",
29
+ "@memberjunction/global": "6.2.0-edge.1",
30
+ "@memberjunction/generic-database-provider": "6.2.0-edge.1",
31
+ "@memberjunction/sqlserver-dataprovider": "6.2.0-edge.1",
32
32
  "chalk": "^5.6.2",
33
33
  "commander": "^14.0.3",
34
34
  "nunjucks": "^3.2.4",
@@ -24,9 +24,9 @@ vi.mock('@memberjunction/aiengine', () => ({
24
24
  // Import after mocks
25
25
  // ---------------------------------------------------------------------------
26
26
 
27
- import { generateRelationshipGraph, formatEntitiesForPrompt, generateMermaidDiagram } from '../utils/graph-helpers';
28
- import { extractErrorMessage, requireValue, getPropertyOrDefault } from '../utils/error-handlers';
29
- import { buildQueryCategory, extractUniqueCategories } from '../utils/category-builder';
27
+ import { GenerateRelationshipGraph, FormatEntitiesForPrompt, GenerateMermaidDiagram } from '../utils/graph-helpers';
28
+ import { ExtractErrorMessage, RequireValue, GetPropertyOrDefault } from '../utils/error-handlers';
29
+ import { BuildQueryCategory, ExtractUniqueCategories } from '../utils/category-builder';
30
30
  import type { EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
31
31
 
32
32
  // ---------------------------------------------------------------------------
@@ -81,14 +81,14 @@ describe('generateRelationshipGraph', () => {
81
81
  createMockEntity('Orders', 'dbo', []),
82
82
  ];
83
83
 
84
- const graph = generateRelationshipGraph(entities as EntityInfo[]);
84
+ const graph = GenerateRelationshipGraph(entities as EntityInfo[]);
85
85
  expect(graph).toContain('Customers: \u2192 Orders');
86
86
  expect(graph).toContain('Orders: (no relationships)');
87
87
  });
88
88
 
89
89
  it('should handle entities with no relationships', () => {
90
90
  const entities = [createMockEntity('Standalone')];
91
- const graph = generateRelationshipGraph(entities as EntityInfo[]);
91
+ const graph = GenerateRelationshipGraph(entities as EntityInfo[]);
92
92
  expect(graph).toContain('Standalone: (no relationships)');
93
93
  });
94
94
  });
@@ -96,7 +96,7 @@ describe('generateRelationshipGraph', () => {
96
96
  describe('formatEntitiesForPrompt', () => {
97
97
  it('should format entity metadata correctly', () => {
98
98
  const entities = [createMockEntity('Users', 'auth')];
99
- const result = formatEntitiesForPrompt(entities as EntityInfo[]);
99
+ const result = FormatEntitiesForPrompt(entities as EntityInfo[]);
100
100
  expect(result).toHaveLength(1);
101
101
  expect(result[0].Name).toBe('Users');
102
102
  expect(result[0].SchemaName).toBe('auth');
@@ -106,7 +106,7 @@ describe('formatEntitiesForPrompt', () => {
106
106
  it('should default description for entities without one', () => {
107
107
  const entity = createMockEntity('NoDesc');
108
108
  (entity as Record<string, unknown>).Description = '';
109
- const result = formatEntitiesForPrompt([entity as EntityInfo]);
109
+ const result = FormatEntitiesForPrompt([entity as EntityInfo]);
110
110
  expect(result[0].Description).toBe('No description available');
111
111
  });
112
112
  });
@@ -120,7 +120,7 @@ describe('generateMermaidDiagram', () => {
120
120
  createMockEntity('Orders'),
121
121
  ];
122
122
 
123
- const diagram = generateMermaidDiagram(entities as EntityInfo[]);
123
+ const diagram = GenerateMermaidDiagram(entities as EntityInfo[]);
124
124
  expect(diagram).toContain('graph LR');
125
125
  expect(diagram).toContain('Customers[Customers] --> Orders[Orders]');
126
126
  });
@@ -130,7 +130,7 @@ describe('generateMermaidDiagram', () => {
130
130
  createMockEntity('A', 'dbo', [{ RelatedEntity: 'B', Type: 'One To Many' } as Partial<EntityRelationshipInfo>]),
131
131
  createMockEntity('B', 'dbo', [{ RelatedEntity: 'A', Type: 'Many To One' } as Partial<EntityRelationshipInfo>]),
132
132
  ];
133
- const diagram = generateMermaidDiagram(entities as EntityInfo[]);
133
+ const diagram = GenerateMermaidDiagram(entities as EntityInfo[]);
134
134
  // Only one edge between A and B
135
135
  const edgeCount = (diagram.match(/-->/g) || []).length;
136
136
  expect(edgeCount).toBe(1);
@@ -143,42 +143,42 @@ describe('generateMermaidDiagram', () => {
143
143
 
144
144
  describe('extractErrorMessage', () => {
145
145
  it('should extract from Error instance', () => {
146
- const msg = extractErrorMessage(new Error('boom'), 'TestContext');
146
+ const msg = ExtractErrorMessage(new Error('boom'), 'TestContext');
147
147
  expect(msg).toBe('TestContext: boom');
148
148
  });
149
149
 
150
150
  it('should extract from string', () => {
151
- const msg = extractErrorMessage('string error', 'Ctx');
151
+ const msg = ExtractErrorMessage('string error', 'Ctx');
152
152
  expect(msg).toBe('Ctx: string error');
153
153
  });
154
154
 
155
155
  it('should handle unknown error type', () => {
156
- const msg = extractErrorMessage(42, 'Ctx');
156
+ const msg = ExtractErrorMessage(42, 'Ctx');
157
157
  expect(msg).toBe('Ctx: Unknown error occurred');
158
158
  });
159
159
  });
160
160
 
161
161
  describe('requireValue', () => {
162
162
  it('should return value when present', () => {
163
- expect(requireValue('hello', 'field')).toBe('hello');
163
+ expect(RequireValue('hello', 'field')).toBe('hello');
164
164
  });
165
165
 
166
166
  it('should throw for null', () => {
167
- expect(() => requireValue(null, 'myField')).toThrow("Required value 'myField' is missing");
167
+ expect(() => RequireValue(null, 'myField')).toThrow("Required value 'myField' is missing");
168
168
  });
169
169
 
170
170
  it('should throw for undefined', () => {
171
- expect(() => requireValue(undefined, 'myField')).toThrow("Required value 'myField' is missing");
171
+ expect(() => RequireValue(undefined, 'myField')).toThrow("Required value 'myField' is missing");
172
172
  });
173
173
  });
174
174
 
175
175
  describe('getPropertyOrDefault', () => {
176
176
  it('should return property value when present', () => {
177
- expect(getPropertyOrDefault({ x: 10 }, 'x', 0)).toBe(10);
177
+ expect(GetPropertyOrDefault({ x: 10 }, 'x', 0)).toBe(10);
178
178
  });
179
179
 
180
180
  it('should return default when property missing', () => {
181
- expect(getPropertyOrDefault({}, 'x', 42)).toBe(42);
181
+ expect(GetPropertyOrDefault({}, 'x', 42)).toBe(42);
182
182
  });
183
183
  });
184
184
 
@@ -206,7 +206,7 @@ describe('buildQueryCategory', () => {
206
206
  expectedQuestionTypes: [],
207
207
  };
208
208
 
209
- const cat = buildQueryCategory(config as Parameters<typeof buildQueryCategory>[0], entityGroup);
209
+ const cat = BuildQueryCategory(config as Parameters<typeof BuildQueryCategory>[0], entityGroup);
210
210
  expect(cat.name).toBe('Users');
211
211
  expect(cat.parentName).toBe('Generated');
212
212
  expect(cat.path).toBe('Generated/Users');
@@ -230,7 +230,7 @@ describe('buildQueryCategory', () => {
230
230
  expectedQuestionTypes: [],
231
231
  };
232
232
 
233
- const cat = buildQueryCategory(config as Parameters<typeof buildQueryCategory>[0], entityGroup);
233
+ const cat = BuildQueryCategory(config as Parameters<typeof BuildQueryCategory>[0], entityGroup);
234
234
  expect(cat.name).toBe('Auto-Generated');
235
235
  expect(cat.parentName).toBeNull();
236
236
  });
@@ -244,7 +244,7 @@ describe('extractUniqueCategories', () => {
244
244
  { name: 'Users', parentName: 'Root', description: 'Users', path: 'Root/Users' },
245
245
  ];
246
246
 
247
- const unique = extractUniqueCategories(cats);
247
+ const unique = ExtractUniqueCategories(cats);
248
248
  expect(unique).toHaveLength(2);
249
249
  });
250
250
 
@@ -253,7 +253,7 @@ describe('extractUniqueCategories', () => {
253
253
  { name: 'Orders', parentName: 'Generated', description: 'Orders', path: 'Generated/Orders' },
254
254
  ];
255
255
 
256
- const unique = extractUniqueCategories(cats);
256
+ const unique = ExtractUniqueCategories(cats);
257
257
  // Should have both the parent 'Generated' and child 'Orders'
258
258
  expect(unique).toHaveLength(2);
259
259
  const parentCat = unique.find(c => c.name === 'Generated');
@@ -267,7 +267,7 @@ describe('extractUniqueCategories', () => {
267
267
  { name: 'Alpha', parentName: null, description: '', path: 'Alpha' },
268
268
  ];
269
269
 
270
- const sorted = extractUniqueCategories(cats);
270
+ const sorted = ExtractUniqueCategories(cats);
271
271
  expect(sorted[0].name).toBe('Alpha');
272
272
  expect(sorted[1].name).toBe('Zeta');
273
273
  });
@@ -12,9 +12,9 @@ import chalk from 'chalk';
12
12
  import * as fs from 'fs';
13
13
  import * as path from 'path';
14
14
  import { Metadata, UserInfo } from '@memberjunction/core';
15
- import { getSystemUser } from '../../utils/user-helpers';
15
+ import { GetSystemUser } from '../../utils/user-helpers';
16
16
  import { MJQueryEntity, QueryEngine } from '@memberjunction/core-entities';
17
- import { extractErrorMessage } from '../../utils/error-handlers';
17
+ import { ExtractErrorMessage } from '../../utils/error-handlers';
18
18
  import { QueryMetadataRecord } from '../../data/schema';
19
19
 
20
20
  /**
@@ -22,7 +22,7 @@ import { QueryMetadataRecord } from '../../data/schema';
22
22
  *
23
23
  * Loads queries from database and exports them to metadata files.
24
24
  */
25
- export async function exportCommand(options: Record<string, unknown>): Promise<void> {
25
+ export async function ExportCommand(options: Record<string, unknown>): Promise<void> {
26
26
  const spinner = ora('Initializing export...').start();
27
27
 
28
28
  try {
@@ -30,7 +30,7 @@ export async function exportCommand(options: Record<string, unknown>): Promise<v
30
30
  const verbose = Boolean(options.verbose);
31
31
 
32
32
  // 1. Get system user from UserCache (populated by provider initialization)
33
- const contextUser = getSystemUser();
33
+ const contextUser = GetSystemUser();
34
34
 
35
35
  // 2. Verify database connection and load metadata
36
36
  spinner.text = 'Loading metadata...';
@@ -72,7 +72,7 @@ export async function exportCommand(options: Record<string, unknown>): Promise<v
72
72
  spinner.info(`${queryPrefix} ${chalk.green('✓')} Exported ${query.Name}`);
73
73
  }
74
74
  } catch (error: unknown) {
75
- const errorMsg = extractErrorMessage(error, 'Query Export');
75
+ const errorMsg = ExtractErrorMessage(error, 'Query Export');
76
76
  errors.push({ query: query.Name, error: errorMsg });
77
77
  if (verbose) {
78
78
  spinner.warn(`${queryPrefix} ${chalk.red('✗')} ${query.Name}: ${errorMsg}`);
@@ -109,11 +109,16 @@ export async function exportCommand(options: Record<string, unknown>): Promise<v
109
109
 
110
110
  } catch (error: unknown) {
111
111
  spinner.fail(chalk.red('Export failed'));
112
- console.error(chalk.red(extractErrorMessage(error, 'Query Export')));
112
+ console.error(chalk.red(ExtractErrorMessage(error, 'Query Export')));
113
113
  process.exit(1);
114
114
  }
115
115
  }
116
116
 
117
+ /** @deprecated Use {@link ExportCommand}. */
118
+ export async function exportCommand(options: Record<string, unknown>): Promise<void> {
119
+ return ExportCommand(options);
120
+ }
121
+
117
122
  /**
118
123
  * Load all queries from QueryEngine's cache (already sorted by Name via BaseEngine)
119
124
  */