fix(ui): friendly name and icon for the get_ast_outline tool card
Nightly Build / build (push) Successful in 7m54s
Nightly Build / build (push) Successful in 7m54s
get_ast_outline was the one registry tool with no Tool::display_name and no Tool::icon, so its chat card fell back to the raw function id and the generic Filesystem glyph. It now declares "Code Outline" plus a new semantic icon key 'outline', mapped frontend-side to bi-list-nested with its own accent var in both themes.
This commit is contained in:
@@ -115,8 +115,8 @@ pub trait Tool: Send + Sync {
|
||||
|
||||
/// Semantic icon key for the chat card — **not** a glyph. The frontend maps the
|
||||
/// key to a concrete icon + accent color (themeable), so the core commits to a
|
||||
/// meaning, never a look. Known keys: `edit`, `read`, `list`, `search`, `shell`,
|
||||
/// `subagent`, `image`, `config`, `introspection`. The default derives from
|
||||
/// meaning, never a look. Known keys: `edit`, `read`, `list`, `search`, `outline`,
|
||||
/// `shell`, `subagent`, `image`, `config`, `introspection`. The default derives from
|
||||
/// [`category`](Self::category).
|
||||
fn icon(&self) -> &str {
|
||||
match self.category() {
|
||||
|
||||
@@ -23,6 +23,8 @@ impl AstOutline {
|
||||
impl Tool for AstOutline {
|
||||
fn name(&self) -> &str { "get_ast_outline" }
|
||||
fn category(&self) -> crate::tools::ToolCategory { crate::tools::ToolCategory::Filesystem }
|
||||
fn display_name(&self) -> &str { "Code Outline" }
|
||||
fn icon(&self) -> &str { "outline" }
|
||||
|
||||
fn description(&self) -> &str {
|
||||
"Start here when you need to understand a source file you don't already know — especially a large one. \
|
||||
|
||||
@@ -19,6 +19,7 @@ const TOOL_ICON = {
|
||||
read: { glyph: 'bi-file-earmark-text', cls: 'tool-ico--read' },
|
||||
list: { glyph: 'bi-folder2-open', cls: 'tool-ico--list' },
|
||||
search: { glyph: 'bi-search', cls: 'tool-ico--search' },
|
||||
outline: { glyph: 'bi-list-nested', cls: 'tool-ico--outline' },
|
||||
shell: { glyph: 'bi-terminal', cls: 'tool-ico--shell' },
|
||||
subagent: { glyph: 'bi-diagram-3', cls: 'tool-ico--subagent' },
|
||||
image: { glyph: 'bi-image', cls: 'tool-ico--image' },
|
||||
|
||||
@@ -260,6 +260,7 @@
|
||||
.tool-ico--read { color: var(--tool-read); }
|
||||
.tool-ico--list { color: var(--tool-list); }
|
||||
.tool-ico--search { color: var(--tool-search); }
|
||||
.tool-ico--outline { color: var(--tool-outline); }
|
||||
.tool-ico--shell { color: var(--tool-shell); }
|
||||
.tool-ico--subagent { color: var(--tool-subagent); }
|
||||
.tool-ico--image { color: var(--tool-image); }
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
--tool-read: #0891b2;
|
||||
--tool-list: #7c3aed;
|
||||
--tool-search: #9333ea;
|
||||
--tool-outline: #0d9488;
|
||||
--tool-shell: #475569;
|
||||
--tool-subagent: #0d9488;
|
||||
--tool-image: #db2777;
|
||||
@@ -85,6 +86,7 @@
|
||||
--tool-read: #22d3ee;
|
||||
--tool-list: #a78bfa;
|
||||
--tool-search: #c084fc;
|
||||
--tool-outline: #2dd4bf;
|
||||
--tool-shell: #94a3b8;
|
||||
--tool-subagent: #2dd4bf;
|
||||
--tool-image: #f472b6;
|
||||
|
||||
Reference in New Issue
Block a user