/** * Agent config keys to display names mapping. * Config keys are lowercase (e.g., "loom", "thread"). * Display names include role suffixes for UI (e.g., "Loom (Main Orchestrator)"). * * OpenCode uses the agent key in config.agent as the display name in the UI, * so we remap lowercase config keys to descriptive display names. * * This map is mutable — custom agents can register display names via * registerAgentDisplayName(). */ export declare const AGENT_DISPLAY_NAMES: Record; /** * Reset the mutable display name map to its initial state. * Used by tests to prevent cross-test state pollution. */ export declare function resetDisplayNames(): void; /** * Register a display name for an agent config key. * Custom agents call this so getAgentDisplayName/getAgentConfigKey work for them. * * Throws if the display name collides with a built-in agent's display name, * or if the config key is a built-in agent name. */ export declare function registerAgentDisplayName(configKey: string, displayName: string): void; /** * Override the display name for a built-in agent. * Unlike registerAgentDisplayName (which guards against builtin config keys), * this function is specifically for user-configured builtin display names. * * Only accepts known builtin config keys. Throws for unknown keys. * Invalidates the reverse lookup cache so getAgentConfigKey reflects the new name. */ export declare function updateBuiltinDisplayName(configKey: string, displayName: string): void; /** * Get display name for an agent config key. * Uses case-insensitive lookup for flexibility. * Returns original key if not found in the mapping. */ export declare function getAgentDisplayName(configKey: string): string; /** * Resolve an agent name (display name or config key) to its lowercase config key. * "Loom (Main Orchestrator)" → "loom", "loom" → "loom", "unknown" → "unknown" */ export declare function getAgentConfigKey(agentName: string): string;