// Hand-curated icon index with optimized SVG content and custom name mappings. // Update entries deliberately; automatic regeneration is intentionally unsupported. import _a6api from "./a6-icon.png"; import _apikeyfun from "./apikeyfun.png"; import _apinebula from "./apinebula_icon.png"; import _atlascloud from "./atlascloud_icon.png"; import _claudeapi from "./ClaudeApi.png"; import _byteplus from "./byteplus.png"; import _ccsub from "./ccsub.svg?url"; import _claudecn from "./claudecn.png"; import _cherryin from "./cherryin.png"; import _code0 from "./code0.png"; import _eflowcode from "./eflowcode.png"; import _etok from "./etok.png"; import _fenno from "./fenno-icon.webp"; import _hermes from "./hermes.png"; import _huoshan from "./huoshan.png"; import _nekocode from "./nekocode-icon.png"; import _pateway from "./pateway.jpg"; import _pipellm from "./pipellm.png"; import _qiniu from "./qiniu.png"; import _relaxcode from "./relaxcode.png"; import _runapi from "./runapi.jpg"; import _shengsuanyun from "./shengsuanyun.svg?url"; import _subrouter from "./subrouter.svg?url"; import _sudocode from "./sudocode.png"; import _sudocodeUs from "./sudocode-us.png"; import _teamorouter from "./TeamoRouter-icon-dark.png"; import _unity2 from "./unity2.png"; import _zetaapi from "./zetaapi-icon.png"; export const icons: Record = { aicodemirror: `AICodeMirror`, aicoding: `AICoding`, aigocode: `AiGoCode`, alibaba: `Alibaba`, amux: `Amux`, anthropic: `Anthropic`, aws: `AWS`, azure: `Azure`, baidu: `Baidu`, bytedance: `ByteDance`, chatglm: `ChatGLM`, claude: `Claude`, cloudflare: `Cloudflare`, cohere: `Cohere`, copilot: `Copilot`, crazyrouter: `CrazyRouter`, cubence: `Cubence`, deepseek: `DeepSeek`, doubao: `Doubao`, gemini: `Gemini`, gemma: `Gemma`, github: `Github`, githubcopilot: `GithubCopilot`, google: `Google`, googlecloud: `GoogleCloud`, grok: `Grok`, huawei: `Huawei`, huggingface: `HuggingFace`, hunyuan: `Hunyuan`, kimi: `Kimi`, meta: `Meta`, midjourney: `Midjourney`, minimax: `Minimax`, zenmux: `ZenMux`, mistral: `Mistral`, newapi: `NewAPI`, notion: `Notion`, ollama: `Ollama`, openai: `OpenAI`, openclaw: `OpenClaw`, packycode: `PackyCode`, palm: `PaLM`, perplexity: `Perplexity`, qwen: `Qwen`, stability: `Stability`, tencent: `Tencent`, vercel: `Vercel`, wenxin: `Wenxin`, xai: `Grok`, xiaomimimo: `Logo`, yi: `Yi`, zeroone: `01.AI`, zhipu: `Zhipu`, openrouter: `OpenRouter`, rc: `RightCode`, lioncc: `LionCC`, longcat: `LongCat`, modelscope: `ModelScope`, aihubmix: `AiHubMix`, opencode: `OpenCode`, siliconflow: `SiliconCloud`, micu: `Micu`, ucloud: `UCloud`, sssaicode: `SSAI Code1001 11010110 101110 110SSSSAiCode`, stepfun: `StepFun`, catcoder: `KwaiKAT`, mcp: `ModelContextProtocol`, novita: `Novita`, nvidia: `Nvidia`, bailian: `BaiLian`, }; export const iconUrls: Record = { a6api: _a6api, apikeyfun: _apikeyfun, apinebula: _apinebula, atlascloud: _atlascloud, byteplus: _byteplus, ccsub: _ccsub, claudeapi: _claudeapi, claudecn: _claudecn, cherryin: _cherryin, code0: _code0, eflowcode: _eflowcode, etok: _etok, fenno: _fenno, hermes: _hermes, huoshan: _huoshan, nekocode: _nekocode, pateway: _pateway, pipellm: _pipellm, qiniu: _qiniu, relaxcode: _relaxcode, runapi: _runapi, shengsuanyun: _shengsuanyun, subrouter: _subrouter, sudocode: _sudocode, "sudocode-us": _sudocodeUs, teamorouter: _teamorouter, unity2: _unity2, zetaapi: _zetaapi, }; export const iconList = [ ...Object.keys(icons), ...Object.keys(iconUrls), ].sort(); export function getIcon(name: string): string { return icons[name.toLowerCase()] || ""; } export function getIconUrl(name: string): string { return iconUrls[name.toLowerCase()] || ""; } export function hasIcon(name: string): boolean { const key = name.toLowerCase(); return key in icons || key in iconUrls; } export function isUrlIcon(name: string): boolean { return name.toLowerCase() in iconUrls; } export { getIconMetadata } from "./metadata";