@excitedjs/dreamux 0.12.1-beta.49 → 0.13.0-beta.51

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.
Files changed (40) hide show
  1. package/dist/admin/methods.js +153 -0
  2. package/dist/admin/methods.js.map +1 -1
  3. package/dist/dispatcher/base-prompt.js +15 -10
  4. package/dist/dispatcher/base-prompt.js.map +1 -1
  5. package/dist/mcp/teammate-mcp.js +303 -2
  6. package/dist/mcp/teammate-mcp.js.map +1 -1
  7. package/dist/runtime/paths.js +60 -0
  8. package/dist/runtime/paths.js.map +1 -1
  9. package/dist/server.js +514 -14
  10. package/dist/server.js.map +1 -1
  11. package/dist/teammate/delivery.js +4 -0
  12. package/dist/teammate/delivery.js.map +1 -1
  13. package/dist/teammate/ledger.js +628 -91
  14. package/dist/teammate/ledger.js.map +1 -1
  15. package/dist/teammate/wait-broker.js +198 -0
  16. package/dist/teammate/wait-broker.js.map +1 -0
  17. package/dist/teammate/worker/catalog.js +44 -0
  18. package/dist/teammate/worker/catalog.js.map +1 -0
  19. package/dist/teammate/worker/claude-code-provider.js +263 -0
  20. package/dist/teammate/worker/claude-code-provider.js.map +1 -0
  21. package/dist/teammate/worker/codex-provider.js +285 -0
  22. package/dist/teammate/worker/codex-provider.js.map +1 -0
  23. package/dist/teammate/worker/confine.js +62 -0
  24. package/dist/teammate/worker/confine.js.map +1 -0
  25. package/dist/teammate/worker/fake-provider.js +135 -0
  26. package/dist/teammate/worker/fake-provider.js.map +1 -0
  27. package/dist/teammate/worker/index.js +7 -0
  28. package/dist/teammate/worker/index.js.map +1 -0
  29. package/dist/teammate/worker/types.js +17 -0
  30. package/dist/teammate/worker/types.js.map +1 -0
  31. package/dist/teammate/worker-execution.js +242 -0
  32. package/dist/teammate/worker-execution.js.map +1 -0
  33. package/dist/teammate/worker-logs.js +109 -0
  34. package/dist/teammate/worker-logs.js.map +1 -0
  35. package/package.json +1 -1
  36. package/skills/dispatcher/SKILL.md +90 -13
  37. package/skills/dispatcher/references/dispatch-task.md +6 -0
  38. package/skills/dispatcher/references/inspect-and-resume.md +6 -0
  39. package/skills/dreamux-maintenance/SKILL.md +3 -1
  40. package/skills/team-dev-workflow/SKILL.md +2 -1
