@round2ai/r2-cli 1.0.2 → 1.0.4

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 (161) hide show
  1. package/README.md +159 -75
  2. package/dist/README.md +221 -0
  3. package/dist/package.json +55 -0
  4. package/dist/r2-cli.js +28 -0
  5. package/package.json +26 -22
  6. package/dist/api.d.ts +0 -45
  7. package/dist/api.d.ts.map +0 -1
  8. package/dist/api.js +0 -90
  9. package/dist/api.js.map +0 -1
  10. package/dist/auth.d.ts +0 -35
  11. package/dist/auth.d.ts.map +0 -1
  12. package/dist/auth.js +0 -240
  13. package/dist/auth.js.map +0 -1
  14. package/dist/commands/ai/chat.d.ts +0 -9
  15. package/dist/commands/ai/chat.d.ts.map +0 -1
  16. package/dist/commands/ai/chat.js +0 -16
  17. package/dist/commands/ai/chat.js.map +0 -1
  18. package/dist/commands/ai/skills.d.ts +0 -9
  19. package/dist/commands/ai/skills.d.ts.map +0 -1
  20. package/dist/commands/ai/skills.js +0 -16
  21. package/dist/commands/ai/skills.js.map +0 -1
  22. package/dist/commands/auth/login.d.ts +0 -24
  23. package/dist/commands/auth/login.d.ts.map +0 -1
  24. package/dist/commands/auth/login.js +0 -288
  25. package/dist/commands/auth/login.js.map +0 -1
  26. package/dist/commands/auth/logout.d.ts +0 -16
  27. package/dist/commands/auth/logout.d.ts.map +0 -1
  28. package/dist/commands/auth/logout.js +0 -49
  29. package/dist/commands/auth/logout.js.map +0 -1
  30. package/dist/commands/auth/status.d.ts +0 -28
  31. package/dist/commands/auth/status.d.ts.map +0 -1
  32. package/dist/commands/auth/status.js +0 -92
  33. package/dist/commands/auth/status.js.map +0 -1
  34. package/dist/commands/base.d.ts +0 -107
  35. package/dist/commands/base.d.ts.map +0 -1
  36. package/dist/commands/base.js +0 -153
  37. package/dist/commands/base.js.map +0 -1
  38. package/dist/commands/business/pricing.d.ts +0 -9
  39. package/dist/commands/business/pricing.d.ts.map +0 -1
  40. package/dist/commands/business/pricing.js +0 -16
  41. package/dist/commands/business/pricing.js.map +0 -1
  42. package/dist/commands/business/report.d.ts +0 -9
  43. package/dist/commands/business/report.d.ts.map +0 -1
  44. package/dist/commands/business/report.js +0 -16
  45. package/dist/commands/business/report.js.map +0 -1
  46. package/dist/commands/inventory/risk.d.ts +0 -9
  47. package/dist/commands/inventory/risk.d.ts.map +0 -1
  48. package/dist/commands/inventory/risk.js +0 -16
  49. package/dist/commands/inventory/risk.js.map +0 -1
  50. package/dist/config.d.ts +0 -54
  51. package/dist/config.d.ts.map +0 -1
  52. package/dist/config.js +0 -111
  53. package/dist/config.js.map +0 -1
  54. package/dist/index.d.ts +0 -7
  55. package/dist/index.d.ts.map +0 -1
  56. package/dist/index.js +0 -186
  57. package/dist/index.js.map +0 -1
  58. package/dist/query/executor.d.ts +0 -138
  59. package/dist/query/executor.d.ts.map +0 -1
  60. package/dist/query/executor.js +0 -232
  61. package/dist/query/executor.js.map +0 -1
  62. package/dist/query/types.d.ts +0 -116
  63. package/dist/query/types.d.ts.map +0 -1
  64. package/dist/query/types.js +0 -15
  65. package/dist/query/types.js.map +0 -1
  66. package/dist/query/utils.d.ts +0 -99
  67. package/dist/query/utils.d.ts.map +0 -1
  68. package/dist/query/utils.js +0 -151
  69. package/dist/query/utils.js.map +0 -1
  70. package/dist/services/ServiceContainer.d.ts +0 -110
  71. package/dist/services/ServiceContainer.d.ts.map +0 -1
  72. package/dist/services/ServiceContainer.js +0 -242
  73. package/dist/services/ServiceContainer.js.map +0 -1
  74. package/dist/services/api/client.d.ts +0 -88
  75. package/dist/services/api/client.d.ts.map +0 -1
  76. package/dist/services/api/client.js +0 -188
  77. package/dist/services/api/client.js.map +0 -1
  78. package/dist/services/api/types.d.ts +0 -233
  79. package/dist/services/api/types.d.ts.map +0 -1
  80. package/dist/services/api/types.js +0 -83
  81. package/dist/services/api/types.js.map +0 -1
  82. package/dist/services/auth/provider.d.ts +0 -73
  83. package/dist/services/auth/provider.d.ts.map +0 -1
  84. package/dist/services/auth/provider.js +0 -339
  85. package/dist/services/auth/provider.js.map +0 -1
  86. package/dist/services/auth/session.d.ts +0 -73
  87. package/dist/services/auth/session.d.ts.map +0 -1
  88. package/dist/services/auth/session.js +0 -200
  89. package/dist/services/auth/session.js.map +0 -1
  90. package/dist/services/business/demand.d.ts +0 -70
  91. package/dist/services/business/demand.d.ts.map +0 -1
  92. package/dist/services/business/demand.js +0 -240
  93. package/dist/services/business/demand.js.map +0 -1
  94. package/dist/services/business/fulfillment.d.ts +0 -122
  95. package/dist/services/business/fulfillment.d.ts.map +0 -1
  96. package/dist/services/business/fulfillment.js +0 -267
  97. package/dist/services/business/fulfillment.js.map +0 -1
  98. package/dist/services/business/inventory.d.ts +0 -54
  99. package/dist/services/business/inventory.d.ts.map +0 -1
  100. package/dist/services/business/inventory.js +0 -245
  101. package/dist/services/business/inventory.js.map +0 -1
  102. package/dist/services/business/pricing.d.ts +0 -41
  103. package/dist/services/business/pricing.d.ts.map +0 -1
  104. package/dist/services/business/pricing.js +0 -133
  105. package/dist/services/business/pricing.js.map +0 -1
  106. package/dist/services/business/report.d.ts +0 -74
  107. package/dist/services/business/report.d.ts.map +0 -1
  108. package/dist/services/business/report.js +0 -380
  109. package/dist/services/business/report.js.map +0 -1
  110. package/dist/services/config/manager.d.ts +0 -105
  111. package/dist/services/config/manager.d.ts.map +0 -1
  112. package/dist/services/config/manager.js +0 -324
  113. package/dist/services/config/manager.js.map +0 -1
  114. package/dist/services/config/types.d.ts +0 -128
  115. package/dist/services/config/types.d.ts.map +0 -1
  116. package/dist/services/config/types.js +0 -209
  117. package/dist/services/config/types.js.map +0 -1
  118. package/dist/services/index.d.ts +0 -17
  119. package/dist/services/index.d.ts.map +0 -1
  120. package/dist/services/index.js +0 -44
  121. package/dist/services/index.js.map +0 -1
  122. package/dist/services/storage/index.d.ts +0 -63
  123. package/dist/services/storage/index.d.ts.map +0 -1
  124. package/dist/services/storage/index.js +0 -136
  125. package/dist/services/storage/index.js.map +0 -1
  126. package/dist/types/api.d.ts +0 -58
  127. package/dist/types/api.d.ts.map +0 -1
  128. package/dist/types/api.js +0 -5
  129. package/dist/types/api.js.map +0 -1
  130. package/dist/types/auth.d.ts +0 -59
  131. package/dist/types/auth.d.ts.map +0 -1
  132. package/dist/types/auth.js +0 -11
  133. package/dist/types/auth.js.map +0 -1
  134. package/dist/types/business.d.ts +0 -201
  135. package/dist/types/business.d.ts.map +0 -1
  136. package/dist/types/business.js +0 -5
  137. package/dist/types/business.js.map +0 -1
  138. package/dist/types/command.d.ts +0 -106
  139. package/dist/types/command.d.ts.map +0 -1
  140. package/dist/types/command.js +0 -5
  141. package/dist/types/command.js.map +0 -1
  142. package/dist/types/config.d.ts +0 -66
  143. package/dist/types/config.d.ts.map +0 -1
  144. package/dist/types/config.js +0 -5
  145. package/dist/types/config.js.map +0 -1
  146. package/dist/utils/async.d.ts +0 -79
  147. package/dist/utils/async.d.ts.map +0 -1
  148. package/dist/utils/async.js +0 -179
  149. package/dist/utils/async.js.map +0 -1
  150. package/dist/utils/format.d.ts +0 -90
  151. package/dist/utils/format.d.ts.map +0 -1
  152. package/dist/utils/format.js +0 -227
  153. package/dist/utils/format.js.map +0 -1
  154. package/dist/utils/logger.d.ts +0 -136
  155. package/dist/utils/logger.d.ts.map +0 -1
  156. package/dist/utils/logger.js +0 -249
  157. package/dist/utils/logger.js.map +0 -1
  158. package/dist/utils/validation.d.ts +0 -100
  159. package/dist/utils/validation.d.ts.map +0 -1
  160. package/dist/utils/validation.js +0 -334
  161. package/dist/utils/validation.js.map +0 -1
