export type CommandKind = "help" | "status" | "cancel" | "new" | "retired-role"; export interface ParsedCommand { kind: CommandKind; } export class CommandRouter { parse(text: string): ParsedCommand | undefined { const trimmed = text.trim(); if (!trimmed.startsWith("/")) return undefined; const [command] = trimmed.split(/\s+/); switch (command.toLowerCase()) { case "/help": return { kind: "help" }; case "/status": return { kind: "status" }; case "/cancel": return { kind: "cancel" }; case "/new": return { kind: "new" }; case "/roles": case "/role": case "/agents": case "/agent": return { kind: "retired-role" }; default: return undefined; } } }