@prowi/deskcheck 0.3.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -84
- package/build/cli.js +345 -40
- package/build/cli.js.map +1 -1
- package/build/config/loader.d.ts.map +1 -1
- package/build/config/loader.js +5 -2
- package/build/config/loader.js.map +1 -1
- package/build/config/types.d.ts +14 -2
- package/build/config/types.d.ts.map +1 -1
- package/build/mcp/tools.d.ts.map +1 -1
- package/build/mcp/tools.js +26 -50
- package/build/mcp/tools.js.map +1 -1
- package/build/prompts/ExecutorPrompt.d.ts +4 -2
- package/build/prompts/ExecutorPrompt.d.ts.map +1 -1
- package/build/prompts/ExecutorPrompt.js +40 -33
- package/build/prompts/ExecutorPrompt.js.map +1 -1
- package/build/prompts/PartitionerPrompt.d.ts +12 -0
- package/build/prompts/PartitionerPrompt.d.ts.map +1 -0
- package/build/prompts/PartitionerPrompt.js +54 -0
- package/build/prompts/PartitionerPrompt.js.map +1 -0
- package/build/prompts/ResolverPrompt.d.ts +11 -0
- package/build/prompts/ResolverPrompt.d.ts.map +1 -0
- package/build/prompts/ResolverPrompt.js +45 -0
- package/build/prompts/ResolverPrompt.js.map +1 -0
- package/build/renderers/review/MarkdownRenderer.js +5 -2
- package/build/renderers/review/MarkdownRenderer.js.map +1 -1
- package/build/renderers/review/TerminalRenderer.js +5 -2
- package/build/renderers/review/TerminalRenderer.js.map +1 -1
- package/build/renderers/review/WatchRenderer.d.ts.map +1 -1
- package/build/renderers/review/WatchRenderer.js +10 -1
- package/build/renderers/review/WatchRenderer.js.map +1 -1
- package/build/server/controllers/ReviewController.d.ts +12 -3
- package/build/server/controllers/ReviewController.d.ts.map +1 -1
- package/build/server/controllers/ReviewController.js +50 -6
- package/build/server/controllers/ReviewController.js.map +1 -1
- package/build/server/server.d.ts.map +1 -1
- package/build/server/server.js +22 -1
- package/build/server/server.js.map +1 -1
- package/build/services/ExecutorService.d.ts +18 -3
- package/build/services/ExecutorService.d.ts.map +1 -1
- package/build/services/ExecutorService.js +51 -14
- package/build/services/ExecutorService.js.map +1 -1
- package/build/services/FindingsParserService.d.ts +1 -8
- package/build/services/FindingsParserService.d.ts.map +1 -1
- package/build/services/FindingsParserService.js +20 -45
- package/build/services/FindingsParserService.js.map +1 -1
- package/build/services/criteria/module-parser.d.ts +6 -4
- package/build/services/criteria/module-parser.d.ts.map +1 -1
- package/build/services/criteria/module-parser.js +27 -21
- package/build/services/criteria/module-parser.js.map +1 -1
- package/build/services/review/CodeSnippetService.d.ts +10 -0
- package/build/services/review/CodeSnippetService.d.ts.map +1 -0
- package/build/services/review/CodeSnippetService.js +54 -0
- package/build/services/review/CodeSnippetService.js.map +1 -0
- package/build/services/review/ReviewInputResolverService.d.ts +25 -0
- package/build/services/review/ReviewInputResolverService.d.ts.map +1 -0
- package/build/services/review/ReviewInputResolverService.js +106 -0
- package/build/services/review/ReviewInputResolverService.js.map +1 -0
- package/build/services/review/ReviewOrchestratorService.d.ts.map +1 -1
- package/build/services/review/ReviewOrchestratorService.js +21 -20
- package/build/services/review/ReviewOrchestratorService.js.map +1 -1
- package/build/services/review/ReviewPartitionerService.d.ts +46 -0
- package/build/services/review/ReviewPartitionerService.d.ts.map +1 -0
- package/build/services/review/ReviewPartitionerService.js +208 -0
- package/build/services/review/ReviewPartitionerService.js.map +1 -0
- package/build/services/review/ReviewPlanBuilderService.d.ts +25 -7
- package/build/services/review/ReviewPlanBuilderService.d.ts.map +1 -1
- package/build/services/review/ReviewPlanBuilderService.js +88 -30
- package/build/services/review/ReviewPlanBuilderService.js.map +1 -1
- package/build/services/review/ReviewStorageService.d.ts +34 -10
- package/build/services/review/ReviewStorageService.d.ts.map +1 -1
- package/build/services/review/ReviewStorageService.js +100 -14
- package/build/services/review/ReviewStorageService.js.map +1 -1
- package/build/services/testing/TestRunnerService.d.ts +4 -0
- package/build/services/testing/TestRunnerService.d.ts.map +1 -1
- package/build/services/testing/TestRunnerService.js +14 -10
- package/build/services/testing/TestRunnerService.js.map +1 -1
- package/build/types/criteria.d.ts +8 -6
- package/build/types/criteria.d.ts.map +1 -1
- package/build/types/review.d.ts +123 -28
- package/build/types/review.d.ts.map +1 -1
- package/package.json +3 -1
- package/ui/dist/index.html +12 -63
- package/build/prompts/PlannerPrompt.d.ts +0 -12
- package/build/prompts/PlannerPrompt.d.ts.map +0 -1
- package/build/prompts/PlannerPrompt.js +0 -34
- package/build/prompts/PlannerPrompt.js.map +0 -1
- package/build/services/review/ReviewContextExtractorService.d.ts +0 -17
- package/build/services/review/ReviewContextExtractorService.d.ts.map +0 -1
- package/build/services/review/ReviewContextExtractorService.js +0 -69
- package/build/services/review/ReviewContextExtractorService.js.map +0 -1
- package/build/services/review/ReviewPlannerService.d.ts +0 -29
- package/build/services/review/ReviewPlannerService.d.ts.map +0 -1
- package/build/services/review/ReviewPlannerService.js +0 -122
- package/build/services/review/ReviewPlannerService.js.map +0 -1
package/build/config/loader.js
CHANGED
|
@@ -6,13 +6,16 @@ export const DEFAULT_CONFIG = {
|
|
|
6
6
|
storage_dir: ".deskcheck/runs",
|
|
7
7
|
tests_dir: "deskcheck/tests",
|
|
8
8
|
serve_port: 3000,
|
|
9
|
+
concurrency: 5,
|
|
10
|
+
defaultModel: "sonnet",
|
|
9
11
|
shared: {
|
|
10
12
|
allowed_tools: ["Read", "Glob", "Grep"],
|
|
11
13
|
mcp_servers: {},
|
|
12
14
|
},
|
|
13
15
|
agents: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
resolver: {},
|
|
17
|
+
partitioner: {},
|
|
18
|
+
reviewer: {},
|
|
16
19
|
evaluator: { model: "haiku" },
|
|
17
20
|
judge: { model: "opus" },
|
|
18
21
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,iGAAiG;AACjG,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACvC,WAAW,EAAE,EAAE;KAChB;IACD,MAAM,EAAE;QACN,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
package/build/config/types.d.ts
CHANGED
|
@@ -27,6 +27,17 @@ export interface ReviewConfig {
|
|
|
27
27
|
tests_dir: string;
|
|
28
28
|
/** Port for the web UI server. Default: 3000. */
|
|
29
29
|
serve_port: number;
|
|
30
|
+
/** Max concurrent reviewer agents. Default: 5. */
|
|
31
|
+
concurrency: number;
|
|
32
|
+
/**
|
|
33
|
+
* Default Claude model used across the pipeline. Applied to:
|
|
34
|
+
* - Criterion `model` when not specified in frontmatter
|
|
35
|
+
* - Resolver agent (unless `agents.resolver.model` overrides)
|
|
36
|
+
* - Partitioner agent (unless `agents.partitioner.model` overrides)
|
|
37
|
+
*
|
|
38
|
+
* Individual agents and criteria can always override this.
|
|
39
|
+
*/
|
|
40
|
+
defaultModel: AgentModel;
|
|
30
41
|
/** Shared configuration applied to all agent roles. */
|
|
31
42
|
shared: {
|
|
32
43
|
/** Tools available to all agents. */
|
|
@@ -36,8 +47,9 @@ export interface ReviewConfig {
|
|
|
36
47
|
};
|
|
37
48
|
/** Per-role agent configuration. */
|
|
38
49
|
agents: {
|
|
39
|
-
|
|
40
|
-
|
|
50
|
+
resolver: AgentRoleConfig;
|
|
51
|
+
partitioner: AgentRoleConfig;
|
|
52
|
+
reviewer: AgentRoleConfig;
|
|
41
53
|
evaluator: AgentRoleConfig;
|
|
42
54
|
judge: AgentRoleConfig;
|
|
43
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1D;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,MAAM,EAAE;QACN,qCAAqC;QACrC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,2CAA2C;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC9C,CAAC;IACF,oCAAoC;IACpC,MAAM,EAAE;QACN,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1D;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,EAAE,UAAU,CAAC;IACzB,uDAAuD;IACvD,MAAM,EAAE;QACN,qCAAqC;QACrC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,2CAA2C;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC9C,CAAC;IACF,oCAAoC;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe,CAAC;QAC1B,WAAW,EAAE,eAAe,CAAC;QAC7B,QAAQ,EAAE,eAAe,CAAC;QAC1B,SAAS,EAAE,eAAe,CAAC;QAC3B,KAAK,EAAE,eAAe,CAAC;KACxB,CAAC;CACH"}
|
package/build/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB,IAAI,CA4WN"}
|
package/build/mcp/tools.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { ReviewStorageService } from "../services/review/ReviewStorageService.js";
|
|
4
|
-
import {
|
|
5
|
-
import { discoverModules, parseModule } from "../services/criteria/module-parser.js";
|
|
4
|
+
import { discoverModules } from "../services/criteria/module-parser.js";
|
|
6
5
|
import { findMatchingModules } from "../services/criteria/glob-matcher.js";
|
|
7
6
|
/**
|
|
8
7
|
* Register all review MCP tools on the given server.
|
|
@@ -33,23 +32,23 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
33
32
|
description: "Create a new review plan. Returns the plan object with its generated plan_id.",
|
|
34
33
|
inputSchema: {
|
|
35
34
|
name: z.string().describe("Human-readable name for the review plan"),
|
|
36
|
-
|
|
37
|
-
.enum(["
|
|
38
|
-
.describe("
|
|
39
|
-
|
|
40
|
-
.string()
|
|
41
|
-
.describe("Target identifier: branch/ref for diff, file path for file, symbol name for symbol"),
|
|
42
|
-
source_file: z
|
|
35
|
+
scope_type: z
|
|
36
|
+
.enum(["all", "changes"])
|
|
37
|
+
.describe("'all' to review full files, 'changes' to review only diffs against a git ref"),
|
|
38
|
+
scope_ref: z
|
|
43
39
|
.string()
|
|
44
40
|
.optional()
|
|
45
|
-
.describe("
|
|
41
|
+
.describe("For scope_type='changes': git ref to compare against (branch, commit, or HEAD)"),
|
|
46
42
|
},
|
|
47
|
-
}, ({ name,
|
|
43
|
+
}, ({ name, scope_type, scope_ref }) => {
|
|
48
44
|
try {
|
|
49
|
-
const
|
|
50
|
-
type:
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
const scope = scope_type === "changes"
|
|
46
|
+
? { type: "changes", ref: scope_ref ?? "HEAD" }
|
|
47
|
+
: { type: "all" };
|
|
48
|
+
const plan = storage.createPlan(name, scope, {
|
|
49
|
+
command: "deskcheck-mcp",
|
|
50
|
+
args: ["start_review_plan", name],
|
|
51
|
+
cwd: projectRoot,
|
|
53
52
|
});
|
|
54
53
|
return {
|
|
55
54
|
content: [{ type: "text", text: JSON.stringify(plan, null, 2) }],
|
|
@@ -77,15 +76,14 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
77
76
|
},
|
|
78
77
|
}, ({ files }) => {
|
|
79
78
|
try {
|
|
80
|
-
const modules = discoverModules(modulesDir);
|
|
79
|
+
const modules = discoverModules(modulesDir, config.defaultModel);
|
|
81
80
|
const matches = findMatchingModules(files, modules);
|
|
82
81
|
const result = matches.map((match) => ({
|
|
83
82
|
review_id: match.module.id,
|
|
84
83
|
review_file: match.module.file,
|
|
85
84
|
description: match.module.description,
|
|
86
|
-
severity: match.module.severity,
|
|
87
85
|
globs: match.module.globs,
|
|
88
|
-
|
|
86
|
+
partition: match.module.partition,
|
|
89
87
|
model: match.module.model,
|
|
90
88
|
matched_files: match.matchedFiles,
|
|
91
89
|
}));
|
|
@@ -204,37 +202,14 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
204
202
|
// 7. start_review — claim a task and return context for executor
|
|
205
203
|
// ---------------------------------------------------------------------------
|
|
206
204
|
server.registerTool("start_review", {
|
|
207
|
-
description: "Claim a review task and return
|
|
205
|
+
description: "Claim a review task and return its metadata. Reviewers fetch their own context (diffs or full file contents) from the scope on the returned task.",
|
|
208
206
|
inputSchema: {
|
|
209
207
|
plan_id: z.string().describe("The plan ID"),
|
|
210
208
|
task_id: z.string().describe("The task ID to claim"),
|
|
211
209
|
},
|
|
212
210
|
}, ({ plan_id, task_id }) => {
|
|
213
211
|
try {
|
|
214
|
-
const
|
|
215
|
-
const task = plan.tasks[task_id];
|
|
216
|
-
if (!task) {
|
|
217
|
-
return {
|
|
218
|
-
content: [{
|
|
219
|
-
type: "text",
|
|
220
|
-
text: `Error: Task "${task_id}" not found in plan "${plan_id}"`,
|
|
221
|
-
}],
|
|
222
|
-
isError: true,
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
// Extract context based on source type
|
|
226
|
-
const symbol = plan.source.type === "symbol" ? plan.source.target : undefined;
|
|
227
|
-
const extracted = extractContext(plan.source.type, plan.source.target, task.files, projectRoot, symbol);
|
|
228
|
-
// Read the criterion prompt
|
|
229
|
-
const moduleFilePath = path.resolve(projectRoot, task.review_file);
|
|
230
|
-
const reviewModule = parseModule(moduleFilePath, path.resolve(projectRoot, config.modules_dir));
|
|
231
|
-
// Claim the task via storage
|
|
232
|
-
const claimedTask = storage.claimTask(plan_id, task_id, {
|
|
233
|
-
contextType: extracted.contextType,
|
|
234
|
-
content: extracted.content,
|
|
235
|
-
symbol: extracted.symbol ?? undefined,
|
|
236
|
-
prompt: reviewModule.prompt,
|
|
237
|
-
});
|
|
212
|
+
const claimedTask = storage.claimTask(plan_id, task_id);
|
|
238
213
|
return {
|
|
239
214
|
content: [{
|
|
240
215
|
type: "text",
|
|
@@ -242,11 +217,9 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
242
217
|
task_id: claimedTask.task_id,
|
|
243
218
|
review_id: claimedTask.review_id,
|
|
244
219
|
files: claimedTask.files,
|
|
220
|
+
scope: claimedTask.scope,
|
|
245
221
|
hint: claimedTask.hint,
|
|
246
222
|
model: claimedTask.model,
|
|
247
|
-
context_type: claimedTask.context_type,
|
|
248
|
-
context: claimedTask.context,
|
|
249
|
-
symbol: claimedTask.symbol,
|
|
250
223
|
prompt: claimedTask.prompt,
|
|
251
224
|
}, null, 2),
|
|
252
225
|
}],
|
|
@@ -285,8 +258,9 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
285
258
|
.array(z.object({
|
|
286
259
|
file: z.string().describe("File path"),
|
|
287
260
|
symbol: z.string().nullable().optional().describe("Semantic symbol anchor, e.g. ClassName::method"),
|
|
288
|
-
|
|
289
|
-
|
|
261
|
+
startLine: z.number().optional().describe("Start line of the flagged range (inclusive)"),
|
|
262
|
+
endLine: z.number().optional().describe("End line of the flagged range (inclusive)"),
|
|
263
|
+
contextLines: z.number().optional().describe("Lines of surrounding context to include (default 3)"),
|
|
290
264
|
suggestedCode: z.string().nullable().optional().describe("Suggested replacement code"),
|
|
291
265
|
note: z.string().nullable().optional().describe("Why this reference is relevant"),
|
|
292
266
|
}))
|
|
@@ -303,8 +277,10 @@ export function registerReviewTools(server, config, projectRoot) {
|
|
|
303
277
|
references: i.references.map((r) => ({
|
|
304
278
|
file: r.file,
|
|
305
279
|
symbol: r.symbol ?? null,
|
|
306
|
-
|
|
307
|
-
|
|
280
|
+
startLine: r.startLine ?? 0,
|
|
281
|
+
endLine: r.endLine ?? r.startLine ?? 0,
|
|
282
|
+
contextLines: r.contextLines ?? 3,
|
|
283
|
+
code: null,
|
|
308
284
|
suggestedCode: r.suggestedCode ?? null,
|
|
309
285
|
note: r.note ?? null,
|
|
310
286
|
})),
|
package/build/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,10 @@ import type { ReviewTask } from "../types/review.js";
|
|
|
3
3
|
* Build the system prompt for an executor agent.
|
|
4
4
|
*
|
|
5
5
|
* The executor receives a single deskcheck task containing the detective prompt
|
|
6
|
-
* (from the criterion), the files to check, and the
|
|
7
|
-
* (
|
|
6
|
+
* (from the criterion), the files to check, and the resolved scope. It uses its
|
|
7
|
+
* built-in tools (Read, Grep, Glob, Bash) to fetch the actual code itself —
|
|
8
|
+
* either by running `git diff` for changes-mode scope or by reading full file
|
|
9
|
+
* contents for all-mode scope. It outputs a JSON array of findings to stdout.
|
|
8
10
|
*
|
|
9
11
|
* CRITICAL DESIGN PRINCIPLE: The executor ONLY reports findings that the criterion
|
|
10
12
|
* explicitly asks it to check. It does NOT do a general code review. The criterion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutorPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/ExecutorPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"ExecutorPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/ExecutorPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAuC5D"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* Build the system prompt for an executor agent.
|
|
3
3
|
*
|
|
4
4
|
* The executor receives a single deskcheck task containing the detective prompt
|
|
5
|
-
* (from the criterion), the files to check, and the
|
|
6
|
-
* (
|
|
5
|
+
* (from the criterion), the files to check, and the resolved scope. It uses its
|
|
6
|
+
* built-in tools (Read, Grep, Glob, Bash) to fetch the actual code itself —
|
|
7
|
+
* either by running `git diff` for changes-mode scope or by reading full file
|
|
8
|
+
* contents for all-mode scope. It outputs a JSON array of findings to stdout.
|
|
7
9
|
*
|
|
8
10
|
* CRITICAL DESIGN PRINCIPLE: The executor ONLY reports findings that the criterion
|
|
9
11
|
* explicitly asks it to check. It does NOT do a general code review. The criterion
|
|
@@ -27,40 +29,46 @@ You MUST only report findings that are explicitly covered by the "What to Check"
|
|
|
27
29
|
// Files under review
|
|
28
30
|
const fileList = task.files.map((f) => `- ${f}`).join("\n");
|
|
29
31
|
sections.push(`## Files Under Review\n${fileList}`);
|
|
30
|
-
//
|
|
32
|
+
// Focus — sub-file narrowing set by the partitioner.
|
|
33
|
+
if (task.focus) {
|
|
34
|
+
sections.push(`## Focus\nReview only this part of the assigned files: **${task.focus}**. Ignore code outside this focus, even if you would otherwise flag it.`);
|
|
35
|
+
}
|
|
36
|
+
// Partitioner hint — short rationale for why these files are grouped.
|
|
31
37
|
if (task.hint) {
|
|
32
|
-
sections.push(`##
|
|
38
|
+
sections.push(`## Grouping Hint\n${task.hint}`);
|
|
33
39
|
}
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
const symbolLine = task.symbol ? `\n**Symbol:** ${task.symbol}` : "";
|
|
37
|
-
const contextBody = task.context ?? "No context provided.";
|
|
38
|
-
sections.push(`${contextHeader}${symbolLine}\n\n${contextBody}`);
|
|
39
|
-
// Instructions based on context type
|
|
40
|
-
sections.push(buildContextTypeGuidance(task.context_type));
|
|
40
|
+
// Scope + how to gather context
|
|
41
|
+
sections.push(buildScopeSection(task.scope));
|
|
41
42
|
// Output format instructions
|
|
42
43
|
sections.push(buildOutputInstructions());
|
|
43
44
|
return sections.join("\n\n");
|
|
44
45
|
}
|
|
45
|
-
/**
|
|
46
|
-
function
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
/** Tells the reviewer what scope it's working under and how to fetch its own context. */
|
|
47
|
+
function buildScopeSection(scope) {
|
|
48
|
+
if (scope.type === "changes") {
|
|
49
|
+
return `## Scope: changes against \`${scope.ref}\`
|
|
50
|
+
|
|
51
|
+
You are reviewing **only what changed** against \`${scope.ref}\`. For each file in "Files Under Review", run:
|
|
52
|
+
|
|
53
|
+
\`\`\`
|
|
54
|
+
git diff ${scope.ref} -- <file>
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
Apply the criterion's checks to the changed lines. Unchanged code is out of scope — do not report issues that exist in the file but were not introduced or modified by the diff.
|
|
58
|
+
|
|
59
|
+
You may read additional files (with Read/Grep/Glob) to understand context — for example, reading a related interface to validate a change. But only produce issues whose primary location is one of the files listed above.`;
|
|
57
60
|
}
|
|
61
|
+
return `## Scope: full files
|
|
62
|
+
|
|
63
|
+
You are reviewing the **full contents** of each assigned file. Use the Read tool to load each file in "Files Under Review" and apply the criterion's checks to the entire file.
|
|
64
|
+
|
|
65
|
+
You may read additional files (with Read/Grep/Glob) for context — for example, reading a related interface or test. But only produce issues whose primary location is one of the files listed above.`;
|
|
58
66
|
}
|
|
59
67
|
/** Instructions for the executor's output format. */
|
|
60
68
|
function buildOutputInstructions() {
|
|
61
69
|
return `## Your Task
|
|
62
70
|
1. Read the review instructions carefully
|
|
63
|
-
2.
|
|
71
|
+
2. Use your tools to gather the code you need to inspect (per the Scope section above)
|
|
64
72
|
3. Report issues as a JSON array to stdout
|
|
65
73
|
|
|
66
74
|
Output ONLY a JSON array of issues. Each issue has references pointing to one or more code locations:
|
|
@@ -73,8 +81,9 @@ Output ONLY a JSON array of issues. Each issue has references pointing to one or
|
|
|
73
81
|
{
|
|
74
82
|
"file": "path/to/file",
|
|
75
83
|
"symbol": "ClassName::method or null",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
84
|
+
"startLine": 42,
|
|
85
|
+
"endLine": 55,
|
|
86
|
+
"contextLines": 3,
|
|
78
87
|
"suggestedCode": "what it should look like, or null",
|
|
79
88
|
"note": "why this location is relevant, or null"
|
|
80
89
|
}
|
|
@@ -90,9 +99,11 @@ Output ONLY a JSON array of issues. Each issue has references pointing to one or
|
|
|
90
99
|
- \`references\`: array of code locations where the issue manifests (at least one required)
|
|
91
100
|
- \`file\`: the file path
|
|
92
101
|
- \`symbol\`: semantic anchor like "ClassName::method" or "ClassName::$property" — stable across refactors. Use null if not applicable.
|
|
93
|
-
- \`
|
|
94
|
-
- \`
|
|
95
|
-
- \`
|
|
102
|
+
- \`startLine\`: first line of the flagged code range (inclusive). REQUIRED.
|
|
103
|
+
- \`endLine\`: last line of the flagged code range (inclusive). REQUIRED. Use the same value as \`startLine\` for single-line issues.
|
|
104
|
+
- \`contextLines\`: how many lines of surrounding context to include above and below the flagged range in the code snippet. Defaults to 3. Use more (e.g. 5-10) when the surrounding function/block is needed to understand the issue, less (0-1) when the flagged line is self-explanatory.
|
|
105
|
+
- Do NOT include a \`code\` field — the actual code snippet will be resolved automatically from the line range.
|
|
106
|
+
- \`suggestedCode\`: when suggesting a concrete replacement, show what the code should look like. Use null when the fix is better described in the top-level \`suggestion\`.
|
|
96
107
|
- \`note\`: brief context for why this reference matters (e.g. "First occurrence", "Duplicated", "Missing return type"). Use null when obvious.
|
|
97
108
|
|
|
98
109
|
### When to use multiple references
|
|
@@ -100,10 +111,6 @@ Output ONLY a JSON array of issues. Each issue has references pointing to one or
|
|
|
100
111
|
- **Cross-file issues**: duplicated patterns across files, missing consistency between related files
|
|
101
112
|
- **Single-file issues**: just use one reference
|
|
102
113
|
|
|
103
|
-
### Code snippets
|
|
104
|
-
|
|
105
|
-
Include relevant code snippets in \`code\` so the reviewer can understand the issue without opening their editor. When suggesting a fix, include \`suggestedCode\` to show the before/after clearly.
|
|
106
|
-
|
|
107
114
|
If no issues found, output an empty array: []
|
|
108
115
|
|
|
109
116
|
Do NOT output any text outside the JSON array. No explanations, no markdown, no commentary — just the JSON array.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutorPrompt.js","sourceRoot":"","sources":["../../src/prompts/ExecutorPrompt.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"ExecutorPrompt.js","sourceRoot":"","sources":["../../src/prompts/ExecutorPrompt.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;2GAU2F,CAAC,CAAC;IAE3G,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,sHAAsH,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC,CAAC;IAElL,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAEpD,qDAAqD;IACrD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,4DAA4D,IAAI,CAAC,KAAK,0EAA0E,CAAC,CAAC;IAClK,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,gCAAgC;IAChC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7C,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEzC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,yFAAyF;AACzF,SAAS,iBAAiB,CAAC,KAAY;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,+BAA+B,KAAK,CAAC,GAAG;;oDAEC,KAAK,CAAC,GAAG;;;WAGlD,KAAK,CAAC,GAAG;;;;;4NAKwM,CAAC;IAC3N,CAAC;IAED,OAAO;;;;qMAI4L,CAAC;AACtM,CAAC;AAED,qDAAqD;AACrD,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kHA+CyG,CAAC;AACnH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReviewModule } from "../types/criteria.js";
|
|
2
|
+
import type { Scope } from "../types/review.js";
|
|
3
|
+
/**
|
|
4
|
+
* Build the system prompt for a partitioner agent.
|
|
5
|
+
*
|
|
6
|
+
* The partitioner is given exactly one criterion and the list of files that
|
|
7
|
+
* matched its globs. Its job is to read the criterion's natural-language
|
|
8
|
+
* `partition` instruction and divide the files into one or more subtasks,
|
|
9
|
+
* each of which will become an executor task downstream.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildPartitionerPrompt(criterion: ReviewModule, matchedFiles: string[], scope: Scope): string;
|
|
12
|
+
//# sourceMappingURL=PartitionerPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionerPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/PartitionerPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX,MAAM,CA8CR"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the system prompt for a partitioner agent.
|
|
3
|
+
*
|
|
4
|
+
* The partitioner is given exactly one criterion and the list of files that
|
|
5
|
+
* matched its globs. Its job is to read the criterion's natural-language
|
|
6
|
+
* `partition` instruction and divide the files into one or more subtasks,
|
|
7
|
+
* each of which will become an executor task downstream.
|
|
8
|
+
*/
|
|
9
|
+
export function buildPartitionerPrompt(criterion, matchedFiles, scope) {
|
|
10
|
+
const fileList = matchedFiles.map((f) => `- ${f}`).join("\n");
|
|
11
|
+
const scopeLine = scope.type === "changes"
|
|
12
|
+
? `changes against \`${scope.ref}\` (only the diff matters; you can run \`git diff ${scope.ref} -- <file>\` to inspect what changed)`
|
|
13
|
+
: `full files (every line of every file is in scope)`;
|
|
14
|
+
return `You are a deskcheck partitioner. You receive ONE criterion and a list of files that matched its globs. Your job is to split those files into review subtasks according to the criterion's \`partition\` instruction. You do NOT review code yourself.
|
|
15
|
+
|
|
16
|
+
## Criterion
|
|
17
|
+
|
|
18
|
+
- ID: ${criterion.id}
|
|
19
|
+
- Description: ${criterion.description}
|
|
20
|
+
- Partition instruction: ${criterion.partition}
|
|
21
|
+
|
|
22
|
+
### Criterion body (for reference, do NOT review against it)
|
|
23
|
+
|
|
24
|
+
${criterion.prompt}
|
|
25
|
+
|
|
26
|
+
## Files to partition
|
|
27
|
+
|
|
28
|
+
${fileList}
|
|
29
|
+
|
|
30
|
+
## Scope
|
|
31
|
+
|
|
32
|
+
${scopeLine}
|
|
33
|
+
|
|
34
|
+
## How to partition
|
|
35
|
+
|
|
36
|
+
1. Read the partition instruction above. It is natural language — interpret it.
|
|
37
|
+
2. If the instruction implies you need to look inside files to make a sensible split (e.g. "one task per public method", "group by class"), use Read/Grep/Glob/Bash to inspect the files. For changes-mode scope, use \`git diff\` to focus on what was actually changed.
|
|
38
|
+
3. Decide how to split the files into subtasks. Each subtask becomes one downstream reviewer call.
|
|
39
|
+
4. Call the \`submit_partition\` tool with your decision.
|
|
40
|
+
|
|
41
|
+
## Constraints
|
|
42
|
+
|
|
43
|
+
- **Every file in the input list MUST appear in at least one subtask.** Do not silently drop files. If a file is irrelevant to this criterion, that's a glob-matching problem — not your call to make.
|
|
44
|
+
- A file MAY appear in multiple subtasks if you set a different \`focus\` on each. This is the right choice when partitioning sub-file (e.g. one method per subtask): same file, different focus values.
|
|
45
|
+
- Each subtask must have at least one file.
|
|
46
|
+
- \`focus\` is optional. Use it for sub-file narrowing (method name, class name, region). Leave it null when the whole file(s) is the unit.
|
|
47
|
+
- \`hint\` is optional but encouraged. Write one short sentence explaining why these files belong together. The downstream reviewer sees it.
|
|
48
|
+
- Output via the \`submit_partition\` tool only. Do not write the JSON to stdout.
|
|
49
|
+
|
|
50
|
+
## Tools
|
|
51
|
+
|
|
52
|
+
You have Read, Grep, Glob, and Bash for inspection, plus the \`submit_partition\` MCP tool for output. You do not have any other tools and you do not need them.`;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=PartitionerPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionerPrompt.js","sourceRoot":"","sources":["../../src/prompts/PartitionerPrompt.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAuB,EACvB,YAAsB,EACtB,KAAY;IAEZ,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,SAAS;QACtB,CAAC,CAAC,qBAAqB,KAAK,CAAC,GAAG,qDAAqD,KAAK,CAAC,GAAG,uCAAuC;QACrI,CAAC,CAAC,mDAAmD,CAAC;IAE1D,OAAO;;;;QAID,SAAS,CAAC,EAAE;iBACH,SAAS,CAAC,WAAW;2BACX,SAAS,CAAC,SAAS;;;;EAI5C,SAAS,CAAC,MAAM;;;;EAIhB,QAAQ;;;;EAIR,SAAS;;;;;;;;;;;;;;;;;;;;iKAoBsJ,CAAC;AAClK,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the system prompt for the input resolver agent.
|
|
3
|
+
*
|
|
4
|
+
* The resolver's only job is to translate the user's natural-language request
|
|
5
|
+
* into a structured `{ scope, files }` pair. It does NOT match criteria, run
|
|
6
|
+
* partitioners, or review code — those are downstream pipeline steps that run
|
|
7
|
+
* the same way regardless of whether the input came from this agent or from
|
|
8
|
+
* the deterministic `deskcheck diff` path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildResolverPrompt(): string;
|
|
11
|
+
//# sourceMappingURL=ResolverPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolverPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/ResolverPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAkC5C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the system prompt for the input resolver agent.
|
|
3
|
+
*
|
|
4
|
+
* The resolver's only job is to translate the user's natural-language request
|
|
5
|
+
* into a structured `{ scope, files }` pair. It does NOT match criteria, run
|
|
6
|
+
* partitioners, or review code — those are downstream pipeline steps that run
|
|
7
|
+
* the same way regardless of whether the input came from this agent or from
|
|
8
|
+
* the deterministic `deskcheck diff` path.
|
|
9
|
+
*/
|
|
10
|
+
export function buildResolverPrompt() {
|
|
11
|
+
return `You are the deskcheck input resolver. The user will describe what they want reviewed in natural language. Your ONLY job is to figure out:
|
|
12
|
+
|
|
13
|
+
1. **Which files** they're talking about.
|
|
14
|
+
2. **What scope** to apply: \`all\` (review the full files) or \`changes\` against a specific git ref (review only the diff against that ref).
|
|
15
|
+
|
|
16
|
+
You then call the \`submit_resolution\` tool with that information. You do NOT match criteria, plan tasks, or review code.
|
|
17
|
+
|
|
18
|
+
## How to determine the file list
|
|
19
|
+
|
|
20
|
+
- **Directory mention** (e.g. "everything in app/Services/"): use Bash/Glob to list files recursively. Pass all of them.
|
|
21
|
+
- **Specific file** (e.g. "review src/cli.ts"): use that file path directly.
|
|
22
|
+
- **Branch / "changes" / "diff" mention** (e.g. "changes against develop"): run \`git diff <ref> --name-only\` to get the changed files.
|
|
23
|
+
- **Symbol mention** (e.g. "the foo function in bar.ts"): include the file in the file list. The downstream partitioner will narrow to the symbol via its \`focus\` mechanism.
|
|
24
|
+
- **Vague**: use Bash/Glob/Read to explore and pick a sensible default.
|
|
25
|
+
|
|
26
|
+
## How to determine the scope
|
|
27
|
+
|
|
28
|
+
- If the user mentioned a branch or "changes against X" → \`scope_type: "changes"\`, \`scope_ref: "<X>"\`.
|
|
29
|
+
- If the user mentioned "the diff" / "what I changed" / "uncommitted changes" → \`scope_type: "changes"\`, \`scope_ref: "HEAD"\`.
|
|
30
|
+
- Otherwise (full file review, directory review, symbol review, vague request) → \`scope_type: "all"\`.
|
|
31
|
+
|
|
32
|
+
## Empty result is OK
|
|
33
|
+
|
|
34
|
+
If after exploring you genuinely can't find any files that match the request, call \`submit_resolution\` with an empty \`files\` array. Don't guess. The CLI will surface an "empty plan" message to the user.
|
|
35
|
+
|
|
36
|
+
## What you MUST NOT do
|
|
37
|
+
|
|
38
|
+
- Do not list or interpret review criteria. You don't see them.
|
|
39
|
+
- Do not group, partition, or split files into tasks.
|
|
40
|
+
- Do not read code looking for issues.
|
|
41
|
+
- Do not output anything to stdout. Use the \`submit_resolution\` tool.
|
|
42
|
+
|
|
43
|
+
You have Bash, Read, Glob, and Grep for filesystem and git exploration, plus the \`submit_resolution\` MCP tool.`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ResolverPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolverPrompt.js","sourceRoot":"","sources":["../../src/prompts/ResolverPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHAgCwG,CAAC;AAClH,CAAC"}
|
|
@@ -44,9 +44,12 @@ export function renderMarkdown(results, plan) {
|
|
|
44
44
|
}
|
|
45
45
|
/** Format a reference's location string for markdown. */
|
|
46
46
|
function formatRefLocation(ref) {
|
|
47
|
+
const lineRange = ref.startLine > 0
|
|
48
|
+
? ref.startLine === ref.endLine ? `:${ref.startLine}` : `:${ref.startLine}-${ref.endLine}`
|
|
49
|
+
: "";
|
|
47
50
|
if (ref.symbol) {
|
|
48
|
-
return
|
|
51
|
+
return `${ref.file} ${ref.symbol}${lineRange}`;
|
|
49
52
|
}
|
|
50
|
-
return
|
|
53
|
+
return `${ref.file}${lineRange}`;
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=MarkdownRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../src/renderers/review/MarkdownRenderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../src/renderers/review/MarkdownRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,9 +102,12 @@ export function renderTerminal(results, plan) {
|
|
|
102
102
|
}
|
|
103
103
|
/** Format a reference's location string: prefer symbol, fall back to file:line. */
|
|
104
104
|
function formatRefLocation(ref) {
|
|
105
|
+
const lineRange = ref.startLine > 0
|
|
106
|
+
? ref.startLine === ref.endLine ? `:${ref.startLine}` : `:${ref.startLine}-${ref.endLine}`
|
|
107
|
+
: "";
|
|
105
108
|
if (ref.symbol) {
|
|
106
|
-
return
|
|
109
|
+
return `${ref.file} ${ref.symbol}${lineRange}`;
|
|
107
110
|
}
|
|
108
|
-
return
|
|
111
|
+
return `${ref.file}${lineRange}`;
|
|
109
112
|
}
|
|
110
113
|
//# sourceMappingURL=TerminalRenderer.js.map
|