@memberjunction/core-entities-server 5.13.0 → 5.14.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.
@@ -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,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"}
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,EAA6C,MAAM,sBAAsB,CAAC;AAE/Q,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,8 @@ 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, QueryCompositionEngine, TypeScriptTypeFromSQLType } from "@memberjunction/core";
7
+ import { BaseEntity, LogError, Metadata, TypeScriptTypeFromSQLType } from "@memberjunction/core";
8
+ import { QueryCompositionEngine } from "@memberjunction/generic-database-provider";
8
9
  import { MJQueryEntity } from "@memberjunction/core-entities";
9
10
  import { RegisterClass, MJGlobal, UUIDsEqual } from "@memberjunction/global";
10
11
  import { AIEngine } from "@memberjunction/aiengine";
@@ -12,7 +13,7 @@ import { AIPromptRunner } from "@memberjunction/ai-prompts";
12
13
  import { AIPromptParams } from "@memberjunction/ai-core-plus";
13
14
  import { removeNPrefix, convertIdentifiers, convertCommonFunctions, convertDateFunctions, convertCharIndex, convertStuff, convertIIF, convertConvertFunction, convertCastTypes, convertTopToLimit, convertStringConcat, removeCollate, } from "@memberjunction/sql-converter";
14
15
  import { EmbedTextLocalHelper } from "./util.js";
