From ec8b9810b4231cd6a5c69ccd930b6c50999fc997 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:06:23 -0500 Subject: feat(app): better subagent experience (#20708) --- packages/app/src/utils/agent.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'packages/app/src/utils') 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 = { 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( -- cgit v1.2.3