cc-code-status 2.0.4 → 2.0.5

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 (38) hide show
  1. package/README.md +38 -64
  2. package/dist/cli-legacy.d.ts +0 -1
  3. package/dist/cli-legacy.d.ts.map +1 -1
  4. package/dist/cli-legacy.js +0 -200
  5. package/dist/cli-legacy.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +90 -322
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config/manager.d.ts +121 -0
  10. package/dist/config/manager.d.ts.map +1 -0
  11. package/dist/config/manager.js +273 -0
  12. package/dist/config/manager.js.map +1 -0
  13. package/dist/config/validator.d.ts +17 -0
  14. package/dist/config/validator.d.ts.map +1 -0
  15. package/dist/config/validator.js +39 -0
  16. package/dist/config/validator.js.map +1 -0
  17. package/dist/launcher.d.ts +27 -0
  18. package/dist/launcher.d.ts.map +1 -0
  19. package/dist/launcher.js +149 -0
  20. package/dist/launcher.js.map +1 -0
  21. package/dist/ui/prompts.js +3 -3
  22. package/dist/ui/prompts.js.map +1 -1
  23. package/dist/ui/welcome.d.ts.map +1 -1
  24. package/dist/ui/welcome.js +6 -7
  25. package/dist/ui/welcome.js.map +1 -1
  26. package/dist/utils/installer.d.ts +20 -0
  27. package/dist/utils/installer.d.ts.map +1 -0
  28. package/dist/utils/installer.js +68 -0
  29. package/dist/utils/installer.js.map +1 -0
  30. package/package.json +3 -3
  31. package/dist/config/extended-manager.d.ts +0 -26
  32. package/dist/config/extended-manager.d.ts.map +0 -1
  33. package/dist/config/extended-manager.js +0 -42
  34. package/dist/config/extended-manager.js.map +0 -1
  35. package/dist/launcher/extended-launcher.d.ts +0 -27
  36. package/dist/launcher/extended-launcher.d.ts.map +0 -1
  37. package/dist/launcher/extended-launcher.js +0 -87
  38. package/dist/launcher/extended-launcher.js.map +0 -1
package/dist/cli.js CHANGED
@@ -42,13 +42,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
44
  exports.main = main;
45
+ const fs = __importStar(require("fs"));
46
+ const path = __importStar(require("path"));
47
+ const os = __importStar(require("os"));
48
+ const child_process_1 = require("child_process");
45
49
  const chalk_1 = __importDefault(require("chalk"));
46
- const inquirer_1 = __importDefault(require("inquirer"));
47
- const extended_manager_1 = require("./config/extended-manager");
48
- const extended_launcher_1 = require("./launcher/extended-launcher");
49
- const prompts_1 = require("./ui/prompts");
50
50
  const welcome_1 = require("./ui/welcome");
51
- const ccgo_1 = require("ccgo");
52
51
  const logger_1 = require("./utils/logger");
53
52
  const packageJson = require('../package.json');
54
53
  // 解析命令行参数
@@ -66,14 +65,27 @@ async function main() {
66
65
  (0, welcome_1.showHelp)();
67
66
  return;
68
67
  }
68
+ // ========== 初始化命令 ==========
69
+ if (command === 'init') {
70
+ handleInitCommand();
71
+ return;
72
+ }
69
73
  // ========== 配置命令 ==========
70
74
  if (command === 'config') {
71
75
  await handleConfigCommand(args.slice(1));
72
76
  return;
73
77
  }
74
78
  // ========== 统计命令 ==========
79
+ if (command === 'today') {
80
+ await handleTodayCommand();
81
+ return;
82
+ }
75
83
  if (command === 'stats' || command === 'week') {
76
- await handleStatsCommand(args);
84
+ logger_1.Logger.error(`命令已移除: ${command}`);
85
+ console.log('');
86
+ console.log('请使用: ccs today');
87
+ console.log('');
88
+ process.exit(1);
77
89
  return;
78
90
  }
79
91
  // ========== 同步命令 ==========
@@ -114,241 +126,94 @@ async function main() {
114
126
  process.exit(1);
115
127
  }
116
128
  }
