Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.5 kB · 66 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667import { getAgentColorMap } from '../../bootstrap/state.js'import type { Theme } from '../../utils/theme.js'
export type AgentColorName = | 'red' | 'blue' | 'green' | 'yellow' | 'purple' | 'orange' | 'pink' | 'cyan'
export const AGENT_COLORS: readonly AgentColorName[] = [ 'red', 'blue', 'green', 'yellow', 'purple', 'orange', 'pink', 'cyan',] as const
export const AGENT_COLOR_TO_THEME_COLOR = { red: 'red_FOR_SUBAGENTS_ONLY', blue: 'blue_FOR_SUBAGENTS_ONLY', green: 'green_FOR_SUBAGENTS_ONLY', yellow: 'yellow_FOR_SUBAGENTS_ONLY', purple: 'purple_FOR_SUBAGENTS_ONLY', orange: 'orange_FOR_SUBAGENTS_ONLY', pink: 'pink_FOR_SUBAGENTS_ONLY', cyan: 'cyan_FOR_SUBAGENTS_ONLY',} as const satisfies Record<AgentColorName, keyof Theme>
export function getAgentColor(agentType: string): keyof Theme | undefined { if (agentType === 'general-purpose') { return undefined }
const agentColorMap = getAgentColorMap()
// Check if color already assigned const existingColor = agentColorMap.get(agentType) if (existingColor && AGENT_COLORS.includes(existingColor)) { return AGENT_COLOR_TO_THEME_COLOR[existingColor] }
return undefined}
export function setAgentColor( agentType: string, color: AgentColorName | undefined,): void { const agentColorMap = getAgentColorMap()
if (!color) { agentColorMap.delete(agentType) return }
if (AGENT_COLORS.includes(color)) { agentColorMap.set(agentType, color) }}