@zhixuan92/multi-model-agent-mcp 1.2.1 → 2.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/cli.d.ts +3 -41
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +31 -107
- package/dist/cli.js.map +1 -1
- package/dist/tools/audit-document.d.ts +0 -16
- package/dist/tools/audit-document.d.ts.map +1 -1
- package/dist/tools/audit-document.js +16 -18
- package/dist/tools/audit-document.js.map +1 -1
- package/dist/tools/batch-response.js +2 -2
- package/dist/tools/batch-response.js.map +1 -1
- package/dist/tools/debug-task.d.ts +0 -12
- package/dist/tools/debug-task.d.ts.map +1 -1
- package/dist/tools/debug-task.js +15 -8
- package/dist/tools/debug-task.js.map +1 -1
- package/dist/tools/review-code.d.ts +0 -16
- package/dist/tools/review-code.d.ts.map +1 -1
- package/dist/tools/review-code.js +13 -15
- package/dist/tools/review-code.js.map +1 -1
- package/dist/tools/shared.d.ts +1 -15
- package/dist/tools/shared.d.ts.map +1 -1
- package/dist/tools/shared.js +2 -22
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/verify-work.d.ts +0 -12
- package/dist/tools/verify-work.d.ts.map +1 -1
- package/dist/tools/verify-work.js +11 -5
- package/dist/tools/verify-work.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.d.ts
CHANGED
|
@@ -11,48 +11,10 @@ export declare function buildTaskSchema(availableAgents: [string, ...string[]]):
|
|
|
11
11
|
agentType: z.ZodOptional<z.ZodEnum<{
|
|
12
12
|
[x: string]: string;
|
|
13
13
|
}>>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
none: "none";
|
|
17
|
-
full: "full";
|
|
18
|
-
}>>;
|
|
19
|
-
maxTurns: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
21
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
22
|
-
effort: z.ZodOptional<z.ZodEnum<{
|
|
23
|
-
high: "high";
|
|
24
|
-
medium: "medium";
|
|
25
|
-
low: "low";
|
|
26
|
-
none: "none";
|
|
27
|
-
}>>;
|
|
28
|
-
sandboxPolicy: z.ZodOptional<z.ZodEnum<{
|
|
29
|
-
none: "none";
|
|
30
|
-
"cwd-only": "cwd-only";
|
|
31
|
-
}>>;
|
|
32
|
-
requiredCapabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
|
+
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
done: z.ZodOptional<z.ZodString>;
|
|
33
16
|
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
-
|
|
35
|
-
minSections: z.ZodOptional<z.ZodNumber>;
|
|
36
|
-
sectionPattern: z.ZodOptional<z.ZodString>;
|
|
37
|
-
requiredMarkers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
38
|
-
}, z.core.$strip>>;
|
|
39
|
-
skipCompletionHeuristic: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
-
parentModel: z.ZodOptional<z.ZodString>;
|
|
41
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
42
|
-
reviewPolicy: z.ZodOptional<z.ZodEnum<{
|
|
43
|
-
full: "full";
|
|
44
|
-
off: "off";
|
|
45
|
-
spec_only: "spec_only";
|
|
46
|
-
}>>;
|
|
47
|
-
maxReviewRounds: z.ZodOptional<z.ZodNumber>;
|
|
48
|
-
briefQualityPolicy: z.ZodOptional<z.ZodEnum<{
|
|
49
|
-
normalize: "normalize";
|
|
50
|
-
strict: "strict";
|
|
51
|
-
warn: "warn";
|
|
52
|
-
off: "off";
|
|
53
|
-
}>>;
|
|
54
|
-
testCommand: z.ZodOptional<z.ZodString>;
|
|
55
|
-
}, z.core.$strip>;
|
|
17
|
+
}, z.core.$strict>;
|
|
56
18
|
export declare function buildMcpServer(config: Parameters<typeof runTasks>[1], options?: {
|
|
57
19
|
/** Character threshold that triggers auto-switch from 'full' to
|
|
58
20
|
* 'summary' response mode when the caller uses `responseMode: 'auto'`
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAEvE,OAAO,KAAK,EACV,gBAAgB,EAQjB,MAAM,mCAAmC,CAAC;AAa3C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvG,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAwH/C,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C,wBAAgB,eAAe,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAEvE,OAAO,KAAK,EACV,gBAAgB,EAQjB,MAAM,mCAAmC,CAAC;AAa3C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvG,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAwH/C,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C,wBAAgB,eAAe,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;;;;;;;;mBAkBrE;AAkCD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtC,OAAO,CAAC,EAAE;IACR;;;;;wEAKoE;IACpE,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,+EAA+E;IAC/E,qBAAqB,CAAC,EAAE,OAAO,QAAQ,CAAC;CACzC,aAgfF;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4BhE"}
|
package/dist/cli.js
CHANGED
|
@@ -59,7 +59,7 @@ function buildFullResponse(batchId, tasks, results, aggregates) {
|
|
|
59
59
|
toolCalls: r.toolCalls,
|
|
60
60
|
escalationLog: r.escalationLog,
|
|
61
61
|
usage: r.usage,
|
|
62
|
-
|
|
62
|
+
terminationReason: r.terminationReason,
|
|
63
63
|
specReviewStatus: r.specReviewStatus,
|
|
64
64
|
qualityReviewStatus: r.qualityReviewStatus,
|
|
65
65
|
agents: r.agents,
|
|
@@ -97,7 +97,7 @@ function buildSummaryResponse(batchId, tasks, results, opts) {
|
|
|
97
97
|
outputSha256: sha256Hex(r.output),
|
|
98
98
|
usage: r.usage,
|
|
99
99
|
escalationChain: r.escalationLog.map((a) => `${a.provider}:${a.status}`),
|
|
100
|
-
|
|
100
|
+
terminationReason: r.terminationReason,
|
|
101
101
|
specReviewStatus: r.specReviewStatus,
|
|
102
102
|
qualityReviewStatus: r.qualityReviewStatus,
|
|
103
103
|
...(r.error && { error: r.error }),
|
|
@@ -120,100 +120,12 @@ const pkg = packageRequire('../package.json');
|
|
|
120
120
|
export const SERVER_VERSION = pkg.version;
|
|
121
121
|
export function buildTaskSchema(availableAgents) {
|
|
122
122
|
return z.object({
|
|
123
|
-
prompt: z.string().describe('
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
'DEFAULT: standard (when omitted, routes to the standard agent).\n' +
|
|
130
|
-
'INTERACTION: The system enforces capability floors — if the task requires web_search and standard lacks it, silently routes to complex.'),
|
|
131
|
-
tools: z.enum(['none', 'readonly', 'full']).optional().describe('WHAT: Controls whether the sub-agent has access to tool APIs (read, write, bash, etc).\n' +
|
|
132
|
-
'WHEN: Set to none when the task is purely prompt-only (e.g., translation, summarization).\n' +
|
|
133
|
-
'DEFAULT: full — agent has access to all configured tools.\n' +
|
|
134
|
-
'INTERACTION: When tools is none, the runner bypasses tool-capability checks even if the agent config declares tools.'),
|
|
135
|
-
maxTurns: z.number().int().positive().optional().describe('WHAT: Caps the number of agent loop turns (prompt → model → tool_calls → ...) before termination.\n' +
|
|
136
|
-
'WHEN: Use to bound execution length for tasks that risk running away (e.g., deep research).\n' +
|
|
137
|
-
'DEFAULT: 200 — inherited from server-level defaults if not specified.\n' +
|
|
138
|
-
'INTERACTION: When maxTurns is reached, the task terminates with status max_turns rather than ok.'),
|
|
139
|
-
timeoutMs: z.number().int().positive().optional().describe('WHAT: Wall-clock time limit in milliseconds for the entire task execution.\n' +
|
|
140
|
-
'WHEN: Use to prevent runaway tasks from consuming budget indefinitely.\n' +
|
|
141
|
-
'DEFAULT: 600000 (10 minutes) — inherited from server-level defaults if not specified.\n' +
|
|
142
|
-
'INTERACTION: When timeoutMs is reached, the task terminates with status timeout regardless of progress.'),
|
|
143
|
-
cwd: z.string().optional().describe('WHAT: Working directory that file/shell tools resolve relative to for this task.\n' +
|
|
144
|
-
'WHEN: Set when tasks run in different directories or you need isolation from the server process cwd.\n' +
|
|
145
|
-
'DEFAULT: Server process cwd (inherited from the running process environment).\n' +
|
|
146
|
-
'INTERACTION: sandboxPolicy further constrains what paths are accessible; cwd does not bypass sandbox restrictions.'),
|
|
147
|
-
effort: z.enum(['none', 'low', 'medium', 'high']).optional().describe('WHAT: Controls how much reasoning effort the model applies before responding.\n' +
|
|
148
|
-
'WHEN: Higher effort costs more but produces better results for complex tasks; none skips extended reasoning.\n' +
|
|
149
|
-
'DEFAULT: low — minimal reasoning unless the task demands more.\n' +
|
|
150
|
-
'INTERACTION: effort maps to model-side extended thinking settings; not all providers support all effort levels.'),
|
|
151
|
-
sandboxPolicy: z.enum(['none', 'cwd-only']).optional().describe('WHAT: File-system confinement policy controlling what paths the sub-agent can access.\n' +
|
|
152
|
-
'WHEN: Set to cwd-only when untrusted prompts could attempt path traversal attacks.\n' +
|
|
153
|
-
'DEFAULT: cwd-only — agent restricted to cwd and descendants only.\n' +
|
|
154
|
-
'INTERACTION: sandboxPolicy is enforced before tool execution; cwd-only does not restrict network access.'),
|
|
155
|
-
requiredCapabilities: z.array(z.string()).optional().describe('WHAT: List of capability identifiers the assigned agent must possess to handle this task.\n' +
|
|
156
|
-
'WHEN: Use when a task requires specific abilities like web_search or web_fetch that not all agents have.\n' +
|
|
157
|
-
'DEFAULT: No required capabilities (any agent can be selected).\n' +
|
|
158
|
-
'INTERACTION: If no agent satisfies requiredCapabilities, the batch dispatch returns a no_capable_agent error.'),
|
|
159
|
-
contextBlockIds: z.array(z.string()).optional().describe('WHAT: References to content blocks stored via register_context_block. The server resolves ' +
|
|
160
|
-
'each id, concatenates blocks in order (separated by \'---\'), and prepends them to the ' +
|
|
161
|
-
'task prompt before dispatch.\n' +
|
|
162
|
-
'WHEN: Use when multiple tasks share the same large context (specs, files, schemas) — ' +
|
|
163
|
-
'the content is transmitted once via register_context_block instead of duplicated in every task prompt.\n' +
|
|
164
|
-
'DEFAULT: No context blocks — prompt is sent as-is.\n' +
|
|
165
|
-
'INTERACTION: Server resolves each id in order, concatenates content separated by "\\n\\n---\\n\\n", and prepends to prompt before dispatch.'),
|
|
166
|
-
expectedCoverage: z.object({
|
|
167
|
-
minSections: z.number().int().positive().optional().describe('WHAT: Minimum number of output sections the task must produce to be considered complete.\n' +
|
|
168
|
-
'WHEN: Use when tasks should produce multi-section deliverables (reports, docs with distinct parts).\n' +
|
|
169
|
-
'DEFAULT: No minimum — not required to pass coverage check.\n' +
|
|
170
|
-
'INTERACTION: Checked after syntactic completion heuristics; if minSections is set but not met, task may be marked incomplete.'),
|
|
171
|
-
sectionPattern: z.string().optional().describe('WHAT: Regex pattern applied with multiline flag to identify section headings in the output.\n' +
|
|
172
|
-
'WHEN: Use when output sections must follow a specific heading format (e.g., markdown ## headers).\n' +
|
|
173
|
-
'DEFAULT: No pattern — section boundaries are inferred only by minSections count.\n' +
|
|
174
|
-
'INTERACTION: Each match increments the section count toward minSections; used for coverage validation.'),
|
|
175
|
-
requiredMarkers: z.array(z.string()).optional().describe('WHAT: Substrings that must all appear somewhere in the output for coverage to pass.\n' +
|
|
176
|
-
'WHEN: Use when output must contain specific terms, filenames, or anchors (e.g., "Conclusion", "Usage").\n' +
|
|
177
|
-
'DEFAULT: No required markers — coverage passes on syntactic completion alone.\n' +
|
|
178
|
-
'INTERACTION: If any requiredMarkers entry is absent, coverage check fails and task may be marked incomplete.'),
|
|
179
|
-
}).optional().describe('WHAT: Caller-declared output expectations used for semantic completeness checking beyond syntactic heuristics.\n' +
|
|
180
|
-
'WHEN: Use when output has enumerable deliverables (sections, keywords, specific values) that the model should produce.\n' +
|
|
181
|
-
'DEFAULT: No expected coverage — task is judged complete purely on syntactic signals (has output, has terminator).\n' +
|
|
182
|
-
'INTERACTION: expectedCoverage results are authoritative alongside skipCompletionHeuristic; both must pass for the task to be deemed complete.'),
|
|
183
|
-
skipCompletionHeuristic: z.boolean().optional().describe('WHAT: Disables the no_terminator and fragment short-output heuristics for this task.\n' +
|
|
184
|
-
'WHEN: Use for tight-format outputs (single-line verdicts, CSV rows, opaque ids) that break prose heuristics.\n' +
|
|
185
|
-
'DEFAULT: false — short-output heuristics are active.\n' +
|
|
186
|
-
'INTERACTION: The empty and thinking_only degeneracy checks still fire independently; expectedCoverage passing remains authoritative when set.'),
|
|
187
|
-
parentModel: z.string().optional().describe('WHAT: Identifier for the parent session model used to estimate saved cost when reusing prior context.\n' +
|
|
188
|
-
'WHEN: Set when you want accurate savedCostUSD figures in batch results and have the parent session model info.\n' +
|
|
189
|
-
'DEFAULT: No parent model — savedCostUSD will be null in results.\n' +
|
|
190
|
-
'INTERACTION: Used to look up parent context length for context-length-based cost estimation; influences headline ROI display.'),
|
|
191
|
-
maxCostUSD: z.number().nonnegative().optional().describe('WHAT: Cost ceiling in USD for this task\'s execution. Enforcement: checked before each tool ' +
|
|
192
|
-
'call — the current LLM response completes, but the next tool call is rejected if it ' +
|
|
193
|
-
'would exceed the ceiling. The task then returns status \'cost_exceeded\' with partial ' +
|
|
194
|
-
'output (whatever the agent produced before hitting the ceiling). A small portion of ' +
|
|
195
|
-
'this budget is reserved for normalization (brief rewriting). Set to 0 to skip ' +
|
|
196
|
-
'normalization entirely.\n' +
|
|
197
|
-
'WHEN: Use when you want to cap spend on expensive operations or prevent runaway token usage.\n' +
|
|
198
|
-
'DEFAULT: No cost ceiling — unlimited spend allowed.\n' +
|
|
199
|
-
'INTERACTION: When maxCostUSD is reached, the task terminates with status cost_exceeded rather than ok.'),
|
|
200
|
-
reviewPolicy: z.enum(['full', 'spec_only', 'off']).optional().describe('WHAT: Quality review policy controlling whether spec and quality review steps run after task completion.\n' +
|
|
201
|
-
'WHEN: Set to off for fire-and-forget tasks; set to spec_only to skip quality review but keep spec review.\n' +
|
|
202
|
-
'DEFAULT: full — both spec review and quality review run when configured.\n' +
|
|
203
|
-
'INTERACTION: reviewPolicy is enforced at the runner level; off skips all review even if reviewPolicy is configured in defaults.'),
|
|
204
|
-
maxReviewRounds: z.number().int().nonnegative().optional().describe('WHAT: Maximum number of spec review rework rounds before the loop terminates.\n' +
|
|
205
|
-
'WHEN: Use to bound iterative refinement cycles for tasks that could otherwise run indefinitely.\n' +
|
|
206
|
-
'DEFAULT: 2 rework rounds — inherited from server-level defaults if not specified.\n' +
|
|
207
|
-
'INTERACTION: When maxReviewRounds is exhausted, the task moves to the next step regardless of spec review outcome.'),
|
|
208
|
-
briefQualityPolicy: z.enum(['normalize', 'strict', 'warn', 'off']).optional().describe('WHAT: Controls how readiness evaluation handles vague briefs before dispatch.\n' +
|
|
209
|
-
'WHEN: Set to normalize to auto-enrich vague briefs; strict to refuse them; warn to evaluate and surface warnings; off to skip.\n' +
|
|
210
|
-
'DEFAULT: warn — readiness evaluates every brief and surfaces warnings, but does not block dispatch.\n' +
|
|
211
|
-
'INTERACTION: When strict, a vague brief returns status brief_too_vague without spending any tokens. When normalize, the system enriches the brief via a normalization pass before dispatch.'),
|
|
212
|
-
testCommand: z.string().optional().describe('WHAT: Shell command for task-specific verification (e.g., "npx vitest run tests/foo.test.ts").\n' +
|
|
213
|
-
'WHEN: Set when the task runs in parallel and you want to steer the agent toward a targeted test instead of a full-project build.\n' +
|
|
214
|
-
'DEFAULT: No test command — agent decides how to verify.\n' +
|
|
215
|
-
'INTERACTION: When set and the task runs in parallel with others, the command is recommended to the agent in a parallel-safety prompt suffix.'),
|
|
216
|
-
});
|
|
123
|
+
prompt: z.string().describe('The task instruction. Required.'),
|
|
124
|
+
agentType: z.enum(availableAgents).optional().describe('How hard the task is. Default: standard (cost-effective). Set to complex for harder reasoning or ambiguous scope.'),
|
|
125
|
+
filePaths: z.array(z.string()).optional().describe('Files the sub-agent should focus on. Existing files are pre-verified. Non-existent paths are treated as output targets.'),
|
|
126
|
+
done: z.string().optional().describe('Acceptance criteria in plain language. The worker works toward this goal. The reviewer verifies it.'),
|
|
127
|
+
contextBlockIds: z.array(z.string()).optional().describe('IDs from register_context_block to prepend to prompt.'),
|
|
128
|
+
}).strict();
|
|
217
129
|
}
|
|
218
130
|
/**
|
|
219
131
|
* Batch cache for `retry_tasks`. Every `delegate_tasks` call stashes the
|
|
@@ -261,6 +173,19 @@ export function buildMcpServer(config, options) {
|
|
|
261
173
|
?? options?.largeResponseThresholdChars
|
|
262
174
|
?? DEFAULT_LARGE_RESPONSE_THRESHOLD_CHARS;
|
|
263
175
|
const runTasksImpl = options?._testRunTasksOverride ?? runTasks;
|
|
176
|
+
function injectDefaults(tasks) {
|
|
177
|
+
return tasks.map(t => ({
|
|
178
|
+
...t,
|
|
179
|
+
agentType: t.agentType,
|
|
180
|
+
tools: config.defaults.tools,
|
|
181
|
+
timeoutMs: config.defaults.timeoutMs,
|
|
182
|
+
maxCostUSD: config.defaults.maxCostUSD,
|
|
183
|
+
sandboxPolicy: config.defaults.sandboxPolicy,
|
|
184
|
+
cwd: process.cwd(),
|
|
185
|
+
reviewPolicy: 'full',
|
|
186
|
+
effort: undefined,
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
264
189
|
const server = new McpServer({
|
|
265
190
|
name: SERVER_NAME,
|
|
266
191
|
version: SERVER_VERSION,
|
|
@@ -299,10 +224,9 @@ export function buildMcpServer(config, options) {
|
|
|
299
224
|
batchCache.set(id, entry);
|
|
300
225
|
};
|
|
301
226
|
const availableAgents = agentKeys;
|
|
302
|
-
server.tool('delegate_tasks', '
|
|
303
|
-
'Use
|
|
304
|
-
'
|
|
305
|
-
'the specialized tools expose.\n\n' +
|
|
227
|
+
server.tool('delegate_tasks', 'Dispatch tasks to sub-agents. Minimum: { prompt }. Everything else has good defaults.\n\n' +
|
|
228
|
+
'Use specialized tools (audit_document, review_code, verify_work, debug_task) for common patterns. ' +
|
|
229
|
+
'Use delegate_tasks for custom work.\n\n' +
|
|
306
230
|
renderProviderRoutingMatrix(config), {
|
|
307
231
|
tasks: z.array(buildTaskSchema(availableAgents)).describe('Array of tasks to execute in parallel'),
|
|
308
232
|
responseMode: z.enum(['full', 'summary', 'auto']).optional().describe(`How to shape the response envelope. 'full' (default via 'auto') includes each task's output inline. ` +
|
|
@@ -383,14 +307,14 @@ export function buildMcpServer(config, options) {
|
|
|
383
307
|
// so the returned batchId is valid even if the dispatch itself
|
|
384
308
|
// throws (so callers can still retry the specific tasks that
|
|
385
309
|
// produced errors). The cache stores the raw TaskSpec[] — NOT the
|
|
386
|
-
// expanded forms — because `retry_tasks`
|
|
387
|
-
//
|
|
388
|
-
// (possibly updated) context-block store.
|
|
310
|
+
// expanded forms — because `retry_tasks` re-injects fresh defaults
|
|
311
|
+
// from the current config each time it runs.
|
|
389
312
|
const batchId = rememberBatch(tasks);
|
|
313
|
+
const resolvedTasks = injectDefaults(tasks);
|
|
390
314
|
const batchStartMs = Date.now();
|
|
391
315
|
let results = [];
|
|
392
316
|
try {
|
|
393
|
-
results = await runTasksImpl(
|
|
317
|
+
results = await runTasksImpl(resolvedTasks, config, {
|
|
394
318
|
onProgress: sendProgress,
|
|
395
319
|
runtime: { contextBlockStore },
|
|
396
320
|
});
|
|
@@ -499,7 +423,7 @@ export function buildMcpServer(config, options) {
|
|
|
499
423
|
const batchStartMs = Date.now();
|
|
500
424
|
let results = [];
|
|
501
425
|
try {
|
|
502
|
-
results = await runTasksImpl(subset, config, {
|
|
426
|
+
results = await runTasksImpl(injectDefaults(subset), config, {
|
|
503
427
|
runtime: { contextBlockStore },
|
|
504
428
|
});
|
|
505
429
|
}
|
|
@@ -548,7 +472,7 @@ export function buildMcpServer(config, options) {
|
|
|
548
472
|
Three slices are available:
|
|
549
473
|
- \`output\`: The full text output of a specific task (requires taskIndex).
|
|
550
474
|
- \`detail\`: Per-task execution details including toolCalls, filesRead/Written/Listed,
|
|
551
|
-
escalationLog, review statuses (
|
|
475
|
+
escalationLog, terminationReason, review statuses (specReviewStatus,
|
|
552
476
|
qualityReviewStatus), agents provenance, and implementation/spec/quality reports
|
|
553
477
|
(requires taskIndex).
|
|
554
478
|
- \`telemetry\`: Batch-wide ROI telemetry envelope with headline, timings, batchProgress,
|
|
@@ -597,7 +521,7 @@ batch is expired or evicted, re-dispatch via delegate_tasks with the full specs.
|
|
|
597
521
|
directoriesListed: result.directoriesListed ?? [],
|
|
598
522
|
toolCalls: result.toolCalls,
|
|
599
523
|
escalationLog: result.escalationLog,
|
|
600
|
-
|
|
524
|
+
terminationReason: result.terminationReason,
|
|
601
525
|
specReviewStatus: result.specReviewStatus,
|
|
602
526
|
qualityReviewStatus: result.qualityReviewStatus,
|
|
603
527
|
agents: result.agents,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,6 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core';
|
|
4
4
|
export declare const auditDocumentSchema: z.ZodObject<{
|
|
5
5
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
7
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
-
tools: z.ZodOptional<z.ZodEnum<{
|
|
9
|
-
readonly: "readonly";
|
|
10
|
-
none: "none";
|
|
11
|
-
full: "full";
|
|
12
|
-
}>>;
|
|
13
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
14
6
|
document: z.ZodOptional<z.ZodString>;
|
|
15
7
|
auditType: z.ZodUnion<readonly [z.ZodEnum<{
|
|
16
8
|
security: "security";
|
|
@@ -24,14 +16,6 @@ export declare const auditDocumentSchema: z.ZodObject<{
|
|
|
24
16
|
correctness: "correctness";
|
|
25
17
|
style: "style";
|
|
26
18
|
}>>]>;
|
|
27
|
-
outputFormat: z.ZodOptional<z.ZodEnum<{
|
|
28
|
-
json: "json";
|
|
29
|
-
markdown: "markdown";
|
|
30
|
-
}>>;
|
|
31
|
-
agentType: z.ZodOptional<z.ZodEnum<{
|
|
32
|
-
standard: "standard";
|
|
33
|
-
complex: "complex";
|
|
34
|
-
}>>;
|
|
35
19
|
}, z.core.$strip>;
|
|
36
20
|
export type AuditDocumentParams = z.infer<typeof auditDocumentSchema>;
|
|
37
21
|
export declare function registerAuditDocument(server: McpServer, config: MultiModelConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-document.d.ts","sourceRoot":"","sources":["../../src/tools/audit-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"audit-document.d.ts","sourceRoot":"","sources":["../../src/tools/audit-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;AAYpF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAO9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAqBtE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QAoDhF"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { runTasks } from '@zhixuan92/multi-model-agent-core/run-tasks';
|
|
3
|
-
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt,
|
|
3
|
+
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt, } from './shared.js';
|
|
4
4
|
import { buildFanOutResponse } from './batch-response.js';
|
|
5
5
|
export const auditDocumentSchema = z.object({
|
|
6
6
|
document: z.string().optional().describe('Inline document content to audit'),
|
|
7
7
|
auditType: z.union([
|
|
8
8
|
z.enum(['security', 'performance', 'correctness', 'style', 'general']),
|
|
9
9
|
z.array(z.enum(['security', 'performance', 'correctness', 'style'])).min(1),
|
|
10
|
-
]).describe('Audit focus.
|
|
11
|
-
outputFormat: z.enum(['json', 'markdown']).optional()
|
|
12
|
-
.describe('Output format. json returns structured findings array.'),
|
|
13
|
-
agentType: z.enum(['standard', 'complex']).optional(),
|
|
10
|
+
]).describe('Audit focus.'),
|
|
14
11
|
...commonToolFields,
|
|
15
12
|
});
|
|
16
13
|
function resolveAuditTypeText(auditType) {
|
|
@@ -20,11 +17,8 @@ function resolveAuditTypeText(auditType) {
|
|
|
20
17
|
return auditType.join(', ');
|
|
21
18
|
return auditType;
|
|
22
19
|
}
|
|
23
|
-
function buildAuditPrompt(auditTypeText, document, filePaths
|
|
20
|
+
function buildAuditPrompt(auditTypeText, document, filePaths) {
|
|
24
21
|
const parts = [`Audit for ${auditTypeText} issues.`];
|
|
25
|
-
if (outputFormat === 'json') {
|
|
26
|
-
parts.push('Return findings as a JSON array of objects with keys: severity, category, finding, recommendation.');
|
|
27
|
-
}
|
|
28
22
|
if (document)
|
|
29
23
|
parts.push(`Document:\n\n${document}`);
|
|
30
24
|
const fileSection = buildFilePathsPrompt(filePaths);
|
|
@@ -34,23 +28,26 @@ function buildAuditPrompt(auditTypeText, document, filePaths, outputFormat) {
|
|
|
34
28
|
return parts.join('\n\n');
|
|
35
29
|
}
|
|
36
30
|
export function registerAuditDocument(server, config) {
|
|
37
|
-
server.tool('audit_document', 'Audit documents
|
|
31
|
+
server.tool('audit_document', 'Audit documents for issues. Accepts inline content or file paths (multiple files audit in parallel). Preset: complex agent, no review. Use delegate_tasks only for custom config.', auditDocumentSchema.shape, async (params) => {
|
|
38
32
|
const validation = validateInput(params.document, params.filePaths);
|
|
39
33
|
if (!validation.valid) {
|
|
40
34
|
return { content: [{ type: 'text', text: `Error: ${validation.message}` }], isError: true };
|
|
41
35
|
}
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
const baseTaskSpec = applyCommonFields({
|
|
45
|
-
agentType,
|
|
36
|
+
const baseTaskSpec = {
|
|
37
|
+
agentType: 'complex',
|
|
46
38
|
reviewPolicy: 'off',
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
tools: config.defaults?.tools ?? 'full',
|
|
40
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
41
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
42
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
43
|
+
cwd: process.cwd(),
|
|
44
|
+
};
|
|
49
45
|
try {
|
|
50
46
|
const mode = resolveDispatchMode(params.document, params.filePaths);
|
|
51
47
|
if (mode === 'fan_out') {
|
|
52
48
|
const validPaths = params.filePaths.filter(p => p.trim().length > 0);
|
|
53
|
-
const
|
|
49
|
+
const auditTypeText = resolveAuditTypeText(params.auditType);
|
|
50
|
+
const promptTemplate = buildAuditPrompt(auditTypeText, undefined, undefined);
|
|
54
51
|
const tasks = validPaths.map(fp => ({
|
|
55
52
|
...baseTaskSpec,
|
|
56
53
|
prompt: buildPerFilePrompt(fp, promptTemplate),
|
|
@@ -60,7 +57,8 @@ export function registerAuditDocument(server, config) {
|
|
|
60
57
|
return { content: [buildFanOutResponse(results, tasks, Date.now() - startMs)] };
|
|
61
58
|
}
|
|
62
59
|
// Single-task mode
|
|
63
|
-
const
|
|
60
|
+
const auditTypeText = resolveAuditTypeText(params.auditType);
|
|
61
|
+
const prompt = buildAuditPrompt(auditTypeText, params.document, params.filePaths);
|
|
64
62
|
const results = await runTasks([{ ...baseTaskSpec, prompt }], config);
|
|
65
63
|
const result = results[0];
|
|
66
64
|
return { content: [{ type: 'text', text: result.output }, buildMetadataBlock(result)] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-document.js","sourceRoot":"","sources":["../../src/tools/audit-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"audit-document.js","sourceRoot":"","sources":["../../src/tools/audit-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export function computeTimings(wallClockMs, results) {
|
|
|
12
12
|
export function computeBatchProgress(results) {
|
|
13
13
|
const totalTasks = results.length;
|
|
14
14
|
const completedTasks = results.filter((r) => r.status === 'ok').length;
|
|
15
|
-
const incompleteTasks = results.filter((r) => r.status === 'incomplete' || r.status === '
|
|
15
|
+
const incompleteTasks = results.filter((r) => r.status === 'incomplete' || r.status === 'timeout').length;
|
|
16
16
|
const failedTasks = results.filter((r) => r.status === 'error' ||
|
|
17
17
|
r.status === 'api_aborted' ||
|
|
18
18
|
r.status === 'api_error' ||
|
|
@@ -66,7 +66,7 @@ export function buildFanOutResponse(results, tasks, wallClockMs) {
|
|
|
66
66
|
toolCalls: r.toolCalls,
|
|
67
67
|
escalationLog: r.escalationLog,
|
|
68
68
|
usage: r.usage,
|
|
69
|
-
|
|
69
|
+
terminationReason: r.terminationReason,
|
|
70
70
|
specReviewStatus: r.specReviewStatus,
|
|
71
71
|
qualityReviewStatus: r.qualityReviewStatus,
|
|
72
72
|
agents: r.agents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-response.js","sourceRoot":"","sources":["../../src/tools/batch-response.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,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;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"batch-response.js","sourceRoot":"","sources":["../../src/tools/batch-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,21 +3,9 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core';
|
|
4
4
|
export declare const debugTaskSchema: z.ZodObject<{
|
|
5
5
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
7
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
-
tools: z.ZodOptional<z.ZodEnum<{
|
|
9
|
-
readonly: "readonly";
|
|
10
|
-
none: "none";
|
|
11
|
-
full: "full";
|
|
12
|
-
}>>;
|
|
13
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
14
6
|
problem: z.ZodString;
|
|
15
7
|
context: z.ZodOptional<z.ZodString>;
|
|
16
8
|
hypothesis: z.ZodOptional<z.ZodString>;
|
|
17
|
-
agentType: z.ZodOptional<z.ZodEnum<{
|
|
18
|
-
standard: "standard";
|
|
19
|
-
complex: "complex";
|
|
20
|
-
}>>;
|
|
21
9
|
}, z.core.$strip>;
|
|
22
10
|
export type DebugTaskParams = z.infer<typeof debugTaskSchema>;
|
|
23
11
|
export declare function registerDebugTask(server: McpServer, config: MultiModelConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-task.d.ts","sourceRoot":"","sources":["../../src/tools/debug-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"debug-task.d.ts","sourceRoot":"","sources":["../../src/tools/debug-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;AAQpF,eAAO,MAAM,eAAe;;;;;iBAK1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QAqC5E"}
|
package/dist/tools/debug-task.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { runTasks } from '@zhixuan92/multi-model-agent-core/run-tasks';
|
|
3
|
-
import { commonToolFields, buildMetadataBlock, buildFilePathsPrompt,
|
|
3
|
+
import { commonToolFields, buildMetadataBlock, buildFilePathsPrompt, } from './shared.js';
|
|
4
4
|
export const debugTaskSchema = z.object({
|
|
5
|
-
problem: z.string().describe('
|
|
6
|
-
context: z.string().optional().describe('
|
|
7
|
-
hypothesis: z.string().optional().describe('Initial
|
|
8
|
-
agentType: z.enum(['standard', 'complex']).optional(),
|
|
5
|
+
problem: z.string().describe('What is broken'),
|
|
6
|
+
context: z.string().optional().describe('Background'),
|
|
7
|
+
hypothesis: z.string().optional().describe('Initial theory'),
|
|
9
8
|
...commonToolFields,
|
|
10
9
|
});
|
|
11
10
|
export function registerDebugTask(server, config) {
|
|
12
|
-
server.tool('debug_task', 'Debug a problem
|
|
13
|
-
const agentType = params.agentType ?? 'complex';
|
|
11
|
+
server.tool('debug_task', 'Debug a problem with hypothesis-driven investigation. Always single-task. Preset: complex agent, 1 review round.', debugTaskSchema.shape, async (params) => {
|
|
14
12
|
const parts = [`Debug this problem:\n\n${params.problem}`];
|
|
15
13
|
if (params.context)
|
|
16
14
|
parts.push(`Context: ${params.context}`);
|
|
@@ -21,7 +19,16 @@ export function registerDebugTask(server, config) {
|
|
|
21
19
|
parts.push(fileSection);
|
|
22
20
|
parts.push('Use hypothesis-driven debugging: identify root cause, propose fix, verify.');
|
|
23
21
|
const prompt = parts.join('\n\n');
|
|
24
|
-
const taskSpec =
|
|
22
|
+
const taskSpec = {
|
|
23
|
+
agentType: 'complex',
|
|
24
|
+
reviewPolicy: 'full',
|
|
25
|
+
maxReviewRounds: 1,
|
|
26
|
+
tools: config.defaults?.tools ?? 'full',
|
|
27
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
28
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
29
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
30
|
+
cwd: process.cwd(),
|
|
31
|
+
};
|
|
25
32
|
try {
|
|
26
33
|
const results = await runTasks([{ ...taskSpec, prompt }], config);
|
|
27
34
|
const result = results[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-task.js","sourceRoot":"","sources":["../../src/tools/debug-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"debug-task.js","sourceRoot":"","sources":["../../src/tools/debug-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC5D,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAIH,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAwB;IAC3E,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,kHAAkH,EAClH,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,MAAuB,EAAE,EAAE;QAChC,MAAM,KAAK,GAAa,CAAC,0BAA0B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAsB;YAClC,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;YACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,SAAS;YAClD,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;YAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;YAC3D,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACxG,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -3,14 +3,6 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core';
|
|
4
4
|
export declare const reviewCodeSchema: z.ZodObject<{
|
|
5
5
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
7
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
-
tools: z.ZodOptional<z.ZodEnum<{
|
|
9
|
-
readonly: "readonly";
|
|
10
|
-
none: "none";
|
|
11
|
-
full: "full";
|
|
12
|
-
}>>;
|
|
13
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
14
6
|
code: z.ZodOptional<z.ZodString>;
|
|
15
7
|
focus: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
16
8
|
security: "security";
|
|
@@ -18,14 +10,6 @@ export declare const reviewCodeSchema: z.ZodObject<{
|
|
|
18
10
|
correctness: "correctness";
|
|
19
11
|
style: "style";
|
|
20
12
|
}>>>;
|
|
21
|
-
outputFormat: z.ZodOptional<z.ZodEnum<{
|
|
22
|
-
json: "json";
|
|
23
|
-
markdown: "markdown";
|
|
24
|
-
}>>;
|
|
25
|
-
agentType: z.ZodOptional<z.ZodEnum<{
|
|
26
|
-
standard: "standard";
|
|
27
|
-
complex: "complex";
|
|
28
|
-
}>>;
|
|
29
13
|
}, z.core.$strip>;
|
|
30
14
|
export type ReviewCodeParams = z.infer<typeof reviewCodeSchema>;
|
|
31
15
|
export declare function registerReviewCode(server: McpServer, config: MultiModelConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-code.d.ts","sourceRoot":"","sources":["../../src/tools/review-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-code.d.ts","sourceRoot":"","sources":["../../src/tools/review-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;AAYpF,eAAO,MAAM,gBAAgB;;;;;;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAgBhE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QAiD7E"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { runTasks } from '@zhixuan92/multi-model-agent-core/run-tasks';
|
|
3
|
-
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt,
|
|
3
|
+
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt, } from './shared.js';
|
|
4
4
|
import { buildFanOutResponse } from './batch-response.js';
|
|
5
5
|
export const reviewCodeSchema = z.object({
|
|
6
6
|
code: z.string().optional().describe('Inline code to review'),
|
|
7
7
|
focus: z.array(z.enum(['security', 'performance', 'correctness', 'style'])).optional(),
|
|
8
|
-
outputFormat: z.enum(['json', 'markdown']).optional(),
|
|
9
|
-
agentType: z.enum(['standard', 'complex']).optional(),
|
|
10
8
|
...commonToolFields,
|
|
11
9
|
});
|
|
12
|
-
function buildReviewPrompt(code, filePaths, focus
|
|
10
|
+
function buildReviewPrompt(code, filePaths, focus) {
|
|
13
11
|
const parts = ['Review this code:'];
|
|
14
12
|
if (code)
|
|
15
13
|
parts.push(`\`\`\`\n${code}\n\`\`\``);
|
|
@@ -18,29 +16,29 @@ function buildReviewPrompt(code, filePaths, focus, outputFormat) {
|
|
|
18
16
|
parts.push(fileSection);
|
|
19
17
|
if (focus && focus.length > 0)
|
|
20
18
|
parts.push(`Focus areas: ${focus.join(', ')}.`);
|
|
21
|
-
if (outputFormat === 'json') {
|
|
22
|
-
parts.push('Return findings as a JSON array of objects with keys: severity, category, file, line, finding, recommendation.');
|
|
23
|
-
}
|
|
24
19
|
parts.push('Provide a structured review with findings and recommendations.');
|
|
25
20
|
return parts.join('\n\n');
|
|
26
21
|
}
|
|
27
22
|
export function registerReviewCode(server, config) {
|
|
28
|
-
server.tool('review_code', 'Review code with
|
|
23
|
+
server.tool('review_code', 'Review code with full quality pipeline. Accepts inline code or file paths (multiple files review in parallel). Preset: complex agent, full review. Use delegate_tasks only for custom config.', reviewCodeSchema.shape, async (params) => {
|
|
29
24
|
const validation = validateInput(params.code, params.filePaths);
|
|
30
25
|
if (!validation.valid) {
|
|
31
26
|
return { content: [{ type: 'text', text: `Error: ${validation.message}` }], isError: true };
|
|
32
27
|
}
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
agentType,
|
|
28
|
+
const baseTaskSpec = {
|
|
29
|
+
agentType: 'complex',
|
|
36
30
|
reviewPolicy: 'full',
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
tools: config.defaults?.tools ?? 'full',
|
|
32
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
33
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
34
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
35
|
+
cwd: process.cwd(),
|
|
36
|
+
};
|
|
39
37
|
try {
|
|
40
38
|
const mode = resolveDispatchMode(params.code, params.filePaths);
|
|
41
39
|
if (mode === 'fan_out') {
|
|
42
40
|
const validPaths = params.filePaths.filter(p => p.trim().length > 0);
|
|
43
|
-
const promptTemplate = buildReviewPrompt(undefined, undefined, params.focus
|
|
41
|
+
const promptTemplate = buildReviewPrompt(undefined, undefined, params.focus);
|
|
44
42
|
const tasks = validPaths.map(fp => ({
|
|
45
43
|
...baseTaskSpec,
|
|
46
44
|
prompt: buildPerFilePrompt(fp, promptTemplate),
|
|
@@ -49,7 +47,7 @@ export function registerReviewCode(server, config) {
|
|
|
49
47
|
const results = await runTasks(tasks, config);
|
|
50
48
|
return { content: [buildFanOutResponse(results, tasks, Date.now() - startMs)] };
|
|
51
49
|
}
|
|
52
|
-
const prompt = buildReviewPrompt(params.code, params.filePaths, params.focus
|
|
50
|
+
const prompt = buildReviewPrompt(params.code, params.filePaths, params.focus);
|
|
53
51
|
const results = await runTasks([{ ...baseTaskSpec, prompt }], config);
|
|
54
52
|
const result = results[0];
|
|
55
53
|
return { content: [{ type: 'text', text: result.output }, buildMetadataBlock(result)] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-code.js","sourceRoot":"","sources":["../../src/tools/review-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"review-code.js","sourceRoot":"","sources":["../../src/tools/review-code.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/shared.d.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RunResult } from '@zhixuan92/multi-model-agent-core';
|
|
3
3
|
export declare const commonToolFields: {
|
|
4
4
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
6
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
7
|
-
tools: z.ZodOptional<z.ZodEnum<{
|
|
8
|
-
readonly: "readonly";
|
|
9
|
-
none: "none";
|
|
10
|
-
full: "full";
|
|
11
|
-
}>>;
|
|
12
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
13
5
|
};
|
|
14
6
|
export declare function validateInput(inlineContent: string | undefined, filePaths: string[] | undefined): {
|
|
15
7
|
valid: true;
|
|
@@ -24,10 +16,4 @@ export declare function buildMetadataBlock(result: RunResult): {
|
|
|
24
16
|
};
|
|
25
17
|
export declare function buildFilePathsPrompt(filePaths?: string[]): string;
|
|
26
18
|
export declare function buildPerFilePrompt(filePath: string, promptTemplate: string): string;
|
|
27
|
-
export declare function applyCommonFields(taskSpec: Partial<TaskSpec>, params: {
|
|
28
|
-
cwd?: string;
|
|
29
|
-
contextBlockIds?: string[];
|
|
30
|
-
tools?: ToolMode;
|
|
31
|
-
maxCostUSD?: number;
|
|
32
|
-
}): Partial<TaskSpec>;
|
|
33
19
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,eAAO,MAAM,gBAAgB;;CAG5B,CAAC;AAUF,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAC9B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAKrD;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAC9B,QAAQ,GAAG,SAAS,CAKtB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuBpF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEnF"}
|
package/dist/tools/shared.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const commonToolFields = {
|
|
3
3
|
filePaths: z.array(z.string()).optional()
|
|
4
|
-
.describe('
|
|
5
|
-
cwd: z.string().optional()
|
|
6
|
-
.describe('Working directory for file access. Defaults to server process.cwd().'),
|
|
7
|
-
contextBlockIds: z.array(z.string()).optional()
|
|
8
|
-
.describe('IDs of registered context blocks to prepend to prompt.'),
|
|
9
|
-
tools: z.enum(['none', 'readonly', 'full']).optional()
|
|
10
|
-
.describe('Tool access level for the sub-agent. Defaults to full.'),
|
|
11
|
-
maxCostUSD: z.number().nonnegative().optional()
|
|
12
|
-
.describe('Cost ceiling in USD. Task terminates with cost_exceeded when hit.'),
|
|
4
|
+
.describe('Files the sub-agent should focus on. Multiple files are processed in parallel.'),
|
|
13
5
|
};
|
|
14
6
|
function hasContent(value) {
|
|
15
7
|
return value !== undefined && value.trim().length > 0;
|
|
@@ -36,7 +28,7 @@ export function buildMetadataBlock(result) {
|
|
|
36
28
|
type: 'text',
|
|
37
29
|
text: JSON.stringify({
|
|
38
30
|
status: result.status,
|
|
39
|
-
|
|
31
|
+
terminationReason: result.terminationReason,
|
|
40
32
|
specReviewStatus: result.specReviewStatus,
|
|
41
33
|
qualityReviewStatus: result.qualityReviewStatus,
|
|
42
34
|
usage: {
|
|
@@ -63,16 +55,4 @@ export function buildFilePathsPrompt(filePaths) {
|
|
|
63
55
|
export function buildPerFilePrompt(filePath, promptTemplate) {
|
|
64
56
|
return `${promptTemplate}\n\nRead and analyze this file:\n- ${filePath}`;
|
|
65
57
|
}
|
|
66
|
-
export function applyCommonFields(taskSpec, params) {
|
|
67
|
-
const result = { ...taskSpec };
|
|
68
|
-
if (params.cwd !== undefined)
|
|
69
|
-
result.cwd = params.cwd;
|
|
70
|
-
if (params.contextBlockIds !== undefined)
|
|
71
|
-
result.contextBlockIds = params.contextBlockIds;
|
|
72
|
-
if (params.tools !== undefined)
|
|
73
|
-
result.tools = params.tools;
|
|
74
|
-
if (params.maxCostUSD !== undefined)
|
|
75
|
-
result.maxCostUSD = params.maxCostUSD;
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
58
|
//# sourceMappingURL=shared.js.map
|
package/dist/tools/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACtC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,8 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core';
|
|
4
4
|
export declare const verifyWorkSchema: z.ZodObject<{
|
|
5
5
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
7
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
-
tools: z.ZodOptional<z.ZodEnum<{
|
|
9
|
-
readonly: "readonly";
|
|
10
|
-
none: "none";
|
|
11
|
-
full: "full";
|
|
12
|
-
}>>;
|
|
13
|
-
maxCostUSD: z.ZodOptional<z.ZodNumber>;
|
|
14
6
|
work: z.ZodOptional<z.ZodString>;
|
|
15
7
|
checklist: z.ZodArray<z.ZodString>;
|
|
16
|
-
agentType: z.ZodOptional<z.ZodEnum<{
|
|
17
|
-
standard: "standard";
|
|
18
|
-
complex: "complex";
|
|
19
|
-
}>>;
|
|
20
8
|
}, z.core.$strip>;
|
|
21
9
|
export type VerifyWorkParams = z.infer<typeof verifyWorkSchema>;
|
|
22
10
|
export declare function registerVerifyWork(server: McpServer, config: MultiModelConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-work.d.ts","sourceRoot":"","sources":["../../src/tools/verify-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"verify-work.d.ts","sourceRoot":"","sources":["../../src/tools/verify-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;AAYpF,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiBhE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QAiD7E"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { runTasks } from '@zhixuan92/multi-model-agent-core/run-tasks';
|
|
3
|
-
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt,
|
|
3
|
+
import { commonToolFields, validateInput, resolveDispatchMode, buildMetadataBlock, buildFilePathsPrompt, buildPerFilePrompt, } from './shared.js';
|
|
4
4
|
import { buildFanOutResponse } from './batch-response.js';
|
|
5
5
|
export const verifyWorkSchema = z.object({
|
|
6
6
|
work: z.string().optional().describe('Inline work product to verify'),
|
|
7
7
|
checklist: z.array(z.string()).min(1).describe('Verification checklist items (at least 1)'),
|
|
8
|
-
agentType: z.enum(['standard', 'complex']).optional(),
|
|
9
8
|
...commonToolFields,
|
|
10
9
|
});
|
|
11
10
|
function buildVerifyPrompt(work, filePaths, checklist) {
|
|
@@ -21,13 +20,20 @@ function buildVerifyPrompt(work, filePaths, checklist) {
|
|
|
21
20
|
return parts.join('\n\n');
|
|
22
21
|
}
|
|
23
22
|
export function registerVerifyWork(server, config) {
|
|
24
|
-
server.tool('verify_work', 'Verify
|
|
23
|
+
server.tool('verify_work', 'Verify work against a checklist with pass/fail evidence. Accepts inline description or file paths (multiple files verified in parallel). Preset: standard agent, spec review only.', verifyWorkSchema.shape, async (params) => {
|
|
25
24
|
const validation = validateInput(params.work, params.filePaths);
|
|
26
25
|
if (!validation.valid) {
|
|
27
26
|
return { content: [{ type: 'text', text: `Error: ${validation.message}` }], isError: true };
|
|
28
27
|
}
|
|
29
|
-
const
|
|
30
|
-
|
|
28
|
+
const baseTaskSpec = {
|
|
29
|
+
agentType: 'standard',
|
|
30
|
+
reviewPolicy: 'spec_only',
|
|
31
|
+
tools: config.defaults?.tools ?? 'full',
|
|
32
|
+
timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
|
|
33
|
+
maxCostUSD: config.defaults?.maxCostUSD ?? 10,
|
|
34
|
+
sandboxPolicy: config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
35
|
+
cwd: process.cwd(),
|
|
36
|
+
};
|
|
31
37
|
try {
|
|
32
38
|
const mode = resolveDispatchMode(params.work, params.filePaths);
|
|
33
39
|
if (mode === 'fan_out') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-work.js","sourceRoot":"","sources":["../../src/tools/verify-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"verify-work.js","sourceRoot":"","sources":["../../src/tools/verify-work.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "MCP server for multi-model-agent. Exposes a delegate_tasks tool that routes work to Claude, Codex, or OpenAI-compatible sub-agents based on capability, quality tier, and cost.",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
68
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
69
|
-
"@zhixuan92/multi-model-agent-core": "^
|
|
69
|
+
"@zhixuan92/multi-model-agent-core": "^2.0.0",
|
|
70
70
|
"zod": "^4.0.0"
|
|
71
71
|
}
|
|
72
72
|
}
|