@excitedjs/dreamux 0.12.1-beta.50 → 0.13.0-beta.52
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/admin/methods.js +153 -0
- package/dist/admin/methods.js.map +1 -1
- package/dist/dispatcher/base-prompt.js +6 -4
- package/dist/dispatcher/base-prompt.js.map +1 -1
- package/dist/mcp/teammate-mcp.js +303 -2
- package/dist/mcp/teammate-mcp.js.map +1 -1
- package/dist/onboard/config-files.js +2 -1
- package/dist/onboard/config-files.js.map +1 -1
- package/dist/runtime/config.js +11 -0
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/package-bin.js +32 -1
- package/dist/runtime/package-bin.js.map +1 -1
- package/dist/runtime/paths.js +60 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/server.js +570 -14
- package/dist/server.js.map +1 -1
- package/dist/teammate/delivery.js +4 -0
- package/dist/teammate/delivery.js.map +1 -1
- package/dist/teammate/ledger.js +628 -91
- package/dist/teammate/ledger.js.map +1 -1
- package/dist/teammate/wait-broker.js +198 -0
- package/dist/teammate/wait-broker.js.map +1 -0
- package/dist/teammate/worker/catalog.js +44 -0
- package/dist/teammate/worker/catalog.js.map +1 -0
- package/dist/teammate/worker/claude-code-provider.js +263 -0
- package/dist/teammate/worker/claude-code-provider.js.map +1 -0
- package/dist/teammate/worker/codex-provider.js +313 -0
- package/dist/teammate/worker/codex-provider.js.map +1 -0
- package/dist/teammate/worker/confine.js +62 -0
- package/dist/teammate/worker/confine.js.map +1 -0
- package/dist/teammate/worker/fake-provider.js +135 -0
- package/dist/teammate/worker/fake-provider.js.map +1 -0
- package/dist/teammate/worker/index.js +7 -0
- package/dist/teammate/worker/index.js.map +1 -0
- package/dist/teammate/worker/types.js +17 -0
- package/dist/teammate/worker/types.js.map +1 -0
- package/dist/teammate/worker-execution.js +242 -0
- package/dist/teammate/worker-execution.js.map +1 -0
- package/dist/teammate/worker-logs.js +109 -0
- package/dist/teammate/worker-logs.js.map +1 -0
- package/package.json +1 -1
- package/skills/dispatcher/SKILL.md +66 -34
- package/skills/dispatcher/references/dispatch-task.md +6 -0
- package/skills/dispatcher/references/inspect-and-resume.md +6 -0
package/dist/admin/methods.js
CHANGED
|
@@ -149,6 +149,148 @@ export const adminMethods = {
|
|
|
149
149
|
throw new AdminError('TEAMMATE_COMPLETE_FAILED', parseMessage(err));
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
|
+
// Executable normal-path create-and-execute tool (issue #126). No worker is
|
|
153
|
+
// wired yet, so the task is created and the execution sub-result reports
|
|
154
|
+
// provider_unavailable.
|
|
155
|
+
'mcp.teammate.run': async (server, params) => {
|
|
156
|
+
const id = mustDispatcherId(params);
|
|
157
|
+
mustExistingDispatcher(server, id);
|
|
158
|
+
const callerKind = mustCallerKind(params);
|
|
159
|
+
const title = mustString(params, 'title');
|
|
160
|
+
const prompt = mustString(params, 'prompt');
|
|
161
|
+
const targetPath = mustString(params, 'target_path');
|
|
162
|
+
const teammateId = optionalString(params, 'teammate_id');
|
|
163
|
+
const intent = optionalString(params, 'intent');
|
|
164
|
+
const targetMode = optionalString(params, 'target_mode');
|
|
165
|
+
const providerRef = optionalString(params, 'provider_ref');
|
|
166
|
+
const operationId = optionalString(params, 'operation_id');
|
|
167
|
+
try {
|
|
168
|
+
return await server.runTeamMateTaskFromMcp({
|
|
169
|
+
dispatcherId: id,
|
|
170
|
+
callerKind,
|
|
171
|
+
title,
|
|
172
|
+
prompt,
|
|
173
|
+
targetPath,
|
|
174
|
+
...(teammateId !== null ? { teammateId } : {}),
|
|
175
|
+
...(intent !== null ? { intent } : {}),
|
|
176
|
+
...(targetMode !== null
|
|
177
|
+
? { targetMode: targetMode }
|
|
178
|
+
: {}),
|
|
179
|
+
...(providerRef !== null ? { providerRef } : {}),
|
|
180
|
+
...(operationId !== null ? { operationId } : {}),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
if (err instanceof NestedTeamMateDispatchError) {
|
|
185
|
+
throw new AdminError('TEAMMATE_NESTED_DISPATCH_REJECTED', parseMessage(err));
|
|
186
|
+
}
|
|
187
|
+
throw new AdminError('TEAMMATE_RUN_FAILED', parseMessage(err));
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
'mcp.teammate.execute': async (server, params) => {
|
|
191
|
+
const id = mustDispatcherId(params);
|
|
192
|
+
mustExistingDispatcher(server, id);
|
|
193
|
+
const taskId = mustString(params, 'task_id');
|
|
194
|
+
const providerRef = optionalString(params, 'provider_ref');
|
|
195
|
+
const targetMode = optionalString(params, 'target_mode');
|
|
196
|
+
const operationId = optionalString(params, 'operation_id');
|
|
197
|
+
try {
|
|
198
|
+
return await server.executeTeamMateTaskFromMcp({
|
|
199
|
+
dispatcherId: id,
|
|
200
|
+
taskId,
|
|
201
|
+
...(providerRef !== null ? { providerRef } : {}),
|
|
202
|
+
...(targetMode !== null
|
|
203
|
+
? { targetMode: targetMode }
|
|
204
|
+
: {}),
|
|
205
|
+
...(operationId !== null ? { operationId } : {}),
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
throw new AdminError('TEAMMATE_EXECUTE_FAILED', parseMessage(err));
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
'mcp.teammate.send_input': async (server, params) => {
|
|
213
|
+
const id = mustDispatcherId(params);
|
|
214
|
+
mustExistingDispatcher(server, id);
|
|
215
|
+
const taskId = mustString(params, 'task_id');
|
|
216
|
+
const prompt = mustString(params, 'prompt');
|
|
217
|
+
const mode = optionalString(params, 'mode');
|
|
218
|
+
const operationId = optionalString(params, 'operation_id');
|
|
219
|
+
try {
|
|
220
|
+
return await server.sendTeamMateInputFromMcp({
|
|
221
|
+
dispatcherId: id,
|
|
222
|
+
taskId,
|
|
223
|
+
prompt,
|
|
224
|
+
...(mode !== null ? { mode: mode } : {}),
|
|
225
|
+
...(operationId !== null ? { operationId } : {}),
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
throw new AdminError('TEAMMATE_SEND_INPUT_FAILED', parseMessage(err));
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
// Bounded server-side wait; a timeout returns a structured still_running
|
|
233
|
+
// result, not an error (issue #126).
|
|
234
|
+
'mcp.teammate.await': async (server, params) => {
|
|
235
|
+
const id = mustDispatcherId(params);
|
|
236
|
+
mustExistingDispatcher(server, id);
|
|
237
|
+
const taskId = mustString(params, 'task_id');
|
|
238
|
+
const afterEventId = optionalNumber(params, 'after_event_id');
|
|
239
|
+
const until = optionalStringArray(params, 'until');
|
|
240
|
+
const timeoutMs = optionalNumber(params, 'timeout_ms');
|
|
241
|
+
try {
|
|
242
|
+
return await server.awaitTeamMateCompletionFromMcp({
|
|
243
|
+
dispatcherId: id,
|
|
244
|
+
taskId,
|
|
245
|
+
...(afterEventId !== null ? { afterEventId } : {}),
|
|
246
|
+
...(until !== null ? { until } : {}),
|
|
247
|
+
...(timeoutMs !== null ? { timeoutMs } : {}),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
catch (err) {
|
|
251
|
+
throw new AdminError('TEAMMATE_AWAIT_FAILED', parseMessage(err));
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
'mcp.teammate.cancel': async (server, params) => {
|
|
255
|
+
const id = mustDispatcherId(params);
|
|
256
|
+
mustExistingDispatcher(server, id);
|
|
257
|
+
const taskId = mustString(params, 'task_id');
|
|
258
|
+
const note = optionalString(params, 'note');
|
|
259
|
+
try {
|
|
260
|
+
return await server.cancelTeamMateTaskFromMcp({
|
|
261
|
+
dispatcherId: id,
|
|
262
|
+
taskId,
|
|
263
|
+
...(note !== null ? { note } : {}),
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
catch (err) {
|
|
267
|
+
throw new AdminError('TEAMMATE_CANCEL_FAILED', parseMessage(err));
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
'mcp.teammate.logs': async (server, params) => {
|
|
271
|
+
const id = mustDispatcherId(params);
|
|
272
|
+
mustExistingDispatcher(server, id);
|
|
273
|
+
const taskId = mustString(params, 'task_id');
|
|
274
|
+
const maxBytes = optionalNumber(params, 'max_bytes');
|
|
275
|
+
const stream = optionalString(params, 'stream');
|
|
276
|
+
if (stream !== null && stream !== 'stdout' && stream !== 'stderr') {
|
|
277
|
+
throw new AdminError('BAD_REQUEST', "param 'stream' must be 'stdout' or 'stderr'");
|
|
278
|
+
}
|
|
279
|
+
try {
|
|
280
|
+
return await server.getTeamMateTaskLogsFromMcp({
|
|
281
|
+
dispatcherId: id,
|
|
282
|
+
taskId,
|
|
283
|
+
...(maxBytes !== null ? { maxBytes } : {}),
|
|
284
|
+
...(stream !== null
|
|
285
|
+
? { stream: stream }
|
|
286
|
+
: {}),
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
throw new AdminError('TEAMMATE_LOGS_FAILED', parseMessage(err));
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
'mcp.teammate.capabilities': (server) => server.getTeamMateCapabilitiesFromMcp(),
|
|
152
294
|
'mcp.teammate.list': async (server, params) => {
|
|
153
295
|
const id = mustDispatcherId(params);
|
|
154
296
|
mustExistingDispatcher(server, id);
|
|
@@ -201,6 +343,17 @@ function optionalString(params, key) {
|
|
|
201
343
|
}
|
|
202
344
|
return v;
|
|
203
345
|
}
|
|
346
|
+
function optionalNumber(params, key) {
|
|
347
|
+
if (params === undefined)
|
|
348
|
+
return null;
|
|
349
|
+
const v = params[key];
|
|
350
|
+
if (v === undefined || v === null)
|
|
351
|
+
return null;
|
|
352
|
+
if (typeof v !== 'number' || !Number.isFinite(v)) {
|
|
353
|
+
throw new AdminError('BAD_REQUEST', `param '${key}' must be a finite number`);
|
|
354
|
+
}
|
|
355
|
+
return v;
|
|
356
|
+
}
|
|
204
357
|
function optionalStringArray(params, key) {
|
|
205
358
|
if (params === undefined)
|
|
206
359
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/admin/methods.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/admin/methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,12 @@ export const DREAMUX_DISPATCHER_BASE_INSTRUCTIONS = [
|
|
|
22
22
|
'',
|
|
23
23
|
'# TeamMate Delegation',
|
|
24
24
|
'',
|
|
25
|
-
'- The server-hosted TeamMate MCP is the primary interface for
|
|
26
|
-
'-
|
|
27
|
-
'-
|
|
28
|
-
'- The
|
|
25
|
+
'- The server-hosted TeamMate MCP is the primary interface for repository delegation, and it executes work for real. run_task creates a task and starts a worker against a confined local target in one call; execute_task starts or retries execution for an already-accepted task. The default builtin:codex worker runs the turn to completion; builtin:claude-code runs only when you pin it via provider_ref (single-turn, steer:false). schedule only records an accepted task id in the dispatcher-owned ledger without executing it — use it when you want to register work before running it, not to run a task.',
|
|
26
|
+
'- Track and collect over MCP without holding a shell session or polling a process: list_tasks for statuses, get_task for one task in full (result, history, delivery state), pull_result for a retained or latest result, and await_completion for a bounded server-side wait that returns a terminal state — or, on timeout, a still_running snapshot you resume with after_event_id rather than an error. These cover the status, history, last, and poll needs directly.',
|
|
27
|
+
'- Control a running worker over MCP rather than shelling out. cancel_task stops a live worker, closes a not-yet-running or orphaned task, and is an idempotent no-op on an already-terminal task. get_task_logs returns a bounded tail of a worker\'s diagnostic logs (worker stderr, plus codex app-server stdout protocol frames) for inspecting a slow or failed worker — not the clean result, which still comes from get_task / pull_result / await_completion. get_capabilities lists each worker\'s advertised modes.',
|
|
28
|
+
'- The persistent ledger is the source of truth for TeamMate results. A completion delivered into the dispatcher is a best-effort wake-up, not the reliable result contract; confirm and re-read results with get_task / pull_result (or await_completion) rather than trusting that a pushed notification arrived. On an await_completion timeout, re-read the ledger — still_running is a snapshot, not a verdict.',
|
|
29
|
+
'- send_input folds a follow-up into a live builtin:codex turn (mode steer); it is steering, not multi-turn continuation. On a single-turn worker (builtin:claude-code, steer:false) or a task with no live session, the input is recorded as queued, not re-executed — resume and multi-turn continuation stay deferred, so do not promise a queued input will run on its own.',
|
|
30
|
+
'- The tm CLI is the labeled fallback, not the default orchestration path. Reach for it only for what the MCP does not yet cover: resuming or recovering a dead teammate session, multi-turn continuation, and isolated repository worktrees (MCP workers run in place at the target, so managed-worktree isolation is a tm capability today). Load and follow the dispatcher skill before tm operations; that skill is the operational manual for command shape, status checks, resume, wait, history, and failure reporting.',
|
|
29
31
|
'- Use the tm executable from the dispatcher environment PATH. Do not install a different tm, run npx, or call Dreamux admin APIs to create teammate state.',
|
|
30
32
|
'- Respect explicit engine preferences from the user or operator. Do not invent or hard-code an engine choice when the user has steered to a different teammate engine.',
|
|
31
33
|
'- Brief TeamMates with the goal, repository, branch, issue or PR anchor, hard constraints, expected deliverable shape, validation expectations, and source-channel context.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-prompt.js","sourceRoot":"","sources":["../../src/dispatcher/base-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,iQAAiQ;IACjQ,EAAE;IACF,gBAAgB;IAChB,EAAE;IACF,0OAA0O;IAC1O,wIAAwI;IACxI,gRAAgR;IAChR,sLAAsL;IACtL,oKAAoK;IACpK,oOAAoO;IACpO,8VAA8V;IAC9V,EAAE;IACF,yBAAyB;IACzB,EAAE;IACF,8JAA8J;IAC9J,8NAA8N;IAC9N,qKAAqK;IACrK,sKAAsK;IACtK,yMAAyM;IACzM,6OAA6O;IAC7O,EAAE;IACF,uBAAuB;IACvB,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"base-prompt.js","sourceRoot":"","sources":["../../src/dispatcher/base-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,iQAAiQ;IACjQ,EAAE;IACF,gBAAgB;IAChB,EAAE;IACF,0OAA0O;IAC1O,wIAAwI;IACxI,gRAAgR;IAChR,sLAAsL;IACtL,oKAAoK;IACpK,oOAAoO;IACpO,8VAA8V;IAC9V,EAAE;IACF,yBAAyB;IACzB,EAAE;IACF,8JAA8J;IAC9J,8NAA8N;IAC9N,qKAAqK;IACrK,sKAAsK;IACtK,yMAAyM;IACzM,6OAA6O;IAC7O,EAAE;IACF,uBAAuB;IACvB,EAAE;IACF,0lBAA0lB;IAC1lB,6cAA6c;IAC7c,8fAA8f;IAC9f,qZAAqZ;IACrZ,gXAAgX;IAChX,+fAA+f;IAC/f,4JAA4J;IAC5J,wKAAwK;IACxK,6KAA6K;IAC7K,gJAAgJ;IAChJ,6GAA6G;IAC7G,oOAAoO;IACpO,iNAAiN;IACjN,EAAE;IACF,0BAA0B;IAC1B,EAAE;IACF,wOAAwO;IACxO,mPAAmP;IACnP,wMAAwM;IACxM,uJAAuJ;IACvJ,EAAE;IACF,mBAAmB;IACnB,EAAE;IACF,qLAAqL;IACrL,0GAA0G;IAC1G,yIAAyI;IACzI,qMAAqM;IACrM,uNAAuN;IACvN,yMAAyM;IACzM,0JAA0J;IAC1J,EAAE;IACF,iBAAiB;IACjB,EAAE;IACF,kRAAkR;IAClR,gMAAgM;IAChM,uHAAuH;IACvH,8HAA8H;IAC9H,kRAAkR;IAClR,EAAE;IACF,iBAAiB;IACjB,EAAE;IACF,gKAAgK;IAChK,kKAAkK;IAClK,8JAA8J;IAC9J,gPAAgP;IAChP,0KAA0K;IAC1K,+MAA+M;IAC/M,yMAAyM;IACzM,8MAA8M;IAC9M,iKAAiK;IACjK,oKAAoK;CACrK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/mcp/teammate-mcp.js
CHANGED
|
@@ -2,6 +2,7 @@ import { createInterface } from 'node:readline';
|
|
|
2
2
|
import { AdminClientError, sendAdminRequest, } from '../admin/client.js';
|
|
3
3
|
import { adminSocketPath as defaultAdminSocketPath } from '../runtime/paths.js';
|
|
4
4
|
import { validateDispatcherId } from '../runtime/dispatcher-id.js';
|
|
5
|
+
import { clampWaitTimeout, TEAMMATE_WAIT_CLIENT_BUFFER_MS, } from '../teammate/wait-broker.js';
|
|
5
6
|
const JSONRPC_VERSION = '2.0';
|
|
6
7
|
const DEFAULT_MCP_PROTOCOL_VERSION = '2024-11-05';
|
|
7
8
|
const SUPPORTED_MCP_PROTOCOL_VERSIONS = new Set([
|
|
@@ -118,6 +119,183 @@ function teammateTools() {
|
|
|
118
119
|
required: ['title', 'prompt'],
|
|
119
120
|
},
|
|
120
121
|
},
|
|
122
|
+
{
|
|
123
|
+
name: 'run_task',
|
|
124
|
+
description: 'Create and execute a server-hosted TeamMate task in a local target. ' +
|
|
125
|
+
'Returns once the task is created and a worker session is started; the ' +
|
|
126
|
+
'execution sub-result reports running (then completed/failed via the ' +
|
|
127
|
+
'ledger). The default Codex worker executes for real. If no worker is ' +
|
|
128
|
+
'wired or the chosen provider is unavailable, the execution sub-result ' +
|
|
129
|
+
'reports provider_unavailable (retryable) while the task is still ' +
|
|
130
|
+
'created durably.',
|
|
131
|
+
inputSchema: {
|
|
132
|
+
type: 'object',
|
|
133
|
+
additionalProperties: false,
|
|
134
|
+
properties: {
|
|
135
|
+
title: { type: 'string', minLength: 1, maxLength: 200 },
|
|
136
|
+
prompt: { type: 'string', minLength: 1, maxLength: 20000 },
|
|
137
|
+
target: {
|
|
138
|
+
type: 'object',
|
|
139
|
+
additionalProperties: false,
|
|
140
|
+
description: 'Local execution target. path may be absolute or relative to ' +
|
|
141
|
+
'the dispatcher directory; it is resolved and confined there.',
|
|
142
|
+
properties: {
|
|
143
|
+
kind: { type: 'string', enum: ['path'] },
|
|
144
|
+
path: { type: 'string', minLength: 1, maxLength: 4096 },
|
|
145
|
+
},
|
|
146
|
+
required: ['path'],
|
|
147
|
+
},
|
|
148
|
+
teammate_id: {
|
|
149
|
+
type: 'string',
|
|
150
|
+
description: 'Optional stable TeamMate id for cross-task identity.',
|
|
151
|
+
},
|
|
152
|
+
intent: { type: 'string', maxLength: 200 },
|
|
153
|
+
target_mode: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
enum: ['managed_worktree', 'in_place'],
|
|
156
|
+
},
|
|
157
|
+
provider_ref: {
|
|
158
|
+
type: 'string',
|
|
159
|
+
description: 'Worker to execute on; defaults to builtin:codex. Pin ' +
|
|
160
|
+
'builtin:claude-code to run on the Claude Code worker. Consult ' +
|
|
161
|
+
"get_capabilities for each worker's advertised modes " +
|
|
162
|
+
'(builtin:claude-code is single-turn, steer:false).',
|
|
163
|
+
},
|
|
164
|
+
operation_id: {
|
|
165
|
+
type: 'string',
|
|
166
|
+
description: 'Idempotency key; replaying returns the prior task.',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
required: ['title', 'prompt', 'target'],
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'execute_task',
|
|
174
|
+
description: 'Start or retry execution for an accepted TeamMate task. Reports ' +
|
|
175
|
+
'running once a worker session is live (the default Codex worker runs ' +
|
|
176
|
+
'for real); a task with no worker wired or an unavailable provider ' +
|
|
177
|
+
'reports provider_unavailable (retryable).',
|
|
178
|
+
inputSchema: {
|
|
179
|
+
type: 'object',
|
|
180
|
+
additionalProperties: false,
|
|
181
|
+
properties: {
|
|
182
|
+
task_id: { type: 'string' },
|
|
183
|
+
provider_ref: {
|
|
184
|
+
type: 'string',
|
|
185
|
+
description: 'Worker to execute on; defaults to builtin:codex. Pin ' +
|
|
186
|
+
'builtin:claude-code to run on the Claude Code worker (see ' +
|
|
187
|
+
'get_capabilities).',
|
|
188
|
+
},
|
|
189
|
+
target_mode: {
|
|
190
|
+
type: 'string',
|
|
191
|
+
enum: ['managed_worktree', 'in_place'],
|
|
192
|
+
},
|
|
193
|
+
operation_id: { type: 'string' },
|
|
194
|
+
},
|
|
195
|
+
required: ['task_id'],
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: 'send_input',
|
|
200
|
+
description: 'Send a follow-up input to a steerable TeamMate task session. Default ' +
|
|
201
|
+
'mode is steer; queue and interrupt are explicit. On a worker that ' +
|
|
202
|
+
'advertises steer (builtin:codex) it folds into the live turn and is ' +
|
|
203
|
+
'submitted; on a single-turn worker (builtin:claude-code, steer:false) ' +
|
|
204
|
+
'or with no live session the input is recorded as queued for a future ' +
|
|
205
|
+
'worker. See get_capabilities.',
|
|
206
|
+
inputSchema: {
|
|
207
|
+
type: 'object',
|
|
208
|
+
additionalProperties: false,
|
|
209
|
+
properties: {
|
|
210
|
+
task_id: { type: 'string' },
|
|
211
|
+
prompt: { type: 'string', minLength: 1, maxLength: 20000 },
|
|
212
|
+
mode: { type: 'string', enum: ['steer', 'queue', 'interrupt'] },
|
|
213
|
+
operation_id: { type: 'string' },
|
|
214
|
+
},
|
|
215
|
+
required: ['task_id', 'prompt'],
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
name: 'await_completion',
|
|
220
|
+
description: 'Wait (bounded, server-side) for a TeamMate task to reach a terminal ' +
|
|
221
|
+
'state without shell polling. A timeout returns status still_running ' +
|
|
222
|
+
'with the latest snapshot — not an error; resume with after_event_id.',
|
|
223
|
+
inputSchema: {
|
|
224
|
+
type: 'object',
|
|
225
|
+
additionalProperties: false,
|
|
226
|
+
properties: {
|
|
227
|
+
task_id: { type: 'string' },
|
|
228
|
+
after_event_id: {
|
|
229
|
+
type: 'number',
|
|
230
|
+
description: 'Only resolve on an event newer than this id.',
|
|
231
|
+
},
|
|
232
|
+
until: {
|
|
233
|
+
type: 'array',
|
|
234
|
+
items: { type: 'string' },
|
|
235
|
+
description: 'States to wait for; defaults to completed/failed/cancelled.',
|
|
236
|
+
},
|
|
237
|
+
timeout_ms: { type: 'number' },
|
|
238
|
+
},
|
|
239
|
+
required: ['task_id'],
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: 'cancel_task',
|
|
244
|
+
description: 'Cancel a TeamMate task without shelling out to kill a worker process. ' +
|
|
245
|
+
'A live worker is stopped and its resources reaped; a not-yet-running or ' +
|
|
246
|
+
'orphaned task is closed in the ledger. An already-finished task is an ' +
|
|
247
|
+
'idempotent no-op (status already_terminal). The task closes as ' +
|
|
248
|
+
'cancelled; pass note for a short reason.',
|
|
249
|
+
inputSchema: {
|
|
250
|
+
type: 'object',
|
|
251
|
+
additionalProperties: false,
|
|
252
|
+
properties: {
|
|
253
|
+
task_id: { type: 'string' },
|
|
254
|
+
note: {
|
|
255
|
+
type: 'string',
|
|
256
|
+
maxLength: 2000,
|
|
257
|
+
description: 'Optional short reason recorded with the cancellation.',
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
required: ['task_id'],
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'get_task_logs',
|
|
265
|
+
description: 'Read a bounded tail of a TeamMate worker\'s diagnostic logs to inspect ' +
|
|
266
|
+
'a slow or failed worker without tailing a file in a shell. Returns ' +
|
|
267
|
+
'worker stderr (and, for builtin:codex, app-server stdout protocol ' +
|
|
268
|
+
'frames) — NOT the clean result, which comes from get_task / ' +
|
|
269
|
+
'pull_result / await_completion. Streams are empty until the worker has ' +
|
|
270
|
+
'run.',
|
|
271
|
+
inputSchema: {
|
|
272
|
+
type: 'object',
|
|
273
|
+
additionalProperties: false,
|
|
274
|
+
properties: {
|
|
275
|
+
task_id: { type: 'string' },
|
|
276
|
+
max_bytes: {
|
|
277
|
+
type: 'number',
|
|
278
|
+
description: 'Bytes to return per stream (tail). Defaults to 16384; capped at ' +
|
|
279
|
+
'131072.',
|
|
280
|
+
},
|
|
281
|
+
stream: {
|
|
282
|
+
type: 'string',
|
|
283
|
+
enum: ['stdout', 'stderr'],
|
|
284
|
+
description: 'Restrict to one stream; default returns all available.',
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
required: ['task_id'],
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: 'get_capabilities',
|
|
292
|
+
description: 'List server and runtime TeamMate capabilities (read-only). Each ' +
|
|
293
|
+
'provider reports whether worker execution is available and its modes; ' +
|
|
294
|
+
'the builtin:codex (steer) and builtin:claude-code (single-turn, ' +
|
|
295
|
+
'steer:false) workers are available by default, while a runtime without ' +
|
|
296
|
+
'a worker (or an explicitly empty catalog) reports it unavailable.',
|
|
297
|
+
inputSchema: { type: 'object', additionalProperties: false, properties: {} },
|
|
298
|
+
},
|
|
121
299
|
{
|
|
122
300
|
name: 'list_tasks',
|
|
123
301
|
description: 'List this dispatcher\'s TeamMate tasks and their statuses (no result bodies).',
|
|
@@ -162,6 +340,36 @@ async function callTool(params, ctx) {
|
|
|
162
340
|
...scheduleArgs(call.arguments),
|
|
163
341
|
}, ctx.socketPath, 'schedule');
|
|
164
342
|
}
|
|
343
|
+
if (call.name === 'run_task') {
|
|
344
|
+
return forwardToolCall('mcp.teammate.run', {
|
|
345
|
+
dispatcher_id: ctx.dispatcherId,
|
|
346
|
+
caller_kind: ctx.callerKind,
|
|
347
|
+
...runArgs(call.arguments),
|
|
348
|
+
}, ctx.socketPath, 'run_task');
|
|
349
|
+
}
|
|
350
|
+
if (call.name === 'execute_task') {
|
|
351
|
+
return forwardToolCall('mcp.teammate.execute', { dispatcher_id: ctx.dispatcherId, ...executeArgs(call.arguments) }, ctx.socketPath, 'execute_task');
|
|
352
|
+
}
|
|
353
|
+
if (call.name === 'send_input') {
|
|
354
|
+
return forwardToolCall('mcp.teammate.send_input', { dispatcher_id: ctx.dispatcherId, ...sendInputArgs(call.arguments) }, ctx.socketPath, 'send_input');
|
|
355
|
+
}
|
|
356
|
+
if (call.name === 'await_completion') {
|
|
357
|
+
const args = awaitArgs(call.arguments);
|
|
358
|
+
// Hold the admin connection open longer than the bounded server wait so a
|
|
359
|
+
// timeout returns a structured still_running result rather than dying as a
|
|
360
|
+
// client transport timeout (issue #126).
|
|
361
|
+
const clientTimeoutMs = clampWaitTimeout(typeof args['timeout_ms'] === 'number' ? args['timeout_ms'] : undefined) + TEAMMATE_WAIT_CLIENT_BUFFER_MS;
|
|
362
|
+
return forwardToolCall('mcp.teammate.await', { dispatcher_id: ctx.dispatcherId, ...args }, ctx.socketPath, 'await_completion', clientTimeoutMs);
|
|
363
|
+
}
|
|
364
|
+
if (call.name === 'cancel_task') {
|
|
365
|
+
return forwardToolCall('mcp.teammate.cancel', { dispatcher_id: ctx.dispatcherId, ...cancelArgs(call.arguments) }, ctx.socketPath, 'cancel_task');
|
|
366
|
+
}
|
|
367
|
+
if (call.name === 'get_task_logs') {
|
|
368
|
+
return forwardToolCall('mcp.teammate.logs', { dispatcher_id: ctx.dispatcherId, ...logsArgs(call.arguments) }, ctx.socketPath, 'get_task_logs');
|
|
369
|
+
}
|
|
370
|
+
if (call.name === 'get_capabilities') {
|
|
371
|
+
return forwardToolCall('mcp.teammate.capabilities', { dispatcher_id: ctx.dispatcherId }, ctx.socketPath, 'get_capabilities');
|
|
372
|
+
}
|
|
165
373
|
if (call.name === 'list_tasks') {
|
|
166
374
|
return forwardToolCall('mcp.teammate.list', { dispatcher_id: ctx.dispatcherId }, ctx.socketPath, 'list_tasks');
|
|
167
375
|
}
|
|
@@ -187,9 +395,12 @@ function negotiateProtocolVersion(params) {
|
|
|
187
395
|
}
|
|
188
396
|
return DEFAULT_MCP_PROTOCOL_VERSION;
|
|
189
397
|
}
|
|
190
|
-
async function forwardToolCall(method, params, socketPath, label) {
|
|
398
|
+
async function forwardToolCall(method, params, socketPath, label, timeoutMs) {
|
|
191
399
|
try {
|
|
192
|
-
const result = await sendAdminRequest(method, params, {
|
|
400
|
+
const result = await sendAdminRequest(method, params, {
|
|
401
|
+
socketPath,
|
|
402
|
+
...(timeoutMs !== undefined ? { timeoutMs } : {}),
|
|
403
|
+
});
|
|
193
404
|
return {
|
|
194
405
|
content: [{ type: 'text', text: `${label} forwarded to dreamux serve` }],
|
|
195
406
|
structuredContent: result,
|
|
@@ -229,6 +440,96 @@ function pullArgs(value) {
|
|
|
229
440
|
const taskId = optionalString(obj, 'task_id');
|
|
230
441
|
return taskId !== null ? { task_id: taskId } : {};
|
|
231
442
|
}
|
|
443
|
+
function runArgs(value) {
|
|
444
|
+
const obj = asRecord(value, 'run_task arguments');
|
|
445
|
+
const target = asRecord(obj['target'], 'run_task target');
|
|
446
|
+
const teammateId = optionalString(obj, 'teammate_id');
|
|
447
|
+
const intent = optionalString(obj, 'intent');
|
|
448
|
+
const targetMode = optionalString(obj, 'target_mode');
|
|
449
|
+
const providerRef = optionalString(obj, 'provider_ref');
|
|
450
|
+
const operationId = optionalString(obj, 'operation_id');
|
|
451
|
+
return {
|
|
452
|
+
title: requireString(obj, 'title'),
|
|
453
|
+
prompt: requireString(obj, 'prompt'),
|
|
454
|
+
target_path: requireString(target, 'path'),
|
|
455
|
+
...(teammateId !== null ? { teammate_id: teammateId } : {}),
|
|
456
|
+
...(intent !== null ? { intent } : {}),
|
|
457
|
+
...(targetMode !== null ? { target_mode: targetMode } : {}),
|
|
458
|
+
...(providerRef !== null ? { provider_ref: providerRef } : {}),
|
|
459
|
+
...(operationId !== null ? { operation_id: operationId } : {}),
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
function executeArgs(value) {
|
|
463
|
+
const obj = asRecord(value, 'execute_task arguments');
|
|
464
|
+
const providerRef = optionalString(obj, 'provider_ref');
|
|
465
|
+
const targetMode = optionalString(obj, 'target_mode');
|
|
466
|
+
const operationId = optionalString(obj, 'operation_id');
|
|
467
|
+
return {
|
|
468
|
+
task_id: requireString(obj, 'task_id'),
|
|
469
|
+
...(providerRef !== null ? { provider_ref: providerRef } : {}),
|
|
470
|
+
...(targetMode !== null ? { target_mode: targetMode } : {}),
|
|
471
|
+
...(operationId !== null ? { operation_id: operationId } : {}),
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
function sendInputArgs(value) {
|
|
475
|
+
const obj = asRecord(value, 'send_input arguments');
|
|
476
|
+
const mode = optionalString(obj, 'mode');
|
|
477
|
+
const operationId = optionalString(obj, 'operation_id');
|
|
478
|
+
return {
|
|
479
|
+
task_id: requireString(obj, 'task_id'),
|
|
480
|
+
prompt: requireString(obj, 'prompt'),
|
|
481
|
+
...(mode !== null ? { mode } : {}),
|
|
482
|
+
...(operationId !== null ? { operation_id: operationId } : {}),
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
function cancelArgs(value) {
|
|
486
|
+
const obj = asRecord(value, 'cancel_task arguments');
|
|
487
|
+
const note = optionalString(obj, 'note');
|
|
488
|
+
return {
|
|
489
|
+
task_id: requireString(obj, 'task_id'),
|
|
490
|
+
...(note !== null ? { note } : {}),
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
function logsArgs(value) {
|
|
494
|
+
const obj = asRecord(value, 'get_task_logs arguments');
|
|
495
|
+
const maxBytes = optionalNumber(obj, 'max_bytes');
|
|
496
|
+
const stream = optionalString(obj, 'stream');
|
|
497
|
+
return {
|
|
498
|
+
task_id: requireString(obj, 'task_id'),
|
|
499
|
+
...(maxBytes !== null ? { max_bytes: maxBytes } : {}),
|
|
500
|
+
...(stream !== null ? { stream } : {}),
|
|
501
|
+
};
|
|
502
|
+
}
|
|
503
|
+
function awaitArgs(value) {
|
|
504
|
+
const obj = asRecord(value, 'await_completion arguments');
|
|
505
|
+
const afterEventId = optionalNumber(obj, 'after_event_id');
|
|
506
|
+
const until = optionalStringArray(obj, 'until');
|
|
507
|
+
const timeoutMs = optionalNumber(obj, 'timeout_ms');
|
|
508
|
+
return {
|
|
509
|
+
task_id: requireString(obj, 'task_id'),
|
|
510
|
+
...(afterEventId !== null ? { after_event_id: afterEventId } : {}),
|
|
511
|
+
...(until !== null ? { until } : {}),
|
|
512
|
+
...(timeoutMs !== null ? { timeout_ms: timeoutMs } : {}),
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
function optionalNumber(obj, key) {
|
|
516
|
+
const value = obj[key];
|
|
517
|
+
if (value === undefined || value === null)
|
|
518
|
+
return null;
|
|
519
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
520
|
+
throw new Error(`${key} must be a finite number`);
|
|
521
|
+
}
|
|
522
|
+
return value;
|
|
523
|
+
}
|
|
524
|
+
function optionalStringArray(obj, key) {
|
|
525
|
+
const value = obj[key];
|
|
526
|
+
if (value === undefined || value === null)
|
|
527
|
+
return null;
|
|
528
|
+
if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
|
|
529
|
+
throw new Error(`${key} must be an array of strings`);
|
|
530
|
+
}
|
|
531
|
+
return value;
|
|
532
|
+
}
|
|
232
533
|
function asRecord(value, label) {
|
|
233
534
|
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
234
535
|
throw new Error(`${label} must be an object`);
|