taskflow-mcp-core 0.2.1 → 0.2.3

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 CHANGED
@@ -131,7 +131,7 @@ Save it as `.pi/taskflows/audit-api.json`, then run:
131
131
  /tf:audit-api dir=src/api
132
132
  ```
133
133
 
134
- On Codex, Claude Code, OpenCode, and Grok Build, run the same saved definition by name through `taskflow_run`.
134
+ On Codex, Claude Code, OpenCode, and Grok Build, run the same saved definition by name through `taskflow_run`. For long DAGs, use `mode: "background"`, then manage the durable run with `taskflow_runs` (`list` / `status` / `wait` / `cancel`); list output reports active concurrency and can filter `running` or `terminal` runs.
135
135
 
136
136
  [Follow the full quickstart →](https://heggria.github.io/taskflow/en/docs/getting-started)
137
137
 
@@ -200,7 +200,7 @@ FlowIR canonicalizes the graph and gives it a content hash. That compiled identi
200
200
  |---|---|---:|
201
201
  | `verify` / `compile` | Is the graph structurally safe to run? | **0** |
202
202
  | `ir` | What is the canonical graph and content hash? | **0** |
203
- | `resume` | What unfinished work remains? | Only unfinished phases |
203
+ | `resume` | What unfinished work remains? (forks a new run; original untouched) | Only unfinished phases |
204
204
  | `trace` | What calls and runtime decisions actually happened? | **0** to inspect |
205
205
  | `replay` | What if thresholds or budgets had been different? | **0** |
206
206
  | `why-stale` | What changed, and what depends on it? | **0** |
@@ -315,7 +315,7 @@ claude plugin install claude-taskflow@taskflow
315
315
 
316
316
  ```bash
317
317
  opencode mcp add taskflow -- \
318
- npx -y -p opencode-taskflow@0.2.1 opencode-taskflow-mcp
318
+ npx -y -p opencode-taskflow@0.2.3 opencode-taskflow-mcp
319
319
  ```
320
320
 
321
321
  [OpenCode guide →](https://heggria.github.io/taskflow/en/docs/guides/opencode)
@@ -324,7 +324,7 @@ opencode mcp add taskflow -- \
324
324
 
325
325
  ```bash
326
326
  grok mcp add taskflow -- \
