ccjk 11.1.2 → 12.0.0

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 (99) hide show
  1. package/dist/chunks/agent-teams.mjs +1 -1
  2. package/dist/chunks/agent.mjs +1 -1
  3. package/dist/chunks/api-cli.mjs +118 -0
  4. package/dist/chunks/api-providers.mjs +1 -1
  5. package/dist/chunks/api.mjs +8 -759
  6. package/dist/chunks/auto-bootstrap.mjs +1 -1
  7. package/dist/chunks/auto-init.mjs +1 -1
  8. package/dist/chunks/auto-updater.mjs +1 -1
  9. package/dist/chunks/banner.mjs +1 -1
  10. package/dist/chunks/boost.mjs +1 -1
  11. package/dist/chunks/ccjk-agents.mjs +1 -1
  12. package/dist/chunks/ccjk-all.mjs +1 -1
  13. package/dist/chunks/ccjk-config.mjs +1 -1
  14. package/dist/chunks/ccjk-hooks.mjs +1 -1
  15. package/dist/chunks/ccjk-mcp.mjs +1 -1
  16. package/dist/chunks/ccjk-setup.mjs +1 -1
  17. package/dist/chunks/ccjk-skills.mjs +1 -1
  18. package/dist/chunks/ccr.mjs +6 -6
  19. package/dist/chunks/ccu.mjs +1 -1
  20. package/dist/chunks/check-updates.mjs +2 -2
  21. package/dist/chunks/claude-code-config-manager.mjs +2 -2
  22. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  23. package/dist/chunks/claude-config.mjs +1 -1
  24. package/dist/chunks/claude-wrapper.mjs +1 -1
  25. package/dist/chunks/codex-config-switch.mjs +1 -1
  26. package/dist/chunks/codex-provider-manager.mjs +1 -1
  27. package/dist/chunks/codex-uninstaller.mjs +1 -1
  28. package/dist/chunks/codex.mjs +1 -1
  29. package/dist/chunks/commands.mjs +1 -1
  30. package/dist/chunks/completion.mjs +1 -1
  31. package/dist/chunks/config-consolidator.mjs +1 -1
  32. package/dist/chunks/config-switch.mjs +2 -2
  33. package/dist/chunks/config.mjs +1 -1
  34. package/dist/chunks/config2.mjs +1 -1
  35. package/dist/chunks/config3.mjs +1 -1
  36. package/dist/chunks/constants.mjs +1 -1
  37. package/dist/chunks/dashboard.mjs +1 -1
  38. package/dist/chunks/doctor.mjs +31 -7
  39. package/dist/chunks/evolution.mjs +1 -1
  40. package/dist/chunks/features.mjs +5 -5
  41. package/dist/chunks/index.mjs +7 -7
  42. package/dist/chunks/index2.mjs +10 -177
  43. package/dist/chunks/index3.mjs +168 -1162
  44. package/dist/chunks/index4.mjs +1076 -910
  45. package/dist/chunks/index5.mjs +947 -137
  46. package/dist/chunks/index6.mjs +167 -635
  47. package/dist/chunks/index7.mjs +663 -0
  48. package/dist/chunks/init.mjs +17 -17
  49. package/dist/chunks/installer.mjs +1 -1
  50. package/dist/chunks/interview.mjs +2 -2
  51. package/dist/chunks/marketplace.mjs +1 -1
  52. package/dist/chunks/mcp-cli.mjs +191 -0
  53. package/dist/chunks/mcp.mjs +2 -2
  54. package/dist/chunks/menu.mjs +3 -3
  55. package/dist/chunks/migrator.mjs +1 -1
  56. package/dist/chunks/monitor.mjs +1 -1
  57. package/dist/chunks/notification.mjs +1 -1
  58. package/dist/chunks/onboarding.mjs +1 -1
  59. package/dist/chunks/package.mjs +1 -1
  60. package/dist/chunks/permission-manager.mjs +1 -1
  61. package/dist/chunks/permissions.mjs +1 -1
  62. package/dist/chunks/persistence-manager.mjs +1 -1
  63. package/dist/chunks/plugin.mjs +1 -1
  64. package/dist/chunks/prompts.mjs +1 -1
  65. package/dist/chunks/providers.mjs +1 -1
  66. package/dist/chunks/quick-actions.mjs +1 -1
  67. package/dist/chunks/quick-setup.mjs +5 -5
  68. package/dist/chunks/remote.mjs +2 -2
  69. package/dist/chunks/silent-updater.mjs +1 -1
  70. package/dist/chunks/simple-config.mjs +1 -1
  71. package/dist/chunks/skill.mjs +1 -1
  72. package/dist/chunks/skills-sync.mjs +1 -1
  73. package/dist/chunks/skills.mjs +1 -1
  74. package/dist/chunks/slash-commands.mjs +2 -2
  75. package/dist/chunks/startup.mjs +1 -1
  76. package/dist/chunks/stats.mjs +1 -1
  77. package/dist/chunks/status.mjs +1 -1
  78. package/dist/chunks/team.mjs +1 -1
  79. package/dist/chunks/thinking.mjs +2 -2
  80. package/dist/chunks/uninstall.mjs +3 -3
  81. package/dist/chunks/update.mjs +4 -4
  82. package/dist/chunks/upgrade-manager.mjs +1 -1
  83. package/dist/chunks/version-checker.mjs +1 -1
  84. package/dist/chunks/vim.mjs +1 -1
  85. package/dist/chunks/zero-config.mjs +1 -1
  86. package/dist/cli.mjs +76 -16
  87. package/dist/index.d.mts +37 -10
  88. package/dist/index.d.ts +37 -10
  89. package/dist/index.mjs +2 -2
  90. package/dist/shared/{ccjk.DB2UYcq0.mjs → ccjk.BOIUTf5z.mjs} +2 -2
  91. package/dist/shared/ccjk.CL4Yat0G.mjs +303 -0
  92. package/dist/shared/{ccjk.CxtuJxaS.mjs → ccjk.CN0edl87.mjs} +1 -1
  93. package/dist/shared/{ccjk.BKoi8-Hy.mjs → ccjk.CrB6OYHv.mjs} +1 -1
  94. package/dist/shared/{ccjk.DVBW2wxp.mjs → ccjk.Dk1HDseQ.mjs} +1 -1
  95. package/dist/shared/ccjk.bhFAMRyc.mjs +460 -0
  96. package/dist/shared/ccjk.cChAaGgT.mjs +88 -0
  97. package/dist/shared/{ccjk.DrMygfCF.mjs → ccjk.j4uut26D.mjs} +1 -1
  98. package/package.json +2 -3
  99. package/dist/shared/ccjk.Cu_R2MbQ.mjs +0 -75