@@ -1,105 +0,0 @@
1
- /**
2
- * 配置管理器 - 重构自 config.ts
3
- */
4
- import { IConfigManager, UserConfig } from "../../types/config.js";
5
- /**
6
- * 配置管理器
7
- */
8
- export declare class ConfigManager implements IConfigManager {
9
- private config;
10
- private validator;
11
- /**
12
- * 确保配置目录存在
13
- */
14
- private ensureConfigDir;
15
- /**
16
- * 读取配置文件
17
- */
18
- readConfig(): Promise<UserConfig>;
19
- /**
20
- * 写入配置文件
21
- */
22
- writeConfig(config: UserConfig): Promise<void>;
23
- /**
24
- * 更新配置
25
- */
26
- updateConfig(updates: Partial<UserConfig>): Promise<UserConfig>;
27
- /**
28
- * 获取配置值
29
- */
30
- get(key: string): Promise<unknown>;
31
- /**
32
- * 设置配置值
33
- */
34
- set(key: string, value: unknown): Promise<void>;
35
- /**
36
- * 获取默认配置
37
- */
38
- private getDefaultConfig;
39
- /**
40
- * 重置配置
41
- */
42
- resetConfig(): Promise<UserConfig>;
43
- /**
44
- * 检查配置项是否存在
45
- */
46
- has(key: string): boolean;
47
- /**
48
- * 获取所有配置
49
- */
50
- getAllConfig(): UserConfig;
51
- /**
52
- * 获取配置路径信息
53
- */
54
- getConfigPath(): string;
55
- /**
56
- * 验证配置
57
- */
58
- validateConfig(config: UserConfig): {
59
- isValid: boolean;
60
- errors?: string[];
61
- };
62
- /**
63
- * 备份配置
64
- */
65
- backupConfig(): Promise<string>;
66
- /**
67
- * 恢复配置
68
- */
69
- restoreConfig(backupFile: string): Promise<void>;
70
- /**
71
- * 迁移配置(处理配置格式变更)
72
- */
73
- migrateConfig(): Promise<UserConfig>;
74
- /**
75
- * 获取配置统计信息
76
- */
77
- getConfigStats(): {
78
- totalKeys: number;
79
- hasAuth: boolean;
80
- hasApi: boolean;
81
- hasCache: boolean;
82
- hasLogging: boolean;
83
- };
84
- /**
85
- * 显示配置信息
86
- */
87
- displayConfig(): Promise<void>;
88
- }
89
- /**
90
- * 创建配置管理器
91
- */
92
- export declare function createConfigManager(): ConfigManager;
93
- /**
94
- * 默认配置管理器
95
- */
96
- export declare const configManager: ConfigManager;
97
- /**
98
- * 初始化配置文件
99
- */
100
- export declare function initConfig(): Promise<UserConfig>;
101
- /**
102
- * 确保配置存在
103
- */
104
- export declare function ensureConfig(): Promise<UserConfig>;
105
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/services/config/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAa,MAAM,uBAAuB,CAAC;AA0C9E;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAA4C;IAE7D;;OAEG;YACW,eAAe;IAI7B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IA8BvC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpD;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAQrE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBxC;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;IAQxC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,YAAY,IAAI,UAAU;IAI1B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAQ3E;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAYrC;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAU1C;;OAEG;IACH,cAAc,IAAI;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;KACrB;IAUD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAsCrC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,eAAwB,CAAC;AAEnD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAGtD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAExD"}
@@ -1,324 +0,0 @@
1
- /**
2
- * 配置管理器 - 重构自 config.ts
3
- */
4
- import fse from "fs-extra";
5
- import path from "node:path";
6
- import os from "node:os";
7
- import chalk from "chalk";
8
- import { IConfigManager, UserConfig, AppConfig } from "../../types/config.js";
9
- import { logger } from "../../utils/logger.js";
10
- import { createValidator, validate } from "../../utils/validation.js";
11
- /**
12
- * 配置文件路径
13
- */
14
- const CONFIG_DIR = path.join(os.homedir(), ".r2-cli");
15
- const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
16
- /**
17
- * 配置验证规则
18
- */
19
- const CONFIG_VALIDATION_RULES = {
20
- auth: {
21
- accessToken: { type: "string" },
22
- refreshToken: { type: "string" },
23
- userId: { type: "string", required: true },
24
- username: { type: "string", required: true },
25
- expiresAt: { type: "number", required: true },
26
- },
27
- api: {
28
- baseUrl: { type: "string" },
29
- timeout: { type: "number", min: 1000, max: 60000 },
30
- retries: { type: "number", min: 0, max: 10 },
31
- },
32
- cache: {
33
- enabled: { type: "boolean" },
34
- ttl: { type: "number", min: 60, max: 3600 },
35
- },
36
- logging: {
37
- level: {
38
- type: "string",
39
- enum: ["debug", "info", "warn", "error"],
40
- },
41
- format: {
42
- type: "string",
43
- enum: ["json", "text"],
44
- },
45
- },
46
- };
47
- /**
48
- * 配置管理器
49
- */
50
- export class ConfigManager {
51
- config = {};
52
- validator = createValidator(CONFIG_VALIDATION_RULES);
53
- /**
54
- * 确保配置目录存在
55
- */
56
- async ensureConfigDir() {
57
- await fse.ensureDir(CONFIG_DIR);
58
- }
59
- /**
60
- * 读取配置文件
61
- */
62
- async readConfig() {
63
- try {
64
- await this.ensureConfigDir();
65
- if (await fse.pathExists(CONFIG_FILE)) {
66
- const content = await fse.readJSON(CONFIG_FILE);
67
- // 验证配置
68
- const result = validate(content, CONFIG_VALIDATION_RULES);
69
- if (result.isValid && result.value) {
70
- this.config = result.value;
71
- logger.debug("配置文件加载成功");
72
- }
73
- else {
74
- logger.warn("配置文件验证失败,使用默认配置");
75
- this.config = this.getDefaultConfig();
76
- }
77
- }
78
- else {
79
- logger.info("配置文件不存在,使用默认配置");
80
- this.config = this.getDefaultConfig();
81
- }
82
- return this.config;
83
- }
84
- catch (error) {
85
- logger.error("读取配置文件失败:", error);
86
- this.config = this.getDefaultConfig();
87
- return this.config;
88
- }
89
- }
90
- /**
91
- * 写入配置文件
92
- */
93
- async writeConfig(config) {
94
- try {
95
- await this.ensureConfigDir();
96
- await fse.writeJSON(CONFIG_FILE, config, { spaces: 2 });
97
- this.config = config;
98
- logger.debug("配置文件保存成功");
99
- }
100
- catch (error) {
101
- logger.error("写入配置文件失败:", error);
102
- throw error;
103
- }
104
- }
105
- /**
106
- * 更新配置
107
- */
108
- async updateConfig(updates) {
109
- const currentConfig = await this.readConfig();
110
- const newConfig = { ...currentConfig, ...updates };
111
- await this.writeConfig(newConfig);
112
- return newConfig;
113
- }
114
- /**
115
- * 获取配置值
116
- */
117
- async get(key) {
118
- // 支持嵌套路径,如 "api.baseUrl"
119
- const keys = key.split(".");
120
- let value = this.config;
121
- for (const k of keys) {
122
- if (typeof value === "object" && value !== null && k in value) {
123
- value = value[k];
124
- }
125
- else {
126
- return undefined;
127
- }
128
- }
129
- return value;
130
- }
131
- /**
132
- * 设置配置值
133
- */
134
- async set(key, value) {
135
- // 支持嵌套路径
136
- const keys = key.split(".");
137
- const lastKey = keys.pop();
138
- let config = this.config;
139
- // 创建路径对象
140
- for (const k of keys) {
141
- if (!(k in config)) {
142
- config[k] = {};
143
- }
144
- config = config[k];
145
- }
146
- // 设置值
147
- config[lastKey] = value;
148
- // 保存配置
149
- await this.writeConfig(this.config);
150
- }
151
- /**
152
- * 获取默认配置
153
- */
154
- getDefaultConfig() {
155
- return {
156
- api: {
157
- baseUrl: "https://api.round2ai.com",
158
- timeout: 30000,
159
- retries: 3,
160
- },
161
- auth: {
162
- tokenRefreshThreshold: 300, // 5分钟前刷新
163
- },
164
- cache: {
165
- enabled: true,
166
- ttl: 300, // 5分钟
167
- },
168
- logging: {
169
- level: "info",
170
- format: "text",
171
- },
172
- };
173
- }
174
- /**
175
- * 重置配置
176
- */
177
- async resetConfig() {
178
- const defaultConfig = this.getDefaultConfig();
179
- await this.writeConfig(defaultConfig);
180
- this.config = defaultConfig;
181
- logger.info("配置已重置为默认值");
182
- return defaultConfig;
183
- }
184
- /**
185
- * 检查配置项是否存在
186
- */
187
- has(key) {
188
- return this.get(key) !== undefined;
189
- }
190
- /**
191
- * 获取所有配置
192
- */
193
- getAllConfig() {
194
- return { ...this.config };
195
- }
196
- /**
197
- * 获取配置路径信息
198
- */
199
- getConfigPath() {
200
- return CONFIG_FILE;
201
- }
202
- /**
203
- * 验证配置
204
- */
205
- validateConfig(config) {
206
- const result = validate(config, CONFIG_VALIDATION_RULES);
207
- return {
208
- isValid: result.isValid,
209
- errors: result.errors,
210
- };
211
- }
212
- /**
213
- * 备份配置
214
- */
215
- async backupConfig() {
216
- try {
217
- const backupFile = path.join(CONFIG_DIR, `config.backup.${Date.now()}.json`);
218
- await fse.copy(CONFIG_FILE, backupFile);
219
- logger.info(`配置已备份到: ${backupFile}`);
220
- return backupFile;
221
- }
222
- catch (error) {
223
- logger.error("备份配置失败:", error);
224
- throw error;
225
- }
226
- }
227
- /**
228
- * 恢复配置
229
- */
230
- async restoreConfig(backupFile) {
231
- try {
232
- await fse.copy(backupFile, CONFIG_FILE);
233
- await this.readConfig();
234
- logger.info("配置已恢复");
235
- }
236
- catch (error) {
237
- logger.error("恢复配置失败:", error);
238
- throw error;
239
- }
240
- }
241
- /**
242
- * 迁移配置(处理配置格式变更)
243
- */
244
- async migrateConfig() {
245
- const config = await this.readConfig();
246
- // TODO: 实现配置迁移逻辑
247
- // 例如,从旧版本格式迁移到新版本格式
248
- await this.writeConfig(config);
249
- return config;
250
- }
251
- /**
252
- * 获取配置统计信息
253
- */
254
- getConfigStats() {
255
- return {
256
- totalKeys: Object.keys(this.config).length,
257
- hasAuth: !!this.config.auth,
258
- hasApi: !!this.config.api,
259
- hasCache: !!this.config.cache,
260
- hasLogging: !!this.config.logging,
261
- };
262
- }
263
- /**
264
- * 显示配置信息
265
- */
266
- async displayConfig() {
267
- const config = await this.readConfig();
268
- const stats = this.getConfigStats();
269
- console.log(chalk.blue("\n当前配置信息:"));
270
- console.log(chalk.gray(`配置文件位置: ${CONFIG_FILE}`));
271
- console.log(chalk.gray(`配置统计: ${stats.totalKeys} 个配置项`));
272
- console.log("");
273
- if (stats.hasAuth) {
274
- const auth = config.auth;
275
- console.log(chalk.yellow("认证配置:"));
276
- console.log(` 用户名: ${auth.username || "未设置"}`);
277
- console.log(` 令牌状态: ${auth.accessToken ? "已设置" : "未设置"}`);
278
- if (auth.expiresAt) {
279
- const expires = new Date(auth.expiresAt);
280
- console.log(` 过期时间: ${expires.toLocaleString()}`);
281
- }
282
- console.log("");
283
- }
284
- if (stats.hasApi) {
285
- const api = config.api;
286
- console.log(chalk.yellow("API配置:"));
287
- console.log(` 基础URL: ${api.baseUrl}`);
288
- console.log(` 超时时间: ${api.timeout}ms`);
289
- console.log(` 重试次数: ${api.retries}`);
290
- console.log("");
291
- }
292
- if (stats.hasLogging) {
293
- const logging = config.logging;
294
- console.log(chalk.yellow("日志配置:"));
295
- console.log(` 日志级别: ${logging.level}`);
296
- console.log(` 日志格式: ${logging.format}`);
297
- console.log("");
298
- }
299
- }
300
- }
301
- /**
302
- * 创建配置管理器
303
- */
304
- export function createConfigManager() {
305
- return new ConfigManager();
306
- }
307
- /**
308
- * 默认配置管理器
309
- */
310
- export const configManager = createConfigManager();
311
- /**
312
- * 初始化配置文件
313
- */
314
- export async function initConfig() {
315
- await configManager.readConfig();
316
- return configManager.getAllConfig();
317
- }
318
- /**
319
- * 确保配置存在
320
- */
321
- export async function ensureConfig() {
322
- return configManager.readConfig();
323
- }
324
- //# sourceMappingURL=manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/services/config/manager.ts"],"names":[],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- /**
2
- * 配置相关的类型定义
3
- */
4
- /**
5
- * 配置模式
6
- */
7
- export type ConfigMode = "development" | "production" | "test";
8
- /**
9
- * API 额外配置
10
- */
11
- export interface ApiExtraConfig {
12
- headers?: Record<string, string>;
13
- agents?: {
14
- http?: string;
15
- https?: string;
16
- };
17
- proxy?: {
18
- host?: string;
19
- port?: number;
20
- username?: string;
21
- password?: string;
22
- };
23
- timeout?: {
24
- request?: number;
25
- response?: number;
26
- download?: number;
27
- };
28
- }
29
- /**
30
- * 认证额外配置
31
- */
32
- export interface AuthExtraConfig {
33
- strategy?: "qr" | "username" | "token";
34
- autoRefresh?: boolean;
35
- refreshTokenThreshold?: number;
36
- rememberMe?: boolean;
37
- sessionTimeout?: number;
38
- }
39
- /**
40
- * 日志额外配置
41
- */
42
- export interface LoggingExtraConfig {
43
- logToFile?: string;
44
- maxFileSize?: number;
45
- maxFiles?: number;
46
- timestamps?: boolean;
47
- colors?: boolean;
48
- prettyPrint?: boolean;
49
- errorStack?: boolean;
50
- performance?: boolean;
51
- }
52
- /**
53
- * 缓存额外配置
54
- */
55
- export interface CacheExtraConfig {
56
- store?: "memory" | "file" | "redis";
57
- namespace?: string;
58
- cleanupInterval?: number;
59
- compress?: boolean;
60
- maxSize?: number;
61
- ttl?: number;
62
- maxSizeString?: string;
63
- }
64
- /**
65
- * 环境变量映射
66
- */
67
- export declare const ENV_CONFIG_MAP: {
68
- readonly API_BASE_URL: "api.baseUrl";
69
- readonly API_TIMEOUT: "api.timeout";
70
- readonly API_RETRIES: "api.retries";
71
- readonly AUTH_TOKEN: "auth.accessToken";
72
- readonly AUTH_USERNAME: "auth.username";
73
- readonly LOG_LEVEL: "logging.level";
74
- readonly LOG_FORMAT: "logging.format";
75
- readonly ENABLE_CACHE: "cache.enabled";
76
- readonly CACHE_TTL: "cache.ttl";
77
- };
78
- /**
79
- * 配置转换器
80
- */
81
- export declare class ConfigTransformer {
82
- /**
83
- * 从环境变量加载配置
84
- */
85
- static fromEnv(env: Record<string, string | undefined>): Partial<any>;
86
- /**
87
- * 从命令行参数加载配置
88
- */
89
- static fromArgs(args: Record<string, unknown>): Partial<any>;
90
- /**
91
- * 转换为字符串
92
- */
93
- static stringifyConfig(config: any): string;
94
- /**
95
- * 解析值
96
- */
97
- private static parseValue;
98
- /**
99
- * 设置嵌套值
100
- */
101
- private static setNestedValue;
102
- }
103
- /**
104
- * 配置元数据
105
- */
106
- export interface ConfigMetadata {
107
- key: string;
108
- description: string;
109
- type: string;
110
- required: boolean;
111
- defaultValue?: unknown;
112
- envVar?: string;
113
- example?: unknown;
114
- validation?: string;
115
- }
116
- /**
117
- * 配置定义
118
- */
119
- export declare const CONFIG_DEFINITIONS: ConfigMetadata[];
120
- /**
121
- * 获取配置定义
122
- */
123
- export declare function getConfigDefinition(key: string): ConfigMetadata | undefined;
124
- /**
125
- * 获取所有配置定义
126
- */
127
- export declare function getAllConfigDefinitions(): ConfigMetadata[];
128
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/config/types.ts"],"names":[],"mappings":"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"}