diff options
Diffstat (limited to 'packages/app/src/utils')
| -rw-r--r-- | packages/app/src/utils/agent.ts | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/packages/app/src/utils/agent.ts b/packages/app/src/utils/agent.ts index 390932a13..59da53af1 100644 --- a/packages/app/src/utils/agent.ts +++ b/packages/app/src/utils/agent.ts @@ -5,9 +5,30 @@ const defaults: Record<string, string> = { plan: "var(--icon-agent-plan-base)", } +const palette = [ + "var(--icon-agent-ask-base)", + "var(--icon-agent-build-base)", + "var(--icon-agent-docs-base)", + "var(--icon-agent-plan-base)", + "var(--syntax-info)", + "var(--syntax-success)", + "var(--syntax-warning)", + "var(--syntax-property)", + "var(--syntax-constant)", + "var(--text-diff-add-base)", + "var(--text-diff-delete-base)", + "var(--icon-warning-base)", +] + +function tone(name: string) { + let hash = 0 + for (const char of name) hash = (hash * 31 + char.charCodeAt(0)) >>> 0 + return palette[hash % palette.length] +} + export function agentColor(name: string, custom?: string) { if (custom) return custom - return defaults[name] ?? defaults[name.toLowerCase()] + return defaults[name] ?? defaults[name.toLowerCase()] ?? tone(name.toLowerCase()) } export function messageAgentColor( |
