@blockspool/mcp 0.4.3 → 0.5.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/dist/advance.d.ts.map +1 -1
- package/dist/advance.js +140 -19
- package/dist/advance.js.map +1 -1
- package/dist/codebase-index.d.ts +44 -0
- package/dist/codebase-index.d.ts.map +1 -0
- package/dist/codebase-index.js +427 -0
- package/dist/codebase-index.js.map +1 -0
- package/dist/event-processor.d.ts.map +1 -1
- package/dist/event-processor.js +108 -8
- package/dist/event-processor.js.map +1 -1
- package/dist/learnings.d.ts +65 -0
- package/dist/learnings.d.ts.map +1 -0
- package/dist/learnings.js +220 -0
- package/dist/learnings.js.map +1 -0
- package/dist/proposals.d.ts +1 -0
- package/dist/proposals.d.ts.map +1 -1
- package/dist/proposals.js +25 -0
- package/dist/proposals.js.map +1 -1
- package/dist/run-manager.d.ts +2 -0
- package/dist/run-manager.d.ts.map +1 -1
- package/dist/run-manager.js +22 -0
- package/dist/run-manager.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/ticket-worker.d.ts.map +1 -1
- package/dist/ticket-worker.js +1 -0
- package/dist/ticket-worker.js.map +1 -1
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +6 -0
- package/dist/tools/session.js.map +1 -1
- package/dist/types.d.ts +12 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/advance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,YAAY,CAAC;AAyDpB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,EAAE,EAAE,eAAe,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA+F3E"}
|
package/dist/advance.js
CHANGED
|
@@ -20,8 +20,39 @@ import { checkSpindle, getFileEditWarnings } from './spindle.js';
|
|
|
20
20
|
import { loadFormula } from './formulas.js';
|
|
21
21
|
import { loadGuidelines, formatGuidelinesForPrompt } from './guidelines.js';
|
|
22
22
|
import { detectProjectMetadata, formatMetadataForPrompt } from './project-metadata.js';
|
|
23
|
+
import { formatIndexForPrompt, refreshCodebaseIndex, hasStructuralChanges } from './codebase-index.js';
|
|
24
|
+
import { buildProposalReviewPrompt } from './proposals.js';
|
|
25
|
+
import { loadLearnings as readLearningsFromDisk, selectRelevant, formatLearningsForPrompt, recordAccess, } from './learnings.js';
|
|
23
26
|
const MAX_PLAN_REJECTIONS = 3;
|
|
24
27
|
const MAX_QA_RETRIES = 3;
|
|
28
|
+
const DEFAULT_LEARNINGS_BUDGET = 2000;
|
|
29
|
+
/**
|
|
30
|
+
* Build a learnings block for prompt injection. Tracks injected IDs in state.
|
|
31
|
+
*/
|
|
32
|
+
function buildLearningsBlock(run, contextPaths, contextCommands) {
|
|
33
|
+
const s = run.require();
|
|
34
|
+
if (!s.learnings_enabled)
|
|
35
|
+
return '';
|
|
36
|
+
const projectPath = run.rootPath;
|
|
37
|
+
const allLearnings = readLearningsFromDisk(projectPath, 0); // decay=0, already decayed at session start
|
|
38
|
+
if (allLearnings.length === 0)
|
|
39
|
+
return '';
|
|
40
|
+
const relevant = selectRelevant(allLearnings, { paths: contextPaths, commands: contextCommands });
|
|
41
|
+
const budget = DEFAULT_LEARNINGS_BUDGET;
|
|
42
|
+
const block = formatLearningsForPrompt(relevant, budget);
|
|
43
|
+
if (!block)
|
|
44
|
+
return '';
|
|
45
|
+
// Track which learnings were injected
|
|
46
|
+
const injectedIds = relevant
|
|
47
|
+
.filter(l => block.includes(l.text))
|
|
48
|
+
.map(l => l.id);
|
|
49
|
+
s.injected_learning_ids = [...new Set([...s.injected_learning_ids, ...injectedIds])];
|
|
50
|
+
// Record access
|
|
51
|
+
if (injectedIds.length > 0) {
|
|
52
|
+
recordAccess(projectPath, injectedIds);
|
|
53
|
+
}
|
|
54
|
+
return block + '\n\n';
|
|
55
|
+
}
|
|
25
56
|
/**
|
|
26
57
|
* Core advance function. Called once per loop iteration.
|
|
27
58
|
* Returns the next action for the client to perform.
|
|
@@ -114,9 +145,53 @@ export async function advance(ctx) {
|
|
|
114
145
|
// ---------------------------------------------------------------------------
|
|
115
146
|
// Phase handlers
|
|
116
147
|
// ---------------------------------------------------------------------------
|
|
148
|
+
const SCOUT_AUTO_APPROVE = [
|
|
149
|
+
'Read(*)', 'Glob(*)', 'Grep(*)', 'Bash(ls *)', 'Bash(find *)', 'Bash(cat *)', 'Bash(head *)', 'Bash(wc *)',
|
|
150
|
+
];
|
|
151
|
+
const EXECUTE_AUTO_APPROVE = [
|
|
152
|
+
'Read(*)', 'Glob(*)', 'Grep(*)', 'Edit(*)', 'Write(*)',
|
|
153
|
+
'Bash(npm test*)', 'Bash(npx vitest*)', 'Bash(npx tsc*)', 'Bash(git diff*)', 'Bash(git status*)',
|
|
154
|
+
];
|
|
155
|
+
const QA_AUTO_APPROVE = [
|
|
156
|
+
'Read(*)', 'Bash(npm test*)', 'Bash(npx vitest*)', 'Bash(npx tsc*)',
|
|
157
|
+
];
|
|
158
|
+
const PR_AUTO_APPROVE = [
|
|
159
|
+
'Bash(git *)', 'Bash(gh pr *)',
|
|
160
|
+
];
|
|
117
161
|
async function advanceScout(ctx) {
|
|
118
162
|
const { run, db } = ctx;
|
|
119
163
|
const s = run.require();
|
|
164
|
+
// If pending proposals exist, return adversarial review prompt
|
|
165
|
+
if (s.pending_proposals !== null) {
|
|
166
|
+
// Convert raw proposals to ValidatedProposal shape for the review prompt
|
|
167
|
+
const forReview = s.pending_proposals.map(p => ({
|
|
168
|
+
category: p.category ?? 'unknown',
|
|
169
|
+
title: p.title ?? 'Untitled',
|
|
170
|
+
description: p.description ?? '',
|
|
171
|
+
acceptance_criteria: p.acceptance_criteria ?? [],
|
|
172
|
+
verification_commands: p.verification_commands ?? [],
|
|
173
|
+
allowed_paths: p.allowed_paths ?? [],
|
|
174
|
+
files: p.files ?? [],
|
|
175
|
+
confidence: p.confidence ?? 0,
|
|
176
|
+
impact_score: p.impact_score ?? 5,
|
|
177
|
+
rationale: p.rationale ?? '',
|
|
178
|
+
estimated_complexity: p.estimated_complexity ?? 'moderate',
|
|
179
|
+
risk: p.risk ?? 'medium',
|
|
180
|
+
touched_files_estimate: p.touched_files_estimate ?? 0,
|
|
181
|
+
rollback_note: p.rollback_note ?? '',
|
|
182
|
+
}));
|
|
183
|
+
const reviewPrompt = buildProposalReviewPrompt(forReview);
|
|
184
|
+
return promptResponse(run, 'SCOUT', reviewPrompt, 'Reviewing proposals adversarially', {
|
|
185
|
+
allowed_paths: [s.scope],
|
|
186
|
+
denied_paths: [],
|
|
187
|
+
denied_patterns: [],
|
|
188
|
+
max_files: 0,
|
|
189
|
+
max_lines: 0,
|
|
190
|
+
required_commands: [],
|
|
191
|
+
plan_required: false,
|
|
192
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
120
195
|
// Check if we already have ready tickets in backlog
|
|
121
196
|
const readyTickets = await repos.tickets.listByProject(db, s.project_id, { status: 'ready', limit: 1 });
|
|
122
197
|
if (readyTickets.length > 0) {
|
|
@@ -135,9 +210,24 @@ async function advanceScout(ctx) {
|
|
|
135
210
|
// Detect project metadata for tooling context
|
|
136
211
|
const projectMeta = detectProjectMetadata(ctx.project.rootPath);
|
|
137
212
|
const metadataBlock = formatMetadataForPrompt(projectMeta) + '\n\n';
|
|
213
|
+
// Refresh codebase index if structure changed (dirty flag from tickets, or external mtime check)
|
|
214
|
+
if (s.codebase_index) {
|
|
215
|
+
const needsRefresh = s.codebase_index_dirty
|
|
216
|
+
|| hasStructuralChanges(s.codebase_index, ctx.project.rootPath);
|
|
217
|
+
if (needsRefresh) {
|
|
218
|
+
s.codebase_index = refreshCodebaseIndex(s.codebase_index, ctx.project.rootPath, s.scout_exclude_dirs);
|
|
219
|
+
s.codebase_index_dirty = false;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Build codebase index block — use cycles + retries so retries advance the chunk
|
|
223
|
+
const chunkOffset = s.scout_cycles + s.scout_retries;
|
|
224
|
+
const indexBlock = s.codebase_index ? formatIndexForPrompt(s.codebase_index, chunkOffset) + '\n\n' : '';
|
|
138
225
|
// Build escalation block if retrying after 0 proposals
|
|
139
|
-
const escalationBlock = s.scout_retries > 0
|
|
140
|
-
|
|
226
|
+
const escalationBlock = s.scout_retries > 0
|
|
227
|
+
? buildScoutEscalation(s.scout_retries, s.scout_exploration_log, s.scouted_dirs, s.codebase_index) + '\n\n'
|
|
228
|
+
: '';
|
|
229
|
+
const learningsBlock = buildLearningsBlock(run, [s.scope, ...s.scouted_dirs], []);
|
|
230
|
+
const prompt = guidelinesBlock + metadataBlock + indexBlock + learningsBlock + escalationBlock + buildScoutPrompt(s.scope, s.categories, s.min_confidence, s.max_proposals_per_scout, dedupContext, formula, hints, s.eco, s.min_impact_score, s.scouted_dirs, s.scout_exclude_dirs);
|
|
141
231
|
// Reset scout_retries at the start of a fresh cycle (non-retry entry)
|
|
142
232
|
if (s.scout_retries === 0) {
|
|
143
233
|
s.scout_cycles++;
|
|
@@ -151,6 +241,7 @@ async function advanceScout(ctx) {
|
|
|
151
241
|
max_lines: 0,
|
|
152
242
|
required_commands: [],
|
|
153
243
|
plan_required: false,
|
|
244
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
154
245
|
});
|
|
155
246
|
}
|
|
156
247
|
async function advanceNextTicket(ctx) {
|
|
@@ -202,6 +293,7 @@ async function advanceNextTicket(ctx) {
|
|
|
202
293
|
max_lines: policy.max_lines,
|
|
203
294
|
required_commands: ticket.verificationCommands ?? [],
|
|
204
295
|
plan_required: policy.plan_required,
|
|
296
|
+
auto_approve_patterns: EXECUTE_AUTO_APPROVE,
|
|
205
297
|
},
|
|
206
298
|
inline_prompt: '', // filled below
|
|
207
299
|
});
|
|
@@ -282,6 +374,7 @@ async function advanceNextTicket(ctx) {
|
|
|
282
374
|
max_lines: policy.max_lines,
|
|
283
375
|
required_commands: ticket.verificationCommands ?? [],
|
|
284
376
|
plan_required: policy.plan_required,
|
|
377
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
285
378
|
};
|
|
286
379
|
// Docs category: skip plan, go straight to execute
|
|
287
380
|
if (!policy.plan_required) {
|
|
@@ -292,7 +385,7 @@ async function advanceNextTicket(ctx) {
|
|
|
292
385
|
// Move to PLAN phase — require commit plan before execution
|
|
293
386
|
run.setPhase('PLAN');
|
|
294
387
|
const prompt = buildPlanPrompt(ticket);
|
|
295
|
-
return promptResponse(run, 'PLAN', prompt, `Planning ticket: ${ticket.title}`, constraints);
|
|
388
|
+
return promptResponse(run, 'PLAN', prompt, `Planning ticket: ${ticket.title}`, { ...constraints, auto_approve_patterns: SCOUT_AUTO_APPROVE });
|
|
296
389
|
}
|
|
297
390
|
async function advancePlan(ctx) {
|
|
298
391
|
const { run, db } = ctx;
|
|
@@ -330,9 +423,11 @@ async function advancePlan(ctx) {
|
|
|
330
423
|
category: ticket.category ?? 'refactor',
|
|
331
424
|
maxLinesPerTicket: s.max_lines_per_ticket,
|
|
332
425
|
});
|
|
333
|
-
const
|
|
426
|
+
const learningsBlock = buildLearningsBlock(run, ticket.allowedPaths ?? [], ticket.verificationCommands ?? []);
|
|
427
|
+
const basePlanPrompt = s.plan_rejections > 0
|
|
334
428
|
? `Your previous commit plan was rejected. Please revise.\n\n${buildPlanPrompt(ticket)}`
|
|
335
429
|
: buildPlanPrompt(ticket);
|
|
430
|
+
const prompt = learningsBlock + basePlanPrompt;
|
|
336
431
|
return promptResponse(run, 'PLAN', prompt, s.plan_rejections > 0
|
|
337
432
|
? `Re-planning (attempt ${s.plan_rejections + 1}/${MAX_PLAN_REJECTIONS})`
|
|
338
433
|
: `Awaiting commit plan for: ${ticket.title}`, {
|
|
@@ -343,6 +438,7 @@ async function advancePlan(ctx) {
|
|
|
343
438
|
max_lines: policy.max_lines,
|
|
344
439
|
required_commands: ticket.verificationCommands ?? [],
|
|
345
440
|
plan_required: policy.plan_required,
|
|
441
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
346
442
|
});
|
|
347
443
|
}
|
|
348
444
|
async function advanceExecute(ctx) {
|
|
@@ -371,7 +467,8 @@ async function advanceExecute(ctx) {
|
|
|
371
467
|
});
|
|
372
468
|
const guidelines = loadGuidelines(ctx.project.rootPath);
|
|
373
469
|
const guidelinesBlock = guidelines ? formatGuidelinesForPrompt(guidelines) + '\n\n' : '';
|
|
374
|
-
const
|
|
470
|
+
const learningsBlock = buildLearningsBlock(run, ticket.allowedPaths ?? [], ticket.verificationCommands ?? []);
|
|
471
|
+
const prompt = guidelinesBlock + learningsBlock + buildExecutePrompt(ticket, s.current_ticket_plan);
|
|
375
472
|
return promptResponse(run, 'EXECUTE', prompt, `Executing ticket: ${ticket.title}`, {
|
|
376
473
|
allowed_paths: policy.allowed_paths,
|
|
377
474
|
denied_paths: policy.denied_paths,
|
|
@@ -380,6 +477,7 @@ async function advanceExecute(ctx) {
|
|
|
380
477
|
max_lines: policy.max_lines,
|
|
381
478
|
required_commands: ticket.verificationCommands ?? [],
|
|
382
479
|
plan_required: false,
|
|
480
|
+
auto_approve_patterns: EXECUTE_AUTO_APPROVE,
|
|
383
481
|
});
|
|
384
482
|
}
|
|
385
483
|
async function advanceQa(ctx) {
|
|
@@ -401,7 +499,8 @@ async function advanceQa(ctx) {
|
|
|
401
499
|
run.setPhase('NEXT_TICKET');
|
|
402
500
|
return advance(ctx);
|
|
403
501
|
}
|
|
404
|
-
const
|
|
502
|
+
const learningsBlock = buildLearningsBlock(run, [], ticket.verificationCommands ?? []);
|
|
503
|
+
const prompt = learningsBlock + buildQaPrompt(ticket);
|
|
405
504
|
return promptResponse(run, 'QA', prompt, `Running QA for: ${ticket.title} (attempt ${s.qa_retries + 1}/${MAX_QA_RETRIES})`, {
|
|
406
505
|
allowed_paths: ticket.allowedPaths ?? [],
|
|
407
506
|
denied_paths: [],
|
|
@@ -410,6 +509,7 @@ async function advanceQa(ctx) {
|
|
|
410
509
|
max_lines: 0,
|
|
411
510
|
required_commands: ticket.verificationCommands ?? [],
|
|
412
511
|
plan_required: false,
|
|
512
|
+
auto_approve_patterns: QA_AUTO_APPROVE,
|
|
413
513
|
});
|
|
414
514
|
}
|
|
415
515
|
async function advancePr(ctx) {
|
|
@@ -427,6 +527,7 @@ async function advancePr(ctx) {
|
|
|
427
527
|
max_lines: 0,
|
|
428
528
|
required_commands: [],
|
|
429
529
|
plan_required: false,
|
|
530
|
+
auto_approve_patterns: PR_AUTO_APPROVE,
|
|
430
531
|
});
|
|
431
532
|
}
|
|
432
533
|
async function advanceParallelExecute(ctx) {
|
|
@@ -501,6 +602,7 @@ function emptyConstraints() {
|
|
|
501
602
|
max_lines: 0,
|
|
502
603
|
required_commands: [],
|
|
503
604
|
plan_required: false,
|
|
605
|
+
auto_approve_patterns: [],
|
|
504
606
|
};
|
|
505
607
|
}
|
|
506
608
|
function terminalReason(phase) {
|
|
@@ -516,20 +618,39 @@ function terminalReason(phase) {
|
|
|
516
618
|
// ---------------------------------------------------------------------------
|
|
517
619
|
// Prompt builders
|
|
518
620
|
// ---------------------------------------------------------------------------
|
|
519
|
-
function buildScoutEscalation(retryCount) {
|
|
520
|
-
|
|
521
|
-
'## Previous
|
|
522
|
-
'',
|
|
523
|
-
`Your previous scout attempt (attempt ${retryCount}) returned 0 proposals. This usually means you didn't read enough source files or explored config/boilerplate instead of business logic.`,
|
|
621
|
+
function buildScoutEscalation(retryCount, explorationLog, scoutedDirs, codebaseIndex) {
|
|
622
|
+
const parts = [
|
|
623
|
+
'## Previous Attempts Found Nothing — Fresh Approach Required',
|
|
524
624
|
'',
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
'
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
'
|
|
532
|
-
|
|
625
|
+
];
|
|
626
|
+
if (explorationLog.length > 0) {
|
|
627
|
+
parts.push('### What Was Already Tried');
|
|
628
|
+
for (const entry of explorationLog) {
|
|
629
|
+
parts.push(entry);
|
|
630
|
+
}
|
|
631
|
+
parts.push('');
|
|
632
|
+
}
|
|
633
|
+
// Suggest unexplored modules from codebase index
|
|
634
|
+
const exploredSet = new Set(scoutedDirs.map(d => d.replace(/\/$/, '')));
|
|
635
|
+
const unexplored = [];
|
|
636
|
+
if (codebaseIndex) {
|
|
637
|
+
for (const mod of codebaseIndex.modules) {
|
|
638
|
+
if (!exploredSet.has(mod.path) && !exploredSet.has(mod.path + '/')) {
|
|
639
|
+
unexplored.push(mod.path);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
parts.push('### What to Do Differently');
|
|
644
|
+
parts.push('');
|
|
645
|
+
parts.push('Knowing everything from the attempts above, take a completely different angle:');
|
|
646
|
+
parts.push('- Do NOT re-read the directories listed above.');
|
|
647
|
+
if (unexplored.length > 0) {
|
|
648
|
+
parts.push(`- Try unexplored areas: ${unexplored.slice(0, 8).map(d => `\`${d}\``).join(', ')}`);
|
|
649
|
+
}
|
|
650
|
+
parts.push('- Switch categories: if you looked for bugs, look for tests. If tests, try security.');
|
|
651
|
+
parts.push('- Read at least 15 NEW source files.');
|
|
652
|
+
parts.push('- If genuinely nothing to improve, explain your analysis across all attempts.');
|
|
653
|
+
return parts.join('\n');
|
|
533
654
|
}
|
|
534
655
|
function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupContext, formula, hints, eco, minImpactScore = 3, scoutedDirs = [], excludeDirs = []) {
|
|
535
656
|
const parts = [
|
package/dist/advance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-Scout Codebase Index — lightweight structural map built at session start.
|
|
3
|
+
*
|
|
4
|
+
* Walks directories 2 levels deep using `fs` only. No AST parsing, no heavy deps.
|
|
5
|
+
* Provides module map, dependency edges, test gaps, complexity hotspots, and entrypoints.
|
|
6
|
+
*/
|
|
7
|
+
export interface CodebaseIndex {
|
|
8
|
+
built_at: string;
|
|
9
|
+
modules: ModuleEntry[];
|
|
10
|
+
dependency_edges: Record<string, string[]>;
|
|
11
|
+
untested_modules: string[];
|
|
12
|
+
large_files: LargeFileEntry[];
|
|
13
|
+
entrypoints: string[];
|
|
14
|
+
/** mtimes of files sampled for import scanning — used for change detection. Not included in prompt. */
|
|
15
|
+
sampled_file_mtimes: Record<string, number>;
|
|
16
|
+
}
|
|
17
|
+
export interface ModuleEntry {
|
|
18
|
+
path: string;
|
|
19
|
+
file_count: number;
|
|
20
|
+
purpose: string;
|
|
21
|
+
}
|
|
22
|
+
export interface LargeFileEntry {
|
|
23
|
+
path: string;
|
|
24
|
+
lines: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildCodebaseIndex(projectRoot: string, excludeDirs?: string[]): CodebaseIndex;
|
|
27
|
+
/**
|
|
28
|
+
* Incrementally refresh the codebase index. Re-walks the directory tree (cheap)
|
|
29
|
+
* but only re-scans imports for modules whose file count changed or that are new.
|
|
30
|
+
* Unchanged modules keep their existing dependency edges.
|
|
31
|
+
*/
|
|
32
|
+
export declare function refreshCodebaseIndex(existing: CodebaseIndex, projectRoot: string, excludeDirs?: string[]): CodebaseIndex;
|
|
33
|
+
/**
|
|
34
|
+
* Check if the codebase structure has changed since the last index build.
|
|
35
|
+
*
|
|
36
|
+
* Two-layer detection:
|
|
37
|
+
* 1. Directory mtimes — catches file additions/deletions, new dirs, git pulls, branch switches.
|
|
38
|
+
* 2. Sampled file mtimes — catches content edits to files we scanned for imports (dependency edges).
|
|
39
|
+
*
|
|
40
|
+
* Cost: ≤60 dir statSync + ≤250 file statSync. Zero file reads, zero tokens.
|
|
41
|
+
*/
|
|
42
|
+
export declare function hasStructuralChanges(index: CodebaseIndex, projectRoot: string): boolean;
|
|
43
|
+
export declare function formatIndexForPrompt(index: CodebaseIndex, scoutCycle: number): string;
|
|
44
|
+
//# sourceMappingURL=codebase-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codebase-index.d.ts","sourceRoot":"","sources":["../src/codebase-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAmHD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAM,EAAO,GACzB,aAAa,CAkMf;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAM,EAAO,GACzB,aAAa,CA6Bf;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CA6CT;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAkDrF"}
|