@simpletoolsindiaorg/engi-mcp 1.1.0 → 1.2.0

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/CHANGELOG.md CHANGED
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.0] - 2026-03-16
9
+
10
+ ### Added
11
+ - **RAG Engine** (`src/core/rag/rag.ts`) — chunks file content into function/class bodies, scores via TF-IDF term overlap, cached by `lastIndexed`
12
+ - **`RagEngine.retrieve()`** — semantic keyword retrieval across all indexed chunks
13
+ - **`RagEngine.retrieveByLiteral()`** — literal string search (error codes, symbol names) for bug tracing
14
+ - **`FlowStep.snippet`** — RAG-retrieved code snippet attached to each flow step (standard/detailed verbosity)
15
+ - **`BugCause.snippet`** — actual code near the suspected bug location, attached by RAG
16
+ - **Summarizer: RAG-augmented flow summaries** — each step now carries a real code snippet from the file, not just file name + export list
17
+ - **Summarizer: RAG-augmented bug traces** — literal + semantic retrieval finds the exact function containing the bug; cause includes file, symbol, and snippet
18
+ - **Summarizer: RAG-augmented doc context** — code examples pulled from actual file content via semantic search, replacing fragile regex extraction
19
+
20
+ ### Changed
21
+ - `SummarizationEngine.generateFlowSummary` now uses RAG to attach code snippets to steps
22
+ - `SummarizationEngine.traceBug` runs both literal + semantic RAG retrieval; merges results, enriches causes
23
+ - `SummarizationEngine.buildDocContext` uses RAG for example extraction instead of manual regex
24
+ - Audience notes expanded: `api`, `pm`, `qa` cases added to `generateAudienceNote`
25
+ - `FlowStep` and `BugCause` interfaces extended with optional `snippet` field
26
+
27
+ ## [1.1.1] - 2026-03-16
28
+
29
+ ### Fixed
30
+ - **Indexer**: `extractExportsImports` used `match[2]` for `TS_IMPORT` regex which only has one capture group — imports were always `undefined`, crashing `impact_analyze` and `buildArchitectureMap`
31
+ - **Indexer**: Python import extraction now guards against undefined match groups
32
+
8
33
  ## [1.1.0] - 2026-03-16
9
34
 
10
35
  ### Performance Improvements
@@ -245,11 +245,15 @@ class RepoIndexer {
245
245
  exports.push(...match[1].split(',').map(s => s.trim()).filter(Boolean));
246
246
  }
247
247
  rx = new RegExp(TS_IMPORT.source, 'g');
248
- while ((match = rx.exec(content)) !== null)
249
- imports.push(match[2]);
248
+ while ((match = rx.exec(content)) !== null) {
249
+ if (match[1])
250
+ imports.push(match[1]);
251
+ }
250
252
  rx = new RegExp(TS_REQUIRE.source, 'g');
251
- while ((match = rx.exec(content)) !== null)
252
- imports.push(match[1]);
253
+ while ((match = rx.exec(content)) !== null) {
254
+ if (match[1])
255
+ imports.push(match[1]);
256
+ }
253
257
  }
