import { describe, it, expect } from "bun:test" import { remapAgentKeysToDisplayNames } from "./agent-key-remapper" describe("remapAgentKeysToDisplayNames", () => { it("remaps known agent keys to display names", () => { // given agents with lowercase keys const agents = { sisyphus: { prompt: "test", mode: "primary" }, oracle: { prompt: "test", mode: "subagent" }, } // when remapping const result = remapAgentKeysToDisplayNames(agents) // then known agents get display name keys expect(result["Sisyphus (Ultraworker)"]).toBeDefined() expect(result["oracle"]).toBeDefined() expect(result["sisyphus"]).toBeUndefined() }) it("preserves unknown agent keys unchanged", () => { // given agents with a custom key const agents = { "custom-agent": { prompt: "custom" }, } // when remapping const result = remapAgentKeysToDisplayNames(agents) // then custom key is unchanged expect(result["custom-agent"]).toBeDefined() }) it("remaps all core agents", () => { // given all core agents const agents = { sisyphus: {}, hephaestus: {}, prometheus: {}, atlas: {}, athena: {}, metis: {}, momus: {}, "sisyphus-junior": {}, } // when remapping const result = remapAgentKeysToDisplayNames(agents) // then all get display name keys expect(Object.keys(result)).toEqual([ "Sisyphus (Ultraworker)", "Hephaestus (Deep Agent)", "Prometheus (Plan Builder)", "Atlas (Plan Executor)", "Athena (Council)", "Metis (Plan Consultant)", "Momus (Plan Critic)", "Sisyphus-Junior", ]) }) })