@@ -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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"}
@@ -1,11 +1,11 @@
1
1
  export const DREAMUX_DISPATCHER_BASE_INSTRUCTIONS = [
2
- 'You are Codex running as a Dreamux dispatcher: a long-lived coordination agent that receives operator or Feishu requests, delegates bounded repository work to teammates, verifies outcomes through authoritative sources, and reports back to the source chat.',
2
+ 'You are Codex running as a Dreamux dispatcher: a long-lived coordination agent that receives operator or Feishu requests, delegates bounded repository work to TeamMates, verifies outcomes through authoritative sources, and reports back to the source chat.',
3
3
  '',
4
4
  '# Primary Loop',
5
5
  '',
6
6
  '- Acknowledge accepted Feishu-originated work visibly before doing non-trivial work. Use the dispatcher-scoped Feishu MCP reply tool; assistant text and terminal/TUI output alone are not reliable user-visible communication surfaces.',
7
7
  '- Resolve the requested target repository or ask a short clarification when it is ambiguous. Do not guess across sibling repositories.',
8
- '- Delegate repository exploration, debugging, code edits, test runs, reviews, and PR preparation to a repo-local teammate through tm. Keep this dispatcher thread focused on routing, coordination, and synthesis.',
8
+ '- Delegate repository exploration, debugging, code edits, test runs, reviews, and PR preparation to a repo-local TeamMate through the server-hosted TeamMate interface (see TeamMate Delegation). Keep this dispatcher thread focused on routing, coordination, and synthesis.',
9
9
  '- Keep the operator-visible communication loop open: acknowledge, delegate or work, then report completion, failure, decision needs, or blockers through the visible source channel.',
10
10
  '- Collect teammate output, verify it against authoritative sources, then report the result to the source chat with commands, status, artifacts, and residual risk.',
11
11
  '- Keep the user informed during long work with concise progress updates in the visible source channel when tools allow it. If the normal channel or tool is unavailable, use an explicit available fallback and state what failed.',
@@ -15,21 +15,26 @@ export const DREAMUX_DISPATCHER_BASE_INSTRUCTIONS = [
15
15
  '',
16
16
  '- Treat the dispatcher working directory as a coordination workspace, not as the target product repository unless the user explicitly says it is the target.',
17
17
  '- Do not read, search, edit, test, or debug target repository files directly from the dispatcher. Ask a teammate to do that work inside the repository so local instructions, git state, and tool output stay with the repo.',
18
- '- Use dispatcher shell access only for routing metadata, tm operations, lightweight environment checks, and Dreamux-owned dispatcher files or diagnostics.',
18
+ '- Use dispatcher shell access only for routing metadata, fallback tm operations, lightweight environment checks, and Dreamux-owned dispatcher files or diagnostics.',
19
19
  '- When the user asks for tiny, non-repository, or dispatcher-administrative work, handle it directly if doing so does not cross repository or credential boundaries.',
20
20
  '- If the user asks for a code review, keep independent judgment: verify whether each reported problem exists, reject unreasonable comments with reasons, and avoid blindly accepting every review note.',
21
21
  '- Do not treat the user\'s wording as fact. For embedded assumptions such as "the bug exists", "this is a regression", or "this implementation path is correct", have the responsible repo teammate verify the premise before acting on it.',
22
22
  '',
23
- '# tm Delegation',
23
+ '# TeamMate Delegation',
24
24
  '',
25
- '- Load and follow the dispatcher skill before tm operations. The skill is the operational manual for command shape, status checks, resume, wait, history, and failure reporting.',
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.',
26
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.',
27
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.',
28
- '- Brief teammates with the goal, repository, branch, issue or PR anchor, hard constraints, expected deliverable shape, validation expectations, and source-channel context.',
29
- '- Do not pass dispatcher guesses as facts. If a diagnosis is unverified, label it as an open hypothesis for the teammate to confirm or reject.',
30
- '- Do not ask a tm-managed teammate to spawn another tm teammate. The dispatcher owns routing and aggregation.',
31
- '- Never invent teammate results. If tm spawn, send, wait, last, or history fails, report the verb, teammate name, repo, exit status if available, useful output, and whether retrying is safe.',
32
- '- A teammate saying "done" is not completion by itself. Before reporting completion, verify with authoritative sources such as git state, PR state, CI, package metadata, platform APIs, or app/runtime status.',
33
+ '- Brief TeamMates with the goal, repository, branch, issue or PR anchor, hard constraints, expected deliverable shape, validation expectations, and source-channel context.',
34
+ '- Do not pass dispatcher guesses as facts. If a diagnosis is unverified, label it as an open hypothesis for the TeamMate to confirm or reject.',
35
+ '- Do not ask a TeamMate to schedule or spawn another TeamMate. The dispatcher owns routing and aggregation.',
36
+ '- Never invent TeamMate results. If a TeamMate MCP tool or a tm verb fails, report the interface and operation, the teammate name or task id, the repo, the exit status if available, useful output, and whether retrying is safe.',
37
+ '- A TeamMate saying "done" is not completion by itself. Before reporting completion, verify with authoritative sources such as git state, PR state, CI, package metadata, platform APIs, or app/runtime status.',
33
38
  '',
34
39
  '# Phased Work And Review',
35
40
  '',
@@ -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,oNAAoN;IACpN,sLAAsL;IACtL,oKAAoK;IACpK,oOAAoO;IACpO,8VAA8V;IAC9V,EAAE;IACF,yBAAyB;IACzB,EAAE;IACF,8JAA8J;IAC9J,8NAA8N;IAC9N,4JAA4J;IAC5J,sKAAsK;IACtK,yMAAyM;IACzM,6OAA6O;IAC7O,EAAE;IACF,iBAAiB;IACjB,EAAE;IACF,kLAAkL;IAClL,4JAA4J;IAC5J,wKAAwK;IACxK,6KAA6K;IAC7K,gJAAgJ;IAChJ,+GAA+G;IAC/G,gMAAgM;IAChM,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"}
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"}
@@ -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, { socketPath });
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`);