@noyrax/5d-database-plugin 0.1.13-beta.1 → 0.1.14-beta.10
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/README.md +25 -0
- package/out/api/adr-api.d.ts +0 -6
- package/out/api/adr-api.d.ts.map +1 -1
- package/out/api/adr-api.js +14 -49
- package/out/api/adr-api.js.map +1 -1
- package/out/api/bootstrap-api.d.ts +4 -1
- package/out/api/bootstrap-api.d.ts.map +1 -1
- package/out/api/bootstrap-api.js +27 -4
- package/out/api/bootstrap-api.js.map +1 -1
- package/out/api/context-builder.d.ts.map +1 -1
- package/out/api/context-builder.js +21 -5
- package/out/api/context-builder.js.map +1 -1
- package/out/api/evidence-grader.d.ts +83 -0
- package/out/api/evidence-grader.d.ts.map +1 -0
- package/out/api/evidence-grader.js +161 -0
- package/out/api/evidence-grader.js.map +1 -0
- package/out/api/index.d.ts +5 -0
- package/out/api/index.d.ts.map +1 -1
- package/out/api/index.js +11 -1
- package/out/api/index.js.map +1 -1
- package/out/api/learning-path-api.d.ts +3 -0
- package/out/api/learning-path-api.d.ts.map +1 -1
- package/out/api/learning-path-api.js +15 -2
- package/out/api/learning-path-api.js.map +1 -1
- package/out/api/module-api.d.ts +0 -1
- package/out/api/module-api.d.ts.map +1 -1
- package/out/api/module-api.js +4 -38
- package/out/api/module-api.js.map +1 -1
- package/out/api/self-explanation-api.d.ts +11 -1
- package/out/api/self-explanation-api.d.ts.map +1 -1
- package/out/api/self-explanation-api.js +285 -19
- package/out/api/self-explanation-api.js.map +1 -1
- package/out/api/semantic-search-api.d.ts +3 -0
- package/out/api/semantic-search-api.d.ts.map +1 -1
- package/out/api/semantic-search-api.js +41 -4
- package/out/api/semantic-search-api.js.map +1 -1
- package/out/api/source-access-contract-api.d.ts +60 -0
- package/out/api/source-access-contract-api.d.ts.map +1 -0
- package/out/api/source-access-contract-api.js +231 -0
- package/out/api/source-access-contract-api.js.map +1 -0
- package/out/api/source-snippet-api.d.ts +58 -0
- package/out/api/source-snippet-api.d.ts.map +1 -0
- package/out/api/source-snippet-api.js +187 -0
- package/out/api/source-snippet-api.js.map +1 -0
- package/out/api/vector-backend-status-api.d.ts +68 -0
- package/out/api/vector-backend-status-api.d.ts.map +1 -0
- package/out/api/vector-backend-status-api.js +241 -0
- package/out/api/vector-backend-status-api.js.map +1 -0
- package/out/cli/debug-embedding-strategies.d.ts +3 -0
- package/out/cli/debug-embedding-strategies.d.ts.map +1 -0
- package/out/cli/debug-embedding-strategies.js +255 -0
- package/out/cli/debug-embedding-strategies.js.map +1 -0
- package/out/cli/debug-plugin-id.d.ts +9 -0
- package/out/cli/debug-plugin-id.d.ts.map +1 -0
- package/out/cli/debug-plugin-id.js +188 -0
- package/out/cli/debug-plugin-id.js.map +1 -0
- package/out/cli/ingest-cli.js +44 -5
- package/out/cli/ingest-cli.js.map +1 -1
- package/out/cli/tool-cli.js +1 -1
- package/out/cli/tool-cli.js.map +1 -1
- package/out/core/chromadb-vector-database.d.ts.map +1 -1
- package/out/core/chromadb-vector-database.js +10 -12
- package/out/core/chromadb-vector-database.js.map +1 -1
- package/out/core/migration-manager.d.ts.map +1 -1
- package/out/core/migration-manager.js +61 -32
- package/out/core/migration-manager.js.map +1 -1
- package/out/core/multi-db-manager.d.ts +26 -0
- package/out/core/multi-db-manager.d.ts.map +1 -1
- package/out/core/multi-db-manager.js +143 -2
- package/out/core/multi-db-manager.js.map +1 -1
- package/out/core/path-normalizer.d.ts +46 -0
- package/out/core/path-normalizer.d.ts.map +1 -0
- package/out/core/path-normalizer.js +152 -0
- package/out/core/path-normalizer.js.map +1 -0
- package/out/core/vector-database-factory.js +5 -5
- package/out/core/vector-database-factory.js.map +1 -1
- package/out/core/vss-vector-database.js +8 -8
- package/out/core/vss-vector-database.js.map +1 -1
- package/out/embedding/embedding-pipeline.d.ts +18 -0
- package/out/embedding/embedding-pipeline.d.ts.map +1 -1
- package/out/embedding/embedding-pipeline.js +192 -3
- package/out/embedding/embedding-pipeline.js.map +1 -1
- package/out/embedding/module-summarizer.d.ts +25 -0
- package/out/embedding/module-summarizer.d.ts.map +1 -0
- package/out/embedding/module-summarizer.js +104 -0
- package/out/embedding/module-summarizer.js.map +1 -0
- package/out/ingestors/adr-ingestor.d.ts.map +1 -1
- package/out/ingestors/adr-ingestor.js +7 -8
- package/out/ingestors/adr-ingestor.js.map +1 -1
- package/out/ingestors/module-ingestor.d.ts.map +1 -1
- package/out/ingestors/module-ingestor.js +17 -0
- package/out/ingestors/module-ingestor.js.map +1 -1
- package/out/ingestors/symbol-ingestor.d.ts.map +1 -1
- package/out/ingestors/symbol-ingestor.js +24 -2
- package/out/ingestors/symbol-ingestor.js.map +1 -1
- package/out/mcp/tools/gap-analysis.d.ts +21 -2
- package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
- package/out/mcp/tools/gap-analysis.js +326 -27
- package/out/mcp/tools/gap-analysis.js.map +1 -1
- package/out/mcp/tools/learning-path.d.ts.map +1 -1
- package/out/mcp/tools/learning-path.js +19 -5
- package/out/mcp/tools/learning-path.js.map +1 -1
- package/out/mcp/tools/semantic-discovery.d.ts.map +1 -1
- package/out/mcp/tools/semantic-discovery.js +110 -22
- package/out/mcp/tools/semantic-discovery.js.map +1 -1
- package/out/mcp/tools/source-access-contract.d.ts +26 -0
- package/out/mcp/tools/source-access-contract.d.ts.map +1 -0
- package/out/mcp/tools/source-access-contract.js +45 -0
- package/out/mcp/tools/source-access-contract.js.map +1 -0
- package/out/mcp/tools/source-snippet.d.ts +71 -0
- package/out/mcp/tools/source-snippet.d.ts.map +1 -0
- package/out/mcp/tools/source-snippet.js +82 -0
- package/out/mcp/tools/source-snippet.js.map +1 -0
- package/out/models/action-hint.d.ts +36 -0
- package/out/models/action-hint.d.ts.map +1 -0
- package/out/models/action-hint.js +38 -0
- package/out/models/action-hint.js.map +1 -0
- package/out/models/evidence.d.ts +68 -0
- package/out/models/evidence.d.ts.map +1 -0
- package/out/models/evidence.js +91 -0
- package/out/models/evidence.js.map +1 -0
- package/out/models/module.d.ts +2 -0
- package/out/models/module.d.ts.map +1 -1
- package/out/models/reason-codes.d.ts +52 -0
- package/out/models/reason-codes.d.ts.map +1 -0
- package/out/models/reason-codes.js +83 -0
- package/out/models/reason-codes.js.map +1 -0
- package/out/models/symbol.d.ts +6 -0
- package/out/models/symbol.d.ts.map +1 -1
- package/out/repositories/adr-repository.d.ts.map +1 -1
- package/out/repositories/adr-repository.js +2 -1
- package/out/repositories/adr-repository.js.map +1 -1
- package/out/repositories/module-repository.d.ts.map +1 -1
- package/out/repositories/module-repository.js +9 -3
- package/out/repositories/module-repository.js.map +1 -1
- package/out/repositories/symbol-repository.d.ts.map +1 -1
- package/out/repositories/symbol-repository.js +22 -4
- package/out/repositories/symbol-repository.js.map +1 -1
- package/out/services/cross-dimension-linker.d.ts.map +1 -1
- package/out/services/cross-dimension-linker.js +27 -3
- package/out/services/cross-dimension-linker.js.map +1 -1
- package/package.json +196 -195
- package/schemas/sqlite/001_add_source_code_spans_modules.sql +7 -0
- package/schemas/sqlite/001_z_add_source_code_spans_modules.sql +13 -0
- package/schemas/sqlite/002_add_source_code_spans_symbols.sql +15 -0
- package/schemas/sqlite/002_z_add_source_code_spans_symbols.sql +21 -0
- 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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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:
|
|
69
|
-
how_do_i_work:
|
|
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;
|
|
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.
|
|
@@ -28,7 +30,7 @@ class SemanticSearchApi {
|
|
|
28
30
|
const dimensions = options.dimensions || ['X', 'Y', 'Z', 'W', 'T'];
|
|
29
31
|
const limit = options.limit || 10;
|
|
30
32
|
const minScore = options.minScore || 0.0;
|
|
31
|
-
console.log
|
|
33
|
+
// Removed console.log to prevent stdout interference with MCP JSON-RPC protocol
|
|
32
34
|
// 1. Generate query embedding
|
|
33
35
|
const queryEmbedding = await this.embeddingGenerator.generateEmbedding('X', // Dimension doesn't matter for query
|
|
34
36
|
'query', query);
|
|
@@ -59,7 +61,7 @@ class SemanticSearchApi {
|
|
|
59
61
|
return await this.searchWithVectorDatabase(dimension, queryEmbedding, pluginId, minScore, vectorDb, embeddingRepo, importanceRepo);
|
|
60
62
|
}
|
|
61
63
|
catch (vectorDbError) {
|
|
62
|
-
console.warn
|
|
64
|
+
// Removed console.warn to prevent stdout interference with MCP JSON-RPC protocol
|
|
63
65
|
// Fall through to cosine similarity
|
|
64
66
|
}
|
|
65
67
|
}
|
|
@@ -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":";;;AAEA,+EAA2E;AAC3E,iFAA6E;
|
|
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"}
|