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

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.
Files changed (121) hide show
  1. package/out/api/adr-api.d.ts +0 -6
  2. package/out/api/adr-api.d.ts.map +1 -1
  3. package/out/api/adr-api.js +14 -49
  4. package/out/api/adr-api.js.map +1 -1
  5. package/out/api/bootstrap-api.d.ts +4 -1
  6. package/out/api/bootstrap-api.d.ts.map +1 -1
  7. package/out/api/bootstrap-api.js +27 -4
  8. package/out/api/bootstrap-api.js.map +1 -1
  9. package/out/api/context-builder.d.ts.map +1 -1
  10. package/out/api/context-builder.js +21 -5
  11. package/out/api/context-builder.js.map +1 -1
  12. package/out/api/evidence-grader.d.ts +83 -0
  13. package/out/api/evidence-grader.d.ts.map +1 -0
  14. package/out/api/evidence-grader.js +161 -0
  15. package/out/api/evidence-grader.js.map +1 -0
  16. package/out/api/index.d.ts +5 -0
  17. package/out/api/index.d.ts.map +1 -1
  18. package/out/api/index.js +11 -1
  19. package/out/api/index.js.map +1 -1
  20. package/out/api/learning-path-api.d.ts +3 -0
  21. package/out/api/learning-path-api.d.ts.map +1 -1
  22. package/out/api/learning-path-api.js +15 -2
  23. package/out/api/learning-path-api.js.map +1 -1
  24. package/out/api/module-api.d.ts +0 -1
  25. package/out/api/module-api.d.ts.map +1 -1
  26. package/out/api/module-api.js +4 -38
  27. package/out/api/module-api.js.map +1 -1
  28. package/out/api/self-explanation-api.d.ts +11 -1
  29. package/out/api/self-explanation-api.d.ts.map +1 -1
  30. package/out/api/self-explanation-api.js +285 -19
  31. package/out/api/self-explanation-api.js.map +1 -1
  32. package/out/api/semantic-search-api.d.ts +3 -0
  33. package/out/api/semantic-search-api.d.ts.map +1 -1
  34. package/out/api/semantic-search-api.js +39 -2
  35. package/out/api/semantic-search-api.js.map +1 -1
  36. package/out/api/source-access-contract-api.d.ts +60 -0
  37. package/out/api/source-access-contract-api.d.ts.map +1 -0
  38. package/out/api/source-access-contract-api.js +231 -0
  39. package/out/api/source-access-contract-api.js.map +1 -0
  40. package/out/api/source-snippet-api.d.ts +58 -0
  41. package/out/api/source-snippet-api.d.ts.map +1 -0
  42. package/out/api/source-snippet-api.js +187 -0
  43. package/out/api/source-snippet-api.js.map +1 -0
  44. package/out/api/vector-backend-status-api.d.ts +68 -0
  45. package/out/api/vector-backend-status-api.d.ts.map +1 -0
  46. package/out/api/vector-backend-status-api.js +241 -0
  47. package/out/api/vector-backend-status-api.js.map +1 -0
  48. package/out/cli/ingest-cli.js +44 -5
  49. package/out/cli/ingest-cli.js.map +1 -1
  50. package/out/cli/tool-cli.js +1 -1
  51. package/out/cli/tool-cli.js.map +1 -1
  52. package/out/core/migration-manager.d.ts.map +1 -1
  53. package/out/core/migration-manager.js +61 -32
  54. package/out/core/migration-manager.js.map +1 -1
  55. package/out/core/multi-db-manager.d.ts +26 -0
  56. package/out/core/multi-db-manager.d.ts.map +1 -1
  57. package/out/core/multi-db-manager.js +143 -2
  58. package/out/core/multi-db-manager.js.map +1 -1
  59. package/out/core/path-normalizer.d.ts +46 -0
  60. package/out/core/path-normalizer.d.ts.map +1 -0
  61. package/out/core/path-normalizer.js +152 -0
  62. package/out/core/path-normalizer.js.map +1 -0
  63. package/out/ingestors/adr-ingestor.d.ts.map +1 -1
  64. package/out/ingestors/adr-ingestor.js +7 -8
  65. package/out/ingestors/adr-ingestor.js.map +1 -1
  66. package/out/ingestors/module-ingestor.d.ts.map +1 -1
  67. package/out/ingestors/module-ingestor.js +17 -0
  68. package/out/ingestors/module-ingestor.js.map +1 -1
  69. package/out/ingestors/symbol-ingestor.d.ts.map +1 -1
  70. package/out/ingestors/symbol-ingestor.js +24 -2
  71. package/out/ingestors/symbol-ingestor.js.map +1 -1
  72. package/out/mcp/tools/gap-analysis.d.ts +16 -2
  73. package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
  74. package/out/mcp/tools/gap-analysis.js +177 -31
  75. package/out/mcp/tools/gap-analysis.js.map +1 -1
  76. package/out/mcp/tools/learning-path.d.ts.map +1 -1
  77. package/out/mcp/tools/learning-path.js +19 -5
  78. package/out/mcp/tools/learning-path.js.map +1 -1
  79. package/out/mcp/tools/semantic-discovery.d.ts.map +1 -1
  80. package/out/mcp/tools/semantic-discovery.js +44 -4
  81. package/out/mcp/tools/semantic-discovery.js.map +1 -1
  82. package/out/mcp/tools/source-access-contract.d.ts +26 -0
  83. package/out/mcp/tools/source-access-contract.d.ts.map +1 -0
  84. package/out/mcp/tools/source-access-contract.js +45 -0
  85. package/out/mcp/tools/source-access-contract.js.map +1 -0
  86. package/out/mcp/tools/source-snippet.d.ts +71 -0
  87. package/out/mcp/tools/source-snippet.d.ts.map +1 -0
  88. package/out/mcp/tools/source-snippet.js +82 -0
  89. package/out/mcp/tools/source-snippet.js.map +1 -0
  90. package/out/models/action-hint.d.ts +36 -0
  91. package/out/models/action-hint.d.ts.map +1 -0
  92. package/out/models/action-hint.js +38 -0
  93. package/out/models/action-hint.js.map +1 -0
  94. package/out/models/evidence.d.ts +68 -0
  95. package/out/models/evidence.d.ts.map +1 -0
  96. package/out/models/evidence.js +91 -0
  97. package/out/models/evidence.js.map +1 -0
  98. package/out/models/module.d.ts +2 -0
  99. package/out/models/module.d.ts.map +1 -1
  100. package/out/models/reason-codes.d.ts +52 -0
  101. package/out/models/reason-codes.d.ts.map +1 -0
  102. package/out/models/reason-codes.js +83 -0
  103. package/out/models/reason-codes.js.map +1 -0
  104. package/out/models/symbol.d.ts +6 -0
  105. package/out/models/symbol.d.ts.map +1 -1
  106. package/out/repositories/module-repository.d.ts.map +1 -1
  107. package/out/repositories/module-repository.js +9 -3
  108. package/out/repositories/module-repository.js.map +1 -1
  109. package/out/repositories/symbol-repository.d.ts.map +1 -1
  110. package/out/repositories/symbol-repository.js +22 -4
  111. package/out/repositories/symbol-repository.js.map +1 -1
  112. package/out/services/cross-dimension-linker.d.ts +0 -5
  113. package/out/services/cross-dimension-linker.d.ts.map +1 -1
  114. package/out/services/cross-dimension-linker.js +2 -35
  115. package/out/services/cross-dimension-linker.js.map +1 -1
  116. package/package.json +196 -196
  117. package/schemas/sqlite/001_add_source_code_spans_modules.sql +7 -0
  118. package/schemas/sqlite/001_z_add_source_code_spans_modules.sql +13 -0
  119. package/schemas/sqlite/002_add_source_code_spans_symbols.sql +15 -0
  120. package/schemas/sqlite/002_z_add_source_code_spans_symbols.sql +21 -0
  121. package/schemas/sqlite/006_add_source_access_config.sql +33 -0
