feat(relay): expand to dev-c role + python/ts MCP fallback shims

queue.ts and server.ts now know about dev-c alongside pm/dev-a/dev-b
so the four-role coordination paradigm works end-to-end. start.sh
opens a fourth window for dev-c. call.py and call.ts are HTTP shims
that agents can use when the MCP relay tools aren't registered in
their session (the kickoff prompts reference call.py by path as a
fallback).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-05-05 17:49:21 -04:00
parent 29146439bb
commit dd0010db62
5 changed files with 152 additions and 41 deletions

View File

@@ -1,6 +1,6 @@
import { randomUUID } from "node:crypto";
export type Role = "pm" | "dev-a" | "dev-b";
export type Role = "pm" | "dev-a" | "dev-b" | "dev-c";
export type MessageKind = "status" | "question" | "directive" | "free";
export interface RelayMessage {
@@ -12,7 +12,7 @@ export interface RelayMessage {
ts: string;
}
const KNOWN_ROLES = new Set<string>(["pm", "dev-a", "dev-b"]);
const KNOWN_ROLES = new Set<string>(["pm", "dev-a", "dev-b", "dev-c"]);
export function isRole(s: string): s is Role {
return KNOWN_ROLES.has(s);
@@ -23,6 +23,7 @@ export class RelayQueue {
["pm", []],
["dev-a", []],
["dev-b", []],
["dev-c", []],
]);
post(from: Role, to: Role, kind: MessageKind, body: string): RelayMessage {