@@ -4,7 +4,7 @@ import { release, platform, type, homedir, hostname } from 'node:os';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { join, dirname } from 'pathe';
6
6
  import { CCJK_CONFIG_DIR } from './constants.mjs';
7
- import './index2.mjs';
7
+ import './index3.mjs';
8
8
  import 'node:process';
9
9
  import 'i18next';
10
10
  import 'i18next-fs-backend';
@@ -1,4 +1,4 @@
1
- import { l as logger } from '../shared/ccjk.Cu_R2MbQ.mjs';
1
+ import { l as logger } from '../shared/ccjk.cChAaGgT.mjs';
2
2
  import { createRequire } from 'node:module';
3
3
  import require$$0 from 'crypto';
4
4
  import { existsSync, readFileSync } from 'fs';
@@ -1,7 +1,7 @@
1
1
  import ansis from 'ansis';
2
2
  import ora from 'ora';
3
3
  import { exec } from 'tinyexec';
4
- import { ensureI18nInitialized, i18n, format } from './index2.mjs';
4
+ import { ensureI18nInitialized, i18n, format } from './index3.mjs';
5
5
  import { s as shouldUseSudoForGlobalInstall } from './platform.mjs';
6
6
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
7
7
  import { checkClaudeCodeVersion, fixBrokenNpmSymlink, checkCcrVersion, handleDuplicateInstallations, checkCometixLineVersion } from './version-checker.mjs';
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
2
  import { homepage, version } from './package.mjs';
