@noyrax/5d-database-plugin 0.1.14-beta.10 → 0.1.14-beta.11
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/out/api/bootstrap-api.d.ts +28 -0
- package/out/api/bootstrap-api.d.ts.map +1 -1
- package/out/api/bootstrap-api.js +180 -10
- package/out/api/bootstrap-api.js.map +1 -1
- package/out/embedding/embedding-pipeline.d.ts +11 -0
- package/out/embedding/embedding-pipeline.d.ts.map +1 -1
- package/out/embedding/embedding-pipeline.js +161 -65
- package/out/embedding/embedding-pipeline.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,6 +34,9 @@ export declare class BootstrapApi {
|
|
|
34
34
|
private dbManager;
|
|
35
35
|
private selfExplanationApi;
|
|
36
36
|
private evidenceGrader;
|
|
37
|
+
private adrApi;
|
|
38
|
+
private symbolApi;
|
|
39
|
+
private moduleApi;
|
|
37
40
|
constructor(dbManager: MultiDbManager);
|
|
38
41
|
/**
|
|
39
42
|
* Gets bootstrap information for first-time system understanding.
|
|
@@ -42,5 +45,30 @@ export declare class BootstrapApi {
|
|
|
42
45
|
* @returns Promise that resolves to bootstrap information
|
|
43
46
|
*/
|
|
44
47
|
getBootstrapInfo(pluginId: string): Promise<BootstrapInfo>;
|
|
48
|
+
/**
|
|
49
|
+
* Generates dynamic example queries based on actual system data:
|
|
50
|
+
* - Entry Points (module names)
|
|
51
|
+
* - ADR Titles
|
|
52
|
+
* - Most common symbol names
|
|
53
|
+
* - Cluster names
|
|
54
|
+
*
|
|
55
|
+
* Falls back to generic queries if no data is available.
|
|
56
|
+
*/
|
|
57
|
+
private generateExampleQueries;
|
|
58
|
+
/**
|
|
59
|
+
* Extracts module name from file path.
|
|
60
|
+
* Example: "src/api/bootstrap-api.ts" -> "bootstrap-api"
|
|
61
|
+
*/
|
|
62
|
+
private extractModuleName;
|
|
63
|
+
/**
|
|
64
|
+
* Extracts topic from ADR title.
|
|
65
|
+
* Example: "ADR-040: Unified MCP Server" -> "Unified MCP Server"
|
|
66
|
+
*/
|
|
67
|
+
private extractTopicFromAdrTitle;
|
|
68
|
+
/**
|
|
69
|
+
* Extracts cluster name from cluster ID.
|
|
70
|
+
* Example: "cluster:src/api" -> "API"
|
|
71
|
+
*/
|
|
72
|
+
private extractClusterName;
|
|
45
73
|
}
|
|
46
74
|
//# sourceMappingURL=bootstrap-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-api.d.ts","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap-api.d.ts","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAID;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,cAAc;IASrC;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyFhE;;;;;;;;OAQG;YACW,sBAAsB;IA4HpC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAkB7B"}
|
package/out/api/bootstrap-api.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BootstrapApi = void 0;
|
|
4
4
|
const self_explanation_api_1 = require("./self-explanation-api");
|
|
5
|
+
const adr_api_1 = require("./adr-api");
|
|
6
|
+
const symbol_api_1 = require("./symbol-api");
|
|
7
|
+
const module_api_1 = require("./module-api");
|
|
8
|
+
const navigation_repository_1 = require("../repositories/navigation-repository");
|
|
5
9
|
const evidence_grader_1 = require("./evidence-grader");
|
|
6
10
|
/**
|
|
7
11
|
* Bootstrap API - first point of contact for agents without prior knowledge.
|
|
@@ -12,6 +16,9 @@ class BootstrapApi {
|
|
|
12
16
|
this.dbManager = dbManager;
|
|
13
17
|
this.selfExplanationApi = new self_explanation_api_1.SelfExplanationApi(dbManager);
|
|
14
18
|
this.evidenceGrader = new evidence_grader_1.EvidenceGrader();
|
|
19
|
+
this.adrApi = new adr_api_1.AdrApi(dbManager);
|
|
20
|
+
this.symbolApi = new symbol_api_1.SymbolApi(dbManager);
|
|
21
|
+
this.moduleApi = new module_api_1.ModuleApi(dbManager);
|
|
15
22
|
}
|
|
16
23
|
/**
|
|
17
24
|
* Gets bootstrap information for first-time system understanding.
|
|
@@ -51,21 +58,14 @@ class BootstrapApi {
|
|
|
51
58
|
path: 'system_explanation'
|
|
52
59
|
}
|
|
53
60
|
], 'Bootstrap information derived from system explanation, which aggregates data from multiple database queries');
|
|
61
|
+
// Generate dynamic example queries based on actual system data
|
|
62
|
+
const exampleQueries = await this.generateExampleQueries(pluginId, entryPoints);
|
|
54
63
|
return {
|
|
55
64
|
what_am_i: systemExplanation.what_am_i, // Die Codebase (Name/Desc)
|
|
56
65
|
how_do_i_work: systemExplanation.how_do_i_work, // System facts (was ist in der Codebase)
|
|
57
66
|
where_to_start: entryPoints,
|
|
58
67
|
how_to_navigate: howToNavigate, // Mechanismus (5D-System als Tool), nicht Identität
|
|
59
|
-
example_queries:
|
|
60
|
-
'How does ingestion work?',
|
|
61
|
-
'What are the main components?',
|
|
62
|
-
'How do I add a new dimension?',
|
|
63
|
-
'What is the architecture?',
|
|
64
|
-
'How do dependencies work?',
|
|
65
|
-
'How does the database system work?',
|
|
66
|
-
'What are the entry points?',
|
|
67
|
-
'How do I navigate the codebase?'
|
|
68
|
-
],
|
|
68
|
+
example_queries: exampleQueries,
|
|
69
69
|
dimensions_overview: systemExplanation.dimensions.map(dim => ({
|
|
70
70
|
id: dim.id,
|
|
71
71
|
name: dim.name,
|
|
@@ -106,6 +106,176 @@ class BootstrapApi {
|
|
|
106
106
|
evidence
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Generates dynamic example queries based on actual system data:
|
|
111
|
+
* - Entry Points (module names)
|
|
112
|
+
* - ADR Titles
|
|
113
|
+
* - Most common symbol names
|
|
114
|
+
* - Cluster names
|
|
115
|
+
*
|
|
116
|
+
* Falls back to generic queries if no data is available.
|
|
117
|
+
*/
|
|
118
|
+
async generateExampleQueries(pluginId, entryPoints) {
|
|
119
|
+
const queries = [];
|
|
120
|
+
try {
|
|
121
|
+
// 1. Entry Points: Generate queries from entry point module names
|
|
122
|
+
if (entryPoints.length > 0) {
|
|
123
|
+
const entryPointModules = entryPoints
|
|
124
|
+
.filter(ep => ep.entity.dimension === 'X')
|
|
125
|
+
.slice(0, 3); // Max 3 entry points
|
|
126
|
+
for (const ep of entryPointModules) {
|
|
127
|
+
const moduleName = this.extractModuleName(ep.entity.external_id);
|
|
128
|
+
if (moduleName) {
|
|
129
|
+
queries.push(`How does ${moduleName} work?`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// 2. ADR Titles: Generate queries from ADR titles
|
|
134
|
+
try {
|
|
135
|
+
const adrs = await this.adrApi.getAllAdrs(pluginId);
|
|
136
|
+
if (adrs.length > 0) {
|
|
137
|
+
// Take first 2-3 ADRs and generate queries
|
|
138
|
+
const selectedAdrs = adrs.slice(0, 3);
|
|
139
|
+
for (const adr of selectedAdrs) {
|
|
140
|
+
// Extract key topic from ADR title
|
|
141
|
+
const topic = this.extractTopicFromAdrTitle(adr.title);
|
|
142
|
+
if (topic) {
|
|
143
|
+
queries.push(`What is ${topic}?`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
// Ignore errors, fall back to generic queries
|
|
150
|
+
}
|
|
151
|
+
// 3. Most common symbol names: Generate queries from frequently used symbols
|
|
152
|
+
try {
|
|
153
|
+
const symbols = await this.symbolApi.getAllSymbols(pluginId);
|
|
154
|
+
if (symbols.length > 0) {
|
|
155
|
+
// Count symbol name frequency
|
|
156
|
+
const symbolCounts = new Map();
|
|
157
|
+
for (const symbol of symbols) {
|
|
158
|
+
const name = symbol.name;
|
|
159
|
+
symbolCounts.set(name, (symbolCounts.get(name) || 0) + 1);
|
|
160
|
+
}
|
|
161
|
+
// Get top 3 most common symbol names
|
|
162
|
+
const topSymbols = Array.from(symbolCounts.entries())
|
|
163
|
+
.sort((a, b) => b[1] - a[1])
|
|
164
|
+
.slice(0, 3)
|
|
165
|
+
.map(([name]) => name);
|
|
166
|
+
for (const symbolName of topSymbols) {
|
|
167
|
+
queries.push(`What is ${symbolName}?`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
// Ignore errors, fall back to generic queries
|
|
173
|
+
}
|
|
174
|
+
// 4. Cluster names: Generate queries from cluster names
|
|
175
|
+
try {
|
|
176
|
+
const db = await this.dbManager.getDatabase('V');
|
|
177
|
+
const navRepo = new navigation_repository_1.NavigationRepository(db);
|
|
178
|
+
const allMetadata = await navRepo.getAll(pluginId);
|
|
179
|
+
// Extract unique cluster IDs
|
|
180
|
+
const clusterIds = new Set();
|
|
181
|
+
for (const metadata of allMetadata) {
|
|
182
|
+
if (metadata.cluster_id) {
|
|
183
|
+
clusterIds.add(metadata.cluster_id);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Generate queries from cluster names (extract directory/component name)
|
|
187
|
+
const clusterNames = Array.from(clusterIds).slice(0, 2);
|
|
188
|
+
for (const clusterId of clusterNames) {
|
|
189
|
+
const clusterName = this.extractClusterName(clusterId);
|
|
190
|
+
if (clusterName) {
|
|
191
|
+
queries.push(`What is the ${clusterName} component?`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
// Ignore errors, fall back to generic queries
|
|
197
|
+
}
|
|
198
|
+
// 5. Add generic fallback queries if we don't have enough
|
|
199
|
+
const genericQueries = [
|
|
200
|
+
'What are the main components?',
|
|
201
|
+
'What is the architecture?',
|
|
202
|
+
'How do dependencies work?',
|
|
203
|
+
'What are the entry points?',
|
|
204
|
+
'How do I navigate the codebase?'
|
|
205
|
+
];
|
|
206
|
+
// Fill up to 8 queries total (mix of dynamic and generic)
|
|
207
|
+
while (queries.length < 8 && genericQueries.length > 0) {
|
|
208
|
+
const generic = genericQueries.shift();
|
|
209
|
+
if (generic && !queries.includes(generic)) {
|
|
210
|
+
queries.push(generic);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Limit to 8 queries max
|
|
214
|
+
return queries.slice(0, 8);
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
// Fallback to generic queries if anything fails
|
|
218
|
+
return [
|
|
219
|
+
'What are the main components?',
|
|
220
|
+
'What is the architecture?',
|
|
221
|
+
'How do dependencies work?',
|
|
222
|
+
'What are the entry points?',
|
|
223
|
+
'How do I navigate the codebase?',
|
|
224
|
+
'How does the system work?',
|
|
225
|
+
'What are the key modules?',
|
|
226
|
+
'How do I get started?'
|
|
227
|
+
];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Extracts module name from file path.
|
|
232
|
+
* Example: "src/api/bootstrap-api.ts" -> "bootstrap-api"
|
|
233
|
+
*/
|
|
234
|
+
extractModuleName(filePath) {
|
|
235
|
+
if (!filePath)
|
|
236
|
+
return null;
|
|
237
|
+
// Extract filename without extension
|
|
238
|
+
const fileName = filePath.split('/').pop() || filePath.split('\\').pop() || '';
|
|
239
|
+
const nameWithoutExt = fileName.replace(/\.(ts|js|tsx|jsx)$/, '');
|
|
240
|
+
// Convert kebab-case or snake_case to readable name
|
|
241
|
+
return nameWithoutExt
|
|
242
|
+
.replace(/[-_]/g, ' ')
|
|
243
|
+
.replace(/\b\w/g, l => l.toUpperCase())
|
|
244
|
+
.trim() || null;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Extracts topic from ADR title.
|
|
248
|
+
* Example: "ADR-040: Unified MCP Server" -> "Unified MCP Server"
|
|
249
|
+
*/
|
|
250
|
+
extractTopicFromAdrTitle(title) {
|
|
251
|
+
if (!title)
|
|
252
|
+
return null;
|
|
253
|
+
// Remove ADR number prefix (e.g., "ADR-040: " or "040: ")
|
|
254
|
+
const cleaned = title.replace(/^ADR-\d+:\s*/i, '').replace(/^\d+:\s*/, '');
|
|
255
|
+
// Extract first meaningful phrase (before dash or colon if present)
|
|
256
|
+
const topic = cleaned.split(/[-–—]/)[0].split(':')[0].trim();
|
|
257
|
+
return topic || null;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Extracts cluster name from cluster ID.
|
|
261
|
+
* Example: "cluster:src/api" -> "API"
|
|
262
|
+
*/
|
|
263
|
+
extractClusterName(clusterId) {
|
|
264
|
+
if (!clusterId)
|
|
265
|
+
return null;
|
|
266
|
+
// Remove "cluster:" prefix
|
|
267
|
+
const cleaned = clusterId.replace(/^cluster:/, '');
|
|
268
|
+
// Extract last directory name (most meaningful)
|
|
269
|
+
const parts = cleaned.split('/').filter(p => p);
|
|
270
|
+
if (parts.length === 0)
|
|
271
|
+
return null;
|
|
272
|
+
const lastPart = parts[parts.length - 1];
|
|
273
|
+
// Convert to readable name
|
|
274
|
+
return lastPart
|
|
275
|
+
.replace(/[-_]/g, ' ')
|
|
276
|
+
.replace(/\b\w/g, l => l.toUpperCase())
|
|
277
|
+
.trim() || null;
|
|
278
|
+
}
|
|
109
279
|
}
|
|
110
280
|
exports.BootstrapApi = BootstrapApi;
|
|
111
281
|
//# sourceMappingURL=bootstrap-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-api.js","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":";;;AACA,iEAA4D;
|
|
1
|
+
{"version":3,"file":"bootstrap-api.js","sourceRoot":"","sources":["../../src/api/bootstrap-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,9 +39,18 @@ export declare class EmbeddingPipeline {
|
|
|
39
39
|
* Computes content hash for change detection.
|
|
40
40
|
*/
|
|
41
41
|
private computeContentHash;
|
|
42
|
+
/**
|
|
43
|
+
* Estimates token count from content length (Markdown-optimized).
|
|
44
|
+
* Markdown has different token densities:
|
|
45
|
+
* - Code blocks: ~3 chars/token (more tokens per char due to formatting)
|
|
46
|
+
* - Normal text: ~4 chars/token (standard estimate)
|
|
47
|
+
* - Tables: ~2.5 chars/token (many separators increase token count)
|
|
48
|
+
*/
|
|
49
|
+
private estimateTokens;
|
|
42
50
|
/**
|
|
43
51
|
* Optimizes module documentation for embedding while preserving semantic meaning.
|
|
44
52
|
* Strategy: Keep structure and important information, remove detailed tables.
|
|
53
|
+
* Aggressively truncates code blocks to signatures only, limits table rows.
|
|
45
54
|
*
|
|
46
55
|
* @param content Full markdown content
|
|
47
56
|
* @param maxTokens Maximum tokens allowed
|
|
@@ -51,6 +60,8 @@ export declare class EmbeddingPipeline {
|
|
|
51
60
|
/**
|
|
52
61
|
* Extracts only the structure of a module (header, interface/method names, signatures).
|
|
53
62
|
* Used for hierarchical embeddings where details are in Y-Dimension (Symbols).
|
|
63
|
+
* Only keeps: Headers, interface/method/class/variable names, first line of code blocks (signatures).
|
|
64
|
+
* Removes: All tables, code block bodies, normal text.
|
|
54
65
|
*
|
|
55
66
|
* @param content Full markdown content
|
|
56
67
|
* @returns Module structure (header + names + signatures, no details)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-pipeline.d.ts","sourceRoot":"","sources":["../../src/embedding/embedding-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAgB3D;;;GAGG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IAW7E;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrD;;OAEG;IACG,aAAa,CACf,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"embedding-pipeline.d.ts","sourceRoot":"","sources":["../../src/embedding/embedding-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAgB3D;;;GAGG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IAW7E;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrD;;OAEG;IACG,aAAa,CACf,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAyJhB;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,0BAA0B;IAoFxC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;;;OAQG;IACH,OAAO,CAAC,iCAAiC;IAkJzC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;CAwEjC"}
|
|
@@ -111,6 +111,11 @@ class EmbeddingPipeline {
|
|
|
111
111
|
const toGenerate = [];
|
|
112
112
|
for (const entity of entities) {
|
|
113
113
|
const content = await this.extractContentForEmbedding(dimension, entity);
|
|
114
|
+
// Überspringe leere Content (z.B. extrem große Dateien, die nicht embeddet werden können)
|
|
115
|
+
if (!content || content.trim().length === 0) {
|
|
116
|
+
console.warn(`[EmbeddingPipeline] Skipping embedding for entity ${entity.id} in dimension ${dimension} (empty content)`);
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
114
119
|
const contentHash = this.computeContentHash(content);
|
|
115
120
|
const existing = existingMap.get(entity.id);
|
|
116
121
|
if (!existing || existing.content_hash !== contentHash) {
|
|
@@ -231,18 +236,29 @@ class EmbeddingPipeline {
|
|
|
231
236
|
const module = entity;
|
|
232
237
|
let content = module.content_markdown;
|
|
233
238
|
// TOKEN-LIMIT-CHECK: OpenAI text-embedding-3-small hat 8192 Token Context Length
|
|
234
|
-
|
|
235
|
-
const tokenEstimate = Math.ceil(content.length / 4);
|
|
239
|
+
const tokenEstimate = this.estimateTokens(content);
|
|
236
240
|
const maxTokens = 8000; // Sicher unter 8192 Token-Limit
|
|
237
241
|
if (tokenEstimate > maxTokens) {
|
|
238
242
|
console.warn(`[EmbeddingPipeline] Large module documentation: ${module.file_path} (~${tokenEstimate} tokens, max ${maxTokens})`);
|
|
243
|
+
// Für extrem große Dateien (>15000 Tokens): Verwende hierarchical Strategie automatisch
|
|
244
|
+
if (tokenEstimate > 15000) {
|
|
245
|
+
console.warn(`[EmbeddingPipeline] Extremely large module (>15000 tokens), using hierarchical strategy`);
|
|
246
|
+
content = this.extractModuleStructure(content);
|
|
247
|
+
const newTokenEstimate = this.estimateTokens(content);
|
|
248
|
+
if (newTokenEstimate > maxTokens) {
|
|
249
|
+
console.error(`[EmbeddingPipeline] Module still too large after hierarchical extraction (~${newTokenEstimate} tokens). Skipping embedding.`);
|
|
250
|
+
// Überspringe Embedding für diese Datei - gib leeren String zurück
|
|
251
|
+
return '';
|
|
252
|
+
}
|
|
253
|
+
return content;
|
|
254
|
+
}
|
|
239
255
|
// STRATEGIE-AUSWAHL: Intelligente Kürzung, Hierarchische Embeddings, oder Summarization
|
|
240
256
|
const strategy = process.env.EMBEDDING_STRATEGY || 'optimize';
|
|
241
257
|
if (strategy === 'summarize' && this.moduleSummarizer.isConfigured()) {
|
|
242
258
|
console.warn(`[EmbeddingPipeline] Using LLM-based summarization strategy...`);
|
|
243
259
|
try {
|
|
244
260
|
content = await this.moduleSummarizer.summarizeModuleContent(content, module.file_path);
|
|
245
|
-
const newTokenEstimate =
|
|
261
|
+
const newTokenEstimate = this.estimateTokens(content);
|
|
246
262
|
console.log(`[EmbeddingPipeline] Summarized to ~${newTokenEstimate} tokens`);
|
|
247
263
|
}
|
|
248
264
|
catch (error) {
|
|
@@ -317,9 +333,32 @@ class EmbeddingPipeline {
|
|
|
317
333
|
computeContentHash(content) {
|
|
318
334
|
return crypto.createHash('sha256').update(content).digest('hex');
|
|
319
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Estimates token count from content length (Markdown-optimized).
|
|
338
|
+
* Markdown has different token densities:
|
|
339
|
+
* - Code blocks: ~3 chars/token (more tokens per char due to formatting)
|
|
340
|
+
* - Normal text: ~4 chars/token (standard estimate)
|
|
341
|
+
* - Tables: ~2.5 chars/token (many separators increase token count)
|
|
342
|
+
*/
|
|
343
|
+
estimateTokens(content) {
|
|
344
|
+
// Match code blocks (```...```)
|
|
345
|
+
const codeBlockMatches = content.match(/```[\s\S]*?```/g) || [];
|
|
346
|
+
const codeBlockLength = codeBlockMatches.reduce((sum, block) => sum + block.length, 0);
|
|
347
|
+
// Match table rows (|...|)
|
|
348
|
+
const tableMatches = content.match(/\|.*\|/g) || [];
|
|
349
|
+
const tableLength = tableMatches.reduce((sum, line) => sum + line.length, 0);
|
|
350
|
+
// Normal text (everything else)
|
|
351
|
+
const normalLength = content.length - codeBlockLength - tableLength;
|
|
352
|
+
// Calculate tokens for each type
|
|
353
|
+
const codeTokens = Math.ceil(codeBlockLength / 3); // Code blocks: ~3 chars/token
|
|
354
|
+
const tableTokens = Math.ceil(tableLength / 2.5); // Tables: ~2.5 chars/token
|
|
355
|
+
const normalTokens = Math.ceil(normalLength / 4); // Normal text: ~4 chars/token
|
|
356
|
+
return codeTokens + tableTokens + normalTokens;
|
|
357
|
+
}
|
|
320
358
|
/**
|
|
321
359
|
* Optimizes module documentation for embedding while preserving semantic meaning.
|
|
322
360
|
* Strategy: Keep structure and important information, remove detailed tables.
|
|
361
|
+
* Aggressively truncates code blocks to signatures only, limits table rows.
|
|
323
362
|
*
|
|
324
363
|
* @param content Full markdown content
|
|
325
364
|
* @param maxTokens Maximum tokens allowed
|
|
@@ -328,95 +367,142 @@ class EmbeddingPipeline {
|
|
|
328
367
|
optimizeModuleContentForEmbedding(content, maxTokens) {
|
|
329
368
|
const lines = content.split('\n');
|
|
330
369
|
const optimized = [];
|
|
331
|
-
let
|
|
332
|
-
const
|
|
333
|
-
let
|
|
370
|
+
let currentTokens = 0;
|
|
371
|
+
const maxTokensWithMargin = maxTokens * 0.95; // 5% Margin für Sicherheit
|
|
372
|
+
let inCodeBlock = false;
|
|
373
|
+
let codeBlockStartLine = -1;
|
|
374
|
+
let codeBlockOpener = '';
|
|
334
375
|
let interfaceCount = 0;
|
|
335
376
|
let methodCount = 0;
|
|
377
|
+
let tableRowCount = 0;
|
|
336
378
|
let tableHeaderSkipped = false;
|
|
337
|
-
for (
|
|
338
|
-
const
|
|
379
|
+
for (let i = 0; i < lines.length; i++) {
|
|
380
|
+
const line = lines[i];
|
|
381
|
+
const lineTokens = this.estimateTokens(line);
|
|
382
|
+
// Prüfe Token-Anzahl während Iteration (frühe Kürzung)
|
|
383
|
+
if (currentTokens + lineTokens > maxTokensWithMargin) {
|
|
384
|
+
// Versuche bei logischem Punkt zu kürzen
|
|
385
|
+
if (inCodeBlock) {
|
|
386
|
+
// Kürze Code-Block: Behalte nur erste Zeile (Signatur)
|
|
387
|
+
if (codeBlockStartLine >= 0 && i > codeBlockStartLine) {
|
|
388
|
+
const codeBlockLines = lines.slice(codeBlockStartLine + 1, i);
|
|
389
|
+
const firstLine = codeBlockLines.find(l => l.trim() && !l.startsWith('```'));
|
|
390
|
+
if (firstLine) {
|
|
391
|
+
optimized.push(codeBlockOpener);
|
|
392
|
+
optimized.push(firstLine);
|
|
393
|
+
optimized.push('```');
|
|
394
|
+
currentTokens += this.estimateTokens(codeBlockOpener + '\n' + firstLine + '\n```');
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
inCodeBlock = false;
|
|
398
|
+
codeBlockStartLine = -1;
|
|
399
|
+
}
|
|
400
|
+
// Füge Truncation-Marker hinzu
|
|
401
|
+
optimized.push('\n[... content optimized for embedding - truncated to fit token limit ...]');
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
339
404
|
// Behalte Header (wichtig für Struktur)
|
|
340
405
|
if (line.startsWith('#') || line.startsWith('##')) {
|
|
341
406
|
optimized.push(line);
|
|
342
|
-
|
|
407
|
+
currentTokens += lineTokens;
|
|
343
408
|
continue;
|
|
344
409
|
}
|
|
345
410
|
// Behalte Interface/Method-Namen (wichtig für Semantic Search)
|
|
346
411
|
if (line.startsWith('### interface:') || line.startsWith('### method:') || line.startsWith('### class:') || line.startsWith('### variable:')) {
|
|
347
412
|
optimized.push(line);
|
|
348
|
-
|
|
413
|
+
currentTokens += lineTokens;
|
|
349
414
|
if (line.includes('interface:'))
|
|
350
415
|
interfaceCount++;
|
|
351
416
|
if (line.includes('method:'))
|
|
352
417
|
methodCount++;
|
|
418
|
+
tableRowCount = 0;
|
|
353
419
|
tableHeaderSkipped = false;
|
|
354
420
|
continue;
|
|
355
421
|
}
|
|
356
|
-
//
|
|
422
|
+
// Code-Blöcke: Behalte nur erste Zeile (Signatur)
|
|
357
423
|
if (line.startsWith('```')) {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
424
|
+
if (!inCodeBlock) {
|
|
425
|
+
// Code-Block startet
|
|
426
|
+
inCodeBlock = true;
|
|
427
|
+
codeBlockStartLine = i;
|
|
428
|
+
codeBlockOpener = line;
|
|
429
|
+
optimized.push(line); // Behalte ``` opener
|
|
430
|
+
currentTokens += lineTokens;
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
// Code-Block endet
|
|
434
|
+
inCodeBlock = false;
|
|
435
|
+
optimized.push(line); // Behalte ``` closer
|
|
436
|
+
currentTokens += lineTokens;
|
|
437
|
+
codeBlockStartLine = -1;
|
|
438
|
+
}
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
if (inCodeBlock) {
|
|
442
|
+
// In Code-Block: Behalte nur erste Zeile (Signatur)
|
|
443
|
+
if (codeBlockStartLine === i - 1) {
|
|
444
|
+
// Erste Zeile nach ``` opener
|
|
445
|
+
optimized.push(line);
|
|
446
|
+
currentTokens += lineTokens;
|
|
447
|
+
}
|
|
448
|
+
// Überspringe weitere Zeilen im Code-Block
|
|
361
449
|
continue;
|
|
362
450
|
}
|
|
363
|
-
//
|
|
364
|
-
// (Eigenschaften-Tabellen, Parameter-Tabellen sind weniger wichtig für Semantic Search)
|
|
451
|
+
// Tabellen: Aggressiver kürzen (max. 3 Zeilen pro Tabelle)
|
|
365
452
|
if (line.startsWith('|')) {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
tableHeaderSkipped = true;
|
|
373
|
-
}
|
|
374
|
-
else if (!tableHeaderSkipped) {
|
|
375
|
-
// Erste Zeile nach Header: Behalte (wichtig für Kontext)
|
|
376
|
-
optimized.push(line);
|
|
377
|
-
currentTokenCount += lineTokens;
|
|
378
|
-
tableHeaderSkipped = true;
|
|
379
|
-
}
|
|
380
|
-
// Überspringe weitere Daten-Zeilen
|
|
381
|
-
continue;
|
|
453
|
+
if (line.includes('---')) {
|
|
454
|
+
// Tabellen-Separator: Behalte
|
|
455
|
+
optimized.push(line);
|
|
456
|
+
currentTokens += lineTokens;
|
|
457
|
+
tableRowCount = 0;
|
|
458
|
+
tableHeaderSkipped = false;
|
|
382
459
|
}
|
|
383
460
|
else {
|
|
384
|
-
//
|
|
385
|
-
|
|
386
|
-
|
|
461
|
+
// Tabellen-Zeile: Überspringe nach 3 Zeilen
|
|
462
|
+
if (tableRowCount < 3) {
|
|
463
|
+
optimized.push(line);
|
|
464
|
+
currentTokens += lineTokens;
|
|
465
|
+
tableRowCount++;
|
|
466
|
+
}
|
|
467
|
+
// Überspringe weitere Zeilen
|
|
387
468
|
}
|
|
388
469
|
continue;
|
|
389
470
|
}
|
|
390
|
-
//
|
|
391
|
-
if (line.trim()
|
|
392
|
-
|
|
471
|
+
// Behalte wichtige Kommentare (change markers)
|
|
472
|
+
if (line.trim().startsWith('<!--') && line.includes('change:')) {
|
|
473
|
+
optimized.push(line);
|
|
474
|
+
currentTokens += lineTokens;
|
|
475
|
+
continue;
|
|
393
476
|
}
|
|
394
|
-
// Behalte
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
if (currentTokenCount > maxChars * 0.9) {
|
|
399
|
-
// Versuche bei Interface/Method-Ende zu kürzen
|
|
400
|
-
const currentContent = optimized.join('\n');
|
|
401
|
-
const lastInterfaceEnd = currentContent.lastIndexOf('```');
|
|
402
|
-
if (lastInterfaceEnd > maxChars * 0.7) {
|
|
403
|
-
const truncated = currentContent.substring(0, lastInterfaceEnd + 3);
|
|
404
|
-
return truncated + '\n\n[... content optimized for embedding - details removed ...]';
|
|
405
|
-
}
|
|
477
|
+
// Behalte leere Zeilen (Struktur)
|
|
478
|
+
if (line.trim() === '') {
|
|
479
|
+
optimized.push(line);
|
|
480
|
+
continue;
|
|
406
481
|
}
|
|
482
|
+
// Für sehr große Dokumentationen: Überspringe normale Text-Zeilen
|
|
483
|
+
if (interfaceCount > 20 || methodCount > 50) {
|
|
484
|
+
// Überspringe normale Text-Zeilen (nicht Header, nicht Code, nicht Tabellen)
|
|
485
|
+
continue;
|
|
486
|
+
}
|
|
487
|
+
// Behalte alle anderen Zeilen
|
|
488
|
+
optimized.push(line);
|
|
489
|
+
currentTokens += lineTokens;
|
|
407
490
|
}
|
|
408
491
|
const optimizedContent = optimized.join('\n');
|
|
409
|
-
const
|
|
410
|
-
// Falls immer noch zu gro
|
|
411
|
-
if (
|
|
492
|
+
const finalTokens = this.estimateTokens(optimizedContent);
|
|
493
|
+
// Finale Prüfung: Falls immer noch zu groß, kürze aggressiv
|
|
494
|
+
if (finalTokens > maxTokens) {
|
|
495
|
+
const maxChars = maxTokens * 3; // Konservativ: 3 chars/token
|
|
412
496
|
const truncated = optimizedContent.substring(0, maxChars);
|
|
413
|
-
return truncated + '\n\n[... content optimized for embedding ...]';
|
|
497
|
+
return truncated + '\n\n[... content optimized for embedding - final truncation ...]';
|
|
414
498
|
}
|
|
415
499
|
return optimizedContent;
|
|
416
500
|
}
|
|
417
501
|
/**
|
|
418
502
|
* Extracts only the structure of a module (header, interface/method names, signatures).
|
|
419
503
|
* Used for hierarchical embeddings where details are in Y-Dimension (Symbols).
|
|
504
|
+
* Only keeps: Headers, interface/method/class/variable names, first line of code blocks (signatures).
|
|
505
|
+
* Removes: All tables, code block bodies, normal text.
|
|
420
506
|
*
|
|
421
507
|
* @param content Full markdown content
|
|
422
508
|
* @returns Module structure (header + names + signatures, no details)
|
|
@@ -425,35 +511,40 @@ class EmbeddingPipeline {
|
|
|
425
511
|
const lines = content.split('\n');
|
|
426
512
|
const structure = [];
|
|
427
513
|
let inCodeBlock = false;
|
|
428
|
-
let
|
|
429
|
-
let
|
|
514
|
+
let codeBlockOpener = '';
|
|
515
|
+
let codeBlockFirstLine = null;
|
|
430
516
|
for (let i = 0; i < lines.length; i++) {
|
|
431
517
|
const line = lines[i];
|
|
432
518
|
// Behalte alle Header
|
|
433
519
|
if (line.startsWith('#') || line.startsWith('##') || line.startsWith('###')) {
|
|
434
520
|
structure.push(line);
|
|
435
|
-
lastHeader = line;
|
|
436
521
|
continue;
|
|
437
522
|
}
|
|
438
|
-
//
|
|
523
|
+
// Code-Blöcke: Behalte nur erste Zeile (Signatur)
|
|
439
524
|
if (line.startsWith('```')) {
|
|
440
525
|
if (inCodeBlock) {
|
|
441
526
|
// Ende des Code-Blocks: Behalte nur erste Zeile (Signatur)
|
|
442
|
-
if (
|
|
443
|
-
structure.push(
|
|
444
|
-
structure.push(
|
|
527
|
+
if (codeBlockFirstLine !== null) {
|
|
528
|
+
structure.push(codeBlockOpener);
|
|
529
|
+
structure.push(codeBlockFirstLine);
|
|
445
530
|
structure.push('```');
|
|
446
531
|
}
|
|
447
|
-
|
|
532
|
+
codeBlockFirstLine = null;
|
|
448
533
|
inCodeBlock = false;
|
|
449
534
|
}
|
|
450
535
|
else {
|
|
536
|
+
// Code-Block startet
|
|
451
537
|
inCodeBlock = true;
|
|
538
|
+
codeBlockOpener = line;
|
|
452
539
|
}
|
|
453
540
|
continue;
|
|
454
541
|
}
|
|
455
542
|
if (inCodeBlock) {
|
|
456
|
-
|
|
543
|
+
// In Code-Block: Behalte nur erste Zeile (Signatur)
|
|
544
|
+
if (codeBlockFirstLine === null && line.trim() && !line.startsWith('```')) {
|
|
545
|
+
codeBlockFirstLine = line;
|
|
546
|
+
}
|
|
547
|
+
// Überspringe weitere Zeilen im Code-Block
|
|
457
548
|
continue;
|
|
458
549
|
}
|
|
459
550
|
// Überspringe Tabellen komplett (Details sind in Y-Dimension)
|
|
@@ -465,12 +556,17 @@ class EmbeddingPipeline {
|
|
|
465
556
|
structure.push(line);
|
|
466
557
|
continue;
|
|
467
558
|
}
|
|
468
|
-
// Behalte leere Zeilen für Struktur
|
|
559
|
+
// Behalte leere Zeilen für Struktur (max. 2 aufeinanderfolgende)
|
|
469
560
|
if (line.trim() === '') {
|
|
561
|
+
const lastLine = structure[structure.length - 1];
|
|
562
|
+
if (lastLine && lastLine.trim() === '') {
|
|
563
|
+
// Bereits eine leere Zeile, überspringe weitere
|
|
564
|
+
continue;
|
|
565
|
+
}
|
|
470
566
|
structure.push(line);
|
|
471
567
|
continue;
|
|
472
568
|
}
|
|
473
|
-
// Überspringe alle anderen Details
|
|
569
|
+
// Überspringe alle anderen Details (normaler Text, Beschreibungen, etc.)
|
|
474
570
|
}
|
|
475
571
|
return structure.join('\n');
|
|
476
572
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-pipeline.js","sourceRoot":"","sources":["../../src/embedding/embedding-pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embedding-pipeline.js","sourceRoot":"","sources":["../../src/embedding/embedding-pipeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@noyrax/5d-database-plugin",
|
|
3
3
|
"displayName": "5D Database Plugin",
|
|
4
4
|
"description": "5-dimensional database layer for documentation system with semantic brain integration. Provides SQLite databases for modules, symbols, dependencies, ADRs, and changes. Includes semantic search and MCP server integration for AI agents.",
|
|
5
|
-
"version": "0.1.14-beta.
|
|
5
|
+
"version": "0.1.14-beta.11",
|
|
6
6
|
"publisher": "noyrax",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|