@timmeck/brain-core 2.36.30 → 2.36.31

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.
@@ -0,0 +1,91 @@
1
+ import type Database from 'better-sqlite3';
2
+ import type { RAGEngine } from '../rag/rag-engine.js';
3
+ import type { KnowledgeGraphEngine } from '../knowledge-graph/graph-engine.js';
4
+ import type { LLMService } from '../llm/llm-service.js';
5
+ export interface ExtractedFeature {
6
+ id: number;
7
+ repo: string;
8
+ name: string;
9
+ category: FeatureCategory;
10
+ description: string;
11
+ codeSnippet: string;
12
+ filePath: string;
13
+ language: string;
14
+ usefulness: number;
15
+ applicability: string;
16
+ tags: string[];
17
+ extractedAt: string;
18
+ }
19
+ export type FeatureCategory = 'utility_function' | 'design_pattern' | 'architecture' | 'error_handling' | 'testing_pattern' | 'performance' | 'api_pattern' | 'data_structure' | 'config_pattern' | 'cli_pattern';
20
+ export interface FeatureExtractionResult {
21
+ repo: string;
22
+ featuresExtracted: number;
23
+ categories: Record<string, number>;
24
+ durationMs: number;
25
+ }
26
+ export interface FeatureSearchOptions {
27
+ category?: FeatureCategory;
28
+ repo?: string;
29
+ minUsefulness?: number;
30
+ limit?: number;
31
+ query?: string;
32
+ }
33
+ export interface FeatureStats {
34
+ totalFeatures: number;
35
+ byCategory: Record<string, number>;
36
+ byRepo: Record<string, number>;
37
+ topFeatures: ExtractedFeature[];
38
+ avgUsefulness: number;
39
+ }
40
+ export declare class FeatureExtractor {
41
+ private readonly db;
42
+ private readonly log;
43
+ private ragEngine;
44
+ private knowledgeGraph;
45
+ private llmService;
46
+ constructor(db: Database.Database);
47
+ setRAGEngine(rag: RAGEngine): void;
48
+ setKnowledgeGraph(kg: KnowledgeGraphEngine): void;
49
+ setLLMService(llm: LLMService): void;
50
+ private ensureTable;
51
+ /**
52
+ * Extract features from absorbed code via RAG search.
53
+ * Searches for interesting patterns in the absorbed_code collection.
54
+ */
55
+ extractFromAbsorbedCode(repo?: string): Promise<FeatureExtractionResult>;
56
+ /**
57
+ * Extract features from a raw code string.
58
+ */
59
+ extractFeaturesFromCode(content: string, filePath: string, repo: string, ext: string): Array<Omit<ExtractedFeature, 'id' | 'extractedAt'>>;
60
+ /**
61
+ * Extract features from code and save them to the database.
62
+ * Returns the number of features saved.
63
+ */
64
+ extractAndSave(content: string, filePath: string, repo: string, ext: string): number;
65
+ /**
66
+ * Search for features matching criteria.
67
+ */
68
+ search(options?: FeatureSearchOptions): ExtractedFeature[];
69
+ /**
70
+ * Semantic search for features using RAG.
71
+ */
72
+ semanticSearch(query: string, limit?: number): Promise<ExtractedFeature[]>;
73
+ /**
74
+ * Suggest features that could help improve Brain based on current weaknesses.
75
+ */
76
+ suggest(context?: string): Promise<ExtractedFeature[]>;
77
+ /**
78
+ * Get statistics about extracted features.
79
+ */
80
+ getStats(): FeatureStats;
81
+ private getAbsorbedCode;
82
+ private extractCodeBlock;
83
+ private calculateUsefulness;
84
+ private extractTags;
85
+ private generateBasicDescription;
86
+ private saveFeature;
87
+ /**
88
+ * Use LLM to enrich top features with better descriptions and applicability.
89
+ */
90
+ private enrichTopFeatures;
91
+ }
@@ -0,0 +1,601 @@
1
+ import { getLogger } from '../utils/logger.js';
2
+ // ── Regex patterns for feature detection ─────────────────
3
+ const FEATURE_PATTERNS = [
4
+ // Utility functions (exported, standalone)
5
+ {
6
+ category: 'utility_function',
7
+ pattern: /export\s+(?:async\s+)?function\s+(\w+)\s*\([^)]*\)[^{]*\{/g,
8
+ nameExtract: (m) => m[1],
9
+ minLines: 3,
10
+ maxLines: 50,
11
+ },
12
+ // Exported arrow functions
13
+ {
14
+ category: 'utility_function',
15
+ pattern: /export\s+const\s+(\w+)\s*=\s*(?:async\s+)?\([^)]*\)\s*(?::\s*\w[^=]*)?=>/g,
16
+ nameExtract: (m) => m[1],
17
+ minLines: 2,
18
+ maxLines: 40,
19
+ },
20
+ // Class patterns (exported classes with interesting methods)
21
+ {
22
+ category: 'design_pattern',
23
+ pattern: /export\s+(?:abstract\s+)?class\s+(\w+)(?:\s+extends\s+\w+)?(?:\s+implements\s+\w+)?\s*\{/g,
24
+ nameExtract: (m) => m[1],
25
+ minLines: 10,
26
+ maxLines: 80,
27
+ },
28
+ // Error handling patterns (custom error classes, error boundaries)
29
+ {
30
+ category: 'error_handling',
31
+ pattern: /export\s+class\s+(\w*Error\w*)\s+extends\s+(?:Error|BaseError|CustomError)\s*\{/g,
32
+ nameExtract: (m) => m[1],
33
+ minLines: 3,
34
+ maxLines: 30,
35
+ },
36
+ // Testing utilities (describe wrappers, custom matchers, test helpers)
37
+ {
38
+ category: 'testing_pattern',
39
+ pattern: /export\s+(?:async\s+)?function\s+((?:create|mock|setup|build|make)\w+)\s*\(/g,
40
+ nameExtract: (m) => m[1],
41
+ minLines: 3,
42
+ maxLines: 40,
43
+ },
44
+ // CLI patterns (command builders, argument parsers)
45
+ {
46
+ category: 'cli_pattern',
47
+ pattern: /export\s+(?:async\s+)?function\s+(\w*[Cc]ommand\w*)\s*\(/g,
48
+ nameExtract: (m) => m[1],
49
+ minLines: 5,
50
+ maxLines: 60,
51
+ },
52
+ // Config patterns (config builders, validators)
53
+ {
54
+ category: 'config_pattern',
55
+ pattern: /export\s+(?:async\s+)?function\s+((?:load|parse|validate|create)\w*[Cc]onfig\w*)\s*\(/g,
56
+ nameExtract: (m) => m[1],
57
+ minLines: 3,
58
+ maxLines: 40,
59
+ },
60
+ // Data structures (exported interfaces/types with methods)
61
+ {
62
+ category: 'data_structure',
63
+ pattern: /export\s+interface\s+(\w+)\s*\{/g,
64
+ nameExtract: (m) => m[1],
65
+ minLines: 3,
66
+ maxLines: 30,
67
+ },
68
+ // Go: public functions (capitalized)
69
+ {
70
+ category: 'utility_function',
71
+ pattern: /^func\s+([A-Z]\w+)\s*\(/gm,
72
+ nameExtract: (m) => m[1],
73
+ minLines: 3,
74
+ maxLines: 50,
75
+ },
76
+ // Go: method receivers
77
+ {
78
+ category: 'design_pattern',
79
+ pattern: /^func\s+\(\w+\s+\*?(\w+)\)\s+([A-Z]\w+)\s*\(/gm,
80
+ nameExtract: (m) => `${m[1]}.${m[2]}`,
81
+ minLines: 3,
82
+ maxLines: 50,
83
+ },
84
+ // Python: class definitions
85
+ {
86
+ category: 'design_pattern',
87
+ pattern: /^class\s+([A-Z]\w+)(?:\([^)]*\))?\s*:/gm,
88
+ nameExtract: (m) => m[1],
89
+ minLines: 5,
90
+ maxLines: 60,
91
+ },
92
+ // Python: top-level function definitions
93
+ {
94
+ category: 'utility_function',
95
+ pattern: /^def\s+([a-z_]\w+)\s*\([^)]*\)/gm,
96
+ nameExtract: (m) => m[1],
97
+ minLines: 3,
98
+ maxLines: 50,
99
+ },
100
+ // Python: async functions
101
+ {
102
+ category: 'utility_function',
103
+ pattern: /^async\s+def\s+([a-z_]\w+)\s*\([^)]*\)/gm,
104
+ nameExtract: (m) => m[1],
105
+ minLines: 3,
106
+ maxLines: 50,
107
+ },
108
+ // Rust: public functions
109
+ {
110
+ category: 'utility_function',
111
+ pattern: /pub\s+(?:async\s+)?fn\s+(\w+)\s*[(<]/gm,
112
+ nameExtract: (m) => m[1],
113
+ minLines: 3,
114
+ maxLines: 50,
115
+ },
116
+ // Rust: impl blocks
117
+ {
118
+ category: 'design_pattern',
119
+ pattern: /impl(?:<[^>]*>)?\s+(\w+)(?:\s+for\s+(\w+))?\s*\{/gm,
120
+ nameExtract: (m) => m[2] ? `${m[1]}_for_${m[2]}` : m[1],
121
+ minLines: 5,
122
+ maxLines: 80,
123
+ },
124
+ ];
125
+ // Keywords that boost usefulness score
126
+ const USEFULNESS_KEYWORDS = {
127
+ 'retry': 0.15, 'cache': 0.15, 'throttle': 0.15, 'debounce': 0.15,
128
+ 'queue': 0.12, 'pool': 0.12, 'batch': 0.12,
129
+ 'parse': 0.10, 'serialize': 0.10, 'transform': 0.10,
130
+ 'validate': 0.10, 'sanitize': 0.10,
131
+ 'hash': 0.08, 'encrypt': 0.08, 'compress': 0.08,
132
+ 'stream': 0.10, 'pipe': 0.08, 'buffer': 0.08,
133
+ 'middleware': 0.12, 'plugin': 0.12, 'hook': 0.10,
134
+ 'logger': 0.08, 'monitor': 0.10, 'metric': 0.10,
135
+ 'scheduler': 0.12, 'worker': 0.10, 'parallel': 0.10,
136
+ 'EventEmitter': 0.08, 'Observable': 0.08,
137
+ 'singleton': 0.08, 'factory': 0.10, 'builder': 0.10,
138
+ 'adapter': 0.10, 'proxy': 0.08, 'decorator': 0.08,
139
+ };
140
+ const EXT_TO_LANG = {
141
+ '.ts': 'typescript', '.tsx': 'typescript', '.js': 'javascript', '.jsx': 'javascript',
142
+ '.py': 'python', '.go': 'go', '.rs': 'rust', '.java': 'java',
143
+ '.rb': 'ruby', '.php': 'php', '.cs': 'csharp', '.swift': 'swift', '.kt': 'kotlin',
144
+ };
145
+ // ── FeatureExtractor ─────────────────────────────────────
146
+ export class FeatureExtractor {
147
+ db;
148
+ log = getLogger();
149
+ ragEngine = null;
150
+ knowledgeGraph = null;
151
+ llmService = null;
152
+ constructor(db) {
153
+ this.db = db;
154
+ this.ensureTable();
155
+ }
156
+ setRAGEngine(rag) { this.ragEngine = rag; }
157
+ setKnowledgeGraph(kg) { this.knowledgeGraph = kg; }
158
+ setLLMService(llm) { this.llmService = llm; }
159
+ ensureTable() {
160
+ this.db.exec(`
161
+ CREATE TABLE IF NOT EXISTS extracted_features (
162
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
163
+ repo TEXT NOT NULL,
164
+ name TEXT NOT NULL,
165
+ category TEXT NOT NULL,
166
+ description TEXT NOT NULL DEFAULT '',
167
+ code_snippet TEXT NOT NULL,
168
+ file_path TEXT NOT NULL,
169
+ language TEXT NOT NULL DEFAULT 'unknown',
170
+ usefulness REAL DEFAULT 0.5,
171
+ applicability TEXT DEFAULT '',
172
+ tags TEXT DEFAULT '[]',
173
+ extracted_at TEXT DEFAULT (datetime('now')),
174
+ UNIQUE(repo, name, file_path)
175
+ );
176
+ CREATE INDEX IF NOT EXISTS idx_features_repo ON extracted_features(repo);
177
+ CREATE INDEX IF NOT EXISTS idx_features_category ON extracted_features(category);
178
+ CREATE INDEX IF NOT EXISTS idx_features_usefulness ON extracted_features(usefulness DESC);
179
+ `);
180
+ }
181
+ /**
182
+ * Extract features from absorbed code via RAG search.
183
+ * Searches for interesting patterns in the absorbed_code collection.
184
+ */
185
+ async extractFromAbsorbedCode(repo) {
186
+ const start = Date.now();
187
+ const categories = {};
188
+ let featuresExtracted = 0;
189
+ const targetRepo = repo ?? 'all';
190
+ // Get absorbed code from RAG
191
+ const codeEntries = this.getAbsorbedCode(repo);
192
+ this.log.info(`[FeatureExtractor] Analyzing ${codeEntries.length} files from ${targetRepo}`);
193
+ for (const entry of codeEntries) {
194
+ try {
195
+ const features = this.extractFeaturesFromCode(entry.content, entry.filePath, entry.repo, entry.ext);
196
+ for (const feature of features) {
197
+ const saved = this.saveFeature(feature);
198
+ if (saved) {
199
+ featuresExtracted++;
200
+ categories[feature.category] = (categories[feature.category] ?? 0) + 1;
201
+ }
202
+ }
203
+ }
204
+ catch {
205
+ // skip file
206
+ }
207
+ }
208
+ // Optional: use LLM to enrich top features with descriptions
209
+ if (this.llmService && featuresExtracted > 0) {
210
+ await this.enrichTopFeatures(5);
211
+ }
212
+ this.log.info(`[FeatureExtractor] Extracted ${featuresExtracted} features from ${targetRepo}`);
213
+ return {
214
+ repo: targetRepo,
215
+ featuresExtracted,
216
+ categories,
217
+ durationMs: Date.now() - start,
218
+ };
219
+ }
220
+ /**
221
+ * Extract features from a raw code string.
222
+ */
223
+ extractFeaturesFromCode(content, filePath, repo, ext) {
224
+ const features = [];
225
+ const lines = content.split('\n');
226
+ const language = EXT_TO_LANG[ext] ?? 'unknown';
227
+ for (const fp of FEATURE_PATTERNS) {
228
+ // Only apply relevant patterns to right languages
229
+ if (fp.category === 'data_structure' && language !== 'typescript')
230
+ continue;
231
+ const regex = new RegExp(fp.pattern.source, fp.pattern.flags);
232
+ let match;
233
+ while ((match = regex.exec(content)) !== null) {
234
+ const name = fp.nameExtract(match);
235
+ if (!name || name.length < 3)
236
+ continue;
237
+ // Skip common/boring names
238
+ if (['constructor', 'toString', 'valueOf', 'default'].includes(name))
239
+ continue;
240
+ // Find the code block (from match position to closing brace)
241
+ const startLine = content.substring(0, match.index).split('\n').length - 1;
242
+ const snippet = this.extractCodeBlock(lines, startLine, fp.minLines, fp.maxLines, language);
243
+ if (!snippet || snippet.split('\n').length < fp.minLines)
244
+ continue;
245
+ // Calculate usefulness score
246
+ const usefulness = this.calculateUsefulness(name, snippet, fp.category);
247
+ // Only keep features above threshold
248
+ if (usefulness < 0.3)
249
+ continue;
250
+ // Generate tags from content
251
+ const tags = this.extractTags(name, snippet);
252
+ features.push({
253
+ repo,
254
+ name,
255
+ category: fp.category,
256
+ description: this.generateBasicDescription(name, fp.category, language),
257
+ codeSnippet: snippet,
258
+ filePath,
259
+ language,
260
+ usefulness,
261
+ applicability: '',
262
+ tags,
263
+ });
264
+ }
265
+ }
266
+ return features;
267
+ }
268
+ /**
269
+ * Extract features from code and save them to the database.
270
+ * Returns the number of features saved.
271
+ */
272
+ extractAndSave(content, filePath, repo, ext) {
273
+ const features = this.extractFeaturesFromCode(content, filePath, repo, ext);
274
+ let saved = 0;
275
+ for (const f of features) {
276
+ if (this.saveFeature(f))
277
+ saved++;
278
+ }
279
+ return saved;
280
+ }
281
+ /**
282
+ * Search for features matching criteria.
283
+ */
284
+ search(options = {}) {
285
+ const conditions = ['1=1'];
286
+ const params = [];
287
+ if (options.category) {
288
+ conditions.push('category = ?');
289
+ params.push(options.category);
290
+ }
291
+ if (options.repo) {
292
+ conditions.push('repo = ?');
293
+ params.push(options.repo);
294
+ }
295
+ if (options.minUsefulness) {
296
+ conditions.push('usefulness >= ?');
297
+ params.push(options.minUsefulness);
298
+ }
299
+ if (options.query) {
300
+ conditions.push('(name LIKE ? OR description LIKE ? OR code_snippet LIKE ?)');
301
+ const q = `%${options.query}%`;
302
+ params.push(q, q, q);
303
+ }
304
+ const limit = options.limit ?? 20;
305
+ params.push(limit);
306
+ return this.db.prepare(`
307
+ SELECT id, repo, name, category, description, code_snippet as codeSnippet,
308
+ file_path as filePath, language, usefulness, applicability,
309
+ tags, extracted_at as extractedAt
310
+ FROM extracted_features
311
+ WHERE ${conditions.join(' AND ')}
312
+ ORDER BY usefulness DESC
313
+ LIMIT ?
314
+ `).all(...params);
315
+ }
316
+ /**
317
+ * Semantic search for features using RAG.
318
+ */
319
+ async semanticSearch(query, limit = 10) {
320
+ if (!this.ragEngine)
321
+ return this.search({ query, limit });
322
+ // Search absorbed code
323
+ const results = await this.ragEngine.search(query, {
324
+ collections: ['absorbed_code'],
325
+ limit: limit * 3,
326
+ });
327
+ if (!results.length)
328
+ return [];
329
+ // Map RAG results to features by matching repo+path
330
+ const features = [];
331
+ for (const r of results) {
332
+ const meta = r.metadata;
333
+ if (!meta?.repo || !meta?.path)
334
+ continue;
335
+ const matching = this.db.prepare(`
336
+ SELECT id, repo, name, category, description, code_snippet as codeSnippet,
337
+ file_path as filePath, language, usefulness, applicability,
338
+ tags, extracted_at as extractedAt
339
+ FROM extracted_features
340
+ WHERE repo = ? AND file_path = ?
341
+ ORDER BY usefulness DESC
342
+ `).all(meta.repo, meta.path);
343
+ for (const f of matching) {
344
+ if (!features.some(e => e.id === f.id)) {
345
+ features.push(f);
346
+ }
347
+ }
348
+ if (features.length >= limit)
349
+ break;
350
+ }
351
+ return features.slice(0, limit);
352
+ }
353
+ /**
354
+ * Suggest features that could help improve Brain based on current weaknesses.
355
+ */
356
+ async suggest(context) {
357
+ // Get top features by usefulness
358
+ const topFeatures = this.search({ minUsefulness: 0.6, limit: 20 });
359
+ if (!context || !this.ragEngine)
360
+ return topFeatures;
361
+ // Use RAG to find features relevant to context
362
+ const relevant = await this.semanticSearch(context, 10);
363
+ // Merge: relevant first, then top features (deduplicated)
364
+ const seen = new Set();
365
+ const merged = [];
366
+ for (const f of [...relevant, ...topFeatures]) {
367
+ if (!seen.has(f.id)) {
368
+ seen.add(f.id);
369
+ merged.push(f);
370
+ }
371
+ }
372
+ return merged.slice(0, 15);
373
+ }
374
+ /**
375
+ * Get statistics about extracted features.
376
+ */
377
+ getStats() {
378
+ const total = this.db.prepare('SELECT COUNT(*) as c FROM extracted_features').get();
379
+ const byCategory = this.db.prepare('SELECT category, COUNT(*) as c FROM extracted_features GROUP BY category ORDER BY c DESC').all();
380
+ const byRepo = this.db.prepare('SELECT repo, COUNT(*) as c FROM extracted_features GROUP BY repo ORDER BY c DESC LIMIT 10').all();
381
+ const avg = this.db.prepare('SELECT AVG(usefulness) as avg FROM extracted_features').get();
382
+ const topFeatures = this.search({ minUsefulness: 0.6, limit: 5 });
383
+ return {
384
+ totalFeatures: total.c,
385
+ byCategory: Object.fromEntries(byCategory.map(r => [r.category, r.c])),
386
+ byRepo: Object.fromEntries(byRepo.map(r => [r.repo, r.c])),
387
+ topFeatures,
388
+ avgUsefulness: avg.avg ?? 0,
389
+ };
390
+ }
391
+ // ── Private helpers ───────────────────────────────────────
392
+ getAbsorbedCode(repo) {
393
+ // Get metadata from RAG vectors (absorbed_code collection)
394
+ try {
395
+ const condition = repo
396
+ ? `WHERE collection = 'absorbed_code' AND metadata LIKE '%"repo":"${repo.replace(/'/g, "''")}"%'`
397
+ : `WHERE collection = 'absorbed_code'`;
398
+ const rows = this.db.prepare(`
399
+ SELECT text_preview, metadata FROM rag_vectors ${condition} LIMIT 500
400
+ `).all();
401
+ return rows
402
+ .filter(r => r.metadata)
403
+ .map(r => {
404
+ const meta = JSON.parse(r.metadata);
405
+ return {
406
+ content: r.text_preview ?? '',
407
+ filePath: meta.path ?? '',
408
+ repo: meta.repo ?? 'unknown',
409
+ ext: meta.ext ?? '',
410
+ };
411
+ });
412
+ }
413
+ catch {
414
+ return [];
415
+ }
416
+ }
417
+ extractCodeBlock(lines, startLine, minLines, maxLines, language) {
418
+ // Python: indent-based block extraction
419
+ if (language === 'python') {
420
+ const block = [lines[startLine]];
421
+ const baseIndent = lines[startLine].search(/\S/);
422
+ for (let i = startLine + 1; i < lines.length && block.length < maxLines; i++) {
423
+ const line = lines[i];
424
+ if (line.trim() === '') {
425
+ block.push(line);
426
+ continue;
427
+ }
428
+ const indent = line.search(/\S/);
429
+ if (indent <= baseIndent && line.trim() !== '')
430
+ break;
431
+ block.push(line);
432
+ }
433
+ if (block.length < minLines)
434
+ return null;
435
+ return block.join('\n');
436
+ }
437
+ // Brace-based languages (JS/TS, Go, Rust, Java, C)
438
+ let depth = 0;
439
+ let started = false;
440
+ const block = [];
441
+ for (let i = startLine; i < lines.length && block.length < maxLines; i++) {
442
+ const line = lines[i];
443
+ block.push(line);
444
+ for (const ch of line) {
445
+ if (ch === '{') {
446
+ depth++;
447
+ started = true;
448
+ }
449
+ if (ch === '}')
450
+ depth--;
451
+ }
452
+ if (started && depth <= 0)
453
+ break;
454
+ }
455
+ if (block.length < minLines)
456
+ return null;
457
+ return block.join('\n');
458
+ }
459
+ calculateUsefulness(name, snippet, category) {
460
+ let score = 0.4; // base score
461
+ // Boost for category
462
+ const categoryBoost = {
463
+ utility_function: 0.1,
464
+ error_handling: 0.1,
465
+ design_pattern: 0.05,
466
+ performance: 0.15,
467
+ testing_pattern: 0.05,
468
+ api_pattern: 0.1,
469
+ cli_pattern: 0.05,
470
+ config_pattern: 0.05,
471
+ data_structure: 0.0,
472
+ architecture: 0.05,
473
+ };
474
+ score += categoryBoost[category] ?? 0;
475
+ // Boost for useful keywords in name and snippet
476
+ const lowerName = name.toLowerCase();
477
+ const lowerSnippet = snippet.toLowerCase();
478
+ for (const [keyword, boost] of Object.entries(USEFULNESS_KEYWORDS)) {
479
+ if (lowerName.includes(keyword.toLowerCase()) || lowerSnippet.includes(keyword.toLowerCase())) {
480
+ score += boost;
481
+ }
482
+ }
483
+ // Boost for JSDoc/documentation
484
+ if (snippet.includes('/**') || snippet.includes('///'))
485
+ score += 0.05;
486
+ // Boost for TypeScript types (well-typed code)
487
+ if (snippet.includes(': ') && snippet.includes('=> '))
488
+ score += 0.03;
489
+ // Penalize very short or very long snippets
490
+ const lineCount = snippet.split('\n').length;
491
+ if (lineCount < 5)
492
+ score -= 0.1;
493
+ if (lineCount > 60)
494
+ score -= 0.05;
495
+ // Penalize generic names
496
+ if (['index', 'main', 'init', 'run', 'start', 'setup'].includes(lowerName)) {
497
+ score -= 0.15;
498
+ }
499
+ return Math.max(0, Math.min(1, score));
500
+ }
501
+ extractTags(name, snippet) {
502
+ const tags = [];
503
+ const lower = (name + ' ' + snippet).toLowerCase();
504
+ if (lower.includes('async') || lower.includes('await') || lower.includes('promise'))
505
+ tags.push('async');
506
+ if (lower.includes('stream') || lower.includes('pipe'))
507
+ tags.push('streaming');
508
+ if (lower.includes('cache') || lower.includes('memo'))
509
+ tags.push('caching');
510
+ if (lower.includes('retry') || lower.includes('backoff'))
511
+ tags.push('retry');
512
+ if (lower.includes('queue') || lower.includes('batch'))
513
+ tags.push('batching');
514
+ if (lower.includes('validate') || lower.includes('schema'))
515
+ tags.push('validation');
516
+ if (lower.includes('parse') || lower.includes('serialize'))
517
+ tags.push('parsing');
518
+ if (lower.includes('test') || lower.includes('mock') || lower.includes('stub'))
519
+ tags.push('testing');
520
+ if (lower.includes('log') || lower.includes('debug') || lower.includes('trace'))
521
+ tags.push('logging');
522
+ if (lower.includes('event') || lower.includes('emit') || lower.includes('listen'))
523
+ tags.push('events');
524
+ if (lower.includes('middleware') || lower.includes('plugin') || lower.includes('hook'))
525
+ tags.push('extensible');
526
+ if (lower.includes('concurr') || lower.includes('parallel') || lower.includes('worker'))
527
+ tags.push('concurrency');
528
+ return tags.slice(0, 5);
529
+ }
530
+ generateBasicDescription(name, category, language) {
531
+ const categoryLabels = {
532
+ utility_function: 'Utility function',
533
+ design_pattern: 'Design pattern / class',
534
+ architecture: 'Architecture component',
535
+ error_handling: 'Error handling',
536
+ testing_pattern: 'Test utility',
537
+ performance: 'Performance optimization',
538
+ api_pattern: 'API pattern',
539
+ data_structure: 'Data structure / interface',
540
+ config_pattern: 'Configuration utility',
541
+ cli_pattern: 'CLI command pattern',
542
+ };
543
+ return `${categoryLabels[category] ?? 'Code'}: ${name} (${language})`;
544
+ }
545
+ saveFeature(feature) {
546
+ try {
547
+ this.db.prepare(`
548
+ INSERT OR IGNORE INTO extracted_features
549
+ (repo, name, category, description, code_snippet, file_path, language, usefulness, applicability, tags)
550
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
551
+ `).run(feature.repo, feature.name, feature.category, feature.description, feature.codeSnippet, feature.filePath, feature.language, feature.usefulness, feature.applicability, JSON.stringify(feature.tags));
552
+ return true;
553
+ }
554
+ catch {
555
+ return false; // duplicate
556
+ }
557
+ }
558
+ /**
559
+ * Use LLM to enrich top features with better descriptions and applicability.
560
+ */
561
+ async enrichTopFeatures(count) {
562
+ if (!this.llmService)
563
+ return;
564
+ const features = this.db.prepare(`
565
+ SELECT id, name, category, code_snippet as codeSnippet, language
566
+ FROM extracted_features
567
+ WHERE description = '' OR applicability = ''
568
+ ORDER BY usefulness DESC
569
+ LIMIT ?
570
+ `).all(count);
571
+ for (const f of features) {
572
+ try {
573
+ const prompt = `Analyze this ${f.language} code feature "${f.name}" (category: ${f.category}).
574
+ Return a JSON object with:
575
+ - "description": one-line description of what it does (max 100 chars)
576
+ - "applicability": how this could help an AI assistant system (max 150 chars)
577
+
578
+ Code:
579
+ \`\`\`${f.language}
580
+ ${f.codeSnippet.slice(0, 1000)}
581
+ \`\`\`
582
+
583
+ Respond with ONLY the JSON object, no markdown.`;
584
+ const response = await this.llmService.complete(prompt, {
585
+ template: 'custom',
586
+ maxTokens: 200,
587
+ });
588
+ const parsed = JSON.parse(response.text);
589
+ if (parsed.description && parsed.applicability) {
590
+ this.db.prepare(`
591
+ UPDATE extracted_features SET description = ?, applicability = ? WHERE id = ?
592
+ `).run(parsed.description, parsed.applicability, f.id);
593
+ }
594
+ }
595
+ catch {
596
+ // LLM enrichment is optional
597
+ }
598
+ }
599
+ }
600
+ }
601
+ //# sourceMappingURL=feature-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-extractor.js","sourceRoot":"","sources":["../../src/codegen/feature-extractor.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export { CodegenServer } from './codegen-server.js';
7
7
  export type { CodegenServerOptions } from './codegen-server.js';
8
8
  export { RepoAbsorber } from './repo-absorber.js';
9
9
  export type { AbsorbResult, RepoAbsorberStatus } from './repo-absorber.js';
10
+ export { FeatureExtractor } from './feature-extractor.js';
11
+ export type { ExtractedFeature, FeatureCategory, FeatureExtractionResult, FeatureSearchOptions, FeatureStats } from './feature-extractor.js';
10
12
  export type { CodeMinerConfig, RepoContent, CodeMinerSummary, ExtractedPattern, DependencyPattern, TechStack, ProjectStructure, ReadmePattern, ContextBuilderConfig, BuiltContext, CodeGeneratorConfig, GenerationTrigger, GenerationStatus, GenerationRequest, GenerationResult, GenerationRecord, CodeGeneratorSummary, } from './types.js';
@@ -4,4 +4,5 @@ export { ContextBuilder } from './context-builder.js';
4
4
  export { CodeGenerator, runCodeGeneratorMigration } from './code-generator.js';
5
5
  export { CodegenServer } from './codegen-server.js';
6
6
  export { RepoAbsorber } from './repo-absorber.js';
7
+ export { FeatureExtractor } from './feature-extractor.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -2,12 +2,14 @@ import type Database from 'better-sqlite3';
2
2
  import type { ThoughtStream } from '../consciousness/thought-stream.js';
3
3
  import type { RAGEngine } from '../rag/rag-engine.js';
4
4
  import type { KnowledgeGraphEngine } from '../knowledge-graph/graph-engine.js';
5
+ import type { FeatureExtractor } from './feature-extractor.js';
5
6
  export interface AbsorbResult {
6
7
  repo: string;
7
8
  filesScanned: number;
8
9
  patternsFound: number;
9
10
  factsExtracted: number;
10
11
  ragVectorsAdded: number;
12
+ featuresExtracted: number;
11
13
  durationMs: number;
12
14
  }
13
15
  export interface RepoAbsorberStatus {
@@ -27,12 +29,14 @@ export declare class RepoAbsorber {
27
29
  private thoughtStream;
28
30
  private ragEngine;
29
31
  private knowledgeGraph;
32
+ private featureExtractor;
30
33
  private totalAbsorbed;
31
34
  private lastAbsorbed;
32
35
  constructor(db: Database.Database);
33
36
  setThoughtStream(ts: ThoughtStream): void;
34
37
  setRAGEngine(rag: RAGEngine): void;
35
38
  setKnowledgeGraph(kg: KnowledgeGraphEngine): void;
39
+ setFeatureExtractor(fe: FeatureExtractor): void;
36
40
  private ensureTable;
37
41
  /**
38
42
  * Pick the next repo to absorb from TechRadar + DataScout discoveries.
@@ -27,6 +27,7 @@ export class RepoAbsorber {
27
27
  thoughtStream = null;
28
28
  ragEngine = null;
29
29
  knowledgeGraph = null;
30
+ featureExtractor = null;
30
31
  totalAbsorbed = 0;
31
32
  lastAbsorbed = null;
32
33
  constructor(db) {
@@ -36,6 +37,7 @@ export class RepoAbsorber {
36
37
  setThoughtStream(ts) { this.thoughtStream = ts; }
37
38
  setRAGEngine(rag) { this.ragEngine = rag; }
38
39
  setKnowledgeGraph(kg) { this.knowledgeGraph = kg; }
40
+ setFeatureExtractor(fe) { this.featureExtractor = fe; }
39
41
  ensureTable() {
40
42
  this.db.exec(`
41
43
  CREATE TABLE IF NOT EXISTS absorbed_repos (
@@ -127,12 +129,13 @@ export class RepoAbsorber {
127
129
  const start = Date.now();
128
130
  this.thoughtStream?.emit('repo_absorber', 'perceiving', `Absorbing repo: ${candidate.name}...`, 'notable');
129
131
  const tmpDir = path.join(os.tmpdir(), `brain-absorb-${Date.now()}`);
130
- let result = {
132
+ const result = {
131
133
  repo: candidate.name,
132
134
  filesScanned: 0,
133
135
  patternsFound: 0,
134
136
  factsExtracted: 0,
135
137
  ragVectorsAdded: 0,
138
+ featuresExtracted: 0,
136
139
  durationMs: 0,
137
140
  };
138
141
  try {
@@ -177,6 +180,13 @@ export class RepoAbsorber {
177
180
  result.factsExtracted++;
178
181
  }
179
182
  }
183
+ // Extract reusable features (functions, classes, patterns)
184
+ if (this.featureExtractor) {
185
+ try {
186
+ result.featuresExtracted += this.featureExtractor.extractAndSave(content, file.relativePath, candidate.name, file.ext);
187
+ }
188
+ catch { /* feature extraction is optional */ }
189
+ }
180
190
  result.patternsFound += this.countPatterns(content, file.ext);
181
191
  }
182
192
  catch { /* read error, skip */ }
@@ -1 +1 @@
1
- {"version":3,"file":"repo-absorber.js","sourceRoot":"","sources":["../../src/codegen/repo-absorber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-absorber.js","sourceRoot":"","sources":["../../src/codegen/repo-absorber.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -126,6 +126,8 @@ export type { CodeMinerConfig, RepoContent, CodeMinerSummary, ExtractedPattern,
126
126
  export type { SelfImprovementProposal } from './codegen/index.js';
127
127
  export { RepoAbsorber } from './codegen/index.js';
128
128
  export type { AbsorbResult, RepoAbsorberStatus } from './codegen/index.js';
129
+ export { FeatureExtractor } from './codegen/index.js';
130
+ export type { ExtractedFeature, FeatureCategory, FeatureExtractionResult, FeatureSearchOptions, FeatureStats } from './codegen/index.js';
129
131
  export { AttentionEngine } from './attention/index.js';
130
132
  export type { AttentionEngineConfig, AttentionScore, AttentionStatus, WorkContext, ContextSwitch, FocusEntry, EngineWeight, } from './attention/index.js';
131
133
  export { TransferEngine } from './transfer/index.js';
package/dist/index.js CHANGED
@@ -111,6 +111,7 @@ export { ContextBuilder } from './codegen/index.js';
111
111
  export { CodeGenerator, runCodeGeneratorMigration } from './codegen/index.js';
112
112
  export { CodegenServer } from './codegen/index.js';
113
113
  export { RepoAbsorber } from './codegen/index.js';
114
+ export { FeatureExtractor } from './codegen/index.js';
114
115
  // ── Attention Engine ──────────────────────────────────
115
116
  export { AttentionEngine } from './attention/index.js';
116
117
  // ── Transfer Engine ──────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmeck/brain-core",
3
- "version": "2.36.30",
3
+ "version": "2.36.31",
4
4
  "description": "Shared core infrastructure for the Brain ecosystem — IPC, MCP, CLI, DB connection, and utilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",