@dalmasonto/taskflow-mcp 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +253 -73
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +59 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +38 -2
- package/dist/client.js +10 -1
- package/dist/client.js.map +1 -1
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/events.d.ts +12 -2
- package/dist/events.js +23 -4
- package/dist/events.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/init-config.d.ts +89 -0
- package/dist/init-config.js +232 -0
- package/dist/init-config.js.map +1 -0
- package/dist/init.d.ts +150 -0
- package/dist/init.js +784 -0
- package/dist/init.js.map +1 -0
- package/dist/resolve.d.ts +2 -0
- package/dist/resolve.js.map +1 -1
- package/dist/runtime.js +56 -38
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +179 -4
- package/dist/server.js.map +1 -1
- package/dist/tmux.d.ts +52 -9
- package/dist/tmux.js +96 -28
- package/dist/tmux.js.map +1 -1
- package/package.json +7 -3
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/events.d.ts
CHANGED
|
@@ -47,6 +47,14 @@ export interface AgentMessageEvent {
|
|
|
47
47
|
* (mention only). Empty/absent broadcasts to every agent, like a null
|
|
48
48
|
* `target_agent`. Supersedes `target_agent` when present. */
|
|
49
49
|
targets?: MessageTarget[] | null;
|
|
50
|
+
/** #317: the id of the message this one replies to (same channel), or null. */
|
|
51
|
+
reply_to?: number | null;
|
|
52
|
+
}
|
|
53
|
+
/** #317: the message a reply answers, as the notice quotes it. */
|
|
54
|
+
export interface ReplyParent {
|
|
55
|
+
id: number;
|
|
56
|
+
sender_label: string;
|
|
57
|
+
body_markdown: string;
|
|
50
58
|
}
|
|
51
59
|
/** #29: one directed target of a message. `kind` is "agent" or "user"; only
|
|
52
60
|
* agent targets gate pane delivery (users are mention/attribution). */
|
|
@@ -55,10 +63,12 @@ export interface MessageTarget {
|
|
|
55
63
|
id: number;
|
|
56
64
|
}
|
|
57
65
|
/** A terminal key the dashboard sent, projected on the realtime event. `agent`
|
|
58
|
-
* is the target pane's agent; `keys` is one tmux key name
|
|
66
|
+
* is the target pane's agent; `keys` is one tmux key name — or empty, when
|
|
67
|
+
* `text` carries a line to type and submit instead (#180). */
|
|
59
68
|
export interface TerminalKeyEvent {
|
|
60
69
|
agent: number;
|
|
61
70
|
keys: string;
|
|
71
|
+
text?: string | null;
|
|
62
72
|
}
|
|
63
73
|
export interface EventStreamOptions {
|
|
64
74
|
server: string;
|
|
@@ -145,7 +155,7 @@ export interface NoticeAttachment {
|
|
|
145
155
|
size_bytes: number;
|
|
146
156
|
url: string;
|
|
147
157
|
}
|
|
148
|
-
export declare function formatIncoming(message: AgentMessageEvent, attachments?: NoticeAttachment[], selfAgentId?: number, edited?: boolean): string;
|
|
158
|
+
export declare function formatIncoming(message: AgentMessageEvent, attachments?: NoticeAttachment[], selfAgentId?: number, edited?: boolean, replyParent?: ReplyParent | null): string;
|
|
149
159
|
export type { TaskflowClient };
|
|
150
160
|
/**
|
|
151
161
|
* The keystrokes that answer a prompt, as verified against a live Claude Code
|
package/dist/events.js
CHANGED
|
@@ -60,6 +60,20 @@ const STREAM_IDLE_TIMEOUT_MS = 25_000;
|
|
|
60
60
|
* without this cap the buffer would grow to OOM. Past it we abort and reconnect.
|
|
61
61
|
*/
|
|
62
62
|
const MAX_STREAM_BUFFER_BYTES = 1_048_576; // 1 MiB
|
|
63
|
+
/** How much of a replied-to message the notice quotes — enough to recognise
|
|
64
|
+
* it, not so much that it crowds out the reply itself. */
|
|
65
|
+
const REPLY_EXCERPT_CHARS = 80;
|
|
66
|
+
/** #317: " (↩ replying to #12 from Ann: "…")", or just the id when the parent
|
|
67
|
+
* could not be read. Empty for a message that is not a reply. */
|
|
68
|
+
function replyClause(message, parent) {
|
|
69
|
+
if (message.reply_to == null)
|
|
70
|
+
return "";
|
|
71
|
+
if (!parent)
|
|
72
|
+
return ` (↩ replying to message #${message.reply_to})`;
|
|
73
|
+
const flat = parent.body_markdown.replace(/\s+/gu, " ").trim();
|
|
74
|
+
const excerpt = flat.length > REPLY_EXCERPT_CHARS ? `${flat.slice(0, REPLY_EXCERPT_CHARS - 1)}…` : flat;
|
|
75
|
+
return ` (↩ replying to #${parent.id} from ${parent.sender_label}: "${excerpt}")`;
|
|
76
|
+
}
|
|
63
77
|
/**
|
|
64
78
|
* Hold the stream open, reconnecting with backoff.
|
|
65
79
|
*
|
|
@@ -246,7 +260,11 @@ export function handleFrame(frame, options) {
|
|
|
246
260
|
if (envelope.c?.endsWith(":terminal_inputs")) {
|
|
247
261
|
const row = envelope.d;
|
|
248
262
|
if (row && typeof row.agent === "number" && typeof row.keys === "string") {
|
|
249
|
-
void options.onTerminalKey?.({
|
|
263
|
+
void options.onTerminalKey?.({
|
|
264
|
+
agent: row.agent,
|
|
265
|
+
keys: row.keys,
|
|
266
|
+
text: typeof row.text === "string" ? row.text : null,
|
|
267
|
+
});
|
|
250
268
|
}
|
|
251
269
|
return;
|
|
252
270
|
}
|
|
@@ -360,8 +378,9 @@ function contextSuffix(message) {
|
|
|
360
378
|
parts.push(`from=${sender}`);
|
|
361
379
|
return ` ⟦ctx ${parts.join(" ")}⟧`;
|
|
362
380
|
}
|
|
363
|
-
export function formatIncoming(message, attachments = [], selfAgentId, edited = false) {
|
|
381
|
+
export function formatIncoming(message, attachments = [], selfAgentId, edited = false, replyParent) {
|
|
364
382
|
const who = message.sender_label || (message.sender_kind === "user" ? "User" : "Agent");
|
|
383
|
+
const replying = replyClause(message, replyParent);
|
|
365
384
|
// #40 review: a non-target still receives the message but is told, clearly and
|
|
366
385
|
// up front, NOT to act on it — only to reply / add information if useful. When
|
|
367
386
|
// selfAgentId is unknown, or the agent is a target/broadcast recipient, there
|
|
@@ -372,8 +391,8 @@ export function formatIncoming(message, attachments = [], selfAgentId, edited =
|
|
|
372
391
|
// #107: an edit is redelivered so the agent proceeds from the REVISED words —
|
|
373
392
|
// said explicitly, or the agent reads it as a brand-new (duplicate) request.
|
|
374
393
|
const head = edited
|
|
375
|
-
? `[taskflow] ${guard}✏️ EDITED message from ${who} (supersedes the earlier version — continue from this revision): `
|
|
376
|
-
: `[taskflow] ${guard}Message from ${who}: `;
|
|
394
|
+
? `[taskflow] ${guard}✏️ EDITED message from ${who}${replying} (supersedes the earlier version — continue from this revision): `
|
|
395
|
+
: `[taskflow] ${guard}Message from ${who}${replying}: `;
|
|
377
396
|
const manifest = attachments.length
|
|
378
397
|
? ` 📎 ${attachments.length} attachment${attachments.length === 1 ? "" : "s"}: ` +
|
|
379
398
|
attachments.map((a) => `${a.name} (${humanSize(a.size_bytes)}) ${a.url}`).join("; ")
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,9 +12,11 @@ import { runDoctor } from "./doctor.js";
|
|
|
12
12
|
import { runTmuxMirror } from "./tmux.js";
|
|
13
13
|
import { runMint } from "./mint.js";
|
|
14
14
|
import { startAgent } from "./runtime.js";
|
|
15
|
+
import { runInitCommand } from "./init.js";
|
|
15
16
|
const USAGE = `taskflow-mcp — TaskFlow MCP server
|
|
16
17
|
|
|
17
18
|
taskflow-mcp Serve over stdio (how an MCP client runs it).
|
|
19
|
+
taskflow-mcp init Set up a coding agent (same as: taskflow init).
|
|
18
20
|
taskflow-mcp --check Verify config + backend auth, then exit.
|
|
19
21
|
taskflow-mcp --tmux [target] Mirror a tmux pane into the dashboard terminal.
|
|
20
22
|
taskflow-mcp --mint <name> Create a NEW agent identity + profile, then exit.
|
|
@@ -59,6 +61,10 @@ defaults to tmux's active pane, or pass one from \`tmux list-panes -a\`. Options
|
|
|
59
61
|
enable it only for sessions you control.`;
|
|
60
62
|
async function main() {
|
|
61
63
|
const argv = process.argv.slice(2);
|
|
64
|
+
// The post-install walkthrough. Checked first so `init --help` reaches it.
|
|
65
|
+
if (argv[0] === "init") {
|
|
66
|
+
process.exit(await runInitCommand(argv.slice(1)));
|
|
67
|
+
}
|
|
62
68
|
if (argv.includes("--help") || argv.includes("-h")) {
|
|
63
69
|
process.stdout.write(`${USAGE}\n`);
|
|
64
70
|
return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure config-file merges for `taskflow init`.
|
|
3
|
+
*
|
|
4
|
+
* Every function here takes the CURRENT text of a harness config file (or
|
|
5
|
+
* `null` when it does not exist yet) and returns the text it should become,
|
|
6
|
+
* plus whether anything changed. Three rules hold for all of them:
|
|
7
|
+
*
|
|
8
|
+
* - **Never clobber.** Other servers, other hooks and unrelated settings are
|
|
9
|
+
* carried through untouched. An existing `taskflow` entry is left exactly as
|
|
10
|
+
* it is, even when it differs from ours — the user may have customised it
|
|
11
|
+
* (a local build path, an env block), and overwriting that is not our call.
|
|
12
|
+
* - **Idempotent.** Merging into already-merged output is a no-op, so running
|
|
13
|
+
* `taskflow init` twice changes nothing the second time.
|
|
14
|
+
* - **Refuse what we cannot read.** A file that is not a plain JSON object
|
|
15
|
+
* (comments, JSONC, a syntax error) throws {@link MergeError}; the caller turns
|
|
16
|
+
* that into manual instructions instead of guessing a rewrite.
|
|
17
|
+
*
|
|
18
|
+
* No I/O happens here, so the whole module is unit-testable.
|
|
19
|
+
*/
|
|
20
|
+
/** The command every harness runs. Resolved from PATH (the global npm install). */
|
|
21
|
+
export declare const MCP_COMMAND = "taskflow-mcp";
|
|
22
|
+
/** The Claude Code lifecycle hook command. */
|
|
23
|
+
export declare const HOOK_COMMAND = "taskflow-hook";
|
|
24
|
+
/** The server's name in every harness config. */
|
|
25
|
+
export declare const SERVER_NAME = "taskflow";
|
|
26
|
+
/** A file we will not rewrite, with the reason. */
|
|
27
|
+
export declare class MergeError extends Error {
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export interface MergeResult {
|
|
31
|
+
/** The file's new text (equal to the input when `changed` is false). */
|
|
32
|
+
text: string;
|
|
33
|
+
changed: boolean;
|
|
34
|
+
/** True when a `taskflow` entry was already present and left alone. */
|
|
35
|
+
alreadyPresent: boolean;
|
|
36
|
+
}
|
|
37
|
+
type JsonObject = Record<string, unknown>;
|
|
38
|
+
/** Parse a config file as a JSON object; empty/whitespace-only counts as `{}`. */
|
|
39
|
+
export declare function parseJsonObject(text: string | null, label: string): JsonObject;
|
|
40
|
+
/** The stdio entry for `mcpServers`-shaped files. */
|
|
41
|
+
export declare function stdioEntry(): JsonObject;
|
|
42
|
+
/**
|
|
43
|
+
* Merge into a file with an `mcpServers` map: Claude Code's `.mcp.json`,
|
|
44
|
+
* Gemini CLI's `settings.json`, Cursor's `mcp.json`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function mergeMcpServersJson(text: string | null, label?: string): MergeResult;
|
|
47
|
+
/**
|
|
48
|
+
* Merge into an opencode config. opencode's schema differs from the others:
|
|
49
|
+
* the section is `mcp`, and a local server's `command` is ONE array holding the
|
|
50
|
+
* executable and its arguments, with an explicit `type: "local"`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function mergeOpencodeJson(text: string | null, label?: string): MergeResult;
|
|
53
|
+
/**
|
|
54
|
+
* Merge into Codex's `config.toml`. Codex's MCP servers are `[mcp_servers.<name>]`
|
|
55
|
+
* tables. Appending a new table at the end of a TOML file is always valid
|
|
56
|
+
* (tables may appear in any order), so this needs no TOML parser: it only has to
|
|
57
|
+
* detect an existing `taskflow` table, and otherwise append one.
|
|
58
|
+
*/
|
|
59
|
+
export declare function mergeCodexToml(text: string | null): MergeResult;
|
|
60
|
+
/** The Claude Code events the hook handles, and whether each takes a matcher. */
|
|
61
|
+
export declare const CLAUDE_HOOK_EVENTS: ReadonlyArray<{
|
|
62
|
+
event: string;
|
|
63
|
+
matcher?: string;
|
|
64
|
+
}>;
|
|
65
|
+
/** True when a hook command already runs our hook (bare, via a path, or via node). */
|
|
66
|
+
export declare function isTaskflowHookCommand(command: unknown): boolean;
|
|
67
|
+
export interface HooksMergeResult extends MergeResult {
|
|
68
|
+
/** Events a hook group was added to. */
|
|
69
|
+
added: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Merge the TaskFlow hook into a Claude Code `settings.json`. Per event: if any
|
|
73
|
+
* existing group already runs `taskflow-hook`, the event is left alone;
|
|
74
|
+
* otherwise one group is APPENDED, so the user's own hooks keep running first.
|
|
75
|
+
*/
|
|
76
|
+
export declare function mergeClaudeHooks(text: string | null, label?: string): HooksMergeResult;
|
|
77
|
+
/** Whether a JSON config already names a `taskflow` server under `section`. */
|
|
78
|
+
export declare function jsonHasServer(text: string | null, section?: string): boolean;
|
|
79
|
+
/** Whether a Codex config.toml already has the taskflow table. */
|
|
80
|
+
export declare function tomlHasServer(text: string | null): boolean;
|
|
81
|
+
/** Append `.taskflow.json` to a `.gitignore` text unless an entry already covers it. */
|
|
82
|
+
export declare function mergeGitignore(text: string | null): MergeResult;
|
|
83
|
+
/**
|
|
84
|
+
* A minimal line diff for `--dry-run`: the lines removed (`-`) and added (`+`),
|
|
85
|
+
* with the unchanged common prefix/suffix collapsed. Config merges only ever
|
|
86
|
+
* append or insert one block, so this stays readable without an LCS.
|
|
87
|
+
*/
|
|
88
|
+
export declare function simpleDiff(before: string | null, after: string): string[];
|
|
89
|
+
export {};
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure config-file merges for `taskflow init`.
|
|
3
|
+
*
|
|
4
|
+
* Every function here takes the CURRENT text of a harness config file (or
|
|
5
|
+
* `null` when it does not exist yet) and returns the text it should become,
|
|
6
|
+
* plus whether anything changed. Three rules hold for all of them:
|
|
7
|
+
*
|
|
8
|
+
* - **Never clobber.** Other servers, other hooks and unrelated settings are
|
|
9
|
+
* carried through untouched. An existing `taskflow` entry is left exactly as
|
|
10
|
+
* it is, even when it differs from ours — the user may have customised it
|
|
11
|
+
* (a local build path, an env block), and overwriting that is not our call.
|
|
12
|
+
* - **Idempotent.** Merging into already-merged output is a no-op, so running
|
|
13
|
+
* `taskflow init` twice changes nothing the second time.
|
|
14
|
+
* - **Refuse what we cannot read.** A file that is not a plain JSON object
|
|
15
|
+
* (comments, JSONC, a syntax error) throws {@link MergeError}; the caller turns
|
|
16
|
+
* that into manual instructions instead of guessing a rewrite.
|
|
17
|
+
*
|
|
18
|
+
* No I/O happens here, so the whole module is unit-testable.
|
|
19
|
+
*/
|
|
20
|
+
/** The command every harness runs. Resolved from PATH (the global npm install). */
|
|
21
|
+
export const MCP_COMMAND = "taskflow-mcp";
|
|
22
|
+
/** The Claude Code lifecycle hook command. */
|
|
23
|
+
export const HOOK_COMMAND = "taskflow-hook";
|
|
24
|
+
/** The server's name in every harness config. */
|
|
25
|
+
export const SERVER_NAME = "taskflow";
|
|
26
|
+
/** A file we will not rewrite, with the reason. */
|
|
27
|
+
export class MergeError extends Error {
|
|
28
|
+
constructor(message) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.name = "MergeError";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function isObject(v) {
|
|
34
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
35
|
+
}
|
|
36
|
+
/** Parse a config file as a JSON object; empty/whitespace-only counts as `{}`. */
|
|
37
|
+
export function parseJsonObject(text, label) {
|
|
38
|
+
if (text === null || text.trim() === "")
|
|
39
|
+
return {};
|
|
40
|
+
let parsed;
|
|
41
|
+
try {
|
|
42
|
+
parsed = JSON.parse(text);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
throw new MergeError(`${label} is not plain JSON (${err.message}). ` +
|
|
46
|
+
"It may contain comments; edit it by hand instead.");
|
|
47
|
+
}
|
|
48
|
+
if (!isObject(parsed)) {
|
|
49
|
+
throw new MergeError(`${label} does not contain a JSON object at the top level.`);
|
|
50
|
+
}
|
|
51
|
+
return parsed;
|
|
52
|
+
}
|
|
53
|
+
function serialize(obj) {
|
|
54
|
+
return `${JSON.stringify(obj, null, 2)}\n`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Add `entry` under `obj[section][SERVER_NAME]`, creating `section` if needed.
|
|
58
|
+
* Shared by every `mcpServers`-shaped file (Claude `.mcp.json`, Gemini, Cursor)
|
|
59
|
+
* and by opencode's `mcp` section.
|
|
60
|
+
*/
|
|
61
|
+
function mergeSection(text, section, entry, label, seed = {}) {
|
|
62
|
+
const root = parseJsonObject(text, label);
|
|
63
|
+
const existing = root[section];
|
|
64
|
+
if (existing !== undefined && !isObject(existing)) {
|
|
65
|
+
throw new MergeError(`${label}: "${section}" exists but is not an object.`);
|
|
66
|
+
}
|
|
67
|
+
if (isObject(existing) && SERVER_NAME in existing) {
|
|
68
|
+
return { text: text ?? "", changed: false, alreadyPresent: true };
|
|
69
|
+
}
|
|
70
|
+
const base = text === null || text.trim() === "" ? { ...seed } : root;
|
|
71
|
+
const next = {
|
|
72
|
+
...base,
|
|
73
|
+
[section]: { ...(isObject(existing) ? existing : {}), [SERVER_NAME]: entry },
|
|
74
|
+
};
|
|
75
|
+
return { text: serialize(next), changed: true, alreadyPresent: false };
|
|
76
|
+
}
|
|
77
|
+
/** The stdio entry for `mcpServers`-shaped files. */
|
|
78
|
+
export function stdioEntry() {
|
|
79
|
+
return { command: MCP_COMMAND, args: [] };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Merge into a file with an `mcpServers` map: Claude Code's `.mcp.json`,
|
|
83
|
+
* Gemini CLI's `settings.json`, Cursor's `mcp.json`.
|
|
84
|
+
*/
|
|
85
|
+
export function mergeMcpServersJson(text, label = "config") {
|
|
86
|
+
return mergeSection(text, "mcpServers", stdioEntry(), label);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Merge into an opencode config. opencode's schema differs from the others:
|
|
90
|
+
* the section is `mcp`, and a local server's `command` is ONE array holding the
|
|
91
|
+
* executable and its arguments, with an explicit `type: "local"`.
|
|
92
|
+
*/
|
|
93
|
+
export function mergeOpencodeJson(text, label = "opencode.json") {
|
|
94
|
+
return mergeSection(text, "mcp", { type: "local", command: [MCP_COMMAND], enabled: true }, label, { $schema: "https://opencode.ai/config.json" });
|
|
95
|
+
}
|
|
96
|
+
/** Matches a `[mcp_servers.taskflow]` table header, quoted or bare. */
|
|
97
|
+
const CODEX_TABLE = /^\s*\[\s*mcp_servers\s*\.\s*(?:taskflow|"taskflow"|'taskflow')\s*\]\s*(?:#.*)?$/m;
|
|
98
|
+
/**
|
|
99
|
+
* Merge into Codex's `config.toml`. Codex's MCP servers are `[mcp_servers.<name>]`
|
|
100
|
+
* tables. Appending a new table at the end of a TOML file is always valid
|
|
101
|
+
* (tables may appear in any order), so this needs no TOML parser: it only has to
|
|
102
|
+
* detect an existing `taskflow` table, and otherwise append one.
|
|
103
|
+
*/
|
|
104
|
+
export function mergeCodexToml(text) {
|
|
105
|
+
const current = text ?? "";
|
|
106
|
+
if (CODEX_TABLE.test(current)) {
|
|
107
|
+
return { text: current, changed: false, alreadyPresent: true };
|
|
108
|
+
}
|
|
109
|
+
const block = `[mcp_servers.${SERVER_NAME}]\ncommand = "${MCP_COMMAND}"\nargs = []\n`;
|
|
110
|
+
let prefix = current;
|
|
111
|
+
if (prefix.length > 0) {
|
|
112
|
+
if (!prefix.endsWith("\n"))
|
|
113
|
+
prefix += "\n";
|
|
114
|
+
prefix += "\n";
|
|
115
|
+
}
|
|
116
|
+
return { text: `${prefix}${block}`, changed: true, alreadyPresent: false };
|
|
117
|
+
}
|
|
118
|
+
/** The Claude Code events the hook handles, and whether each takes a matcher. */
|
|
119
|
+
export const CLAUDE_HOOK_EVENTS = [
|
|
120
|
+
{ event: "SessionStart" },
|
|
121
|
+
{ event: "PreToolUse", matcher: "*" },
|
|
122
|
+
{ event: "PostToolUse", matcher: "*" },
|
|
123
|
+
{ event: "Stop" },
|
|
124
|
+
{ event: "Notification" },
|
|
125
|
+
];
|
|
126
|
+
/** True when a hook command already runs our hook (bare, via a path, or via node). */
|
|
127
|
+
export function isTaskflowHookCommand(command) {
|
|
128
|
+
return typeof command === "string" && /(^|[\s/\\])taskflow-hook(\.mjs)?(\s|"|'|$)/.test(command);
|
|
129
|
+
}
|
|
130
|
+
function eventHasTaskflowHook(groups) {
|
|
131
|
+
return groups.some((g) => isObject(g) &&
|
|
132
|
+
Array.isArray(g.hooks) &&
|
|
133
|
+
g.hooks.some((h) => isObject(h) && isTaskflowHookCommand(h.command)));
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Merge the TaskFlow hook into a Claude Code `settings.json`. Per event: if any
|
|
137
|
+
* existing group already runs `taskflow-hook`, the event is left alone;
|
|
138
|
+
* otherwise one group is APPENDED, so the user's own hooks keep running first.
|
|
139
|
+
*/
|
|
140
|
+
export function mergeClaudeHooks(text, label = "settings.json") {
|
|
141
|
+
const root = parseJsonObject(text, label);
|
|
142
|
+
const hooks = root.hooks;
|
|
143
|
+
if (hooks !== undefined && !isObject(hooks)) {
|
|
144
|
+
throw new MergeError(`${label}: "hooks" exists but is not an object.`);
|
|
145
|
+
}
|
|
146
|
+
const nextHooks = { ...(isObject(hooks) ? hooks : {}) };
|
|
147
|
+
const added = [];
|
|
148
|
+
for (const { event, matcher } of CLAUDE_HOOK_EVENTS) {
|
|
149
|
+
const groups = nextHooks[event];
|
|
150
|
+
if (groups !== undefined && !Array.isArray(groups)) {
|
|
151
|
+
throw new MergeError(`${label}: hooks.${event} exists but is not an array.`);
|
|
152
|
+
}
|
|
153
|
+
if (Array.isArray(groups) && eventHasTaskflowHook(groups))
|
|
154
|
+
continue;
|
|
155
|
+
const group = {
|
|
156
|
+
...(matcher ? { matcher } : {}),
|
|
157
|
+
hooks: [{ type: "command", command: HOOK_COMMAND }],
|
|
158
|
+
};
|
|
159
|
+
nextHooks[event] = [...(Array.isArray(groups) ? groups : []), group];
|
|
160
|
+
added.push(event);
|
|
161
|
+
}
|
|
162
|
+
if (added.length === 0) {
|
|
163
|
+
return { text: text ?? "", changed: false, alreadyPresent: true, added };
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
text: serialize({ ...root, hooks: nextHooks }),
|
|
167
|
+
changed: true,
|
|
168
|
+
alreadyPresent: false,
|
|
169
|
+
added,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/** Whether a JSON config already names a `taskflow` server under `section`. */
|
|
173
|
+
export function jsonHasServer(text, section = "mcpServers") {
|
|
174
|
+
try {
|
|
175
|
+
const root = parseJsonObject(text, "config");
|
|
176
|
+
const s = root[section];
|
|
177
|
+
return isObject(s) && SERVER_NAME in s;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/** Whether a Codex config.toml already has the taskflow table. */
|
|
184
|
+
export function tomlHasServer(text) {
|
|
185
|
+
return text !== null && CODEX_TABLE.test(text);
|
|
186
|
+
}
|
|
187
|
+
/** Append `.taskflow.json` to a `.gitignore` text unless an entry already covers it. */
|
|
188
|
+
export function mergeGitignore(text) {
|
|
189
|
+
const current = text ?? "";
|
|
190
|
+
const covered = current
|
|
191
|
+
.split(/\r?\n/)
|
|
192
|
+
.map((l) => l.trim())
|
|
193
|
+
.some((l) => l === ".taskflow.json" || l === "/.taskflow.json" || l === ".taskflow*" || l === ".taskflow.*");
|
|
194
|
+
if (covered)
|
|
195
|
+
return { text: current, changed: false, alreadyPresent: true };
|
|
196
|
+
const prefix = current.length > 0 && !current.endsWith("\n") ? `${current}\n` : current;
|
|
197
|
+
return {
|
|
198
|
+
text: `${prefix}# TaskFlow agent credentials (secret keys)\n.taskflow.json\n`,
|
|
199
|
+
changed: true,
|
|
200
|
+
alreadyPresent: false,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* A minimal line diff for `--dry-run`: the lines removed (`-`) and added (`+`),
|
|
205
|
+
* with the unchanged common prefix/suffix collapsed. Config merges only ever
|
|
206
|
+
* append or insert one block, so this stays readable without an LCS.
|
|
207
|
+
*/
|
|
208
|
+
export function simpleDiff(before, after) {
|
|
209
|
+
const a = before === null || before === "" ? [] : before.replace(/\n$/, "").split("\n");
|
|
210
|
+
const b = after.replace(/\n$/, "").split("\n");
|
|
211
|
+
let start = 0;
|
|
212
|
+
while (start < a.length && start < b.length && a[start] === b[start])
|
|
213
|
+
start++;
|
|
214
|
+
let endA = a.length - 1;
|
|
215
|
+
let endB = b.length - 1;
|
|
216
|
+
while (endA >= start && endB >= start && a[endA] === b[endB]) {
|
|
217
|
+
endA--;
|
|
218
|
+
endB--;
|
|
219
|
+
}
|
|
220
|
+
const out = [];
|
|
221
|
+
if (start > 0)
|
|
222
|
+
out.push(` … ${start} unchanged line${start === 1 ? "" : "s"}`);
|
|
223
|
+
for (let i = start; i <= endA; i++)
|
|
224
|
+
out.push(`- ${a[i]}`);
|
|
225
|
+
for (let i = start; i <= endB; i++)
|
|
226
|
+
out.push(`+ ${b[i]}`);
|
|
227
|
+
const tail = a.length - 1 - endA;
|
|
228
|
+
if (tail > 0)
|
|
229
|
+
out.push(` … ${tail} unchanged line${tail === 1 ? "" : "s"}`);
|
|
230
|
+
return out;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=init-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-config.js","sourceRoot":"","sources":["../src/init-config.ts"],"names":[],"mappings":"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"}
|