@zhixuan92/multi-model-agent-core 2.7.5 → 3.0.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/batch-cache.d.ts +27 -0
- package/dist/batch-cache.d.ts.map +1 -0
- package/dist/batch-cache.js +73 -0
- package/dist/batch-cache.js.map +1 -0
- package/dist/batch-registry.d.ts +60 -0
- package/dist/batch-registry.d.ts.map +1 -0
- package/dist/batch-registry.js +146 -0
- package/dist/batch-registry.js.map +1 -0
- package/dist/config/load.d.ts +8 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +12 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +41 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +55 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/context-block-store.d.ts +10 -0
- package/dist/context/context-block-store.d.ts.map +1 -1
- package/dist/context/context-block-store.js +29 -2
- package/dist/context/context-block-store.js.map +1 -1
- package/dist/diagnostics/disconnect-log.d.ts +38 -2
- package/dist/diagnostics/disconnect-log.d.ts.map +1 -1
- package/dist/diagnostics/disconnect-log.js +79 -3
- package/dist/diagnostics/disconnect-log.js.map +1 -1
- package/dist/executors/audit.d.ts +7 -0
- package/dist/executors/audit.d.ts.map +1 -0
- package/dist/executors/audit.js +140 -0
- package/dist/executors/audit.js.map +1 -0
- package/dist/executors/debug.d.ts +7 -0
- package/dist/executors/debug.d.ts.map +1 -0
- package/dist/executors/debug.js +65 -0
- package/dist/executors/debug.js.map +1 -0
- package/dist/executors/delegate.d.ts +28 -0
- package/dist/executors/delegate.d.ts.map +1 -0
- package/dist/executors/delegate.js +76 -0
- package/dist/executors/delegate.js.map +1 -0
- package/dist/executors/execute-plan.d.ts +11 -0
- package/dist/executors/execute-plan.d.ts.map +1 -0
- package/dist/executors/execute-plan.js +128 -0
- package/dist/executors/execute-plan.js.map +1 -0
- package/dist/executors/index.d.ts +9 -0
- package/dist/executors/index.d.ts.map +1 -0
- package/dist/executors/index.js +10 -0
- package/dist/executors/index.js.map +1 -0
- package/dist/executors/retry.d.ts +20 -0
- package/dist/executors/retry.d.ts.map +1 -0
- package/dist/executors/retry.js +65 -0
- package/dist/executors/retry.js.map +1 -0
- package/dist/executors/review.d.ts +7 -0
- package/dist/executors/review.d.ts.map +1 -0
- package/dist/executors/review.js +128 -0
- package/dist/executors/review.js.map +1 -0
- package/dist/executors/shared-compute.d.ts +4 -0
- package/dist/executors/shared-compute.d.ts.map +1 -0
- package/dist/executors/shared-compute.js +19 -0
- package/dist/executors/shared-compute.js.map +1 -0
- package/dist/executors/types.d.ts +65 -0
- package/dist/executors/types.d.ts.map +1 -0
- package/dist/executors/types.js +2 -0
- package/dist/executors/types.js.map +1 -0
- package/dist/executors/verify.d.ts +7 -0
- package/dist/executors/verify.d.ts.map +1 -0
- package/dist/executors/verify.js +105 -0
- package/dist/executors/verify.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/intake/clarification-store.d.ts +2 -0
- package/dist/intake/clarification-store.d.ts.map +1 -1
- package/dist/intake/clarification-store.js +6 -0
- package/dist/intake/clarification-store.js.map +1 -1
- package/dist/project-context.d.ts +19 -0
- package/dist/project-context.d.ts.map +1 -0
- package/dist/project-context.js +18 -0
- package/dist/project-context.js.map +1 -0
- package/dist/tool-schemas/audit.d.ts +27 -0
- package/dist/tool-schemas/audit.d.ts.map +1 -0
- package/dist/tool-schemas/audit.js +24 -0
- package/dist/tool-schemas/audit.js.map +1 -0
- package/dist/tool-schemas/debug.d.ts +17 -0
- package/dist/tool-schemas/debug.d.ts.map +1 -0
- package/dist/tool-schemas/debug.js +21 -0
- package/dist/tool-schemas/debug.js.map +1 -0
- package/dist/tool-schemas/delegate.d.ts +19 -0
- package/dist/tool-schemas/delegate.d.ts.map +1 -0
- package/dist/tool-schemas/delegate.js +23 -0
- package/dist/tool-schemas/delegate.js.map +1 -0
- package/dist/tool-schemas/execute-plan.d.ts +16 -0
- package/dist/tool-schemas/execute-plan.d.ts.map +1 -0
- package/dist/tool-schemas/execute-plan.js +23 -0
- package/dist/tool-schemas/execute-plan.js.map +1 -0
- package/dist/tool-schemas/index.d.ts +8 -0
- package/dist/tool-schemas/index.d.ts.map +1 -0
- package/dist/tool-schemas/index.js +9 -0
- package/dist/tool-schemas/index.js.map +1 -0
- package/dist/tool-schemas/retry.d.ts +14 -0
- package/dist/tool-schemas/retry.d.ts.map +1 -0
- package/dist/tool-schemas/retry.js +17 -0
- package/dist/tool-schemas/retry.js.map +1 -0
- package/dist/tool-schemas/review.d.ts +21 -0
- package/dist/tool-schemas/review.d.ts.map +1 -0
- package/dist/tool-schemas/review.js +21 -0
- package/dist/tool-schemas/review.js.map +1 -0
- package/dist/tool-schemas/verify.d.ts +16 -0
- package/dist/tool-schemas/verify.d.ts.map +1 -0
- package/dist/tool-schemas/verify.js +21 -0
- package/dist/tool-schemas/verify.js.map +1 -0
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +77 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
// packages/core/src/executors/execute-plan.ts
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { readFile } from 'node:fs/promises';
|
|
4
|
+
import { runTasks, extractPlanSection } from '../run-tasks.js';
|
|
5
|
+
import { computeTimings, computeAggregateCost } from './shared-compute.js';
|
|
6
|
+
// --- Ported from packages/mcp/src/tools/execute-plan.ts ---
|
|
7
|
+
function buildExecutePlanPrompt(fileContents, task, context) {
|
|
8
|
+
const parts = [
|
|
9
|
+
'Below are the plan and/or spec documents for this project:',
|
|
10
|
+
'',
|
|
11
|
+
'---',
|
|
12
|
+
fileContents,
|
|
13
|
+
'---',
|
|
14
|
+
'',
|
|
15
|
+
'Execute the following task from the documents above:',
|
|
16
|
+
'',
|
|
17
|
+
`Requested task: "${task}"`,
|
|
18
|
+
];
|
|
19
|
+
if (context) {
|
|
20
|
+
parts.push('', `Additional context: ${context}`);
|
|
21
|
+
}
|
|
22
|
+
parts.push('', 'Find this task in the plan/spec documents above (not in any preceding context blocks),', 'understand its requirements, and implement it fully.', 'Follow any acceptance criteria, file paths, and constraints specified in the plan.', 'If you cannot find a unique matching task, report that no match was found and do not implement anything.');
|
|
23
|
+
return parts.join('\n');
|
|
24
|
+
}
|
|
25
|
+
function autoRegisterContextBlock(results, store) {
|
|
26
|
+
if (!store)
|
|
27
|
+
return undefined;
|
|
28
|
+
const usable = results.filter(r => !r.outputIsDiagnostic && r.output.trim().length > 0);
|
|
29
|
+
if (usable.length === 0)
|
|
30
|
+
return undefined;
|
|
31
|
+
const combined = usable.map(r => r.output).join('\n\n---\n\n');
|
|
32
|
+
const { id } = store.register(combined);
|
|
33
|
+
return id;
|
|
34
|
+
}
|
|
35
|
+
export async function executeExecutePlan(ctx, input) {
|
|
36
|
+
const { config, contextBlockStore } = ctx;
|
|
37
|
+
const filePaths = input.filePaths;
|
|
38
|
+
const validPaths = (filePaths ?? []).filter(p => p.trim().length > 0);
|
|
39
|
+
if (validPaths.length === 0) {
|
|
40
|
+
return {
|
|
41
|
+
error: 'Provide filePaths with at least one plan or spec file',
|
|
42
|
+
isError: true,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// Read all plan/spec files
|
|
46
|
+
let fileContents;
|
|
47
|
+
try {
|
|
48
|
+
const contents = await Promise.all(validPaths.map(async (fp) => {
|
|
49
|
+
const content = await readFile(fp, 'utf-8');
|
|
50
|
+
return `--- ${fp} ---\n${content}`;
|
|
51
|
+
}));
|
|
52
|
+
fileContents = contents.join('\n\n');
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
return {
|
|
56
|
+
error: `Error reading plan files: ${err instanceof Error ? err.message : String(err)}`,
|
|
57
|
+
isError: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const parentModel = ctx.parentModel ?? config.defaults?.parentModel ?? undefined;
|
|
61
|
+
const baseTaskSpec = {
|
|
62
|
+
agentType: 'standard',
|
|
63
|
+
reviewPolicy: 'full',
|
|
64
|
+
briefQualityPolicy: 'off',
|
|
65
|
+
done: 'Implement the task fully. Report: which task heading you matched, what files were created or modified, and any issues encountered. If no unique matching task was found, report that explicitly and do not implement anything.',
|
|
66
|
+
tools: config.defaults?.tools ?? 'full',
|
|
67
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
68
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
69
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
70
|
+
cwd: ctx.projectContext.cwd,
|
|
71
|
+
contextBlockIds: input.contextBlockIds,
|
|
72
|
+
parentModel,
|
|
73
|
+
autoCommit: true,
|
|
74
|
+
};
|
|
75
|
+
const runtime = contextBlockStore ? { contextBlockStore } : undefined;
|
|
76
|
+
const tasks = input.tasks.map(task => ({
|
|
77
|
+
...baseTaskSpec,
|
|
78
|
+
prompt: buildExecutePlanPrompt(fileContents, task, input.context),
|
|
79
|
+
}));
|
|
80
|
+
// Inject plan section context so spec reviewer checks implementation against the plan
|
|
81
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
82
|
+
const section = await extractPlanSection(validPaths, input.tasks[i], baseTaskSpec.cwd);
|
|
83
|
+
if (section) {
|
|
84
|
+
tasks[i].planContext = section;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (tasks.length === 1) {
|
|
88
|
+
const results = await runTasks(tasks, config, { runtime });
|
|
89
|
+
const result = results[0];
|
|
90
|
+
if (!result) {
|
|
91
|
+
return {
|
|
92
|
+
error: 'task produced no result',
|
|
93
|
+
isError: true,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const ctxId = autoRegisterContextBlock(results, contextBlockStore);
|
|
97
|
+
const batchTimings = computeTimings(0, results);
|
|
98
|
+
const costSummary = computeAggregateCost(results);
|
|
99
|
+
return {
|
|
100
|
+
results,
|
|
101
|
+
headline: '',
|
|
102
|
+
batchTimings,
|
|
103
|
+
costSummary,
|
|
104
|
+
batchId: randomUUID(),
|
|
105
|
+
wallClockMs: 0,
|
|
106
|
+
parentModel,
|
|
107
|
+
...(ctxId !== undefined && { contextBlockId: ctxId }),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// Multiple tasks = fan out (parallel)
|
|
111
|
+
const startMs = Date.now();
|
|
112
|
+
const results = await runTasks(tasks, config, { runtime });
|
|
113
|
+
const wallClockMs = Date.now() - startMs;
|
|
114
|
+
const ctxId = autoRegisterContextBlock(results, contextBlockStore);
|
|
115
|
+
const batchTimings = computeTimings(wallClockMs, results);
|
|
116
|
+
const costSummary = computeAggregateCost(results);
|
|
117
|
+
return {
|
|
118
|
+
results,
|
|
119
|
+
headline: '',
|
|
120
|
+
batchTimings,
|
|
121
|
+
costSummary,
|
|
122
|
+
batchId: randomUUID(),
|
|
123
|
+
wallClockMs,
|
|
124
|
+
parentModel,
|
|
125
|
+
...(ctxId !== undefined && { contextBlockId: ctxId }),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=execute-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../src/executors/execute-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export { executeDelegate } from './delegate.js';
|
|
3
|
+
export { executeAudit } from './audit.js';
|
|
4
|
+
export { executeReview } from './review.js';
|
|
5
|
+
export { executeVerify } from './verify.js';
|
|
6
|
+
export { executeDebug } from './debug.js';
|
|
7
|
+
export { executeExecutePlan } from './execute-plan.js';
|
|
8
|
+
export { executeRetry } from './retry.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// packages/core/src/executors/index.ts
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export { executeDelegate } from './delegate.js';
|
|
4
|
+
export { executeAudit } from './audit.js';
|
|
5
|
+
export { executeReview } from './review.js';
|
|
6
|
+
export { executeVerify } from './verify.js';
|
|
7
|
+
export { executeDebug } from './debug.js';
|
|
8
|
+
export { executeExecutePlan } from './execute-plan.js';
|
|
9
|
+
export { executeRetry } from './retry.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ExecutionContext, ExecutorOutput } from './types.js';
|
|
2
|
+
import type { Input } from '../tool-schemas/retry.js';
|
|
3
|
+
import type { TaskSpec } from '../types.js';
|
|
4
|
+
import { runTasks } from '../run-tasks.js';
|
|
5
|
+
export interface RetryOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Injects harness-level defaults (tools, timeoutMs, cwd, etc.) into each TaskSpec.
|
|
8
|
+
* Provided by the MCP layer.
|
|
9
|
+
*/
|
|
10
|
+
injectDefaults: (tasks: TaskSpec[]) => TaskSpec[];
|
|
11
|
+
/**
|
|
12
|
+
* Optional override for `runTasks` — used in tests to inject a mock implementation.
|
|
13
|
+
*/
|
|
14
|
+
runTasksOverride?: typeof runTasks;
|
|
15
|
+
}
|
|
16
|
+
export interface RetryOutput extends ExecutorOutput {
|
|
17
|
+
retryBatchId: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function executeRetry(ctx: ExecutionContext, input: Input, options: RetryOptions): Promise<RetryOutput>;
|
|
20
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/executors/retry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;IAClD;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,QAAQ,CAAC;CACpC;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,CA6DtB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { runTasks } from '../run-tasks.js';
|
|
2
|
+
import { computeTimings, computeAggregateCost } from './shared-compute.js';
|
|
3
|
+
export async function executeRetry(ctx, input, options) {
|
|
4
|
+
const { config, projectContext, contextBlockStore } = ctx;
|
|
5
|
+
const { batchCache } = projectContext;
|
|
6
|
+
const { injectDefaults } = options;
|
|
7
|
+
const runTasksImpl = options.runTasksOverride ?? runTasks;
|
|
8
|
+
const batch = batchCache.get(input.batchId);
|
|
9
|
+
if (!batch) {
|
|
10
|
+
throw new Error(`batch "${input.batchId}" is unknown or expired — re-dispatch with full task specs via delegate_tasks`);
|
|
11
|
+
}
|
|
12
|
+
// Mark this batch as recently used so the LRU eviction does not
|
|
13
|
+
// drop a hot entry when newer batches arrive. Does NOT refresh TTL.
|
|
14
|
+
batchCache.touch(input.batchId);
|
|
15
|
+
for (const i of input.taskIndices) {
|
|
16
|
+
if (i < 0 || i >= batch.tasks.length) {
|
|
17
|
+
throw new Error(`index ${i} is out of range for batch ${input.batchId} (size ${batch.tasks.length})`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const subset = input.taskIndices.map((i) => batch.tasks[i]);
|
|
21
|
+
// Create a fresh batch for the retried tasks so the original batch
|
|
22
|
+
// entry is preserved and get_batch_slice can still retrieve it.
|
|
23
|
+
const retryBatchId = batchCache.remember(subset);
|
|
24
|
+
const batchStartMs = Date.now();
|
|
25
|
+
let results = [];
|
|
26
|
+
let retryAborted = false;
|
|
27
|
+
try {
|
|
28
|
+
results = await runTasksImpl(injectDefaults(subset), config, {
|
|
29
|
+
runtime: { contextBlockStore },
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
retryAborted = true;
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
if (retryAborted) {
|
|
38
|
+
try {
|
|
39
|
+
batchCache.abort(retryBatchId);
|
|
40
|
+
}
|
|
41
|
+
catch { /* already terminal */ }
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
try {
|
|
45
|
+
batchCache.complete(retryBatchId, results);
|
|
46
|
+
}
|
|
47
|
+
catch { /* already terminal */ }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const wallClockMs = Date.now() - batchStartMs;
|
|
51
|
+
const batchTimings = computeTimings(wallClockMs, results);
|
|
52
|
+
const costSummary = computeAggregateCost(results);
|
|
53
|
+
const parentModel = ctx.parentModel ?? config.defaults?.parentModel ?? undefined;
|
|
54
|
+
return {
|
|
55
|
+
results,
|
|
56
|
+
headline: '',
|
|
57
|
+
batchTimings,
|
|
58
|
+
costSummary,
|
|
59
|
+
batchId: retryBatchId,
|
|
60
|
+
retryBatchId,
|
|
61
|
+
wallClockMs,
|
|
62
|
+
parentModel,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/executors/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExecutionContext, ExecutorOutput } from './types.js';
|
|
2
|
+
import type { Input } from '../tool-schemas/review.js';
|
|
3
|
+
export interface ReviewOutput extends ExecutorOutput {
|
|
4
|
+
contextBlockId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function executeReview(ctx: ExecutionContext, input: Input): Promise<ReviewOutput>;
|
|
7
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/executors/review.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAuFvD,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,YAAY,CAAC,CAkEvB"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
// packages/core/src/executors/review.ts
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { runTasks } from '../run-tasks.js';
|
|
4
|
+
import { computeTimings, computeAggregateCost } from './shared-compute.js';
|
|
5
|
+
// --- Ported from packages/mcp/src/tools/review-code.ts ---
|
|
6
|
+
const REVIEW_DONE_CONDITIONS = {
|
|
7
|
+
security: 'Identify security vulnerabilities with severity, location, and remediation.',
|
|
8
|
+
performance: 'Identify performance issues with impact level, location, and fix recommendation.',
|
|
9
|
+
correctness: 'Identify logic errors, edge cases, and contract violations with severity and location.',
|
|
10
|
+
style: 'Identify style issues, naming inconsistencies, and dead code with location and fix.',
|
|
11
|
+
};
|
|
12
|
+
const DELTA_REVIEW_SUFFIX = ' Perform a full review (do not reduce thoroughness). Verify each prior finding as addressed or unaddressed. Omit addressed prior findings. Include unaddressed prior findings and new findings. End with a summary of which prior findings were resolved.';
|
|
13
|
+
function resolveReviewDoneCondition(focus, hasContextBlocks) {
|
|
14
|
+
let base;
|
|
15
|
+
if (!focus || focus.length === 0) {
|
|
16
|
+
base = 'Review code for correctness, security, performance, and style. Each finding has category, severity, location, and recommendation.';
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
base = focus.map(f => REVIEW_DONE_CONDITIONS[f] ?? '').filter(Boolean).join(' ');
|
|
20
|
+
}
|
|
21
|
+
return hasContextBlocks ? base + DELTA_REVIEW_SUFFIX : base;
|
|
22
|
+
}
|
|
23
|
+
function buildFilePathsPrompt(filePaths) {
|
|
24
|
+
if (!filePaths || filePaths.length === 0)
|
|
25
|
+
return '';
|
|
26
|
+
return `Read and analyze these files:\n${filePaths.map(p => `- ${p}`).join('\n')}`;
|
|
27
|
+
}
|
|
28
|
+
function buildPerFilePrompt(filePath, promptTemplate) {
|
|
29
|
+
return `${promptTemplate}\n\nRead and analyze this file:\n- ${filePath}`;
|
|
30
|
+
}
|
|
31
|
+
function buildReviewPrompt(code, filePaths, focus, hasContextBlocks) {
|
|
32
|
+
const parts = ['Review this code:'];
|
|
33
|
+
if (code)
|
|
34
|
+
parts.push(`\`\`\`\n${code}\n\`\`\``);
|
|
35
|
+
const fileSection = buildFilePathsPrompt(filePaths);
|
|
36
|
+
if (fileSection)
|
|
37
|
+
parts.push(fileSection);
|
|
38
|
+
if (focus && focus.length > 0)
|
|
39
|
+
parts.push(`Focus areas: ${focus.join(', ')}.`);
|
|
40
|
+
if (hasContextBlocks) {
|
|
41
|
+
parts.push('Context is provided above (e.g. a diff or prior review). Perform a full review as normal — do not skip areas or reduce thoroughness.', 'If the context contains prior review findings:', '- **Omit** findings that have been addressed — do not re-report them.', '- **Include** findings that are still present (mark as "unfixed from prior review").', '- **Include** any new findings.', '- End with a **Fixed** summary listing which prior findings were resolved.');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
parts.push('Provide a structured review with findings and recommendations.');
|
|
45
|
+
}
|
|
46
|
+
return parts.join('\n\n');
|
|
47
|
+
}
|
|
48
|
+
function hasContent(value) {
|
|
49
|
+
return value !== undefined && value.trim().length > 0;
|
|
50
|
+
}
|
|
51
|
+
function resolveDispatchMode(inlineContent, filePaths) {
|
|
52
|
+
if (hasContent(inlineContent))
|
|
53
|
+
return 'single';
|
|
54
|
+
const validPaths = (filePaths ?? []).filter(p => p.trim().length > 0);
|
|
55
|
+
if (validPaths.length >= 2)
|
|
56
|
+
return 'fan_out';
|
|
57
|
+
return 'single';
|
|
58
|
+
}
|
|
59
|
+
function autoRegisterContextBlock(results, store) {
|
|
60
|
+
if (!store)
|
|
61
|
+
return undefined;
|
|
62
|
+
const usable = results.filter(r => !r.outputIsDiagnostic && r.output.trim().length > 0);
|
|
63
|
+
if (usable.length === 0)
|
|
64
|
+
return undefined;
|
|
65
|
+
const combined = usable.map(r => r.output).join('\n\n---\n\n');
|
|
66
|
+
const { id } = store.register(combined);
|
|
67
|
+
return id;
|
|
68
|
+
}
|
|
69
|
+
export async function executeReview(ctx, input) {
|
|
70
|
+
const { config, contextBlockStore } = ctx;
|
|
71
|
+
const hasContextBlocks = Array.isArray(input.contextBlockIds) && input.contextBlockIds.length > 0;
|
|
72
|
+
const parentModel = ctx.parentModel ?? config.defaults?.parentModel ?? undefined;
|
|
73
|
+
const baseTaskSpec = {
|
|
74
|
+
agentType: 'complex',
|
|
75
|
+
reviewPolicy: 'full',
|
|
76
|
+
briefQualityPolicy: 'off',
|
|
77
|
+
done: resolveReviewDoneCondition(input.focus, hasContextBlocks),
|
|
78
|
+
tools: config.defaults?.tools ?? 'full',
|
|
79
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
80
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
81
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
82
|
+
cwd: ctx.projectContext.cwd,
|
|
83
|
+
contextBlockIds: input.contextBlockIds,
|
|
84
|
+
parentModel,
|
|
85
|
+
};
|
|
86
|
+
const runtime = contextBlockStore ? { contextBlockStore } : undefined;
|
|
87
|
+
const mode = resolveDispatchMode(input.code, input.filePaths);
|
|
88
|
+
if (mode === 'fan_out') {
|
|
89
|
+
const validPaths = input.filePaths.filter(p => p.trim().length > 0);
|
|
90
|
+
const promptTemplate = buildReviewPrompt(undefined, undefined, input.focus, hasContextBlocks);
|
|
91
|
+
const tasks = validPaths.map(fp => ({
|
|
92
|
+
...baseTaskSpec,
|
|
93
|
+
prompt: buildPerFilePrompt(fp, promptTemplate),
|
|
94
|
+
}));
|
|
95
|
+
const startMs = Date.now();
|
|
96
|
+
const results = await runTasks(tasks, config, { runtime });
|
|
97
|
+
const wallClockMs = Date.now() - startMs;
|
|
98
|
+
const ctxId = autoRegisterContextBlock(results, contextBlockStore);
|
|
99
|
+
const batchTimings = computeTimings(wallClockMs, results);
|
|
100
|
+
const costSummary = computeAggregateCost(results);
|
|
101
|
+
return {
|
|
102
|
+
results,
|
|
103
|
+
headline: '',
|
|
104
|
+
batchTimings,
|
|
105
|
+
costSummary,
|
|
106
|
+
batchId: randomUUID(),
|
|
107
|
+
wallClockMs,
|
|
108
|
+
parentModel,
|
|
109
|
+
...(ctxId !== undefined && { contextBlockId: ctxId }),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const prompt = buildReviewPrompt(input.code, input.filePaths, input.focus, hasContextBlocks);
|
|
113
|
+
const results = await runTasks([{ ...baseTaskSpec, prompt }], config, { runtime });
|
|
114
|
+
const ctxId = autoRegisterContextBlock(results, contextBlockStore);
|
|
115
|
+
const batchTimings = computeTimings(0, results);
|
|
116
|
+
const costSummary = computeAggregateCost(results);
|
|
117
|
+
return {
|
|
118
|
+
results,
|
|
119
|
+
headline: '',
|
|
120
|
+
batchTimings,
|
|
121
|
+
costSummary,
|
|
122
|
+
batchId: randomUUID(),
|
|
123
|
+
wallClockMs: 0,
|
|
124
|
+
parentModel,
|
|
125
|
+
...(ctxId !== undefined && { contextBlockId: ctxId }),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/executors/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RunResult, BatchTimings, BatchAggregateCost } from '../types.js';
|
|
2
|
+
export declare function computeTimings(wallClockMs: number, results: RunResult[]): BatchTimings;
|
|
3
|
+
export declare function computeAggregateCost(results: RunResult[]): BatchAggregateCost;
|
|
4
|
+
//# sourceMappingURL=shared-compute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-compute.d.ts","sourceRoot":"","sources":["../../src/executors/shared-compute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,YAAY,CAItF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAY7E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function computeTimings(wallClockMs, results) {
|
|
2
|
+
const sumOfTaskMs = results.reduce((sum, r) => sum + (r.durationMs ?? 0), 0);
|
|
3
|
+
const estimatedParallelSavingsMs = Math.max(0, sumOfTaskMs - wallClockMs);
|
|
4
|
+
return { wallClockMs, sumOfTaskMs, estimatedParallelSavingsMs };
|
|
5
|
+
}
|
|
6
|
+
export function computeAggregateCost(results) {
|
|
7
|
+
let totalActualCostUSD = 0;
|
|
8
|
+
let totalSavedCostUSD = 0;
|
|
9
|
+
for (const r of results) {
|
|
10
|
+
if (r.usage.costUSD !== null && r.usage.costUSD !== undefined) {
|
|
11
|
+
totalActualCostUSD += r.usage.costUSD;
|
|
12
|
+
}
|
|
13
|
+
if (r.usage.savedCostUSD !== null && r.usage.savedCostUSD !== undefined) {
|
|
14
|
+
totalSavedCostUSD += r.usage.savedCostUSD;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return { totalActualCostUSD, totalSavedCostUSD };
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=shared-compute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-compute.js","sourceRoot":"","sources":["../../src/executors/shared-compute.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,OAAoB;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;IAC1E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxE,iBAAiB,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ProjectContext } from '../project-context.js';
|
|
2
|
+
import type { Provider, RunResult, BatchTimings, BatchAggregateCost, MultiModelConfig } from '../types.js';
|
|
3
|
+
import type { DiagnosticLogger } from '../diagnostics/disconnect-log.js';
|
|
4
|
+
import type { ContextBlockStore } from '../context/context-block-store.js';
|
|
5
|
+
export interface ClarificationProposal {
|
|
6
|
+
kind: string;
|
|
7
|
+
interpretation: string;
|
|
8
|
+
details?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export type ClarificationResponse = {
|
|
11
|
+
interpretation: string;
|
|
12
|
+
};
|
|
13
|
+
export interface ProgressEvent {
|
|
14
|
+
kind: string;
|
|
15
|
+
message: string;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ExecutionContext {
|
|
19
|
+
projectContext: ProjectContext;
|
|
20
|
+
config: MultiModelConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Diagnostic logger for the request scope.
|
|
23
|
+
*
|
|
24
|
+
* NOTE: interface-populated but not currently consumed by any executor. Diagnostic events
|
|
25
|
+
* today emit from the HTTP pipeline and `run-tasks.ts` runner layer. Retained so future
|
|
26
|
+
* executor-internal events (e.g. mid-flight aborts, partial-progress signals) can flow
|
|
27
|
+
* through the same scoped logger.
|
|
28
|
+
*/
|
|
29
|
+
logger: DiagnosticLogger;
|
|
30
|
+
contextBlockStore: ContextBlockStore;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves a named agent profile (e.g. "standard", "complex") to a Provider instance.
|
|
33
|
+
*
|
|
34
|
+
* NOTE: interface-populated but not currently consumed by any executor. Today executors pass
|
|
35
|
+
* `ctx.config` to `runTasks()`, which resolves providers internally via `createProvider`.
|
|
36
|
+
* Declared here because the 3.0.0 plan mandates this channel; retained so future per-request
|
|
37
|
+
* provider overrides (tenant auth, per-request model swap) can flow through the context.
|
|
38
|
+
*/
|
|
39
|
+
providerFactory: (profile: string) => Provider;
|
|
40
|
+
/** Optional progress callback for streaming progress events to callers. */
|
|
41
|
+
onProgress?: (event: ProgressEvent) => void;
|
|
42
|
+
/** Awaits a clarification response from the caller. Not supported in MCP context (stub rejects). */
|
|
43
|
+
awaitClarification: (proposal: ClarificationProposal) => Promise<ClarificationResponse>;
|
|
44
|
+
/** The parent model name, resolved from env at context-build time. */
|
|
45
|
+
parentModel?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Uniform output envelope returned by every executor.
|
|
49
|
+
* Required shape for GET /batch/:id?taskIndex=N slicing (see spec §6.5).
|
|
50
|
+
*
|
|
51
|
+
* All four top-level fields are required; additional passthrough fields
|
|
52
|
+
* (batchId, contextBlockId, clarificationId, etc.) are preserved.
|
|
53
|
+
*/
|
|
54
|
+
export interface ExecutorOutput {
|
|
55
|
+
results: RunResult[];
|
|
56
|
+
headline: string;
|
|
57
|
+
batchTimings: BatchTimings;
|
|
58
|
+
costSummary: BatchAggregateCost;
|
|
59
|
+
batchId: string;
|
|
60
|
+
contextBlockId?: string;
|
|
61
|
+
clarificationId?: string;
|
|
62
|
+
wallClockMs?: number;
|
|
63
|
+
parentModel?: string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executors/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC;IAC/C,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,oGAAoG;IACpG,kBAAkB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxF,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executors/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExecutionContext, ExecutorOutput } from './types.js';
|
|
2
|
+
import type { Input } from '../tool-schemas/verify.js';
|
|
3
|
+
export interface VerifyOutput extends ExecutorOutput {
|
|
4
|
+
contextBlockId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function executeVerify(ctx: ExecutionContext, input: Input): Promise<VerifyOutput>;
|
|
7
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/executors/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAyDvD,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,YAAY,CAAC,CAiEvB"}
|