327
- npx -y -p grok-taskflow@0.2.1 grok-taskflow-mcp
327
+ npx -y -p grok-taskflow@0.2.3 grok-taskflow-mcp
328
328
  ```
329
329
 
330
330
  Grok Build support is new in 0.2. Its CLI stream does not report token/cost usage, so budget-declaring flows are rejected rather than silently running without enforcement.
@@ -365,6 +365,7 @@ The test suite covers orchestration semantics, persistence and file-lock races,
365
365
  | [Host Guides](https://heggria.github.io/taskflow/en/docs/guides/) | Pi, Codex, Claude Code, OpenCode, and Grok setup |
366
366
  | [Reference](https://heggria.github.io/taskflow/en/docs/reference/) | Commands, shorthand, and exact tool surfaces |
367
367
  | [Showcase](https://heggria.github.io/taskflow/en/docs/showcase/) | Real flows and case studies |
368
+ | [0.2.0 Frontier Assessment](https://github.com/heggria/taskflow/blob/main/docs/taskflow-0.2.0-frontier-assessment.zh-CN.md) | Independent, evidence-based technical assessment (Chinese) |
368
369
 
369
370
  Also see [`examples/`](https://github.com/heggria/taskflow/blob/main/examples), the [changelog](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md), and the [release guide](https://github.com/heggria/taskflow/blob/main/RELEASE.md).
370
371
 
@@ -0,0 +1,46 @@
1
+ /** Host-neutral detached launch + lifecycle helpers for MCP adapters. */
2
+ import { type AgentConfig, type AgentScope, type DetachedCancelRequest, type RunState } from "taskflow-core";
3
+ export interface DetachedRunnerBinding {
4
+ /** Resolved file URL/path of a module exporting the host SubagentRunner. */
5
+ module: string;
6
+ exportName: string;
7
+ }
8
+ export interface BackgroundLaunchOptions {
9
+ state: RunState;
10
+ runner: DetachedRunnerBinding;
11
+ incremental?: boolean;
12
+ reusedSavedName?: string;
13
+ agents: AgentConfig[];
14
+ globalThinking?: string;
15
+ agentScope: AgentScope;
16
+ maxKeptRuns: number;
17
+ maxRunAgeDays: number;
18
+ }
19
+ export declare const BACKGROUND_RUN_WARNING_THRESHOLD = 5;
20
+ export type BackgroundRunFilter = "all" | "running" | "terminal";
21
+ export interface BackgroundRunList {
22
+ runs: RunState[];
23
+ activeCount: number;
24
+ totalCount: number;
25
+ }
26
+ /**
27
+ * Spawn the shared core detached runner and release it only after pid metadata
28
+ * is durably persisted, preventing a fast child from being overwritten by a
29
+ * stale parent-side `running` save.
30
+ */
31
+ export declare function launchMcpBackgroundRun(options: BackgroundLaunchOptions): {
32
+ pid: number;
33
+ };
34
+ /** Refresh a detached run and terminalize an orphaned process. */
35
+ export declare function refreshDetachedRun(cwd: string, runId: string): RunState | null;
36
+ export declare function cancelMcpBackgroundRun(cwd: string, runId: string, reason?: string): DetachedCancelRequest;
37
+ export declare function waitForMcpBackgroundRun(cwd: string, runId: string, timeoutMs: number, signal?: AbortSignal): Promise<RunState | null>;
38
+ /**
39
+ * Read the project-backed background roster, refreshing orphaned processes
40
+ * before filtering. The active count is always computed from the full roster,
41
+ * so a filtered/limited list still reports total contention.
42
+ */
43
+ export declare function listMcpBackgroundRuns(cwd: string, limit: number, filter?: BackgroundRunFilter): BackgroundRunList;
44
+ /** Compact, plaintext MCP presentation shared by list/status/wait/cancel. */
45
+ export declare function formatBackgroundRun(state: RunState, includeOutput: boolean): string;
46
+ //# sourceMappingURL=background.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/mcp/background.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAQzE,OAAO,EAeN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACrC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACtB;AAOD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAmCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAgFxF;AAuFD,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAG9E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAEzG;AAED,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQ1B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,mBAA2B,GACjC,iBAAiB,CAcnB;AAqBD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAkBnF"}
@@ -0,0 +1,292 @@
1
+ /** Host-neutral detached launch + lifecycle helpers for MCP adapters. */
2
+ import { spawn } from "node:child_process";
3
+ import { randomUUID } from "node:crypto";
4
+ import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
5
+ import { tmpdir } from "node:os";
6
+ import { join } from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ import { clearDetachedCancelRequest, clearDetachedProcessRegistry, directoryIdentity, DETACHED_CONTROL_VERSION, isProcessAlive, killProcessTree, listRuns, loadRun, probeProcess, readDetachedCancelRequest, readDetachedProcessRegistry, requestDetachedCancel, saveRun, terminateDetachedProcessTrees, } from "taskflow-core";
9
+ const STARTING_GRACE_MS = 5_000;
10
+ const WAIT_POLL_MS = 100;
11
+ const HEARTBEAT_STALE_MS = 30_000;
12
+ const MAX_PRESENTED_OUTPUT_CHARS = 50_000;
13
+ export const BACKGROUND_RUN_WARNING_THRESHOLD = 5;
14
+ function markDetachedFailure(state, message) {
15
+ state.status = "failed";
16
+ if (!state.phases || typeof state.phases !== "object")
17
+ state.phases = {};
18
+ state.phases["__detach__"] = {
19
+ id: "__detach__",
20
+ status: "failed",
21
+ endedAt: Date.now(),
22
+ error: message.slice(0, 2_000),
23
+ };
24
+ saveRun(state, state.detachedRetention);
25
+ return state;
26
+ }
27
+ function markDetachedExit(cwd, runId, pid, message) {
28
+ try {
29
+ const state = loadRun(cwd, runId);
30
+ if (state?.status === "running" && state.pid === pid) {
31
+ if (state.detachedInstanceId) {
32
+ terminateDetachedProcessTrees(state.cwd, state.runId, state.detachedInstanceId);
33
+ clearDetachedProcessRegistry(state.cwd, state.runId, state.detachedInstanceId);
34
+ }
35
+ markDetachedFailure(state, message);
36
+ }
37
+ }
38
+ catch {
39
+ /* best-effort crash guard */
40
+ }
41
+ }
42
+ function detachedNodeArgs(runnerScript) {
43
+ if (!runnerScript.endsWith(".ts"))
44
+ return [];
45
+ return ["--conditions=development", "--experimental-strip-types"];
46
+ }
47
+ /**
48
+ * Spawn the shared core detached runner and release it only after pid metadata
49
+ * is durably persisted, preventing a fast child from being overwritten by a
50
+ * stale parent-side `running` save.
51
+ */
52
+ export function launchMcpBackgroundRun(options) {
53
+ const { state } = options;
54
+ // A run id should be unique, but clearing first makes relaunch/recovery safe
55
+ // if an operator deliberately reuses a stored state in tests or tooling.
56
+ clearDetachedCancelRequest(state.cwd, state.runId);
57
+ state.detached = true;
58
+ state.detachedStartedAt = Date.now();
59
+ state.detachedControlVersion = DETACHED_CONTROL_VERSION;
60
+ state.detachedInstanceId = randomUUID();
61
+ state.detachedRetention = {
62
+ maxKeep: options.maxKeptRuns,
63
+ maxAgeDays: options.maxRunAgeDays,
64
+ };
65
+ let tempDir;
66
+ let child;
67
+ try {
68
+ saveRun(state, { maxKeep: options.maxKeptRuns, maxAgeDays: options.maxRunAgeDays });
69
+ tempDir = mkdtempSync(join(tmpdir(), "taskflow-detach-"));
70
+ chmodSync(tempDir, 0o700);
71
+ const contextPath = join(tempDir, "context.json");
72
+ const startPath = join(tempDir, "start");
73
+ writeFileSync(contextPath, JSON.stringify({
74
+ runId: state.runId,
75
+ defName: state.flowName,
76
+ args: state.args,
77
+ cwd: state.cwd,
78
+ runnerModule: options.runner.module,
79
+ runnerExport: options.runner.exportName,
80
+ waitForStart: true,
81
+ incremental: options.incremental === true,
82
+ reusedSavedName: options.reusedSavedName,
83
+ agents: options.agents,
84
+ globalThinking: options.globalThinking,
85
+ agentScope: options.agentScope,
86
+ maxKeptRuns: options.maxKeptRuns,
87
+ maxRunAgeDays: options.maxRunAgeDays,
88
+ detachedInstanceId: state.detachedInstanceId,
89
+ }), { encoding: "utf8", flag: "wx", mode: 0o600 });
90
+ const runnerScript = fileURLToPath(import.meta.resolve("taskflow-core/detached-runner"));
91
+ child = spawn(process.execPath, [...detachedNodeArgs(runnerScript), runnerScript, contextPath], {
92
+ cwd: state.cwd,
93
+ detached: true,
94
+ stdio: "ignore",
95
+ env: { ...process.env, TASKFLOW_DETACHED_RUNNER: "1" },
96
+ });
97
+ const pid = child.pid;
98
+ if (typeof pid !== "number")
99
+ throw new Error("Detached runner did not report a pid");
100
+ child.once("error", (error) => {
101
+ markDetachedExit(state.cwd, state.runId, pid, `Failed to spawn detached runner: ${error.message}`);
102
+ if (tempDir)
103
+ try {
104
+ rmSync(tempDir, { recursive: true, force: true });
105
+ }
106
+ catch { /* best-effort */ }
107
+ });
108
+ child.once("exit", (code, signal) => {
109
+ if (tempDir)
110
+ try {
111
+ rmSync(tempDir, { recursive: true, force: true });
112
+ }
113
+ catch { /* child consumed it */ }
114
+ if (code === 0)
115
+ return;
116
+ markDetachedExit(state.cwd, state.runId, pid, `Detached runner exited before completing (code ${code ?? "null"}, signal ${signal ?? "none"}).`);
117
+ });
118
+ state.pid = pid;
119
+ saveRun(state, { maxKeep: options.maxKeptRuns, maxAgeDays: options.maxRunAgeDays });
120
+ writeFileSync(startPath, "start\n", { encoding: "utf8", flag: "wx", mode: 0o600 });
121
+ child.unref();
122
+ return { pid };
123
+ }
124
+ catch (error) {
125
+ if (child?.pid)
126
+ killProcessTree(child.pid, "SIGKILL", child);
127
+ if (tempDir)
128
+ try {
129
+ rmSync(tempDir, { recursive: true, force: true });
130
+ }
131
+ catch { /* best-effort */ }
132
+ const message = error instanceof Error ? error.message : String(error);
133
+ try {
134
+ markDetachedFailure(state, `Failed to launch detached runner: ${message}`);
135
+ }
136
+ catch { /* preserve launch cause */ }
137
+ throw error;
138
+ }
139
+ }
140
+ function sameInvocationRoot(state, cwd) {
141
+ const current = directoryIdentity(cwd);
142
+ const owner = state.invocationRootSnapshot ?? directoryIdentity(state.cwd);
143
+ return Boolean(current && owner &&
144
+ current.canonicalPath === owner.canonicalPath &&
145
+ current.device === owner.device &&
146
+ current.inode === owner.inode);
147
+ }
148
+ function isStructurallyUsableRun(state) {
149
+ return Boolean(state && typeof state === "object" &&
150
+ typeof state.runId === "string" && typeof state.cwd === "string" &&
151
+ state.def && Array.isArray(state.def.phases) &&
152
+ state.def.phases.every((phase) => phase && typeof phase === "object" && typeof phase.id === "string") &&
153
+ state.phases && typeof state.phases === "object" && !Array.isArray(state.phases) &&
154
+ Object.values(state.phases).every((phase) => phase && typeof phase === "object" && typeof phase.status === "string") &&
155
+ ["running", "completed", "failed", "paused", "blocked"].includes(state.status));
156
+ }
157
+ function refreshDetachedState(cwd, state) {
158
+ if (!isStructurallyUsableRun(state) || !sameInvocationRoot(state, cwd))
159
+ return null;
160
+ if (state.status !== "running" || !state.detached)
161
+ return state;
162
+ const cancel = readDetachedCancelRequest(state.cwd, state.runId);
163
+ if (typeof state.pid === "number") {
164
+ const liveness = probeProcess(state.pid);
165
+ if (state.detachedControlVersion === DETACHED_CONTROL_VERSION && state.detachedInstanceId) {
166
+ const registry = readDetachedProcessRegistry(state.cwd, state.runId);
167
+ const registryMatches = Boolean(registry && registry.instanceId === state.detachedInstanceId && registry.ownerPid === state.pid);
168
+ const heartbeatFresh = Boolean(registryMatches && registry && Date.now() - registry.heartbeatAt <= HEARTBEAT_STALE_MS);
169
+ if (liveness !== "dead" && heartbeatFresh)
170
+ return state;
171
+ if (liveness !== "dead" && !registry &&
172
+ Date.now() - (state.detachedStartedAt ?? state.createdAt) <= STARTING_GRACE_MS)
173
+ return state;
174
+ if (liveness === "alive" && registryMatches) {
175
+ // A live owner that stopped renewing its authenticated lease is stuck.
176
+ // Kill the owner before publishing a terminal state; otherwise it could
177
+ // resume later and mutate the workspace after status reported failure.
178
+ killProcessTree(state.pid, "SIGKILL");
179
+ terminateDetachedProcessTrees(state.cwd, state.runId, state.detachedInstanceId);
180
+ clearDetachedProcessRegistry(state.cwd, state.runId, state.detachedInstanceId);
181
+ }
182
+ else if (liveness === "dead") {
183
+ terminateDetachedProcessTrees(state.cwd, state.runId, state.detachedInstanceId);
184
+ clearDetachedProcessRegistry(state.cwd, state.runId, state.detachedInstanceId);
185
+ }
186
+ else {
187
+ // A live/EPERM pid without a matching instance lease cannot safely be
188
+ // signalled or terminalized: it may be an unrelated reused PID. Keep the
189
+ // state conservative until cancellation succeeds or liveness is proven.
190
+ return state;
191
+ }
192
+ }
193
+ else if (isProcessAlive(state.pid)) {
194
+ return state;
195
+ }
196
+ const fresh = loadRun(cwd, state.runId);
197
+ if (!fresh || fresh.status !== "running" || fresh.pid !== state.pid)
198
+ return fresh;
199
+ if (cancel) {
200
+ fresh.status = "paused";
201
+ fresh.detachedCancel = cancel;
202
+ fresh.phases["__detach__"] = {
203
+ id: "__detach__",
204
+ status: "skipped",
205
+ endedAt: Date.now(),
206
+ warnings: ["Cancellation requested; detached process exited before persisting its normal paused state."],
207
+ };
208
+ saveRun(fresh);
209
+ clearDetachedCancelRequest(fresh.cwd, fresh.runId);
210
+ return fresh;
211
+ }
212
+ return markDetachedFailure(fresh, "Detached runner process exited before persisting a terminal state.");
213
+ }
214
+ if (Date.now() - (state.detachedStartedAt ?? state.createdAt) <= STARTING_GRACE_MS)
215
+ return state;
216
+ return markDetachedFailure(state, "Detached runner never persisted a process id.");
217
+ }
218
+ /** Refresh a detached run and terminalize an orphaned process. */
219
+ export function refreshDetachedRun(cwd, runId) {
220
+ const state = loadRun(cwd, runId);
221
+ return state ? refreshDetachedState(cwd, state) : null;
222
+ }
223
+ export function cancelMcpBackgroundRun(cwd, runId, reason) {
224
+ return requestDetachedCancel(cwd, runId, reason);
225
+ }
226
+ export async function waitForMcpBackgroundRun(cwd, runId, timeoutMs, signal) {
227
+ const deadline = Date.now() + Math.max(0, timeoutMs);
228
+ let state = refreshDetachedRun(cwd, runId);
229
+ while (state?.status === "running" && Date.now() < deadline && !signal?.aborted) {
230
+ await new Promise((resolve) => setTimeout(resolve, Math.min(WAIT_POLL_MS, Math.max(1, deadline - Date.now()))));
231
+ state = refreshDetachedRun(cwd, runId);
232
+ }
233
+ return state;
234
+ }
235
+ /**
236
+ * Read the project-backed background roster, refreshing orphaned processes
237
+ * before filtering. The active count is always computed from the full roster,
238
+ * so a filtered/limited list still reports total contention.
239
+ */
240
+ export function listMcpBackgroundRuns(cwd, limit, filter = "all") {
241
+ const all = listRuns(cwd, Number.MAX_SAFE_INTEGER)
242
+ .filter((run) => isStructurallyUsableRun(run) && run.detached && sameInvocationRoot(run, cwd))
243
+ .map((run) => refreshDetachedState(cwd, run))
244
+ .filter((run) => run !== null);
245
+ const activeCount = all.filter((run) => run.status === "running").length;
246
+ const filtered = filter === "all"
247
+ ? all
248
+ : all.filter((run) => filter === "running" ? run.status === "running" : run.status !== "running");
249
+ return {
250
+ runs: filtered.slice(0, Math.max(0, limit)),
251
+ activeCount,
252
+ totalCount: all.length,
253
+ };
254
+ }
255
+ function phaseProgress(state) {
256
+ const total = state.def.phases.length;
257
+ const done = state.def.phases.filter((phase) => {
258
+ const stored = state.phases[phase.id];
259
+ return stored !== undefined && stored.status !== "running";
260
+ }).length;
261
+ return { done, total };
262
+ }
263
+ function statusGlyph(status) {
264
+ switch (status) {
265
+ case "completed": return "✓";
266
+ case "running": return "↻";
267
+ case "blocked": return "■";
268
+ case "paused": return "Ⅱ";
269
+ case "failed": return "✗";
270
+ }
271
+ }
272
+ /** Compact, plaintext MCP presentation shared by list/status/wait/cancel. */
273
+ export function formatBackgroundRun(state, includeOutput) {
274
+ const progress = phaseProgress(state);
275
+ const pid = typeof state.pid === "number" ? ` · pid ${state.pid}` : "";
276
+ const host = state.host ? ` · ${state.host}` : "";
277
+ const first = `${statusGlyph(state.status)} ${state.status} · ${state.flowName} · ${progress.done}/${progress.total} phases${pid}${host} · run ${state.runId} · cwd ${state.cwd}`;
278
+ if (!includeOutput || state.status === "running") {
279
+ const cancel = readDetachedCancelRequest(state.cwd, state.runId);
280
+ return cancel ? `${first} · cancellation requested` : first;
281
+ }
282
+ const source = state.outputSourcePhaseId ? `--- ${state.outputSourcePhaseId} ---\n` : "";
283
+ if (typeof state.finalOutput === "string") {
284
+ const truncated = state.finalOutput.length > MAX_PRESENTED_OUTPUT_CHARS
285
+ ? `${state.finalOutput.slice(0, MAX_PRESENTED_OUTPUT_CHARS)}\n\n… output truncated; use taskflow_peek for targeted inspection.`
286
+ : state.finalOutput;
287
+ return `${first}\n\n${source}${truncated}`;
288
+ }
289
+ const failure = Object.values(state.phases).find((phase) => phase.status === "failed" && phase.error)?.error;
290
+ return failure ? `${first}\n\n${failure}` : first;
291
+ }
292
+ //# sourceMappingURL=background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/mcp/background.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@
16
16
  *
17
17
  * Tools exposed:
18
18
  * - taskflow_run : run an inline or saved flow, return the final output
19
+ * - taskflow_runs : list/status/wait/cancel background runs
19
20
  * - taskflow_list : list saved flows discoverable in this cwd
20
21
  * - taskflow_show : show a saved flow's definition
21
22
  * - taskflow_verify : statically verify a flow (no execution)
@@ -27,9 +28,23 @@
27
28
  * - taskflow_save / taskflow_search
28
29
  */
29
30
  import { type RpcContext, type RpcHandler } from "./jsonrpc.ts";
31
+ import { type DetachedRunnerBinding } from "./background.ts";
30
32
  import { saveRun, type RunState, type TraceEvent } from "taskflow-core";
31
33
  import type { SubagentRunner, AgentConfig } from "taskflow-core";
32
34
  export declare function formatTraceJsonMcp(events: TraceEvent[], requested?: unknown): string;
35
+ /** Optional host-identity options for the MCP server (0.2.0 dogfood issue 4).
36
+ * `host` is the bound host identity (codex/claude/opencode/grok); it is
37
+ * stamped onto RunState.host and reported by `taskflow_version`. Defaults to
38
+ * `"taskflow"` when omitted so existing callers are unaffected. */
39
+ export interface McpHostOptions {
40
+ host?: string;
41
+ /** Resolvable host-runner module used by detached/background execution. */
42
+ detachedRunner?: DetachedRunnerBinding;
43
+ }
44
+ /** Stamp a freshly-created RunState with build/host identity (0.2.0 dogfood
45
+ * issue 4). Backward-compatible: only sets optional fields. Pure (mutates the
46
+ * passed state in place for convenience). */
47
+ export declare function stampRunIdentity(state: RunState, host?: string): void;
33
48
  export declare function persistTerminalRun(state: RunState, cleanupConfig: Parameters<typeof saveRun>[1], write?: typeof saveRun): string | undefined;
34
49
  /**
35
50
  * Build the per-call tool handlers. `cwd` is the directory the server was
@@ -37,9 +52,9 @@ export declare function persistTerminalRun(state: RunState, cleanupConfig: Param
37
52
  * run). `runner` is the host's SubagentRunner (codex/claude) — each phase's
38
53
  * subagent executes through it.
39
54
  */
40
- export declare function makeToolHandlers(cwd: string, runner: SubagentRunner<AgentConfig>): Record<string, (args: Record<string, unknown>, context?: RpcContext) => Promise<unknown>>;
55
+ export declare function makeToolHandlers(cwd: string, runner: SubagentRunner<AgentConfig>, opts?: McpHostOptions): Record<string, (args: Record<string, unknown>, context?: RpcContext) => Promise<unknown>>;
41
56
  /** Build the full MCP method dispatch table (protocol + tools). */
42
- export declare function makeMcpHandlers(cwd: string, runner: SubagentRunner<AgentConfig>): Record<string, RpcHandler>;
57
+ export declare function makeMcpHandlers(cwd: string, runner: SubagentRunner<AgentConfig>, opts?: McpHostOptions): Record<string, RpcHandler>;
43
58
  /** Start the stdio MCP server. Resolves when the client disconnects. */
44
- export declare function startMcpServer(runner: SubagentRunner<AgentConfig>, cwd?: string): Promise<void>;
59
+ export declare function startMcpServer(runner: SubagentRunner<AgentConfig>, cwd?: string, opts?: McpHostOptions): Promise<void>;
45
60
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAM3F,OAAO,EAON,OAAO,EAsBP,KAAK,QAAQ,EAGb,KAAK,UAAU,EAQf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAkNjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AAoXD,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,GAAE,OAAO,OAAiB,GAC7B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CA2V3F;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA8B5G;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9G"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EASN,KAAK,qBAAqB,EAC1B,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAON,OAAO,EAoBP,KAAK,QAAQ,EAGb,KAAK,UAAU,EAUf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA4NjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AAmZD;;;oEAGoE;AACpE,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED;;8CAE8C;AAC9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AAmBD,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,GAAE,OAAO,OAAiB,GAC7B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAihB3F;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA+BnI;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,GAAE,MAAsB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAErI"}
@@ -16,6 +16,7 @@
16
16
  *
17
17
  * Tools exposed:
18
18
  * - taskflow_run : run an inline or saved flow, return the final output
19
+ * - taskflow_runs : list/status/wait/cancel background runs
19
20
  * - taskflow_list : list saved flows discoverable in this cwd
20
21
  * - taskflow_show : show a saved flow's definition
21
22
  * - taskflow_verify : statically verify a flow (no execution)
@@ -28,15 +29,25 @@
28
29
  */
29
30
  import { RpcError, RPC, serveStdio } from "./jsonrpc.js";
30
31
  import { renderFlowSvg, renderFlowOutline, svgToBase64 } from "./svg.js";
32
+ import { BACKGROUND_RUN_WARNING_THRESHOLD, cancelMcpBackgroundRun, formatBackgroundRun, launchMcpBackgroundRun, listMcpBackgroundRuns, refreshDetachedRun, waitForMcpBackgroundRun, } from "./background.js";
31
33
  import { readFileSync, realpathSync } from "node:fs";
32
34
  import { basename, dirname, join, resolve, relative, isAbsolute } from "node:path";
33
35
  import { tmpdir } from "node:os";
34
36
  import { fileURLToPath } from "node:url";
35
- import { discoverAgents, executeTaskflow, getFlowDiagnosed, listFlows, newRunId, peekRun, saveRun, DEFAULT_KEPT_RUNS, DEFAULT_RUN_AGE_DAYS, readDefineFile, describeLoadFailure, compileTaskflow, verifyTaskflow, desugar, isShorthand, validateTaskflow, resolveArgs, cwdBridgeModeFromEnv, directoryIdentity, readSubagentSettings, readMeta, saveFlowWithMeta, bumpReuseInSidecar, deriveMeta, searchLibrary, replayRun, upgradeTraceEvent, reconcileResolveOnlyWorkspace, WORKSPACE_RECONCILE_ACKNOWLEDGEMENT, workspaceReconcileAllowedFromEnv, } from "taskflow-core";
37
+ import { discoverAgents, executeTaskflow, getFlowDiagnosed, listFlows, newRunId, peekRun, saveRun, readDefineFile, describeLoadFailure, compileTaskflow, verifyTaskflow, desugar, isShorthand, validateTaskflow, resolveArgs, cwdBridgeModeFromEnv, directoryIdentity, readSubagentSettings, readMeta, saveFlowWithMeta, bumpReuseInSidecar, deriveMeta, searchLibrary, replayRun, upgradeTraceEvent, reconcileResolveOnlyWorkspace, clearDetachedCancelRequest, DETACHED_CONTROL_VERSION, WORKSPACE_RECONCILE_ACKNOWLEDGEMENT, workspaceReconcileAllowedFromEnv, } from "taskflow-core";
38
+ import { getBuildInfo } from "taskflow-core";
39
+ import { forkRunForResume, validateResumeRequest } from "taskflow-core";
36
40
  import { runsDir, traceFilePath, FileTraceSink, readTrace, loadRunDiagnosed, readMapOf, declaredReadMapOfDef, formatWhyStale, recomputeTaskflow, } from "taskflow-core";
37
41
  const PROTOCOL_VERSION = "2025-06-18";
38
42
  const SERVER_VERSION = readServerVersion();
39
- const SERVER_INFO = { name: "taskflow", title: "Taskflow", version: SERVER_VERSION };
43
+ /** Build the MCP serverInfo, reflecting the bound host identity (0.2.0 dogfood
44
+ * issue 4). The base name is `taskflow`; when a host adapter binds its runner
45
+ * (codex/claude/opencode/grok), the name becomes `taskflow-<host>` so a
46
+ * client can tell which host is executing subagents. */
47
+ function serverInfoFor(host) {
48
+ const name = host && host !== "taskflow" ? `taskflow-${host}` : "taskflow";
49
+ return { name, title: "Taskflow", version: SERVER_VERSION };
50
+ }
40
51
  function readServerVersion() {
41
52
  try {
42
53
  const packageJsonPath = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "package.json");
@@ -50,7 +61,7 @@ function readServerVersion() {
50
61
  catch {
51
62
  // Keep the handshake available even in unusual embedded/bundled layouts.
52
63
  }
53
- return "0.2.1";
64
+ return getBuildInfo().packageVersion;
54
65
  }
55
66
  function validateToolValue(value, schema, path) {
56
67
  const errors = [];
@@ -345,7 +356,44 @@ const TOOLS = [
345
356
  args: { type: "object", description: "Invocation arguments interpolated as {args.X}." },
346
357
  incremental: { type: "boolean", description: "Default every phase to cross-run cache reuse." },
347
358
  reusedFromSearch: { type: "boolean", description: "Set true when this run was chosen because of a prior taskflow_search → bumps the flow's reuseCount (the reuse flywheel). Default false; direct run-by-name does not bump." },
359
+ mode: { type: "string", enum: ["foreground", "background"], description: "Execution mode. foreground (default) waits for the full DAG; background returns a runId immediately and continues even if the MCP request ends." },
360
+ },
361
+ },
362
+ },
363
+ {
364
+ name: "taskflow_runs",
365
+ title: "Manage background taskflow runs",
366
+ description: "List recent background runs, inspect one run, wait for completion without losing it when the MCP request ends, or request cancellation. Use after taskflow_run with mode:'background'.",
367
+ inputSchema: {
368
+ type: "object",
369
+ additionalProperties: false,
370
+ properties: {
371
+ action: { type: "string", enum: ["list", "status", "wait", "cancel"], description: "Lifecycle action." },
372
+ runId: { type: "string", description: "Required for status, wait, and cancel." },
373
+ timeoutMs: { type: "integer", description: "For wait: return after this many ms if still running (default 30000, max 300000)." },
374
+ limit: { type: "integer", description: "For list: maximum recent background runs (default 10, max 50)." },
375
+ status: { type: "string", enum: ["all", "running", "terminal"], description: "For list: show all runs (default), only active runs, or only terminal runs." },
376
+ reason: { type: "string", description: "For cancel: optional audit reason." },
377
+ },
378
+ required: ["action"],
379
+ },
380
+ },
381
+ {
382
+ name: "taskflow_resume",
383
+ title: "Resume a paused/failed run (forks a new run)",
384
+ description: "Resume a stored run by forking a NEW run (the original run file is never modified). The child carries parentRunId pointing at the original. Reusable completed phases are copied (cache hits); the target phase + its transitive downstream re-run. With no overrides, ordinary resume re-runs the non-done phases. With overrides (requires phaseId + at least one of task/model/timeout/idleTimeout), exactly one phase is re-run with the patched values applied to the child's def only.",
385
+ inputSchema: {
386
+ type: "object",
387
+ additionalProperties: false,
388
+ properties: {
389
+ runId: { type: "string", description: "The run to resume (from a prior taskflow_run)." },
390
+ phaseId: { type: "string", description: "Target phase to re-run with overrides (required when any override field is supplied)." },
391
+ task: { type: "string", description: "Override the target phase's task (requires phaseId). Applied to the forked child only — the parent is never modified." },
392
+ model: { type: "string", description: "Override the target phase's model (requires phaseId)." },
393
+ timeout: { type: "number", description: "Override the target phase's timeout in ms (>= 1000, requires phaseId)." },
394
+ idleTimeout: { type: "number", description: "Override the target phase's idleTimeout in ms (>= 1000 or 0 to disable, requires phaseId)." },
348
395
  },
396
+ required: ["runId"],
349
397
  },
350
398
  },
351
399
  {
@@ -532,6 +580,12 @@ const TOOLS = [
532
580
  required: ["query"],
533
581
  },
534
582
  },
583
+ {
584
+ name: "taskflow_version",
585
+ title: "Show taskflow build/host identity",
586
+ description: "Report the engine package version, the git commit the dist was built from, the bound host identity (codex/claude/opencode/grok), and the run-state schema version. Zero tokens, no execution. Use to verify which taskflow build a host is running.",
587
+ inputSchema: { type: "object", additionalProperties: false, properties: {} },
588
+ },
535
589
  ];
536
590
  /** Resolve a flow from params: inline `define` (desugared), `defineFile` (disk), or saved `name`. */
537
591
  function resolvePermittedDefineFile(cwd, requested) {
@@ -586,8 +640,19 @@ function resolveFlow(cwd, params) {
586
640
  }
587
641
  throw new RpcError(RPC.INVALID_PARAMS, "Provide either `name` (a saved flow) or `define` (an inline flow).");
588
642
  }
589
- function mkRunState(def, args, cwd) {
590
- return {
643
+ /** Stamp a freshly-created RunState with build/host identity (0.2.0 dogfood
644
+ * issue 4). Backward-compatible: only sets optional fields. Pure (mutates the
645
+ * passed state in place for convenience). */
646
+ export function stampRunIdentity(state, host) {
647
+ const info = getBuildInfo();
648
+ state.packageVersion = info.packageVersion;
649
+ state.gitCommit = info.gitCommit;
650
+ state.schemaVersion = info.schemaVersion;
651
+ if (host)
652
+ state.host = host;
653
+ }
654
+ function mkRunState(def, args, cwd, host) {
655
+ const state = {
591
656
  runId: newRunId(def.name ?? "flow"),
592
657
  flowName: def.name ?? "flow",
593
658
  def,
@@ -599,6 +664,8 @@ function mkRunState(def, args, cwd) {
599
664
  cwd,
600
665
  invocationRootSnapshot: directoryIdentity(cwd),
601
666
  };
667
+ stampRunIdentity(state, host);
668
+ return state;
602
669
  }
603
670
  export function persistTerminalRun(state, cleanupConfig, write = saveRun) {
604
671
  try {
@@ -615,7 +682,8 @@ export function persistTerminalRun(state, cleanupConfig, write = saveRun) {
615
682
  * run). `runner` is the host's SubagentRunner (codex/claude) — each phase's
616
683
  * subagent executes through it.
617
684
  */
618
- export function makeToolHandlers(cwd, runner) {
685
+ export function makeToolHandlers(cwd, runner, opts) {
686
+ const host = opts?.host;
619
687
  return {
620
688
  taskflow_run: async (args, context) => {
621
689
  const reusedSavedName = args.define === undefined && args.defineFile === undefined && typeof args.name === "string" && args.name.trim()
@@ -644,23 +712,65 @@ export function makeToolHandlers(cwd, runner) {
644
712
  // the same lookup the pi adapter does; without it every phase fails with
645
713
  // "Model metadata for {{fast}} not found".
646
714
  const settings = readSubagentSettings();
647
- const { agents } = discoverAgents(cwd, "both", settings.modelRoles, settings.taskflow);
715
+ const agentScope = def.agentScope ?? "both";
716
+ const { agents } = discoverAgents(cwd, agentScope, settings.modelRoles, settings.taskflow);
648
717
  const deps = {
649
718
  cwd,
650
719
  agents,
720
+ globalThinking: settings.globalThinking,
651
721
  runTask: runner.runTask,
652
722
  signal: context?.signal,
653
723
  usageAccounting,
654
724
  cwdBridgeMode: cwdBridgeModeFromEnv(),
725
+ loadFlow: (name) => {
726
+ const loaded = getFlowDiagnosed(cwd, name);
727
+ return loaded.ok ? loaded.value.def : undefined;
728
+ },
655
729
  };
656
- const state = mkRunState(def, resolvedArgs, cwd);
730
+ const state = mkRunState(def, resolvedArgs, cwd, host);
731
+ if (args.mode === "background") {
732
+ if (!opts?.detachedRunner) {
733
+ return textContent("Background mode is unavailable because this MCP host did not provide a detached runner binding.", true);
734
+ }
735
+ let pid;
736
+ try {
737
+ ({ pid } = launchMcpBackgroundRun({
738
+ state,
739
+ runner: opts.detachedRunner,
740
+ incremental: args.incremental === true,
741
+ reusedSavedName: args.reusedFromSearch === true ? reusedSavedName : undefined,
742
+ agents,
743
+ globalThinking: settings.globalThinking,
744
+ agentScope,
745
+ maxKeptRuns: settings.taskflow.maxKeptRuns,
746
+ maxRunAgeDays: settings.taskflow.maxRunAgeDays,
747
+ }));
748
+ }
749
+ catch (error) {
750
+ return textContent(`Failed to start background taskflow: ${error instanceof Error ? error.message : String(error)}`, true);
751
+ }
752
+ let contentionWarning = "";
753
+ try {
754
+ const { activeCount } = listMcpBackgroundRuns(cwd, 0);
755
+ contentionWarning = activeCount > BACKGROUND_RUN_WARNING_THRESHOLD
756
+ ? `\n\nWarning: ${activeCount} background runs are active in this project. Taskflow does not provide a global cross-host concurrency or budget coordinator; use taskflow_runs list/cancel if this is unintentional.`
757
+ : "";
758
+ }
759
+ catch (error) {
760
+ contentionWarning = `\n\nWarning: the run started successfully, but background contention could not be inspected: ${error instanceof Error ? error.message : String(error)}`;
761
+ }
762
+ return textContent(`↻ taskflow started in background\n\n${state.flowName} · pid ${pid} · run ${state.runId}\nUse taskflow_runs with action status, wait, or cancel.${contentionWarning}`);
763
+ }
657
764
  // Deterministic-replay trace (best-effort, fail-open).
658
765
  deps.trace = new FileTraceSink(traceFilePath(runsDir(cwd), state.flowName, state.runId));
659
766
  if (args.incremental === true)
660
767
  deps.cacheScopeDefault = "cross-run";
661
768
  // Persist run state (throttled + final) so taskflow_peek / resume can read
662
769
  // intermediate phase outputs after the run — same contract as the pi adapter.
663
- const cleanupConfig = { maxKeep: DEFAULT_KEPT_RUNS, maxAgeDays: DEFAULT_RUN_AGE_DAYS };
770
+ const cleanupConfig = {
771
+ maxKeep: settings.taskflow.maxKeptRuns,
772
+ maxAgeDays: settings.taskflow.maxRunAgeDays,
773
+ };
664
774
  let lastPersist = 0;
665
775
  deps.persist = (s) => {
666
776
  const now = Date.now();
@@ -670,11 +780,17 @@ export function makeToolHandlers(cwd, runner) {
670
780
  }
671
781
  };
672
782
  let terminalPersistError;
673
- const res = await executeTaskflow(state, deps).finally(() => {
783
+ let res;
784
+ try {
785
+ res = await executeTaskflow(state, deps);
786
+ state.finalOutput = res.finalOutput;
787
+ state.outputSourcePhaseId = res.outputSourcePhaseId;
788
+ }
789
+ finally {
674
790
  // Terminal persist must survive a throwing runtime ("never lose work") —
675
791
  // and persistence itself must never sink a completed run.
676
792
  terminalPersistError = persistTerminalRun(state, cleanupConfig);
677
- });
793
+ }
678
794
  if (terminalPersistError !== undefined) {
679
795
  return textContent(`Taskflow execution finished, but terminal run persistence failed; no durable run ID can be promised: ${terminalPersistError}`, true);
680
796
  }
@@ -688,8 +804,122 @@ export function makeToolHandlers(cwd, runner) {
688
804
  }
689
805
  const header = res.ok ? "✓ taskflow complete" : "✗ taskflow did not fully succeed";
690
806
  const u = res.totalUsage;
807
+ // Label the output with the ACTUAL source phase (0.2.0 dogfood issue 6):
808
+ // the phase whose output supplied finalOutput — never the designated
809
+ // skipped/failed final phase. Omit the label only when no attribution is
810
+ // available (no phase output).
811
+ const sourceLabel = res.outputSourcePhaseId ? `--- ${res.outputSourcePhaseId} ---\n` : "";
691
812
  const usageLine = `\n\n— ${u.turns} turns · in ${u.input} · out ${u.output} tokens · run ${state.runId}`;
692
- return textContent(`${header}\n\n${res.finalOutput}${usageLine}`, !res.ok);
813
+ return textContent(`${header}\n\n${sourceLabel}${res.finalOutput}${usageLine}`, !res.ok);
814
+ },
815
+ taskflow_runs: async (args, context) => {
816
+ const action = String(args.action ?? "");
817
+ if (action === "list") {
818
+ const limit = Math.max(1, Math.min(50, typeof args.limit === "number" ? Math.floor(args.limit) : 10));
819
+ const filter = args.status === "running" || args.status === "terminal"
820
+ ? args.status
821
+ : "all";
822
+ const roster = listMcpBackgroundRuns(cwd, limit, filter);
823
+ if (roster.runs.length === 0) {
824
+ const scope = filter === "all" ? "" : `${filter} `;
825
+ return textContent(`No ${scope}background taskflow runs found from this directory. ${roster.activeCount} active total.`);
826
+ }
827
+ const scope = filter === "all" ? "" : ` · ${filter}`;
828
+ return textContent(`Background taskflow runs — ${roster.activeCount} active · ${roster.totalCount} total${scope}:\n${roster.runs.map((run) => formatBackgroundRun(run, false)).join("\n")}`);
829
+ }
830
+ const runId = typeof args.runId === "string" ? args.runId.trim() : "";
831
+ if (!runId)
832
+ return textContent(`taskflow_runs action '${action}' requires \`runId\`.`, true);
833
+ let state = refreshDetachedRun(cwd, runId);
834
+ if (!state)
835
+ return textContent(`Run \"${runId}\" was not found.`, true);
836
+ if (!state.detached)
837
+ return textContent(`Run \"${runId}\" is not a background run.`, true);
838
+ if (action === "status")
839
+ return textContent(formatBackgroundRun(state, true));
840
+ if (action === "wait") {
841
+ const timeoutMs = Math.max(0, Math.min(300_000, typeof args.timeoutMs === "number" ? Math.floor(args.timeoutMs) : 30_000));
842
+ state = await waitForMcpBackgroundRun(cwd, runId, timeoutMs, context?.signal) ?? state;
843
+ return textContent(formatBackgroundRun(state, true), state.status !== "running" && state.status !== "completed");
844
+ }
845
+ if (action === "cancel") {
846
+ if (state.status !== "running")
847
+ return textContent(`Run is already ${state.status}.\n${formatBackgroundRun(state, true)}`);
848
+ if (state.detachedControlVersion !== DETACHED_CONTROL_VERSION) {
849
+ return textContent(`Run \"${runId}\" was created by a legacy detached worker that does not support durable cross-request cancellation. Wait for it to finish or stop that worker through its original host.`, true);
850
+ }
851
+ cancelMcpBackgroundRun(cwd, runId, typeof args.reason === "string" ? args.reason : undefined);
852
+ const afterRequest = refreshDetachedRun(cwd, runId);
853
+ if (afterRequest && afterRequest.status !== "running") {
854
+ clearDetachedCancelRequest(afterRequest.cwd, afterRequest.runId);
855
+ return textContent(`Run became ${afterRequest.status} before cancellation was delivered.\n${formatBackgroundRun(afterRequest, true)}`);
856
+ }
857
+ return textContent(`Cancellation requested.\n${formatBackgroundRun(state, false)}`);
858
+ }
859
+ return textContent(`Unknown taskflow_runs action: ${action}`, true);
860
+ },
861
+ taskflow_resume: async (args, context) => {
862
+ // 0.2.0 dogfood issue 5: resume forks a NEW run; the original is never
863
+ // mutated or overwritten. Optional overrides re-run exactly one phase.
864
+ const runId = String(args.runId ?? "");
865
+ if (!runId)
866
+ return textContent("taskflow_resume requires `runId`.", true);
867
+ const prevR = loadRunDiagnosed(cwd, runId);
868
+ if (!prevR.ok)
869
+ return textContent(describeLoadFailure(prevR, `Run "${runId}"`), true);
870
+ const prev = prevR.value;
871
+ const hasOverrideField = args.task !== undefined || args.model !== undefined ||
872
+ args.timeout !== undefined || args.idleTimeout !== undefined;
873
+ let overrides;
874
+ if (hasOverrideField) {
875
+ if (typeof args.phaseId !== "string" || !args.phaseId)
876
+ return textContent("taskflow_resume with overrides requires `phaseId` (the target phase to re-run).", true);
877
+ overrides = {
878
+ phaseId: String(args.phaseId),
879
+ ...(args.task !== undefined ? { task: String(args.task) } : {}),
880
+ ...(args.model !== undefined ? { model: String(args.model) } : {}),
881
+ ...(args.timeout !== undefined ? { timeout: Number(args.timeout) } : {}),
882
+ ...(args.idleTimeout !== undefined ? { idleTimeout: Number(args.idleTimeout) } : {}),
883
+ };
884
+ }
885
+ const resumable = validateResumeRequest(prev, overrides);
886
+ if (!resumable.ok) {
887
+ const prefix = overrides ? "Invalid resume overrides:\n- " : "";
888
+ return textContent(`${prefix}${resumable.errors.join(overrides ? "\n- " : "; ")}`, true);
889
+ }
890
+ const child = forkRunForResume(prev, { overrides, cwd, host });
891
+ const settings = readSubagentSettings();
892
+ const { agents } = discoverAgents(cwd, "both", settings.modelRoles, settings.taskflow);
893
+ const deps = {
894
+ cwd,
895
+ agents,
896
+ runTask: runner.runTask,
897
+ signal: context?.signal,
898
+ usageAccounting: runner.usageAccounting,
899
+ cwdBridgeMode: cwdBridgeModeFromEnv(),
900
+ trace: new FileTraceSink(traceFilePath(runsDir(cwd), child.flowName, child.runId)),
901
+ };
902
+ const cleanupConfig = {
903
+ maxKeep: settings.taskflow.maxKeptRuns,
904
+ maxAgeDays: settings.taskflow.maxRunAgeDays,
905
+ };
906
+ let lastPersist = 0;
907
+ deps.persist = (s) => { if (Date.now() - lastPersist >= 1000) {
908
+ lastPersist = Date.now();
909
+ saveRun(s, cleanupConfig);
910
+ } };
911
+ let terminalPersistError;
912
+ const res = await executeTaskflow(child, deps).finally(() => {
913
+ terminalPersistError = persistTerminalRun(child, cleanupConfig);
914
+ });
915
+ if (terminalPersistError !== undefined)
916
+ return textContent(`Resume finished, but terminal run persistence failed: ${terminalPersistError}`, true);
917
+ const header = res.ok ? "✓ taskflow resume complete" : "✗ taskflow resume did not fully succeed";
918
+ const parent = child.parentRunId ? ` (forked from ${child.parentRunId})` : "";
919
+ const u = res.totalUsage;
920
+ const sourceLabel = res.outputSourcePhaseId ? `--- ${res.outputSourcePhaseId} ---\n` : "";
921
+ const usageLine = `\n\n— ${u.turns} turns · in ${u.input} · out ${u.output} tokens · run ${child.runId}${parent}`;
922
+ return textContent(`${header}\n\n${sourceLabel}${res.finalOutput}${usageLine}`, !res.ok);
693
923
  },
