ccjk 12.0.0 → 12.0.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 (161) hide show
  1. package/dist/chunks/agent-teams.mjs +17 -18
  2. package/dist/chunks/agent.mjs +105 -102
  3. package/dist/chunks/agents.mjs +87 -77
  4. package/dist/chunks/api-cli.mjs +41 -27
  5. package/dist/chunks/api-providers.mjs +2 -4
  6. package/dist/chunks/api.mjs +22 -11
  7. package/dist/chunks/auto-bootstrap.mjs +3 -5
  8. package/dist/chunks/auto-init.mjs +3 -4
  9. package/dist/chunks/auto-updater.mjs +103 -91
  10. package/dist/chunks/banner.mjs +41 -42
  11. package/dist/chunks/boost.mjs +30 -31
  12. package/dist/chunks/ccjk-agents.mjs +6 -9
  13. package/dist/chunks/ccjk-all.mjs +703 -85
  14. package/dist/chunks/ccjk-config.mjs +6 -6
  15. package/dist/chunks/ccjk-hooks.mjs +20 -9
  16. package/dist/chunks/ccjk-mcp.mjs +64 -52
  17. package/dist/chunks/ccjk-setup.mjs +35 -25
  18. package/dist/chunks/ccjk-skills.mjs +51 -41
  19. package/dist/chunks/ccr.mjs +42 -32
  20. package/dist/chunks/ccu.mjs +16 -12
  21. package/dist/chunks/check-updates.mjs +30 -19
  22. package/dist/chunks/claude-code-config-manager.mjs +25 -10
  23. package/dist/chunks/claude-code-incremental-manager.mjs +65 -51
  24. package/dist/chunks/claude-config.mjs +2 -2
  25. package/dist/chunks/claude-wrapper.mjs +9 -6
  26. package/dist/chunks/cleanup-migration.mjs +1 -1
  27. package/dist/chunks/cli-hook.mjs +10 -3
  28. package/dist/chunks/cloud-sync.mjs +1 -1
  29. package/dist/chunks/codex-config-switch.mjs +58 -45
  30. package/dist/chunks/codex-provider-manager.mjs +29 -16
  31. package/dist/chunks/codex-uninstaller.mjs +5 -6
  32. package/dist/chunks/codex.mjs +89 -89
  33. package/dist/chunks/commands.mjs +28 -29
  34. package/dist/chunks/commands2.mjs +4 -3
  35. package/dist/chunks/commit.mjs +42 -23
  36. package/dist/chunks/completion.mjs +46 -47
  37. package/dist/chunks/config-consolidator.mjs +12 -13
  38. package/dist/chunks/config-switch.mjs +66 -53
  39. package/dist/chunks/config.mjs +10 -10
  40. package/dist/chunks/config2.mjs +53 -42
  41. package/dist/chunks/config3.mjs +107 -93
  42. package/dist/chunks/constants.mjs +2 -4
  43. package/dist/chunks/context-loader.mjs +5 -4
  44. package/dist/chunks/context.mjs +77 -76
  45. package/dist/chunks/convoy-manager.mjs +4 -4
  46. package/dist/chunks/dashboard.mjs +28 -29
  47. package/dist/chunks/doctor.mjs +68 -54
  48. package/dist/chunks/evolution.mjs +37 -38
  49. package/dist/chunks/features.mjs +103 -92
  50. package/dist/chunks/fs-operations.mjs +1 -1
  51. package/dist/chunks/health-alerts.mjs +1 -1
  52. package/dist/chunks/health-check.mjs +1 -1
  53. package/dist/chunks/help.mjs +117 -116
  54. package/dist/chunks/hook-installer.mjs +3 -2
  55. package/dist/chunks/index.mjs +20 -6
  56. package/dist/chunks/index10.mjs +1171 -0
  57. package/dist/chunks/index11.mjs +1008 -0
  58. package/dist/chunks/index12.mjs +193 -0
  59. package/dist/chunks/index13.mjs +218 -0
  60. package/dist/chunks/index14.mjs +663 -0
  61. package/dist/chunks/index2.mjs +19 -10
  62. package/dist/chunks/index3.mjs +19079 -164
  63. package/dist/chunks/index4.mjs +8 -1171
  64. package/dist/chunks/index5.mjs +7479 -884
  65. package/dist/chunks/index6.mjs +160 -184
  66. package/dist/chunks/index7.mjs +3573 -653
  67. package/dist/chunks/index8.mjs +19 -0
  68. package/dist/chunks/index9.mjs +616 -0
  69. package/dist/chunks/init.mjs +173 -173
  70. package/dist/chunks/installer.mjs +92 -82
  71. package/dist/chunks/installer2.mjs +3 -2
  72. package/dist/chunks/interview.mjs +118 -107
  73. package/dist/chunks/json-config.mjs +3 -2
  74. package/dist/chunks/linux.mjs +3863 -0
  75. package/dist/chunks/macos.mjs +69 -0
  76. package/dist/chunks/main.mjs +635 -0
  77. package/dist/chunks/marketplace.mjs +69 -66
  78. package/dist/chunks/mcp-cli.mjs +61 -48
  79. package/dist/chunks/mcp.mjs +140 -127
  80. package/dist/chunks/menu.mjs +85 -85
  81. package/dist/chunks/metrics-display.mjs +41 -40
  82. package/dist/chunks/migrator.mjs +4 -5
  83. package/dist/chunks/monitor.mjs +95 -95
  84. package/dist/chunks/notification.mjs +151 -141
  85. package/dist/chunks/onboarding.mjs +26 -15
  86. package/dist/chunks/package.mjs +1 -1
  87. package/dist/chunks/paradigm.mjs +24 -23
  88. package/dist/chunks/permission-manager.mjs +10 -11
  89. package/dist/chunks/permissions.mjs +72 -57
  90. package/dist/chunks/persistence-manager.mjs +97 -84
  91. package/dist/chunks/persistence.mjs +1 -1
  92. package/dist/chunks/platform.mjs +29 -29
  93. package/dist/chunks/plugin.mjs +104 -105
  94. package/dist/chunks/prompts.mjs +36 -25
  95. package/dist/chunks/providers.mjs +68 -69
  96. package/dist/chunks/quick-actions.mjs +71 -72
  97. package/dist/chunks/quick-provider.mjs +56 -40
  98. package/dist/chunks/quick-setup.mjs +71 -60
  99. package/dist/chunks/remote.mjs +21 -12
  100. package/dist/chunks/session.mjs +116 -103
  101. package/dist/chunks/sessions.mjs +29 -28
  102. package/dist/chunks/silent-updater.mjs +8 -10
  103. package/dist/chunks/simple-config.mjs +13 -10
  104. package/dist/chunks/skill.mjs +8560 -103
  105. package/dist/chunks/skills-sync.mjs +5212 -79
  106. package/dist/chunks/skills.mjs +105 -94
  107. package/dist/chunks/slash-commands.mjs +36 -37
  108. package/dist/chunks/smart-defaults.mjs +7 -3
  109. package/dist/chunks/smart-guide.mjs +1 -1
  110. package/dist/chunks/startup.mjs +2 -4
  111. package/dist/chunks/stats.mjs +41 -42
  112. package/dist/chunks/status.mjs +49 -50
  113. package/dist/chunks/team.mjs +24 -12
  114. package/dist/chunks/thinking.mjs +74 -63
  115. package/dist/chunks/trace.mjs +20 -19
  116. package/dist/chunks/uninstall.mjs +69 -56
  117. package/dist/chunks/update.mjs +39 -28
  118. package/dist/chunks/upgrade-manager.mjs +24 -18
  119. package/dist/chunks/version-checker.mjs +45 -41
  120. package/dist/chunks/vim.mjs +81 -69
  121. package/dist/chunks/windows.mjs +14 -0
  122. package/dist/chunks/workflows.mjs +15 -15
  123. package/dist/chunks/wsl.mjs +129 -0
  124. package/dist/chunks/zero-config.mjs +45 -34
  125. package/dist/cli.mjs +20 -20
  126. package/dist/index.mjs +41 -31
  127. package/dist/shared/ccjk.BAGoDD49.mjs +36 -0
  128. package/dist/shared/ccjk.BBtCGd_g.mjs +899 -0
  129. package/dist/shared/{ccjk.CGcy7cNM.mjs → ccjk.BDKUdmLk.mjs} +1 -1
  130. package/dist/shared/{ccjk.DtMBiwVG.mjs → ccjk.BFxsJM0k.mjs} +1 -1
  131. package/dist/shared/{ccjk.j4uut26D.mjs → ccjk.BIxuVL3_.mjs} +5 -5
  132. package/dist/shared/ccjk.BRZ9ww8S.mjs +142 -0
  133. package/dist/shared/{ccjk.CN0edl87.mjs → ccjk.BSYWk9ML.mjs} +1 -1
  134. package/dist/shared/{ccjk.Dk1HDseQ.mjs → ccjk.BnpWvs9V.mjs} +75 -75
  135. package/dist/shared/ccjk.BoApaI4j.mjs +28 -0
  136. package/dist/shared/{ccjk.DKojSRzw.mjs → ccjk.BrPUmTqm.mjs} +1 -1
  137. package/dist/shared/{ccjk.C10pepYx.mjs → ccjk.BxSmJ8B7.mjs} +1 -1
  138. package/dist/shared/ccjk.Bx_rmYfN.mjs +69 -0
  139. package/dist/shared/ccjk.COweQ1RR.mjs +5 -0
  140. package/dist/shared/{ccjk.BN90X6oc.mjs → ccjk.CePkJq2S.mjs} +17 -17
  141. package/dist/shared/{ccjk.Bvoex4TZ.mjs → ccjk.CfKKcvWy.mjs} +1 -1
  142. package/dist/shared/ccjk.Cjgrln_h.mjs +297 -0
  143. package/dist/shared/ccjk.CxpGa6MC.mjs +2724 -0
  144. package/dist/shared/{ccjk.DfwJOEok.mjs → ccjk.D5MFQT7w.mjs} +1 -1
  145. package/dist/shared/{ccjk.cChAaGgT.mjs → ccjk.DG_o24cZ.mjs} +6 -6
  146. package/dist/shared/{ccjk.bhFAMRyc.mjs → ccjk.DLLw-h4Y.mjs} +32 -32
  147. package/dist/shared/ccjk.DOwtZMk8.mjs +4019 -0
  148. package/dist/shared/{ccjk.BsXQugfY.mjs → ccjk.DTdjs-qK.mjs} +13 -13
  149. package/dist/shared/{ccjk.Bdhyg3X-.mjs → ccjk.DsYaCCx4.mjs} +1 -1
  150. package/dist/shared/ccjk.KfSWcGlE.mjs +38 -0
  151. package/dist/shared/ccjk.RyizuzOI.mjs +21 -0
  152. package/dist/shared/{ccjk.h7_W-wTs.mjs → ccjk.SPoXMvZD.mjs} +1 -1
  153. package/dist/shared/ccjk.T_cX87dY.mjs +15 -0
  154. package/dist/shared/{ccjk.CrB6OYHv.mjs → ccjk._dESH4Rk.mjs} +2 -2
  155. package/dist/shared/ccjk.bQ7Dh1g4.mjs +249 -0
  156. package/dist/shared/{ccjk.CBhIZiPz.mjs → ccjk.hoqrwWdN.mjs} +1 -1
  157. package/dist/shared/{ccjk.BNwRnWYx.mjs → ccjk.s7OCVzdd.mjs} +1230 -33
  158. package/dist/shared/{ccjk.BOIUTf5z.mjs → ccjk.waa2ikKJ.mjs} +8 -9
  159. package/package.json +31 -30
  160. package/dist/shared/ccjk.DHbrGcgg.mjs +0 -13
  161. package/dist/shared/ccjk.DntgA8fQ.mjs +0 -42