@@ -1,12 +1,49 @@
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.SelfExplanationApi = void 0;
4
37
  const navigation_repository_1 = require("../repositories/navigation-repository");
38
+ const embedding_repository_1 = require("../repositories/embedding-repository");
5
39
  const adr_api_1 = require("./adr-api");
6
40
  const module_api_1 = require("./module-api");
7
41
  const symbol_api_1 = require("./symbol-api");
8
42
  const dependency_api_1 = require("./dependency-api");
9
43
  const change_api_1 = require("./change-api");
44
+ const evidence_grader_1 = require("./evidence-grader");
45
+ const fs = __importStar(require("node:fs"));
46
+ const path = __importStar(require("node:path"));
10
47
  /**
11
48
  * API for system self-explanation.
12
49
  * Provides meta-information about the system WITHOUT AI generation.
@@ -19,6 +56,7 @@ class SelfExplanationApi {
19
56
  this.symbolApi = new symbol_api_1.SymbolApi(dbManager);
20
57
  this.dependencyApi = new dependency_api_1.DependencyApi(dbManager);
21
58
  this.changeApi = new change_api_1.ChangeApi(dbManager);
59
+ this.evidenceGrader = new evidence_grader_1.EvidenceGrader();
22
60
  }
23
61
  /**
24
62
  * Gets system overview with statistics and entry points.
@@ -34,6 +72,29 @@ class SelfExplanationApi {
34
72
  const entryPoints = await this.getEntryPoints(pluginId);
35
73
  // Get architecture ADRs
36
74
  const architectureAdrs = await this.getArchitectureAdrs(pluginId);
75
+ // Create evidence: INFERRED from multiple DB queries
76
+ const evidence = this.evidenceGrader.gradeAsInferred([
77
+ {
78
+ type: 'DB_QUERY',
79
+ path: 'getAllModules'
80
+ },
81
+ {
82
+ type: 'DB_QUERY',
83
+ path: 'getAllSymbols'
84
+ },
85
+ {
86
+ type: 'DB_QUERY',
87
+ path: 'getAllDependencies'
88
+ },
89
+ {
90
+ type: 'DB_QUERY',
91
+ path: 'getAllAdrs'
92
+ },
93
+ {
94
+ type: 'DB_QUERY',
95
+ path: 'getAllChangeReports'
96
+ }
97
+ ], 'System overview derived from multiple database queries across all dimensions');
37
98
  return {
38
99
  total_modules: modules.length,
39
100
  total_symbols: symbols.length,
@@ -41,32 +102,111 @@ class SelfExplanationApi {
41
102
  total_adrs: adrs.length,
42
103
  total_change_reports: changeReports.length,
43
104
  entry_points: entryPoints,
44
- architecture_adrs: architectureAdrs
105
+ architecture_adrs: architectureAdrs,
106
+ evidence
45
107
  };
46
108
  }
47
109
  /**
48
110
  * Explains the system: what it is, how it works, entry points, and architecture ADRs.
111
+ * REQUIRED: Must NOT throw if DB files/tables are missing. If DB queries fail, treat as Mode A (No Data).
49
112
  */
