@noyrax/5d-database-plugin 0.1.14-beta.1 → 0.1.14-beta.2
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":"semantic-discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/semantic-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACzD,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"semantic-discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/semantic-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACzD,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,MAAM,CAAC,CA0EjB"}
|
|
@@ -9,27 +9,75 @@ const embedding_generator_1 = require("../../embedding/embedding-generator");
|
|
|
9
9
|
* Performs semantic search and returns structured context.
|
|
10
10
|
*/
|
|
11
11
|
async function executeSemanticDiscovery(args, dbManager, idMapper) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
12
|
+
try {
|
|
13
|
+
const embeddingGenerator = new embedding_generator_1.EmbeddingGenerator();
|
|
14
|
+
const semanticSearchApi = new semantic_search_api_1.SemanticSearchApi(dbManager, embeddingGenerator);
|
|
15
|
+
const contextBuilder = new context_builder_1.ContextBuilder(dbManager, idMapper);
|
|
16
|
+
// 1. Semantic Search
|
|
17
|
+
let results;
|
|
18
|
+
try {
|
|
19
|
+
results = await semanticSearchApi.search(args.query, args.pluginId, {
|
|
20
|
+
limit: args.limit || 10
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (searchError) {
|
|
24
|
+
// If semantic search fails, return empty results with error info
|
|
25
|
+
const errorMsg = searchError?.message || String(searchError);
|
|
26
|
+
return JSON.stringify({
|
|
27
|
+
query: args.query,
|
|
28
|
+
results: [],
|
|
29
|
+
context: {},
|
|
30
|
+
error: `Semantic search failed: ${errorMsg}`,
|
|
31
|
+
fallback: 'Semantic search unavailable, returning empty results'
|
|
32
|
+
}, null, 2);
|
|
33
|
+
}
|
|
34
|
+
// 2. Deterministic Context Builder
|
|
35
|
+
let context;
|
|
36
|
+
try {
|
|
37
|
+
context = await contextBuilder.buildContext(results.map(r => r.entityRef), args.pluginId);
|
|
38
|
+
}
|
|
39
|
+
catch (contextError) {
|
|
40
|
+
// If context building fails, return results without context
|
|
41
|
+
const errorMsg = contextError?.message || String(contextError);
|
|
42
|
+
return JSON.stringify({
|
|
43
|
+
query: args.query,
|
|
44
|
+
results: results.map(r => ({
|
|
45
|
+
dimension: r.dimension,
|
|
46
|
+
entityId: r.entityId,
|
|
47
|
+
externalId: r.externalId,
|
|
48
|
+
score: r.score,
|
|
49
|
+
vectorScore: r.vectorScore,
|
|
50
|
+
importanceScore: r.importanceScore
|
|
51
|
+
})),
|
|
52
|
+
context: {},
|
|
53
|
+
warning: `Context building failed: ${errorMsg}`
|
|
54
|
+
}, null, 2);
|
|
55
|
+
}
|
|
56
|
+
// 3. Return structured JSON (no AI generation!)
|
|
57
|
+
return JSON.stringify({
|
|
58
|
+
query: args.query,
|
|
59
|
+
results: results.map(r => ({
|
|
60
|
+
dimension: r.dimension,
|
|
61
|
+
entityId: r.entityId,
|
|
62
|
+
externalId: r.externalId,
|
|
63
|
+
score: r.score,
|
|
64
|
+
vectorScore: r.vectorScore,
|
|
65
|
+
importanceScore: r.importanceScore
|
|
66
|
+
})),
|
|
67
|
+
context
|
|
68
|
+
}, null, 2);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
// Catch-all error handler - ensure we always return valid JSON
|
|
72
|
+
const errorMsg = error?.message || String(error);
|
|
73
|
+
const errorStack = error?.stack ? String(error.stack).substring(0, 500) : undefined;
|
|
74
|
+
return JSON.stringify({
|
|
75
|
+
query: args.query,
|
|
76
|
+
results: [],
|
|
77
|
+
context: {},
|
|
78
|
+
error: `Semantic discovery failed: ${errorMsg}`,
|
|
79
|
+
stack: errorStack
|
|
80
|
+
}, null, 2);
|
|
81
|
+
}
|
|
34
82
|
}
|
|
35
83
|
//# sourceMappingURL=semantic-discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-discovery.js","sourceRoot":"","sources":["../../../src/mcp/tools/semantic-discovery.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"semantic-discovery.js","sourceRoot":"","sources":["../../../src/mcp/tools/semantic-discovery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@noyrax/5d-database-plugin",
|
|
3
3
|
"displayName": "5D Database Plugin",
|
|
4
4
|
"description": "5-dimensional database layer for documentation system with semantic brain integration. Provides SQLite databases for modules, symbols, dependencies, ADRs, and changes. Includes semantic search and MCP server integration for AI agents.",
|
|
5
|
-
"version": "0.1.14-beta.
|
|
5
|
+
"version": "0.1.14-beta.2",
|
|
6
6
|
"publisher": "noyrax",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|