@tombcato/ai-selector-core 0.1.0 → 0.1.2
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/index.d.ts +354 -13
- package/dist/index.js +784 -19
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +35 -35
- package/dist/api.d.ts +0 -14
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -139
- package/dist/api.js.map +0 -1
- package/dist/config.d.ts +0 -18
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -85
- package/dist/config.js.map +0 -1
- package/dist/i18n.d.ts +0 -53
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js +0 -51
- package/dist/i18n.js.map +0 -1
- package/dist/icons.d.ts +0 -10
- package/dist/icons.d.ts.map +0 -1
- package/dist/icons.js +0 -22
- package/dist/icons.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/models.d.ts +0 -11
- package/dist/models.d.ts.map +0 -1
- package/dist/models.js +0 -199
- package/dist/models.js.map +0 -1
- package/dist/providers.d.ts +0 -42
- package/dist/providers.d.ts.map +0 -1
- package/dist/providers.js +0 -229
- package/dist/providers.js.map +0 -1
- package/dist/storage.d.ts +0 -31
- package/dist/storage.d.ts.map +0 -1
- package/dist/storage.js +0 -65
- package/dist/storage.js.map +0 -1
- package/dist/strategies.d.ts +0 -54
- package/dist/strategies.d.ts.map +0 -1
- package/dist/strategies.js +0 -184
- package/dist/strategies.js.map +0 -1
- package/dist/types.d.ts +0 -122
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -6
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -4
- package/dist/utils.js.map +0 -1
package/dist/models.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
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
|
package/dist/providers.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/providers.js
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
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
|
package/dist/providers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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
|
package/dist/storage.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
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
|
package/dist/storage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/strategies.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { Model } from './types';
|
|
2
|
-
export interface ProviderStrategy {
|
|
3
|
-
format: string;
|
|
4
|
-
getModelsEndpoint?: (baseUrl: string, apiKey: string) => string;
|
|
5
|
-
parseModelsResponse?: (data: any) => Model[];
|
|
6
|
-
getChatEndpoint: (baseUrl: string, apiKey: string, model: string) => string;
|
|
7
|
-
buildChatPayload: (model: string, messages: Array<{
|
|
8
|
-
role: string;
|
|
9
|
-
content: string;
|
|
10
|
-
}>, maxTokens: number) => Record<string, unknown>;
|
|
11
|
-
parseChatResponse: (data: any) => string;
|
|
12
|
-
buildHeaders: (apiKey: string) => Record<string, string>;
|
|
13
|
-
}
|
|
14
|
-
export declare const defaultParseModelsResponse: (data: any) => Model[];
|
|
15
|
-
export declare const strategyRegistry: Record<string, ProviderStrategy>;
|
|
16
|
-
export declare function getStrategy(format: string): ProviderStrategy;
|
|
17
|
-
export interface DirectChatOptions {
|
|
18
|
-
apiFormat: string;
|
|
19
|
-
baseUrl: string;
|
|
20
|
-
apiKey: string;
|
|
21
|
-
model: string;
|
|
22
|
-
messages: Array<{
|
|
23
|
-
role: string;
|
|
24
|
-
content: string;
|
|
25
|
-
}>;
|
|
26
|
-
maxTokens?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface DirectChatResult {
|
|
29
|
-
success: boolean;
|
|
30
|
-
content?: string;
|
|
31
|
-
message?: string;
|
|
32
|
-
latencyMs?: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 纯前端直连 AI 厂商进行聊天
|
|
36
|
-
* 注意: 这会将 API Key 暴露在浏览器中,仅适用于 Demo/测试场景
|
|
37
|
-
*/
|
|
38
|
-
export declare function sendDirectChat(options: DirectChatOptions): Promise<DirectChatResult>;
|
|
39
|
-
export interface TestConnectionOptions {
|
|
40
|
-
apiFormat: string;
|
|
41
|
-
baseUrl: string;
|
|
42
|
-
apiKey: string;
|
|
43
|
-
model: string;
|
|
44
|
-
}
|
|
45
|
-
export interface TestConnectionResult {
|
|
46
|
-
success: boolean;
|
|
47
|
-
latencyMs?: number;
|
|
48
|
-
message?: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 测试 AI 厂商连接 (通过发送一个简单的聊天请求)
|
|
52
|
-
*/
|
|
53
|
-
export declare function testDirectConnection(options: TestConnectionOptions): Promise<TestConnectionResult>;
|
|
54
|
-
//# sourceMappingURL=strategies.d.ts.map
|
package/dist/strategies.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../src/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC;IAE7C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpI,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAEzC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,GAAG,KAAG,KAAK,EAmB3D,CAAC;AAsGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAK7D,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE5D;AAMD,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0C1F;AAMD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAexG"}
|
package/dist/strategies.js
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
export const defaultParseModelsResponse = (data) => {
|
|
2
|
-
if (Array.isArray(data?.data)) {
|
|
3
|
-
return data.data
|
|
4
|
-
.filter((m) => m.id)
|
|
5
|
-
.map((m) => {
|
|
6
|
-
const name = m.name ||
|
|
7
|
-
(m.id.split('/').pop() ?? '')
|
|
8
|
-
.replace(/[-_]/g, ' ')
|
|
9
|
-
.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
10
|
-
return {
|
|
11
|
-
id: m.id,
|
|
12
|
-
name,
|
|
13
|
-
created: m.created || 0,
|
|
14
|
-
};
|
|
15
|
-
})
|
|
16
|
-
.sort((a, b) => (b.created || 0) - (a.created || 0)); // 最新的排在前面
|
|
17
|
-
}
|
|
18
|
-
return [];
|
|
19
|
-
};
|
|
20
|
-
const openaiStrategy = {
|
|
21
|
-
format: 'openai',
|
|
22
|
-
getModelsEndpoint: (baseUrl) => `${baseUrl}/models`,
|
|
23
|
-
getChatEndpoint: (baseUrl) => `${baseUrl}/chat/completions`,
|
|
24
|
-
buildHeaders: (apiKey) => ({
|
|
25
|
-
'Content-Type': 'application/json',
|
|
26
|
-
'Authorization': `Bearer ${apiKey}`,
|
|
27
|
-
}),
|
|
28
|
-
buildChatPayload: (model, messages, maxTokens) => ({
|
|
29
|
-
model,
|
|
30
|
-
messages,
|
|
31
|
-
max_tokens: maxTokens,
|
|
32
|
-
}),
|
|
33
|
-
parseChatResponse: (data) => {
|
|
34
|
-
return data.choices?.[0]?.message?.content || '';
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
const anthropicStrategy = {
|
|
38
|
-
format: 'anthropic',
|
|
39
|
-
getChatEndpoint: (baseUrl) => `${baseUrl}/messages`,
|
|
40
|
-
buildHeaders: (apiKey) => ({
|
|
41
|
-
'Content-Type': 'application/json',
|
|
42
|
-
'x-api-key': apiKey,
|
|
43
|
-
'anthropic-version': '2023-06-01',
|
|
44
|
-
}),
|
|
45
|
-
buildChatPayload: (model, messages, maxTokens) => ({
|
|
46
|
-
model,
|
|
47
|
-
messages,
|
|
48
|
-
max_tokens: maxTokens,
|
|
49
|
-
}),
|
|
50
|
-
parseChatResponse: (data) => {
|
|
51
|
-
return data.content?.[0]?.text || '';
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
const geminiStrategy = {
|
|
55
|
-
format: 'gemini',
|
|
56
|
-
getModelsEndpoint: (baseUrl, apiKey) => `${baseUrl}/models?key=${apiKey}`,
|
|
57
|
-
getChatEndpoint: (baseUrl, apiKey, model) => `${baseUrl}/models/${model}:generateContent?key=${apiKey}`,
|
|
58
|
-
buildHeaders: () => ({
|
|
59
|
-
'Content-Type': 'application/json',
|
|
60
|
-
}),
|
|
61
|
-
buildChatPayload: (_model, messages, maxTokens) => {
|
|
62
|
-
// 转换 OpenAI 格式的 messages 为 Gemini 格式
|
|
63
|
-
const contents = messages.map(m => ({
|
|
64
|
-
role: m.role === 'assistant' ? 'model' : 'user',
|
|
65
|
-
parts: [{ text: m.content }],
|
|
66
|
-
}));
|
|
67
|
-
return {
|
|
68
|
-
contents,
|
|
69
|
-
generationConfig: { maxOutputTokens: maxTokens },
|
|
70
|
-
};
|
|
71
|
-
},
|
|
72
|
-
parseChatResponse: (data) => {
|
|
73
|
-
return data.candidates?.[0]?.content?.parts?.[0]?.text || '';
|
|
74
|
-
},
|
|
75
|
-
// Gemini 返回格式: { models: [{ name: "models/gemini-pro", ... }] }
|
|
76
|
-
parseModelsResponse: (data) => {
|
|
77
|
-
if (Array.isArray(data.models)) {
|
|
78
|
-
return data.models
|
|
79
|
-
.filter((m) => m.supportedGenerationMethods?.includes('generateContent'))
|
|
80
|
-
.map((m) => ({
|
|
81
|
-
id: m.name.replace('models/', ''), // "models/gemini-pro" -> "gemini-pro"
|
|
82
|
-
name: m.displayName || m.name.replace('models/', ''),
|
|
83
|
-
created: m.created || 0,
|
|
84
|
-
}))
|
|
85
|
-
.sort((a, b) => (b.created || 0) - (a.created || 0));
|
|
86
|
-
}
|
|
87
|
-
return [];
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
const cohereStrategy = {
|
|
91
|
-
format: 'cohere',
|
|
92
|
-
getModelsEndpoint: (baseUrl) => `${baseUrl}/models`,
|
|
93
|
-
getChatEndpoint: (baseUrl) => `${baseUrl}/chat`,
|
|
94
|
-
buildHeaders: (apiKey) => ({
|
|
95
|
-
'Content-Type': 'application/json',
|
|
96
|
-
'Authorization': `Bearer ${apiKey}`,
|
|
97
|
-
}),
|
|
98
|
-
buildChatPayload: (model, messages, maxTokens) => {
|
|
99
|
-
// Cohere 使用不同的格式: message 是当前消息, chat_history 是历史
|
|
100
|
-
const lastMessage = messages[messages.length - 1];
|
|
101
|
-
const chatHistory = messages.slice(0, -1).map(m => ({
|
|
102
|
-
role: m.role === 'assistant' ? 'CHATBOT' : 'USER',
|
|
103
|
-
message: m.content,
|
|
104
|
-
}));
|
|
105
|
-
return {
|
|
106
|
-
model,
|
|
107
|
-
message: lastMessage.content,
|
|
108
|
-
chat_history: chatHistory,
|
|
109
|
-
max_tokens: maxTokens,
|
|
110
|
-
};
|
|
111
|
-
},
|
|
112
|
-
parseChatResponse: (data) => {
|
|
113
|
-
return data.text || '';
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
export const strategyRegistry = {
|
|
117
|
-
openai: openaiStrategy,
|
|
118
|
-
anthropic: anthropicStrategy,
|
|
119
|
-
gemini: geminiStrategy,
|
|
120
|
-
cohere: cohereStrategy,
|
|
121
|
-
};
|
|
122
|
-
export function getStrategy(format) {
|
|
123
|
-
return strategyRegistry[format] || openaiStrategy;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* 纯前端直连 AI 厂商进行聊天
|
|
127
|
-
* 注意: 这会将 API Key 暴露在浏览器中,仅适用于 Demo/测试场景
|
|
128
|
-
*/
|
|
129
|
-
export async function sendDirectChat(options) {
|
|
130
|
-
const { apiFormat, baseUrl, apiKey, model, messages, maxTokens = 2048 } = options;
|
|
131
|
-
const strategy = getStrategy(apiFormat);
|
|
132
|
-
const endpoint = strategy.getChatEndpoint(baseUrl, apiKey, model);
|
|
133
|
-
const headers = strategy.buildHeaders(apiKey);
|
|
134
|
-
const payload = strategy.buildChatPayload(model, messages, maxTokens);
|
|
135
|
-
const startTime = performance.now();
|
|
136
|
-
try {
|
|
137
|
-
const response = await fetch(endpoint, {
|
|
138
|
-
method: 'POST',
|
|
139
|
-
headers,
|
|
140
|
-
body: JSON.stringify(payload),
|
|
141
|
-
});
|
|
142
|
-
const latencyMs = Math.round(performance.now() - startTime);
|
|
143
|
-
if (!response.ok) {
|
|
144
|
-
const errorData = await response.json().catch(() => ({}));
|
|
145
|
-
return {
|
|
146
|
-
success: false,
|
|
147
|
-
message: errorData.error?.message || `HTTP ${response.status}: ${response.statusText}`,
|
|
148
|
-
latencyMs,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
const data = await response.json();
|
|
152
|
-
const content = strategy.parseChatResponse(data);
|
|
153
|
-
return {
|
|
154
|
-
success: true,
|
|
155
|
-
content,
|
|
156
|
-
latencyMs,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
catch (e) {
|
|
160
|
-
return {
|
|
161
|
-
success: false,
|
|
162
|
-
message: e instanceof Error ? e.message : '网络错误',
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* 测试 AI 厂商连接 (通过发送一个简单的聊天请求)
|
|
168
|
-
*/
|
|
169
|
-
export async function testDirectConnection(options) {
|
|
170
|
-
const result = await sendDirectChat({
|
|
171
|
-
apiFormat: options.apiFormat,
|
|
172
|
-
baseUrl: options.baseUrl,
|
|
173
|
-
apiKey: options.apiKey,
|
|
174
|
-
model: options.model,
|
|
175
|
-
messages: [{ role: 'user', content: 'Hi' }],
|
|
176
|
-
maxTokens: 5, // 最小 token 数,节省成本
|
|
177
|
-
});
|
|
178
|
-
return {
|
|
179
|
-
success: result.success,
|
|
180
|
-
latencyMs: result.latencyMs,
|
|
181
|
-
message: result.success ? undefined : result.message,
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=strategies.js.map
|
package/dist/strategies.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../src/strategies.ts"],"names":[],"mappings":"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"}
|