@miller-tech/uap 1.3.5 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +285 -120
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -3
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/task.js +9 -3
- package/dist/cli/task.js.map +1 -1
- package/dist/coordination/service.d.ts.map +1 -1
- package/dist/coordination/service.js +4 -1
- package/dist/coordination/service.js.map +1 -1
- package/dist/mcp-router/executor/client.d.ts.map +1 -1
- package/dist/mcp-router/executor/client.js +10 -3
- package/dist/mcp-router/executor/client.js.map +1 -1
- package/dist/mcp-router/output-compressor.d.ts.map +1 -1
- package/dist/mcp-router/output-compressor.js +146 -26
- package/dist/mcp-router/output-compressor.js.map +1 -1
- package/dist/mcp-router/search/fuzzy.d.ts +1 -0
- package/dist/mcp-router/search/fuzzy.d.ts.map +1 -1
- package/dist/mcp-router/search/fuzzy.js +16 -6
- package/dist/mcp-router/search/fuzzy.js.map +1 -1
- package/dist/mcp-router/server.d.ts +5 -2
- package/dist/mcp-router/server.d.ts.map +1 -1
- package/dist/mcp-router/server.js +125 -29
- package/dist/mcp-router/server.js.map +1 -1
- package/dist/memory/knowledge-graph.d.ts +2 -1
- package/dist/memory/knowledge-graph.d.ts.map +1 -1
- package/dist/memory/knowledge-graph.js +56 -33
- package/dist/memory/knowledge-graph.js.map +1 -1
- package/dist/policies/policy-gate.d.ts +14 -1
- package/dist/policies/policy-gate.d.ts.map +1 -1
- package/dist/policies/policy-gate.js +129 -12
- package/dist/policies/policy-gate.js.map +1 -1
- package/dist/policies/schemas/policy.d.ts +2 -2
- package/dist/tasks/service.d.ts +7 -2
- package/dist/tasks/service.d.ts.map +1 -1
- package/dist/tasks/service.js +90 -18
- package/dist/tasks/service.js.map +1 -1
- package/dist/tasks/types.d.ts +8 -0
- package/dist/tasks/types.d.ts.map +1 -1
- package/dist/tasks/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { loadConfigFromPaths, loadConfigFromFile } from './config/parser.js';
|
|
7
7
|
import { ToolSearchIndex } from './search/fuzzy.js';
|
|
8
|
-
import {
|
|
8
|
+
import { McpClientPool } from './executor/client.js';
|
|
9
9
|
import { DISCOVER_TOOLS_DEFINITION, handleDiscoverTools, estimateDiscoverToolsTokens, } from './tools/discover.js';
|
|
10
10
|
import { EXECUTE_TOOL_DEFINITION, handleExecuteTool, estimateExecuteToolTokens, } from './tools/execute.js';
|
|
11
11
|
export class McpRouter {
|
|
@@ -31,31 +31,35 @@ export class McpRouter {
|
|
|
31
31
|
this.clientPool = new McpClientPool();
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Load tools from all configured MCP servers
|
|
34
|
+
* Load tools from all configured MCP servers.
|
|
35
|
+
* Uses Promise.allSettled for parallel discovery and keeps clients alive in the pool.
|
|
35
36
|
*/
|
|
36
37
|
async loadTools() {
|
|
37
38
|
if (this.toolsLoaded)
|
|
38
39
|
return;
|
|
39
40
|
const servers = Object.entries(this.config.mcpServers);
|
|
40
41
|
if (this.options.verbose) {
|
|
41
|
-
console.error(`[router] Loading tools from ${servers.length} servers...`);
|
|
42
|
+
console.error(`[router] Loading tools from ${servers.length} servers in parallel...`);
|
|
42
43
|
}
|
|
44
|
+
// Parallel server discovery - connect to all servers simultaneously
|
|
45
|
+
const results = await Promise.allSettled(servers.map(async ([serverName, serverConfig]) => {
|
|
46
|
+
// Use the client pool so connections persist for later execute_tool calls
|
|
47
|
+
const client = this.clientPool.getClient(serverName, serverConfig);
|
|
48
|
+
await client.connect();
|
|
49
|
+
const tools = await client.listTools();
|
|
50
|
+
// Do NOT disconnect - keep alive for subsequent execute_tool calls
|
|
51
|
+
return { serverName, tools };
|
|
52
|
+
}));
|
|
43
53
|
const allTools = [];
|
|
44
|
-
for (const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
await client.connect();
|
|
48
|
-
const tools = await client.listTools();
|
|
49
|
-
allTools.push(...tools);
|
|
50
|
-
client.disconnect();
|
|
54
|
+
for (const result of results) {
|
|
55
|
+
if (result.status === 'fulfilled') {
|
|
56
|
+
allTools.push(...result.value.tools);
|
|
51
57
|
if (this.options.verbose) {
|
|
52
|
-
console.error(`[router] ${serverName}: ${tools.length} tools`);
|
|
58
|
+
console.error(`[router] ${result.value.serverName}: ${result.value.tools.length} tools`);
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
console.error(`[router] ${serverName}: failed to load - ${error}`);
|
|
58
|
-
}
|
|
61
|
+
else if (this.options.verbose) {
|
|
62
|
+
console.error(`[router] server failed to load - ${result.reason}`);
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
65
|
this.searchIndex.clear();
|
|
@@ -99,7 +103,7 @@ export class McpRouter {
|
|
|
99
103
|
// Router uses only 2 tools
|
|
100
104
|
const routerTokens = estimateDiscoverToolsTokens() + estimateExecuteToolTokens();
|
|
101
105
|
const savings = traditionalTokens > 0
|
|
102
|
-
? ((traditionalTokens - routerTokens) / traditionalTokens * 100).toFixed(1) + '%'
|
|
106
|
+
? (((traditionalTokens - routerTokens) / traditionalTokens) * 100).toFixed(1) + '%'
|
|
103
107
|
: '0%';
|
|
104
108
|
return {
|
|
105
109
|
totalServers: servers,
|
|
@@ -122,8 +126,12 @@ export class McpRouter {
|
|
|
122
126
|
return this.config;
|
|
123
127
|
}
|
|
124
128
|
}
|
|
129
|
+
// Supported MCP protocol version
|
|
130
|
+
const SUPPORTED_PROTOCOL_VERSION = '2024-11-05';
|
|
125
131
|
/**
|
|
126
|
-
* Run as stdio MCP server
|
|
132
|
+
* Run as stdio MCP server.
|
|
133
|
+
* Fully JSON-RPC 2.0 compliant: parse errors (-32700), invalid request (-32600),
|
|
134
|
+
* batch request support, jsonrpc field validation, and protocol version negotiation.
|
|
127
135
|
*/
|
|
128
136
|
export async function runStdioServer(options = {}) {
|
|
129
137
|
const router = new McpRouter({ ...options, verbose: true });
|
|
@@ -132,14 +140,56 @@ export async function runStdioServer(options = {}) {
|
|
|
132
140
|
process.stdout.write(JSON.stringify(message) + '\n');
|
|
133
141
|
}
|
|
134
142
|
function handleMessage(message) {
|
|
135
|
-
|
|
143
|
+
// Validate it's an object
|
|
144
|
+
if (!message || typeof message !== 'object') {
|
|
145
|
+
send({
|
|
146
|
+
jsonrpc: '2.0',
|
|
147
|
+
id: null,
|
|
148
|
+
error: { code: -32600, message: 'Invalid Request: expected a JSON object' },
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const msg = message;
|
|
153
|
+
// JSON-RPC 2.0 compliance: validate jsonrpc field
|
|
154
|
+
if (msg.jsonrpc !== '2.0') {
|
|
155
|
+
send({
|
|
156
|
+
jsonrpc: '2.0',
|
|
157
|
+
id: msg.id ?? null,
|
|
158
|
+
error: {
|
|
159
|
+
code: -32600,
|
|
160
|
+
message: 'Invalid Request: missing or invalid "jsonrpc" field (must be "2.0")',
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const id = msg.id;
|
|
166
|
+
const method = msg.method;
|
|
167
|
+
const params = msg.params;
|
|
168
|
+
// Validate method field exists
|
|
169
|
+
if (typeof method !== 'string') {
|
|
170
|
+
if (id !== undefined) {
|
|
171
|
+
send({
|
|
172
|
+
jsonrpc: '2.0',
|
|
173
|
+
id,
|
|
174
|
+
error: { code: -32600, message: 'Invalid Request: missing or invalid "method" field' },
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
136
179
|
switch (method) {
|
|
137
|
-
case 'initialize':
|
|
180
|
+
case 'initialize': {
|
|
181
|
+
// Protocol version negotiation
|
|
182
|
+
const initParams = params;
|
|
183
|
+
const clientVersion = initParams?.protocolVersion;
|
|
184
|
+
if (clientVersion && clientVersion !== SUPPORTED_PROTOCOL_VERSION) {
|
|
185
|
+
console.error(`[router] Client requested protocol version ${clientVersion}, ` +
|
|
186
|
+
`server supports ${SUPPORTED_PROTOCOL_VERSION}. Proceeding with server version.`);
|
|
187
|
+
}
|
|
138
188
|
send({
|
|
139
189
|
jsonrpc: '2.0',
|
|
140
190
|
id,
|
|
141
191
|
result: {
|
|
142
|
-
protocolVersion:
|
|
192
|
+
protocolVersion: SUPPORTED_PROTOCOL_VERSION,
|
|
143
193
|
capabilities: {
|
|
144
194
|
tools: {},
|
|
145
195
|
},
|
|
@@ -150,8 +200,9 @@ export async function runStdioServer(options = {}) {
|
|
|
150
200
|
},
|
|
151
201
|
});
|
|
152
202
|
break;
|
|
203
|
+
}
|
|
153
204
|
case 'notifications/initialized':
|
|
154
|
-
// No response needed
|
|
205
|
+
// No response needed for notifications
|
|
155
206
|
break;
|
|
156
207
|
case 'tools/list':
|
|
157
208
|
send({
|
|
@@ -163,18 +214,39 @@ export async function runStdioServer(options = {}) {
|
|
|
163
214
|
});
|
|
164
215
|
break;
|
|
165
216
|
case 'tools/call': {
|
|
217
|
+
if (!params || typeof params !== 'object') {
|
|
218
|
+
send({
|
|
219
|
+
jsonrpc: '2.0',
|
|
220
|
+
id,
|
|
221
|
+
error: { code: -32602, message: 'Invalid params: expected { name, arguments }' },
|
|
222
|
+
});
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
166
225
|
const { name, arguments: args } = params;
|
|
167
|
-
|
|
168
|
-
|
|
226
|
+
if (typeof name !== 'string') {
|
|
227
|
+
send({
|
|
228
|
+
jsonrpc: '2.0',
|
|
229
|
+
id,
|
|
230
|
+
error: { code: -32602, message: 'Invalid params: "name" must be a string' },
|
|
231
|
+
});
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
router
|
|
235
|
+
.handleToolCall(name, args)
|
|
236
|
+
.then((result) => {
|
|
237
|
+
// Preserve the actual result structure from handleToolCall.
|
|
238
|
+
// execute.ts already returns { success, result, toolPath, ... } -
|
|
239
|
+
// do not inject synthetic objects that could confuse tool call validation.
|
|
240
|
+
const safeResult = result ?? '';
|
|
169
241
|
send({
|
|
170
242
|
jsonrpc: '2.0',
|
|
171
243
|
id,
|
|
172
244
|
result: {
|
|
173
|
-
content: [{ type: 'text', text: JSON.stringify(
|
|
245
|
+
content: [{ type: 'text', text: JSON.stringify(safeResult, null, 2) }],
|
|
174
246
|
},
|
|
175
247
|
});
|
|
176
248
|
})
|
|
177
|
-
.catch(error => {
|
|
249
|
+
.catch((error) => {
|
|
178
250
|
send({
|
|
179
251
|
jsonrpc: '2.0',
|
|
180
252
|
id,
|
|
@@ -187,6 +259,7 @@ export async function runStdioServer(options = {}) {
|
|
|
187
259
|
break;
|
|
188
260
|
}
|
|
189
261
|
default:
|
|
262
|
+
// Only send error for requests (with id), not notifications
|
|
190
263
|
if (id !== undefined) {
|
|
191
264
|
send({
|
|
192
265
|
jsonrpc: '2.0',
|
|
@@ -207,11 +280,34 @@ export async function runStdioServer(options = {}) {
|
|
|
207
280
|
if (!line.trim())
|
|
208
281
|
continue;
|
|
209
282
|
try {
|
|
210
|
-
const
|
|
211
|
-
|
|
283
|
+
const parsed = JSON.parse(line);
|
|
284
|
+
// JSON-RPC 2.0 batch support: handle arrays of requests
|
|
285
|
+
if (Array.isArray(parsed)) {
|
|
286
|
+
if (parsed.length === 0) {
|
|
287
|
+
// Empty batch is an invalid request per spec
|
|
288
|
+
send({
|
|
289
|
+
jsonrpc: '2.0',
|
|
290
|
+
id: null,
|
|
291
|
+
error: { code: -32600, message: 'Invalid Request: empty batch' },
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
for (const msg of parsed) {
|
|
296
|
+
handleMessage(msg);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
handleMessage(parsed);
|
|
302
|
+
}
|
|
212
303
|
}
|
|
213
|
-
catch
|
|
214
|
-
|
|
304
|
+
catch {
|
|
305
|
+
// JSON-RPC 2.0 spec: parse errors MUST return -32700 with id: null
|
|
306
|
+
send({
|
|
307
|
+
jsonrpc: '2.0',
|
|
308
|
+
id: null,
|
|
309
|
+
error: { code: -32700, message: 'Parse error: invalid JSON' },
|
|
310
|
+
});
|
|
215
311
|
}
|
|
216
312
|
}
|
|
217
313
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,11 +73,12 @@ export declare class KnowledgeGraph {
|
|
|
73
73
|
deleteRelationship(id: number): boolean;
|
|
74
74
|
/**
|
|
75
75
|
* Get an entity with all its relationships and related entities.
|
|
76
|
-
*
|
|
76
|
+
* Uses a single JOIN query instead of N+1 individual queries.
|
|
77
77
|
*/
|
|
78
78
|
queryEntityGraph(type: string, name: string): GraphQueryResult | null;
|
|
79
79
|
/**
|
|
80
80
|
* Find entities connected to a given entity within N hops.
|
|
81
|
+
* Uses a recursive CTE for efficient graph traversal in a single query.
|
|
81
82
|
*/
|
|
82
83
|
traverseGraph(entityId: number, maxDepth?: number): Entity[];
|
|
83
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../src/memory/knowledge-graph.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,EAAE,MAAM;IAkB1B;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAkDtE;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUpD;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUxC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,EAAE;IAQ7D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,EAAE;IAQ3D;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmBjC;;;OAGG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAY,GACrB,YAAY;IA8Cf;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAclD;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASvC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../src/memory/knowledge-graph.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,EAAE,MAAM;IAkB1B;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAkDtE;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUpD;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUxC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,EAAE;IAQ7D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,EAAE;IAQ3D;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmBjC;;;OAGG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAY,GACrB,YAAY;IA8Cf;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAclD;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASvC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAmDrE;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,EAAE;IAyC/D;;OAEG;IACH,QAAQ,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;IAkBrF;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -181,50 +181,73 @@ export class KnowledgeGraph {
|
|
|
181
181
|
// ============================================================
|
|
182
182
|
/**
|
|
183
183
|
* Get an entity with all its relationships and related entities.
|
|
184
|
-
*
|
|
184
|
+
* Uses a single JOIN query instead of N+1 individual queries.
|
|
185
185
|
*/
|
|
186
186
|
queryEntityGraph(type, name) {
|
|
187
187
|
const entity = this.getEntity(type, name);
|
|
188
188
|
if (!entity || !entity.id)
|
|
189
189
|
return null;
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
190
|
+
// Single JOIN query to get all relationships with their related entities
|
|
191
|
+
const rows = this.db
|
|
192
|
+
.prepare(`
|
|
193
|
+
SELECT r.id as relId, r.relation, r.strength, r.source_id as sourceId, r.target_id as targetId,
|
|
194
|
+
e.id as entityId, e.type, e.name, e.description, e.first_seen as firstSeen,
|
|
195
|
+
e.last_seen as lastSeen, e.mention_count as mentionCount
|
|
196
|
+
FROM relationships r
|
|
197
|
+
JOIN entities e ON (
|
|
198
|
+
CASE WHEN r.source_id = ? THEN r.target_id ELSE r.source_id END = e.id
|
|
199
|
+
)
|
|
200
|
+
WHERE r.source_id = ? OR r.target_id = ?
|
|
201
|
+
`)
|
|
202
|
+
.all(entity.id, entity.id, entity.id);
|
|
203
|
+
const relationships = rows.map((row) => ({
|
|
204
|
+
relation: row.relation,
|
|
205
|
+
direction: (row.sourceId === entity.id ? 'outgoing' : 'incoming'),
|
|
206
|
+
relatedEntity: {
|
|
207
|
+
id: row.entityId,
|
|
208
|
+
type: row.type,
|
|
209
|
+
name: row.name,
|
|
210
|
+
description: row.description || undefined,
|
|
211
|
+
firstSeen: row.firstSeen,
|
|
212
|
+
lastSeen: row.lastSeen,
|
|
213
|
+
mentionCount: row.mentionCount,
|
|
214
|
+
},
|
|
215
|
+
strength: row.strength,
|
|
216
|
+
}));
|
|
205
217
|
return { entity, relationships };
|
|
206
218
|
}
|
|
207
219
|
/**
|
|
208
220
|
* Find entities connected to a given entity within N hops.
|
|
221
|
+
* Uses a recursive CTE for efficient graph traversal in a single query.
|
|
209
222
|
*/
|
|
210
223
|
traverseGraph(entityId, maxDepth = 2) {
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
const rows = this.db
|
|
225
|
+
.prepare(`
|
|
226
|
+
WITH RECURSIVE reachable(id, depth) AS (
|
|
227
|
+
SELECT ?, 0
|
|
228
|
+
UNION
|
|
229
|
+
SELECT
|
|
230
|
+
CASE WHEN r.source_id = reachable.id THEN r.target_id ELSE r.source_id END,
|
|
231
|
+
reachable.depth + 1
|
|
232
|
+
FROM reachable
|
|
233
|
+
JOIN relationships r ON (r.source_id = reachable.id OR r.target_id = reachable.id)
|
|
234
|
+
WHERE reachable.depth < ?
|
|
235
|
+
)
|
|
236
|
+
SELECT DISTINCT e.id, e.type, e.name, e.description, e.first_seen as firstSeen,
|
|
237
|
+
e.last_seen as lastSeen, e.mention_count as mentionCount
|
|
238
|
+
FROM reachable
|
|
239
|
+
JOIN entities e ON e.id = reachable.id
|
|
240
|
+
`)
|
|
241
|
+
.all(entityId, maxDepth);
|
|
242
|
+
return rows.map((row) => ({
|
|
243
|
+
id: row.id,
|
|
244
|
+
type: row.type,
|
|
245
|
+
name: row.name,
|
|
246
|
+
description: row.description || undefined,
|
|
247
|
+
firstSeen: row.firstSeen,
|
|
248
|
+
lastSeen: row.lastSeen,
|
|
249
|
+
mentionCount: row.mentionCount,
|
|
250
|
+
}));
|
|
228
251
|
}
|
|
229
252
|
/**
|
|
230
253
|
* Get graph statistics.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/memory/knowledge-graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/memory/knowledge-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,9 +47,22 @@ export declare class PolicyGate {
|
|
|
47
47
|
*/
|
|
48
48
|
private checkRule;
|
|
49
49
|
/**
|
|
50
|
-
* Extract structured rules from policy
|
|
50
|
+
* Extract structured rules from policy content.
|
|
51
|
+
* Supports two formats:
|
|
52
|
+
* 1. Structured YAML/JSON rules block (preferred, extensible):
|
|
53
|
+
* ```rules
|
|
54
|
+
* - title: "Rule name"
|
|
55
|
+
* keywords: [keyword1, keyword2]
|
|
56
|
+
* antiPatterns: [pattern1, pattern2]
|
|
57
|
+
* ```
|
|
58
|
+
* 2. Legacy markdown numbered rules with bold titles (auto-extracted)
|
|
51
59
|
*/
|
|
52
60
|
private extractRules;
|
|
61
|
+
/**
|
|
62
|
+
* Parse structured YAML-like rules from a ```rules block.
|
|
63
|
+
* Format: lines starting with "- title:" followed by " keywords:" and " antiPatterns:"
|
|
64
|
+
*/
|
|
65
|
+
private parseStructuredRules;
|
|
53
66
|
/**
|
|
54
67
|
* Get the audit trail for a policy or all policies.
|
|
55
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-gate.d.ts","sourceRoot":"","sources":["../../src/policies/policy-gate.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE;CAKzD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,GAAG,CAAgC;IAE3C,OAAO,KAAK,MAAM,GAKjB;IAED,OAAO,KAAK,EAAE,GAKb;IAED;;;OAGG;IACG,gBAAgB,CAAC,CAAC,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,KAAK,GAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAqB,GACjE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"policy-gate.d.ts","sourceRoot":"","sources":["../../src/policies/policy-gate.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE;CAKzD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,GAAG,CAAgC;IAE3C,OAAO,KAAK,MAAM,GAKjB;IAED,OAAO,KAAK,EAAE,GAKb;IAED;;;OAGG;IACG,gBAAgB,CAAC,CAAC,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,KAAK,GAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAqB,GACjE,OAAO,CAAC,CAAC,CAAC;IAiEb;;OAEG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAqB,GACjE,OAAO,CAAC,UAAU,CAAC;IAuBtB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAuBjB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAyFpB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACG,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAG/F;AAID,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|