50
113
  async explainSystem(pluginId) {
51
- // Get entry points
52
- const entryPoints = await this.getEntryPoints(pluginId);
53
- // Get architecture ADRs
54
- const architectureAdrs = await this.getArchitectureAdrs(pluginId);
55
- // Get dimension statistics
56
- const modules = await this.moduleApi.getAllModules(pluginId);
57
- const symbols = await this.symbolApi.getAllSymbols(pluginId);
58
- const dependencies = await this.dependencyApi.getAllDependencies(pluginId);
59
- const adrs = await this.adrApi.getAllAdrs(pluginId);
60
- const changeReports = await this.changeApi.getAllChangeReports(pluginId);
61
- // Determine suggested start
62
- let suggestedStart = 'Start with MultiDbManager (core module)';
63
- if (architectureAdrs.length > 0) {
64
- const firstAdr = architectureAdrs[0];
65
- suggestedStart = `Start with ${firstAdr.adr_number} (${firstAdr.title})`;
114
+ const workspaceRoot = this.dbManager.getWorkspaceRoot();
115
+ // DB-Robustheit: Wrap all DB queries in try/catch
116
+ let modules = [];
117
+ let symbols = [];
118
+ let dependencies = [];
119
+ let adrs = [];
120
+ let changeReports = [];
121
+ let entryPoints = [];
122
+ let architectureAdrs = [];
123
+ let embeddings = [];
124
+ let dbReady = true;
125
+ try {
126
+ // Try to load all data
127
+ entryPoints = await this.getEntryPoints(pluginId);
128
+ architectureAdrs = await this.getArchitectureAdrs(pluginId);
129
+ modules = await this.moduleApi.getAllModules(pluginId);
130
+ symbols = await this.symbolApi.getAllSymbols(pluginId);
131
+ dependencies = await this.dependencyApi.getAllDependencies(pluginId);
132
+ adrs = await this.adrApi.getAllAdrs(pluginId);
133
+ changeReports = await this.changeApi.getAllChangeReports(pluginId);
134
+ // Get V-Dimension (embeddings) count
135
+ const db = await this.dbManager.getDatabase('V');
136
+ const embeddingRepo = new embedding_repository_1.EmbeddingRepository(db);
137
+ embeddings = await embeddingRepo.getAll(pluginId);
138
+ }
139
+ catch (error) {
140
+ // DB error => treat as Mode A (No Data)
141
+ dbReady = false;
142
+ // Arrays already initialized to []
143
+ }
144
+ // Prüfung: Sind Daten vorhanden?
145
+ const hasData = dbReady && (modules.length > 0 || symbols.length > 0 || adrs.length > 0);
146
+ // System identifizieren (mit Daten für Fallbacks, aber auch ohne Daten möglich)
147
+ const systemInfo = await this.identifySystem(workspaceRoot, hasData ? modules : [], hasData ? entryPoints : [], hasData ? architectureAdrs : []);
148
+ // Self-Analysis-Detection: Prüfe ob System = "5D Database Plugin"
149
+ const isSelfAnalysis = systemInfo.name === '5D Database Plugin' ||
150
+ systemInfo.name === '@noyrax/5d-database-plugin' ||
151
+ systemInfo.name === 'noyrax-workspace';
152
+ // Dynamische Beschreibungen generieren
153
+ const whatAmI = `${systemInfo.name} - ${systemInfo.description}`;
154
+ let howDoIWork; // NUR System facts, NICHT Mechanismus
155
+ let suggestedStart;
156
+ if (hasData) {
157
+ // Mode B: Has Data - System facts (was ist in der Codebase)
158
+ howDoIWork = `This codebase contains ${modules.length} modules, ${symbols.length} symbols, ${dependencies.length} dependencies, ${adrs.length} ADRs, ${changeReports.length} change reports, and ${embeddings.length} embeddings.`;
159
+ // Zusätzliche Info basierend auf Entry Points oder ADRs
160
+ if (architectureAdrs.length > 0) {
161
+ howDoIWork += ` It has ${architectureAdrs.length} architecture decision records documenting key design choices.`;
162
+ }
163
+ if (entryPoints.length > 0) {
164
+ howDoIWork += ` Key entry points include ${entryPoints.slice(0, 3).map(ep => ep.external_id).join(', ')}.`;
165
+ }
166
+ // suggestedStart mit Priorisierung (Self-Analysis: MultiDbManager Fallback)
167
+ if (isSelfAnalysis && modules.some(m => m.file_path.includes('multi-db-manager'))) {
168
+ suggestedStart = 'Start with MultiDbManager (core module)';
169
+ }
170
+ else if (entryPoints.length > 0) {
171
+ suggestedStart = `Start with ${entryPoints[0].external_id} (${entryPoints[0].reason})`;
172
+ }
173
+ else if (architectureAdrs.length > 0) {
174
+ suggestedStart = `Start with ${architectureAdrs[0].adr_number} (${architectureAdrs[0].title})`;
175
+ }
176
+ else {
177
+ suggestedStart = 'Start exploring the codebase using semantic_discovery';
178
+ }
179
+ }
180
+ else {
181
+ // Mode A: No Data (First Run) - System facts (nichts vorhanden)
182
+ howDoIWork = `This system has not been analyzed yet. No modules, symbols, or ADRs are available.`;
183
+ suggestedStart = 'Start by initializing the system: Use workflow_ensure_ready (automatic) or workflow_full_cycle (complete workflow)';
66
184
  }
185
+ // Evidence basierend auf Source (FACT vs. INFERRED) mit sourcePath
186
+ let identificationEvidence;
187
+ if (systemInfo.evidenceGrade === 'FACT' && systemInfo.sourcePath) {
188
+ // Für FACT-Quellen: Verwende FILESYSTEM_READ mit tatsächlichem sourcePath
189
+ identificationEvidence = this.evidenceGrader.gradeAsFact([{
190
+ type: 'FILESYSTEM_READ',
191
+ path: systemInfo.sourcePath
192
+ }], `System identification from ${systemInfo.source}`);
193
+ }
194
+ else {
195
+ // Für INFERRED-Quellen: HEURISTIC type
196
+ identificationEvidence = this.evidenceGrader.gradeAsInferred([{
197
+ type: 'HEURISTIC',
198
+ path: 'system_identification'
199
+ }], `System identification inferred from ${systemInfo.source}`);
200
+ }
201
+ // Kombiniere Evidence (System-Identifikation + DB-Queries nur wenn dbReady)
202
+ const evidenceSources = [...identificationEvidence.sources];
203
+ if (dbReady) {
204
+ evidenceSources.push({ type: 'DB_QUERY', path: 'getAllModules' }, { type: 'DB_QUERY', path: 'getAllSymbols' }, { type: 'DB_QUERY', path: 'getAllDependencies' }, { type: 'DB_QUERY', path: 'getAllAdrs' }, { type: 'DB_QUERY', path: 'getAllChangeReports' }, { type: 'DB_QUERY', path: 'getEntryPoints' }, { type: 'DB_QUERY', path: 'getArchitectureAdrs' });
205
+ }
206
+ const combinedEvidence = this.evidenceGrader.gradeAsInferred(evidenceSources, 'System explanation combines filesystem reads and database queries');
67
207
  return {
68
- what_am_i: '5D Database Plugin - navigable code documentation system',
69
- how_do_i_work: '5 dimensions (X,Y,Z,W,T) store different views of code: Modules (X), Symbols (Y), Dependencies (Z), ADRs (W), and Changes (T). Each dimension provides a different perspective on the codebase, enabling cross-dimensional navigation and analysis.',
208
+ what_am_i: whatAmI, // Die Codebase (Name/Desc)
209
+ how_do_i_work: howDoIWork, // System facts (was ist in der Codebase), NICHT Mechanismus
70
210
  dimensions: [
71
211
  {
72
212
  id: 'X',
@@ -97,11 +237,18 @@ class SelfExplanationApi {
97
237
  name: 'Changes',
98
238
  description: 'Change history',
99
239
  entity_count: changeReports.length
240
+ },
241
+ {
242
+ id: 'V',
243
+ name: 'Embeddings',
244
+ description: 'Vector embeddings for semantic search',
245
+ entity_count: embeddings.length
100
246
  }
101
247
  ],
102
248
  entry_points: entryPoints,
103
249
  architecture_adrs: architectureAdrs,
104
- suggested_start: suggestedStart
250
+ suggested_start: suggestedStart,
251
+ evidence: combinedEvidence
105
252
  };
106
253
  }
107
254
  /**
@@ -148,6 +295,125 @@ class SelfExplanationApi {
148
295
  }));
149
296
  return architectureAdrs;
150
297
  }
298
+ /**
299
+ * Identifies the system by reading package.json, README.md, or inferring from data.
300
+ * Returns system name, description, source, evidence grade, and source path (for FACT sources).
301
+ */
302
+ async identifySystem(workspaceRoot, modules, entryPoints, architectureAdrs) {
303
+ // 1. Primär: Versuche package.json zu lesen
304
+ const packageJsonPath = path.join(workspaceRoot, 'package.json');
305
+ if (fs.existsSync(packageJsonPath)) {
306
+ try {
307
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
308
+ // displayName ist nur in VS Code Extensions vorhanden, nicht in Standard npm-Paketen
309
+ const name = packageJson.displayName || packageJson.name;
310
+ const description = packageJson.description;
311
+ if (name && description) {
312
+ return {
313
+ name,
314
+ description,
315
+ source: 'package.json',
316
+ evidenceGrade: 'FACT',
317
+ sourcePath: packageJsonPath
318
+ };
319
+ }
320
+ if (name) {
321
+ return {
322
+ name,
323
+ description: description || 'No description available',
324
+ source: 'package.json',
325
+ evidenceGrade: 'FACT',
326
+ sourcePath: packageJsonPath
327
+ };
328
+ }
329
+ }
330
+ catch {
331
+ // JSON parse error oder Zugriffsfehler → weiter zu Fallback
332
+ }
333
+ }
334
+ // 2. Fallback 1: Versuche README.md zu lesen (mit Encoding-Robustheit)
335
+ const readmePath = path.join(workspaceRoot, 'README.md');
336
+ if (fs.existsSync(readmePath)) {
337
+ try {
338
+ const stats = fs.statSync(readmePath);
339
+ // README zu groß (> 10 MB), skip
340
+ if (stats.size > 10 * 1024 * 1024) {
341
+ // Weiter zu Fallback
342
+ }
343
+ else {
344
+ const readmeContent = fs.readFileSync(readmePath, { encoding: 'utf8', flag: 'r' });
345
+ const lines = readmeContent.split('\n');
346
+ // Suche H1-Titel (erste Zeile mit # am Anfang, max. 20 Zeilen prüfen)
347
+ for (let i = 0; i < Math.min(lines.length, 20); i++) {
348
+ const line = lines[i].trim();
349
+ if (line.startsWith('# ')) {
350
+ const name = line.substring(2).trim();
351
+ // Nächste nicht-leere Zeile als Beschreibung (max. 10 Zeilen nach Titel)
352
+ let description = '';
353
+ for (let j = i + 1; j < Math.min(lines.length, i + 10); j++) {
354
+ const nextLine = lines[j].trim();
355
+ if (nextLine && !nextLine.startsWith('#')) {
356
+ description = nextLine;
357
+ break;
358
+ }
359
+ }
360
+ if (name) {
361
+ return {
362
+ name,
363
+ description: description || 'No description available',
364
+ source: 'readme',
365
+ evidenceGrade: 'FACT',
366
+ sourcePath: readmePath
367
+ };
368
+ }
369
+ }
370
+ }
371
+ }
372
+ }
373
+ catch {
374
+ // Encoding-Fehler oder Zugriffsfehler → weiter zu Fallback
375
+ }
376
+ }
377
+ // 3. Fallback 2: Basierend auf Daten (Entry Points oder ADRs)
378
+ if (entryPoints.length > 0) {
379
+ // Extrahiere häufigsten Pfad-Präfix aus Entry Points
380
+ const pathPrefixes = entryPoints
381
+ .map(ep => {
382
+ const parts = ep.external_id.split('/');
383
+ return parts.length > 1 ? parts[0] : null;
384
+ })
385
+ .filter(p => p !== null);
386
+ if (pathPrefixes.length > 0) {
387
+ // Zähle Häufigkeit
388
+ const prefixCounts = new Map();
389
+ pathPrefixes.forEach(p => {
390
+ prefixCounts.set(p, (prefixCounts.get(p) || 0) + 1);
391
+ });
392
+ // Wähle häufigsten Präfix
393
+ const mostCommonPrefix = Array.from(prefixCounts.entries())
394
+ .sort((a, b) => b[1] - a[1])[0][0];
395
+ const name = mostCommonPrefix || 'Codebase';
396
+ const description = architectureAdrs.length > 0
397
+ ? `System with ${modules.length} modules and ${architectureAdrs.length} architecture ADRs`
398
+ : `System with ${modules.length} modules`;
399
+ return {
400
+ name,
401
+ description,
402
+ source: 'data',
403
+ evidenceGrade: 'INFERRED',
404
+ sourcePath: undefined
405
+ };
406
+ }
407
+ }
408
+ // 4. Fallback 3: Generische Beschreibung
409
+ return {
410
+ name: 'Codebase',
411
+ description: `A codebase with ${modules.length} modules analyzed by the 5D Database Plugin`,
412
+ source: 'fallback',
413
+ evidenceGrade: 'INFERRED',
414
+ sourcePath: undefined
415
+ };
416
+ }
151
417
  }
152
418
  exports.SelfExplanationApi = SelfExplanationApi;
153
419
  //# sourceMappingURL=self-explanation-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"self-explanation-api.js","sourceRoot":"","sources":["../../src/api/self-explanation-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-explanation-api.js","sourceRoot":"","sources":["../../src/api/self-explanation-api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { MultiDbManager } from '../core/multi-db-manager';
2
2
  import { EmbeddingGenerator } from '../embedding/embedding-generator';
3
3
  import { EntityReference } from '../models/entity-reference';
4
+ import { Evidence } from '../models/evidence';
4
5
  /**
5
6
  * Semantic search result
6
7
  */
@@ -12,6 +13,7 @@ export interface SemanticSearchResult {
12
13
  vectorScore: number;
13
14
  importanceScore: number;
14
15
  entityRef: EntityReference;
16
+ evidence?: Evidence;
15
17
  }
16
18
  /**
17
19
  * Options for semantic search
@@ -27,6 +29,7 @@ export interface SemanticSearchOptions {
27
29
  export declare class SemanticSearchApi {
28
30
  private dbManager;
29
31
  private embeddingGenerator;
32
+ private evidenceGrader;
30
33
  private readonly vectorWeight;
31
34
  private readonly importanceWeight;
32
35
  constructor(dbManager: MultiDbManager, embeddingGenerator: EmbeddingGenerator);
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-search-api.d.ts","sourceRoot":"","sources":["../../src/api/semantic-search-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAItE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;gBAEpC,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IAK7E;;;;;;;OAOG;IACG,MAAM,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GACpC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAsClC;;;OAGG;YACW,eAAe;IA2C7B;;OAEG;YACW,wBAAwB;IAsEtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,0BAA0B;IA+DxC;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAsB3B"}
1
+ {"version":3,"file":"semantic-search-api.d.ts","sourceRoot":"","sources":["../../src/api/semantic-search-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAItE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAI9D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;gBAEpC,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IAM7E;;;;;;;OAOG;IACG,MAAM,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GACpC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAsClC;;;OAGG;YACW,eAAe;IA2C7B;;OAEG;YACW,wBAAwB;IA8FtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,0BAA0B;IAkFxC;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAsB3B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SemanticSearchApi = void 0;
4
4
  const embedding_repository_1 = require("../repositories/embedding-repository");
5
5
  const importance_repository_1 = require("../repositories/importance-repository");
6
+ const evidence_grader_1 = require("./evidence-grader");
6
7
  /**
7
8
  * API for semantic search over all dimensions using vector similarity.
8
9
  */
@@ -12,6 +13,7 @@ class SemanticSearchApi {
12
13
  this.importanceWeight = 0.3;
13
14
  this.dbManager = dbManager;
14
15
  this.embeddingGenerator = embeddingGenerator;
16
+ this.evidenceGrader = new evidence_grader_1.EvidenceGrader();
15
17
  }
16
18
  /**
17
19
  * Performs semantic search across all or specified dimensions.
@@ -103,6 +105,25 @@ class SemanticSearchApi {
103
105
  // Combine scores
104
106
  const combinedScore = this.vectorWeight * vectorScore + this.importanceWeight * importanceScore;
105
107
  if (combinedScore >= minScore) {
108
+ // Create evidence: INFERRED from multiple DB queries (embedding lookup, importance score, vector search)
109
+ const evidenceSources = [
110
+ {
111
+ type: 'DB_QUERY',
112
+ path: 'embedding_repository.getById',
113
+ id: embeddingId
114
+ },
115
+ {
116
+ type: 'DB_QUERY',
117
+ path: 'importance_repository.getAllByDimension',
118
+ id: dimension
119
+ },
120
+ {
121
+ type: 'DB_QUERY',
122
+ path: 'vector_database.search',
123
+ id: dimension
124
+ }
125
+ ];
126
+ const evidence = this.evidenceGrader.gradeAsInferred(evidenceSources, `Semantic search result derived from vector database search, embedding lookup, and importance scoring`);
106
127
  results.push({
107
128
  dimension,
108
129
  entityId: embedding.entity_id,
@@ -114,7 +135,8 @@ class SemanticSearchApi {
114
135
  dimension,
115
136
  entity_id: embedding.entity_id,
116
137
  external_id: embedding.external_id
117
- }
138
+ },
139
+ evidence
118
140
  });
119
141
  }
120
142
  }
@@ -162,6 +184,20 @@ class SemanticSearchApi {
162
184
  // Combine scores
163
185
  const combinedScore = this.vectorWeight * vectorScore + this.importanceWeight * importanceScore;
164
186
  if (combinedScore >= minScore) {
187
+ // Create evidence: INFERRED from multiple DB queries (embedding lookup, importance score, cosine similarity)
188
+ const evidenceSources = [
189
+ {
190
+ type: 'DB_QUERY',
191
+ path: 'embedding_repository.getAllByDimension',
192
+ id: dimension
193
+ },
194
+ {
195
+ type: 'DB_QUERY',
196
+ path: 'importance_repository.getAllByDimension',
197
+ id: dimension
198
+ }
199
+ ];
200
+ const evidence = this.evidenceGrader.gradeAsInferred(evidenceSources, `Semantic search result derived from cosine similarity calculation, embedding lookup, and importance scoring`);
165
201
  results.push({
166
202
  dimension,
167
203
  entityId: embedding.entity_id,
@@ -173,7 +209,8 @@ class SemanticSearchApi {
173
209
  dimension,
174
210
  entity_id: embedding.entity_id,
175
211
  external_id: embedding.external_id
176
- }
212
+ },
213
+ evidence
177
214
  });
178
215
  }
179
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-search-api.js","sourceRoot":"","sources":["../../src/api/semantic-search-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-search-api.js","sourceRoot":"","sources":["../../src/api/semantic-search-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { MultiDbManager } from '../core/multi-db-manager';
2
+ import { ReasonCode } from '../models/reason-codes';
3
+ import { Evidence } from '../models/evidence';
4
+ /**
5
+ * Source access contract.
6
+ * Determines whether source code is available and under what constraints.
7
+ */
8
+ export interface SourceAccessContract {
9
+ /** Status of source code access */
10
+ status: 'AVAILABLE' | 'UNAVAILABLE' | 'PARTIAL';
11
+ /** Type of resolver (how source code is accessed) */
12
+ resolver_type: 'FILESYSTEM' | 'GIT' | 'REMOTE' | 'SNAPSHOT' | null;
13
+ /** Workspace root path */
14
+ workspace_root: string | null;
15
+ /** Access constraints */
16
+ constraints: {
17
+ max_bytes_per_request: number;
18
+ max_lines_per_request: number;
19
+ max_concurrent_requests: number;
20
+ redactions: string[];
21
+ } | null;
22
+ /** Reason codes (when UNAVAILABLE/PARTIAL) */
23
+ reason_codes?: ReasonCode[];
24
+ /** When this contract was verified */
25
+ verified_at: string;
26
+ /** Evidence grade */
27
+ evidence_grade: 'DETERMINISTIC' | 'INFERRED';
28
+ /** Evidence information */
29
+ evidence: Evidence;
30
+ }
31
+ /**
32
+ * API for managing source access contract.
33
+ * Determines whether source code is available and provides runtime status.
34
+ */
35
+ export declare class SourceAccessContractApi {
36
+ private dbManager;
37
+ constructor(dbManager: MultiDbManager);
38
+ /**
39
+ * Get current source access contract.
40
+ * Deterministically checks if workspace root is accessible.
41
+ */
42
+ getContract(workspaceRoot?: string): Promise<SourceAccessContract>;
43
+ /**
44
+ * Initialize source access contract.
45
+ */
46
+ initializeContract(workspaceRoot: string): Promise<SourceAccessContract>;
47
+ /**
48
+ * Update source access contract.
49
+ */
50
+ private updateContract;
51
+ /**
52
+ * Helper method to execute a query and return a single row.
53
+ */
54
+ private queryOne;
55
+ /**
56
+ * Helper method to execute a query.
57
+ */
58
+ private execute;
59
+ }
60
+ //# sourceMappingURL=source-access-contract-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-access-contract-api.d.ts","sourceRoot":"","sources":["../../src/api/source-access-contract-api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAGlE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,mCAAmC;IACnC,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;IAEhD,qDAAqD;IACrD,aAAa,EAAE,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IAEnE,0BAA0B;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,yBAAyB;IACzB,WAAW,EAAE;QACT,qBAAqB,EAAE,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAChC,UAAU,EAAE,MAAM,EAAE,CAAC;KACxB,GAAG,IAAI,CAAC;IAET,8CAA8C;IAC9C,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAE5B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,cAAc,EAAE,eAAe,GAAG,UAAU,CAAC;IAE7C,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAChC,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;;OAGG;IACG,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsFxE;;OAEG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2B9E;;OAEG;YACW,cAAc;IAmD5B;;OAEG;YACW,QAAQ;IAYtB;;OAEG;YACW,OAAO;CAWxB"}