diff --git a/packages/ui/src/components/chat/PermissionCard.tsx b/packages/ui/src/components/chat/PermissionCard.tsx
index ae243290..cd63576b 100644
--- a/packages/ui/src/components/chat/PermissionCard.tsx
+++ b/packages/ui/src/components/chat/PermissionCard.tsx
@@ -66,6 +66,14 @@ const getToolIcon = (toolName: string) => {
return ;
}
+ if (tool === 'linear' || tool.startsWith('linear_')) {
+ return ;
+ }
+
+ if (tool === 'cloudflare' || tool.startsWith('cloudflare_') || tool === 'claudflare' || tool.startsWith('claudflare_')) {
+ return ;
+ }
+
return ;
};
diff --git a/packages/ui/src/components/chat/message/parts/toolPresentation.tsx b/packages/ui/src/components/chat/message/parts/toolPresentation.tsx
index f4b627ba..df6edd59 100644
--- a/packages/ui/src/components/chat/message/parts/toolPresentation.tsx
+++ b/packages/ui/src/components/chat/message/parts/toolPresentation.tsx
@@ -56,6 +56,12 @@ export const getToolIcon = (toolName: string) => {
if (tool === 'openchamber') {
return ;
}
+ if (tool === 'linear' || tool.startsWith('linear_')) {
+ return ;
+ }
+ if (tool === 'cloudflare' || tool.startsWith('cloudflare_') || tool === 'claudflare' || tool.startsWith('claudflare_')) {
+ return ;
+ }
if (tool === 'openchamber_web') {
return ;
}
diff --git a/packages/ui/src/components/icon/sprite.ts b/packages/ui/src/components/icon/sprite.ts
index d6da37c9..f02f026d 100644
--- a/packages/ui/src/components/icon/sprite.ts
+++ b/packages/ui/src/components/icon/sprite.ts
@@ -2,6 +2,8 @@
// Do not edit manually. Run the script to update.
export const iconSpriteData = {
+ "linear": ``,
+ "cloudflare": ``,
"add": ``,
"add-circle": ``,
"ai-agent": ``,
diff --git a/scripts/generate-icon-sprite.mjs b/scripts/generate-icon-sprite.mjs
index 3098bb05..1732625a 100644
--- a/scripts/generate-icon-sprite.mjs
+++ b/scripts/generate-icon-sprite.mjs
@@ -37,6 +37,16 @@ const customIconData = new Map([
"command-code",
``,
],
+ // Linear logo, adapted from the supplied 100x100 mark to the 24x24 sprite viewBox.
+ [
+ "linear",
+ ``,
+ ],
+ // Cloudflare logo, reduced to a single currentColor silhouette.
+ [
+ "cloudflare",
+ ``,
+ ],
])
const source = readFileSync(remixPath, "utf-8")