694
924
  taskflow_peek: async (args) => {
695
925
  const runId = String(args.runId ?? "");
@@ -957,11 +1187,25 @@ export function makeToolHandlers(cwd, runner) {
957
1187
  return imageContent(svgToBase64(svg), "image/svg+xml", [textReport], !passed);
958
1188
  return textContent(textReport, !passed);
959
1189
  },
1190
+ taskflow_version: async () => {
1191
+ // 0.2.0 dogfood issue 4: report package/build/host identity.
1192
+ const info = getBuildInfo();
1193
+ const hostName = host ?? "taskflow";
1194
+ const lines = [
1195
+ `taskflow ${info.packageVersion} · host ${hostName}`,
1196
+ `git commit: ${info.gitCommit}`,
1197
+ `run-state schema: v${info.schemaVersion}`,
1198
+ ];
1199
+ if (info.buildTime !== undefined)
1200
+ lines.push(`built: ${new Date(info.buildTime).toISOString()}`);
1201
+ return textContent(lines.join("\n"));
1202
+ },
960
1203
  };
961
1204
  }
962
1205
  /** Build the full MCP method dispatch table (protocol + tools). */
963
- export function makeMcpHandlers(cwd, runner) {
964
- const tools = makeToolHandlers(cwd, runner);
1206
+ export function makeMcpHandlers(cwd, runner, opts) {
1207
+ const tools = makeToolHandlers(cwd, runner, opts);
1208
+ const serverInfo = serverInfoFor(opts?.host);
965
1209
  let initialized = false;
966
1210
  return {
967
1211
  initialize: () => {
@@ -969,7 +1213,7 @@ export function makeMcpHandlers(cwd, runner) {
969
1213
  return {
970
1214
  protocolVersion: PROTOCOL_VERSION,
971
1215
  capabilities: { tools: { listChanged: false } },
972
- serverInfo: SERVER_INFO,
1216
+ serverInfo,
973
1217
  };
974
1218
  },
975
1219
  // Client tells us it's ready — notification, no response.
@@ -993,7 +1237,7 @@ export function makeMcpHandlers(cwd, runner) {
993
1237
  };
994
1238
  }
995
1239
  /** Start the stdio MCP server. Resolves when the client disconnects. */
996
- export function startMcpServer(runner, cwd = process.cwd()) {
997
- return serveStdio(makeMcpHandlers(cwd, runner));
1240
+ export function startMcpServer(runner, cwd = process.cwd(), opts) {
1241
+ return serveStdio(makeMcpHandlers(cwd, runner, opts));
998
1242
  }
999
1243
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskflow-mcp-core",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Host-neutral MCP server for taskflow: a dependency-free stdio JSON-RPC server exposing the taskflow_* tools, plus the DAG SVG/outline renderer. Shared by the codex/claude/opencode/grok adapters — depends only on taskflow-core.",
5
5
  "keywords": [
6
6
  "taskflow",
@@ -52,7 +52,7 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "taskflow-core": "0.2.1"
55
+ "taskflow-core": "0.2.3"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/copy-readme.mjs taskflow-mcp-core"