@tombcato/ai-selector-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +14 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +139 -0
- package/dist/api.js.map +1 -0
- package/dist/config.d.ts +18 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +85 -0
- package/dist/config.js.map +1 -0
- package/dist/i18n.d.ts +53 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +51 -0
- package/dist/i18n.js.map +1 -0
- package/dist/icons.d.ts +10 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +22 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/models.d.ts +11 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +199 -0
- package/dist/models.js.map +1 -0
- package/dist/providers.d.ts +42 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +229 -0
- package/dist/providers.js.map +1 -0
- package/dist/storage.d.ts +31 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +65 -0
- package/dist/storage.js.map +1 -0
- package/dist/strategies.d.ts +54 -0
- package/dist/strategies.d.ts.map +1 -0
- package/dist/strategies.js +184 -0
- package/dist/strategies.js.map +1 -0
- package/dist/types.d.ts +122 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +4 -0
- package/dist/utils.js.map +1 -0
- package/package.json +36 -0
- package/src/api.ts +154 -0
- package/src/config.ts +104 -0
- package/src/i18n.ts +54 -0
- package/src/index.ts +76 -0
- package/src/models.ts +202 -0
- package/src/providers.ts +239 -0
- package/src/storage.ts +78 -0
- package/src/strategies.ts +251 -0
- package/src/styles.css +244 -0
- package/src/types.ts +151 -0
package/dist/models.js
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider Selector - Static Model Definitions
|
|
3
|
+
* Models data when API doesn't support /models endpoint
|
|
4
|
+
*/
|
|
5
|
+
import { PROVIDER_ID } from './providers';
|
|
6
|
+
export const STATIC_MODELS = {
|
|
7
|
+
[PROVIDER_ID.OPENAI]: [
|
|
8
|
+
{ id: 'gpt-5.2-pro', name: 'GPT-5.2 Pro' },
|
|
9
|
+
{ id: 'gpt-5.2', name: 'GPT-5.2' },
|
|
10
|
+
{ id: 'gpt-5', name: 'GPT-5' },
|
|
11
|
+
{ id: 'gpt-5-mini', name: 'GPT-5 Mini' },
|
|
12
|
+
{ id: 'gpt-5-nano', name: 'GPT-5 Nano' },
|
|
13
|
+
{ id: 'gpt-4.1', name: 'GPT-4.1' },
|
|
14
|
+
],
|
|
15
|
+
[PROVIDER_ID.ANTHROPIC]: [
|
|
16
|
+
{ id: 'claude-opus-4.5-20251101', name: 'Claude Opus 4.5' },
|
|
17
|
+
{ id: 'claude-opus-4.5-20251101-thinking', name: 'Claude Opus 4.5 Thinking' },
|
|
18
|
+
{ id: 'claude-sonnet-4.5-20250929', name: 'Claude Sonnet 4.5' },
|
|
19
|
+
{ id: 'claude-sonnet-4.5-20250929-thinking', name: 'Claude Sonnet 4.5 Thinking' },
|
|
20
|
+
{ id: 'claude-haiku-4.5-20251001', name: 'Claude Haiku 4.5' },
|
|
21
|
+
{ id: 'claude-haiku-4.5-20251001-thinking', name: 'Claude Haiku 4.5 Thinking' },
|
|
22
|
+
{ id: 'claude-opus-4.1-20250805', name: 'Claude Opus 4.1' },
|
|
23
|
+
{ id: 'claude-opus-4.1-20250805-thinking', name: 'Claude Opus 4.1 Thinking' },
|
|
24
|
+
],
|
|
25
|
+
[PROVIDER_ID.GEMINI]: [
|
|
26
|
+
{ id: 'gemini-3-flash-preview', name: 'Gemini 3 Flash Preview' },
|
|
27
|
+
{ id: 'gemini-3-pro-preview', name: 'Gemini 3 Pro Preview' },
|
|
28
|
+
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro' },
|
|
29
|
+
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash' },
|
|
30
|
+
{ id: 'gemini-2.5-flash-lite', name: 'Gemini 2.5 Flash-Lite' },
|
|
31
|
+
],
|
|
32
|
+
[PROVIDER_ID.DEEPSEEK]: [
|
|
33
|
+
{ id: 'deepseek-chat', name: 'Deepseek Chat' },
|
|
34
|
+
{ id: 'deepseek-reasoner', name: 'Deepseek Reasoner' },
|
|
35
|
+
],
|
|
36
|
+
[PROVIDER_ID.MISTRAL]: [
|
|
37
|
+
{ id: 'mistral-large-latest', name: 'Mistral Large' },
|
|
38
|
+
{ id: 'mistral-medium-latest', name: 'Mistral Medium' },
|
|
39
|
+
{ id: 'mistral-small-latest', name: 'Mistral Small' },
|
|
40
|
+
{ id: 'codestral-latest', name: 'Codestral' },
|
|
41
|
+
{ id: 'devstral-latest', name: 'Devstral' },
|
|
42
|
+
{ id: 'magistral-medium-latest', name: 'Magistral Medium' },
|
|
43
|
+
{ id: 'pixtral-large-latest', name: 'Pixtral Large' },
|
|
44
|
+
{ id: 'pixtral-12b-latest', name: 'Pixtral 12B' },
|
|
45
|
+
{ id: 'ministral-8b-latest', name: 'Ministral 8B' },
|
|
46
|
+
{ id: 'ministral-3b-latest', name: 'Ministral 3B' },
|
|
47
|
+
],
|
|
48
|
+
[PROVIDER_ID.GROQ]: [
|
|
49
|
+
{ id: 'canopylabs/orpheus-v1-english', name: 'Orpheus V1 English' },
|
|
50
|
+
{ id: 'canopylabs/orpheus-arabic-saudi', name: 'Orpheus Arabic Saudi' },
|
|
51
|
+
{ id: 'moonshotai/kimi-k2-instruct', name: 'Kimi K2 Instruct' },
|
|
52
|
+
{ id: 'groq/compound-mini', name: 'Compound Mini' },
|
|
53
|
+
{ id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B Versatile' },
|
|
54
|
+
{ id: 'openai/gpt-oss-120b', name: 'Gpt Oss 120B' },
|
|
55
|
+
{ id: 'qwen/qwen3-32b', name: 'Qwen3 32B' },
|
|
56
|
+
{ id: 'groq/compound', name: 'Compound' },
|
|
57
|
+
{ id: 'meta-llama/llama-4-maverick-17b-128e-instruct', name: 'Llama 4 Maverick 17B 128E Instruct' },
|
|
58
|
+
],
|
|
59
|
+
[PROVIDER_ID.XAI]: [
|
|
60
|
+
{ id: 'grok-4', name: 'Grok 4' },
|
|
61
|
+
{ id: 'grok-4-fast', name: 'Grok 4 Fast' },
|
|
62
|
+
{ id: 'grok-3-latest', name: 'Grok 3' },
|
|
63
|
+
{ id: 'grok-3-fast', name: 'Grok 3 Fast' },
|
|
64
|
+
{ id: 'grok-3-mini-latest', name: 'Grok 3 Mini' },
|
|
65
|
+
{ id: 'grok-3-mini-fast', name: 'Grok 3 Mini Fast' },
|
|
66
|
+
{ id: 'grok-vision-beta', name: 'Grok Vision (Beta)' },
|
|
67
|
+
],
|
|
68
|
+
[PROVIDER_ID.TOGETHER]: [
|
|
69
|
+
{ id: 'Qwen/Qwen2.5-72B-Instruct-Turbo', name: 'Qwen2.5 72B Instruct Turbo' },
|
|
70
|
+
{ id: 'Qwen/Qwen3-235B-A22B-Thinking-2507', name: 'Qwen3 235B A22B Thinking 2507' },
|
|
71
|
+
{ id: 'deepseek-ai/DeepSeek-R1', name: 'Deepseek R1' },
|
|
72
|
+
{ id: 'deepseek-ai/DeepSeek-V3.1', name: 'Deepseek V3.1' },
|
|
73
|
+
{ id: 'meta-llama/Llama-3.2-3B-Instruct-Turbo', name: 'Llama 3.2 3B Instruct Turbo' },
|
|
74
|
+
{ id: 'meta-llama/Llama-3.3-70B-Instruct-Turbo', name: 'Llama 3.3 70B Instruct Turbo' },
|
|
75
|
+
{ id: 'meta-llama/Llama-3.3-70B-Instruct-Turbo-Free', name: 'Llama 3.3 70B Instruct Turbo Free' },
|
|
76
|
+
],
|
|
77
|
+
[PROVIDER_ID.FIREWORKS]: [
|
|
78
|
+
{ id: 'accounts/fireworks/models/llama4-scout-instruct-basic', name: 'Llama4 Scout Instruct Basic' },
|
|
79
|
+
{ id: 'accounts/fireworks/models/qwen3-vl-235b-a22b-thinking', name: 'Qwen3 Vl 235B A22B Thinking' },
|
|
80
|
+
{ id: 'accounts/fireworks/models/deepseek-v3p2', name: 'Deepseek V3P2' },
|
|
81
|
+
{ id: 'accounts/fireworks/models/qwen3-vl-30b-a3b-thinking', name: 'Qwen3 Vl 30B A3B Thinking' },
|
|
82
|
+
{ id: 'accounts/fireworks/models/qwen3-8b', name: 'Qwen3 8B' },
|
|
83
|
+
{ id: 'accounts/fireworks/models/qwen3-vl-30b-a3b-instruct', name: 'Qwen3 Vl 30B A3B Instruct' },
|
|
84
|
+
{ id: 'accounts/fireworks/models/qwen2p5-vl-32b-instruct', name: 'Qwen2P5 Vl 32B Instruct' },
|
|
85
|
+
{ id: 'accounts/fireworks/models/llama4-maverick-instruct-basic', name: 'Llama4 Maverick Instruct Basic' },
|
|
86
|
+
{ id: 'accounts/fireworks/models/qwen3-235b-a22b-thinking-2507', name: 'Qwen3 235B A22B Thinking 2507' },
|
|
87
|
+
{ id: 'accounts/fireworks/models/qwen3-coder-480b-a35b-instruct', name: 'Qwen3 Coder 480B A35B Instruct' },
|
|
88
|
+
],
|
|
89
|
+
[PROVIDER_ID.DEEPINFRA]: [
|
|
90
|
+
{ id: 'meta-llama/Llama-3.2-11B-Vision-Instruct', name: 'Llama 3.2 11B Vision Instruct' },
|
|
91
|
+
{ id: 'Qwen/Qwen3-32B', name: 'Qwen3 32B' },
|
|
92
|
+
{ id: 'NousResearch/Hermes-3-Llama-3.1-70B', name: 'Hermes 3 Llama 3.1 70B' },
|
|
93
|
+
{ id: 'Qwen/Qwen2.5-72B-Instruct', name: 'Qwen2.5 72B Instruct' },
|
|
94
|
+
{ id: 'deepseek-ai/DeepSeek-V3-0324', name: 'Deepseek V3 0324' },
|
|
95
|
+
{ id: 'Qwen/Qwen3-VL-235B-A22B-Instruct', name: 'Qwen3 Vl 235B A22B Instruct' },
|
|
96
|
+
{ id: 'meta-llama/Llama-3.2-3B-Instruct', name: 'Llama 3.2 3B Instruct' },
|
|
97
|
+
{ id: 'Qwen/Qwen2.5-VL-32B-Instruct', name: 'Qwen2.5 Vl 32B Instruct' },
|
|
98
|
+
{ id: 'meta-llama/Meta-Llama-3.1-8B-Instruct', name: 'Meta Llama 3.1 8B Instruct' },
|
|
99
|
+
{ id: 'Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo', name: 'Qwen3 Coder 480B A35B Instruct Turbo' },
|
|
100
|
+
],
|
|
101
|
+
[PROVIDER_ID.OPENROUTER]: [
|
|
102
|
+
{ id: 'google/gemini-3-flash-preview', name: 'Gemini 3 Flash Preview' },
|
|
103
|
+
{ id: 'mistralai/mistral-small-creative', name: 'Mistral Small Creative' },
|
|
104
|
+
{ id: 'openai/gpt-5.2-chat', name: 'Gpt 5.2 Chat' },
|
|
105
|
+
{ id: 'openai/gpt-5.2-pro', name: 'Gpt 5.2 Pro' },
|
|
106
|
+
{ id: 'openai/gpt-5.2', name: 'Gpt 5.2' },
|
|
107
|
+
{ id: 'mistralai/devstral-2512', name: 'Devstral 2512' },
|
|
108
|
+
{ id: 'openai/gpt-5.1-codex-max', name: 'Gpt 5.1 Codex Max' },
|
|
109
|
+
{ id: 'mistralai/ministral-14b-2512', name: 'Ministral 14B 2512' },
|
|
110
|
+
{ id: 'mistralai/ministral-8b-2512', name: 'Ministral 8B 2512' },
|
|
111
|
+
{ id: 'mistralai/ministral-3b-2512', name: 'Ministral 3B 2512' },
|
|
112
|
+
{ id: 'mistralai/mistral-large-2512', name: 'Mistral Large 2512' },
|
|
113
|
+
{ id: 'deepseek/deepseek-v3.2-speciale', name: 'Deepseek V3.2 Speciale' },
|
|
114
|
+
],
|
|
115
|
+
[PROVIDER_ID.PERPLEXITY]: [
|
|
116
|
+
{ id: 'codellama-34b-instruct', name: 'Codellama 34B Instruct' },
|
|
117
|
+
{ id: 'codellama-70b-instruct', name: 'Codellama 70B Instruct' },
|
|
118
|
+
{ id: 'llama-2-70b-chat', name: 'Llama 2 70B Chat' },
|
|
119
|
+
{ id: 'llama-3.1-70b-instruct', name: 'Llama 3.1 70B Instruct' },
|
|
120
|
+
{ id: 'llama-3.1-8b-instruct', name: 'Llama 3.1 8B Instruct' },
|
|
121
|
+
{ id: 'llama-3.1-sonar-huge-128k-online', name: 'Llama 3.1 Sonar Huge 128K Online' },
|
|
122
|
+
{ id: 'llama-3.1-sonar-large-128k-chat', name: 'Llama 3.1 Sonar Large 128K Chat' },
|
|
123
|
+
{ id: 'llama-3.1-sonar-large-128k-online', name: 'Llama 3.1 Sonar Large 128K Online' },
|
|
124
|
+
{ id: 'llama-3.1-sonar-small-128k-chat', name: 'Llama 3.1 Sonar Small 128K Chat' },
|
|
125
|
+
],
|
|
126
|
+
[PROVIDER_ID.COHERE]: [
|
|
127
|
+
{ id: 'command-a-vision-07-2025', name: 'Command A Vision 07 2025' },
|
|
128
|
+
{ id: 'command-a-reasoning-08-2025', name: 'Command A Reasoning 08 2025' },
|
|
129
|
+
{ id: 'command-r-08-2024', name: 'Command R 08 2024' },
|
|
130
|
+
{ id: 'command-r7b-arabic-02-2025', name: 'Command R7B Arabic 02 2025' },
|
|
131
|
+
{ id: 'command-r7b-12-2024', name: 'Command R7B 12 2024' },
|
|
132
|
+
],
|
|
133
|
+
[PROVIDER_ID.MOONSHOT]: [
|
|
134
|
+
{ id: 'moonshot-v1-128k', name: 'Moonshot 128K' },
|
|
135
|
+
{ id: 'moonshot-v1-32k', name: 'Moonshot 32K' },
|
|
136
|
+
{ id: 'moonshot-v1-8k', name: 'Moonshot 8K' },
|
|
137
|
+
{ id: 'kimi-k2-0711-chat', name: 'Kimi K2 Chat' },
|
|
138
|
+
{ id: 'moonshot-v1-auto', name: 'Moonshot Auto' },
|
|
139
|
+
],
|
|
140
|
+
[PROVIDER_ID.QWEN]: [
|
|
141
|
+
{ id: 'qwen-flash', name: 'Qwen Flash' },
|
|
142
|
+
{ id: 'qwen3-vl-plus-2025-12-19', name: 'Qwen3 Vl Plus 2025 12 19' },
|
|
143
|
+
{ id: 'qwen3-tts-vd-realtime-2025-12-16', name: 'Qwen3 Tts Vd Realtime 2025 12 16' },
|
|
144
|
+
{ id: 'qwen-image-edit-plus-2025-12-15', name: 'Qwen Image Edit Plus 2025 12 15' },
|
|
145
|
+
{ id: 'qwen3-omni-flash-2025-12-01', name: 'Qwen3 Omni Flash 2025 12 01' },
|
|
146
|
+
{ id: 'qwen3-omni-flash-realtime-2025-12-01', name: 'Qwen3 Omni Flash Realtime 2025 12 01' },
|
|
147
|
+
{ id: 'qwen3-livetranslate-flash-2025-12-01', name: 'Qwen3 Livetranslate Flash 2025 12 01' },
|
|
148
|
+
{ id: 'qwen3-livetranslate-flash', name: 'Qwen3 Livetranslate Flash' },
|
|
149
|
+
{ id: 'qwen-plus-2025-12-01', name: 'Qwen Plus 2025 12 01' },
|
|
150
|
+
{ id: 'qwen3-tts-vc-realtime-2025-11-27', name: 'Qwen3 Tts Vc Realtime 2025 11 27' },
|
|
151
|
+
],
|
|
152
|
+
[PROVIDER_ID.ZHIPU]: [
|
|
153
|
+
{ id: 'glm-4.5', name: 'Glm 4.5' },
|
|
154
|
+
{ id: 'glm-4.5-air', name: 'Glm 4.5 Air' },
|
|
155
|
+
{ id: 'glm-4.6', name: 'Glm 4.6' },
|
|
156
|
+
{ id: 'glm-4.7', name: 'Glm 4.7' },
|
|
157
|
+
],
|
|
158
|
+
[PROVIDER_ID.SILICONFLOW]: [
|
|
159
|
+
{ id: 'deepseek-ai/DeepSeek-V3.2', name: 'Deepseek V3.2' },
|
|
160
|
+
{ id: 'deepseek-ai/DeepSeek-V3.1-Terminus', name: 'Deepseek V3.1 Terminus' },
|
|
161
|
+
{ id: 'deepseek-ai/DeepSeek-R1', name: 'Deepseek R1' },
|
|
162
|
+
{ id: 'deepseek-ai/DeepSeek-V3', name: 'Deepseek V3' },
|
|
163
|
+
{ id: 'zai-org/GLM-4.6V', name: 'Glm 4.6V' },
|
|
164
|
+
{ id: 'zai-org/GLM-4.6', name: 'Glm 4.6' },
|
|
165
|
+
{ id: 'Pro/zai-org/GLM-4.7', name: 'Glm 4.7' },
|
|
166
|
+
{ id: 'Qwen/Qwen3-VL-32B-Instruct', name: 'Qwen3 Vl 32B Instruct' },
|
|
167
|
+
],
|
|
168
|
+
[PROVIDER_ID.OLLAMA]: [
|
|
169
|
+
{ id: 'llama3.3', name: 'Llama 3.3' },
|
|
170
|
+
{ id: 'llama3.2', name: 'Llama 3.2' },
|
|
171
|
+
{ id: 'qwq', name: 'QwQ (推理)' },
|
|
172
|
+
{ id: 'qwen3:32b', name: 'Qwen3 32B' },
|
|
173
|
+
{ id: 'deepseek-r1:32b', name: 'DeepSeek R1 32B' },
|
|
174
|
+
{ id: 'deepseek-coder-v2', name: 'DeepSeek Coder V2' },
|
|
175
|
+
{ id: 'gemma3:27b', name: 'Gemma 3 27B' },
|
|
176
|
+
{ id: 'mistral:7b', name: 'Mistral 7B' },
|
|
177
|
+
{ id: 'phi4', name: 'Phi 4' },
|
|
178
|
+
{ id: 'codellama', name: 'Code Llama' },
|
|
179
|
+
],
|
|
180
|
+
[PROVIDER_ID.DOUBAO]: [
|
|
181
|
+
{ id: 'doubao-seed-1-8-251215', name: 'Doubao 1.8' },
|
|
182
|
+
{ id: "doubao-seed-1-6-251015", name: "Doubao 1.6" },
|
|
183
|
+
{ id: 'doubao-seed-1-6-lite-251015', name: 'Doubao 1.6 Lite' },
|
|
184
|
+
{ id: 'doubao-seed-1-6-flash-250828', name: 'Doubao 1.6 Flash' },
|
|
185
|
+
{ id: 'doubao-seed-1-6-thinking-250615', name: 'Doubao 1.6 Thinking' },
|
|
186
|
+
],
|
|
187
|
+
[PROVIDER_ID.MINIMAX]: [
|
|
188
|
+
{ id: 'MiniMax-M2.1', name: 'MiniMax M2.1' },
|
|
189
|
+
{ id: 'MiniMax-M2.1-lightning', name: 'MiniMax M2.1 Lightning' },
|
|
190
|
+
{ id: 'MiniMax-M2', name: 'MiniMax M2' },
|
|
191
|
+
],
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Get static models for a provider
|
|
195
|
+
*/
|
|
196
|
+
export function getStaticModels(providerId) {
|
|
197
|
+
return STATIC_MODELS[providerId] || [];
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider Selector - Provider Definitions
|
|
3
|
+
* All supported AI providers metadata
|
|
4
|
+
*/
|
|
5
|
+
import type { Provider } from './types';
|
|
6
|
+
export declare const PROVIDER_ID: {
|
|
7
|
+
readonly OPENAI: "openai";
|
|
8
|
+
readonly ANTHROPIC: "anthropic";
|
|
9
|
+
readonly GEMINI: "gemini";
|
|
10
|
+
readonly DEEPSEEK: "deepseek";
|
|
11
|
+
readonly OPENROUTER: "openrouter";
|
|
12
|
+
readonly GROQ: "groq";
|
|
13
|
+
readonly MISTRAL: "mistral";
|
|
14
|
+
readonly MOONSHOT: "moonshot";
|
|
15
|
+
readonly QWEN: "qwen";
|
|
16
|
+
readonly ZHIPU: "zhipu";
|
|
17
|
+
readonly SILICONFLOW: "siliconflow";
|
|
18
|
+
readonly XAI: "xai";
|
|
19
|
+
readonly TOGETHER: "together";
|
|
20
|
+
readonly FIREWORKS: "fireworks";
|
|
21
|
+
readonly DEEPINFRA: "deepinfra";
|
|
22
|
+
readonly PERPLEXITY: "perplexity";
|
|
23
|
+
readonly COHERE: "cohere";
|
|
24
|
+
readonly OLLAMA: "ollama";
|
|
25
|
+
readonly DOUBAO: "doubao";
|
|
26
|
+
readonly MINIMAX: "minimax";
|
|
27
|
+
};
|
|
28
|
+
export type ProviderId = typeof PROVIDER_ID[keyof typeof PROVIDER_ID];
|
|
29
|
+
export declare const PROVIDERS: Record<string, Provider>;
|
|
30
|
+
/**
|
|
31
|
+
* Get a provider by ID
|
|
32
|
+
*/
|
|
33
|
+
export declare function getProvider(id: string): Provider | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Get all providers as an array
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllProviders(): Provider[];
|
|
38
|
+
/**
|
|
39
|
+
* Get providers by API format
|
|
40
|
+
*/
|
|
41
|
+
export declare function getProvidersByFormat(format: Provider['apiFormat']): Provider[];
|
|
42
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAqBd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsL9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,EAAE,CAE9E"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider Selector - Provider Definitions
|
|
3
|
+
* All supported AI providers metadata
|
|
4
|
+
*/
|
|
5
|
+
const ICON_CDN_BASE = 'https://registry.npmmirror.com/@lobehub/icons-static-svg/1.77.0/files/icons';
|
|
6
|
+
// Provider IDs
|
|
7
|
+
export const PROVIDER_ID = {
|
|
8
|
+
OPENAI: 'openai',
|
|
9
|
+
ANTHROPIC: 'anthropic',
|
|
10
|
+
GEMINI: 'gemini',
|
|
11
|
+
DEEPSEEK: 'deepseek',
|
|
12
|
+
OPENROUTER: 'openrouter',
|
|
13
|
+
GROQ: 'groq',
|
|
14
|
+
MISTRAL: 'mistral',
|
|
15
|
+
MOONSHOT: 'moonshot',
|
|
16
|
+
QWEN: 'qwen',
|
|
17
|
+
ZHIPU: 'zhipu',
|
|
18
|
+
SILICONFLOW: 'siliconflow',
|
|
19
|
+
XAI: 'xai',
|
|
20
|
+
TOGETHER: 'together',
|
|
21
|
+
FIREWORKS: 'fireworks',
|
|
22
|
+
DEEPINFRA: 'deepinfra',
|
|
23
|
+
PERPLEXITY: 'perplexity',
|
|
24
|
+
COHERE: 'cohere',
|
|
25
|
+
OLLAMA: 'ollama',
|
|
26
|
+
DOUBAO: 'doubao',
|
|
27
|
+
MINIMAX: 'minimax',
|
|
28
|
+
};
|
|
29
|
+
export const PROVIDERS = {
|
|
30
|
+
[PROVIDER_ID.OPENAI]: {
|
|
31
|
+
id: PROVIDER_ID.OPENAI,
|
|
32
|
+
name: 'OpenAI',
|
|
33
|
+
baseUrl: 'https://api.openai.com/v1',
|
|
34
|
+
needsApiKey: true,
|
|
35
|
+
apiFormat: 'openai',
|
|
36
|
+
supportsModelsApi: true,
|
|
37
|
+
icon: `${ICON_CDN_BASE}/openai.svg`,
|
|
38
|
+
},
|
|
39
|
+
[PROVIDER_ID.ANTHROPIC]: {
|
|
40
|
+
id: PROVIDER_ID.ANTHROPIC,
|
|
41
|
+
name: 'Anthropic (Claude)',
|
|
42
|
+
baseUrl: 'https://api.anthropic.com/v1',
|
|
43
|
+
needsApiKey: true,
|
|
44
|
+
apiFormat: 'anthropic',
|
|
45
|
+
supportsModelsApi: false,
|
|
46
|
+
icon: `${ICON_CDN_BASE}/anthropic.svg`,
|
|
47
|
+
},
|
|
48
|
+
[PROVIDER_ID.GEMINI]: {
|
|
49
|
+
id: PROVIDER_ID.GEMINI,
|
|
50
|
+
name: 'Google Gemini',
|
|
51
|
+
baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
|
|
52
|
+
needsApiKey: true,
|
|
53
|
+
apiFormat: 'gemini',
|
|
54
|
+
supportsModelsApi: true,
|
|
55
|
+
icon: `${ICON_CDN_BASE}/gemini.svg`,
|
|
56
|
+
},
|
|
57
|
+
[PROVIDER_ID.OPENROUTER]: {
|
|
58
|
+
id: PROVIDER_ID.OPENROUTER,
|
|
59
|
+
name: 'OpenRouter',
|
|
60
|
+
baseUrl: 'https://openrouter.ai/api/v1',
|
|
61
|
+
needsApiKey: true,
|
|
62
|
+
apiFormat: 'openai',
|
|
63
|
+
supportsModelsApi: true,
|
|
64
|
+
icon: `${ICON_CDN_BASE}/openrouter.svg`,
|
|
65
|
+
},
|
|
66
|
+
[PROVIDER_ID.DEEPSEEK]: {
|
|
67
|
+
id: PROVIDER_ID.DEEPSEEK,
|
|
68
|
+
name: 'DeepSeek',
|
|
69
|
+
baseUrl: 'https://api.deepseek.com',
|
|
70
|
+
needsApiKey: true,
|
|
71
|
+
apiFormat: 'openai',
|
|
72
|
+
supportsModelsApi: true,
|
|
73
|
+
icon: `${ICON_CDN_BASE}/deepseek.svg`,
|
|
74
|
+
},
|
|
75
|
+
[PROVIDER_ID.MOONSHOT]: {
|
|
76
|
+
id: PROVIDER_ID.MOONSHOT,
|
|
77
|
+
name: 'Moonshot (Kimi)',
|
|
78
|
+
baseUrl: 'https://api.moonshot.cn/v1',
|
|
79
|
+
needsApiKey: true,
|
|
80
|
+
apiFormat: 'openai',
|
|
81
|
+
supportsModelsApi: true,
|
|
82
|
+
icon: `${ICON_CDN_BASE}/moonshot.svg`,
|
|
83
|
+
},
|
|
84
|
+
[PROVIDER_ID.QWEN]: {
|
|
85
|
+
id: PROVIDER_ID.QWEN,
|
|
86
|
+
name: '通义千问 (Qwen)',
|
|
87
|
+
baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
|
|
88
|
+
needsApiKey: true,
|
|
89
|
+
apiFormat: 'openai',
|
|
90
|
+
supportsModelsApi: true,
|
|
91
|
+
icon: `${ICON_CDN_BASE}/qwen.svg`,
|
|
92
|
+
},
|
|
93
|
+
[PROVIDER_ID.ZHIPU]: {
|
|
94
|
+
id: PROVIDER_ID.ZHIPU,
|
|
95
|
+
name: '智谱 AI (GLM)',
|
|
96
|
+
baseUrl: 'https://open.bigmodel.cn/api/paas/v4',
|
|
97
|
+
needsApiKey: true,
|
|
98
|
+
apiFormat: 'openai',
|
|
99
|
+
supportsModelsApi: true,
|
|
100
|
+
icon: `${ICON_CDN_BASE}/zhipu.svg`,
|
|
101
|
+
},
|
|
102
|
+
[PROVIDER_ID.SILICONFLOW]: {
|
|
103
|
+
id: PROVIDER_ID.SILICONFLOW,
|
|
104
|
+
name: '硅基流动 (siliconflow)',
|
|
105
|
+
baseUrl: 'https://api.siliconflow.cn/v1',
|
|
106
|
+
needsApiKey: true,
|
|
107
|
+
apiFormat: 'openai',
|
|
108
|
+
supportsModelsApi: true,
|
|
109
|
+
icon: `${ICON_CDN_BASE}/siliconcloud.svg`,
|
|
110
|
+
},
|
|
111
|
+
[PROVIDER_ID.DOUBAO]: {
|
|
112
|
+
id: PROVIDER_ID.DOUBAO,
|
|
113
|
+
name: '火山方舟 (Doubao)',
|
|
114
|
+
baseUrl: 'https://ark.cn-beijing.volces.com/api/v3',
|
|
115
|
+
needsApiKey: true,
|
|
116
|
+
apiFormat: 'openai',
|
|
117
|
+
supportsModelsApi: true,
|
|
118
|
+
icon: `${ICON_CDN_BASE}/doubao.svg`,
|
|
119
|
+
},
|
|
120
|
+
[PROVIDER_ID.MINIMAX]: {
|
|
121
|
+
id: PROVIDER_ID.MINIMAX,
|
|
122
|
+
name: 'MiniMax',
|
|
123
|
+
baseUrl: 'https://api.minimax.io/v1',
|
|
124
|
+
needsApiKey: true,
|
|
125
|
+
apiFormat: 'openai',
|
|
126
|
+
supportsModelsApi: false,
|
|
127
|
+
icon: `${ICON_CDN_BASE}/minimax.svg`,
|
|
128
|
+
},
|
|
129
|
+
[PROVIDER_ID.XAI]: {
|
|
130
|
+
id: PROVIDER_ID.XAI,
|
|
131
|
+
name: 'xAI (Grok)',
|
|
132
|
+
baseUrl: 'https://api.x.ai/v1',
|
|
133
|
+
needsApiKey: true,
|
|
134
|
+
apiFormat: 'openai',
|
|
135
|
+
supportsModelsApi: true,
|
|
136
|
+
icon: `${ICON_CDN_BASE}/grok.svg`,
|
|
137
|
+
},
|
|
138
|
+
[PROVIDER_ID.GROQ]: {
|
|
139
|
+
id: PROVIDER_ID.GROQ,
|
|
140
|
+
name: 'Groq',
|
|
141
|
+
baseUrl: 'https://api.groq.com/openai/v1',
|
|
142
|
+
needsApiKey: true,
|
|
143
|
+
apiFormat: 'openai',
|
|
144
|
+
supportsModelsApi: true,
|
|
145
|
+
icon: `${ICON_CDN_BASE}/groq.svg`,
|
|
146
|
+
},
|
|
147
|
+
[PROVIDER_ID.MISTRAL]: {
|
|
148
|
+
id: PROVIDER_ID.MISTRAL,
|
|
149
|
+
name: 'Mistral AI',
|
|
150
|
+
baseUrl: 'https://api.mistral.ai/v1',
|
|
151
|
+
needsApiKey: true,
|
|
152
|
+
apiFormat: 'openai',
|
|
153
|
+
supportsModelsApi: true,
|
|
154
|
+
icon: `${ICON_CDN_BASE}/mistral.svg`,
|
|
155
|
+
},
|
|
156
|
+
[PROVIDER_ID.TOGETHER]: {
|
|
157
|
+
id: PROVIDER_ID.TOGETHER,
|
|
158
|
+
name: 'Together AI',
|
|
159
|
+
baseUrl: 'https://api.together.xyz/v1',
|
|
160
|
+
needsApiKey: true,
|
|
161
|
+
apiFormat: 'openai',
|
|
162
|
+
supportsModelsApi: true,
|
|
163
|
+
icon: `${ICON_CDN_BASE}/together.svg`,
|
|
164
|
+
},
|
|
165
|
+
[PROVIDER_ID.FIREWORKS]: {
|
|
166
|
+
id: PROVIDER_ID.FIREWORKS,
|
|
167
|
+
name: 'Fireworks AI',
|
|
168
|
+
baseUrl: 'https://api.fireworks.ai/inference/v1',
|
|
169
|
+
needsApiKey: true,
|
|
170
|
+
apiFormat: 'openai',
|
|
171
|
+
supportsModelsApi: true,
|
|
172
|
+
icon: `${ICON_CDN_BASE}/fireworks.svg`,
|
|
173
|
+
},
|
|
174
|
+
[PROVIDER_ID.DEEPINFRA]: {
|
|
175
|
+
id: PROVIDER_ID.DEEPINFRA,
|
|
176
|
+
name: 'DeepInfra',
|
|
177
|
+
baseUrl: 'https://api.deepinfra.com/v1/openai',
|
|
178
|
+
needsApiKey: true,
|
|
179
|
+
apiFormat: 'openai',
|
|
180
|
+
supportsModelsApi: true,
|
|
181
|
+
icon: `${ICON_CDN_BASE}/deepinfra.svg`,
|
|
182
|
+
},
|
|
183
|
+
[PROVIDER_ID.PERPLEXITY]: {
|
|
184
|
+
id: PROVIDER_ID.PERPLEXITY,
|
|
185
|
+
name: 'Perplexity',
|
|
186
|
+
baseUrl: 'https://api.perplexity.ai',
|
|
187
|
+
needsApiKey: true,
|
|
188
|
+
apiFormat: 'openai',
|
|
189
|
+
supportsModelsApi: false,
|
|
190
|
+
icon: `${ICON_CDN_BASE}/perplexity.svg`,
|
|
191
|
+
},
|
|
192
|
+
[PROVIDER_ID.COHERE]: {
|
|
193
|
+
id: PROVIDER_ID.COHERE,
|
|
194
|
+
name: 'Cohere',
|
|
195
|
+
baseUrl: 'https://api.cohere.com/v2',
|
|
196
|
+
needsApiKey: true,
|
|
197
|
+
apiFormat: 'cohere',
|
|
198
|
+
supportsModelsApi: true,
|
|
199
|
+
icon: `${ICON_CDN_BASE}/cohere.svg`,
|
|
200
|
+
},
|
|
201
|
+
[PROVIDER_ID.OLLAMA]: {
|
|
202
|
+
id: PROVIDER_ID.OLLAMA,
|
|
203
|
+
name: 'Ollama (Local)',
|
|
204
|
+
baseUrl: 'http://localhost:11434/v1',
|
|
205
|
+
needsApiKey: false,
|
|
206
|
+
apiFormat: 'openai',
|
|
207
|
+
supportsModelsApi: true,
|
|
208
|
+
icon: `${ICON_CDN_BASE}/ollama.svg`,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Get a provider by ID
|
|
213
|
+
*/
|
|
214
|
+
export function getProvider(id) {
|
|
215
|
+
return PROVIDERS[id];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get all providers as an array
|
|
219
|
+
*/
|
|
220
|
+
export function getAllProviders() {
|
|
221
|
+
return Object.values(PROVIDERS);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Get providers by API format
|
|
225
|
+
*/
|
|
226
|
+
export function getProvidersByFormat(format) {
|
|
227
|
+
return getAllProviders().filter(p => p.apiFormat === format);
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider Selector - Storage Utilities
|
|
3
|
+
* Abstraction layer for config persistence
|
|
4
|
+
*/
|
|
5
|
+
import type { AIConfig, StorageAdapter } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Default localStorage adapter
|
|
8
|
+
*/
|
|
9
|
+
export declare const localStorageAdapter: StorageAdapter;
|
|
10
|
+
/**
|
|
11
|
+
* Create a config storage instance
|
|
12
|
+
*/
|
|
13
|
+
export interface StorageOptions {
|
|
14
|
+
serialize?: (data: any) => string;
|
|
15
|
+
deserialize?: (data: string) => any;
|
|
16
|
+
}
|
|
17
|
+
export declare function createConfigStorage(adapter?: StorageAdapter, options?: StorageOptions): {
|
|
18
|
+
/**
|
|
19
|
+
* Save AI config
|
|
20
|
+
*/
|
|
21
|
+
save(config: AIConfig): void;
|
|
22
|
+
/**
|
|
23
|
+
* Load AI config
|
|
24
|
+
*/
|
|
25
|
+
load(): AIConfig | null;
|
|
26
|
+
/**
|
|
27
|
+
* Clear AI config
|
|
28
|
+
*/
|
|
29
|
+
clear(): void;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIxD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAajC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAC/B,OAAO,GAAE,cAAoC,EAC7C,OAAO,GAAE,cAAmB;IAMxB;;OAEG;iBACU,QAAQ,GAAG,IAAI;IAS5B;;OAEG;YACK,QAAQ,GAAG,IAAI;IAWvB;;OAEG;aACM,IAAI;EAIpB"}
|
package/dist/storage.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider Selector - Storage Utilities
|
|
3
|
+
* Abstraction layer for config persistence
|
|
4
|
+
*/
|
|
5
|
+
const STORAGE_KEY = 'ai_provider_config';
|
|
6
|
+
/**
|
|
7
|
+
* Default localStorage adapter
|
|
8
|
+
*/
|
|
9
|
+
export const localStorageAdapter = {
|
|
10
|
+
get: (key) => {
|
|
11
|
+
if (typeof window === 'undefined')
|
|
12
|
+
return null;
|
|
13
|
+
return localStorage.getItem(key);
|
|
14
|
+
},
|
|
15
|
+
set: (key, value) => {
|
|
16
|
+
if (typeof window === 'undefined')
|
|
17
|
+
return;
|
|
18
|
+
localStorage.setItem(key, value);
|
|
19
|
+
},
|
|
20
|
+
remove: (key) => {
|
|
21
|
+
if (typeof window === 'undefined')
|
|
22
|
+
return;
|
|
23
|
+
localStorage.removeItem(key);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export function createConfigStorage(adapter = localStorageAdapter, options = {}) {
|
|
27
|
+
const serialize = options.serialize || JSON.stringify;
|
|
28
|
+
const deserialize = options.deserialize || JSON.parse;
|
|
29
|
+
return {
|
|
30
|
+
/**
|
|
31
|
+
* Save AI config
|
|
32
|
+
*/
|
|
33
|
+
save(config) {
|
|
34
|
+
try {
|
|
35
|
+
const serialized = serialize(config);
|
|
36
|
+
adapter.set(STORAGE_KEY, serialized);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.error('Failed to save config:', e);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Load AI config
|
|
44
|
+
*/
|
|
45
|
+
load() {
|
|
46
|
+
const raw = adapter.get(STORAGE_KEY);
|
|
47
|
+
if (!raw)
|
|
48
|
+
return null;
|
|
49
|
+
try {
|
|
50
|
+
return deserialize(raw);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.error('Failed to load config:', e);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* Clear AI config
|
|
59
|
+
*/
|
|
60
|
+
clear() {
|
|
61
|
+
adapter.remove(STORAGE_KEY);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IAC/C,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;QACjB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAChC,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACJ,CAAC;AAUF,MAAM,UAAU,mBAAmB,CAC/B,UAA0B,mBAAmB,EAC7C,UAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;IAEtD,OAAO;QACH;;WAEG;QACH,IAAI,CAAC,MAAgB;YACjB,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED;;WAEG;QACH,IAAI;YACA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,IAAI,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,CAAa,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED;;WAEG;QACH,KAAK;YACD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;KACJ,CAAC;AACN,CAAC"}
|