@@ -1,6 +1,6 @@
1
1
  import { existsSync, readdirSync, statSync, readFileSync } from 'node:fs';
2
2
  import { CLAUDE_AGENTS_DIR, SETTINGS_FILE, CCJK_SKILLS_DIR } from '../chunks/constants.mjs';
3
- import { join } from 'pathe';
3
+ import { j as join } from './ccjk.bQ7Dh1g4.mjs';
4
4
  import process__default from 'node:process';
5
5
 
6
6
  const agentsCheck = {
@@ -1,4 +1,4 @@
1
- import ansis from 'ansis';
1
+ import a from '../chunks/index2.mjs';
2
2
 
3
3
  class Logger {
4
4
  level;
@@ -41,15 +41,15 @@ class Logger {
41
41
  const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
42
42
  switch (level) {
43
43
  case "debug":
44
- return ansis.gray(prefix);
44
+ return a.gray(prefix);
45
45
  case "info":
46
- return ansis.green(prefix);
46
+ return a.green(prefix);
47
47
  case "success":
48
- return ansis.cyan(prefix);
48
+ return a.cyan(prefix);
49
49
  case "warn":
50
- return ansis.yellow(prefix);
50
+ return a.yellow(prefix);
51
51
  case "error":
52
- return ansis.red(prefix);
52
+ return a.red(prefix);
53
53
  }
54
54
  }
55
55
  debug(message, data) {
@@ -1,10 +1,10 @@
1
- import ansis from 'ansis';
2
- import inquirer from 'inquirer';
1
+ import a from '../chunks/index2.mjs';
2
+ import { i as inquirer } from '../chunks/index3.mjs';
3
3
  import { b as getPresetById, c as getRecommendedPresets, a as getChinesePresets, g as getAllPresets } from './ccjk.CL4Yat0G.mjs';
4
4
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
6
- import { join } from 'pathe';
7
6
  import { writeFileAtomic } from '../chunks/fs-operations.mjs';
7
+ import { j as join } from './ccjk.bQ7Dh1g4.mjs';
8
8
 
9
9
  const CLAUDE_DIR = join(homedir(), ".claude");
10
10
  const SETTINGS_FILE = join(CLAUDE_DIR, "settings.json");
@@ -186,12 +186,12 @@ function displayCurrentStatus(lang = "en") {
186
186
  const { mode, provider } = detectCurrentMode();
187
187
  const config = getCurrentConfig();
188
188
  console.log("");
189
- console.log(ansis.green("\u2550".repeat(50)));
190
- console.log(ansis.bold.cyan(lang === "zh-CN" ? " \u5F53\u524D API \u914D\u7F6E" : " Current API Configuration"));
191
- console.log(ansis.green("\u2550".repeat(50)));
189
+ console.log(a.green("\u2550".repeat(50)));
190
+ console.log(a.bold.cyan(lang === "zh-CN" ? " \u5F53\u524D API \u914D\u7F6E" : " Current API Configuration"));
191
+ console.log(a.green("\u2550".repeat(50)));
192
192
  console.log("");
193
193
  if (mode === "none") {
194
- console.log(ansis.yellow(lang === "zh-CN" ? " \u26A0 \u672A\u914D\u7F6E API" : " \u26A0 No API configured"));
194
+ console.log(a.yellow(lang === "zh-CN" ? " \u26A0 \u672A\u914D\u7F6E API" : " \u26A0 No API configured"));
195
195
  console.log("");
196
196
  return;
197
197
  }
@@ -200,26 +200,26 @@ function displayCurrentStatus(lang = "en") {
200
200
  simple: lang === "zh-CN" ? "\u7B80\u5355\u6A21\u5F0F (API \u4E2D\u8F6C)" : "Simple Mode (API Proxy)",
201
201
  ccr: lang === "zh-CN" ? "CCR \u9AD8\u7EA7\u8DEF\u7531" : "CCR Advanced Router"
202
202
  };
203
- console.log(` ${ansis.bold(lang === "zh-CN" ? "\u6A21\u5F0F:" : "Mode:")} ${ansis.green(modeLabels[mode])}`);
203
+ console.log(` ${a.bold(lang === "zh-CN" ? "\u6A21\u5F0F:" : "Mode:")} ${a.green(modeLabels[mode])}`);
204
204
  if (provider) {
205
205
  const preset = getPresetById(provider);
206
206
  const providerName = preset ? lang === "zh-CN" ? preset.nameZh : preset.name : provider;
207
- console.log(` ${ansis.bold(lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:")} ${ansis.green(providerName)}`);
207
+ console.log(` ${a.bold(lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:")} ${a.green(providerName)}`);
208
208
  }
209
209
  if (config?.ANTHROPIC_BASE_URL) {
210
- console.log(` ${ansis.bold("Base URL:")} ${ansis.gray(config.ANTHROPIC_BASE_URL)}`);
210
+ console.log(` ${a.bold("Base URL:")} ${a.gray(config.ANTHROPIC_BASE_URL)}`);
211
211
  }
212
212
  if (config?.ANTHROPIC_API_KEY) {
213
213
  const masked = `${config.ANTHROPIC_API_KEY.substring(0, 10)}...`;
214
- console.log(` ${ansis.bold("API Key:")} ${ansis.gray(masked)}`);
214
+ console.log(` ${a.bold("API Key:")} ${a.gray(masked)}`);
215
215
  }
216
216
  console.log("");
217
217
  }
218
218
  async function runConfigWizard(lang = "en") {
219
219
  console.log("");
220
- console.log(ansis.green("\u2550".repeat(50)));
221
- console.log(ansis.bold.cyan(lang === "zh-CN" ? " API \u914D\u7F6E\u5411\u5BFC" : " API Configuration Wizard"));
222
- console.log(ansis.green("\u2550".repeat(50)));
220
+ console.log(a.green("\u2550".repeat(50)));
221
+ console.log(a.bold.cyan(lang === "zh-CN" ? " API \u914D\u7F6E\u5411\u5BFC" : " API Configuration Wizard"));
222
+ console.log(a.green("\u2550".repeat(50)));
223
223
  console.log("");
224
224
  const modeChoices = [
225
225
  {
@@ -306,9 +306,9 @@ async function runQuickSetup(lang) {
306
306
  return { success: false, mode: "simple", error: "Provider not found" };
307
307
  }
308
308
  console.log("");
309
- console.log(ansis.green(`\u{1F4CB} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
309
+ console.log(a.green(`\u{1F4CB} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
310
310
  if (preset.instructions) {
311
- console.log(ansis.gray(` ${lang === "zh-CN" ? preset.instructions.zh : preset.instructions.en}`));
311
+ console.log(a.gray(` ${lang === "zh-CN" ? preset.instructions.zh : preset.instructions.en}`));
312
312
  }
313
313
  console.log("");
314
314
  let apiKey = "";
@@ -329,17 +329,17 @@ async function runQuickSetup(lang) {
329
329
  const result = configureWithPreset(preset, apiKey);
330
330
  if (result.success) {
331
331
  console.log("");
332
- console.log(ansis.green(`\u2714 ${lang === "zh-CN" ? "API \u914D\u7F6E\u6210\u529F!" : "API configured successfully!"}`));
333
- console.log(ansis.gray(` ${lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:"} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
334
- console.log(ansis.gray(` ${lang === "zh-CN" ? "\u9ED8\u8BA4\u6A21\u578B:" : "Default model:"} ${preset.defaultModel}`));
332
+ console.log(a.green(`\u2714 ${lang === "zh-CN" ? "API \u914D\u7F6E\u6210\u529F!" : "API configured successfully!"}`));
333
+ console.log(a.gray(` ${lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:"} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
334
+ console.log(a.gray(` ${lang === "zh-CN" ? "\u9ED8\u8BA4\u6A21\u578B:" : "Default model:"} ${preset.defaultModel}`));
335
335
  console.log("");
336
336
  }
337
337
  return result;
338
338
  }
339
339
  async function runOfficialSetup(lang) {
340
340
  console.log("");
341
- console.log(ansis.green(lang === "zh-CN" ? "\u{1F4CB} \u5B98\u65B9 Anthropic API" : "\u{1F4CB} Official Anthropic API"));
342
- console.log(ansis.gray(lang === "zh-CN" ? " \u4ECE https://console.anthropic.com/settings/keys \u83B7\u53D6 API \u5BC6\u94A5" : " Get your API key from https://console.anthropic.com/settings/keys"));
341
+ console.log(a.green(lang === "zh-CN" ? "\u{1F4CB} \u5B98\u65B9 Anthropic API" : "\u{1F4CB} Official Anthropic API"));
342
+ console.log(a.gray(lang === "zh-CN" ? " \u4ECE https://console.anthropic.com/settings/keys \u83B7\u53D6 API \u5BC6\u94A5" : " Get your API key from https://console.anthropic.com/settings/keys"));
343
343
  console.log("");
344
344
  const { apiKey } = await inquirer.prompt({
345
345
  type: "password",
@@ -358,14 +358,14 @@ async function runOfficialSetup(lang) {
358
358
  const result = configureOfficialMode(apiKey);
359
359
  if (result.success) {
360
360
  console.log("");
361
- console.log(ansis.green(`\u2714 ${lang === "zh-CN" ? "\u5B98\u65B9 API \u914D\u7F6E\u6210\u529F!" : "Official API configured successfully!"}`));
361
+ console.log(a.green(`\u2714 ${lang === "zh-CN" ? "\u5B98\u65B9 API \u914D\u7F6E\u6210\u529F!" : "Official API configured successfully!"}`));
362
362
  console.log("");
363
363
  }
364
364
  return result;
365
365
  }
366
366
  async function runCustomSetup(lang) {
367
367
  console.log("");
368
- console.log(ansis.green(lang === "zh-CN" ? "\u{1F4CB} \u81EA\u5B9A\u4E49 API \u914D\u7F6E" : "\u{1F4CB} Custom API Configuration"));
368
+ console.log(a.green(lang === "zh-CN" ? "\u{1F4CB} \u81EA\u5B9A\u4E49 API \u914D\u7F6E" : "\u{1F4CB} Custom API Configuration"));
369
369
  console.log("");
370
370
  const { baseUrl } = await inquirer.prompt({
371
371
  type: "input",
@@ -399,15 +399,15 @@ async function runCustomSetup(lang) {
399
399
  });
400
400
  if (result.success) {
401
401
  console.log("");
402
- console.log(ansis.green(`\u2714 ${lang === "zh-CN" ? "\u81EA\u5B9A\u4E49 API \u914D\u7F6E\u6210\u529F!" : "Custom API configured successfully!"}`));
402
+ console.log(a.green(`\u2714 ${lang === "zh-CN" ? "\u81EA\u5B9A\u4E49 API \u914D\u7F6E\u6210\u529F!" : "Custom API configured successfully!"}`));
403
403
  console.log("");
404
404
  }
405
405
  return result;
406
406
  }
407
407
  async function runCcrSetup(lang) {
408
408
  console.log("");
409
- console.log(ansis.green(lang === "zh-CN" ? "\u{1F4CB} CCR \u9AD8\u7EA7\u8DEF\u7531\u914D\u7F6E" : "\u{1F4CB} CCR Advanced Router Configuration"));
410
- console.log(ansis.gray(lang === "zh-CN" ? " CCR \u63D0\u4F9B\u5B8C\u6574\u7684\u6A21\u578B\u8DEF\u7531\u3001\u8F6C\u6362\u548C\u591A\u63D0\u4F9B\u5546\u652F\u6301" : " CCR provides full model routing, transformation, and multi-provider support"));
409
+ console.log(a.green(lang === "zh-CN" ? "\u{1F4CB} CCR \u9AD8\u7EA7\u8DEF\u7531\u914D\u7F6E" : "\u{1F4CB} CCR Advanced Router Configuration"));
410
+ console.log(a.gray(lang === "zh-CN" ? " CCR \u63D0\u4F9B\u5B8C\u6574\u7684\u6A21\u578B\u8DEF\u7531\u3001\u8F6C\u6362\u548C\u591A\u63D0\u4F9B\u5546\u652F\u6301" : " CCR provides full model routing, transformation, and multi-provider support"));
411
411
  console.log("");
412
412
  try {
413
413
  const { setupCcrConfiguration } = await import('../chunks/config2.mjs');
@@ -429,10 +429,10 @@ async function runCcrSetup(lang) {
429
429
  async function testApiConnection(lang = "en") {
430
430
  const config = getCurrentConfig();
431
431
  if (!config || !config.ANTHROPIC_API_KEY && !config.ANTHROPIC_AUTH_TOKEN) {
432
- console.log(ansis.yellow(lang === "zh-CN" ? "\u26A0 \u672A\u914D\u7F6E API" : "\u26A0 No API configured"));
432
+ console.log(a.yellow(lang === "zh-CN" ? "\u26A0 \u672A\u914D\u7F6E API" : "\u26A0 No API configured"));
433
433
  return false;
434
434
  }
435
- console.log(ansis.green(lang === "zh-CN" ? "\u{1F50D} \u6D4B\u8BD5 API \u8FDE\u63A5..." : "\u{1F50D} Testing API connection..."));
435
+ console.log(a.green(lang === "zh-CN" ? "\u{1F50D} \u6D4B\u8BD5 API \u8FDE\u63A5..." : "\u{1F50D} Testing API connection..."));
436
436
  try {
437
437
  const baseUrl = config.ANTHROPIC_BASE_URL || "https://api.anthropic.com";
438
438
  const testUrl = baseUrl.includes("v1") ? baseUrl : `${baseUrl}/v1/models`;
@@ -444,15 +444,15 @@ async function testApiConnection(lang = "en") {
444
444
  }
445
445
  });
446
446
  if (response.ok || response.status === 401) {
447
- console.log(ansis.green(lang === "zh-CN" ? "\u2714 API \u8FDE\u63A5\u6210\u529F" : "\u2714 API connection successful"));
447
+ console.log(a.green(lang === "zh-CN" ? "\u2714 API \u8FDE\u63A5\u6210\u529F" : "\u2714 API connection successful"));
448
448
  return true;
449
449
  } else {
450
- console.log(ansis.yellow(`\u26A0 API returned status: ${response.status}`));
450
+ console.log(a.yellow(`\u26A0 API returned status: ${response.status}`));
451
451
  return false;
452
452
  }
453
453
  } catch (error) {
454
- console.log(ansis.red(lang === "zh-CN" ? "\u2716 API \u8FDE\u63A5\u5931\u8D25" : "\u2716 API connection failed"));
455
- console.log(ansis.gray(` ${error instanceof Error ? error.message : String(error)}`));
454
+ console.log(a.red(lang === "zh-CN" ? "\u2716 API \u8FDE\u63A5\u5931\u8D25" : "\u2716 API connection failed"));
455
+ console.log(a.gray(` ${error instanceof Error ? error.message : String(error)}`));
456
456
  return false;
457
457
  }
458
458
  }