@timmeck/brain-core 2.36.30 → 2.36.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/codegen/feature-extractor.d.ts +91 -0
- package/dist/codegen/feature-extractor.js +602 -0
- package/dist/codegen/feature-extractor.js.map +1 -0
- package/dist/codegen/index.d.ts +2 -0
- package/dist/codegen/index.js +1 -0
- package/dist/codegen/index.js.map +1 -1
- package/dist/codegen/repo-absorber.d.ts +4 -0
- package/dist/codegen/repo-absorber.js +11 -1
- package/dist/codegen/repo-absorber.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://github.com/timmeck/brain-ecosystem)
|
|
7
7
|
|
|
8
|
-
**Shared infrastructure for the Brain Ecosystem —
|
|
8
|
+
**Shared infrastructure for the Brain Ecosystem — 72+ autonomous engines, synapses, IPC, MCP, LLM service, consciousness, research missions, notifications, self-modification, RAG, Knowledge Graph, code assimilation, and more.**
|
|
9
9
|
|
|
10
|
-
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A
|
|
10
|
+
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A 49-step feedback orchestrator runs 72+ engines in autonomic cycles — the brain observes itself, forms hypotheses, runs experiments, dreams, debates, reasons in chains, feels emotions, evolves strategies genetically, absorbs code from other repos, extracts reusable features, and modifies its own source code. Full intelligence suite: RAG pipeline, Knowledge Graph, semantic compression, RLHF feedback, tool learning, proactive suggestions, user modeling, code health monitor, inter-brain teaching, consensus voting, active learning, code assimilation with feature extraction.
|
|
11
11
|
|
|
12
12
|
## What's Included
|
|
13
13
|
|
|
@@ -42,7 +42,7 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
42
42
|
| **A* Pathfinding** | Find shortest paths between nodes |
|
|
43
43
|
| **Wilson Score** | Statistical confidence intervals for win rates |
|
|
44
44
|
|
|
45
|
-
###
|
|
45
|
+
### 72+ Autonomous Engines
|
|
46
46
|
|
|
47
47
|
#### Observation & Data
|
|
48
48
|
|
|
@@ -178,7 +178,7 @@ const llm = new LLMService(db, {
|
|
|
178
178
|
ollamaBaseUrl: 'http://localhost:11434',
|
|
179
179
|
});
|
|
180
180
|
|
|
181
|
-
// 3. Research Orchestrator (
|
|
181
|
+
// 3. Research Orchestrator (72+ engines, 49-step feedback cycle)
|
|
182
182
|
const orchestrator = new ResearchOrchestrator(db, { brainName: 'my-brain' });
|
|
183
183
|
orchestrator.start();
|
|
184
184
|
|
|
@@ -200,7 +200,7 @@ dashboard.start();
|
|
|
200
200
|
| [Brain](../brain) | Error memory, code intelligence, full autonomy & self-modification | 7777/7778/7788/7790 |
|
|
201
201
|
| [Trading Brain](../trading-brain) | Adaptive trading intelligence with signal learning & paper trading | 7779/7780 |
|
|
202
202
|
| [Marketing Brain](../marketing-brain) | Content strategy, social engagement & cross-platform optimization | 7781/7782/7783 |
|
|
203
|
-
| **Brain Core** (this) | Shared infrastructure —
|
|
203
|
+
| **Brain Core** (this) | Shared infrastructure — 72+ engines | — |
|
|
204
204
|
|
|
205
205
|
## Support
|
|
206
206
|
|
|
@@ -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,602 @@
|
|
|
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.call('custom', prompt, {
|
|
585
|
+
maxTokens: 200,
|
|
586
|
+
});
|
|
587
|
+
if (!response)
|
|
588
|
+
continue;
|
|
589
|
+
const parsed = JSON.parse(response.text);
|
|
590
|
+
if (parsed.description && parsed.applicability) {
|
|
591
|
+
this.db.prepare(`
|
|
592
|
+
UPDATE extracted_features SET description = ?, applicability = ? WHERE id = ?
|
|
593
|
+
`).run(parsed.description, parsed.applicability, f.id);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
// LLM enrichment is optional
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
//# 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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"}
|
package/dist/codegen/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/codegen/index.js
CHANGED
|
@@ -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
|
-
|
|
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