15
- import { SQLParser } from "./sql-parser.js";
16
+ import { SQLParser } from "@memberjunction/sql-parser";
16
17
  let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntity {
17
18
  constructor() {
18
19
  super(...arguments);
@@ -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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"}
@@ -0,0 +1,117 @@
1
+ import { BaseSingleton } from '@memberjunction/global';
2
+ import { UserInfo, IMetadataProvider } from '@memberjunction/core';
3
+ import { QueryEngine } from '@memberjunction/core-entities';
4
+ import { SimpleVectorService } from '@memberjunction/ai-vectors-memory';
5
+ import { EmbedTextResult } from '@memberjunction/ai';
6
+ import { MJAIModelEntityExtended } from '@memberjunction/ai-core-plus';
7
+ import { MJQueryEntity, MJQueryCategoryEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryEntityEntity, MJQueryPermissionEntity } from '@memberjunction/core-entities';
8
+ import { QueryEmbeddingMetadata, QueryMatchResult } from './QueryMatchResult.js';
9
+ /**
10
+ * Server-side Query Engine that wraps QueryEngine and adds server-only capabilities.
11
+ *
12
+ * Uses composition (containment) rather than inheritance to avoid duplicate
13
+ * data loading. Delegates all base functionality to QueryEngine.Instance while
14
+ * adding server-specific features like embedding-based semantic search.
15
+ *
16
+ * Follows the same pattern as AIEngine containing AIEngineBase.
17
+ *
18
+ * @description ONLY USE ON SERVER-SIDE. For metadata only, use the QueryEngine class which can be used anywhere.
19
+ */
20
+ export declare class QueryEngineServer extends BaseSingleton<QueryEngineServer> {
21
+ protected constructor();
22
+ static get Instance(): QueryEngineServer;
23
+ protected get Base(): QueryEngine;
24
+ private _queryVectorService;
25
+ private _loaded;
26
+ private _loading;
27
+ private _loadingPromise;
28
+ private _contextUser;
29
+ private _dataChangeSubscription;
30
+ /** All queries in the system */
31
+ get Queries(): MJQueryEntity[];
32
+ /** All query categories */
33
+ get Categories(): MJQueryCategoryEntity[];
34
+ /** All query field definitions */
35
+ get Fields(): MJQueryFieldEntity[];
36
+ /** All query parameter definitions */
37
+ get Parameters(): MJQueryParameterEntity[];
38
+ /** All query-to-entity relationship mappings */
39
+ get QueryEntities(): MJQueryEntityEntity[];
40
+ /** All query permission records */
41
+ get Permissions(): MJQueryPermissionEntity[];
42
+ /** Returns only queries with Status === 'Approved' */
43
+ get ApprovedQueries(): MJQueryEntity[];
44
+ /** Find a query by its ID */
45
+ FindQueryByID(id: string): MJQueryEntity | undefined;
46
+ /** Find a query by name, optionally scoped to a category */
47
+ FindQueryByName(name: string, categoryId?: string): MJQueryEntity | undefined;
48
+ /** Get all field definitions for a specific query */
49
+ GetQueryFields(queryId: string): MJQueryFieldEntity[];
50
+ /** Get all parameter definitions for a specific query */
51
+ GetQueryParameters(queryId: string): MJQueryParameterEntity[];
52
+ /** Get all permission records for a specific query */
53
+ GetQueryPermissions(queryId: string): MJQueryPermissionEntity[];
54
+ /** Get all queries belonging to a specific category */
55
+ GetQueriesByCategory(categoryId: string): MJQueryEntity[];
56
+ /** Find a category by name (case-insensitive) */
57
+ FindCategory(name: string): MJQueryCategoryEntity | undefined;
58
+ /** Returns true if both the base engine and server capabilities are loaded */
59
+ get Loaded(): boolean;
60
+ /**
61
+ * Get the query vector service for semantic search.
62
+ * Initialized during Config — will be null before Config() completes.
63
+ */
64
+ get QueryVectorService(): SimpleVectorService<QueryEmbeddingMetadata> | null;
65
+ /**
66
+ * Configures the QueryEngineServer by first ensuring QueryEngine is configured,
67
+ * then building the in-memory vector index from cached query embeddings.
68
+ *
69
+ * Safe to call from multiple places concurrently — returns the same promise
70
+ * to all callers during loading.
71
+ *
72
+ * @param forceRefresh - If true, forces a full reload even if already loaded
73
+ * @param contextUser - User context for server-side operations
74
+ * @param provider - Optional metadata provider override
75
+ */
76
+ Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
77
+ private InnerLoad;
78
+ /**
79
+ * Rebuilds the in-memory vector index from QueryEngine's cached queries.
80
+ * This is a synchronous, in-memory-only operation — no database call.
81
+ *
82
+ * Called automatically on Config() and whenever QueryEngine emits a
83
+ * DataChange$ event for the 'MJ: Queries' entity.
84
+ */
85
+ RefreshQueryEmbeddings(): void;
86
+ /**
87
+ * Packages a query entity into the metadata shape stored in the vector service.
88
+ */
89
+ protected PackageQueryMetadata(query: MJQueryEntity): QueryEmbeddingMetadata;
90
+ /**
91
+ * Subscribes (once) to QueryEngine.DataChange$ so the vector index stays
92
+ * in sync whenever queries are added, updated, or deleted.
93
+ *
94
+ * BaseEngine's auto-refresh already debounces entity events (default 5000ms).
95
+ * By the time DataChange$ fires, this.Base.Queries is already updated.
96
+ */
97
+ private SubscribeToDataChanges;
98
+ /**
99
+ * Find queries semantically similar to a natural language search text.
100
+ *
101
+ * Uses the persistent in-memory vector index built from QueryEngine's
102
+ * cached query data. Supports an optional metadata filter callback for
103
+ * filtering by status, reusable flag, etc. at search time.
104
+ *
105
+ * @param searchText - Natural language description of what data is needed
106
+ * @param embedFunction - Function to generate embeddings (typically from AIEngine.EmbedTextLocal)
107
+ * @param topK - Maximum number of results to return (default: 10)
108
+ * @param minSimilarity - Minimum similarity score 0-1 (default: 0.3)
109
+ * @param filter - Optional filter callback applied to metadata before similarity scoring
110
+ * @returns Array of matching queries sorted by similarity score (highest first)
111
+ */
112
+ FindSimilarQueries(searchText: string, embedFunction: (text: string) => Promise<{
113
+ result: EmbedTextResult;
114
+ model: MJAIModelEntityExtended;
115
+ } | null>, topK?: number, minSimilarity?: number, filter?: (metadata: QueryEmbeddingMetadata) => boolean): Promise<QueryMatchResult[]>;
116
+ }
117
+ //# sourceMappingURL=QueryEngineServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryEngineServer.d.ts","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ import { BaseSingleton } from '@memberjunction/global';
2
+ import { LogError, LogStatus } from '@memberjunction/core';
3
+ import { QueryEngine } from '@memberjunction/core-entities';
4
+ import { SimpleVectorService } from '@memberjunction/ai-vectors-memory';
5
+ /**
6
+ * Server-side Query Engine that wraps QueryEngine and adds server-only capabilities.
7
+ *
8
+ * Uses composition (containment) rather than inheritance to avoid duplicate
9
+ * data loading. Delegates all base functionality to QueryEngine.Instance while
10
+ * adding server-specific features like embedding-based semantic search.
11
+ *
12
+ * Follows the same pattern as AIEngine containing AIEngineBase.
13
+ *
14
+ * @description ONLY USE ON SERVER-SIDE. For metadata only, use the QueryEngine class which can be used anywhere.
15
+ */
16
+ export class QueryEngineServer extends BaseSingleton {
17
+ // --- Singleton ---
18
+ constructor() {
19
+ super();
20
+ // --- Server-specific state ---
21
+ this._queryVectorService = null;
22
+ this._loaded = false;
23
+ this._loading = false;
24
+ this._loadingPromise = null;
25
+ this._dataChangeSubscription = null;
26
+ }
27
+ static get Instance() {
28
+ return super.getInstance();
29
+ }
30
+ // --- Containment ---
31
+ get Base() {
32
+ return QueryEngine.Instance;
33
+ }
34
+ // ========================================================================
35
+ // Delegated Properties from QueryEngine
36
+ // ========================================================================
37
+ /** All queries in the system */
38
+ get Queries() { return this.Base.Queries; }
39
+ /** All query categories */
40
+ get Categories() { return this.Base.Categories; }
41
+ /** All query field definitions */
42
+ get Fields() { return this.Base.Fields; }
43
+ /** All query parameter definitions */
44
+ get Parameters() { return this.Base.Parameters; }
45
+ /** All query-to-entity relationship mappings */
46
+ get QueryEntities() { return this.Base.QueryEntities; }
47
+ /** All query permission records */
48
+ get Permissions() { return this.Base.Permissions; }
49
+ /** Returns only queries with Status === 'Approved' */
50
+ get ApprovedQueries() { return this.Base.ApprovedQueries; }
51
+ // --- Delegated methods ---
52
+ /** Find a query by its ID */
53
+ FindQueryByID(id) {
54
+ return this.Base.FindQueryByID(id);
55
+ }
56
+ /** Find a query by name, optionally scoped to a category */
57
+ FindQueryByName(name, categoryId) {
58
+ return this.Base.FindQueryByName(name, categoryId);
59
+ }
60
+ /** Get all field definitions for a specific query */
61
+ GetQueryFields(queryId) {
62
+ return this.Base.GetQueryFields(queryId);
63
+ }
64
+ /** Get all parameter definitions for a specific query */
65
+ GetQueryParameters(queryId) {
66
+ return this.Base.GetQueryParameters(queryId);
67
+ }
68
+ /** Get all permission records for a specific query */
69
+ GetQueryPermissions(queryId) {
70
+ return this.Base.GetQueryPermissions(queryId);
71
+ }
72
+ /** Get all queries belonging to a specific category */
73
+ GetQueriesByCategory(categoryId) {
74
+ return this.Base.GetQueriesByCategory(categoryId);
75
+ }
76
+ /** Find a category by name (case-insensitive) */
77
+ FindCategory(name) {
78
+ return this.Base.FindCategory(name);
79
+ }
80
+ // ========================================================================
81
+ // Server-Only Properties
82
+ // ========================================================================
83
+ /** Returns true if both the base engine and server capabilities are loaded */
84
+ get Loaded() {
85
+ return this._loaded;
86
+ }
87
+ /**
88
+ * Get the query vector service for semantic search.
89
+ * Initialized during Config — will be null before Config() completes.
90
+ */
91
+ get QueryVectorService() {
92
+ return this._queryVectorService;
93
+ }
94
+ // ========================================================================
95
+ // Config — Main Entry Point
96
+ // ========================================================================
97
+ /**
98
+ * Configures the QueryEngineServer by first ensuring QueryEngine is configured,
99
+ * then building the in-memory vector index from cached query embeddings.
100
+ *
101
+ * Safe to call from multiple places concurrently — returns the same promise
102
+ * to all callers during loading.
103
+ *
104
+ * @param forceRefresh - If true, forces a full reload even if already loaded
105
+ * @param contextUser - User context for server-side operations
106
+ * @param provider - Optional metadata provider override
107
+ */
108
+ async Config(forceRefresh, contextUser, provider) {
109
+ if (this._loaded && !forceRefresh)
110
+ return;
111
+ if (this._loading && this._loadingPromise)
112
+ return this._loadingPromise;
113
+ this._loading = true;
114
+ this._loadingPromise = this.InnerLoad(forceRefresh, contextUser, provider);
115
+ try {
116
+ await this._loadingPromise;
117
+ }
118
+ finally {
119
+ this._loading = false;
120
+ this._loadingPromise = null;
121
+ }
122
+ }
123
+ async InnerLoad(forceRefresh, contextUser, provider) {
124
+ try {
125
+ this._contextUser = contextUser;
126
+ // 1. Ensure QueryEngine (the base) is configured first
127
+ await QueryEngine.Instance.Config(forceRefresh, contextUser, provider);
128
+ // 2. Build vector index from already-loaded queries (NO RunView)
129
+ this.RefreshQueryEmbeddings();
130
+ // 3. Subscribe to DataChange$ for ongoing updates (only once)
131
+ this.SubscribeToDataChanges();
132
+ this._loaded = true;
133
+ }
134
+ catch (error) {
135
+ LogError(error);
136
+ throw error;
137
+ }
138
+ }
139
+ // ========================================================================
140
+ // Embedding Management
141
+ // ========================================================================
142
+ /**
143
+ * Rebuilds the in-memory vector index from QueryEngine's cached queries.
144
+ * This is a synchronous, in-memory-only operation — no database call.
145
+ *
146
+ * Called automatically on Config() and whenever QueryEngine emits a
147
+ * DataChange$ event for the 'MJ: Queries' entity.
148
+ */
149
+ RefreshQueryEmbeddings() {
150
+ const queries = this.Base.Queries;
151
+ const entries = [];
152
+ for (const query of queries) {
153
+ if (!query.EmbeddingVector)
154
+ continue;
155
+ try {
156
+ const vector = JSON.parse(query.EmbeddingVector);
157
+ if (!Array.isArray(vector) || vector.length === 0)
158
+ continue;
159
+ entries.push({
160
+ key: query.ID,
161
+ vector,
162
+ metadata: this.PackageQueryMetadata(query)
163
+ });
164
+ }
165
+ catch {
166
+ LogError(`QueryEngineServer: Failed to parse embedding for query ${query.Name}`);
167
+ }
168
+ }
169
+ this._queryVectorService = new SimpleVectorService();
170
+ if (entries.length > 0) {
171
+ this._queryVectorService.LoadVectors(entries);
172
+ }
173
+ LogStatus(`QueryEngineServer: Loaded ${entries.length} query embeddings from cached queries`);
174
+ }
175
+ /**
176
+ * Packages a query entity into the metadata shape stored in the vector service.
177
+ */
178
+ PackageQueryMetadata(query) {
179
+ return {
180
+ id: query.ID,
181
+ name: query.Name,
182
+ description: query.Description || '',
183
+ category: query.Category || '',
184
+ status: query.Status || '',
185
+ reusable: query.Reusable ?? false,
186
+ sql: query.SQL || '',
187
+ userQuestion: query.UserQuestion || ''
188
+ };
189
+ }
190
+ // ========================================================================
191
+ // DataChange$ Subscription
192
+ // ========================================================================
193
+ /**
194
+ * Subscribes (once) to QueryEngine.DataChange$ so the vector index stays
195
+ * in sync whenever queries are added, updated, or deleted.
196
+ *
197
+ * BaseEngine's auto-refresh already debounces entity events (default 5000ms).
198
+ * By the time DataChange$ fires, this.Base.Queries is already updated.
199
+ */
200
+ SubscribeToDataChanges() {
201
+ if (this._dataChangeSubscription)
202
+ return;
203
+ this._dataChangeSubscription = this.Base.DataChange$.subscribe(event => {
204
+ if (event.config.EntityName === 'MJ: Queries') {
205
+ this.RefreshQueryEmbeddings();
206
+ }
207
+ });
208
+ }
209
+ // ========================================================================
210
+ // Semantic Search
211
+ // ========================================================================
212
+ /**
213
+ * Find queries semantically similar to a natural language search text.
214
+ *
215
+ * Uses the persistent in-memory vector index built from QueryEngine's
216
+ * cached query data. Supports an optional metadata filter callback for
217
+ * filtering by status, reusable flag, etc. at search time.
218
+ *
219
+ * @param searchText - Natural language description of what data is needed
220
+ * @param embedFunction - Function to generate embeddings (typically from AIEngine.EmbedTextLocal)
221
+ * @param topK - Maximum number of results to return (default: 10)
222
+ * @param minSimilarity - Minimum similarity score 0-1 (default: 0.3)
223
+ * @param filter - Optional filter callback applied to metadata before similarity scoring
224
+ * @returns Array of matching queries sorted by similarity score (highest first)
225
+ */
226
+ async FindSimilarQueries(searchText, embedFunction, topK = 10, minSimilarity = 0.3, filter) {
227
+ if (!searchText || searchText.trim().length === 0) {
228
+ throw new Error('searchText cannot be empty');
229
+ }
230
+ if (!this._queryVectorService) {
231
+ throw new Error('QueryEngineServer not configured. Call Config() first.');
232
+ }
233
+ const embedding = await embedFunction(searchText);
234
+ if (!embedding?.result?.vector?.length) {
235
+ throw new Error('Failed to generate embedding for search text');
236
+ }
237
+ const results = this._queryVectorService.FindNearest(embedding.result.vector, topK, minSimilarity, 'cosine', filter);
238
+ return results.map(r => ({
239
+ queryId: r.key,
240
+ queryName: r.metadata?.name || 'Unknown',
241
+ description: r.metadata?.description || '',
242
+ category: r.metadata?.category || '',
243
+ similarityScore: r.score,
244
+ status: r.metadata?.status || '',
245
+ reusable: r.metadata?.reusable ?? false,
246
+ sql: r.metadata?.sql,
247
+ userQuestion: r.metadata?.userQuestion
248
+ }));
249
+ }
250
+ }
251
+ //# sourceMappingURL=QueryEngineServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryEngineServer.js","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Metadata about a query for embedding purposes
3
+ */
4
+ export interface QueryEmbeddingMetadata {
5
+ id: string;
6
+ name: string;
7
+ description: string;
8
+ category: string;
9
+ status: string;
10
+ reusable: boolean;
11
+ sql: string;
12
+ userQuestion: string;
13
+ }
14
+ /**
15
+ * Result from query similarity matching
16
+ */
17
+ export interface QueryMatchResult {
18
+ /**
19
+ * The query's unique ID
20
+ */
21
+ queryId: string;
22
+ /**
23
+ * The query's name
24
+ */
25
+ queryName: string;
26
+ /**
27
+ * The query's description
28
+ */
29
+ description: string;
30
+ /**
31
+ * The query's category name
32
+ */
33
+ category: string;
34
+ /**
35
+ * Cosine similarity score (0-1, where 1 = perfect match)
36
+ */
37
+ similarityScore: number;
38
+ /**
39
+ * Query status (Approved, Pending, etc.)
40
+ */
41
+ status: string;
42
+ /**
43
+ * Whether the query is marked as reusable for composition
44
+ */
45
+ reusable: boolean;
46
+ /**
47
+ * The query's SQL (only populated when requested)
48
+ */
49
+ sql?: string;
50
+ /**
51
+ * The natural language question this query answers
52
+ */
53
+ userQuestion?: string;
54
+ }
55
+ //# sourceMappingURL=QueryMatchResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryMatchResult.d.ts","sourceRoot":"","sources":["../../src/engines/QueryMatchResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=QueryMatchResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryMatchResult.js","sourceRoot":"","sources":["../../src/engines/QueryMatchResult.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -13,5 +13,6 @@ export * from './custom/MJArtifactVersionEntityServer.server.js';
13
13
  export * from './custom/MJAIAgentNoteEntityServer.server.js';
14
14
  export * from './custom/MJAIAgentExampleEntityServer.server.js';
15
15
  export * from './custom/util.js';
16
- export * from './custom/sql-parser.js';
16
+ export * from './engines/QueryEngineServer.js';
17
+ export * from './engines/QueryMatchResult.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -13,5 +13,6 @@ export * from './custom/MJArtifactVersionEntityServer.server.js';
13
13
  export * from './custom/MJAIAgentNoteEntityServer.server.js';
14
14
  export * from './custom/MJAIAgentExampleEntityServer.server.js';
15
15
  export * from './custom/util.js';
16
- export * from './custom/sql-parser.js';
16
+ export * from './engines/QueryEngineServer.js';
17
+ export * from './engines/QueryMatchResult.js';
17
18
  //# 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,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-entities-server",
3
3
  "type": "module",
4
- "version": "5.13.0",
4
+ "version": "5.14.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,23 +21,25 @@
21
21
  "typescript": "^5.9.3"
22
22
  },
23
23
  "dependencies": {
24
- "@memberjunction/actions-base": "5.13.0",
25
- "@memberjunction/ai": "5.13.0",
26
- "@memberjunction/ai-core-plus": "5.13.0",
27
- "@memberjunction/ai-engine-base": "5.13.0",
28
- "@memberjunction/ai-prompts": "5.13.0",
29
- "@memberjunction/ai-provider-bundle": "5.13.0",
30
- "@memberjunction/ai-vector-dupe": "5.13.0",
31
- "@memberjunction/aiengine": "5.13.0",
32
- "@memberjunction/core": "5.13.0",
33
- "@memberjunction/core-entities": "5.13.0",
34
- "@memberjunction/doc-utils": "5.13.0",
35
- "@memberjunction/global": "5.13.0",
36
- "@memberjunction/skip-types": "5.13.0",
37
- "@memberjunction/sql-converter": "5.13.0",
38
- "@memberjunction/sqlserver-dataprovider": "5.13.0",
39
- "node-sql-parser": "^5.4.0",
40
- "nunjucks": "^3.2.4",
24
+ "@memberjunction/actions-base": "5.14.0",
25
+ "@memberjunction/ai": "5.14.0",
26
+ "@memberjunction/ai-core-plus": "5.14.0",
27
+ "@memberjunction/ai-engine-base": "5.14.0",
28
+ "@memberjunction/ai-prompts": "5.14.0",
29
+ "@memberjunction/ai-provider-bundle": "5.14.0",
30
+ "@memberjunction/ai-vector-dupe": "5.14.0",
31
+ "@memberjunction/ai-vectors-memory": "5.14.0",
32
+ "@memberjunction/aiengine": "5.14.0",
33
+ "@memberjunction/core": "5.14.0",
34
+ "@memberjunction/core-entities": "5.14.0",
35
+ "@memberjunction/generic-database-provider": "5.14.0",
36
+ "@memberjunction/doc-utils": "5.14.0",
37
+ "@memberjunction/global": "5.14.0",
38
+ "@memberjunction/skip-types": "5.14.0",
39
+ "@memberjunction/sql-converter": "5.14.0",
40
+ "@memberjunction/sql-parser": "5.14.0",
41
+ "@memberjunction/sqlserver-dataprovider": "5.14.0",
42
+ "rxjs": "~7.8.1",
41
43
  "zod": "~3.24.4"
42
44
  },
43
45
  "repository": {
@@ -1,95 +0,0 @@
1
- /**
2
- * A single table/view reference extracted from SQL.
3
- */
4
- export interface SQLTableReference {
5
- /** The table or view name as it appears in SQL */
6
- TableName: string;
7
- /** The schema name, defaults to 'dbo' if unspecified */
8
- SchemaName: string;
9
- /** The alias used in the query, or the table name if no alias */
10
- Alias: string;
11
- }
12
- /**
13
- * A column reference extracted from SQL expressions.
14
- */
15
- export interface SQLColumnReference {
16
- /** Column name */
17
- ColumnName: string;
18
- /** Table alias or name prefix, if qualified (e.g. "t" in "t.Name") */
19
- TableQualifier: string | null;
20
- }
21
- /**
22
- * Complete result of parsing a SQL statement for table and column references.
23
- */
24
- export interface SQLParseResult {
25
- /** All table/view references found (FROM, JOIN, subqueries, CTEs) */
26
- Tables: SQLTableReference[];
27
- /** All column references found (SELECT, WHERE, JOIN ON, GROUP BY, ORDER BY) */
28
- Columns: SQLColumnReference[];
29
- /** Whether parsing succeeded via AST (true) or fell back to regex (false) */
30
- UsedASTParsing: boolean;
31
- }
32
- /**
33
- * Reusable SQL parsing utility that extracts table/view references and column references
34
- * from SQL statements using node-sql-parser with a regex fallback.
35
- *
36
- * This class has no dependency on MJ Metadata — it returns raw parse results.
37
- * Callers are responsible for cross-referencing against entity metadata.
38
- */
39
- export declare class SQLParser {
40
- /**
41
- * Parse a plain SQL statement and extract all table and column references.
42
- * Uses AST parsing with TransactSQL dialect, falls back to regex on failure.
43
- */
44
- static Parse(sql: string): SQLParseResult;
45
- /**
46
- * Parse a SQL statement that may contain Nunjucks template syntax.
47
- * Pre-processes templates into valid SQL before parsing.
48
- */
49
- static ParseWithTemplatePreprocessing(sql: string): SQLParseResult;
50
- /**
51
- * Attempt to parse SQL via node-sql-parser AST.
52
- * Returns null if parsing fails (caller should fall back to regex).
53
- */
54
- private static ParseViaAST;
55
- /**
56
- * Regex-based fallback for extracting table references from SQL.
57
- * Less accurate than AST but handles edge cases where the parser fails.
58
- */
59
- private static ParseViaRegex;
60
- /**
61
- * Converts internal maps into the public SQLParseResult shape.
62
- */
63
- private static BuildResult;
64
- /**
65
- * Deduplicates table references by schema.table key, keeping distinct entries.
66
- */
67
- private static DeduplicateTables;
68
- /**
69
- * Converts raw column reference strings into structured SQLColumnReference objects.
70
- */
71
- private static ParseColumnRefs;
72
- /**
73
- * Recursively extracts table references and column references from SQL AST.
74
- */
75
- private static ExtractFromAST;
76
- /**
77
- * Extracts table information from a FROM clause item, handling tables and JOINs.
78
- */
79
- private static ExtractTableFromItem;
80
- /**
81
- * Extracts column references from an expression node.
82
- * Also extracts tables from subqueries found in expressions (e.g., EXISTS, IN).
83
- */
84
- private static ExtractColumnReferences;
85
- /**
86
- * Pre-processes Nunjucks templates in SQL to create valid SQL for parsing.
87
- * Replaces Nunjucks syntax with placeholder values.
88
- */
89
- private static PreProcessNunjucksForParsing;
90
- /**
91
- * Regex fallback for Nunjucks preprocessing when rendering fails.
92
- */
93
- private static PreProcessNunjucksViaRegex;
94
- }
95
- //# sourceMappingURL=sql-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-parser.d.ts","sourceRoot":"","sources":["../../src/custom/sql-parser.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,qEAAqE;IACrE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,6EAA6E;IAC7E,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,qBAAa,SAAS;IAClB;;;OAGG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAahD;;;OAGG;WACW,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IASzE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAmB1B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAoB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAoB9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA8F7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA6CnC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA6CtC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAwB3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAuB5C"}
@@ -1,313 +0,0 @@
1
- import NodeSqlParser from 'node-sql-parser';
2
- const { Parser } = NodeSqlParser;
3
- import * as nunjucks from 'nunjucks';
4
- /**
5
- * Reusable SQL parsing utility that extracts table/view references and column references
6
- * from SQL statements using node-sql-parser with a regex fallback.
7
- *
8
- * This class has no dependency on MJ Metadata — it returns raw parse results.
9
- * Callers are responsible for cross-referencing against entity metadata.
10
- */
11
- export class SQLParser {
12
- /**
13
- * Parse a plain SQL statement and extract all table and column references.
14
- * Uses AST parsing with TransactSQL dialect, falls back to regex on failure.
15
- */
16
- static Parse(sql) {
17
- if (!sql || sql.trim().length === 0) {
18
- return { Tables: [], Columns: [], UsedASTParsing: false };
19
- }
20
- const astResult = SQLParser.ParseViaAST(sql);
21
- if (astResult) {
22
- return astResult;
23
- }
24
- return SQLParser.ParseViaRegex(sql);
25
- }
26
- /**
27
- * Parse a SQL statement that may contain Nunjucks template syntax.
28
- * Pre-processes templates into valid SQL before parsing.
29
- */
30
- static ParseWithTemplatePreprocessing(sql) {
31
- if (!sql || sql.trim().length === 0) {
32
- return { Tables: [], Columns: [], UsedASTParsing: false };
33
- }
34
- const processedSQL = SQLParser.PreProcessNunjucksForParsing(sql);
35
- return SQLParser.Parse(processedSQL);
36
- }
37
- /**
38
- * Attempt to parse SQL via node-sql-parser AST.
39
- * Returns null if parsing fails (caller should fall back to regex).
40
- */
41
- static ParseViaAST(sql) {
42
- try {
43
- const parser = new Parser();
44
- const ast = parser.astify(sql, { database: 'TransactSQL' });
45
- const tableAliasMap = new Map();
46
- const columnRefs = new Set();
47
- const statements = Array.isArray(ast) ? ast : [ast];
48
- for (const statement of statements) {
49
- SQLParser.ExtractFromAST(statement, tableAliasMap, columnRefs);
50
- }
51
- return SQLParser.BuildResult(tableAliasMap, columnRefs, true);
52
- }
53
- catch {
54
- return null;
55
- }
56
- }
57
- /**
58
- * Regex-based fallback for extracting table references from SQL.
59
- * Less accurate than AST but handles edge cases where the parser fails.
60
- */
61
- static ParseViaRegex(sql) {
62
- const tableAliasMap = new Map();
63
- const tablePattern = /(?:FROM|JOIN|INTO)\s+(?:\[?(\w+)\]?\.)?\[?(\w+)\]?(?:\s+(?:AS\s+)?(\w+))?/gi;
64
- const matches = [...sql.matchAll(tablePattern)];
65
- for (const match of matches) {
66
- const schemaName = match[1] || 'dbo';
67
- const tableName = match[2];
68
- const alias = match[3] || tableName;
69
- const key = alias;
70
- if (!tableAliasMap.has(key)) {
71
- tableAliasMap.set(key, { schemaName, tableName });
72
- }
73
- }
74
- // Regex can't reliably extract column references, return empty
75
- return SQLParser.BuildResult(tableAliasMap, new Set(), false);
76
- }
77
- /**
78
- * Converts internal maps into the public SQLParseResult shape.
79
- */
80
- static BuildResult(tableAliasMap, columnRefs, usedAST) {
81
- const tables = SQLParser.DeduplicateTables(tableAliasMap);
82
- const columns = SQLParser.ParseColumnRefs(columnRefs);
83
- return { Tables: tables, Columns: columns, UsedASTParsing: usedAST };
84
- }
85
- /**
86
- * Deduplicates table references by schema.table key, keeping distinct entries.
87
- */
88
- static DeduplicateTables(tableAliasMap) {
89
- const seen = new Set();
90
- const tables = [];
91
- for (const [alias, info] of tableAliasMap) {
92
- const key = `${info.schemaName.toLowerCase()}.${info.tableName.toLowerCase()}`;
93
- if (!seen.has(key)) {
94
- seen.add(key);
95
- tables.push({
96
- TableName: info.tableName,
97
- SchemaName: info.schemaName,
98
- Alias: alias
99
- });
100
- }
101
- }
102
- return tables;
103
- }
104
- /**
105
- * Converts raw column reference strings into structured SQLColumnReference objects.
106
- */
107
- static ParseColumnRefs(columnRefs) {
108
- const columns = [];
109
- for (const ref of columnRefs) {
110
- const dotIndex = ref.lastIndexOf('.');
111
- if (dotIndex >= 0) {
112
- columns.push({
113
- ColumnName: ref.substring(dotIndex + 1),
114
- TableQualifier: ref.substring(0, dotIndex)
115
- });
116
- }
117
- else {
118
- columns.push({ ColumnName: ref, TableQualifier: null });
119
- }
120
- }
121
- return columns;
122
- }
123
- // ─────────────────────────────────────────────────────
124
- // AST Walking (moved from MJQueryEntityServer)
125
- // ─────────────────────────────────────────────────────
126
- /**
127
- * Recursively extracts table references and column references from SQL AST.
128
- */
129
- static ExtractFromAST(node, tableAliasMap, referencedColumns) {
130
- if (!node || typeof node !== 'object')
131
- return;
132
- // Handle CTEs (WITH clause)
133
- if (node.with) {
134
- const ctes = Array.isArray(node.with) ? node.with : [node.with];
135
- for (const cte of ctes) {
136
- const cteRecord = cte;
137
- if (cteRecord.stmt) {
138
- const stmtRecord = cteRecord.stmt;
139
- const cteAst = (stmtRecord.ast || stmtRecord);
140
- SQLParser.ExtractFromAST(cteAst, tableAliasMap, referencedColumns);
141
- }
142
- }
143
- }
144
- // Extract FROM clause tables (including JOINs)
145
- if (node.from) {
146
- const fromItems = Array.isArray(node.from) ? node.from : [node.from];
147
- for (const fromItem of fromItems) {
148
- SQLParser.ExtractTableFromItem(fromItem, tableAliasMap, referencedColumns);
149
- }
150
- }
151
- // Extract column references from SELECT
152
- if (node.columns) {
153
- const cols = Array.isArray(node.columns) ? node.columns : [node.columns];
154
- for (const col of cols) {
155
- if (col === '*')
156
- continue;
157
- const colRecord = col;
158
- if (colRecord.expr) {
159
- SQLParser.ExtractColumnReferences(colRecord.expr, referencedColumns, tableAliasMap);
160
- }
161
- }
162
- }
163
- // Extract column references from WHERE
164
- if (node.where) {
165
- SQLParser.ExtractColumnReferences(node.where, referencedColumns, tableAliasMap);
166
- }
167
- // Extract column references from GROUP BY
168
- if (node.groupby) {
169
- const groupbyRecord = node.groupby;
170
- const groupItems = groupbyRecord.columns || node.groupby;
171
- const items = Array.isArray(groupItems) ? groupItems : [groupItems];
172
- for (const group of items) {
173
- SQLParser.ExtractColumnReferences(group, referencedColumns, tableAliasMap);
174
- }
175
- }
176
- // Extract column references from ORDER BY
177
- if (node.orderby) {
178
- const orders = Array.isArray(node.orderby) ? node.orderby : [node.orderby];
179
- for (const order of orders) {
180
- const orderRecord = order;
181
- SQLParser.ExtractColumnReferences((orderRecord.expr || orderRecord), referencedColumns, tableAliasMap);
182
- }
183
- }
184
- // Handle UNION/INTERSECT/EXCEPT
185
- if (node._next) {
186
- SQLParser.ExtractFromAST(node._next, tableAliasMap, referencedColumns);
187
- }
188
- }
189
- /**
190
- * Extracts table information from a FROM clause item, handling tables and JOINs.
191
- */
192
- static ExtractTableFromItem(fromItem, tableAliasMap, referencedColumns) {
193
- if (!fromItem)
194
- return;
195
- // Direct table reference
196
- if (fromItem.table) {
197
- const alias = (fromItem.as || fromItem.table);
198
- tableAliasMap.set(alias, {
199
- schemaName: fromItem.db || 'dbo',
200
- tableName: fromItem.table
201
- });
202
- }
203
- // Handle subqueries in FROM (derived tables)
204
- if (fromItem.expr) {
205
- const exprRecord = fromItem.expr;
206
- const subqueryAst = (exprRecord.ast || exprRecord);
207
- SQLParser.ExtractFromAST(subqueryAst, tableAliasMap, referencedColumns);
208
- }
209
- // Extract column references from ON conditions
210
- if (fromItem.on) {
211
- SQLParser.ExtractColumnReferences(fromItem.on, referencedColumns, tableAliasMap);
212
- }
213
- // Handle USING clause
214
- if (fromItem.using) {
215
- const usings = Array.isArray(fromItem.using) ? fromItem.using : [fromItem.using];
216
- for (const col of usings) {
217
- if (typeof col === 'string') {
218
- referencedColumns.add(col);
219
- }
220
- else if (col && typeof col === 'object' && 'column' in col) {
221
- referencedColumns.add(col.column);
222
- }
223
- }
224
- }
225
- }
226
- /**
227
- * Extracts column references from an expression node.
228
- * Also extracts tables from subqueries found in expressions (e.g., EXISTS, IN).
229
- */
230
- static ExtractColumnReferences(expr, referencedColumns, tableAliasMap) {
231
- if (!expr || typeof expr !== 'object')
232
- return;
233
- if (expr.type === 'column_ref') {
234
- const colName = expr.table ? `${expr.table}.${expr.column}` : expr.column;
235
- referencedColumns.add(colName);
236
- }
237
- // Handle subqueries in expressions (EXISTS, IN, scalar subqueries)
238
- if (expr.ast && tableAliasMap) {
239
- SQLParser.ExtractFromAST(expr.ast, tableAliasMap, referencedColumns);
240
- }
241
- // Recursively process nested expressions
242
- if (expr.left) {
243
- SQLParser.ExtractColumnReferences(expr.left, referencedColumns, tableAliasMap);
244
- }
245
- if (expr.right) {
246
- SQLParser.ExtractColumnReferences(expr.right, referencedColumns, tableAliasMap);
247
- }
248
- if (expr.args) {
249
- const argsRecord = expr.args;
250
- const args = argsRecord.value || expr.args;
251
- const argList = Array.isArray(args) ? args : [args];
252
- for (const arg of argList) {
253
- SQLParser.ExtractColumnReferences(arg, referencedColumns, tableAliasMap);
254
- }
255
- }
256
- if (expr.expr) {
257
- SQLParser.ExtractColumnReferences(expr.expr, referencedColumns, tableAliasMap);
258
- }
259
- }
260
- // ─────────────────────────────────────────────────────
261
- // Nunjucks Preprocessing (moved from MJQueryEntityServer)
262
- // ─────────────────────────────────────────────────────
263
- /**
264
- * Pre-processes Nunjucks templates in SQL to create valid SQL for parsing.
265
- * Replaces Nunjucks syntax with placeholder values.
266
- */
267
- static PreProcessNunjucksForParsing(sql) {
268
- const env = new nunjucks.Environment(null, {
269
- autoescape: false,
270
- throwOnUndefined: false
271
- });
272
- // Add placeholder filters that return safe SQL values
273
- env.addFilter('sqlString', () => "'placeholder'");
274
- env.addFilter('sqlNumber', () => '0');
275
- env.addFilter('sqlDate', () => "'2000-01-01'");
276
- env.addFilter('sqlIn', () => "('placeholder')");
277
- env.addFilter('sqlIdentifier', (val) => val || 'placeholder');
278
- env.addFilter('sqlNoKeywordsExpression', (val) => val || 'placeholder');
279
- env.addFilter('default', (val, defaultVal) => val || defaultVal || 'placeholder');
280
- env.addFilter('safe', (val) => val || 'placeholder');
281
- env.addFilter('dump', (val) => JSON.stringify(val || {}));
282
- try {
283
- return env.renderString(sql, {});
284
- }
285
- catch {
286
- return SQLParser.PreProcessNunjucksViaRegex(sql);
287
- }
288
- }
289
- /**
290
- * Regex fallback for Nunjucks preprocessing when rendering fails.
291
- */
292
- static PreProcessNunjucksViaRegex(sql) {
293
- let processed = sql;
294
- // Replace {{ variable | filter }} patterns
295
- processed = processed.replace(/\{\{\s*[\w.]+\s*\|\s*sqlString\s*\}\}/g, "'placeholder'");
296
- processed = processed.replace(/\{\{\s*[\w.]+\s*\|\s*sqlNumber\s*\}\}/g, '0');
297
- processed = processed.replace(/\{\{\s*[\w.]+\s*\|\s*sqlDate\s*\}\}/g, "'2000-01-01'");
298
- processed = processed.replace(/\{\{\s*[\w.]+\s*\|\s*sqlIn\s*\}\}/g, "('placeholder')");
299
- processed = processed.replace(/\{\{\s*[\w.]+\s*\|\s*sqlIdentifier\s*\}\}/g, 'placeholder');
300
- processed = processed.replace(/\{\{\s*[\w.]+\s*[^}]*\}\}/g, "'placeholder'");
301
- // Remove block tags but keep content between them
302
- processed = processed.replace(/\{%\s*if\s+[^%]+%\}/g, '');
303
- processed = processed.replace(/\{%\s*endif\s*%\}/g, '');
304
- processed = processed.replace(/\{%\s*else\s*%\}/g, '');
305
- processed = processed.replace(/\{%\s*elif\s+[^%]+%\}/g, '');
306
- processed = processed.replace(/\{%\s*for\s+[^%]+%\}/g, '');
307
- processed = processed.replace(/\{%\s*endfor\s*%\}/g, '');
308
- processed = processed.replace(/\{%\s*set\s+[^%]+%\}/g, '');
309
- processed = processed.replace(/\{#[^#]*#\}/g, ''); // Comments
310
- return processed;
311
- }
312
- }
313
- //# sourceMappingURL=sql-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-parser.js","sourceRoot":"","sources":["../../src/custom/sql-parser.ts"],"names":[],"mappings":"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"}