@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.
- package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJQueryEntityServer.server.js +3 -2
- package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
- package/dist/engines/QueryEngineServer.d.ts +117 -0
- package/dist/engines/QueryEngineServer.d.ts.map +1 -0
- package/dist/engines/QueryEngineServer.js +251 -0
- package/dist/engines/QueryEngineServer.js.map +1 -0
- package/dist/engines/QueryMatchResult.d.ts +55 -0
- package/dist/engines/QueryMatchResult.d.ts.map +1 -0
- package/dist/engines/QueryMatchResult.js +2 -0
- package/dist/engines/QueryMatchResult.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +20 -18
- package/dist/custom/sql-parser.d.ts +0 -95
- package/dist/custom/sql-parser.d.ts.map +0 -1
- package/dist/custom/sql-parser.js +0 -313
- package/dist/custom/sql-parser.js.map +0 -1
|
@@ -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,
|
|
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,
|
|
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 "
|
|
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 @@
|
|
|
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 './
|
|
16
|
+
export * from './engines/QueryEngineServer.js';
|
|
17
|
+
export * from './engines/QueryMatchResult.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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 './
|
|
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;
|
|
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.
|
|
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.
|
|
25
|
-
"@memberjunction/ai": "5.
|
|
26
|
-
"@memberjunction/ai-core-plus": "5.
|
|
27
|
-
"@memberjunction/ai-engine-base": "5.
|
|
28
|
-
"@memberjunction/ai-prompts": "5.
|
|
29
|
-
"@memberjunction/ai-provider-bundle": "5.
|
|
30
|
-
"@memberjunction/ai-vector-dupe": "5.
|
|
31
|
-
"@memberjunction/
|
|
32
|
-
"@memberjunction/
|
|
33
|
-
"@memberjunction/core
|
|
34
|
-
"@memberjunction/
|
|
35
|
-
"@memberjunction/
|
|
36
|
-
"@memberjunction/
|
|
37
|
-
"@memberjunction/
|
|
38
|
-
"@memberjunction/
|
|
39
|
-
"
|
|
40
|
-
"
|
|
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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"}
|