cmdr-agent 2.3.0 → 2.4.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/package.json +1 -1
- package/dist/src/cli/repl.d.ts.map +1 -1
- package/dist/src/cli/repl.js +56 -0
- package/dist/src/cli/repl.js.map +1 -1
- package/dist/src/config/mcp-config.d.ts +41 -0
- package/dist/src/config/mcp-config.d.ts.map +1 -0
- package/dist/src/config/mcp-config.js +55 -0
- package/dist/src/config/mcp-config.js.map +1 -0
- package/dist/src/core/agent-runner.d.ts +4 -0
- package/dist/src/core/agent-runner.d.ts.map +1 -1
- package/dist/src/core/agent-runner.js +38 -1
- package/dist/src/core/agent-runner.js.map +1 -1
- package/dist/src/core/agent.d.ts +4 -0
- package/dist/src/core/agent.d.ts.map +1 -1
- package/dist/src/core/agent.js +6 -0
- package/dist/src/core/agent.js.map +1 -1
- package/dist/src/core/graph-context.d.ts +83 -0
- package/dist/src/core/graph-context.d.ts.map +1 -0
- package/dist/src/core/graph-context.js +370 -0
- package/dist/src/core/graph-context.js.map +1 -0
- package/dist/src/core/intent.d.ts.map +1 -1
- package/dist/src/core/intent.js +3 -0
- package/dist/src/core/intent.js.map +1 -1
- package/dist/src/core/presets.d.ts.map +1 -1
- package/dist/src/core/presets.js +6 -2
- package/dist/src/core/presets.js.map +1 -1
- package/dist/src/core/types.d.ts +2 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/tools/built-in/bash.d.ts +1 -1
- package/dist/src/tools/built-in/graph-tools.d.ts +31 -0
- package/dist/src/tools/built-in/graph-tools.d.ts.map +1 -0
- package/dist/src/tools/built-in/graph-tools.js +103 -0
- package/dist/src/tools/built-in/graph-tools.js.map +1 -0
- package/dist/src/tools/built-in/index.d.ts +2 -1
- package/dist/src/tools/built-in/index.d.ts.map +1 -1
- package/dist/src/tools/built-in/index.js +3 -1
- package/dist/src/tools/built-in/index.js.map +1 -1
- package/dist/src/tools/built-in/web-fetch.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphContextProvider — token-budgeted, heuristic-gated context injection
|
|
3
|
+
* powered by code-review-graph's MCP tools.
|
|
4
|
+
*
|
|
5
|
+
* This is NOT injected into the system prompt. It prepends a structured
|
|
6
|
+
* context message to the conversation when heuristics indicate the graph
|
|
7
|
+
* can provide useful grounding for the current turn.
|
|
8
|
+
*
|
|
9
|
+
* Design rules:
|
|
10
|
+
* - Context injection = initial grounding (bounded, passive)
|
|
11
|
+
* - Tool calls = deep analysis mid-reasoning (on-demand)
|
|
12
|
+
* - Never duplicates: if context was injected, tools drill deeper
|
|
13
|
+
*/
|
|
14
|
+
import type { McpClient } from '../plugins/mcp-client.js';
|
|
15
|
+
import type { LLMMessage } from '../core/types.js';
|
|
16
|
+
import type { GraphConfig } from '../config/mcp-config.js';
|
|
17
|
+
export interface GraphTurnLog {
|
|
18
|
+
used: boolean;
|
|
19
|
+
reason: string;
|
|
20
|
+
files: number;
|
|
21
|
+
estimatedTokens: number;
|
|
22
|
+
freshness: 'fresh' | 'stale' | 'skipped';
|
|
23
|
+
latencyMs: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class GraphContextProvider {
|
|
26
|
+
private mcpClient;
|
|
27
|
+
private projectRoot;
|
|
28
|
+
private config;
|
|
29
|
+
private graphAvailable;
|
|
30
|
+
private buildReady;
|
|
31
|
+
private lastKnownSha;
|
|
32
|
+
private turnLogs;
|
|
33
|
+
private loggedUnavailable;
|
|
34
|
+
constructor(projectRoot: string, config?: Partial<GraphConfig>);
|
|
35
|
+
/**
|
|
36
|
+
* Initialize with an MCP client that has a connected 'crg' server.
|
|
37
|
+
*/
|
|
38
|
+
setMcpClient(client: McpClient): void;
|
|
39
|
+
setGraphAvailable(available: boolean): void;
|
|
40
|
+
/** Mark the graph as ready (build complete). */
|
|
41
|
+
setBuildReady(ready: boolean): void;
|
|
42
|
+
isAvailable(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Determine if graph context should be injected for this turn.
|
|
45
|
+
* Returns false for conversational intents or messages without
|
|
46
|
+
* concrete code references.
|
|
47
|
+
*/
|
|
48
|
+
shouldUseGraph(intent: string, userMessage: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Check if the graph is stale (files changed outside cmdr).
|
|
51
|
+
* Returns true if an incremental update was triggered.
|
|
52
|
+
*/
|
|
53
|
+
checkFreshness(): Promise<'fresh' | 'stale'>;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a graph context message for the current turn.
|
|
56
|
+
* Returns null if graph is unavailable, nothing relevant found,
|
|
57
|
+
* or an error occurs (graceful internal fallback).
|
|
58
|
+
*/
|
|
59
|
+
getContext(intent: string, userMessage: string): Promise<LLMMessage | null>;
|
|
60
|
+
private getImpactContext;
|
|
61
|
+
private getExploratoryContext;
|
|
62
|
+
private callMcp;
|
|
63
|
+
private formatImpactResult;
|
|
64
|
+
private formatQueryResult;
|
|
65
|
+
private extractFileRefs;
|
|
66
|
+
private logTurn;
|
|
67
|
+
getLastLog(): GraphTurnLog | undefined;
|
|
68
|
+
getStats(): {
|
|
69
|
+
totalQueries: number;
|
|
70
|
+
graphHits: number;
|
|
71
|
+
totalFiles: number;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Trigger an incremental graph update (call after file writes).
|
|
75
|
+
* Debounce externally — this is the raw update call.
|
|
76
|
+
*/
|
|
77
|
+
triggerIncrementalUpdate(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Build the graph for the first time (or full rebuild).
|
|
80
|
+
*/
|
|
81
|
+
buildGraph(): Promise<boolean>;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=graph-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-context.d.ts","sourceRoot":"","sources":["../../../src/core/graph-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAmB1D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,iBAAiB,CAAiB;gBAE9B,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAK9D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKrC,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAI3C,gDAAgD;IAChD,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAInC,WAAW,IAAI,OAAO;IAMtB;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IA2B5D;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IA2BlD;;;;OAIG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAgEf,gBAAgB;YAsBhB,qBAAqB;YAsCrB,OAAO;IAqBrB,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,OAAO;IAUf,UAAU,IAAI,YAAY,GAAG,SAAS;IAItC,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAM3E;;;OAGG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAgBrC"}
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphContextProvider — token-budgeted, heuristic-gated context injection
|
|
3
|
+
* powered by code-review-graph's MCP tools.
|
|
4
|
+
*
|
|
5
|
+
* This is NOT injected into the system prompt. It prepends a structured
|
|
6
|
+
* context message to the conversation when heuristics indicate the graph
|
|
7
|
+
* can provide useful grounding for the current turn.
|
|
8
|
+
*
|
|
9
|
+
* Design rules:
|
|
10
|
+
* - Context injection = initial grounding (bounded, passive)
|
|
11
|
+
* - Tool calls = deep analysis mid-reasoning (on-demand)
|
|
12
|
+
* - Never duplicates: if context was injected, tools drill deeper
|
|
13
|
+
*/
|
|
14
|
+
import { DEFAULT_GRAPH_CONFIG } from '../config/mcp-config.js';
|
|
15
|
+
import { execSync } from 'node:child_process';
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Graph usage keywords — triggers graph context when found in user message
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
const CHANGE_KEYWORDS = /\b(review|refactor|impact|blast.?radius|affected|depends|dependency|dependencies|callers?|callees?|imports?|test.?coverage|dead.?code|what.?calls|who.?uses|trace)\b/gi;
|
|
20
|
+
const FILE_PATH_PATTERN = /(?:^|\s)([\w./-]+\.(?:ts|tsx|js|jsx|py|rs|go|java|c|cpp|h|rb|kt|swift|php|vue|svelte|scala|cs|dart|lua|pl|r|sol))\b/gi;
|
|
21
|
+
// Symbol-like identifiers: camelCase, PascalCase, or snake_case (min 4 chars, must have case change or underscore)
|
|
22
|
+
const SYMBOL_PATTERN = /\b([a-z][a-zA-Z0-9]{3,}(?:[A-Z][a-zA-Z0-9]*)+|[A-Z][a-zA-Z0-9]{3,}(?:[A-Z][a-z][a-zA-Z0-9]*)+|[a-z][a-z0-9]*(?:_[a-z0-9]+)+)\b/g;
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// GraphContextProvider
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
export class GraphContextProvider {
|
|
27
|
+
mcpClient = null;
|
|
28
|
+
projectRoot;
|
|
29
|
+
config;
|
|
30
|
+
graphAvailable = false;
|
|
31
|
+
buildReady = false;
|
|
32
|
+
lastKnownSha = null;
|
|
33
|
+
turnLogs = [];
|
|
34
|
+
loggedUnavailable = false;
|
|
35
|
+
constructor(projectRoot, config) {
|
|
36
|
+
this.projectRoot = projectRoot;
|
|
37
|
+
this.config = { ...DEFAULT_GRAPH_CONFIG, ...config };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Initialize with an MCP client that has a connected 'crg' server.
|
|
41
|
+
*/
|
|
42
|
+
setMcpClient(client) {
|
|
43
|
+
this.mcpClient = client;
|
|
44
|
+
this.graphAvailable = true;
|
|
45
|
+
}
|
|
46
|
+
setGraphAvailable(available) {
|
|
47
|
+
this.graphAvailable = available;
|
|
48
|
+
}
|
|
49
|
+
/** Mark the graph as ready (build complete). */
|
|
50
|
+
setBuildReady(ready) {
|
|
51
|
+
this.buildReady = ready;
|
|
52
|
+
}
|
|
53
|
+
isAvailable() {
|
|
54
|
+
return this.graphAvailable && this.buildReady;
|
|
55
|
+
}
|
|
56
|
+
// ─── Heuristic trigger ──────────────────────────────────────
|
|
57
|
+
/**
|
|
58
|
+
* Determine if graph context should be injected for this turn.
|
|
59
|
+
* Returns false for conversational intents or messages without
|
|
60
|
+
* concrete code references.
|
|
61
|
+
*/
|
|
62
|
+
shouldUseGraph(intent, userMessage) {
|
|
63
|
+
if (!this.graphAvailable || !this.buildReady)
|
|
64
|
+
return false;
|
|
65
|
+
if (intent === 'conversational')
|
|
66
|
+
return false;
|
|
67
|
+
// Weighted scoring — avoids naive boolean OR
|
|
68
|
+
// fileRef=2, symbol=2, keyword=1. Threshold: score >= 2
|
|
69
|
+
let score = 0;
|
|
70
|
+
// Reset regex lastIndex (global flag)
|
|
71
|
+
FILE_PATH_PATTERN.lastIndex = 0;
|
|
72
|
+
CHANGE_KEYWORDS.lastIndex = 0;
|
|
73
|
+
SYMBOL_PATTERN.lastIndex = 0;
|
|
74
|
+
const fileMatches = userMessage.match(FILE_PATH_PATTERN);
|
|
75
|
+
if (fileMatches)
|
|
76
|
+
score += fileMatches.length * 2;
|
|
77
|
+
const symbolMatches = userMessage.match(SYMBOL_PATTERN);
|
|
78
|
+
if (symbolMatches)
|
|
79
|
+
score += Math.min(symbolMatches.length, 3) * 2;
|
|
80
|
+
const keywordMatches = userMessage.match(CHANGE_KEYWORDS);
|
|
81
|
+
if (keywordMatches)
|
|
82
|
+
score += keywordMatches.length;
|
|
83
|
+
return score >= 2;
|
|
84
|
+
}
|
|
85
|
+
// ─── Freshness check ───────────────────────────────────────
|
|
86
|
+
/**
|
|
87
|
+
* Check if the graph is stale (files changed outside cmdr).
|
|
88
|
+
* Returns true if an incremental update was triggered.
|
|
89
|
+
*/
|
|
90
|
+
async checkFreshness() {
|
|
91
|
+
try {
|
|
92
|
+
const currentSha = execSync('git rev-parse HEAD', {
|
|
93
|
+
cwd: this.projectRoot,
|
|
94
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
95
|
+
timeout: 5000,
|
|
96
|
+
}).toString().trim();
|
|
97
|
+
if (this.lastKnownSha && this.lastKnownSha !== currentSha) {
|
|
98
|
+
// Graph is stale — trigger incremental update
|
|
99
|
+
await this.callMcp('build_or_update_graph_tool', {
|
|
100
|
+
full_rebuild: false,
|
|
101
|
+
repo_root: this.projectRoot,
|
|
102
|
+
});
|
|
103
|
+
this.lastKnownSha = currentSha;
|
|
104
|
+
return 'stale';
|
|
105
|
+
}
|
|
106
|
+
this.lastKnownSha = currentSha;
|
|
107
|
+
return 'fresh';
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return 'fresh'; // Can't check — assume fresh
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// ─── Context generation ─────────────────────────────────────
|
|
114
|
+
/**
|
|
115
|
+
* Generate a graph context message for the current turn.
|
|
116
|
+
* Returns null if graph is unavailable, nothing relevant found,
|
|
117
|
+
* or an error occurs (graceful internal fallback).
|
|
118
|
+
*/
|
|
119
|
+
async getContext(intent, userMessage) {
|
|
120
|
+
const start = Date.now();
|
|
121
|
+
if (!this.shouldUseGraph(intent, userMessage)) {
|
|
122
|
+
this.logTurn({ used: false, reason: 'heuristic_skip', files: 0, estimatedTokens: 0, freshness: 'skipped', latencyMs: 0 });
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
// Freshness check
|
|
127
|
+
const freshness = await this.checkFreshness();
|
|
128
|
+
// Determine query strategy based on intent
|
|
129
|
+
let contextText = null;
|
|
130
|
+
if (intent === 'actionable') {
|
|
131
|
+
contextText = await this.getImpactContext(userMessage);
|
|
132
|
+
}
|
|
133
|
+
else if (intent === 'exploratory') {
|
|
134
|
+
contextText = await this.getExploratoryContext(userMessage);
|
|
135
|
+
}
|
|
136
|
+
if (!contextText) {
|
|
137
|
+
this.logTurn({ used: false, reason: 'no_results', files: 0, estimatedTokens: 0, freshness, latencyMs: Date.now() - start });
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
// Token budget enforcement — rough estimate: 4 chars per token
|
|
141
|
+
const estimatedTokens = Math.ceil(contextText.length / 4);
|
|
142
|
+
if (estimatedTokens > this.config.maxTokens) {
|
|
143
|
+
// Truncate to budget
|
|
144
|
+
const maxChars = this.config.maxTokens * 4;
|
|
145
|
+
contextText = contextText.slice(0, maxChars) + '\n\n[Graph context truncated to token budget]';
|
|
146
|
+
}
|
|
147
|
+
const fileCount = (contextText.match(/📄|file_path/g) || []).length || 1;
|
|
148
|
+
this.logTurn({
|
|
149
|
+
used: true,
|
|
150
|
+
reason: intent,
|
|
151
|
+
files: fileCount,
|
|
152
|
+
estimatedTokens: Math.ceil(contextText.length / 4),
|
|
153
|
+
freshness,
|
|
154
|
+
latencyMs: Date.now() - start,
|
|
155
|
+
});
|
|
156
|
+
return {
|
|
157
|
+
role: 'user',
|
|
158
|
+
content: [{ type: 'text', text: `[Graph Context]\n${contextText}` }],
|
|
159
|
+
isMeta: true,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
// Internal fallback — never crash the turn
|
|
164
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
165
|
+
if (!this.loggedUnavailable) {
|
|
166
|
+
console.error(`[graph] query failed: ${reason}, falling back`);
|
|
167
|
+
this.loggedUnavailable = true;
|
|
168
|
+
}
|
|
169
|
+
this.logTurn({ used: false, reason: `error: ${reason}`, files: 0, estimatedTokens: 0, freshness: 'skipped', latencyMs: Date.now() - start });
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// ─── Impact context (actionable intent) ─────────────────────
|
|
174
|
+
async getImpactContext(userMessage) {
|
|
175
|
+
// Extract file paths from message
|
|
176
|
+
const fileRefs = this.extractFileRefs(userMessage);
|
|
177
|
+
// Get blast radius — either from mentioned files or auto-detected changed files
|
|
178
|
+
const params = {
|
|
179
|
+
max_depth: this.config.maxDepth,
|
|
180
|
+
repo_root: this.projectRoot,
|
|
181
|
+
base: this.config.base,
|
|
182
|
+
};
|
|
183
|
+
if (fileRefs.length > 0) {
|
|
184
|
+
params.changed_files = fileRefs;
|
|
185
|
+
}
|
|
186
|
+
const result = await this.callMcp('get_impact_radius_tool', params);
|
|
187
|
+
if (!result)
|
|
188
|
+
return null;
|
|
189
|
+
return this.formatImpactResult(result);
|
|
190
|
+
}
|
|
191
|
+
// ─── Exploratory context ────────────────────────────────────
|
|
192
|
+
async getExploratoryContext(userMessage) {
|
|
193
|
+
// Try to extract a query target from the message
|
|
194
|
+
const fileRefs = this.extractFileRefs(userMessage);
|
|
195
|
+
const callMatch = userMessage.match(/(?:what\s+calls|who\s+uses|callers?\s+of|trace)\s+[`"]?(\w+)[`"]?/i);
|
|
196
|
+
if (callMatch) {
|
|
197
|
+
// Caller query
|
|
198
|
+
const result = await this.callMcp('query_graph_tool', {
|
|
199
|
+
pattern: 'callers_of',
|
|
200
|
+
target: callMatch[1],
|
|
201
|
+
repo_root: this.projectRoot,
|
|
202
|
+
});
|
|
203
|
+
if (result)
|
|
204
|
+
return this.formatQueryResult(result, 'callers_of', callMatch[1]);
|
|
205
|
+
}
|
|
206
|
+
if (fileRefs.length > 0) {
|
|
207
|
+
// File summary
|
|
208
|
+
const result = await this.callMcp('query_graph_tool', {
|
|
209
|
+
pattern: 'file_summary',
|
|
210
|
+
target: fileRefs[0],
|
|
211
|
+
repo_root: this.projectRoot,
|
|
212
|
+
});
|
|
213
|
+
if (result)
|
|
214
|
+
return this.formatQueryResult(result, 'file_summary', fileRefs[0]);
|
|
215
|
+
}
|
|
216
|
+
// Fall back to impact radius with auto-detection
|
|
217
|
+
const result = await this.callMcp('get_impact_radius_tool', {
|
|
218
|
+
max_depth: this.config.maxDepth,
|
|
219
|
+
repo_root: this.projectRoot,
|
|
220
|
+
base: this.config.base,
|
|
221
|
+
});
|
|
222
|
+
if (result)
|
|
223
|
+
return this.formatImpactResult(result);
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
// ─── MCP call wrapper ──────────────────────────────────────
|
|
227
|
+
async callMcp(toolName, input) {
|
|
228
|
+
if (!this.mcpClient)
|
|
229
|
+
return null;
|
|
230
|
+
const timeoutMs = 5000;
|
|
231
|
+
const result = await Promise.race([
|
|
232
|
+
this.mcpClient.callTool('crg', toolName, input),
|
|
233
|
+
new Promise(resolve => setTimeout(() => resolve(null), timeoutMs)),
|
|
234
|
+
]);
|
|
235
|
+
if (!result || ('isError' in result && result.isError))
|
|
236
|
+
return null;
|
|
237
|
+
try {
|
|
238
|
+
const data = typeof result.data === 'string' ? JSON.parse(result.data) : result.data;
|
|
239
|
+
return data;
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// ─── Formatting helpers ─────────────────────────────────────
|
|
246
|
+
formatImpactResult(data) {
|
|
247
|
+
const lines = ['## Blast Radius Analysis'];
|
|
248
|
+
const impactedFiles = data.impacted_files || [];
|
|
249
|
+
const changedNodes = data.changed_nodes || [];
|
|
250
|
+
const impactedNodes = data.impacted_nodes || [];
|
|
251
|
+
if (impactedFiles.length === 0 && changedNodes.length === 0) {
|
|
252
|
+
return ''; // Nothing to report
|
|
253
|
+
}
|
|
254
|
+
// Changed nodes summary
|
|
255
|
+
if (changedNodes.length > 0) {
|
|
256
|
+
lines.push(`\n### Changed (${changedNodes.length} nodes)`);
|
|
257
|
+
for (const node of changedNodes.slice(0, this.config.maxNodes)) {
|
|
258
|
+
const name = node.name || node.qualified_name || 'unknown';
|
|
259
|
+
const kind = node.kind || '';
|
|
260
|
+
const file = node.file_path || '';
|
|
261
|
+
lines.push(`- ${kind} \`${name}\` in ${file}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
// Impacted files
|
|
265
|
+
if (impactedFiles.length > 0) {
|
|
266
|
+
lines.push(`\n### Impacted Files (${impactedFiles.length})`);
|
|
267
|
+
for (const file of impactedFiles.slice(0, this.config.maxFiles)) {
|
|
268
|
+
lines.push(`- 📄 ${file}`);
|
|
269
|
+
}
|
|
270
|
+
if (impactedFiles.length > this.config.maxFiles) {
|
|
271
|
+
lines.push(`- ... and ${impactedFiles.length - this.config.maxFiles} more`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Impacted nodes (brief)
|
|
275
|
+
if (impactedNodes.length > 0) {
|
|
276
|
+
lines.push(`\n### Impacted Nodes (${impactedNodes.length})`);
|
|
277
|
+
for (const node of impactedNodes.slice(0, this.config.maxNodes)) {
|
|
278
|
+
const name = node.name || node.qualified_name || 'unknown';
|
|
279
|
+
const kind = node.kind || '';
|
|
280
|
+
lines.push(`- ${kind} \`${name}\``);
|
|
281
|
+
}
|
|
282
|
+
if (impactedNodes.length > this.config.maxNodes) {
|
|
283
|
+
lines.push(`- ... and ${impactedNodes.length - this.config.maxNodes} more`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (data.truncated) {
|
|
287
|
+
lines.push(`\n> ⚠️ Results truncated. Use graph_impact tool for full analysis.`);
|
|
288
|
+
}
|
|
289
|
+
return lines.join('\n');
|
|
290
|
+
}
|
|
291
|
+
formatQueryResult(data, pattern, target) {
|
|
292
|
+
const lines = [`## Graph Query: ${pattern}(${target})`];
|
|
293
|
+
const nodes = data.nodes || [];
|
|
294
|
+
const results = data.results || nodes;
|
|
295
|
+
if (results.length === 0) {
|
|
296
|
+
return ''; // Nothing to report
|
|
297
|
+
}
|
|
298
|
+
for (const node of results.slice(0, this.config.maxNodes)) {
|
|
299
|
+
const name = node.name || node.qualified_name || 'unknown';
|
|
300
|
+
const kind = node.kind || '';
|
|
301
|
+
const file = node.file_path || '';
|
|
302
|
+
const line = node.line_start ? `:${node.line_start}` : '';
|
|
303
|
+
lines.push(`- ${kind} \`${name}\` in ${file}${line}`);
|
|
304
|
+
}
|
|
305
|
+
if (results.length > this.config.maxNodes) {
|
|
306
|
+
lines.push(`- ... and ${results.length - this.config.maxNodes} more. Use graph_query tool to explore.`);
|
|
307
|
+
}
|
|
308
|
+
return lines.join('\n');
|
|
309
|
+
}
|
|
310
|
+
// ─── Utility ────────────────────────────────────────────────
|
|
311
|
+
extractFileRefs(message) {
|
|
312
|
+
const matches = message.match(new RegExp(FILE_PATH_PATTERN.source, 'gi'));
|
|
313
|
+
return matches ? [...new Set(matches.map(m => m.trim()))] : [];
|
|
314
|
+
}
|
|
315
|
+
logTurn(entry) {
|
|
316
|
+
this.turnLogs.push(entry);
|
|
317
|
+
// Keep last 100 entries
|
|
318
|
+
if (this.turnLogs.length > 100) {
|
|
319
|
+
this.turnLogs = this.turnLogs.slice(-100);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// ─── Public accessors ───────────────────────────────────────
|
|
323
|
+
getLastLog() {
|
|
324
|
+
return this.turnLogs[this.turnLogs.length - 1];
|
|
325
|
+
}
|
|
326
|
+
getStats() {
|
|
327
|
+
const graphHits = this.turnLogs.filter(l => l.used).length;
|
|
328
|
+
const totalFiles = this.turnLogs.reduce((sum, l) => sum + l.files, 0);
|
|
329
|
+
return { totalQueries: this.turnLogs.length, graphHits, totalFiles };
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Trigger an incremental graph update (call after file writes).
|
|
333
|
+
* Debounce externally — this is the raw update call.
|
|
334
|
+
*/
|
|
335
|
+
async triggerIncrementalUpdate() {
|
|
336
|
+
if (!this.graphAvailable || !this.mcpClient)
|
|
337
|
+
return;
|
|
338
|
+
try {
|
|
339
|
+
await this.callMcp('build_or_update_graph_tool', {
|
|
340
|
+
full_rebuild: false,
|
|
341
|
+
repo_root: this.projectRoot,
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
// Non-critical — log and continue
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Build the graph for the first time (or full rebuild).
|
|
350
|
+
*/
|
|
351
|
+
async buildGraph() {
|
|
352
|
+
if (!this.mcpClient)
|
|
353
|
+
return false;
|
|
354
|
+
try {
|
|
355
|
+
const result = await this.callMcp('build_or_update_graph_tool', {
|
|
356
|
+
full_rebuild: false,
|
|
357
|
+
repo_root: this.projectRoot,
|
|
358
|
+
});
|
|
359
|
+
if (result !== null) {
|
|
360
|
+
this.buildReady = true;
|
|
361
|
+
return true;
|
|
362
|
+
}
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
catch {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
//# sourceMappingURL=graph-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-context.js","sourceRoot":"","sources":["../../../src/core/graph-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../src/core/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../src/core/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAA;AAkCxE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CA8B1D;AAQD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,eAAO,MAAM,iBAAiB,+RAI+B,CAAA;AAE7D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,SAAS,UAAU,EAAE,GAC9B,UAAU,EAAE,CASd"}
|
package/dist/src/core/intent.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/core/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,WAAW;IACX,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/core/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,WAAW;IACX,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,cAAc;IACd,aAAa;IACb,cAAc;CACf,CAAC,CAAA;AAEF,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,4EAA4E;AAC5E,MAAM,cAAc,GAAG,6MAA6M,CAAA;AAEpO,wEAAwE;AACxE,MAAM,eAAe,GAAG,sLAAsL,CAAA;AAE9M,oEAAoE;AACpE,MAAM,iBAAiB,GAAG,gKAAgK,CAAA;AAE1L,6EAA6E;AAC7E,MAAM,aAAa,GAAG,iHAAiH,CAAA;AAEvI;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAE9B,iDAAiD;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAA;IACjD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,gBAAgB,CAAA;IAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,gBAAgB,CAAA;IAExD,8EAA8E;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3F,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,uCAAuC;IACvC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,YAAY,CAAA;IAErD,yCAAyC;IACzC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,aAAa,CAAA;IAEvD,iEAAiE;IACjE,IAAI,sEAAsE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzF,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,gEAAgE;IAChE,6DAA6D;IAC7D,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,YAAY,CAAA;IAE7C,iEAAiE;IACjE,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,6PAA6P,CAAA;AAEvR,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;6DAI4B,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAkB,EAClB,QAA+B;IAE/B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAA;QACX,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5D,KAAK,YAAY;YACf,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAA;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMzD,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMzD,eAAO,MAAM,UAAU,EAAE,WA4DxB,CAAA;AAgFD,eAAO,MAAM,gBAAgB,EAAE,UAM9B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,UAM7B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,UAMjC,CAAA;AAeD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAS/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElE;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}
|
package/dist/src/core/presets.js
CHANGED
|
@@ -45,6 +45,7 @@ When a task involves multiple files:
|
|
|
45
45
|
- EXPLORE a codebase: glob for structure, grep for patterns, file_read for details.
|
|
46
46
|
- RUN commands: use bash. Always check exit code. If it fails, analyze the error output and fix.
|
|
47
47
|
- SEARCH for code: use grep with a focused pattern. Do not read entire files when grep can find what you need.
|
|
48
|
+
- GRAPH CONTEXT: If a [Graph Context] block is provided in the conversation, use it directly for understanding code structure and impact. Only call graph_impact/graph_query/graph_review tools when you need deeper analysis beyond what the context already shows.
|
|
48
49
|
|
|
49
50
|
# Project Instructions
|
|
50
51
|
|
|
@@ -60,6 +61,7 @@ If a CMDR.md file exists in the project root, follow its instructions. It contai
|
|
|
60
61
|
'bash', 'file_read', 'file_write', 'file_edit',
|
|
61
62
|
'grep', 'glob', 'git_diff', 'git_log', 'think',
|
|
62
63
|
'memory_read', 'memory_write',
|
|
64
|
+
'graph_impact', 'graph_query', 'graph_review',
|
|
63
65
|
],
|
|
64
66
|
maxTurns: 30,
|
|
65
67
|
};
|
|
@@ -82,8 +84,10 @@ const REVIEWER_AGENT = {
|
|
|
82
84
|
- Performance issues (N+1 queries, unnecessary allocations)
|
|
83
85
|
- Missing error handling
|
|
84
86
|
- Test coverage gaps
|
|
85
|
-
Be specific: cite line numbers, suggest concrete fixes.
|
|
86
|
-
|
|
87
|
+
Be specific: cite line numbers, suggest concrete fixes.
|
|
88
|
+
Prefer graph_review for impact-aware reviews over manually reading all files.
|
|
89
|
+
Use graph_impact to understand the blast radius of changes before reviewing.`,
|
|
90
|
+
tools: ['file_read', 'grep', 'glob', 'git_diff', 'think', 'graph_impact', 'graph_query', 'graph_review'],
|
|
87
91
|
maxTurns: 10,
|
|
88
92
|
};
|
|
89
93
|
const PLANNER_AGENT = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/presets.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -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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"}
|