@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.
@@ -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;AAE9C;;;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;gBAE3B,SAAS,EAAE,cAAc;IAMrC;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CA8FnE"}
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"}
@@ -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":"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"}
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;IAkJhB;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,0BAA0B;IAwExC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IAkGzC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CA8DjC"}
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
- // Rough estimate: 1 token ≈ 4 characters (konservativ)
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 = Math.ceil(content.length / 4);
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 currentTokenCount = 0;
332
- const maxChars = maxTokens * 4; // Rough estimate
333
- let inTable = false;
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 (const line of lines) {
338
- const lineTokens = Math.ceil(line.length / 4);
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
- currentTokenCount += lineTokens;
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
- currentTokenCount += lineTokens;
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
- // Behalte Code-Blöcke (Signaturen sind wichtig)
422
+ // Code-Blöcke: Behalte nur erste Zeile (Signatur)
357
423
  if (line.startsWith('```')) {
358
- optimized.push(line);
359
- currentTokenCount += lineTokens;
360
- inTable = !inTable;
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
- // OPTIMIERUNG: Überspringe detaillierte Tabellen für große Dokumentationen
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
- // Behalte Tabellen-Header, überspringe Daten-Zeilen für große Dokumentationen
367
- if (interfaceCount > 10 || methodCount > 20) {
368
- // Überspringe Daten-Zeilen (nicht Header)
369
- if (line.includes('---')) {
370
- optimized.push(line); // Behalte Separator
371
- currentTokenCount += lineTokens;
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
- // Für kleinere Dokumentationen: Behalte alles
385
- optimized.push(line);
386
- currentTokenCount += lineTokens;
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
- // Reset table header flag bei neuen Abschnitten
391
- if (line.trim() === '' && tableHeaderSkipped) {
392
- tableHeaderSkipped = false;
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 alle anderen Zeilen (Kommentare, Beschreibungen)
395
- optimized.push(line);
396
- currentTokenCount += lineTokens;
397
- // Falls immer noch zu groß: Kürze bei logischem Punkt
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 finalTokenCount = Math.ceil(optimizedContent.length / 4);
410
- // Falls immer noch zu groß: Kürze am Ende
411
- if (finalTokenCount > maxTokens) {
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 codeBlockContent = [];
429
- let lastHeader = '';
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
- // Behalte Code-Blöcke (Signaturen sind wichtig)
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 (codeBlockContent.length > 0) {
443
- structure.push('```');
444
- structure.push(codeBlockContent[0]); // Nur erste Zeile (Signatur)
527
+ if (codeBlockFirstLine !== null) {
528
+ structure.push(codeBlockOpener);
529
+ structure.push(codeBlockFirstLine);
445
530
  structure.push('```');
446
531
  }
447
- codeBlockContent = [];
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
- codeBlockContent.push(line);
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.10",
5
+ "version": "0.1.14-beta.11",
6
6
  "publisher": "noyrax",
7
7
  "license": "MIT",
8
8
  "repository": {