3
- import { ensureI18nInitialized, i18n } from './index2.mjs';
3
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:process';
6
6
  import 'node:url';
@@ -5,7 +5,7 @@ import { join } from 'pathe';
5
5
  import { SETTINGS_FILE } from './constants.mjs';
6
6
  import { r as runHealthCheck } from '../shared/ccjk.DfwJOEok.mjs';
7
7
  import 'node:os';
8
- import './index2.mjs';
8
+ import './index3.mjs';
9
9
  import 'node:url';
10
10
  import 'i18next';
11
11
  import 'i18next-fs-backend';
@@ -1,7 +1,7 @@
1
1
  import process__default, { cwd } from 'node:process';
2
2
  import consola from 'consola';
3
3
  import { P as ProjectAnalyzer, g as getTemplatesClient } from '../shared/ccjk.BNwRnWYx.mjs';
4
- import { i18n } from './index2.mjs';
4
+ import { i18n } from './index3.mjs';
5
5
  import { existsSync, readFileSync, writeFileSync, readdirSync } from 'node:fs';
6
6
  import { join, dirname } from 'pathe';
7
7
  import { CLAUDE_AGENTS_DIR } from './constants.mjs';
@@ -6,7 +6,7 @@ import { hash } from 'ohash';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { ofetch } from 'ofetch';
8
8
  import { randomUUID, createHash } from 'node:crypto';
9
- import { i18n, ensureI18nInitialized } from './index2.mjs';
9
+ import { i18n, ensureI18nInitialized } from './index3.mjs';
10
10
  import { a as analyzeProject } from '../shared/ccjk.BNwRnWYx.mjs';
11
11
  import { ccjkAgents } from './ccjk-agents.mjs';
12
12
  import { ccjkHooks } from './ccjk-hooks.mjs';