254
258
  else if (language === 'python') {
255
259
  let rx, match;
@@ -257,8 +261,11 @@ class RepoIndexer {
257
261
  while ((match = rx.exec(content)) !== null)
258
262
  exports.push(match[1]);
259
263
  rx = new RegExp(PY_IMPORT.source, 'gm');
260
- while ((match = rx.exec(content)) !== null)
261
- imports.push(match[1] || match[2]);
264
+ while ((match = rx.exec(content)) !== null) {
265
+ const m = match[1] || match[2];
266
+ if (m)
267
+ imports.push(m);
268
+ }
262
269
  }
263
270
  return { exports, imports };
264
271
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/core/indexer/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/core/indexer/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { RagEngine, getRagEngine } from './rag.js';
2
+ export type { CodeChunk, RetrievedChunk } from './rag.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/rag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRagEngine = exports.RagEngine = void 0;
4
+ var rag_js_1 = require("./rag.js");
5
+ Object.defineProperty(exports, "RagEngine", { enumerable: true, get: function () { return rag_js_1.RagEngine; } });
6
+ Object.defineProperty(exports, "getRagEngine", { enumerable: true, get: function () { return rag_js_1.getRagEngine; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/rag/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmD;AAA1C,mGAAA,SAAS,OAAA;AAAE,sGAAA,YAAY,OAAA"}
@@ -0,0 +1,38 @@
1
+ import { RepositoryIndex } from '../types.js';
2
+ export interface CodeChunk {
3
+ file: string;
4
+ symbol: string;
5
+ type: 'function' | 'class' | 'method' | 'block';
6
+ startLine: number;
7
+ content: string;
8
+ tokens: number;
9
+ terms: Map<string, number>;
10
+ }
11
+ export interface RetrievedChunk {
12
+ file: string;
13
+ symbol: string;
14
+ snippet: string;
15
+ score: number;
16
+ reason: string;
17
+ }
18
+ export declare class RagEngine {
19
+ /**
20
+ * Retrieve the top-K code chunks most relevant to `query`, optionally
21
+ * restricting to `files` (relative paths).
22
+ */
23
+ retrieve(query: string, index: RepositoryIndex, options?: {
24
+ files?: string[];
25
+ topK?: number;
26
+ }): RetrievedChunk[];
27
+ /**
28
+ * Retrieve chunks that contain any of the given literal strings (e.g. error
29
+ * codes, symbol names). Used for bug tracing.
30
+ */
31
+ retrieveByLiteral(literals: string[], index: RepositoryIndex, options?: {
32
+ files?: string[];
33
+ topK?: number;
34
+ }): RetrievedChunk[];
35
+ private getChunks;
36
+ }
37
+ export declare function getRagEngine(): RagEngine;
38
+ //# sourceMappingURL=rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../../src/core/rag/rag.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AA6BD,qBAAa,SAAS;IAEpB;;;OAGG;IACH,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAChD,cAAc,EAAE;IA2BnB;;;OAGG;IACH,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAChD,cAAc,EAAE;IA+BnB,OAAO,CAAC,SAAS;CAQlB;AA+ID,wBAAgB,YAAY,IAAI,SAAS,CAGxC"}
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.RagEngine = void 0;
37
+ exports.getRagEngine = getRagEngine;
38
+ // RAG Engine — Retrieval-Augmented Generation for code summaries
39
+ // Chunks file content into function/class bodies, scores by TF-IDF keyword
40
+ // overlap, and returns compact snippets that augment metadata-only summaries.
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ // ── Constants ────────────────────────────────────────────────────────────────
44
+ const MAX_CHUNK_LINES = 40; // cap body extraction at 40 lines
45
+ const MAX_SNIPPET_LINES = 12; // what we return to the caller
46
+ const MAX_RESULTS = 5; // top-K per retrieve() call
47
+ const MIN_SCORE = 0.05; // discard near-zero matches
48
+ // Shared with retriever — stop words that carry no discriminating signal
49
+ const STOP = new Set([
50
+ 'function', 'class', 'method', 'const', 'let', 'var', 'return', 'import', 'export',
51
+ 'async', 'await', 'the', 'and', 'for', 'with', 'this', 'that', 'from', 'type',
52
+ 'interface', 'new', 'not', 'if', 'else', 'try', 'catch', 'throw', 'get', 'set',
53
+ 'public', 'private', 'protected', 'readonly', 'static', 'void', 'any', 'true', 'false',
54
+ 'null', 'undefined', 'string', 'number', 'boolean', 'object', 'array',
55
+ ]);
56
+ // Regex patterns for detecting chunk start lines
57
+ const CHUNK_START_RE = /^(?:export\s+)?(?:async\s+)?(?:function\s+(\w+)|class\s+(\w+)|(?:const|let)\s+(\w+)\s*=\s*(?:async\s+)?\(|(?: |\t)(?:async\s+)?(\w+)\s*\()/;
58
+ let chunkCache = null;
59
+ // ── Public API ────────────────────────────────────────────────────────────────
60
+ class RagEngine {
61
+ /**
62
+ * Retrieve the top-K code chunks most relevant to `query`, optionally
63
+ * restricting to `files` (relative paths).
64
+ */
65
+ retrieve(query, index, options = {}) {
66
+ const chunks = this.getChunks(index);
67
+ const topK = options.topK ?? MAX_RESULTS;
68
+ const fileSet = options.files ? new Set(options.files) : null;
69
+ const queryTerms = extractTerms(query);
70
+ if (queryTerms.size === 0)
71
+ return [];
72
+ const scored = [];
73
+ for (const chunk of chunks) {
74
+ if (fileSet && !fileSet.has(chunk.file))
75
+ continue;
76
+ const { score, reason } = scoreChunk(queryTerms, chunk.terms, chunk.symbol);
77
+ if (score >= MIN_SCORE)
78
+ scored.push({ chunk, score, reason });
79
+ }
80
+ scored.sort((a, b) => b.score - a.score);
81
+ return scored.slice(0, topK).map(({ chunk, score, reason }) => ({
82
+ file: chunk.file,
83
+ symbol: chunk.symbol,
84
+ snippet: trimSnippet(chunk.content, MAX_SNIPPET_LINES),
85
+ score: Math.round(score * 100) / 100,
86
+ reason,
87
+ }));
88
+ }
89
+ /**
90
+ * Retrieve chunks that contain any of the given literal strings (e.g. error
91
+ * codes, symbol names). Used for bug tracing.
92
+ */
93
+ retrieveByLiteral(literals, index, options = {}) {
94
+ const chunks = this.getChunks(index);
95
+ const topK = options.topK ?? MAX_RESULTS;
96
+ const fileSet = options.files ? new Set(options.files) : null;
97
+ const lits = literals.map(l => l.toLowerCase());
98
+ const scored = [];
99
+ for (const chunk of chunks) {
100
+ if (fileSet && !fileSet.has(chunk.file))
101
+ continue;
102
+ const lower = chunk.content.toLowerCase();
103
+ const hits = lits.filter(l => lower.includes(l));
104
+ if (hits.length > 0) {
105
+ const score = hits.length / lits.length;
106
+ scored.push({ chunk, score, reason: `literal:${hits.slice(0, 3).join(',')}` });
107
+ }
108
+ }
109
+ scored.sort((a, b) => b.score - a.score);
110
+ return scored.slice(0, topK).map(({ chunk, score, reason }) => ({
111
+ file: chunk.file,
112
+ symbol: chunk.symbol,
113
+ snippet: trimSnippet(chunk.content, MAX_SNIPPET_LINES),
114
+ score: Math.round(score * 100) / 100,
115
+ reason,
116
+ }));
117
+ }
118
+ // ── Private ──────────────────────────────────────────────────────────────
119
+ getChunks(index) {
120
+ if (chunkCache && chunkCache.indexedAt === index.lastIndexed) {
121
+ return chunkCache.chunks;
122
+ }
123
+ const chunks = buildChunkIndex(index);
124
+ chunkCache = { chunks, indexedAt: index.lastIndexed };
125
+ return chunks;
126
+ }
127
+ }
128
+ exports.RagEngine = RagEngine;
129
+ // ── Chunk building ────────────────────────────────────────────────────────────
130
+ function buildChunkIndex(index) {
131
+ const chunks = [];
132
+ for (const [filePath, file] of index.files) {
133
+ if (file.type !== 'source' && file.type !== 'test')
134
+ continue;
135
+ if (!['typescript', 'javascript', 'python', 'go'].includes(file.language))
136
+ continue;
137
+ const absPath = path.join(index.rootPath, filePath);
138
+ let content;
139
+ try {
140
+ content = fs.readFileSync(absPath, 'utf-8');
141
+ }
142
+ catch {
143
+ continue;
144
+ }
145
+ const fileChunks = extractChunks(content, filePath, file.language);
146
+ chunks.push(...fileChunks);
147
+ }
148
+ return chunks;
149
+ }
150
+ function extractChunks(content, filePath, language) {
151
+ const lines = content.split('\n');
152
+ const chunks = [];
153
+ for (let i = 0; i < lines.length; i++) {
154
+ const line = lines[i];
155
+ const match = CHUNK_START_RE.exec(line);
156
+ if (!match)
157
+ continue;
158
+ const symbol = match[1] || match[2] || match[3] || match[4];
159
+ if (!symbol || symbol.length < 2)
160
+ continue;
161
+ const type = line.includes('class ') ? 'class'
162
+ : match[4] ? 'method'
163
+ : line.includes('function') || line.includes('=>') || line.includes('= (') ? 'function'
164
+ : 'block';
165
+ // Extract body by brace counting
166
+ const bodyLines = extractBody(lines, i, MAX_CHUNK_LINES);
167
+ if (bodyLines.length < 2)
168
+ continue;
169
+ const chunkContent = bodyLines.join('\n');
170
+ chunks.push({
171
+ file: filePath,
172
+ symbol,
173
+ type,
174
+ startLine: i + 1,
175
+ content: chunkContent,
176
+ tokens: estimateChunkTokens(chunkContent),
177
+ terms: extractTerms(chunkContent + ' ' + symbol),
178
+ });
179
+ }
180
+ return chunks;
181
+ }
182
+ function extractBody(lines, startIdx, maxLines) {
183
+ const body = [lines[startIdx]];
184
+ let depth = 0;
185
+ let started = false;
186
+ for (let i = startIdx; i < Math.min(lines.length, startIdx + maxLines); i++) {
187
+ const line = lines[i];
188
+ for (const ch of line) {
189
+ if (ch === '{' || ch === '(') {
190
+ depth++;
191
+ started = true;
192
+ }
193
+ else if (ch === '}' || ch === ')')
194
+ depth--;
195
+ }
196
+ if (i > startIdx)
197
+ body.push(line);
198
+ if (started && depth <= 0)
199
+ break;
200
+ }
201
+ return body;
202
+ }
203
+ // ── Scoring ───────────────────────────────────────────────────────────────────
204
+ function scoreChunk(queryTerms, chunkTerms, symbol) {
205
+ let score = 0;
206
+ const hits = [];
207
+ const symbolLower = symbol.toLowerCase();
208
+ for (const [term, qFreq] of queryTerms) {
209
+ const cFreq = chunkTerms.get(term) ?? 0;
210
+ if (cFreq > 0) {
211
+ // TF-IDF approximation: boost rare terms (short term = common = lower weight)
212
+ const idfBoost = term.length > 5 ? 1.5 : 1.0;
213
+ score += Math.min(qFreq, cFreq) * idfBoost;
214
+ hits.push(term);
215
+ }
216
+ // Symbol name match is a strong signal
217
+ if (symbolLower.includes(term) || term.includes(symbolLower)) {
218
+ score += 3.0;
219
+ if (!hits.includes(term))
220
+ hits.push(`sym:${term}`);
221
+ }
222
+ }
223
+ // Normalize by query size
224
+ const normalized = score / Math.max(queryTerms.size, 1);
225
+ return { score: normalized, reason: hits.slice(0, 4).join(',') };
226
+ }
227
+ // ── Term extraction ───────────────────────────────────────────────────────────
228
+ function extractTerms(text) {
229
+ const freq = new Map();
230
+ // Split on non-word chars, also split camelCase
231
+ const words = text
232
+ .replace(/([a-z])([A-Z])/g, '$1 $2') // camelCase → camel Case
233
+ .toLowerCase()
234
+ .split(/[^\w]+/);
235
+ for (const w of words) {
236
+ if (w.length > 2 && !STOP.has(w) && !/^\d+$/.test(w)) {
237
+ freq.set(w, (freq.get(w) ?? 0) + 1);
238
+ }
239
+ }
240
+ return freq;
241
+ }
242
+ // ── Helpers ───────────────────────────────────────────────────────────────────
243
+ function trimSnippet(content, maxLines) {
244
+ const lines = content.split('\n');
245
+ if (lines.length <= maxLines)
246
+ return content;
247
+ // Keep first N lines + indicate truncation
248
+ return lines.slice(0, maxLines).join('\n') + '\n // ...';
249
+ }
250
+ function estimateChunkTokens(content) {
251
+ return Math.ceil(content.length / 4);
252
+ }
253
+ // ── Singleton ─────────────────────────────────────────────────────────────────
254
+ let ragInstance = null;
255
+ function getRagEngine() {
256
+ if (!ragInstance)
257
+ ragInstance = new RagEngine();
258
+ return ragInstance;
259
+ }
260
+ //# sourceMappingURL=rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../../src/core/rag/rag.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,11 @@
1
1
  import { FlowSummary, BugTraceResult, DocContext } from '../types.js';
2
2
  export declare class SummarizationEngine {
3
- /**
4
- * Generate a flow summary for the codebase or specific files
5
- */
6
3
  generateFlowSummary(options: {
7
4
  scope?: string[];
8
5
  entryPoint?: string;
9
6
  verbosity?: 'minimal' | 'standard' | 'detailed';
10
7
  }): Promise<FlowSummary>;
11
- /**
12
- * Trace likely bug causes from symptom description
13
- */
14
8
  traceBug(symptom: string, scope?: string[]): Promise<BugTraceResult>;
15
- /**
16
- * Build documentation context for a feature or change
17
- */
18
9
  buildDocContext(options: {
19
10
  feature?: string;
20
11
  changedFiles?: string[];
@@ -26,7 +17,6 @@ export declare class SummarizationEngine {
26
17
  private generateSummaryText;
27
18
  private getFilesImporting;
28
19
  private generateHandle;
29
- private extractExampleCode;
30
20
  private generateAudienceNote;
31
21
  }
32
22
  export declare function getSummarizationEngine(): SummarizationEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../../src/core/summarizer/summarizer.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,WAAW,EAEX,cAAc,EAEd,UAAU,EAGX,MAAM,aAAa,CAAC;AAIrB,qBAAa,mBAAmB;IAC9B;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;KACjD,GAAG,OAAO,CAAC,WAAW,CAAC;IAsExB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAyF1E;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEvB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,oBAAoB;CAU7B;AAKD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D"}
1
+ {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../../src/core/summarizer/summarizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAEX,cAAc,EAEd,UAAU,EAGX,MAAM,aAAa,CAAC;AAWrB,qBAAa,mBAAmB;IAIxB,mBAAmB,CAAC,OAAO,EAAE;QACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;KACjD,GAAG,OAAO,CAAC,WAAW,CAAC;IA0ElB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAqGpE,eAAe,CAAC,OAAO,EAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6DvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,oBAAoB;CAU7B;AAyBD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAG5D"}
@@ -35,307 +35,293 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SummarizationEngine = void 0;
37
37
  exports.getSummarizationEngine = getSummarizationEngine;
38
- // Summarization Layer - Generate compact summaries for code flows, bug traces, and docs
39
- const fs = __importStar(require("fs"));
38
+ // Summarization Layer - Metadata summaries augmented by RAG code snippets.
39
+ // Flow: metadata-only → RAG retrieves top-K relevant chunks → snippets embedded
40
+ // in steps/causes → richer output with near-zero extra token cost.
40
41
  const path = __importStar(require("path"));
41
42
  const indexer_js_1 = require("../indexer/indexer.js");
43
+ const rag_js_1 = require("../rag/rag.js");
44
+ // ── Token budget for RAG snippets ────────────────────────────────────────────
45
+ // These limits keep RAG from blowing up the output token count.
46
+ const FLOW_MAX_SNIPPETS = 4; // max chunks injected into a flow summary
47
+ const BUG_MAX_SNIPPETS = 3; // max chunks injected into a bug trace
48
+ const DOC_MAX_EXAMPLES = 3; // max code examples for doc context
49
+ const SNIPPET_MAX_LINES = 10; // each snippet capped at 10 lines
42
50
  class SummarizationEngine {
43
- /**
44
- * Generate a flow summary for the codebase or specific files
45
- */
51
+ // ── Flow Summary ────────────────────────────────────────────────────────────
46
52
  async generateFlowSummary(options) {
47
- const indexer = (0, indexer_js_1.getIndexer)();
48
- const index = indexer.getIndex();
49
- if (!index) {
53
+ const index = (0, indexer_js_1.getIndexer)().getIndex();
54
+ if (!index)
50
55
  return this.emptyFlowSummary();
51
- }
52
56
  const files = options.scope
53
57
  ? options.scope.map(p => index.files.get(p)).filter(Boolean)
54
58
  : Array.from(index.files.values()).filter(f => f.type === 'source').slice(0, 10);
55
- if (files.length === 0) {
59
+ if (files.length === 0)
56
60
  return this.emptyFlowSummary();
57
- }
61
+ const verbosity = options.verbosity ?? 'standard';
58
62
  const steps = [];
59
- const keyFiles = [];
60
63
  const keySymbols = [];
61
- // Generate steps based on file analysis
64
+ // ── RAG: retrieve code chunks relevant to the scope ──────────────────────
65
+ const scopePaths = files.map((f) => f.path);
66
+ const scopeQuery = scopePaths.map((p) => path.basename(p, path.extname(p))).join(' ');
67
+ const ragChunks = (0, rag_js_1.getRagEngine)().retrieve(scopeQuery, index, {
68
+ files: scopePaths,
69
+ topK: FLOW_MAX_SNIPPETS,
70
+ });
71
+ // Build a map: file → best chunk for that file
72
+ const bestChunk = new Map();
73
+ for (const c of ragChunks) {
74
+ if (!bestChunk.has(c.file))
75
+ bestChunk.set(c.file, c.snippet);
76
+ }
77
+ // ── Build flow steps ─────────────────────────────────────────────────────
62
78
  for (let i = 0; i < files.length; i++) {
63
79
  const file = files[i];
80
+ const importedBy = this.getFilesImporting(file.path, index);
81
+ // Describe the step from actual exports + import graph
82
+ const topExports = file.exports.slice(0, 3).join(', ');
83
+ let description;
64
84
  if (i === 0) {
65
- steps.push({
66
- order: 1,
67
- description: `Entry point: ${file.name}`,
68
- file: file.path
69
- });
85
+ description = `Entry: ${file.name}` + (topExports ? ` — exports ${topExports}` : '');
86
+ }
87
+ else if (importedBy.length > 0) {
88
+ description = `${file.name} used by ${importedBy.length} file(s)` + (topExports ? ` · exports ${topExports}` : '');
70
89
  }
71
90
  else {
72
- // Analyze imports to determine flow
73
- const importedBy = this.getFilesImporting(file.path, index);
74
- if (importedBy.length > 0) {
75
- steps.push({
76
- order: steps.length + 1,
77
- description: `${file.name} is used by ${importedBy.length} file(s)`,
78
- file: file.path
79
- });
80
- }
81
- else {
82
- steps.push({
83
- order: steps.length + 1,
84
- description: `Dependency: ${file.name}`,
85
- file: file.path
86
- });
87
- }
91
+ description = `${file.name}` + (topExports ? ` — exports ${topExports}` : '');
88
92
  }
89
- keyFiles.push(file.path);
90
- // Extract key symbols
91
- const symbols = index.symbols.get(file.path) || [];
92
- for (const symbol of symbols.slice(0, 3)) {
93
- keySymbols.push(`${symbol.name} (${symbol.type})`);
93
+ const step = {
94
+ order: i + 1,
95
+ description,
96
+ file: file.path,
97
+ symbol: file.exports[0],
98
+ };
99
+ // ── Attach RAG snippet for detailed / standard verbosity ─────────────
100
+ if (verbosity !== 'minimal' && bestChunk.has(file.path)) {
101
+ step.snippet = limitLines(bestChunk.get(file.path), SNIPPET_MAX_LINES);
94
102
  }
103
+ steps.push(step);
104
+ // Collect key symbols
105
+ const symbols = index.symbols.get(file.path) ?? [];
106
+ for (const sym of symbols.slice(0, 3))
107
+ keySymbols.push(`${sym.name} (${sym.type})`);
95
108
  }
96
- const summary = this.generateSummaryText(steps, options.verbosity || 'standard');
97
109
  return {
98
- summary,
110
+ summary: this.generateSummaryText(steps, verbosity),
99
111
  steps,
100
- keyFiles,
101
- keySymbols: keySymbols.slice(0, 10),
102
- entryPoint: options.entryPoint || files[0]?.path,
103
- handle: this.generateHandle('flow', files.map(f => f.path).join(','))
112
+ keyFiles: files.map((f) => f.path),
113
+ keySymbols: keySymbols.slice(0, 12),
114
+ entryPoint: options.entryPoint ?? files[0]?.path,
115
+ handle: this.generateHandle('flow', scopePaths.join(',')),
104
116
  };
105
117
  }
106
- /**
107
- * Trace likely bug causes from symptom description
108
- */
118
+ // ── Bug Trace ───────────────────────────────────────────────────────────────
109
119
  async traceBug(symptom, scope) {
110
- const indexer = (0, indexer_js_1.getIndexer)();
111
- const index = indexer.getIndex();
112
- if (!index) {
120
+ const index = (0, indexer_js_1.getIndexer)().getIndex();
121
+ if (!index)
113
122
  return this.emptyBugTrace();
114
- }
115
- // Analyze symptom to find likely causes
123
+ const symptomLower = symptom.toLowerCase();
116
124
  const likelyCauses = [];
117
- const suspectFiles = [];
125
+ const suspectFiles = new Set();
118
126
  const suspectSymbols = [];
119
- // Parse symptom keywords
120
- const symptomLower = symptom.toLowerCase();
121
- // Check for common bug patterns
122
- if (symptomLower.includes('null') || symptomLower.includes('undefined') || symptomLower.includes('cannot read')) {
123
- likelyCauses.push({
124
- description: 'Potential null/undefined access - check for missing null guards',
125
- likelihood: 0.8,
126
- type: 'null_undefined'
127
- });
127
+ // ── Pattern-based cause detection (same as before) ───────────────────────
128
+ if (symptomLower.match(/null|undefined|cannot read|is not a function/)) {
129
+ likelyCauses.push({ type: 'null_undefined', likelihood: 0.85,
130
+ description: 'Null/undefined access — check for missing null guards before dereferencing' });
128
131
  }
129
- if (symptomLower.includes('async') || symptomLower.includes('race') || symptomLower.includes('timing')) {
130
- likelyCauses.push({
131
- description: 'Potential race condition or async timing issue',
132
- likelihood: 0.7,
133
- type: 'race_condition'
134
- });
132
+ if (symptomLower.match(/race|timing|async|concurrent|await/)) {
133
+ likelyCauses.push({ type: 'race_condition', likelihood: 0.75,
134
+ description: 'Race condition or unresolved async ensure all async paths are awaited' });
135
135
  }
136
- if (symptomLower.includes('type') || symptomLower.includes('cast')) {
137
- likelyCauses.push({
138
- description: 'Potential type mismatch or incorrect type assertion',
139
- likelihood: 0.6,
140
- type: 'type_mismatch'
141
- });
136
+ if (symptomLower.match(/type|cast|instanceof|assign/)) {
137
+ likelyCauses.push({ type: 'type_mismatch', likelihood: 0.65,
138
+ description: 'Type mismatch verify type assertions and interface contracts' });
142
139
  }
143
- if (symptomLower.includes('loop') || symptomLower.includes('infinite')) {
144
- likelyCauses.push({
145
- description: 'Potential infinite loop or iteration issue',
146
- likelihood: 0.7,
147
- type: 'logic_error'
148
- });
140
+ if (symptomLower.match(/loop|infinite|timeout|hang/)) {
141
+ likelyCauses.push({ type: 'logic_error', likelihood: 0.70,
142
+ description: 'Logic error in loop or termination condition' });
149
143
  }
150
- // Find suspicious files in scope
151
- const targetFiles = scope
152
- ? scope.map(p => index.files.get(p)).filter(Boolean)
153
- : Array.from(index.files.values()).filter(f => f.type === 'source').slice(0, 20);
154
- // Check files with many imports (complex dependencies)
155
- for (const file of targetFiles) {
156
- if (file.imports.length > 10) {
157
- suspectFiles.push(file.path);
158
- }
144
+ if (symptomLower.match(/state|stale|cache|invalidat/)) {
145
+ likelyCauses.push({ type: 'unsafe_state', likelihood: 0.70,
146
+ description: 'Stale or incorrectly invalidated state — check cache write-through and eviction' });
159
147
  }
160
- // Check files with complex logic (many exports)
161
- for (const file of targetFiles) {
162
- if (file.exports.length > 10) {
163
- suspectFiles.push(file.path);
148
+ // ── RAG: find chunks that literally contain symptom keywords ─────────────
149
+ const scopePaths = scope ?? [];
150
+ const keywords = extractKeywords(symptom);
151
+ const ragByLit = (0, rag_js_1.getRagEngine)().retrieveByLiteral(keywords, index, {
152
+ files: scopePaths.length > 0 ? scopePaths : undefined,
153
+ topK: BUG_MAX_SNIPPETS,
154
+ });
155
+ // ── RAG: semantic retrieval on the symptom text ──────────────────────────
156
+ const ragBySem = (0, rag_js_1.getRagEngine)().retrieve(symptom, index, {
157
+ files: scopePaths.length > 0 ? scopePaths : undefined,
158
+ topK: BUG_MAX_SNIPPETS,
159
+ });
160
+ // Merge: literal hits first (higher relevance for bug tracing), then semantic
161
+ const seen = new Set();
162
+ const topRag = [...ragByLit, ...ragBySem].filter(c => {
163
+ const key = `${c.file}:${c.symbol}`;
164
+ if (seen.has(key))
165
+ return false;
166
+ seen.add(key);
167
+ return true;
168
+ }).slice(0, BUG_MAX_SNIPPETS);
169
+ // ── Attach snippets to causes and build suspect lists ────────────────────
170
+ for (let i = 0; i < topRag.length; i++) {
171
+ const chunk = topRag[i];
172
+ suspectFiles.add(chunk.file);
173
+ suspectSymbols.push(`${chunk.symbol} in ${chunk.file}`);
174
+ // Enrich the matching cause (or add a new one)
175
+ if (i < likelyCauses.length) {
176
+ likelyCauses[i].file = chunk.file;
177
+ likelyCauses[i].symbol = chunk.symbol;
178
+ likelyCauses[i].snippet = limitLines(chunk.snippet, SNIPPET_MAX_LINES);
179
+ }
180
+ else {
181
+ // RAG found a relevant chunk not covered by pattern matching — add cause
182
+ likelyCauses.push({
183
+ type: 'other',
184
+ likelihood: Math.max(0.3, chunk.score),
185
+ description: `Relevant code in ${chunk.symbol} (${chunk.file}) — ${chunk.reason}`,
186
+ file: chunk.file,
187
+ symbol: chunk.symbol,
188
+ snippet: limitLines(chunk.snippet, SNIPPET_MAX_LINES),
189
+ });
164
190
  }
165
191
  }
166
- // Find suspicious symbols
167
- for (const [filePath, symbols] of index.symbols) {
168
- for (const symbol of symbols) {
169
- // Functions that could throw
170
- if (symbol.type === 'function' && !symbol.name.startsWith('get') && !symbol.name.startsWith('is')) {
171
- suspectSymbols.push(`${symbol.name} in ${filePath}`);
172
- }
192
+ // Fallback: if RAG found nothing, add suspect files from index heuristics
193
+ if (suspectFiles.size === 0) {
194
+ const targetFiles = scope
195
+ ? scope.map(p => index.files.get(p)).filter(Boolean)
196
+ : Array.from(index.files.values()).filter(f => f.type === 'source').slice(0, 20);
197
+ for (const file of targetFiles) {
198
+ if (file.imports.length > 10 || file.exports.length > 10)
199
+ suspectFiles.add(file.path);
173
200
  }
174
201
  }
175
- const confidence = Math.min(likelyCauses.length * 0.25 + 0.3, 0.9);
202
+ const confidence = Math.min(likelyCauses.length * 0.2 + (topRag.length > 0 ? 0.25 : 0.1), 0.95);
176
203
  return {
177
204
  likelyCauses,
178
- suspectFiles: suspectFiles.slice(0, 10),
205
+ suspectFiles: [...suspectFiles].slice(0, 10),
179
206
  suspectSymbols: suspectSymbols.slice(0, 10),
180
207
  confidence,
181
- handle: this.generateHandle('bug', symptom)
208
+ handle: this.generateHandle('bug', symptom),
182
209
  };
183
210
  }
184
- /**
185
- * Build documentation context for a feature or change
186
- */
211
+ // ── Doc Context ─────────────────────────────────────────────────────────────
187
212
  async buildDocContext(options) {
188
- const indexer = (0, indexer_js_1.getIndexer)();
189
- const index = indexer.getIndex();
190
- if (!index) {
213
+ const index = (0, indexer_js_1.getIndexer)().getIndex();
214
+ if (!index)
191
215
  return this.emptyDocContext();
192
- }
193
- const featureSummary = options.feature || 'Codebase overview';
216
+ const featureSummary = options.feature ?? 'Codebase overview';
194
217
  const codeReferences = [];
195
218
  const examples = [];
196
- // Find relevant code references
197
219
  const targetFiles = options.changedFiles
198
220
  ? options.changedFiles.map(p => index.files.get(p)).filter(Boolean)
199
221
  : Array.from(index.files.values()).filter(f => f.type === 'source').slice(0, 5);
222
+ // ── Metadata: collect code references from index ─────────────────────────
200
223
  for (const file of targetFiles) {
201
- const symbols = index.symbols.get(file.path) || [];
202
224
  codeReferences.push({
203
225
  file: file.path,
204
- description: `${file.exports.length} exports: ${file.exports.slice(0, 3).join(', ')}`
226
+ symbol: file.exports[0],
227
+ description: `${file.exports.length} exports: ${file.exports.slice(0, 4).join(', ')}`,
205
228
  });
206
- // Try to extract code examples
207
- if (file.exports.length > 0 && file.language === 'typescript') {
208
- try {
209
- const content = fs.readFileSync(path.join(index.rootPath, file.path), 'utf-8');
210
- const exampleCode = this.extractExampleCode(content, file.exports[0]);
211
- if (exampleCode) {
212
- examples.push({
213
- title: `Usage of ${file.exports[0]}`,
214
- code: exampleCode,
215
- language: file.language
216
- });
217
- }
218
- }
219
- catch {
220
- // Ignore errors
221
- }
222
- }
223
229
  }
224
- // Generate audience notes
225
- const audienceNotes = {};
226
- if (options.audience) {
227
- audienceNotes[options.audience] = this.generateAudienceNote(options.audience, codeReferences);
228
- }
229
- else {
230
- audienceNotes['developer'] = this.generateAudienceNote('developer', codeReferences);
230
+ // ── RAG: retrieve usage examples via semantic search ─────────────────────
231
+ const ragQuery = featureSummary + ' ' + (options.changedFiles ?? []).map(f => path.basename(f, path.extname(f))).join(' ');
232
+ const scopePaths = targetFiles.map((f) => f.path);
233
+ const ragChunks = (0, rag_js_1.getRagEngine)().retrieve(ragQuery, index, {
234
+ files: scopePaths,
235
+ topK: DOC_MAX_EXAMPLES,
236
+ });
237
+ for (const chunk of ragChunks) {
238
+ const fileEntry = index.files.get(chunk.file);
239
+ if (!fileEntry)
240
+ continue;
241
+ examples.push({
242
+ title: `${chunk.symbol} — ${chunk.file}`,
243
+ code: limitLines(chunk.snippet, SNIPPET_MAX_LINES),
244
+ language: fileEntry.language,
245
+ });
231
246
  }
232
- const totalExports = codeReferences.reduce((sum, r) => {
233
- const match = r.description.match(/\d+/);
234
- return sum + (match ? parseInt(match[0], 10) : 0);
247
+ // ── Audience notes ───────────────────────────────────────────────────────
248
+ const audienceNotes = {};
249
+ const aud = options.audience ?? 'developer';
250
+ audienceNotes[aud] = this.generateAudienceNote(aud, codeReferences);
251
+ const totalExports = codeReferences.reduce((s, r) => {
252
+ const m = r.description.match(/\d+/);
253
+ return s + (m ? parseInt(m[0], 10) : 0);
235
254
  }, 0);
236
255
  return {
237
256
  featureSummary,
238
- currentBehavior: `The codebase contains ${targetFiles.length} main source files with ${totalExports} total exports.`,
257
+ currentBehavior: `${targetFiles.length} files · ${totalExports} total exports${ragChunks.length > 0 ? ` · ${ragChunks.length} code snippet(s) attached` : ''}`,
239
258
  codeReferences,
240
- examples: examples.slice(0, 3),
259
+ examples: examples.slice(0, DOC_MAX_EXAMPLES),
241
260
  audienceNotes,
242
- handle: this.generateHandle('doc', options.feature || 'overview')
261
+ handle: this.generateHandle('doc', options.feature ?? 'overview'),
243
262
  };
244
263
  }
245
- // =========================================================================
246
- // Private Helpers
247
- // =========================================================================
264
+ // ── Private helpers ─────────────────────────────────────────────────────────
248
265
  emptyFlowSummary() {
249
- return {
250
- summary: 'No codebase indexed. Use repo_scope_find to index a repository first.',
251
- steps: [],
252
- keyFiles: [],
253
- keySymbols: [],
254
- handle: undefined
255
- };
266
+ return { summary: 'No codebase indexed. Use repo_scope_find to index a repository first.', steps: [], keyFiles: [], keySymbols: [], handle: undefined };
256
267
  }
257
268
  emptyBugTrace() {
258
- return {
259
- likelyCauses: [],
260
- suspectFiles: [],
261
- suspectSymbols: [],
262
- confidence: 0,
263
- handle: undefined
264
- };
269
+ return { likelyCauses: [], suspectFiles: [], suspectSymbols: [], confidence: 0, handle: undefined };
265
270
  }
266
271
  emptyDocContext() {
267
- return {
268
- featureSummary: '',
269
- currentBehavior: '',
270
- codeReferences: [],
271
- examples: [],
272
- audienceNotes: {},
273
- handle: undefined
274
- };
272
+ return { featureSummary: '', currentBehavior: '', codeReferences: [], examples: [], audienceNotes: {}, handle: undefined };
275
273
  }
276
274
  generateSummaryText(steps, verbosity) {
277
- if (verbosity === 'minimal') {
275
+ if (verbosity === 'minimal' || steps.length === 0)
278
276
  return `${steps.length} files in flow`;
279
- }
280
- if (steps.length === 0) {
281
- return 'No flow data available';
282
- }
283
- if (verbosity === 'standard') {
284
- const lines = steps.map(s => `${s.order}. ${s.description}`);
285
- return `Flow overview:\n${lines.join('\n')}`;
286
- }
287
- // Detailed
288
- const detailedLines = steps.map(s => `${s.order}. ${s.description} (${s.file})`);
289
- return `Code flow analysis (${steps.length} steps):\n\n${detailedLines.join('\n')}`;
277
+ if (verbosity === 'standard')
278
+ return `Flow overview:\n${steps.map(s => `${s.order}. ${s.description}`).join('\n')}`;
279
+ return `Code flow (${steps.length} files):\n\n${steps.map(s => `${s.order}. ${s.description}\n ${s.file}${s.snippet ? '\n' + indent(s.snippet, ' ') : ''}`).join('\n\n')}`;
290
280
  }
291
281
  getFilesImporting(filePath, index) {
292
282
  const importers = [];
293
- for (const [path, file] of index.files) {
294
- if (file.imports.some(imp => imp === filePath || path.endsWith(imp))) {
295
- importers.push(path);
296
- }
283
+ for (const [p, file] of index.files) {
284
+ if (file.imports.some(imp => imp === filePath || p.endsWith(imp)))
285
+ importers.push(p);
297
286
  }
298
287
  return importers;
299
288
  }
300
289
  generateHandle(prefix, data) {
301
- // Simple hash-like handle
302
- const hash = data.split('').reduce((acc, char) => {
303
- return ((acc << 5) - acc) + char.charCodeAt(0);
304
- }, 0);
290
+ const hash = data.split('').reduce((acc, ch) => ((acc << 5) - acc) + ch.charCodeAt(0), 0);
305
291
  return `${prefix}_${Math.abs(hash).toString(36)}`;
306
292
  }
307
- extractExampleCode(content, exportName) {
308
- // Try to find a usage example of the exported symbol
309
- const lines = content.split('\n');
310
- for (let i = 0; i < lines.length; i++) {
311
- const line = lines[i];
312
- if (line.includes(exportName) && !line.startsWith('export')) {
313
- // Return a few lines around this
314
- const start = Math.max(0, i - 2);
315
- const end = Math.min(lines.length, i + 3);
316
- return lines.slice(start, end).join('\n');
317
- }
318
- }
319
- return null;
320
- }
321
- generateAudienceNote(audience, references) {
293
+ generateAudienceNote(audience, refs) {
322
294
  switch (audience) {
323
- case 'junior':
324
- return `Start with the main entry points: ${references.slice(0, 2).map(r => r.file).join(', ')}. Focus on understanding the exports.`;
325
- case 'senior':
326
- return `Key files: ${references.map(r => r.file).join(', ')}. Review architecture patterns.`;
327
- default:
328
- return `${references.length} main files to review.`;
295
+ case 'junior': return `Start with: ${refs.slice(0, 2).map(r => r.file).join(', ')}. Focus on the exported functions.`;
296
+ case 'senior': return `Key files: ${refs.map(r => r.file).join(', ')}. Review architecture and side-effects.`;
297
+ case 'api': return `Public surface: ${refs.flatMap(r => r.description.replace(/^\d+ exports: /, '').split(', ')).slice(0, 8).join(', ')}`;
298
+ case 'pm': return `${refs.length} components changed. Each exposes: ${refs.map(r => r.file.split('/').pop()).join(', ')}`;
299
+ case 'qa': return `Test entry points: ${refs.map(r => r.symbol ?? r.file).join(', ')}`;
300
+ default: return `${refs.length} main files to review.`;
329
301
  }
330
302
  }
331
303
  }
332
304
  exports.SummarizationEngine = SummarizationEngine;
333
- // Singleton instance
305
+ // ── Utility ───────────────────────────────────────────────────────────────────
306
+ function limitLines(text, max) {
307
+ const lines = text.split('\n');
308
+ return lines.length <= max ? text : lines.slice(0, max).join('\n') + '\n // ...';
309
+ }
310
+ function indent(text, prefix) {
311
+ return text.split('\n').map(l => prefix + l).join('\n');
312
+ }
313
+ function extractKeywords(text) {
314
+ // Pull out quoted strings, error codes (ALL_CAPS_WITH_UNDERSCORES), and long words
315
+ const quoted = [...text.matchAll(/'([^']+)'|"([^"]+)"/g)].map(m => m[1] ?? m[2]);
316
+ const errCodes = text.match(/[A-Z][A-Z0-9_]{3,}/g) ?? [];
317
+ const words = text.toLowerCase().replace(/[^\w\s]/g, ' ').split(/\s+/).filter(w => w.length > 5);
318
+ return [...new Set([...quoted, ...errCodes, ...words])].slice(0, 12);
319
+ }
320
+ // ── Singleton ─────────────────────────────────────────────────────────────────
334
321
  let summarizationInstance = null;
335
322
  function getSummarizationEngine() {
336
- if (!summarizationInstance) {
323
+ if (!summarizationInstance)
337
324
  summarizationInstance = new SummarizationEngine();
338
- }
339
325
  return summarizationInstance;
340
326
  }
341
327
  //# sourceMappingURL=summarizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/core/summarizer/summarizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/core/summarizer/summarizer.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ export interface FlowStep {
86
86
  description: string;
87
87
  file: string;
88
88
  symbol?: string;
89
+ snippet?: string;
89
90
  }
90
91
  export interface BugTraceResult {
91
92
  likelyCauses: BugCause[];
@@ -100,6 +101,7 @@ export interface BugCause {
100
101
  type: 'missing_guard' | 'unsafe_state' | 'race_condition' | 'null_undefined' | 'type_mismatch' | 'logic_error' | 'other';
101
102
  file?: string;
102
103
  symbol?: string;
104
+ snippet?: string;
103
105
  }
104
106
  export interface ImplementationPlan {
105
107
  steps: PlanStep[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simpletoolsindiaorg/engi-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Software Engineering Intelligence MCP Server — 97% token reduction for Claude Code. 12 tools + 7 resources for scoped file discovery, flow summaries, bug tracing, planning, and multi-session memory.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",