@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.
Files changed (47) hide show
  1. package/dist/index.d.ts +354 -13
  2. package/dist/index.js +784 -19
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.umd.js +2 -0
  5. package/dist/index.umd.js.map +1 -0
  6. package/package.json +35 -35
  7. package/dist/api.d.ts +0 -14
  8. package/dist/api.d.ts.map +0 -1
  9. package/dist/api.js +0 -139
  10. package/dist/api.js.map +0 -1
  11. package/dist/config.d.ts +0 -18
  12. package/dist/config.d.ts.map +0 -1
  13. package/dist/config.js +0 -85
  14. package/dist/config.js.map +0 -1
  15. package/dist/i18n.d.ts +0 -53
  16. package/dist/i18n.d.ts.map +0 -1
  17. package/dist/i18n.js +0 -51
  18. package/dist/i18n.js.map +0 -1
  19. package/dist/icons.d.ts +0 -10
  20. package/dist/icons.d.ts.map +0 -1
  21. package/dist/icons.js +0 -22
  22. package/dist/icons.js.map +0 -1
  23. package/dist/index.d.ts.map +0 -1
  24. package/dist/models.d.ts +0 -11
  25. package/dist/models.d.ts.map +0 -1
  26. package/dist/models.js +0 -199
  27. package/dist/models.js.map +0 -1
  28. package/dist/providers.d.ts +0 -42
  29. package/dist/providers.d.ts.map +0 -1
  30. package/dist/providers.js +0 -229
  31. package/dist/providers.js.map +0 -1
  32. package/dist/storage.d.ts +0 -31
  33. package/dist/storage.d.ts.map +0 -1
  34. package/dist/storage.js +0 -65
  35. package/dist/storage.js.map +0 -1
  36. package/dist/strategies.d.ts +0 -54
  37. package/dist/strategies.d.ts.map +0 -1
  38. package/dist/strategies.js +0 -184
  39. package/dist/strategies.js.map +0 -1
  40. package/dist/types.d.ts +0 -122
  41. package/dist/types.d.ts.map +0 -1
  42. package/dist/types.js +0 -6
  43. package/dist/types.js.map +0 -1
  44. package/dist/utils.d.ts +0 -2
  45. package/dist/utils.d.ts.map +0 -1
  46. package/dist/utils.js +0 -4
  47. package/dist/utils.js.map +0 -1
package/dist/types.d.ts DELETED
@@ -1,122 +0,0 @@
1
- /**
2
- * AI Provider Selector - Core Types
3
- * Framework-agnostic type definitions
4
- */
5
- export type ApiFormat = 'openai' | 'anthropic' | 'gemini' | 'cohere';
6
- export type FetcherActionType = 'fetchModels' | 'checkConnection';
7
- export interface FetcherParams {
8
- type: FetcherActionType;
9
- providerId: string;
10
- baseUrl: string;
11
- apiKey?: string;
12
- modelId?: string;
13
- }
14
- /**
15
- * Custom fetcher for retrieving models and checking connection.
16
- * If provided, this will bypass internal fetch logic.
17
- *
18
- * - type='fetchModels': returns Promise<Model[]>
19
- * - type='checkConnection': returns Promise<{ success: boolean; latency?: number; message?: string }>
20
- */
21
- export type ModelFetcher = (params: FetcherParams) => Promise<any>;
22
- export interface Provider {
23
- id: string;
24
- name: string;
25
- baseUrl: string;
26
- needsApiKey: boolean;
27
- apiFormat: ApiFormat;
28
- supportsModelsApi: boolean;
29
- icon?: string;
30
- }
31
- /** 自定义 Provider 定义 */
32
- export interface CustomProviderDefinition {
33
- name: string;
34
- baseUrl: string;
35
- needsApiKey: boolean;
36
- apiFormat: ApiFormat;
37
- supportsModelsApi?: boolean;
38
- icon?: string;
39
- /** 静态模型列表(当不支持 /models API 时使用) */
40
- models?: Model[];
41
- }
42
- export interface Model {
43
- id: string;
44
- name: string;
45
- }
46
- export interface AIConfig {
47
- providerId: string;
48
- apiKey: string;
49
- model: string;
50
- modelName?: string;
51
- baseUrl?: string;
52
- }
53
- export interface TestConnectionOptions {
54
- provider: Provider;
55
- apiKey: string;
56
- model?: string;
57
- baseUrl?: string;
58
- proxyUrl?: string;
59
- }
60
- export interface TestConnectionResult {
61
- success: boolean;
62
- latencyMs?: number;
63
- message?: string;
64
- }
65
- export interface FetchModelsOptions {
66
- provider: Provider;
67
- apiKey?: string;
68
- baseUrl?: string;
69
- proxyUrl?: string;
70
- fallbackToStatic?: boolean;
71
- }
72
- export interface StorageAdapter {
73
- get(key: string): string | null;
74
- set(key: string, value: string): void;
75
- remove(key: string): void;
76
- }
77
- /** 自定义 Provider 定义 */
78
- export interface CustomProviderDefinition {
79
- name: string;
80
- baseUrl: string;
81
- needsApiKey: boolean;
82
- apiFormat: ApiFormat;
83
- supportsModelsApi?: boolean;
84
- icon?: string;
85
- /** 静态模型列表(当不支持 /models API 时使用) */
86
- models?: Model[];
87
- }
88
- /** Provider 配置 JSON */
89
- export interface ProviderConfig {
90
- /** 模式:default=内置+自定义,customOnly=只用自定义 */
91
- mode: 'default' | 'customOnly';
92
- /** 白名单:只显示这些内置 provider(仅 mode=default) */
93
- include?: string[];
94
- /** 黑名单:隐藏这些内置 provider(仅 mode=default) */
95
- exclude?: string[];
96
- /** 自定义 Providers */
97
- custom?: Record<string, CustomProviderDefinition>;
98
- }
99
- /** AIConfigForm 组件的 Props */
100
- export interface AIConfigFormProps {
101
- /**
102
- * 自定义请求处理器
103
- * 用于接管获取模型列表和连通性测试的请求
104
- * 如果提供此函数,proxyUrl 在这两种操作中将被忽略
105
- */
106
- modelFetcher?: ModelFetcher;
107
- /** 后端代理地址(必需,除非提供了 modelFetcher) */
108
- proxyUrl?: string;
109
- /** Provider 配置(可选,默认使用全部内置 Providers) */
110
- config?: ProviderConfig;
111
- /** 初始配置(可选,用于编辑已有配置) */
112
- initialConfig?: Partial<AIConfig>;
113
- /** 表单标题 */
114
- title?: string;
115
- /** 是否显示配置预览区域 */
116
- showPreview?: boolean;
117
- /** 保存按钮文本 */
118
- saveButtonText?: string;
119
- /** 是否禁用整个表单 */
120
- disabled?: boolean;
121
- }
122
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * AI Provider Selector - Core Types
3
- * Framework-agnostic type definitions
4
- */
5
- export {};
6
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/utils.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function calculateCommonPrefix(str1: string, str2: string): string;
2
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAuH"}
package/dist/utils.js DELETED
@@ -1,4 +0,0 @@
1
- export function calculateCommonPrefix(str1, str2) { let i = 0; while (i < str1.length && i < str2.length && str1[i] === str2[i]) {
2
- i++;
3
- } return str1.substring(0, i); }
4
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAY,IAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,CAAC,EAAE,CAAC;AAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}