feat(staged): add per-provider agent icons to picker and Doctor pane - #772
Merged
Conversation
Introduce a shared AgentIcon component that maps an ACP provider id to its brand mark, falling back to the Lucide Bot icon for unknown ids (including pi, which has no brand icon). Wire it into the agent picker (trigger + each dropdown row) and the Doctor settings Agents section (leading provider logo alongside a smaller status glyph). Icons are inline SVG ported faithfully from squareup/goose-internal (Claude, Codex, Amp, Copilot, Cursor) keeping their brand colors; Codex uses a per-instance unique gradient id to avoid collisions. Goose is the goose-internal PNG tinted with currentColor via a CSS mask, fetched into public/icons/agents/. No SVGR/build-config changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
Every AgentIcon call site renders the icon beside a visible text label (picker trigger/rows, Doctor row), so the icons are purely decorative. Make accessibility handling consistent across all branches: the Goose <span> now uses aria-hidden="true" instead of role="img" + aria-label (which announced "Goose" redundantly next to its label), and the Bot fallback passes aria-hidden="true" instead of inheriting Lucide's default. The brand SVGs already carried aria-hidden="true". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds per-provider agent icons that render in the agent picker and the Doctor pane.
AgentIcon.sveltecomponent that renders the appropriate icon per agent provider, with all variants marked decorative (aria-hidden).AgentSelector,DoctorCheckRow, andDoctorSettingsPanel.Changes
AgentIcon.svelte— new component mapping providers to iconsAgentSelector.svelte— show provider icon in the pickerDoctorCheckRow.svelte/DoctorSettingsPanel.svelte— show provider icon in the Doctor panepublic/icons/agents/goose-icon-mask.png— new asset🤖 Generated with Claude Code