taskflow-mcp-core 0.2.2 → 0.2.4

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
 
@@ -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.2 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.2 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,6 +28,7 @@
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;
@@ -36,6 +38,8 @@ export declare function formatTraceJsonMcp(events: TraceEvent[], requested?: unk
36
38
  * `"taskflow"` when omitted so existing callers are unaffected. */
37
39
  export interface McpHostOptions {
38
40
  host?: string;
41
+ /** Resolvable host-runner module used by detached/background execution. */
42
+ detachedRunner?: DetachedRunnerBinding;
39
43
  }
40
44
  /** Stamp a freshly-created RunState with build/host identity (0.2.0 dogfood
41
45
  * issue 4). Backward-compatible: only sets optional fields. Pure (mutates the
@@ -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;AA4NjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AA+XD;;;oEAGoE;AACpE,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;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,CAua3F;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"}
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;AA6NjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpF;AAiaD;;;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,CAwjB3F;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,12 +29,14 @@
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";
36
38
  import { getBuildInfo } from "taskflow-core";
39
+ import { builtinVerifiers, discoverVerifiers } from "taskflow-core";
37
40
  import { forkRunForResume, validateResumeRequest } from "taskflow-core";
38
41
  import { runsDir, traceFilePath, FileTraceSink, readTrace, loadRunDiagnosed, readMapOf, declaredReadMapOfDef, formatWhyStale, recomputeTaskflow, } from "taskflow-core";
39
42
  const PROTOCOL_VERSION = "2025-06-18";
@@ -354,9 +357,28 @@ const TOOLS = [
354
357
  args: { type: "object", description: "Invocation arguments interpolated as {args.X}." },
355
358
  incremental: { type: "boolean", description: "Default every phase to cross-run cache reuse." },
356
359
  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." },
360
+ 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." },
357
361
  },
358
362
  },
359
363
  },
364
+ {
365
+ name: "taskflow_runs",
366
+ title: "Manage background taskflow runs",
367
+ 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'.",
368
+ inputSchema: {
369
+ type: "object",
370
+ additionalProperties: false,
371
+ properties: {
372
+ action: { type: "string", enum: ["list", "status", "wait", "cancel"], description: "Lifecycle action." },
373
+ runId: { type: "string", description: "Required for status, wait, and cancel." },
374
+ timeoutMs: { type: "integer", description: "For wait: return after this many ms if still running (default 30000, max 300000)." },
375
+ limit: { type: "integer", description: "For list: maximum recent background runs (default 10, max 50)." },
376
+ status: { type: "string", enum: ["all", "running", "terminal"], description: "For list: show all runs (default), only active runs, or only terminal runs." },
377
+ reason: { type: "string", description: "For cancel: optional audit reason." },
378
+ },
379
+ required: ["action"],
380
+ },
381
+ },
360
382
  {
361
383
  name: "taskflow_resume",
362
384
  title: "Resume a paused/failed run (forks a new run)",
@@ -420,6 +442,20 @@ const TOOLS = [
420
442
  },
421
443
  },
422
444
  },
445
+ {
446
+ name: "taskflow_lint",
447
+ title: "Lint a taskflow with pluggable verifiers",
448
+ description: "Run built-in and project-local pluggable verifiers (script-lint, custom checks) on a flow WITHOUT executing it. Discovers verifiers from .pi/taskflows/verifiers/. Provide `name`, `define`, or `defineFile`.",
449
+ inputSchema: {
450
+ type: "object",
451
+ additionalProperties: false,
452
+ properties: {
453
+ name: { type: "string" },
454
+ define: { type: "object" },
455
+ defineFile: { type: "string", description: "Path to a JSON (or fenced-Markdown) flow file." },
456
+ },
457
+ },
458
+ },
423
459
  {
424
460
  name: "taskflow_peek",
425
461
  title: "Peek at a run's phase output",
@@ -691,23 +727,65 @@ export function makeToolHandlers(cwd, runner, opts) {
691
727
  // the same lookup the pi adapter does; without it every phase fails with
692
728
  // "Model metadata for {{fast}} not found".
693
729
  const settings = readSubagentSettings();
694
- const { agents } = discoverAgents(cwd, "both", settings.modelRoles, settings.taskflow);
730
+ const agentScope = def.agentScope ?? "both";
731
+ const { agents } = discoverAgents(cwd, agentScope, settings.modelRoles, settings.taskflow);
695
732
  const deps = {
696
733
  cwd,
697
734
  agents,
735
+ globalThinking: settings.globalThinking,
698
736
  runTask: runner.runTask,
699
737
  signal: context?.signal,
700
738
  usageAccounting,
701
739
  cwdBridgeMode: cwdBridgeModeFromEnv(),
740
+ loadFlow: (name) => {
741
+ const loaded = getFlowDiagnosed(cwd, name);
742
+ return loaded.ok ? loaded.value.def : undefined;
743
+ },
702
744
  };
703
745
  const state = mkRunState(def, resolvedArgs, cwd, host);
746
+ if (args.mode === "background") {
747
+ if (!opts?.detachedRunner) {
748
+ return textContent("Background mode is unavailable because this MCP host did not provide a detached runner binding.", true);
749
+ }
750
+ let pid;
751
+ try {
752
+ ({ pid } = launchMcpBackgroundRun({
753
+ state,
754
+ runner: opts.detachedRunner,
755
+ incremental: args.incremental === true,
756
+ reusedSavedName: args.reusedFromSearch === true ? reusedSavedName : undefined,
757
+ agents,
758
+ globalThinking: settings.globalThinking,
759
+ agentScope,
760
+ maxKeptRuns: settings.taskflow.maxKeptRuns,
761
+ maxRunAgeDays: settings.taskflow.maxRunAgeDays,
762
+ }));
763
+ }
764
+ catch (error) {
765
+ return textContent(`Failed to start background taskflow: ${error instanceof Error ? error.message : String(error)}`, true);
766
+ }
767
+ let contentionWarning = "";
768
+ try {
769
+ const { activeCount } = listMcpBackgroundRuns(cwd, 0);
770
+ contentionWarning = activeCount > BACKGROUND_RUN_WARNING_THRESHOLD
771
+ ? `\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.`
772
+ : "";
773
+ }
774
+ catch (error) {
775
+ contentionWarning = `\n\nWarning: the run started successfully, but background contention could not be inspected: ${error instanceof Error ? error.message : String(error)}`;
776
+ }
777
+ 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}`);
778
+ }
704
779
  // Deterministic-replay trace (best-effort, fail-open).
705
780
  deps.trace = new FileTraceSink(traceFilePath(runsDir(cwd), state.flowName, state.runId));
706
781
  if (args.incremental === true)
707
782
  deps.cacheScopeDefault = "cross-run";
708
783
  // Persist run state (throttled + final) so taskflow_peek / resume can read
709
784
  // intermediate phase outputs after the run — same contract as the pi adapter.
710
- const cleanupConfig = { maxKeep: DEFAULT_KEPT_RUNS, maxAgeDays: DEFAULT_RUN_AGE_DAYS };
785
+ const cleanupConfig = {
786
+ maxKeep: settings.taskflow.maxKeptRuns,
787
+ maxAgeDays: settings.taskflow.maxRunAgeDays,
788
+ };
711
789
  let lastPersist = 0;
712
790
  deps.persist = (s) => {
713
791
  const now = Date.now();
@@ -717,11 +795,17 @@ export function makeToolHandlers(cwd, runner, opts) {
717
795
  }
718
796
  };
719
797
  let terminalPersistError;
720
- const res = await executeTaskflow(state, deps).finally(() => {
798
+ let res;
799
+ try {
800
+ res = await executeTaskflow(state, deps);
801
+ state.finalOutput = res.finalOutput;
802
+ state.outputSourcePhaseId = res.outputSourcePhaseId;
803
+ }
804
+ finally {
721
805
  // Terminal persist must survive a throwing runtime ("never lose work") —
722
806
  // and persistence itself must never sink a completed run.
723
807
  terminalPersistError = persistTerminalRun(state, cleanupConfig);
724
- });
808
+ }
725
809
  if (terminalPersistError !== undefined) {
726
810
  return textContent(`Taskflow execution finished, but terminal run persistence failed; no durable run ID can be promised: ${terminalPersistError}`, true);
727
811
  }
@@ -743,6 +827,52 @@ export function makeToolHandlers(cwd, runner, opts) {
743
827
  const usageLine = `\n\n— ${u.turns} turns · in ${u.input} · out ${u.output} tokens · run ${state.runId}`;
744
828
  return textContent(`${header}\n\n${sourceLabel}${res.finalOutput}${usageLine}`, !res.ok);
745
829
  },
830
+ taskflow_runs: async (args, context) => {
831
+ const action = String(args.action ?? "");
832
+ if (action === "list") {
833
+ const limit = Math.max(1, Math.min(50, typeof args.limit === "number" ? Math.floor(args.limit) : 10));
834
+ const filter = args.status === "running" || args.status === "terminal"
835
+ ? args.status
836
+ : "all";
837
+ const roster = listMcpBackgroundRuns(cwd, limit, filter);
838
+ if (roster.runs.length === 0) {
839
+ const scope = filter === "all" ? "" : `${filter} `;
840
+ return textContent(`No ${scope}background taskflow runs found from this directory. ${roster.activeCount} active total.`);
841
+ }
842
+ const scope = filter === "all" ? "" : ` · ${filter}`;
843
+ return textContent(`Background taskflow runs — ${roster.activeCount} active · ${roster.totalCount} total${scope}:\n${roster.runs.map((run) => formatBackgroundRun(run, false)).join("\n")}`);
844
+ }
845
+ const runId = typeof args.runId === "string" ? args.runId.trim() : "";
846
+ if (!runId)
847
+ return textContent(`taskflow_runs action '${action}' requires \`runId\`.`, true);
848
+ let state = refreshDetachedRun(cwd, runId);
849
+ if (!state)
850
+ return textContent(`Run \"${runId}\" was not found.`, true);
851
+ if (!state.detached)
852
+ return textContent(`Run \"${runId}\" is not a background run.`, true);
853
+ if (action === "status")
854
+ return textContent(formatBackgroundRun(state, true));
855
+ if (action === "wait") {
856
+ const timeoutMs = Math.max(0, Math.min(300_000, typeof args.timeoutMs === "number" ? Math.floor(args.timeoutMs) : 30_000));
857
+ state = await waitForMcpBackgroundRun(cwd, runId, timeoutMs, context?.signal) ?? state;
858
+ return textContent(formatBackgroundRun(state, true), state.status !== "running" && state.status !== "completed");
859
+ }
860
+ if (action === "cancel") {
861
+ if (state.status !== "running")
862
+ return textContent(`Run is already ${state.status}.\n${formatBackgroundRun(state, true)}`);
863
+ if (state.detachedControlVersion !== DETACHED_CONTROL_VERSION) {
864
+ 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);
865
+ }
866
+ cancelMcpBackgroundRun(cwd, runId, typeof args.reason === "string" ? args.reason : undefined);
867
+ const afterRequest = refreshDetachedRun(cwd, runId);
868
+ if (afterRequest && afterRequest.status !== "running") {
869
+ clearDetachedCancelRequest(afterRequest.cwd, afterRequest.runId);
870
+ return textContent(`Run became ${afterRequest.status} before cancellation was delivered.\n${formatBackgroundRun(afterRequest, true)}`);
871
+ }
872
+ return textContent(`Cancellation requested.\n${formatBackgroundRun(state, false)}`);
873
+ }
874
+ return textContent(`Unknown taskflow_runs action: ${action}`, true);
875
+ },
746
876
  taskflow_resume: async (args, context) => {
747
877
  // 0.2.0 dogfood issue 5: resume forks a NEW run; the original is never
748
878
  // mutated or overwritten. Optional overrides re-run exactly one phase.
@@ -784,7 +914,10 @@ export function makeToolHandlers(cwd, runner, opts) {
784
914
  cwdBridgeMode: cwdBridgeModeFromEnv(),
785
915
  trace: new FileTraceSink(traceFilePath(runsDir(cwd), child.flowName, child.runId)),
786
916
  };
787
- const cleanupConfig = { maxKeep: DEFAULT_KEPT_RUNS, maxAgeDays: DEFAULT_RUN_AGE_DAYS };
917
+ const cleanupConfig = {
918
+ maxKeep: settings.taskflow.maxKeptRuns,
919
+ maxAgeDays: settings.taskflow.maxRunAgeDays,
920
+ };
788
921
  let lastPersist = 0;
789
922
  deps.persist = (s) => { if (Date.now() - lastPersist >= 1000) {
790
923
  lastPersist = Date.now();
@@ -1069,6 +1202,44 @@ export function makeToolHandlers(cwd, runner, opts) {
1069
1202
  return imageContent(svgToBase64(svg), "image/svg+xml", [textReport], !passed);
1070
1203
  return textContent(textReport, !passed);
1071
1204
  },
1205
+ taskflow_lint: async (args) => {
1206
+ const def = resolveFlow(cwd, args);
1207
+ const val = validateTaskflow(def);
1208
+ const phasesIterable = Array.isArray(def.phases);
1209
+ if (!phasesIterable) {
1210
+ const { text } = issueBlocks([], val.errors, val.warnings);
1211
+ return textContent(`✗ lint FAILED — flow is not lintable (phases not an array)${text}`, true);
1212
+ }
1213
+ // Discover project-local verifiers (fail-open).
1214
+ const discovered = await discoverVerifiers(cwd);
1215
+ const verifiers = [...builtinVerifiers, ...discovered.verifiers];
1216
+ const result = verifyTaskflow(def, { verifiers });
1217
+ // Filter to plugin-category issues only (built-in structural issues
1218
+ // are covered by taskflow_verify).
1219
+ const pluginIssues = result.issues.filter((i) => i.category === "plugin");
1220
+ const errorCount = pluginIssues.filter((i) => i.severity === "error").length;
1221
+ const warningCount = pluginIssues.filter((i) => i.severity === "warning").length;
1222
+ const passed = errorCount === 0;
1223
+ const head = passed
1224
+ ? warningCount
1225
+ ? `✓ lint PASSED — ${count(warningCount, "warning")}`
1226
+ : "✓ lint PASSED — no issues"
1227
+ : `✗ lint FAILED — ${count(errorCount, "error")}, ${count(warningCount, "warning")}`;
1228
+ const lines = [head];
1229
+ if (discovered.verifiers.length > 0) {
1230
+ lines.push(`Verifiers: ${[...builtinVerifiers, ...discovered.verifiers].map((v) => v.name).join(", ")}`);
1231
+ }
1232
+ if (discovered.warnings.length > 0) {
1233
+ lines.push(`Discovery warnings: ${discovered.warnings.join("; ")}`);
1234
+ }
1235
+ for (const issue of pluginIssues) {
1236
+ const icon = issue.severity === "error" ? "✗" : "⚠";
1237
+ const loc = issue.phaseId ? ` [${issue.phaseId}]` : "";
1238
+ const src = issue.source ? ` (${issue.source})` : "";
1239
+ lines.push(` ${icon}${loc}${src} ${issue.message}`);
1240
+ }
1241
+ return textContent(lines.join("\n"), !passed);
1242
+ },
1072
1243
  taskflow_version: async () => {
1073
1244
  // 0.2.0 dogfood issue 4: report package/build/host identity.
1074
1245
  const info = getBuildInfo();
@@ -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.2",
3
+ "version": "0.2.4",
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.2"
55
+ "taskflow-core": "0.2.4"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/copy-readme.mjs taskflow-mcp-core"