@noyrax/5d-database-plugin 0.1.14-beta.1 → 0.1.14-beta.3

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.
@@ -34,5 +34,10 @@ export declare class GapAnalysisTool {
34
34
  * Generates recommendations based on gaps.
35
35
  */
36
36
  private generateRecommendations;
37
+ /**
38
+ * Fallback: Direct database queries when buildArchitecturalView returns empty.
39
+ * This handles cases where pluginId might not match or data structure differs.
40
+ */
41
+ private fallbackDirectQuery;
37
42
  }
38
43
  //# sourceMappingURL=gap-analysis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gap-analysis.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/gap-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM;IAOjF;;;;;OAKG;IACU,OAAO,CAAC,IAAI,EAAE;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IA+EnB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAuClC"}
1
+ {"version":3,"file":"gap-analysis.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/gap-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM;IAOjF;;;;;OAKG;IACU,OAAO,CAAC,IAAI,EAAE;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IAsHnB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwC/B;;;OAGG;YACW,mBAAmB;CAkGpC"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.GapAnalysisTool = void 0;
4
37
  const cross_dimension_api_1 = require("../../api/cross-dimension-api");
@@ -24,7 +57,46 @@ class GapAnalysisTool {
24
57
  const minDeps = args.minDependencies || 5;
25
58
  const limit = args.limit || 50;
26
59
  // Build architectural view (combines X, W, Z dimensions)
27
- const architecturalView = await this.crossDimensionApi.buildArchitecturalView(args.pluginId);
60
+ let architecturalView;
61
+ try {
62
+ architecturalView = await this.crossDimensionApi.buildArchitecturalView(args.pluginId);
63
+ }
64
+ catch (error) {
65
+ console.error(`[GapAnalysisTool] Failed to build architectural view: ${error?.message || String(error)}`);
66
+ // Return empty result with error info
67
+ return JSON.stringify({
68
+ summary: {
69
+ min_dependencies_threshold: minDeps,
70
+ analysis_date: new Date().toISOString(),
71
+ statistics: {
72
+ total_modules_analyzed: 0,
73
+ modules_with_many_deps: 0,
74
+ modules_without_adrs: 0,
75
+ modules_with_few_adrs: 0,
76
+ well_documented_modules: 0,
77
+ avg_dependencies: 0,
78
+ avg_adrs: 0
79
+ },
80
+ auto_generated_adrs: 0,
81
+ error: `Failed to build architectural view: ${error?.message || String(error)}`
82
+ },
83
+ gaps: {
84
+ without_adrs: [],
85
+ with_few_adrs: [],
86
+ well_documented: []
87
+ },
88
+ generated_adrs: [],
89
+ recommendations: [
90
+ `❌ Gap-Analyse fehlgeschlagen: ${error?.message || String(error)}`,
91
+ 'Prüfe ob Datenbanken existieren und Ingestion ausgeführt wurde.',
92
+ 'Führe `workflow/generate_and_ingest` aus, um Datenbanken zu aktualisieren.'
93
+ ]
94
+ }, null, 2);
95
+ }
96
+ // Fallback: If architectural view is empty, try direct database queries
97
+ if (architecturalView.length === 0) {
98
+ return await this.fallbackDirectQuery(args.pluginId, minDeps, limit);
99
+ }
28
100
  // Analyze gaps
29
101
  const gaps = architecturalView
30
102
  .filter(view => view.dependencies.length >= minDeps)
@@ -128,6 +200,87 @@ class GapAnalysisTool {
128
200
  }
129
201
  return recommendations;
130
202
  }
203
+ /**
204
+ * Fallback: Direct database queries when buildArchitecturalView returns empty.
205
+ * This handles cases where pluginId might not match or data structure differs.
206
+ */
207
+ async fallbackDirectQuery(pluginId, minDeps, limit) {
208
+ const moduleDb = await this.dbManager.getDatabase('X');
209
+ const depDb = await this.dbManager.getDatabase('Z');
210
+ const adrDb = await this.dbManager.getDatabase('W');
211
+ const { ModuleRepository } = await Promise.resolve().then(() => __importStar(require('../../repositories/module-repository')));
212
+ const { DependencyRepository } = await Promise.resolve().then(() => __importStar(require('../../repositories/dependency-repository')));
213
+ const { AdrRepository } = await Promise.resolve().then(() => __importStar(require('../../repositories/adr-repository')));
214
+ const moduleRepo = new ModuleRepository(moduleDb);
215
+ const depRepo = new DependencyRepository(depDb);
216
+ const adrRepo = new AdrRepository(adrDb);
217
+ // Get all modules
218
+ const modules = await moduleRepo.getAll(pluginId);
219
+ // Get dependency counts per module
220
+ const depCounts = new Map();
221
+ const allDeps = await depRepo.getAll(pluginId);
222
+ for (const dep of allDeps) {
223
+ const count = depCounts.get(dep.from_module) || 0;
224
+ depCounts.set(dep.from_module, count + 1);
225
+ }
226
+ // Build gaps
227
+ const gaps = [];
228
+ for (const module of modules) {
229
+ const depCount = depCounts.get(module.file_path) || 0;
230
+ if (depCount >= minDeps) {
231
+ const adrs = await adrRepo.findByFilePath(module.file_path, pluginId);
232
+ gaps.push({
233
+ module: {
234
+ file_path: module.file_path,
235
+ content_hash: module.content_hash
236
+ },
237
+ dependency_count: depCount,
238
+ adr_count: adrs.length,
239
+ adr_numbers: adrs.map(adr => adr.adr_number),
240
+ gap_score: this.calculateGapScore(depCount, adrs.length),
241
+ has_adrs: adrs.length > 0
242
+ });
243
+ }
244
+ }
245
+ // Sort by gap score
246
+ gaps.sort((a, b) => b.gap_score - a.gap_score);
247
+ const limitedGaps = gaps.slice(0, limit);
248
+ // Separate into categories
249
+ const withoutAdrs = limitedGaps.filter(g => !g.has_adrs);
250
+ const withFewAdrs = limitedGaps.filter(g => g.has_adrs && g.adr_count < 2);
251
+ const wellDocumented = limitedGaps.filter(g => g.has_adrs && g.adr_count >= 2);
252
+ // Calculate statistics
253
+ const stats = {
254
+ total_modules_analyzed: modules.length,
255
+ modules_with_many_deps: limitedGaps.length,
256
+ modules_without_adrs: withoutAdrs.length,
257
+ modules_with_few_adrs: withFewAdrs.length,
258
+ well_documented_modules: wellDocumented.length,
259
+ avg_dependencies: limitedGaps.length > 0
260
+ ? Math.round(limitedGaps.reduce((sum, g) => sum + g.dependency_count, 0) / limitedGaps.length)
261
+ : 0,
262
+ avg_adrs: limitedGaps.length > 0 && limitedGaps.filter(g => g.has_adrs).length > 0
263
+ ? Math.round(limitedGaps.filter(g => g.has_adrs).reduce((sum, g) => sum + g.adr_count, 0) / limitedGaps.filter(g => g.has_adrs).length)
264
+ : 0
265
+ };
266
+ return JSON.stringify({
267
+ summary: {
268
+ min_dependencies_threshold: minDeps,
269
+ analysis_date: new Date().toISOString(),
270
+ statistics: stats,
271
+ auto_generated_adrs: 0,
272
+ fallback_used: true,
273
+ note: 'Fallback direct database queries used (buildArchitecturalView returned empty)'
274
+ },
275
+ gaps: {
276
+ without_adrs: withoutAdrs,
277
+ with_few_adrs: withFewAdrs,
278
+ well_documented: wellDocumented
279
+ },
280
+ generated_adrs: [],
281
+ recommendations: this.generateRecommendations(withoutAdrs, withFewAdrs, 0)
282
+ }, null, 2);
283
+ }
131
284
  }
