agent-coord-mcp 0.25.2 → 0.25.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/dist/roles.js +21 -2
- package/dist/roles.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/tools/registry.js +10 -1
- package/dist/tools/registry.js.map +1 -1
- package/hooks/peek-coord.mjs +0 -0
- package/hooks/roles.mjs +6 -5
- package/hooks/tmux-pusher.mjs +0 -0
- package/package.json +15 -13
- package/scripts/check-test-count.mjs +1 -1
- package/scripts/coord-node.sh +0 -0
- package/scripts/coord-token.mjs +0 -0
- package/scripts/spawn-agent.sh +0 -0
- package/scripts/stop-agent.sh +0 -0
- package/src/roles.ts +22 -1
- package/src/server.ts +1 -1
- package/src/tools/registry.ts +11 -1
package/dist/roles.js
CHANGED
|
@@ -48,10 +48,29 @@ export function roleMatches(role, allowedIds) {
|
|
|
48
48
|
return false;
|
|
49
49
|
if (allowedIds.has(resolved.roleId))
|
|
50
50
|
return true;
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
// Word-split applies to DECLARED ids too. It used to be derived-only ("frozen
|
|
52
|
+
// ids match exactly"), which made precision cost authority: {roleId:"coord-qa"}
|
|
53
|
+
// was refused `verdict` while the vaguer bare string "coord-qa" passed via the
|
|
54
|
+
// split — cass QA's verdicts were never machine-authorized (2026-08-21).
|
|
55
|
+
// Freezing still governs identity (the id cannot change); it must never grant
|
|
56
|
+
// LESS than the derived twin of the same spelling.
|
|
53
57
|
return resolved.roleId.split("-").some((word) => allowedIds.has(word));
|
|
54
58
|
}
|
|
59
|
+
// The canonical role vocabulary — every authority set plus the classes the
|
|
60
|
+
// cards register. Not an allowlist: any roleId may register; a non-canonical
|
|
61
|
+
// one gets a warning naming this set so the next card uses the exact spelling.
|
|
62
|
+
export const CANONICAL_ROLE_IDS = new Set([
|
|
63
|
+
"coordinator",
|
|
64
|
+
"worker",
|
|
65
|
+
"aide",
|
|
66
|
+
"qa",
|
|
67
|
+
"quality",
|
|
68
|
+
"gate",
|
|
69
|
+
"ci",
|
|
70
|
+
"audit",
|
|
71
|
+
"automation",
|
|
72
|
+
"human",
|
|
73
|
+
]);
|
|
55
74
|
export function isGateRunner(role) {
|
|
56
75
|
return roleMatches(role, GATE_RUNNER_ROLE_IDS);
|
|
57
76
|
}
|
package/dist/roles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,gCAAgC;AAChC,EAAE;AACF,6EAA6E;AAC7E,YAAY;AAEZ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SACtB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7D,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAE3D,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW;YACtD,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI;gBACX,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzF,IAAI,IAAI;YAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,UAAuB;IAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -160,7 +160,7 @@ function buildServer(initialBound, opts = {}) {
|
|
|
160
160
|
}
|
|
161
161
|
const server = new McpServer({
|
|
162
162
|
name: "agent-coord",
|
|
163
|
-
version: "0.25.
|
|
163
|
+
version: "0.25.3",
|
|
164
164
|
});
|
|
165
165
|
const addTool = (name, description, inputSchema, cb) => {
|
|
166
166
|
server.registerTool(name, { description, inputSchema: z.object(inputSchema) }, async (args) => cb((args ?? {})));
|
package/dist/tools/registry.js
CHANGED
|
@@ -2,7 +2,7 @@ import { detachAgentTool } from "./transport.js";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { AGENTS_FILE, ROOMS_FILE, appendJsonl, cursorFile, deleteFile, inboxFile, listTransportFiles, memberRooms, readJson, roomFile, rotateAgentToken, transportFile, TRANSPORT_DIR, updateJson, listSessionFiles, readJsonStrict, } from "../store.js";
|
|
5
|
-
import { recordAuthorityFor, resolveRole, roleInputSchema } from "../roles.js";
|
|
5
|
+
import { recordAuthorityFor, resolveRole, CANONICAL_ROLE_IDS, roleInputSchema } from "../roles.js";
|
|
6
6
|
import { sysMsg, moveFile, STALE_MS, EVICT_MS, } from "./shared.js";
|
|
7
7
|
// ---------- register ----------
|
|
8
8
|
export const registerSchema = {
|
|
@@ -69,8 +69,17 @@ export async function registerTool(args) {
|
|
|
69
69
|
// is how an agent whose role owns `go`/`scope`/`verdict` finds out at
|
|
70
70
|
// onboarding that it has to declare that role.
|
|
71
71
|
const authority = recordAuthorityFor(entry);
|
|
72
|
+
// A declared, non-canonical roleId still works (word-split carries authority),
|
|
73
|
+
// but the next card should use the exact spelling — say so at onboarding, the
|
|
74
|
+
// one moment the agent is reading its registration.
|
|
75
|
+
const canonWarning = entry.roleId && !CANONICAL_ROLE_IDS.has(entry.roleId)
|
|
76
|
+
? `roleId '${entry.roleId}' is not canonical (canonical: ${[...CANONICAL_ROLE_IDS].join(", ")}). ` +
|
|
77
|
+
`It keeps any authority its words carry (e.g. 'coord-qa' → 'qa'), but prefer the canonical id — ` +
|
|
78
|
+
`role:{roleId:"<canonical>", displayName:"${entry.role ?? entry.roleId}"}.`
|
|
79
|
+
: undefined;
|
|
72
80
|
return {
|
|
73
81
|
ok: true,
|
|
82
|
+
...(canonWarning ? { warning: canonWarning } : {}),
|
|
74
83
|
agent: entry,
|
|
75
84
|
resolvedRole: resolveRole(entry),
|
|
76
85
|
recordAuthority: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
package/hooks/peek-coord.mjs
CHANGED
|
File without changes
|
package/hooks/roles.mjs
CHANGED
|
@@ -62,15 +62,16 @@ export function resolveRole(role) {
|
|
|
62
62
|
|
|
63
63
|
// Does this role carry one of `allowedIds`?
|
|
64
64
|
//
|
|
65
|
-
//
|
|
66
|
-
// derived
|
|
67
|
-
//
|
|
68
|
-
//
|
|
65
|
+
// Both declared and derived ids match on any of their hyphen-separated words
|
|
66
|
+
// (the derived path reproduces the pre-Task-4 prose regex
|
|
67
|
+
// /\b(qa|quality|coordinator|gate)\b/i). Declared used to be exact-only, which
|
|
68
|
+
// made precision cost authority — {roleId:"coord-qa"} refused `verdict` while
|
|
69
|
+
// the bare string "coord-qa" passed (cass, 2026-08-21). Freezing governs
|
|
70
|
+
// identity, never a reduction of authority vs the same spelling derived.
|
|
69
71
|
export function roleMatches(role, allowedIds) {
|
|
70
72
|
const resolved = resolveRole(role);
|
|
71
73
|
if (!resolved) return false;
|
|
72
74
|
if (allowedIds.has(resolved.roleId)) return true;
|
|
73
|
-
if (resolved.explicit) return false;
|
|
74
75
|
return resolved.roleId.split("-").some((word) => allowedIds.has(word));
|
|
75
76
|
}
|
|
76
77
|
|
package/hooks/tmux-pusher.mjs
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-coord-mcp",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.3",
|
|
4
4
|
"description": "File-backed MCP server for coordinating multiple AI coding agents (Claude Code, Cursor, Cline, etc.). Local stdio or networked over Streamable HTTP.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,6 +8,17 @@
|
|
|
8
8
|
"coord-chat": "scripts/coord-chat.mjs",
|
|
9
9
|
"coord-pusher": "scripts/coord-pusher.mjs"
|
|
10
10
|
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
13
|
+
"build": "pnpm run clean && tsc",
|
|
14
|
+
"prepare": "node scripts/check-self-dependency.mjs && pnpm run clean && tsc",
|
|
15
|
+
"prepack": "node scripts/check-self-dependency.mjs && pnpm run build",
|
|
16
|
+
"start": "node dist/server.js",
|
|
17
|
+
"dev": "tsx src/server.ts",
|
|
18
|
+
"pretest": "node scripts/check-self-dependency.mjs && tsc",
|
|
19
|
+
"test": "node scripts/check-test-count.mjs",
|
|
20
|
+
"test:raw": "node --test \"test/*.test.mjs\""
|
|
21
|
+
},
|
|
11
22
|
"files": [
|
|
12
23
|
"dist",
|
|
13
24
|
"src",
|
|
@@ -43,24 +54,15 @@
|
|
|
43
54
|
"node": ">=18"
|
|
44
55
|
},
|
|
45
56
|
"dependencies": {
|
|
57
|
+
"@davidbalzan/groundwork-seam": "workspace:*",
|
|
46
58
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
47
59
|
"proper-lockfile": "^4.1.2",
|
|
48
|
-
"zod": "^4.4.3"
|
|
49
|
-
"@davidbalzan/groundwork-seam": "0.1.2"
|
|
60
|
+
"zod": "^4.4.3"
|
|
50
61
|
},
|
|
51
62
|
"devDependencies": {
|
|
52
63
|
"@types/node": "^26.2.0",
|
|
53
64
|
"@types/proper-lockfile": "^4.1.4",
|
|
54
65
|
"tsx": "^4.23.12",
|
|
55
66
|
"typescript": "^7.0.2"
|
|
56
|
-
},
|
|
57
|
-
"scripts": {
|
|
58
|
-
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
59
|
-
"build": "pnpm run clean && tsc",
|
|
60
|
-
"start": "node dist/server.js",
|
|
61
|
-
"dev": "tsx src/server.ts",
|
|
62
|
-
"pretest": "node scripts/check-self-dependency.mjs && tsc",
|
|
63
|
-
"test": "node scripts/check-test-count.mjs",
|
|
64
|
-
"test:raw": "node --test \"test/*.test.mjs\""
|
|
65
67
|
}
|
|
66
|
-
}
|
|
68
|
+
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
import { spawn } from "node:child_process";
|
|
24
24
|
|
|
25
|
-
const EXPECTED_TESTS =
|
|
25
|
+
const EXPECTED_TESTS = 286;
|
|
26
26
|
|
|
27
27
|
const expected = Number(process.env.AGENT_COORD_EXPECTED_TESTS ?? EXPECTED_TESTS);
|
|
28
28
|
// Same glob the suite always used — `--test test/` would recurse differently
|
package/scripts/coord-node.sh
CHANGED
|
File without changes
|
package/scripts/coord-token.mjs
CHANGED
|
File without changes
|
package/scripts/spawn-agent.sh
CHANGED
|
File without changes
|
package/scripts/stop-agent.sh
CHANGED
|
File without changes
|
package/src/roles.ts
CHANGED
|
@@ -62,10 +62,31 @@ export function roleMatches(role: RoleInput, allowedIds: Set<string>): boolean {
|
|
|
62
62
|
const resolved = resolveRole(role);
|
|
63
63
|
if (!resolved) return false;
|
|
64
64
|
if (allowedIds.has(resolved.roleId)) return true;
|
|
65
|
-
|
|
65
|
+
// Word-split applies to DECLARED ids too. It used to be derived-only ("frozen
|
|
66
|
+
// ids match exactly"), which made precision cost authority: {roleId:"coord-qa"}
|
|
67
|
+
// was refused `verdict` while the vaguer bare string "coord-qa" passed via the
|
|
68
|
+
// split — cass QA's verdicts were never machine-authorized (2026-08-21).
|
|
69
|
+
// Freezing still governs identity (the id cannot change); it must never grant
|
|
70
|
+
// LESS than the derived twin of the same spelling.
|
|
66
71
|
return resolved.roleId.split("-").some((word) => allowedIds.has(word));
|
|
67
72
|
}
|
|
68
73
|
|
|
74
|
+
// The canonical role vocabulary — every authority set plus the classes the
|
|
75
|
+
// cards register. Not an allowlist: any roleId may register; a non-canonical
|
|
76
|
+
// one gets a warning naming this set so the next card uses the exact spelling.
|
|
77
|
+
export const CANONICAL_ROLE_IDS = new Set([
|
|
78
|
+
"coordinator",
|
|
79
|
+
"worker",
|
|
80
|
+
"aide",
|
|
81
|
+
"qa",
|
|
82
|
+
"quality",
|
|
83
|
+
"gate",
|
|
84
|
+
"ci",
|
|
85
|
+
"audit",
|
|
86
|
+
"automation",
|
|
87
|
+
"human",
|
|
88
|
+
]);
|
|
89
|
+
|
|
69
90
|
export function isGateRunner(role: RoleInput): boolean {
|
|
70
91
|
return roleMatches(role, GATE_RUNNER_ROLE_IDS);
|
|
71
92
|
}
|
package/src/server.ts
CHANGED
package/src/tools/registry.ts
CHANGED
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
type RoomRegistry,
|
|
52
52
|
type SessionBinding,
|
|
53
53
|
} from "../store.js";
|
|
54
|
-
import { recordAuthorityFor, resolveRole, roleInputSchema, type RoleArg } from "../roles.js";
|
|
54
|
+
import { recordAuthorityFor, resolveRole, CANONICAL_ROLE_IDS, roleInputSchema, type RoleArg } from "../roles.js";
|
|
55
55
|
import {
|
|
56
56
|
type AgentEntry,
|
|
57
57
|
type AgentRegistry,
|
|
@@ -145,8 +145,18 @@ export async function registerTool(args: { agentId: string; project?: string; ro
|
|
|
145
145
|
// is how an agent whose role owns `go`/`scope`/`verdict` finds out at
|
|
146
146
|
// onboarding that it has to declare that role.
|
|
147
147
|
const authority = recordAuthorityFor(entry);
|
|
148
|
+
// A declared, non-canonical roleId still works (word-split carries authority),
|
|
149
|
+
// but the next card should use the exact spelling — say so at onboarding, the
|
|
150
|
+
// one moment the agent is reading its registration.
|
|
151
|
+
const canonWarning =
|
|
152
|
+
entry.roleId && !CANONICAL_ROLE_IDS.has(entry.roleId)
|
|
153
|
+
? `roleId '${entry.roleId}' is not canonical (canonical: ${[...CANONICAL_ROLE_IDS].join(", ")}). ` +
|
|
154
|
+
`It keeps any authority its words carry (e.g. 'coord-qa' → 'qa'), but prefer the canonical id — ` +
|
|
155
|
+
`role:{roleId:"<canonical>", displayName:"${entry.role ?? entry.roleId}"}.`
|
|
156
|
+
: undefined;
|
|
148
157
|
return {
|
|
149
158
|
ok: true as const,
|
|
159
|
+
...(canonWarning ? { warning: canonWarning } : {}),
|
|
150
160
|
agent: entry,
|
|
151
161
|
resolvedRole: resolveRole(entry),
|
|
152
162
|
recordAuthority: {
|