Files
Memoh/packages/icons/scripts/manifest.ts
T
Yiming Qi 8d78925a23 feat: expand speech provider support with new client types and config… (#389)
* feat: expand speech provider support with new client types and configuration schema

* feat: add icon support for speech providers and update related configurations

* feat: add SVG support for Deepgram and Elevenlabs with Vue components

* feat: except *-speech client type in llm provider

* feat: enhance speech provider functionality with advanced settings and model import capabilities

* chore: remove go.mod replace

* feat: enhance speech provider functionality with advanced settings and model import capabilities

* chore: update go module dependencies

---------

Co-authored-by: Acbox <acbox0328@gmail.com>
2026-04-19 21:58:16 +08:00

103 lines
3.2 KiB
TypeScript

/**
* Icon manifest: list of SVG filenames (without .svg extension) in the icons/ directory.
* The generate script reads each file and produces a Vue SFC component.
*
* To add a new icon: place the .svg file in icons/ and add the filename here.
*/
function withVariants(name: string, variants: string[]): string[] {
return [name, ...variants.map(v => `${name}-${v}`)]
}
// ---------------------------------------------------------------------------
// LLM Providers
// ---------------------------------------------------------------------------
const llmProviders: string[] = [
...withVariants('openai', []),
...withVariants('anthropic', []),
...withVariants('google', ['color', 'brand-color']),
...withVariants('deepseek', ['color']),
...withVariants('deepgram', []),
...withVariants('elevenlabs', []),
...withVariants('groq', []),
...withVariants('huggingface', ['color']),
...withVariants('lmstudio', []),
...withVariants('minimax', ['color']),
...withVariants('mistral', ['color']),
...withVariants('moonshot', []),
...withVariants('ollama', []),
...withVariants('openrouter', []),
...withVariants('qwen', ['color']),
...withVariants('xai', []),
...withVariants('claude', ['color']),
...withVariants('gemini', ['color']),
...withVariants('meta', ['color']),
...withVariants('cohere', ['color']),
...withVariants('azure', ['color']),
...withVariants('nvidia', ['color']),
...withVariants('fireworks', ['color']),
...withVariants('together', ['color']),
...withVariants('bedrock', ['color']),
...withVariants('vertexai', ['color']),
...withVariants('baichuan', ['color']),
...withVariants('zhipu', ['color']),
...withVariants('yi', ['color']),
...withVariants('stepfun', ['color']),
...withVariants('kimi', ['color']),
...withVariants('doubao', ['color']),
...withVariants('spark', ['color']),
...withVariants('hunyuan', ['color']),
...withVariants('bailian', ['color']),
...withVariants('siliconcloud', ['color']),
...withVariants('volcengine', ['color']),
...withVariants('newapi', ['color']),
...withVariants('github-copilot', []),
]
// ---------------------------------------------------------------------------
// Search Providers
// ---------------------------------------------------------------------------
const searchProviders: string[] = [
...withVariants('bing', ['color']),
...withVariants('yandex', []),
...withVariants('tavily', ['color']),
...withVariants('jina', []),
...withVariants('exa', ['color']),
...withVariants('microsoft', ['color']),
'brave',
'bocha',
'duckduckgo',
'searxng',
'sogou',
'serper',
]
// ---------------------------------------------------------------------------
// Channel Platforms
// ---------------------------------------------------------------------------
const channelPlatforms: string[] = [
'qq',
'telegram',
'discord',
'slack',
'feishu',
'wechat',
'wechatoa',
'wecom',
'matrix',
'dingtalk',
]
// ---------------------------------------------------------------------------
// Export
// ---------------------------------------------------------------------------
export const manifest: string[] = [
...llmProviders,
...searchProviders,
...channelPlatforms,
]