132
285
  exports.GapAnalysisTool = GapAnalysisTool;
133
286
  //# sourceMappingURL=gap-analysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gap-analysis.js","sourceRoot":"","sources":["../../../src/mcp/tools/gap-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gap-analysis.js","sourceRoot":"","sources":["../../../src/mcp/tools/gap-analysis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uEAAkE;AAElE,mDAAmD;AAGnD;;;GAGG;AACH,MAAa,eAAe;IAMxB,YAAY,SAAyB,EAAE,QAAkB,EAAE,aAAsB;QAC7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,uCAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,IAKpB;QACG,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE/B,yDAAyD;QACzD,IAAI,iBAAiB,CAAC;QACtB,IAAI,CAAC;YACD,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,yDAAyD,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,sCAAsC;YACtC,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,OAAO,EAAE;oBACL,0BAA0B,EAAE,OAAO;oBACnC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACvC,UAAU,EAAE;wBACR,sBAAsB,EAAE,CAAC;wBACzB,sBAAsB,EAAE,CAAC;wBACzB,oBAAoB,EAAE,CAAC;wBACvB,qBAAqB,EAAE,CAAC;wBACxB,uBAAuB,EAAE,CAAC;wBAC1B,gBAAgB,EAAE,CAAC;wBACnB,QAAQ,EAAE,CAAC;qBACd;oBACD,mBAAmB,EAAE,CAAC;oBACtB,KAAK,EAAE,uCAAuC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;iBAClF;gBACD,IAAI,EAAE;oBACF,YAAY,EAAE,EAAE;oBAChB,aAAa,EAAE,EAAE;oBACjB,eAAe,EAAE,EAAE;iBACtB;gBACD,cAAc,EAAE,EAAE;gBAClB,eAAe,EAAE;oBACb,iCAAiC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;oBAClE,iEAAiE;oBACjE,4EAA4E;iBAC/E;aACJ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC;QAED,wEAAwE;QACxE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,eAAe;QACf,MAAM,IAAI,GAAG,iBAAiB;aACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC;aACnD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACV,MAAM,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACzC;YACD,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YAC1C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7E,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;SACjC,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,0BAA0B;aACpE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAErB,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAExE,uBAAuB;QACvB,MAAM,KAAK,GAAG;YACV,sBAAsB,EAAE,iBAAiB,CAAC,MAAM;YAChD,sBAAsB,EAAE,IAAI,CAAC,MAAM;YACnC,oBAAoB,EAAE,WAAW,CAAC,MAAM;YACxC,qBAAqB,EAAE,WAAW,CAAC,MAAM;YACzC,uBAAuB,EAAE,cAAc,CAAC,MAAM;YAC9C,gBAAgB,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChF,CAAC,CAAC,CAAC;YACP,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAChE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACzH,CAAC,CAAC,CAAC;SACV,CAAC;QAEF,kCAAkC;QAClC,IAAI,aAAa,GAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,gCAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7F,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;oBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;oBAC1C,MAAM,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1C,aAAa,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE;gBACL,0BAA0B,EAAE,OAAO;gBACnC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvC,UAAU,EAAE,KAAK;gBACjB,mBAAmB,EAAE,aAAa,CAAC,MAAM;aAC5C;YACD,IAAI,EAAE;gBACF,YAAY,EAAE,WAAW;gBACzB,aAAa,EAAE,WAAW;gBAC1B,eAAe,EAAE,cAAc;aAClC;YACD,cAAc,EAAE,aAAa;YAC7B,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC;SAChG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,eAAuB,EAAE,QAAgB;QAC/D,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC3B,WAAkG,EAClG,WAAqH,EACrH,iBAAyB,CAAC;QAE1B,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAChB,MAAM,WAAW,CAAC,MAAM,oEAAoE,CAC/F,CAAC;YACF,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC3C,eAAe,CAAC,IAAI,CAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,gBAAgB,6BAA6B,GAAG,CAAC,SAAS,GAAG,CACjH,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAChB,OAAO,WAAW,CAAC,MAAM,sEAAsE,CAClG,CAAC;YACF,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC3C,eAAe,CAAC,IAAI,CAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,gBAAgB,kBAAkB,GAAG,CAAC,SAAS,UAAU,CAC7G,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACrB,eAAe,CAAC,IAAI,CAAC,OAAO,cAAc,uCAAuC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC7B,QAAgB,EAChB,OAAe,EACf,KAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sCAAsC,GAAC,CAAC;QAClF,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,0CAA0C,GAAC,CAAC;QAC1F,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,mCAAmC,GAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzC,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElD,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,aAAa;QACb,MAAM,IAAI,GAOL,EAAE,CAAC;QAER,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,CAAC;oBACN,MAAM,EAAE;wBACJ,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;qBACpC;oBACD,gBAAgB,EAAE,QAAQ;oBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM;oBACtB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;oBAC5C,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;oBACxD,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;iBAC5B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEzC,2BAA2B;QAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAE/E,uBAAuB;QACvB,MAAM,KAAK,GAAG;YACV,sBAAsB,EAAE,OAAO,CAAC,MAAM;YACtC,sBAAsB,EAAE,WAAW,CAAC,MAAM;YAC1C,oBAAoB,EAAE,WAAW,CAAC,MAAM;YACxC,qBAAqB,EAAE,WAAW,CAAC,MAAM;YACzC,uBAAuB,EAAE,cAAc,CAAC,MAAM;YAC9C,gBAAgB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC9F,CAAC,CAAC,CAAC;YACP,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC9E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACvI,CAAC,CAAC,CAAC;SACV,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE;gBACL,0BAA0B,EAAE,OAAO;gBACnC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvC,UAAU,EAAE,KAAK;gBACjB,mBAAmB,EAAE,CAAC;gBACtB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,+EAA+E;aACxF;YACD,IAAI,EAAE;gBACF,YAAY,EAAE,WAAW;gBACzB,aAAa,EAAE,WAAW;gBAC1B,eAAe,EAAE,cAAc;aAClC;YACD,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;SAC7E,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;CACJ;AA1SD,0CA0SC"}
