@zhixuan92/multi-model-agent-mcp 0.4.0 → 1.1.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/README.md +18 -220
- package/dist/cli.d.ts +20 -22
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +183 -154
- package/dist/cli.js.map +1 -1
- package/dist/routing/render-provider-routing-matrix.d.ts +1 -1
- package/dist/routing/render-provider-routing-matrix.d.ts.map +1 -1
- package/dist/routing/render-provider-routing-matrix.js +38 -67
- package/dist/routing/render-provider-routing-matrix.js.map +1 -1
- package/dist/tools/audit-document.d.ts +37 -0
- package/dist/tools/audit-document.d.ts.map +1 -0
- package/dist/tools/audit-document.js +76 -0
- package/dist/tools/audit-document.js.map +1 -0
- package/dist/tools/batch-response.d.ts +21 -0
- package/dist/tools/batch-response.d.ts.map +1 -0
- package/dist/tools/batch-response.js +78 -0
- package/dist/tools/batch-response.js.map +1 -0
- package/dist/tools/debug-task.d.ts +23 -0
- package/dist/tools/debug-task.d.ts.map +1 -0
- package/dist/tools/debug-task.js +38 -0
- package/dist/tools/debug-task.js.map +1 -0
- package/dist/tools/review-code.d.ts +31 -0
- package/dist/tools/review-code.d.ts.map +1 -0
- package/dist/tools/review-code.js +65 -0
- package/dist/tools/review-code.js.map +1 -0
- package/dist/tools/shared.d.ts +31 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/shared.js +72 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/verify-work.d.ts +22 -0
- package/dist/tools/verify-work.d.ts.map +1 -0
- package/dist/tools/verify-work.js +57 -0
- package/dist/tools/verify-work.js.map +1 -0
- package/package.json +19 -3
package/dist/cli.js
CHANGED
|
@@ -14,6 +14,12 @@ import { runTasks } from '@zhixuan92/multi-model-agent-core/run-tasks';
|
|
|
14
14
|
import { InMemoryContextBlockStore } from '@zhixuan92/multi-model-agent-core';
|
|
15
15
|
import { renderProviderRoutingMatrix } from './routing/render-provider-routing-matrix.js';
|
|
16
16
|
import { composeHeadline } from './headline.js';
|
|
17
|
+
import { computeTimings, computeBatchProgress, computeAggregateCost, } from './tools/batch-response.js';
|
|
18
|
+
import { registerAuditDocument } from './tools/audit-document.js';
|
|
19
|
+
import { registerDebugTask } from './tools/debug-task.js';
|
|
20
|
+
import { registerReviewCode } from './tools/review-code.js';
|
|
21
|
+
import { registerVerifyWork } from './tools/verify-work.js';
|
|
22
|
+
export { computeTimings, computeBatchProgress, computeAggregateCost } from './tools/batch-response.js';
|
|
17
23
|
export const SERVER_NAME = 'multi-model-agent';
|
|
18
24
|
const DEFAULT_LARGE_RESPONSE_THRESHOLD_CHARS = 65_536;
|
|
19
25
|
function parsePositiveInt(s) {
|
|
@@ -27,50 +33,9 @@ function parsePositiveInt(s) {
|
|
|
27
33
|
function sha256Hex(text) {
|
|
28
34
|
return createHash('sha256').update(text).digest('hex');
|
|
29
35
|
}
|
|
30
|
-
export function computeTimings(wallClockMs, results) {
|
|
31
|
-
const sumOfTaskMs = results.reduce((sum, r) => sum + (r.durationMs ?? 0), 0);
|
|
32
|
-
const estimatedParallelSavingsMs = Math.max(0, sumOfTaskMs - wallClockMs);
|
|
33
|
-
return { wallClockMs, sumOfTaskMs, estimatedParallelSavingsMs };
|
|
34
|
-
}
|
|
35
|
-
export function computeBatchProgress(results) {
|
|
36
|
-
const totalTasks = results.length;
|
|
37
|
-
const completedTasks = results.filter((r) => r.status === 'ok').length;
|
|
38
|
-
const incompleteTasks = results.filter((r) => r.status === 'incomplete' || r.status === 'max_turns' || r.status === 'timeout').length;
|
|
39
|
-
const failedTasks = results.filter((r) => r.status === 'error' ||
|
|
40
|
-
r.status === 'api_aborted' ||
|
|
41
|
-
r.status === 'api_error' ||
|
|
42
|
-
r.status === 'network_error').length;
|
|
43
|
-
const successPercent = totalTasks === 0 ? 0 : Math.round((completedTasks / totalTasks) * 1000) / 10;
|
|
44
|
-
return { totalTasks, completedTasks, incompleteTasks, failedTasks, successPercent };
|
|
45
|
-
}
|
|
46
|
-
export function computeAggregateCost(results) {
|
|
47
|
-
let totalActualCostUSD = 0;
|
|
48
|
-
let totalSavedCostUSD = 0;
|
|
49
|
-
let actualCostUnavailableTasks = 0;
|
|
50
|
-
let savedCostUnavailableTasks = 0;
|
|
51
|
-
for (const r of results) {
|
|
52
|
-
if (r.usage.costUSD === null || r.usage.costUSD === undefined) {
|
|
53
|
-
actualCostUnavailableTasks += 1;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
totalActualCostUSD += r.usage.costUSD;
|
|
57
|
-
}
|
|
58
|
-
if (r.usage.savedCostUSD === null || r.usage.savedCostUSD === undefined) {
|
|
59
|
-
savedCostUnavailableTasks += 1;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
totalSavedCostUSD += r.usage.savedCostUSD;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return {
|
|
66
|
-
totalActualCostUSD,
|
|
67
|
-
totalSavedCostUSD,
|
|
68
|
-
actualCostUnavailableTasks,
|
|
69
|
-
savedCostUnavailableTasks,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
36
|
function buildFullResponse(batchId, tasks, results, aggregates) {
|
|
73
37
|
return {
|
|
38
|
+
schemaVersion: '1.0.0',
|
|
74
39
|
batchId,
|
|
75
40
|
mode: 'full',
|
|
76
41
|
headline: composeHeadline({
|
|
@@ -83,7 +48,7 @@ function buildFullResponse(batchId, tasks, results, aggregates) {
|
|
|
83
48
|
batchProgress: aggregates.batchProgress,
|
|
84
49
|
aggregateCost: aggregates.aggregateCost,
|
|
85
50
|
results: results.map((r, i) => ({
|
|
86
|
-
|
|
51
|
+
agentType: tasks[i].agentType ?? '(auto)',
|
|
87
52
|
status: r.status,
|
|
88
53
|
output: r.output,
|
|
89
54
|
turns: r.turns,
|
|
@@ -94,13 +59,20 @@ function buildFullResponse(batchId, tasks, results, aggregates) {
|
|
|
94
59
|
toolCalls: r.toolCalls,
|
|
95
60
|
escalationLog: r.escalationLog,
|
|
96
61
|
usage: r.usage,
|
|
97
|
-
|
|
62
|
+
workerStatus: r.workerStatus,
|
|
63
|
+
specReviewStatus: r.specReviewStatus,
|
|
64
|
+
qualityReviewStatus: r.qualityReviewStatus,
|
|
65
|
+
agents: r.agents,
|
|
66
|
+
implementationReport: r.implementationReport,
|
|
67
|
+
specReviewReport: r.specReviewReport,
|
|
68
|
+
qualityReviewReport: r.qualityReviewReport,
|
|
98
69
|
...(r.error && { error: r.error }),
|
|
99
70
|
})),
|
|
100
71
|
};
|
|
101
72
|
}
|
|
102
73
|
function buildSummaryResponse(batchId, tasks, results, opts) {
|
|
103
74
|
return {
|
|
75
|
+
schemaVersion: '1.0.0',
|
|
104
76
|
batchId,
|
|
105
77
|
mode: 'summary',
|
|
106
78
|
headline: composeHeadline({
|
|
@@ -110,14 +82,14 @@ function buildSummaryResponse(batchId, tasks, results, opts) {
|
|
|
110
82
|
taskSpecs: tasks,
|
|
111
83
|
}),
|
|
112
84
|
...(opts.autoEscaped && {
|
|
113
|
-
note: `Combined output was ${opts.totalOutputChars} chars (threshold: ${opts.threshold}). Auto-switched to summary mode. Use
|
|
85
|
+
note: `Combined output was ${opts.totalOutputChars} chars (threshold: ${opts.threshold}). Auto-switched to summary mode. Use get_batch_slice({ batchId, slice: 'output', taskIndex }) to fetch individual task outputs, or get_batch_slice({ batchId, slice: 'detail', taskIndex }) for per-task metadata.`,
|
|
114
86
|
}),
|
|
115
87
|
timings: opts.timings,
|
|
116
88
|
batchProgress: opts.batchProgress,
|
|
117
89
|
aggregateCost: opts.aggregateCost,
|
|
118
90
|
results: results.map((r, i) => ({
|
|
119
91
|
taskIndex: i,
|
|
120
|
-
|
|
92
|
+
agentType: tasks[i].agentType ?? '(auto)',
|
|
121
93
|
status: r.status,
|
|
122
94
|
turns: r.turns,
|
|
123
95
|
durationMs: r.durationMs,
|
|
@@ -125,9 +97,13 @@ function buildSummaryResponse(batchId, tasks, results, opts) {
|
|
|
125
97
|
outputSha256: sha256Hex(r.output),
|
|
126
98
|
usage: r.usage,
|
|
127
99
|
escalationChain: r.escalationLog.map((a) => `${a.provider}:${a.status}`),
|
|
100
|
+
workerStatus: r.workerStatus,
|
|
101
|
+
specReviewStatus: r.specReviewStatus,
|
|
102
|
+
qualityReviewStatus: r.qualityReviewStatus,
|
|
128
103
|
...(r.error && { error: r.error }),
|
|
129
|
-
|
|
130
|
-
|
|
104
|
+
...(r.errorCode && { errorCode: r.errorCode }),
|
|
105
|
+
...(r.retryable !== undefined && { retryable: r.retryable }),
|
|
106
|
+
_fetchWith: `get_batch_slice({ batchId: "${batchId}", slice: "output", taskIndex: ${i} })`,
|
|
131
107
|
})),
|
|
132
108
|
};
|
|
133
109
|
}
|
|
@@ -142,40 +118,89 @@ function buildSummaryResponse(batchId, tasks, results, opts) {
|
|
|
142
118
|
const packageRequire = createRequire(import.meta.url);
|
|
143
119
|
const pkg = packageRequire('../package.json');
|
|
144
120
|
export const SERVER_VERSION = pkg.version;
|
|
145
|
-
export function buildTaskSchema(
|
|
121
|
+
export function buildTaskSchema(availableAgents) {
|
|
146
122
|
return z.object({
|
|
147
|
-
prompt: z.string().describe('
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
'
|
|
153
|
-
'
|
|
154
|
-
|
|
155
|
-
tools: z.enum(['none', 'full']).optional().describe('
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
'
|
|
165
|
-
'
|
|
123
|
+
prompt: z.string().describe('WHAT: The natural-language instruction that tells the sub-agent what task to perform.\n' +
|
|
124
|
+
'WHEN: Always required; this is the primary input for every task.\n' +
|
|
125
|
+
'DEFAULT: Required — no default, must be provided.\n' +
|
|
126
|
+
'INTERACTION: Concatenated with expanded context blocks (if contextBlockIds is set) before dispatch.'),
|
|
127
|
+
agentType: z.enum(availableAgents).optional().describe('WHAT: Selects which labor agent handles this task — standard (cheap, straightforward) or complex (expensive, harder reasoning).\n' +
|
|
128
|
+
'WHEN: Always declare explicitly. The parent decides whether this is standard or complex labor.\n' +
|
|
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 context blocks previously stored via register_context_block.\n' +
|
|
160
|
+
'WHEN: Use to inject long briefing material without re-transmitting it across multiple calls.\n' +
|
|
161
|
+
'DEFAULT: No context blocks — prompt is sent as-is.\n' +
|
|
162
|
+
'INTERACTION: Server resolves each id in order, concatenates content separated by "\\n\\n---\n\\n", and prepends to prompt before dispatch.'),
|
|
166
163
|
expectedCoverage: z.object({
|
|
167
|
-
minSections: z.number().int().positive().optional()
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
'
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
164
|
+
minSections: z.number().int().positive().optional().describe('WHAT: Minimum number of output sections the task must produce to be considered complete.\n' +
|
|
165
|
+
'WHEN: Use when tasks should produce multi-section deliverables (reports, docs with distinct parts).\n' +
|
|
166
|
+
'DEFAULT: No minimum — not required to pass coverage check.\n' +
|
|
167
|
+
'INTERACTION: Checked after syntactic completion heuristics; if minSections is set but not met, task may be marked incomplete.'),
|
|
168
|
+
sectionPattern: z.string().optional().describe('WHAT: Regex pattern applied with multiline flag to identify section headings in the output.\n' +
|
|
169
|
+
'WHEN: Use when output sections must follow a specific heading format (e.g., markdown ## headers).\n' +
|
|
170
|
+
'DEFAULT: No pattern — section boundaries are inferred only by minSections count.\n' +
|
|
171
|
+
'INTERACTION: Each match increments the section count toward minSections; used for coverage validation.'),
|
|
172
|
+
requiredMarkers: z.array(z.string()).optional().describe('WHAT: Substrings that must all appear somewhere in the output for coverage to pass.\n' +
|
|
173
|
+
'WHEN: Use when output must contain specific terms, filenames, or anchors (e.g., "Conclusion", "Usage").\n' +
|
|
174
|
+
'DEFAULT: No required markers — coverage passes on syntactic completion alone.\n' +
|
|
175
|
+
'INTERACTION: If any requiredMarkers entry is absent, coverage check fails and task may be marked incomplete.'),
|
|
176
|
+
}).optional().describe('WHAT: Caller-declared output expectations used for semantic completeness checking beyond syntactic heuristics.\n' +
|
|
177
|
+
'WHEN: Use when output has enumerable deliverables (sections, keywords, specific values) that the model should produce.\n' +
|
|
178
|
+
'DEFAULT: No expected coverage — task is judged complete purely on syntactic signals (has output, has terminator).\n' +
|
|
179
|
+
'INTERACTION: expectedCoverage results are authoritative alongside skipCompletionHeuristic; both must pass for the task to be deemed complete.'),
|
|
180
|
+
skipCompletionHeuristic: z.boolean().optional().describe('WHAT: Disables the no_terminator and fragment short-output heuristics for this task.\n' +
|
|
181
|
+
'WHEN: Use for tight-format outputs (single-line verdicts, CSV rows, opaque ids) that break prose heuristics.\n' +
|
|
182
|
+
'DEFAULT: false — short-output heuristics are active.\n' +
|
|
183
|
+
'INTERACTION: The empty and thinking_only degeneracy checks still fire independently; expectedCoverage passing remains authoritative when set.'),
|
|
184
|
+
parentModel: z.string().optional().describe('WHAT: Identifier for the parent session model used to estimate saved cost when reusing prior context.\n' +
|
|
185
|
+
'WHEN: Set when you want accurate savedCostUSD figures in batch results and have the parent session model info.\n' +
|
|
186
|
+
'DEFAULT: No parent model — savedCostUSD will be null in results.\n' +
|
|
187
|
+
'INTERACTION: Used to look up parent context length for context-length-based cost estimation; influences headline ROI display.'),
|
|
188
|
+
maxCostUSD: z.number().nonnegative().optional().describe('WHAT: Cost ceiling in USD for this task\'s execution.\n' +
|
|
189
|
+
'WHEN: Use when you want to cap spend on expensive operations or prevent runaway token usage.\n' +
|
|
190
|
+
'DEFAULT: No cost ceiling — unlimited spend allowed.\n' +
|
|
191
|
+
'INTERACTION: When maxCostUSD is reached, the task terminates with status cost_exceeded rather than ok.'),
|
|
192
|
+
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' +
|
|
193
|
+
'WHEN: Set to off for fire-and-forget tasks; set to spec_only to skip quality review but keep spec review.\n' +
|
|
194
|
+
'DEFAULT: full — both spec review and quality review run when configured.\n' +
|
|
195
|
+
'INTERACTION: reviewPolicy is enforced at the runner level; off skips all review even if reviewPolicy is configured in defaults.'),
|
|
196
|
+
maxReviewRounds: z.number().int().nonnegative().optional().describe('WHAT: Maximum number of spec review rework rounds before the loop terminates.\n' +
|
|
197
|
+
'WHEN: Use to bound iterative refinement cycles for tasks that could otherwise run indefinitely.\n' +
|
|
198
|
+
'DEFAULT: 2 rework rounds — inherited from server-level defaults if not specified.\n' +
|
|
199
|
+
'INTERACTION: When maxReviewRounds is exhausted, the task moves to the next step regardless of spec review outcome.'),
|
|
200
|
+
briefQualityPolicy: z.enum(['normalize', 'strict', 'warn', 'off']).optional().describe('WHAT: Controls how readiness evaluation handles vague briefs before dispatch.\n' +
|
|
201
|
+
'WHEN: Set to normalize to auto-enrich vague briefs; strict to refuse them; warn to evaluate and surface warnings; off to skip.\n' +
|
|
202
|
+
'DEFAULT: warn — readiness evaluates every brief and surfaces warnings, but does not block dispatch.\n' +
|
|
203
|
+
'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.'),
|
|
179
204
|
});
|
|
180
205
|
}
|
|
181
206
|
/**
|
|
@@ -210,9 +235,9 @@ export function buildTaskSchema(availableProviders) {
|
|
|
210
235
|
const BATCH_TTL_MS = 30 * 60 * 1000;
|
|
211
236
|
const BATCH_MAX = 100;
|
|
212
237
|
export function buildMcpServer(config, options) {
|
|
213
|
-
const
|
|
214
|
-
if (
|
|
215
|
-
throw new Error('buildMcpServer requires at least one configured
|
|
238
|
+
const agentKeys = config.agents ? Object.keys(config.agents) : [];
|
|
239
|
+
if (agentKeys.length === 0) {
|
|
240
|
+
throw new Error('buildMcpServer requires at least one configured agent.');
|
|
216
241
|
}
|
|
217
242
|
// Resolve the threshold once at server startup
|
|
218
243
|
const envThreshold = parsePositiveInt(process.env.MULTI_MODEL_LARGE_RESPONSE_THRESHOLD_CHARS);
|
|
@@ -261,12 +286,16 @@ export function buildMcpServer(config, options) {
|
|
|
261
286
|
batchCache.delete(id);
|
|
262
287
|
batchCache.set(id, entry);
|
|
263
288
|
};
|
|
264
|
-
const
|
|
265
|
-
server.tool('delegate_tasks',
|
|
266
|
-
|
|
289
|
+
const availableAgents = agentKeys;
|
|
290
|
+
server.tool('delegate_tasks', 'Execute one or more tasks in parallel with full control over execution parameters. ' +
|
|
291
|
+
'Use this when (A) your task doesn\'t match audit_document, review_code, verify_work, or debug_task, ' +
|
|
292
|
+
'or (B) you need pipeline customization (reviewPolicy, maxReviewRounds, effort, etc.) beyond what ' +
|
|
293
|
+
'the specialized tools expose.\n\n' +
|
|
294
|
+
renderProviderRoutingMatrix(config), {
|
|
295
|
+
tasks: z.array(buildTaskSchema(availableAgents)).describe('Array of tasks to execute in parallel'),
|
|
267
296
|
responseMode: z.enum(['full', 'summary', 'auto']).optional().describe(`How to shape the response envelope. 'full' (default via 'auto') includes each task's output inline. ` +
|
|
268
297
|
`'summary' returns per-task metadata + outputLength + outputSha256, with full outputs fetchable via ` +
|
|
269
|
-
`
|
|
298
|
+
`get_batch_slice. 'auto' (the default) returns 'full' when combined output fits under the server's ` +
|
|
270
299
|
`threshold (default 65 KB; configurable via env / config / buildMcpServer option), otherwise 'summary' ` +
|
|
271
300
|
`with an auto-escape note.`),
|
|
272
301
|
}, async ({ tasks, responseMode = 'auto' }, extra) => {
|
|
@@ -356,7 +385,7 @@ export function buildMcpServer(config, options) {
|
|
|
356
385
|
}
|
|
357
386
|
finally {
|
|
358
387
|
// Always attach `results ?? []` so a mid-flight throw does not leave
|
|
359
|
-
// a dangling batchCache entry that `
|
|
388
|
+
// a dangling batchCache entry that `get_batch_slice` can't distinguish
|
|
360
389
|
// from "dispatch still in progress". Per spec §3.5 / §3.9 item 3.
|
|
361
390
|
const batchEntry = batchCache.get(batchId);
|
|
362
391
|
if (batchEntry)
|
|
@@ -435,7 +464,7 @@ export function buildMcpServer(config, options) {
|
|
|
435
464
|
}
|
|
436
465
|
const subset = taskIndices.map((i) => batch.tasks[i]);
|
|
437
466
|
// Create a fresh batch for the retried tasks so the original batch
|
|
438
|
-
// entry is preserved and
|
|
467
|
+
// entry is preserved and get_batch_slice can still retrieve it.
|
|
439
468
|
const retryBatchId = rememberBatch(subset);
|
|
440
469
|
const batchStartMs = Date.now();
|
|
441
470
|
let results = [];
|
|
@@ -484,41 +513,24 @@ export function buildMcpServer(config, options) {
|
|
|
484
513
|
content: [{ type: 'text', text: JSON.stringify(response, null, 2) }],
|
|
485
514
|
};
|
|
486
515
|
});
|
|
487
|
-
server.tool('
|
|
516
|
+
server.tool('get_batch_slice', `Retrieve a specific "slice" of data from a previous delegate_tasks batch.
|
|
488
517
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
518
|
+
Three slices are available:
|
|
519
|
+
- \`output\`: The full text output of a specific task (requires taskIndex).
|
|
520
|
+
- \`detail\`: Per-task execution details including toolCalls, filesRead/Written/Listed,
|
|
521
|
+
escalationLog, review statuses (workerStatus, specReviewStatus,
|
|
522
|
+
qualityReviewStatus), agents provenance, and implementation/spec/quality reports
|
|
523
|
+
(requires taskIndex).
|
|
524
|
+
- \`telemetry\`: Batch-wide ROI telemetry envelope with headline, timings, batchProgress,
|
|
525
|
+
and aggregateCost (taskIndex not needed).
|
|
492
526
|
|
|
493
527
|
Batches are cached in memory per MCP server instance with a 30-minute TTL from creation
|
|
494
528
|
and a 100-entry LRU cap. Access touches the LRU order but does not refresh TTL. If the
|
|
495
529
|
batch is expired or evicted, re-dispatch via delegate_tasks with the full specs.`, {
|
|
496
530
|
batchId: z.string().describe('Batch id returned from a previous delegate_tasks call'),
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
if (!batch || batch.expiresAt < Date.now()) {
|
|
501
|
-
if (batch)
|
|
502
|
-
batchCache.delete(batchId);
|
|
503
|
-
throw new Error(`batch "${batchId}" is unknown or expired — re-dispatch with full task specs via delegate_tasks`);
|
|
504
|
-
}
|
|
505
|
-
// Touch LRU order but NOT TTL
|
|
506
|
-
touchBatch(batchId, batch);
|
|
507
|
-
if (batch.results === undefined) {
|
|
508
|
-
throw new Error(`batch "${batchId}" has no stored results — this may indicate a dispatch failure`);
|
|
509
|
-
}
|
|
510
|
-
if (taskIndex < 0 || taskIndex >= batch.results.length) {
|
|
511
|
-
throw new Error(`index ${taskIndex} is out of range for batch ${batchId} (size ${batch.results.length})`);
|
|
512
|
-
}
|
|
513
|
-
const result = batch.results[taskIndex];
|
|
514
|
-
return {
|
|
515
|
-
content: [{ type: 'text', text: JSON.stringify({ output: result.output }, null, 2) }],
|
|
516
|
-
};
|
|
517
|
-
});
|
|
518
|
-
server.tool('get_task_detail', `Retrieve per-task execution details (toolCalls, filesRead/Written/Listed, full escalationLog with reasons, progressTrace if opted in) for a task from a previous delegate_tasks batch. Use this when a batch returned in summary mode and you need to inspect what a specific task actually did — e.g., to debug a failure, verify file-write scope, or review the provider escalation chain. For the output text, use get_task_output instead. Batches live in an in-memory cache with a 30-minute TTL; if the batch is expired or evicted, re-dispatch via delegate_tasks with the full task specs.`, {
|
|
519
|
-
batchId: z.string().describe('Batch id returned from a previous delegate_tasks call'),
|
|
520
|
-
taskIndex: z.number().int().nonnegative().describe('Zero-based index of the task within the batch'),
|
|
521
|
-
}, async ({ batchId, taskIndex }) => {
|
|
531
|
+
slice: z.enum(['output', 'detail', 'telemetry']).describe('Which slice to retrieve'),
|
|
532
|
+
taskIndex: z.number().int().nonnegative().optional().describe('Zero-based index of the task (required for output and detail slices)'),
|
|
533
|
+
}, async ({ batchId, slice, taskIndex }) => {
|
|
522
534
|
const batch = batchCache.get(batchId);
|
|
523
535
|
if (!batch || batch.expiresAt < Date.now()) {
|
|
524
536
|
if (batch)
|
|
@@ -529,39 +541,45 @@ batch is expired or evicted, re-dispatch via delegate_tasks with the full specs.
|
|
|
529
541
|
if (batch.results === undefined) {
|
|
530
542
|
throw new Error(`batch "${batchId}" has no results yet — the original dispatch may still be running`);
|
|
531
543
|
}
|
|
532
|
-
if (
|
|
533
|
-
|
|
544
|
+
if (slice === 'output' || slice === 'detail') {
|
|
545
|
+
if (taskIndex === undefined) {
|
|
546
|
+
throw new Error(`taskIndex is required for slice "${slice}" — please specify which task to retrieve`);
|
|
547
|
+
}
|
|
548
|
+
if (taskIndex < 0 || taskIndex >= batch.results.length) {
|
|
549
|
+
throw new Error(`index ${taskIndex} is out of range for batch ${batchId} (size ${batch.results.length})`);
|
|
550
|
+
}
|
|
534
551
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
provider: task.provider ?? '(auto)',
|
|
541
|
-
filesRead: result.filesRead,
|
|
542
|
-
filesWritten: result.filesWritten,
|
|
543
|
-
directoriesListed: result.directoriesListed ?? [],
|
|
544
|
-
toolCalls: result.toolCalls,
|
|
545
|
-
escalationLog: result.escalationLog,
|
|
546
|
-
...(result.progressTrace && { progressTrace: result.progressTrace }),
|
|
547
|
-
};
|
|
548
|
-
return {
|
|
549
|
-
content: [{ type: 'text', text: JSON.stringify(detail, null, 2) }],
|
|
550
|
-
};
|
|
551
|
-
});
|
|
552
|
-
server.tool('get_batch_telemetry', `Retrieve a compact ROI telemetry envelope for a previous delegate_tasks batch: the one-line headline (tasks/success/wall-clock/cost/ROI), wall-clock vs serial timings, per-task cost and savings, and provider escalation chains. Use this after every delegate_tasks call to surface the ROI story to the user — especially when the primary response came back in summary mode or hit a client-side size limit. Envelope size: a ~600-byte header plus ~200 bytes per task (so a 10-task batch is ~2.6 KB; a 50-task batch is ~10 KB). Bounded-small per task, but scales linearly, so enormous batches (100+ tasks) may approach the client's tool-result size limit. Batches live in an in-memory cache with a 30-minute TTL; if the batch is expired, the numbers are lost.`, {
|
|
553
|
-
batchId: z.string().describe('Batch id returned from a previous delegate_tasks call'),
|
|
554
|
-
}, async ({ batchId }) => {
|
|
555
|
-
const batch = batchCache.get(batchId);
|
|
556
|
-
if (!batch || batch.expiresAt < Date.now()) {
|
|
557
|
-
if (batch)
|
|
558
|
-
batchCache.delete(batchId);
|
|
559
|
-
throw new Error(`batch "${batchId}" is unknown or expired — re-dispatch with full task specs via delegate_tasks`);
|
|
552
|
+
if (slice === 'output') {
|
|
553
|
+
const result = batch.results[taskIndex];
|
|
554
|
+
return {
|
|
555
|
+
content: [{ type: 'text', text: JSON.stringify({ output: result.output }, null, 2) }],
|
|
556
|
+
};
|
|
560
557
|
}
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
558
|
+
if (slice === 'detail') {
|
|
559
|
+
const result = batch.results[taskIndex];
|
|
560
|
+
const task = batch.tasks[taskIndex];
|
|
561
|
+
const detail = {
|
|
562
|
+
batchId,
|
|
563
|
+
taskIndex: taskIndex,
|
|
564
|
+
agentType: task.agentType ?? '(auto)',
|
|
565
|
+
filesRead: result.filesRead,
|
|
566
|
+
filesWritten: result.filesWritten,
|
|
567
|
+
directoriesListed: result.directoriesListed ?? [],
|
|
568
|
+
toolCalls: result.toolCalls,
|
|
569
|
+
escalationLog: result.escalationLog,
|
|
570
|
+
workerStatus: result.workerStatus,
|
|
571
|
+
specReviewStatus: result.specReviewStatus,
|
|
572
|
+
qualityReviewStatus: result.qualityReviewStatus,
|
|
573
|
+
agents: result.agents,
|
|
574
|
+
implementationReport: result.implementationReport,
|
|
575
|
+
specReviewReport: result.specReviewReport,
|
|
576
|
+
qualityReviewReport: result.qualityReviewReport,
|
|
577
|
+
};
|
|
578
|
+
return {
|
|
579
|
+
content: [{ type: 'text', text: JSON.stringify(detail, null, 2) }],
|
|
580
|
+
};
|
|
564
581
|
}
|
|
582
|
+
// slice === 'telemetry'
|
|
565
583
|
const wallClockMsEstimate = Math.max(0, ...batch.results.map((r) => r.durationMs ?? 0));
|
|
566
584
|
const timings = computeTimings(wallClockMsEstimate, batch.results);
|
|
567
585
|
const batchProgress = computeBatchProgress(batch.results);
|
|
@@ -580,19 +598,25 @@ batch is expired or evicted, re-dispatch via delegate_tasks with the full specs.
|
|
|
580
598
|
aggregateCost,
|
|
581
599
|
results: batch.results.map((r, i) => ({
|
|
582
600
|
taskIndex: i,
|
|
583
|
-
|
|
601
|
+
agentType: batch.tasks[i].agentType ?? '(auto)',
|
|
584
602
|
status: r.status,
|
|
585
603
|
turns: r.turns,
|
|
586
604
|
durationMs: r.durationMs,
|
|
587
605
|
usage: r.usage,
|
|
588
606
|
escalationChain: r.escalationLog.map((a) => `${a.provider}:${a.status}`),
|
|
589
607
|
...(r.error && { error: r.error }),
|
|
608
|
+
...(r.errorCode && { errorCode: r.errorCode }),
|
|
609
|
+
...(r.retryable !== undefined && { retryable: r.retryable }),
|
|
590
610
|
})),
|
|
591
611
|
};
|
|
592
612
|
return {
|
|
593
613
|
content: [{ type: 'text', text: JSON.stringify(envelope, null, 2) }],
|
|
594
614
|
};
|
|
595
615
|
});
|
|
616
|
+
registerAuditDocument(server, config);
|
|
617
|
+
registerDebugTask(server, config);
|
|
618
|
+
registerReviewCode(server, config);
|
|
619
|
+
registerVerifyWork(server, config);
|
|
596
620
|
return server;
|
|
597
621
|
}
|
|
598
622
|
/**
|
|
@@ -618,8 +642,13 @@ export async function discoverConfig() {
|
|
|
618
642
|
if (fs.existsSync(defaultPath)) {
|
|
619
643
|
return loadConfigFromFile(defaultPath);
|
|
620
644
|
}
|
|
621
|
-
// Fallback: empty config
|
|
622
|
-
return parseConfig({
|
|
645
|
+
// Fallback: empty config with required agents
|
|
646
|
+
return parseConfig({
|
|
647
|
+
agents: {
|
|
648
|
+
standard: { type: 'claude', model: 'claude-sonnet-4-6' },
|
|
649
|
+
complex: { type: 'claude', model: 'claude-sonnet-4-6' },
|
|
650
|
+
},
|
|
651
|
+
});
|
|
623
652
|
}
|
|
624
653
|
async function main() {
|
|
625
654
|
const args = process.argv.slice(2);
|
|
@@ -632,9 +661,9 @@ async function main() {
|
|
|
632
661
|
process.exit(1);
|
|
633
662
|
}
|
|
634
663
|
const config = await discoverConfig();
|
|
635
|
-
const
|
|
636
|
-
if (
|
|
637
|
-
console.error('No
|
|
664
|
+
const agentNames = config.agents ? Object.keys(config.agents) : [];
|
|
665
|
+
if (agentNames.length === 0) {
|
|
666
|
+
console.error('No agents configured. Create ~/.multi-model/config.json or pass --config <path>.');
|
|
638
667
|
process.exit(1);
|
|
639
668
|
}
|
|
640
669
|
const server = buildMcpServer(config);
|
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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core';
|
|
2
2
|
/**
|
|
3
3
|
* Renders the full routing matrix for the MCP tool description.
|
|
4
|
-
* Helps the consuming LLM understand
|
|
4
|
+
* Helps the consuming LLM understand agent capabilities and routing rules.
|
|
5
5
|
*/
|
|
6
6
|
export declare function renderProviderRoutingMatrix(config: MultiModelConfig): string;
|
|
7
7
|
//# sourceMappingURL=render-provider-routing-matrix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-provider-routing-matrix.d.ts","sourceRoot":"","sources":["../../src/routing/render-provider-routing-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render-provider-routing-matrix.d.ts","sourceRoot":"","sources":["../../src/routing/render-provider-routing-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AA2HvF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAuB5E"}
|