@dollhousemcp/mcp-server
Version:
DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.
66 lines • 2.37 kB
TypeScript
/**
* Friendly session names drawn from famous puppets, marionettes,
* and puppet characters throughout history.
*
* Names are assigned from a pool and returned after a cooldown period
* when sessions end. This keeps the active session list human-readable
* and on-brand for DollhouseMCP.
*
* @since v2.1.0 — Issue #1700
*/
/**
* Famous puppets, marionettes, and puppet characters from around the world.
* Order doesn't matter — the pool is shuffled on startup.
*/
export declare const ALL_PUPPET_NAMES: readonly string[];
/**
* Iconic attire and accessories drawn from famous dolls, puppets, and
* theatrical characters throughout history. Used to name console tokens
* so they never collide with the session puppet-name pool (#1871).
*
* Names evoke costume pieces — a token is something you wear or carry,
* not a person.
*/
export declare const ALL_TOKEN_NAMES: readonly string[];
/**
* Pick a random token name from the attire pool.
* Used by the console token module to name newly created tokens (#1871).
* Drawn from a separate pool to avoid collision with session puppet names.
*/
export declare function pickRandomTokenName(): string;
/**
* Manages friendly session name assignment from the puppet name pool.
*/
export declare class SessionNamePool {
/** Names currently assigned to active sessions: sessionId → name */
private readonly assigned;
/** Reverse lookup: name → sessionId */
private readonly nameToSession;
/** Names in cooldown after session end */
private cooldown;
/**
* Assign a friendly name to a session.
* Returns an existing assignment if the session already has one.
*
* @param isLeader - If true, follower-only names (e.g., Punch) are excluded
*/
assign(sessionId: string, isLeader?: boolean): string;
/**
* Release a name back to the pool with a cooldown period.
*/
release(sessionId: string): void;
/**
* Get the friendly name for a session, or undefined if not assigned.
*/
getName(sessionId: string): string | undefined;
/**
* Get the canonical color for an assigned session name.
*/
getColor(sessionId: string): string | undefined;
/**
* Get all current assignments.
*/
getAll(): Map<string, string>;
private flushCooldowns;
}
//# sourceMappingURL=SessionNames.d.ts.map