117
- /**
118
- * 处理 config 命令
119
- */
120
- async function handleConfigCommand(subArgs) {
121
- const config = new extended_manager_1.ExtendedConfigManager();
122
- const subCommand = subArgs[0];
123
- // config list - 列出所有配置
124
- if (subCommand === 'list') {
125
- const profiles = config.getAllProfiles();
126
- if (profiles.length === 0) {
127
- logger_1.Logger.warning('当前没有配置');
128
- logger_1.Logger.info('运行 ccs config add 添加配置');
129
- return;
130
- }
131
- console.log(chalk_1.default.cyan('\n📋 配置列表\n'));
132
- console.log(chalk_1.default.gray('─'.repeat(70)));
133
- profiles.forEach(p => {
134
- const safeKey = p.apiKey.length > 12
135
- ? `${p.apiKey.substring(0, 8)}...${p.apiKey.substring(p.apiKey.length - 4)}`
136
- : '***';
137
- // 从 baseUrl 提取域名
138
- let domain = p.baseUrl;
139
- try {
140
- const url = new URL(p.baseUrl);
141
- domain = url.hostname;
142
- }
143
- catch (e) {
144
- // 如果不是有效 URL,使用原始值
145
- }
146
- console.log(chalk_1.default.white.bold('● ' + p.name));
147
- console.log(chalk_1.default.gray(` Base URL: ${p.baseUrl}`));
148
- console.log(chalk_1.default.gray(` API Key: ${safeKey}`));
149
- if (p.model) {
150
- console.log(chalk_1.default.gray(` Model: ${p.model}`));
151
- }
152
- if (p.smallFastModel) {
153
- console.log(chalk_1.default.gray(` Small Fast Model: ${p.smallFastModel}`));
154
- }
155
- console.log('');
156
- });
157
- console.log(chalk_1.default.gray('─'.repeat(70)));
158
- console.log(chalk_1.default.gray(`\n配置文件: ${config.getConfigPath()}\n`));
159
- return;
160
- }
161
- // config add - 添加新配置
162
- if (subCommand === 'add') {
163
- (0, welcome_1.showWelcome)();
164
- const answers = await (0, prompts_1.showConfigPrompts)();
165
- // 检查配置是否已存在
166
- if (config.hasProfile(answers.name)) {
167
- const { confirm } = await inquirer_1.default.prompt([
168
- {
169
- type: 'confirm',
170
- name: 'confirm',
171
- message: chalk_1.default.yellow(`配置 "${answers.name}" 已存在,是否覆盖?`),
172
- default: false
173
- }
174
- ]);
175
- if (!confirm) {
176
- logger_1.Logger.info('已取消');
177
- return;
178
- }
129
+ function getEmbeddedCcgoCliPath() {
130
+ try {
131
+ const packageJsonPath = require.resolve('ccgo/package.json');
132
+ const packageDir = path.dirname(packageJsonPath);
133
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
134
+ let relativeBinPath;
135
+ if (typeof packageJson.bin === 'string') {
136
+ relativeBinPath = packageJson.bin;
179
137
  }
180
- config.saveProfile(answers.name, {
181
- apiKey: answers.apiKey,
182
- baseUrl: answers.baseUrl,
183
- model: answers.model,
184
- smallFastModel: answers.smallFastModel
185
- });
186
- logger_1.Logger.success(`配置 "${answers.name}" 已保存`);
187
- console.log('');
188
- return;
189
- }
190
- // config remove <name> - 删除配置
191
- if (subCommand === 'remove' || subCommand === 'rm') {
192
- const name = subArgs[1];
193
- if (!name) {
194
- logger_1.Logger.error('请指定要删除的配置名称');
195
- console.log('');
196
- console.log('用法: ccs config remove <配置名称>');
197
- console.log('');
198
- return;
138
+ else if (packageJson.bin && typeof packageJson.bin.ccgo === 'string') {
139
+ relativeBinPath = packageJson.bin.ccgo;
199
140
  }
200
- if (!config.hasProfile(name)) {
201
- logger_1.Logger.error(`配置 "${name}" 不存在`);
202
- console.log('');
203
- console.log('使用 ccs config list 查看所有配置');
204
- console.log('');
205
- return;
141
+ if (!relativeBinPath) {
142
+ throw new Error('ccgo 包缺少 bin 配置');
206
143
  }
207
- const { confirm } = await inquirer_1.default.prompt([
208
- {
209
- type: 'confirm',
210
- name: 'confirm',
211
- message: chalk_1.default.yellow(`确定要删除配置 "${name}" 吗?`),
212
- default: false
213
- }
214
- ]);
215
- if (!confirm) {
216
- logger_1.Logger.info('已取消');
217
- return;
144
+ const cliPath = path.resolve(packageDir, relativeBinPath);
145
+ if (!fs.existsSync(cliPath)) {
146
+ throw new Error(`未找到 ccgo 可执行文件: ${cliPath}`);
218
147
  }
219
- config.removeProfile(name);
220
- logger_1.Logger.success(`配置 "${name}" 已删除`);
221
- console.log('');
222
- return;
148
+ return cliPath;
223
149
  }
224
- // config show / config --show - 显示配置(单个配置时显示详情,多个配置时显示列表)
225
- if (subCommand === 'show' || subArgs.includes('--show')) {
226
- const profiles = config.getAllProfiles();
227
- if (profiles.length === 0) {
228
- logger_1.Logger.warning('当前没有配置');
229
- logger_1.Logger.info('运行 ccs config add 添加配置');
230
- return;
231
- }
232
- // 如果只有一个配置,显示详情
233
- if (profiles.length === 1) {
234
- const current = profiles[0];
235
- const safeKey = current.apiKey.length > 12
236
- ? `${current.apiKey.substring(0, 8)}...${current.apiKey.substring(current.apiKey.length - 4)}`
237
- : '***';
238
- console.log(chalk_1.default.cyan('\n📝 当前配置'));
239
- console.log(chalk_1.default.gray('─'.repeat(70)));
240
- console.log(chalk_1.default.white('配置名称: ') + chalk_1.default.green(current.name));
241
- console.log(chalk_1.default.white('Base URL: ') + chalk_1.default.cyan(current.baseUrl));
242
- console.log(chalk_1.default.white('API Key: ') + chalk_1.default.yellow(safeKey));
243
- if (current.model) {
244
- console.log(chalk_1.default.white('Model: ') + chalk_1.default.gray(current.model));
245
- }
246
- if (current.smallFastModel) {
247
- console.log(chalk_1.default.white('Small Fast Model: ') + chalk_1.default.gray(current.smallFastModel));
248
- }
249
- console.log(chalk_1.default.white('配置时间: ') + chalk_1.default.gray(new Date(current.configuredAt).toLocaleString('zh-CN')));
250
- console.log(chalk_1.default.gray('─'.repeat(70)));
251
- console.log(chalk_1.default.gray(`配置文件: ${config.getConfigPath()}\n`));
252
- }
253
- else {
254
- // 多个配置时,显示提示
255
- logger_1.Logger.info(`当前有 ${profiles.length} 个配置,启动时将提示选择`);
256
- console.log('');
257
- console.log('使用 ccs config list 查看所有配置');
258
- console.log('');
259
- }
260
- return;
150
+ catch {
151
+ throw new Error('未找到内置 ccgo,请重新安装 ccs: npm install -g cc-code-status@latest');
261
152
  }
262
- // config --reset - 重置所有配置
263
- if (subArgs.includes('--reset')) {
264
- if (!config.hasAnyProfile()) {
265
- logger_1.Logger.warning('当前没有配置');
266
- return;
267
- }
268
- const { confirm } = await inquirer_1.default.prompt([
269
- {
270
- type: 'confirm',
271
- name: 'confirm',
272
- message: chalk_1.default.red('⚠️ 确定要删除所有配置吗?此操作不可恢复!'),
273
- default: false
153
+ }
154
+ async function runCcgoCommand(ccgoArgs) {
155
+ const ccgoCliPath = getEmbeddedCcgoCliPath();
156
+ return new Promise((resolve, reject) => {
157
+ const ccgo = (0, child_process_1.spawn)(process.execPath, [ccgoCliPath, ...ccgoArgs], {
158
+ stdio: 'inherit'
159
+ });
160
+ ccgo.on('error', reject);
161
+ ccgo.on('exit', (code) => {
162
+ resolve(code === null ? 1 : code);
163
+ });
164
+ });
165
+ }
166
+ /**
167
+ * 处理 init 命令
168
+ */
169
+ function handleInitCommand() {
170
+ const homeDir = os.homedir();
171
+ const filePath = path.join(homeDir, '.claude.json');
172
+ let nextContent = { hasCompletedOnboarding: true };
173
+ if (fs.existsSync(filePath)) {
174
+ try {
175
+ const rawContent = fs.readFileSync(filePath, 'utf-8');
176
+ const parsed = JSON.parse(rawContent);
177
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
178
+ nextContent = {
179
+ ...parsed,
180
+ hasCompletedOnboarding: true
181
+ };
274
182
  }
275
- ]);
276
- if (!confirm) {
277
- logger_1.Logger.info('已取消');
278
- return;
279
183
  }
280
- config.reset();
281
- logger_1.Logger.success('所有配置已重置');
282
- logger_1.Logger.info('下次运行 ccs 时将重新配置');
283
- console.log('');
284
- return;
285
- }
286
- // config (无子命令) - 显示帮助或添加第一个配置
287
- if (!subCommand) {
288
- if (!config.hasAnyProfile()) {
289
- // 如果没有配置,引导添加第一个配置
290
- (0, welcome_1.showWelcome)();
291
- const answers = await (0, prompts_1.showConfigPrompts)('default');
292
- config.saveProfile(answers.name, {
293
- apiKey: answers.apiKey,
294
- baseUrl: answers.baseUrl,
295
- model: answers.model,
296
- smallFastModel: answers.smallFastModel
297
- });
298
- (0, welcome_1.showConfigSuccess)();
299
- console.log('');
300
- }
301
- else {
302
- // 如果已有配置,显示配置管理帮助
303
- console.log(chalk_1.default.cyan('\n⚙️ 配置管理\n'));
304
- console.log('可用命令:');
305
- console.log('');
306
- console.log(chalk_1.default.white(' ccs config list ') + chalk_1.default.gray('列出所有配置'));
307
- console.log(chalk_1.default.white(' ccs config add ') + chalk_1.default.gray('添加新配置'));
308
- console.log(chalk_1.default.white(' ccs config remove <名称> ') + chalk_1.default.gray('删除指定配置'));
309
- console.log(chalk_1.default.white(' ccs config show ') + chalk_1.default.gray('显示当前配置'));
310
- console.log(chalk_1.default.white(' ccs config --reset ') + chalk_1.default.gray('重置所有配置'));
311
- console.log('');
184
+ catch {
185
+ // 如果原文件损坏,直接覆盖为最小可用结构
312
186
  }
313
- return;
314
187
  }
315
- // 未知子命令
316
- logger_1.Logger.error(`未知的子命令: ${subCommand}`);
188
+ fs.writeFileSync(filePath, JSON.stringify(nextContent, null, 2), 'utf-8');
317
189
  console.log('');
318
- console.log('运行 ccs config 查看帮助');
190
+ logger_1.Logger.success('Claude Code 初始化配置已完成');
191
+ console.log(chalk_1.default.gray(`配置文件: ${filePath}`));
319
192
  console.log('');
320
193
  }
321
194
  /**
322
- * 处理统计命令
195
+ * 处理 config 命令
323
196
  */
324
- async function handleStatsCommand(args) {
325
- const subCommand = args[0] === 'stats' ? args[1] : args[0];
326
- if (subCommand === 'week' || args[0] === 'week') {
327
- // 引入旧版的 showWeekStats 函数
328
- const { showWeekStats } = await Promise.resolve().then(() => __importStar(require('./cli-legacy')));
329
- showWeekStats();
330
- }
331
- else if (subCommand === 'today') {
332
- // 显示今日统计
333
- const { StatusLinePlugin } = await Promise.resolve().then(() => __importStar(require('./index')));
334
- const plugin = new StatusLinePlugin();
335
- const stats = await plugin.getTodayStats();
336
- console.log('');
337
- console.log(chalk_1.default.cyan('📊 今日统计'));
338
- console.log('');
339
- console.log(`对话: ${stats.conversations}次/${stats.rounds}轮`);
340
- console.log(`代码: +${stats.codeAdded}/-${stats.codeDeleted} 行`);
341
- console.log('');
342
- }
343
- else {
344
- logger_1.Logger.error('未知的统计命令');
345
- console.log('');
346
- console.log('可用命令:');
347
- console.log(' ccs stats today 显示今日统计');
348
- console.log(' ccs stats week 显示本周统计');
349
- console.log('');
197
+ async function handleConfigCommand(subArgs) {
198
+ const exitCode = await runCcgoCommand(['config', ...subArgs]);
199
+ if (exitCode !== 0) {
200
+ process.exit(exitCode);
350
201
  }
351
202
  }
203
+ /**
204
+ * 处理 today 命令
205
+ */
206
+ async function handleTodayCommand() {
207
+ const { StatusLinePlugin } = await Promise.resolve().then(() => __importStar(require('./index')));
208
+ const plugin = new StatusLinePlugin();
209
+ const stats = await plugin.getTodayStats();
210
+ console.log('');
211
+ console.log(chalk_1.default.cyan('📊 今日统计'));
212
+ console.log('');
213
+ console.log(`对话: ${stats.conversations}次/${stats.rounds}轮`);
214
+ console.log(`代码: +${stats.codeAdded}/-${stats.codeDeleted} 行`);
215
+ console.log('');
216
+ }
352
217
  /**
353
218
  * 处理同步命令
354
219
  */
@@ -407,104 +272,7 @@ async function runAsStatusLine() {
407
272
  * 作为启动器运行
408
273
  */
409
274
  async function runAsLauncher(args) {
410
- const config = new extended_manager_1.ExtendedConfigManager();
411
- // 检查是否有配置
412
- if (!config.hasAnyProfile()) {
413
- console.log('');
414
- logger_1.Logger.info('首次使用需要配置 API');
415
- console.log('');
416
- // 显示欢迎信息
417
- (0, welcome_1.showWelcome)();
418
- // 交互式配置
419
- const answers = await (0, prompts_1.showConfigPrompts)('default');
420
- // 保存配置
421
- config.saveProfile(answers.name, {
422
- apiKey: answers.apiKey,
423
- baseUrl: answers.baseUrl,
424
- model: answers.model,
425
- smallFastModel: answers.smallFastModel
426
- });
427
- // 显示成功信息
428
- (0, welcome_1.showConfigSuccess)();
429
- // 短暂延迟
430
- await new Promise(resolve => setTimeout(resolve, 1000));
431
- }
432
- // 如果有配置,检查是否需要选择配置
433
- let selectedProfileName;
434
- if (config.hasAnyProfile()) {
435
- // 如果有多个配置,需要用户选择
436
- const profileCount = config.getProfileCount();
437
- // 检查命令行参数中是否指定了配置
438
- const profileArgIndex = args.findIndex(arg => arg === '--profile' || arg === '-p');
439
- if (profileArgIndex !== -1 && args[profileArgIndex + 1]) {
440
- // 通过命令行参数指定配置
441
- selectedProfileName = args[profileArgIndex + 1];
442
- if (!config.hasProfile(selectedProfileName)) {
443
- logger_1.Logger.error(`配置 "${selectedProfileName}" 不存在`);
444
- console.log('');
445
- console.log('使用 ccs config list 查看所有配置');
446
- console.log('');
447
- process.exit(1);
448
- }
449
- // 移除 --profile 参数(避免传递给 Claude)
450
- args.splice(profileArgIndex, 2);
451
- }
452
- else if (profileCount > 1) {
453
- // 如果有多个配置,让用户选择
454
- const profiles = config.getAllProfiles().map(p => ({
455
- name: p.name,
456
- config: p
457
- }));
458
- console.log('');
459
- logger_1.Logger.info('检测到多个配置,请选择要使用的配置');
460
- console.log('');
461
- selectedProfileName = await (0, prompts_1.selectProfile)(profiles);
462
- console.log('');
463
- logger_1.Logger.success(`已选择配置: ${selectedProfileName}`);
464
- console.log('');
465
- // 短暂延迟
466
- await new Promise(resolve => setTimeout(resolve, 500));
467
- }
468
- }
469
- // 检查 Claude Code 是否已安装
470
- if (!(0, ccgo_1.checkClaudeInstallation)()) {
471
- process.exit(1);
472
- }
473
- // 显示当前使用的配置
474
- let displayProfile;
475
- if (selectedProfileName) {
476
- // 使用选中的配置
477
- const profile = config.getProfile(selectedProfileName);
478
- if (profile) {
479
- displayProfile = { name: selectedProfileName, baseUrl: profile.baseUrl };
480
- }
481
- }
482
- else {
483
- // 使用唯一配置
484
- const current = config.getCurrentProfile();
485
- if (current) {
486
- displayProfile = { name: current.name, baseUrl: current.config.baseUrl };
487
- }
488
- }
489
- if (displayProfile) {
490
- // 从 baseUrl 提取域名
491
- let domain = displayProfile.baseUrl;
492
- try {
493
- const url = new URL(displayProfile.baseUrl);
494
- domain = url.hostname;
495
- }
496
- catch (e) {
497
- // 如果不是有效 URL,使用原始值
498
- }
499
- console.log(chalk_1.default.gray(`使用配置: ${displayProfile.name} (${domain})\n`));
500
- }
501
- // 启动 Claude Code
502
- const launcher = new extended_launcher_1.ExtendedClaudeLauncher(config, selectedProfileName);
503
- const { exitCode } = await launcher.launch({
504
- args,
505
- skipPermissions: true,
506
- showStats: true
507
- });
275
+ const exitCode = await runCcgoCommand(args);
508
276
  process.exit(exitCode);
509
277
  }
510
278
  // 运行主函数
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * 配置管理器
3
+ * 负责读取、保存、验证 API 配置信息
4
+ */
5
+ export interface ApiConfig {
6
+ apiKey: string;
7
+ baseUrl: string;
8
+ model?: string;
9
+ smallFastModel?: string;
10
+ configuredAt?: string;
11
+ version?: string;
12
+ }
13
+ export interface SyncConfig {
14
+ apiUrl: string;
15
+ syncInterval: number;
16
+ enabled: boolean;
17
+ excludedProjects?: string[];
18
+ }
19
+ export interface ProfileConfig extends ApiConfig {
20
+ name: string;
21
+ }
22
+ export interface FullConfig {
23
+ profiles?: Record<string, ApiConfig>;
24
+ sync?: SyncConfig;
25
+ }
26
+ export declare class ConfigManager {
27
+ private config;
28
+ constructor();
29
+ /**
30
+ * 迁移旧版本的单配置到新的多配置结构
31
+ */
32
+ private migrateOldConfig;
33
+ /**
34
+ * 检查是否有任何配置
35
+ */
36
+ hasAnyProfile(): boolean;
37
+ /**
38
+ * 检查是否已配置 API Key(向后兼容)
39
+ */
40
+ hasApiKey(): boolean;
41
+ /**
42
+ * 获取所有配置名称
43
+ */
44
+ getProfileNames(): string[];
45
+ /**
46
+ * 获取配置数量
47
+ */
48
+ getProfileCount(): number;
49
+ /**
50
+ * 检查配置是否存在
51
+ */
52
+ hasProfile(name: string): boolean;
53
+ /**
54
+ * 获取指定配置
55
+ */
56
+ getProfile(name: string): ApiConfig | undefined;
57
+ /**
58
+ * 获取当前激活的配置(仅当只有一个配置时返回)
59
+ */
60
+ getCurrentProfile(): {
61
+ name: string;
62
+ config: ApiConfig;
63
+ } | undefined;
64
+ /**
65
+ * 获取 API Key(向后兼容)
66
+ */
67
+ getApiKey(): string | undefined;
68
+ /**
69
+ * 获取 Base URL(向后兼容)
70
+ */
71
+ getBaseUrl(): string | undefined;
72
+ /**
73
+ * 获取模型名称(可选)
74
+ */
75
+ getModel(): string | undefined;
76
+ /**
77
+ * 获取小快速模型(可选)
78
+ */
79
+ getSmallFastModel(): string | undefined;
80
+ /**
81
+ * 添加或更新配置
82
+ */
83
+ saveProfile(name: string, config: Omit<ApiConfig, 'configuredAt' | 'version'>): void;
84
+ /**
85
+ * 删除配置
86
+ */
87
+ removeProfile(name: string): void;
88
+ /**
89
+ * 保存 API 配置(向后兼容,保存为 default)
90
+ */
91
+ saveApiConfig(config: Omit<ApiConfig, 'configuredAt' | 'version'>, name?: string): void;
92
+ /**
93
+ * 获取所有配置(含配置名称)
94
+ */
95
+ getAllProfiles(): ProfileConfig[];
96
+ /**
97
+ * 获取同步配置
98
+ */
99
+ getSyncConfig(): SyncConfig;
100
+ /**
101
+ * 保存同步配置
102
+ */
103
+ saveSyncConfig(config: Partial<SyncConfig>): void;
104
+ /**
105
+ * 重置所有配置
106
+ */
107
+ reset(): void;
108
+ /**
109
+ * 获取所有配置
110
+ */
111
+ getAll(): FullConfig;
112
+ /**
113
+ * 获取配置文件路径
114
+ */
115
+ getConfigPath(): string;
116
+ /**
117
+ * 获取安全的配置信息(隐藏 API Key)
118
+ */
119
+ getSafeApiConfig(name?: string): ApiConfig | undefined;
120
+ }
121
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;;IAYjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,aAAa,IAAI,OAAO;IAKxB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAK3B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/C;;OAEG;IACH,iBAAiB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS;IAkBpE;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;IAK/B;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAKhC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAK9B;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAKvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC,GAAG,IAAI;IAYpF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC,EAAE,IAAI,GAAE,MAAkB,GAAG,IAAI;IAIlG;;OAEG;IACH,cAAc,IAAI,aAAa,EAAE;IAQjC;;OAEG;IACH,aAAa,IAAI,UAAU;IAU3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAQjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,UAAU;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAwBvD"}