sa2kit 1.6.8 → 1.6.9

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 (125) hide show
  1. package/dist/calendar/index.js +10 -8
  2. package/dist/calendar/index.js.map +1 -1
  3. package/dist/calendar/index.mjs +3 -1
  4. package/dist/calendar/index.mjs.map +1 -1
  5. package/dist/calendar/routes/index.js +21 -21
  6. package/dist/calendar/routes/index.mjs +1 -1
  7. package/dist/calendar/server.js +13 -13
  8. package/dist/calendar/server.mjs +2 -2
  9. package/dist/{chunk-VHU2YGRQ.mjs → chunk-4FOBBWXW.mjs} +25 -11
  10. package/dist/chunk-4FOBBWXW.mjs.map +1 -0
  11. package/dist/{chunk-ZDRBMSTS.js → chunk-G6WRJ2H2.js} +25 -11
  12. package/dist/chunk-G6WRJ2H2.js.map +1 -0
  13. package/dist/{chunk-6WXOA4BE.mjs → chunk-GVVS4IMM.mjs} +2 -2
  14. package/dist/chunk-GVVS4IMM.mjs.map +1 -0
  15. package/dist/{chunk-AXP7KROR.js → chunk-WC5QFO3T.js} +2 -2
  16. package/dist/chunk-WC5QFO3T.js.map +1 -0
  17. package/dist/index.js +5 -5
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +2 -2
  20. package/dist/index.mjs.map +1 -1
  21. package/package.json +41 -7
  22. package/dist/ConfigService-BxK06xP6.d.mts +0 -262
  23. package/dist/ConfigService-BxK06xP6.d.ts +0 -262
  24. package/dist/UniversalFileService-BuHN-jrR.d.ts +0 -515
  25. package/dist/UniversalFileService-CGGzYeeF.d.mts +0 -515
  26. package/dist/analytics/index.d.mts +0 -1084
  27. package/dist/analytics/index.d.ts +0 -1084
  28. package/dist/analytics/server/index.d.mts +0 -499
  29. package/dist/analytics/server/index.d.ts +0 -499
  30. package/dist/api/index.d.mts +0 -248
  31. package/dist/api/index.d.ts +0 -248
  32. package/dist/audioDetection/index.d.mts +0 -449
  33. package/dist/audioDetection/index.d.ts +0 -449
  34. package/dist/auth/client/index.d.mts +0 -153
  35. package/dist/auth/client/index.d.ts +0 -153
  36. package/dist/auth/components/index.d.mts +0 -227
  37. package/dist/auth/components/index.d.ts +0 -227
  38. package/dist/auth/hooks/index.d.mts +0 -31
  39. package/dist/auth/hooks/index.d.ts +0 -31
  40. package/dist/auth/index.d.mts +0 -40
  41. package/dist/auth/index.d.ts +0 -40
  42. package/dist/auth/middleware/index.d.mts +0 -75
  43. package/dist/auth/middleware/index.d.ts +0 -75
  44. package/dist/auth/routes/index.d.mts +0 -261
  45. package/dist/auth/routes/index.d.ts +0 -261
  46. package/dist/auth/schema/index.d.mts +0 -789
  47. package/dist/auth/schema/index.d.ts +0 -789
  48. package/dist/auth/services/index.d.mts +0 -48
  49. package/dist/auth/services/index.d.ts +0 -48
  50. package/dist/calendar/index.d.mts +0 -1197
  51. package/dist/calendar/index.d.ts +0 -1197
  52. package/dist/calendar/routes/index.d.mts +0 -118
  53. package/dist/calendar/routes/index.d.ts +0 -118
  54. package/dist/calendar/server.d.mts +0 -1184
  55. package/dist/calendar/server.d.ts +0 -1184
  56. package/dist/chunk-6WXOA4BE.mjs.map +0 -1
  57. package/dist/chunk-AXP7KROR.js.map +0 -1
  58. package/dist/chunk-VHU2YGRQ.mjs.map +0 -1
  59. package/dist/chunk-ZDRBMSTS.js.map +0 -1
  60. package/dist/config/index.d.mts +0 -64
  61. package/dist/config/index.d.ts +0 -64
  62. package/dist/config/server/index.d.mts +0 -1533
  63. package/dist/config/server/index.d.ts +0 -1533
  64. package/dist/drizzle-auth-service-Bxlovhv8.d.ts +0 -145
  65. package/dist/drizzle-auth-service-DZY2F1sv.d.mts +0 -145
  66. package/dist/drizzle-schema-BNhqj2AZ.d.mts +0 -1114
  67. package/dist/drizzle-schema-BNhqj2AZ.d.ts +0 -1114
  68. package/dist/enums-Dume-V5Y.d.mts +0 -16
  69. package/dist/enums-Dume-V5Y.d.ts +0 -16
  70. package/dist/i18n/index.d.mts +0 -417
  71. package/dist/i18n/index.d.ts +0 -417
  72. package/dist/imageCrop/index.d.mts +0 -165
  73. package/dist/imageCrop/index.d.ts +0 -165
  74. package/dist/index-DSel44Ke.d.mts +0 -93
  75. package/dist/index-DSel44Ke.d.ts +0 -93
  76. package/dist/index.d.mts +0 -693
  77. package/dist/index.d.ts +0 -693
  78. package/dist/logger/index.d.mts +0 -125
  79. package/dist/logger/index.d.ts +0 -125
  80. package/dist/mmd/admin/index.d.mts +0 -487
  81. package/dist/mmd/admin/index.d.ts +0 -487
  82. package/dist/mmd/index.d.mts +0 -599
  83. package/dist/mmd/index.d.ts +0 -599
  84. package/dist/mmd/server/index.d.mts +0 -138
  85. package/dist/mmd/server/index.d.ts +0 -138
  86. package/dist/music/index.d.mts +0 -74
  87. package/dist/music/index.d.ts +0 -74
  88. package/dist/music/server/index.d.mts +0 -1
  89. package/dist/music/server/index.d.ts +0 -1
  90. package/dist/request/index.d.mts +0 -51
  91. package/dist/request/index.d.ts +0 -51
  92. package/dist/storage/index.d.mts +0 -75
  93. package/dist/storage/index.d.ts +0 -75
  94. package/dist/testYourself/admin/index.d.mts +0 -58
  95. package/dist/testYourself/admin/index.d.ts +0 -58
  96. package/dist/testYourself/index.d.mts +0 -53
  97. package/dist/testYourself/index.d.ts +0 -53
  98. package/dist/testYourself/server/index.d.mts +0 -1029
  99. package/dist/testYourself/server/index.d.ts +0 -1029
  100. package/dist/types-B60F7EZZ.d.mts +0 -248
  101. package/dist/types-B60F7EZZ.d.ts +0 -248
  102. package/dist/types-BINlP9MK.d.mts +0 -286
  103. package/dist/types-BINlP9MK.d.ts +0 -286
  104. package/dist/types-BaZccpvk.d.mts +0 -48
  105. package/dist/types-BaZccpvk.d.ts +0 -48
  106. package/dist/types-CK4We_aI.d.mts +0 -270
  107. package/dist/types-CK4We_aI.d.ts +0 -270
  108. package/dist/types-CbTsi9CZ.d.mts +0 -31
  109. package/dist/types-CbTsi9CZ.d.ts +0 -31
  110. package/dist/types-CroexXnI.d.ts +0 -99
  111. package/dist/types-DmsXCWvm.d.mts +0 -99
  112. package/dist/types-Dt0oqeFM.d.mts +0 -70
  113. package/dist/types-zK6kDzDQ.d.ts +0 -70
  114. package/dist/universalExport/index.d.mts +0 -235
  115. package/dist/universalExport/index.d.ts +0 -235
  116. package/dist/universalExport/server/index.d.mts +0 -1270
  117. package/dist/universalExport/server/index.d.ts +0 -1270
  118. package/dist/universalFile/index.d.mts +0 -480
  119. package/dist/universalFile/index.d.ts +0 -480
  120. package/dist/universalFile/server/index.d.mts +0 -4516
  121. package/dist/universalFile/server/index.d.ts +0 -4516
  122. package/dist/useElectronStorage-Dj0rcorG.d.mts +0 -65
  123. package/dist/useElectronStorage-DwnNfIhl.d.ts +0 -65
  124. package/dist/utils/index.d.mts +0 -192
  125. package/dist/utils/index.d.ts +0 -192