@@ -5,7 +5,7 @@ import { DEFAULT_CODE_TOOL_TYPE, ZCF_CONFIG_FILE, LEGACY_ZCF_CONFIG_FILES, ZCF_C
5
5
  import { exists, readFile, ensureDir, writeFileAtomic } from './fs-operations.mjs';
6
6
  import { readJsonConfig } from './json-config.mjs';
7
7
  import 'node:os';
8
- import './index2.mjs';
8
+ import './index3.mjs';
9
9
  import 'node:process';
10
10
  import 'node:url';
11
11
  import 'i18next';
@@ -7,7 +7,7 @@ import process__default from 'node:process';
7
7
  import { join, dirname } from 'pathe';
8
8
  import { exec } from 'node:child_process';
9
9
  import { promisify } from 'node:util';
10
- import { i18n } from './index2.mjs';
10
+ import { i18n } from './index3.mjs';
11
11
  import 'tinyglobby';
12
12
  import 'smol-toml';
13
13
  import 'ofetch';
@@ -5,7 +5,7 @@ import consola from 'consola';
5
5
  import inquirer from 'inquirer';
6
6
  import { a as analyzeProject, g as getTemplatesClient } from '../shared/ccjk.BNwRnWYx.mjs';
7
7
  import { CLAUDE_DIR } from './constants.mjs';
8
- import { ensureI18nInitialized, i18n } from './index2.mjs';
8
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
9
9
  import { b as backupMcpConfig, r as readMcpConfig, m as mergeMcpServers, w as writeMcpConfig } from './claude-config.mjs';
10
10
  import { h as commandExists } from './platform.mjs';
11
11
  import 'node:fs';
@@ -1,7 +1,7 @@
1
1
  import ansis from 'ansis';
2
2
  import { consola } from 'consola';
3
3
  import { P as ProjectAnalyzer } from '../shared/ccjk.BNwRnWYx.mjs';
4
- import { i18n } from './index2.mjs';
4
+ import { i18n } from './index3.mjs';
5
5
  import { promises } from 'node:fs';
6
6
  import { performance } from 'node:perf_hooks';
7
7
  import { join } from 'pathe';
@@ -6,7 +6,7 @@ import ansis from 'ansis';
6
6
  import consola from 'consola';
7
7
  import inquirer from 'inquirer';
8
8
  import { a as analyzeProject, g as getTemplatesClient } from '../shared/ccjk.BNwRnWYx.mjs';
9
- import { i18n } from './index2.mjs';
9
+ import { i18n } from './index3.mjs';
10
10
  import { g as getSkillParser } from '../shared/ccjk.Bdhyg3X-.mjs';
11
11
  import 'pathe';
12
12
  import 'tinyglobby';
@@ -1,9 +1,9 @@
1
1
  import { displayBannerWithInfo } from './banner.mjs';
2
- import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DrMygfCF.mjs';
2
+ import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.j4uut26D.mjs';
3
3
  import { s as showCcrMenu, a as showMainMenu } from './menu.mjs';
4
4
  import 'ansis';
5
5
  import './package.mjs';
6
- import './index2.mjs';
6
+ import './index3.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:process';
9
9
  import 'node:url';
@@ -33,19 +33,19 @@ import './prompts.mjs';
33
33
  import '../shared/ccjk.DHbrGcgg.mjs';
34
34
  import 'inquirer-toggle';
35
35
  import 'node:child_process';
36
- import '../shared/ccjk.CxtuJxaS.mjs';
36
+ import '../shared/ccjk.CN0edl87.mjs';
37
37
  import './smart-defaults.mjs';
38
38
  import '../shared/ccjk.DKojSRzw.mjs';
39
39
  import './features.mjs';
40
40
  import './config2.mjs';
41
41
  import 'node:util';
42
42
  import './init.mjs';
43
- import '../shared/ccjk.DVBW2wxp.mjs';
43
+ import '../shared/ccjk.Dk1HDseQ.mjs';
44
44
  import './auto-updater.mjs';
45
45
  import './version-checker.mjs';
46
46
  import 'node:path';
47
47
  import './installer.mjs';
48
- import '../shared/ccjk.BKoi8-Hy.mjs';
48
+ import '../shared/ccjk.CrB6OYHv.mjs';
49
49
  import './simple-config.mjs';
50
50
  import './commands.mjs';
51
51
  import './ccjk-agents.mjs';
@@ -66,7 +66,7 @@ import './uninstall.mjs';
66
66
  import '../shared/ccjk.DntgA8fQ.mjs';
67
67
  import 'trash';
68
68
  import './update.mjs';
69
- import '../shared/ccjk.DB2UYcq0.mjs';
69
+ import '../shared/ccjk.BOIUTf5z.mjs';
70
70
 
71
71
  async function ccr(options = {}) {
72
72
  try {
@@ -1,7 +1,7 @@
1
1
  import process__default from 'node:process';
2
2
  import ansis from 'ansis';
3
3
  import { x } from 'tinyexec';
4
- import { i18n } from './index2.mjs';
4
+ import { i18n } from './index3.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:url';
7
7
  import 'i18next';
@@ -1,7 +1,7 @@
1
1
  import process__default from 'node:process';
2
2
  import ansis from 'ansis';
3
- import { ensureI18nInitialized, i18n } from './index2.mjs';
4
- import { r as resolveCodeType } from '../shared/ccjk.CxtuJxaS.mjs';
3
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
4
+ import { r as resolveCodeType } from '../shared/ccjk.CN0edl87.mjs';
5
5
  import { checkAndUpdateTools } from './auto-updater.mjs';
6
6
  import { r as runCodexUpdate } from './codex.mjs';
7
7
  import 'node:fs';
@@ -6,7 +6,7 @@ import { h as clearModelEnv } from './config.mjs';
6
6
  import { ensureDir, exists, copyFile } from './fs-operations.mjs';
7
7
  import { readJsonConfig } from './json-config.mjs';
8
8
  import 'node:os';
9
- import './index2.mjs';
9
+ import './index3.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:process';
12
12
  import 'node:url';
@@ -187,7 +187,7 @@ class ClaudeCodeConfigManager {
187
187
  * Apply profile settings to Claude Code runtime
188
188
  */
189
189
  static async applyProfileSettings(profile) {
190
- const { ensureI18nInitialized, i18n } = await import('./index2.mjs');
190
+ const { ensureI18nInitialized, i18n } = await import('./index3.mjs');
191
191
  ensureI18nInitialized();
192
192
  try {
193
193
  if (!profile) {
@@ -1,10 +1,10 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { ensureI18nInitialized, i18n } from './index2.mjs';
3
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
4
4
  import { ClaudeCodeConfigManager } from './claude-code-config-manager.mjs';
5
5
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
6
6
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
7
- import { v as validateApiKey } from '../shared/ccjk.DVBW2wxp.mjs';
7
+ import { v as validateApiKey } from '../shared/ccjk.Dk1HDseQ.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:process';
10
10
  import 'node:url';
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'pathe';
3
3
  import { CLAUDE_VSC_CONFIG_FILE, CLAUDE_DIR, ClAUDE_CONFIG_FILE } from './constants.mjs';
4
- import { ensureI18nInitialized, i18n } from './index2.mjs';
4
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
5
5
  import { readJsonConfig, writeJsonConfig, backupJsonConfig } from './json-config.mjs';
6
6
  import { i as isWindows, m as getMcpCommand } from './platform.mjs';
7
7
 
@@ -1,6 +1,6 @@
1
1
  import process__default from 'node:process';
2
2
  import { exec } from 'tinyexec';
3
- import { i18n, initI18n } from './index2.mjs';
3
+ import { i18n, initI18n } from './index3.mjs';
4
4
  import { k as findRealCommandPath } from './platform.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:url';
@@ -1,7 +1,7 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
3
  import { CODEX_AUTH_FILE } from './constants.mjs';
4
- import { ensureI18nInitialized, i18n } from './index2.mjs';
4
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
5
5
  import { readJsonConfig } from './json-config.mjs';
6
6
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
7
7
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
@@ -1,4 +1,4 @@
1
- import { ensureI18nInitialized, i18n } from './index2.mjs';
1
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
2
2
  import { a as readCodexConfig, e as backupCodexComplete, w as writeCodexConfig, f as writeAuthFile } from './codex.mjs';
3
3
  import 'node:fs';
4
4
  import 'node:process';
@@ -1,7 +1,7 @@
1
1
  import { promises } from 'node:fs';
2
2
  import { join } from 'pathe';
3
3
  import { CODEX_DIR, CODEX_CONFIG_FILE, CODEX_AUTH_FILE, CODEX_AGENTS_FILE, CODEX_PROMPTS_DIR } from './constants.mjs';
4
- import { i18n } from './index2.mjs';
4
+ import { i18n } from './index3.mjs';
5
5
  import { writeFileAtomic } from './fs-operations.mjs';
6
6
  import { m as moveToTrash } from '../shared/ccjk.DntgA8fQ.mjs';
7
7
  import 'node:os';
@@ -9,7 +9,7 @@ import semver__default from 'semver';
9
9
  import { parse } from 'smol-toml';
10
10
  import { x } from 'tinyexec';
11
11
  import { CODEX_AUTH_FILE, SUPPORTED_LANGS, CODEX_DIR, CODEX_AGENTS_FILE, CODEX_PROMPTS_DIR, CODEX_CONFIG_FILE, AI_OUTPUT_LANGUAGES, ZCF_CONFIG_FILE } from './constants.mjs';
12
- import { ensureI18nInitialized, i18n, format } from './index2.mjs';
12
+ import { ensureI18nInitialized, i18n, format } from './index3.mjs';
13
13
  import { updateZcfConfig, readZcfConfig, readDefaultTomlConfig, updateTomlConfig } from './ccjk-config.mjs';
14
14
  import { a as applyAiLanguageDirective } from './config.mjs';
15
15
  import { exists, readFile, ensureDir, writeFileAtomic, writeFile, copyFile, copyDir } from './fs-operations.mjs';
@@ -1,7 +1,7 @@
1
1
  import { exec } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
3
  import ansis from 'ansis';
4
- import { ensureI18nInitialized, i18n } from './index2.mjs';
4
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:process';
7
7
  import 'node:url';
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
4
  import ansis from 'ansis';
5
- import { i18n } from './index2.mjs';
5
+ import { i18n } from './index3.mjs';
6
6
  import 'node:process';
7
7
  import 'node:url';
8
8
  import 'i18next';
@@ -6,7 +6,7 @@ import dayjs from 'dayjs';
6
6
  import { join } from 'pathe';
7
7
  import { SETTINGS_FILE, ClAUDE_CONFIG_FILE, CLAUDE_VSC_CONFIG_FILE } from './constants.mjs';
8
8
  import { STATUS } from './banner.mjs';
9
- import './index2.mjs';
9
+ import './index3.mjs';
10
10
  import 'node:url';
11
11
  import 'i18next';
12
12
  import 'i18next-fs-backend';
@@ -2,11 +2,11 @@ import process__default from 'node:process';
2
2
  import ansis from 'ansis';
3
3
  import inquirer from 'inquirer';
4
4
  import { resolveCodeToolType, isCodeToolType, DEFAULT_CODE_TOOL_TYPE } from './constants.mjs';
5
- import { ensureI18nInitialized, i18n } from './index2.mjs';
5
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
6
6
  import { readZcfConfig } from './ccjk-config.mjs';
7
7
  import { ClaudeCodeConfigManager } from './claude-code-config-manager.mjs';
8
8
  import { s as switchCodexProvider, l as listCodexProviders, a as readCodexConfig, b as switchToOfficialLogin, c as switchToProvider } from './codex.mjs';
9
- import { a as handleGeneralError } from '../shared/ccjk.DrMygfCF.mjs';
9
+ import { a as handleGeneralError } from '../shared/ccjk.j4uut26D.mjs';
10
10
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
11
11
  import 'node:os';
12
12
  import 'pathe';
@@ -4,7 +4,7 @@ import dayjs from 'dayjs';
4
4
  import inquirer from 'inquirer';
5
5
  import { join, dirname } from 'pathe';
6
6
  import { CLAUDE_DIR, SETTINGS_FILE, CLAUDE_VSC_CONFIG_FILE, AI_OUTPUT_LANGUAGES } from './constants.mjs';
7
- import { ensureI18nInitialized, i18n } from './index2.mjs';
7
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
8
8
  import { s as setPrimaryApiKey, c as addCompletedOnboarding, d as deepMerge } from './claude-config.mjs';
9
9
  import { exists, ensureDir, copyDir, writeFileAtomic, copyFile } from './fs-operations.mjs';
10
10
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
@@ -8,7 +8,7 @@ import dayjs from 'dayjs';
8
8
  import inquirer from 'inquirer';
9
9
  import { join } from 'pathe';
10
10
  import { SETTINGS_FILE } from './constants.mjs';
11
- import { ensureI18nInitialized, i18n } from './index2.mjs';
11
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
12
12
  import { s as setPrimaryApiKey, c as addCompletedOnboarding } from './claude-config.mjs';
13
13
  import { b as backupExistingConfig } from './config.mjs';
14
14
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
@@ -4,7 +4,7 @@ import ansis from 'ansis';
4
4
  import inquirer from 'inquirer';
5
5
  import { getApiProviderPresets } from './api-providers.mjs';
6
6
  import { SETTINGS_FILE } from './constants.mjs';
7
- import { i18n } from './index2.mjs';
7
+ import { i18n } from './index3.mjs';
8
8
  import { b as backupExistingConfig } from './config.mjs';
9
9
  import 'node:os';
10
10
  import 'pathe';
@@ -1,6 +1,6 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { join } from 'pathe';
3
- import { i18n } from './index2.mjs';
3
+ import { i18n } from './index3.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:process';
6
6
  import 'node:url';
@@ -3,7 +3,7 @@ import { homedir } from 'node:os';
3
3
  import process__default from 'node:process';
4
4
  import ansis from 'ansis';
5
5
  import { join } from 'pathe';
6
- import { i18n } from './index2.mjs';
6
+ import { i18n } from './index3.mjs';
7
7
  import 'node:url';
8
8
  import 'i18next';
9
9
  import 'i18next-fs-backend';
@@ -5,7 +5,7 @@ import inquirer from 'inquirer';
5
5
  import { resolve, join, dirname } from 'pathe';
6
6
  import { getApiProviderPresets } from './api-providers.mjs';
7
7
  import { SETTINGS_FILE, CLAUDE_DIR } from './constants.mjs';
8
- import { i18n } from './index2.mjs';
8
+ import { i18n } from './index3.mjs';
9
9
  import { g as getPermissionManager } from '../shared/ccjk.h7_W-wTs.mjs';
10
10
  import { h as commandExists } from './platform.mjs';
11
11
  import { P as ProviderHealthMonitor } from '../shared/ccjk.J8YiPsOw.mjs';
@@ -839,10 +839,6 @@ async function doctor(options = {}) {
839
839
  await fixSettingsFile();
840
840
  return;
841
841
  }
842
- console.log("");
843
- console.log(ansis.bold.cyan("\u{1F50D} CCJK Health Check"));
844
- console.log(ansis.dim("\u2500".repeat(50)));
845
- console.log("");
846
842
  const checks = [
847
843
  checkClaudeCode,
848
844
  checkClaudeDir,
@@ -856,10 +852,38 @@ async function doctor(options = {}) {
856
852
  if (options.checkProviders) {
857
853
  checks.push(() => checkProviders(options.codeType));
858
854
  }
859
- let hasErrors = false;
860
- let hasWarnings = false;
855
+ const results = [];
861
856
  for (const check of checks) {
862
857
  const result = await check();
858
+ results.push(result);
859
+ }
860
+ if (options.json) {
861
+ const output = {
862
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
863
+ summary: {
864
+ total: results.length,
865
+ ok: results.filter((r) => r.status === "ok").length,
866
+ warning: results.filter((r) => r.status === "warning").length,
867
+ error: results.filter((r) => r.status === "error").length
868
+ },
869
+ checks: results.map((r) => ({
870
+ name: r.name,
871
+ status: r.status,
872
+ message: r.message,
873
+ fix: r.fix,
874
+ details: r.details
875
+ }))
876
+ };
877
+ console.log(JSON.stringify(output, null, 2));
878
+ return;
879
+ }
880
+ console.log("");
881
+ console.log(ansis.bold.cyan("\u{1F50D} CCJK Health Check"));
882
+ console.log(ansis.dim("\u2500".repeat(50)));
883
+ console.log("");
884
+ let hasErrors = false;
885
+ let hasWarnings = false;
886
+ for (const result of results) {
863
887
  const statusIcon = result.status === "ok" ? ansis.green("\u2705") : result.status === "warning" ? ansis.yellow("\u26A0\uFE0F") : ansis.red("\u274C");
864
888
  const statusColor = result.status === "ok" ? ansis.green : result.status === "warning" ? ansis.yellow : ansis.red;
865
889
  console.log(`${statusIcon} ${ansis.bold(result.name)}: ${statusColor(result.message)}`);
@@ -1,5 +1,5 @@
1
1
  import ansis from 'ansis';
2
- import { i18n } from './index2.mjs';
2
+ import { i18n } from './index3.mjs';
3
3
  import 'node:fs';
4
4
  import 'node:process';
5
5
  import 'node:url';
@@ -6,13 +6,13 @@ import process__default from 'node:process';
6
6
  import { join } from 'pathe';
7
7
  import { d as selectMcpServices, g as getMcpServices } from './codex.mjs';
8
8
  import { SUPPORTED_LANGS, LANG_LABELS } from './constants.mjs';
9
- import { ensureI18nInitialized, i18n, changeLanguage } from './index2.mjs';
9
+ import { ensureI18nInitialized, i18n, changeLanguage } from './index3.mjs';
10
10
  import { updateZcfConfig, readZcfConfig } from './ccjk-config.mjs';
11
11
  import { setupCcrConfiguration } from './config2.mjs';
12
12
  import { a as isCcrInstalled, b as installCcr } from './init.mjs';
13
13
  import { r as readMcpConfig, f as fixWindowsMcpConfig, w as writeMcpConfig, b as backupMcpConfig, a as buildMcpServerConfig, m as mergeMcpServers } from './claude-config.mjs';
14
14
  import { a as applyAiLanguageDirective, g as getExistingModelConfig, u as updateCustomModel, d as updateDefaultModel, e as getExistingApiConfig, p as promptApiConfigurationAction, f as configureApi, s as switchToOfficialLogin } from './config.mjs';
15
- import { c as configureOutputStyle, a as modifyApiConfigPartially, v as validateApiKey, f as formatApiKeyDisplay } from '../shared/ccjk.DVBW2wxp.mjs';
15
+ import { c as configureOutputStyle, a as modifyApiConfigPartially, v as validateApiKey, f as formatApiKeyDisplay } from '../shared/ccjk.Dk1HDseQ.mjs';
16
16
  import { i as isWindows } from './platform.mjs';
17
17
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
18
18
  import { openSettingsJson, importRecommendedPermissions, importRecommendedEnv } from './simple-config.mjs';
@@ -37,12 +37,12 @@ import './banner.mjs';
37
37
  import './auto-updater.mjs';
38
38
  import './version-checker.mjs';
39
39
  import 'node:path';
40
- import '../shared/ccjk.CxtuJxaS.mjs';
40
+ import '../shared/ccjk.CN0edl87.mjs';
41
41
  import './smart-defaults.mjs';
42
42
  import '../shared/ccjk.DKojSRzw.mjs';
43
- import '../shared/ccjk.DrMygfCF.mjs';
43
+ import '../shared/ccjk.j4uut26D.mjs';
44
44
  import './installer.mjs';
45
- import '../shared/ccjk.BKoi8-Hy.mjs';
45
+ import '../shared/ccjk.CrB6OYHv.mjs';
46
46
  import '../shared/ccjk.BiCrMV5O.mjs';
47
47
  import 'inquirer-toggle';
48
48
 
@@ -1,10 +1,10 @@
1
- export { r as runHealthCheck } from '../shared/ccjk.DfwJOEok.mjs';
1
+ export { c as configureOfficialMode, a as configureSimpleMode, b as configureWithPreset, e as detectCurrentMode, d as displayCurrentStatus, g as getCurrentConfig, q as quickSetup, r as runConfigWizard, t as testApiConnection, v as validateApiKey } from '../shared/ccjk.bhFAMRyc.mjs';
2
+ export { P as PROVIDER_PRESETS, g as getAllPresets, a as getChinesePresets, b as getPresetById, c as getRecommendedPresets } from '../shared/ccjk.CL4Yat0G.mjs';
3
+ import 'ansis';
4
+ import 'inquirer';
2
5
  import 'node:fs';
3
- import './constants.mjs';
4
6
  import 'node:os';
5
7
  import 'pathe';
6
- import './index2.mjs';
7
- import 'node:process';
8
- import 'node:url';
9
- import 'i18next';
10
- import 'i18next-fs-backend';
8
+ import './fs-operations.mjs';
9
+ import 'node:crypto';
10
+ import 'node:fs/promises';