@@ -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,CA6BjB"}
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
- const embeddingGenerator = new embedding_generator_1.EmbeddingGenerator();
13
- const semanticSearchApi = new semantic_search_api_1.SemanticSearchApi(dbManager, embeddingGenerator);
14
- const contextBuilder = new context_builder_1.ContextBuilder(dbManager, idMapper);
15
- // 1. Semantic Search
16
- const results = await semanticSearchApi.search(args.query, args.pluginId, {
17
- limit: args.limit || 10
18
- });
19
- // 2. Deterministic Context Builder
20
- const context = await contextBuilder.buildContext(results.map(r => r.entityRef), args.pluginId);
21
- // 3. Return structured JSON (no AI generation!)
22
- return JSON.stringify({
23
- query: args.query,
24
- results: results.map(r => ({
25
- dimension: r.dimension,
26
- entityId: r.entityId,
27
- externalId: r.externalId,
28
- score: r.score,
29
- vectorScore: r.vectorScore,
30
- importanceScore: r.importanceScore
31
- })),
32
- context
33
- }, null, 2);
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,4DAiCC;AAzCD,uEAAkE;AAClE,+DAA2D;AAC3D,6EAAyE;AAEzE;;;GAGG;AACI,KAAK,UAAU,wBAAwB,CAC1C,IAAyD,EACzD,SAAyB,EACzB,QAAkB;IAElB,MAAM,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;IACpD,MAAM,iBAAiB,GAAG,IAAI,uCAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE/D,qBAAqB;IACrB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;QACtE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;KAC1B,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,CAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAC7B,IAAI,CAAC,QAAQ,CAChB,CAAC;IAEF,gDAAgD;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;SACrC,CAAC,CAAC;QACH,OAAO;KACV,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChB,CAAC"}
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.1",
5
+ "version": "0.1.14-beta.3",
6
6
  "publisher": "noyrax",
7
7
  "license": "MIT",
8
8
  "repository": {