@@ -1,248 +0,0 @@
1
- import { S as StorageAdapter } from '../types-BaZccpvk.mjs';
2
- import { R as RequestAdapter, a as RequestConfig } from '../types-CbTsi9CZ.mjs';
3
-
4
- /**
5
- * API 通用类型定义
6
- * Common API Types
7
- */
8
- /**
9
- * API 响应类型
10
- * Generic API Response Format
11
- */
12
- interface ApiResponse<T = any> {
13
- success: boolean;
14
- data?: T;
15
- error?: string;
16
- message?: string;
17
- meta?: {
18
- pagination?: {
19
- page: number;
20
- limit: number;
21
- total: number;
22
- pages: number;
23
- };
24
- [key: string]: any;
25
- };
26
- }
27
- /**
28
- * 分页参数类型
29
- * Pagination Parameters
30
- */
31
- interface PaginationParams {
32
- page?: number;
33
- limit?: number;
34
- search?: string;
35
- sortBy?: string;
36
- sortOrder?: 'asc' | 'desc';
37
- }
38
- /**
39
- * 认证响应类型(泛型)
40
- * Generic Auth Response
41
- */
42
- interface AuthResponse<TUser = any> {
43
- user: TUser;
44
- token: string;
45
- }
46
- /**
47
- * 默认存储键常量
48
- * Default Storage Keys
49
- */
50
- declare const DEFAULT_STORAGE_KEYS: {
51
- readonly AUTH_TOKEN: "auth_token";
52
- readonly USER_DATA: "user_data";
53
- readonly REFRESH_TOKEN: "refresh_token";
54
- };
55
- /**
56
- * 存储键类型(可扩展)
57
- * Storage Keys Type
58
- */
59
- type StorageKeys = typeof DEFAULT_STORAGE_KEYS;
60
- /**
61
- * API 路由配置
62
- * API Routes Configuration
63
- */
64
- interface ApiRoutes {
65
- /** 认证相关路由 */
66
- auth?: {
67
- login?: string;
68
- logout?: string;
69
- register?: string;
70
- me?: string;
71
- };
72
- /** 用户相关路由 */
73
- users?: {
74
- list?: string;
75
- detail?: (id: string) => string;
76
- update?: (id: string) => string;
77
- delete?: (id: string) => string;
78
- };
79
- /** 自定义路由 */
80
- [key: string]: any;
81
- }
82
- /**
83
- * 默认 API 路由
84
- */
85
- declare const DEFAULT_API_ROUTES: ApiRoutes;
86
-
87
- /**
88
- * 基础 API 客户端(泛型)
89
- * Base API Client (Generic)
90
- *
91
- * 提供统一的 API 调用逻辑,通过适配器模式支持多平台
92
- * 使用泛型 TUser 支持不同项目的用户类型
93
- */
94
-
95
- /**
96
- * 基础 API 客户端配置
97
- */
98
- interface BaseApiClientConfig {
99
- /** 基础 URL */
100
- baseUrl: string;
101
- /** 存储适配器 */
102
- storage: StorageAdapter;
103
- /** 请求适配器 */
104
- request: RequestAdapter;
105
- /** 自定义存储键(可选) */
106
- storageKeys?: Partial<StorageKeys>;
107
- /** API 路由配置(可选) */
108
- routes?: ApiRoutes;
109
- }
110
- /**
111
- * 基础 API 客户端
112
- * @template TUser 用户类型(泛型)
113
- */
114
- declare class BaseApiClient<TUser = any> {
115
- protected token: string | null;
116
- protected user: TUser | null;
117
- protected baseUrl: string;
118
- protected storage: StorageAdapter;
119
- protected request: RequestAdapter;
120
- protected storageKeys: StorageKeys;
121
- protected routes: ApiRoutes;
122
- constructor(config: BaseApiClientConfig);
123
- /**
124
- * 初始化 - 从存储中加载 token 和用户信息
125
- */
126
- init(): Promise<void>;
127
- /**
128
- * 设置认证 token
129
- */
130
- setToken(token: string | null): Promise<void>;
131
- /**
132
- * 设置用户信息
133
- */
134
- setUser(user: TUser | null): Promise<void>;
135
- /**
136
- * 获取当前 token
137
- */
138
- getToken(): string | null;
139
- /**
140
- * 获取当前用户
141
- */
142
- getUser(): TUser | null;
143
- /**
144
- * 检查是否已登录
145
- */
146
- isAuthenticated(): Promise<boolean>;
147
- /**
148
- * 清除用户数据
149
- */
150
- clearUserData(): Promise<void>;
151
- /**
152
- * 发送请求的通用方法
153
- */
154
- protected sendRequest<T = any>(config: RequestConfig): Promise<ApiResponse<T>>;
155
- /**
156
- * 发送 GET 请求
157
- */
158
- get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
159
- /**
160
- * 发送 POST 请求
161
- */
162
- post<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
163
- /**
164
- * 发送 PUT 请求
165
- */
166
- put<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
167
- /**
168
- * 发送 PATCH 请求
169
- */
170
- patch<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
171
- /**
172
- * 发送 DELETE 请求
173
- */
174
- delete<T = any>(url: string): Promise<ApiResponse<T>>;
175
- /**
176
- * 用户注册
177
- * 默认实现,子类可重写以添加自定义逻辑
178
- */
179
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse<TUser>>>;
180
- /**
181
- * 用户登录
182
- * 默认实现,子类可重写以添加自定义逻辑
183
- */
184
- login(email: string, password: string): Promise<ApiResponse<AuthResponse<TUser>>>;
185
- /**
186
- * 用户退出登录
187
- * 默认实现,子类可重写以添加自定义逻辑
188
- */
189
- logout(): Promise<void>;
190
- /**
191
- * 获取当前用户信息
192
- * 默认实现,子类可重写以添加自定义逻辑
193
- */
194
- getCurrentUser(): Promise<ApiResponse<TUser>>;
195
- /**
196
- * 获取用户列表
197
- * 默认实现,子类可重写以添加自定义逻辑
198
- */
199
- getUsers(params?: {
200
- page?: number;
201
- limit?: number;
202
- search?: string;
203
- }): Promise<ApiResponse<{
204
- users: TUser[];
205
- total: number;
206
- }>>;
207
- /**
208
- * 获取用户详情
209
- * 默认实现,子类可重写以添加自定义逻辑
210
- */
211
- getUserById(userId: string): Promise<ApiResponse<TUser>>;
212
- /**
213
- * 更新用户信息
214
- * 默认实现,子类可重写以添加自定义逻辑
215
- */
216
- updateUser(userId: string, data: Partial<TUser>): Promise<ApiResponse<TUser>>;
217
- /**
218
- * 删除用户
219
- * 默认实现,子类可重写以添加自定义逻辑
220
- */
221
- deleteUser(userId: string): Promise<ApiResponse<void>>;
222
- /**
223
- * 请求前钩子(子类可重写)
224
- */
225
- protected onBeforeRequest?(config: RequestConfig): Promise<RequestConfig>;
226
- /**
227
- * 请求后钩子(子类可重写)
228
- */
229
- protected onAfterRequest?<T>(response: ApiResponse<T>): Promise<ApiResponse<T>>;
230
- /**
231
- * 请求错误钩子(子类可重写)
232
- */
233
- protected onRequestError?(error: Error): Promise<void>;
234
- /**
235
- * 认证成功钩子(子类可重写)
236
- */
237
- protected onAuthSuccess?(user: TUser, token: string): Promise<void>;
238
- /**
239
- * 认证失败钩子(子类可重写)
240
- */
241
- protected onAuthError?(error: string): Promise<void>;
242
- /**
243
- * 登出钩子(子类可重写)
244
- */
245
- protected onLogout?(): Promise<void>;
246
- }
247
-
248
- export { type ApiResponse, type ApiRoutes, type AuthResponse, BaseApiClient, type BaseApiClientConfig, DEFAULT_API_ROUTES, DEFAULT_STORAGE_KEYS, type PaginationParams, RequestAdapter, RequestConfig, StorageAdapter, type StorageKeys };
@@ -1,248 +0,0 @@
1
- import { S as StorageAdapter } from '../types-BaZccpvk.js';
2
- import { R as RequestAdapter, a as RequestConfig } from '../types-CbTsi9CZ.js';
3
-
4
- /**
5
- * API 通用类型定义
6
- * Common API Types
7
- */
8
- /**
9
- * API 响应类型
10
- * Generic API Response Format
11
- */
12
- interface ApiResponse<T = any> {
13
- success: boolean;
14
- data?: T;
15
- error?: string;
16
- message?: string;
17
- meta?: {
18
- pagination?: {
19
- page: number;
20
- limit: number;
21
- total: number;
22
- pages: number;
23
- };
24
- [key: string]: any;
25
- };
26
- }
27
- /**
28
- * 分页参数类型
29
- * Pagination Parameters
30
- */
31
- interface PaginationParams {
32
- page?: number;
33
- limit?: number;
34
- search?: string;
35
- sortBy?: string;
36
- sortOrder?: 'asc' | 'desc';
37
- }
38
- /**
39
- * 认证响应类型(泛型)
40
- * Generic Auth Response
41
- */
42
- interface AuthResponse<TUser = any> {
43
- user: TUser;
44
- token: string;
45
- }
46
- /**
47
- * 默认存储键常量
48
- * Default Storage Keys
49
- */
50
- declare const DEFAULT_STORAGE_KEYS: {
51
- readonly AUTH_TOKEN: "auth_token";
52
- readonly USER_DATA: "user_data";
53
- readonly REFRESH_TOKEN: "refresh_token";
54
- };
55
- /**
56
- * 存储键类型(可扩展)
57
- * Storage Keys Type
58
- */
59
- type StorageKeys = typeof DEFAULT_STORAGE_KEYS;
60
- /**
61
- * API 路由配置
62
- * API Routes Configuration
63
- */
64
- interface ApiRoutes {
65
- /** 认证相关路由 */
66
- auth?: {
67
- login?: string;
68
- logout?: string;
69
- register?: string;
70
- me?: string;
71
- };
72
- /** 用户相关路由 */
73
- users?: {
74
- list?: string;
75
- detail?: (id: string) => string;
76
- update?: (id: string) => string;
77
- delete?: (id: string) => string;
78
- };
79
- /** 自定义路由 */
80
- [key: string]: any;
81
- }
82
- /**
83
- * 默认 API 路由
84
- */
85
- declare const DEFAULT_API_ROUTES: ApiRoutes;
86
-
87
- /**
88
- * 基础 API 客户端(泛型)
89
- * Base API Client (Generic)
90
- *
91
- * 提供统一的 API 调用逻辑,通过适配器模式支持多平台
92
- * 使用泛型 TUser 支持不同项目的用户类型
93
- */
94
-
95
- /**
96
- * 基础 API 客户端配置
97
- */
98
- interface BaseApiClientConfig {
99
- /** 基础 URL */
100
- baseUrl: string;
101
- /** 存储适配器 */
102
- storage: StorageAdapter;
103
- /** 请求适配器 */
104
- request: RequestAdapter;
105
- /** 自定义存储键(可选) */
106
- storageKeys?: Partial<StorageKeys>;
107
- /** API 路由配置(可选) */
108
- routes?: ApiRoutes;
109
- }
110
- /**
111
- * 基础 API 客户端
112
- * @template TUser 用户类型(泛型)
113
- */
114
- declare class BaseApiClient<TUser = any> {
115
- protected token: string | null;
116
- protected user: TUser | null;
117
- protected baseUrl: string;
118
- protected storage: StorageAdapter;
119
- protected request: RequestAdapter;
120
- protected storageKeys: StorageKeys;
121
- protected routes: ApiRoutes;
122
- constructor(config: BaseApiClientConfig);
123
- /**
124
- * 初始化 - 从存储中加载 token 和用户信息
125
- */
126
- init(): Promise<void>;
127
- /**
128
- * 设置认证 token
129
- */
130
- setToken(token: string | null): Promise<void>;
131
- /**
132
- * 设置用户信息
133
- */
134
- setUser(user: TUser | null): Promise<void>;
135
- /**
136
- * 获取当前 token
137
- */
138
- getToken(): string | null;
139
- /**
140
- * 获取当前用户
141
- */
142
- getUser(): TUser | null;
143
- /**
144
- * 检查是否已登录
145
- */
146
- isAuthenticated(): Promise<boolean>;
147
- /**
148
- * 清除用户数据
149
- */
150
- clearUserData(): Promise<void>;
151
- /**
152
- * 发送请求的通用方法
153
- */
154
- protected sendRequest<T = any>(config: RequestConfig): Promise<ApiResponse<T>>;
155
- /**
156
- * 发送 GET 请求
157
- */
158
- get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
159
- /**
160
- * 发送 POST 请求
161
- */
162
- post<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
163
- /**
164
- * 发送 PUT 请求
165
- */
166
- put<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
167
- /**
168
- * 发送 PATCH 请求
169
- */
170
- patch<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
171
- /**
172
- * 发送 DELETE 请求
173
- */
174
- delete<T = any>(url: string): Promise<ApiResponse<T>>;
175
- /**
176
- * 用户注册
177
- * 默认实现,子类可重写以添加自定义逻辑
178
- */
179
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse<TUser>>>;
180
- /**
181
- * 用户登录
182
- * 默认实现,子类可重写以添加自定义逻辑
183
- */
184
- login(email: string, password: string): Promise<ApiResponse<AuthResponse<TUser>>>;
185
- /**
186
- * 用户退出登录
187
- * 默认实现,子类可重写以添加自定义逻辑
188
- */
189
- logout(): Promise<void>;
190
- /**
191
- * 获取当前用户信息
192
- * 默认实现,子类可重写以添加自定义逻辑
193
- */
194
- getCurrentUser(): Promise<ApiResponse<TUser>>;
195
- /**
196
- * 获取用户列表
197
- * 默认实现,子类可重写以添加自定义逻辑
198
- */
199
- getUsers(params?: {
200
- page?: number;
201
- limit?: number;
202
- search?: string;
203
- }): Promise<ApiResponse<{
204
- users: TUser[];
205
- total: number;
206
- }>>;
207
- /**
208
- * 获取用户详情
209
- * 默认实现,子类可重写以添加自定义逻辑
210
- */
211
- getUserById(userId: string): Promise<ApiResponse<TUser>>;
212
- /**
213
- * 更新用户信息
214
- * 默认实现,子类可重写以添加自定义逻辑
215
- */
216
- updateUser(userId: string, data: Partial<TUser>): Promise<ApiResponse<TUser>>;
217
- /**
218
- * 删除用户
219
- * 默认实现,子类可重写以添加自定义逻辑
220
- */
221
- deleteUser(userId: string): Promise<ApiResponse<void>>;
222
- /**
223
- * 请求前钩子(子类可重写)
224
- */
225
- protected onBeforeRequest?(config: RequestConfig): Promise<RequestConfig>;
226
- /**
227
- * 请求后钩子(子类可重写)
228
- */
229
- protected onAfterRequest?<T>(response: ApiResponse<T>): Promise<ApiResponse<T>>;
230
- /**
231
- * 请求错误钩子(子类可重写)
232
- */
233
- protected onRequestError?(error: Error): Promise<void>;
234
- /**
235
- * 认证成功钩子(子类可重写)
236
- */
237
- protected onAuthSuccess?(user: TUser, token: string): Promise<void>;
238
- /**
239
- * 认证失败钩子(子类可重写)
240
- */
241
- protected onAuthError?(error: string): Promise<void>;
242
- /**
243
- * 登出钩子(子类可重写)
244
- */
245
- protected onLogout?(): Promise<void>;
246
- }
247
-
248
- export { type ApiResponse, type ApiRoutes, type AuthResponse, BaseApiClient, type BaseApiClientConfig, DEFAULT_API_ROUTES, DEFAULT_STORAGE_KEYS, type PaginationParams, RequestAdapter, RequestConfig, StorageAdapter, type StorageKeys };