From 304d14b1ab0b6e5f44b068eb8499b7cff3602845 Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Mon, 24 Nov 2025 22:35:30 +0800 Subject: [PATCH] feat(icons): add PackyCode provider icon support Add PackyCode as a supported AI provider icon with proper metadata and filtering configuration. Changes: - Add 'packycode' to icon filter whitelist in filter-icons.js - Register PackyCode metadata with display name, category, and keywords - Import PackyCode SVG icon file - Export icon through index.ts for use in provider configurations The PackyCode icon uses currentColor to adapt to theme styling. --- scripts/filter-icons.js | 1 + scripts/generate-icon-index.js | 1 + src/icons/extracted/index.ts | 1 + src/icons/extracted/metadata.ts | 7 +++++++ src/icons/extracted/packycode.svg | 1 + 5 files changed, 11 insertions(+) create mode 100644 src/icons/extracted/packycode.svg diff --git a/scripts/filter-icons.js b/scripts/filter-icons.js index d7448c69..b4567ff8 100644 --- a/scripts/filter-icons.js +++ b/scripts/filter-icons.js @@ -14,6 +14,7 @@ const KEEP_LIST = [ 'zhipu', 'chatglm', 'glm', 'minimax', 'mistral', 'cohere', 'perplexity', 'huggingface', 'midjourney', 'stability', 'xai', 'grok', 'yi', 'zeroone', 'ollama', + 'packycode', // Cloud/Tools 'aws', 'googlecloud', 'huawei', 'cloudflare', diff --git a/scripts/generate-icon-index.js b/scripts/generate-icon-index.js index 897a065e..3e13f687 100644 --- a/scripts/generate-icon-index.js +++ b/scripts/generate-icon-index.js @@ -24,6 +24,7 @@ const KNOWN_METADATA = { microsoft: { name: 'microsoft', displayName: 'Microsoft', category: 'ai-provider', keywords: ['copilot', 'azure'], defaultColor: '#00A4EF' }, cohere: { name: 'cohere', displayName: 'Cohere', category: 'ai-provider', keywords: ['cohere'], defaultColor: '#39594D' }, perplexity: { name: 'perplexity', displayName: 'Perplexity', category: 'ai-provider', keywords: ['perplexity'], defaultColor: '#20808D' }, + packycode: { name: 'packycode', displayName: 'PackyCode', category: 'ai-provider', keywords: ['packycode', 'packy', 'packyapi'], defaultColor: 'currentColor' }, mistral: { name: 'mistral', displayName: 'Mistral', category: 'ai-provider', keywords: ['mistral'], defaultColor: '#FF7000' }, huggingface: { name: 'huggingface', displayName: 'Hugging Face', category: 'ai-provider', keywords: ['huggingface', 'hf'], defaultColor: '#FFD21E' }, aws: { name: 'aws', displayName: 'AWS', category: 'cloud', keywords: ['amazon', 'cloud'], defaultColor: '#FF9900' }, diff --git a/src/icons/extracted/index.ts b/src/icons/extracted/index.ts index b79e3046..cac4d5aa 100644 --- a/src/icons/extracted/index.ts +++ b/src/icons/extracted/index.ts @@ -33,6 +33,7 @@ export const icons: Record = { notion: `Notion`, ollama: `Ollama`, openai: `OpenAI`, + packycode: `PackyCode`, palm: `PaLM`, perplexity: `Perplexity`, qwen: `Qwen`, diff --git a/src/icons/extracted/metadata.ts b/src/icons/extracted/metadata.ts index 7fe3bc6b..3caa7eea 100644 --- a/src/icons/extracted/metadata.ts +++ b/src/icons/extracted/metadata.ts @@ -219,6 +219,13 @@ export const iconMetadata: Record = { keywords: ["gpt", "chatgpt"], defaultColor: "#00A67E", }, + packycode: { + name: "packycode", + displayName: "PackyCode", + category: "ai-provider", + keywords: ["packycode", "packy", "packyapi"], + defaultColor: "currentColor", + }, palm: { name: "palm", displayName: "palm", diff --git a/src/icons/extracted/packycode.svg b/src/icons/extracted/packycode.svg new file mode 100644 index 00000000..600dd6b8 --- /dev/null +++ b/src/icons/extracted/packycode.svg @@ -0,0 +1 @@ +PackyCode \ No newline at end of file