/** * Subagent nickname pool — famous scientists, mathematicians, and computing pioneers. * Names are grouped by domain affinity so the nickname hints at the agent's role. */ /** Result of a nickname assignment. */ export interface NicknameAssignment { /** * Canonical pool key (e.g. `von-neumann`). This — NOT the display string — is * what callers must add to their `used` set and later remove on release. * Deriving the key by parsing the display string is unsafe: multi-word names * like "Von Neumann" would be truncated to "von" and never dedupe correctly. */ key: string; /** Human display string, e.g. `Von Neumann (Backend)`. */ display: string; } /** * Assign a unique nickname to a subagent based on its role. * * Returns both the canonical pool `key` (for the `used` set) and the formatted * `display` string (`Name (Role)`, e.g. `Einstein (Bug Hunter)`). * * @param role - The subagent's role id (e.g. 'bug-hunter', 'security-scanner') * @param used - Set of nickname KEYS already assigned in this fleet * (so no two subagents share the same base name) */ export declare function assignNickname(role: string, used: ReadonlySet): NicknameAssignment; /** * Resolve a previously-assigned display string back to its canonical pool key, * for release paths that only retained the formatted name (e.g. a manifest * entry). Strips the trailing ` (Role)` suffix, then matches the base name * against the pool. Returns `undefined` when the name is not a known nickname. * * Use this instead of `name.split(' ')[0]` — the latter mangles multi-word * names like "Von Neumann" and "Berners-Lee". */ export declare function nicknameKeyFromDisplay(display: string): string | undefined; /** * Returns all available nickname keys. Useful for testing or reset logic. */ export declare function getAllNicknameKeys(): string[]; //# sourceMappingURL=subagent-nicknames.d.ts.map