ccjk 9.5.4 → 9.6.1

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 (96) hide show
  1. package/dist/chunks/agent.mjs +1 -1
  2. package/dist/chunks/api-providers.mjs +1 -1
  3. package/dist/chunks/api.mjs +3 -3
  4. package/dist/chunks/auto-bootstrap.mjs +1 -1
  5. package/dist/chunks/auto-updater.mjs +1 -1
  6. package/dist/chunks/boost.mjs +159 -0
  7. package/dist/chunks/ccjk-agents.mjs +1 -1
  8. package/dist/chunks/ccjk-all.mjs +1 -1
  9. package/dist/chunks/ccjk-config.mjs +1 -1
  10. package/dist/chunks/ccjk-hooks.mjs +1 -1
  11. package/dist/chunks/ccjk-mcp.mjs +2 -2
  12. package/dist/chunks/ccjk-setup.mjs +1 -1
  13. package/dist/chunks/ccjk-skills.mjs +1 -1
  14. package/dist/chunks/ccr.mjs +13 -13
  15. package/dist/chunks/ccu.mjs +1 -1
  16. package/dist/chunks/check-updates.mjs +4 -4
  17. package/dist/chunks/claude-code-config-manager.mjs +7 -7
  18. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  19. package/dist/chunks/claude-config.mjs +4 -4
  20. package/dist/chunks/claude-wrapper.mjs +2 -2
  21. package/dist/chunks/codex-config-switch.mjs +3 -3
  22. package/dist/chunks/codex-provider-manager.mjs +3 -3
  23. package/dist/chunks/codex-uninstaller.mjs +2 -2
  24. package/dist/chunks/codex.mjs +6 -6
  25. package/dist/chunks/commands.mjs +391 -88
  26. package/dist/chunks/commands2.mjs +88 -391
  27. package/dist/chunks/completion.mjs +1 -1
  28. package/dist/chunks/config-consolidator.mjs +2 -2
  29. package/dist/chunks/config-switch.mjs +3 -3
  30. package/dist/chunks/config.mjs +78 -7
  31. package/dist/chunks/config2.mjs +400 -410
  32. package/dist/chunks/config3.mjs +410 -400
  33. package/dist/chunks/constants.mjs +1 -1
  34. package/dist/chunks/context-menu.mjs +1 -1
  35. package/dist/chunks/doctor.mjs +4 -4
  36. package/dist/chunks/features.mjs +9 -9
  37. package/dist/chunks/hooks-sync.mjs +3 -3
  38. package/dist/chunks/index.mjs +178 -7
  39. package/dist/chunks/index2.mjs +1162 -169
  40. package/dist/chunks/index3.mjs +910 -1076
  41. package/dist/chunks/index4.mjs +137 -947
  42. package/dist/chunks/index5.mjs +635 -167
  43. package/dist/chunks/init.mjs +22 -27
  44. package/dist/chunks/installer.mjs +147 -649
  45. package/dist/chunks/installer2.mjs +649 -147
  46. package/dist/chunks/interview.mjs +2 -2
  47. package/dist/chunks/marketplace.mjs +1 -1
  48. package/dist/chunks/mcp-market.mjs +4 -4
  49. package/dist/chunks/mcp-server.mjs +1 -1
  50. package/dist/chunks/mcp.mjs +2 -2
  51. package/dist/chunks/menu.mjs +22 -15
  52. package/dist/chunks/monitor.mjs +2 -2
  53. package/dist/chunks/notification.mjs +1 -1
  54. package/dist/chunks/onboarding.mjs +2 -2
  55. package/dist/chunks/package.mjs +8 -8
  56. package/dist/chunks/permission-manager.mjs +2 -2
  57. package/dist/chunks/permissions.mjs +1 -1
  58. package/dist/chunks/platform.mjs +1 -1
  59. package/dist/chunks/plugin.mjs +1 -1
  60. package/dist/chunks/prompts.mjs +1 -1
  61. package/dist/chunks/providers.mjs +1 -1
  62. package/dist/chunks/quick-setup.mjs +12 -12
  63. package/dist/chunks/silent-updater.mjs +1 -1
  64. package/dist/chunks/simple-config.mjs +2 -2
  65. package/dist/chunks/skill.mjs +1 -1
  66. package/dist/chunks/skills-sync.mjs +1 -1
  67. package/dist/chunks/skills.mjs +1 -1
  68. package/dist/chunks/startup.mjs +1 -1
  69. package/dist/chunks/stats.mjs +1 -1
  70. package/dist/chunks/status.mjs +154 -0
  71. package/dist/chunks/team.mjs +1 -1
  72. package/dist/chunks/thinking.mjs +2 -2
  73. package/dist/chunks/tools.mjs +5 -5
  74. package/dist/chunks/uninstall.mjs +4 -4
  75. package/dist/chunks/update.mjs +9 -9
  76. package/dist/chunks/upgrade-manager.mjs +2 -2
  77. package/dist/chunks/version-checker.mjs +3 -3
  78. package/dist/chunks/vim.mjs +1 -1
  79. package/dist/chunks/workflows.mjs +616 -215
  80. package/dist/chunks/workflows2.mjs +215 -616
  81. package/dist/cli.mjs +68 -43
  82. package/dist/index.mjs +398 -9
  83. package/dist/shared/{ccjk.zCqdxT2Y.mjs → ccjk.Br91zBIG.mjs} +2 -2
  84. package/dist/shared/{ccjk.BM_HZogn.mjs → ccjk.C0pb50xH.mjs} +2 -2
  85. package/dist/shared/{ccjk.f40us0yY.mjs → ccjk.CItD1fpl.mjs} +1 -1
  86. package/dist/shared/ccjk.CSkyCZIM.mjs +638 -0
  87. package/dist/shared/{ccjk.CS0ybJCf.mjs → ccjk.ChMkBmdL.mjs} +3 -3
  88. package/dist/shared/{ccjk.CZgIwikC.mjs → ccjk.CtSfXUSh.mjs} +2 -2
  89. package/dist/shared/{ccjk.BKoi8-Hy.mjs → ccjk.DE91nClQ.mjs} +1 -1
  90. package/dist/shared/{ccjk.DRweXU5F.mjs → ccjk.q1koQxEE.mjs} +2 -2
  91. package/dist/shared/{ccjk.BaEp4UHQ.mjs → ccjk.xfAjmbJp.mjs} +1 -1
  92. package/package.json +8 -8
  93. package/templates/claude-code/common/settings.json +15 -111
  94. package/dist/chunks/index6.mjs +0 -663
  95. package/dist/chunks/mcp-gatekeeper.mjs +0 -183
  96. package/dist/shared/ccjk.tO8zeFh1.mjs +0 -397
@@ -5,7 +5,7 @@ import { CCJK_CONFIG_DIR } from './constants.mjs';
5
5
  import { w as writeAgentFile } from '../shared/ccjk.Bvoex4TZ.mjs';
6
6
  import { g as getPluginManager } from '../shared/ccjk.BsXQugfY.mjs';
7
7
  import { homedir } from 'node:os';
8
- import './index2.mjs';
8
+ import './index.mjs';
9
9
  import 'node:process';
10
10
  import 'node:url';
11
11
  import 'i18next';
@@ -1,7 +1,7 @@
1
1
  import { CCJK_CLOUD_API_URL } from './constants.mjs';
2
2
  import 'node:os';
3
3
  import 'pathe';
4
- import './index2.mjs';
4
+ import './index.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:process';
7
7
  import 'node:url';
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
- import { i18n, format } from './index2.mjs';
3
- import { S as STATUS, t as theme } from '../shared/ccjk.zCqdxT2Y.mjs';
2
+ import { i18n, format } from './index.mjs';
3
+ import { S as STATUS, t as theme } from '../shared/ccjk.Br91zBIG.mjs';
4
4
  import inquirer from 'inquirer';
5
5
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
6
6
  import { homedir } from 'node:os';
@@ -720,7 +720,7 @@ async function runCcrSetup(lang) {
720
720
  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"));
721
721
  console.log("");
722
722
  try {
723
- const { setupCcrConfiguration } = await import('./config2.mjs');
723
+ const { setupCcrConfiguration } = await import('./config3.mjs');
724
724
  const success = await setupCcrConfiguration();
725
725
  return {
726
726
  success,
@@ -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 './index.mjs';
8
8
  import 'node:process';
9
9
  import 'i18next';
10
10
  import 'i18next-fs-backend';
@@ -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 './index.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';
@@ -0,0 +1,159 @@
1
+ import ansis from 'ansis';
2
+ import { r as runHealthCheck, a as analyzeProject, g as getRecommendations } from '../shared/ccjk.CSkyCZIM.mjs';
3
+ import 'node:fs';
4
+ import 'node:process';
5
+ import 'pathe';
6
+ import './constants.mjs';
7
+ import 'node:os';
8
+ import './index.mjs';
9
+ import 'node:url';
10
+ import 'i18next';
11
+ import 'i18next-fs-backend';
12
+
13
+ async function executeRecommendation(rec) {
14
+ if (!rec.command) {
15
+ return { success: false, message: "No command available" };
16
+ }
17
+ try {
18
+ const parts = rec.command.split(" ");
19
+ const cmd = parts[0];
20
+ const args = parts.slice(1);
21
+ if (cmd === "ccjk") {
22
+ return await runCcjkCommand(args);
23
+ }
24
+ const { x } = await import('tinyexec');
25
+ const result = await x(cmd, args, { throwOnError: false });
26
+ return {
27
+ success: result.exitCode === 0,
28
+ message: result.exitCode === 0 ? "Applied" : `Failed: ${result.stderr}`
29
+ };
30
+ } catch (error) {
31
+ return { success: false, message: `Error: ${error instanceof Error ? error.message : String(error)}` };
32
+ }
33
+ }
34
+ async function runCcjkCommand(args) {
35
+ const sub = args[0];
36
+ try {
37
+ if (sub === "init") {
38
+ const { init } = await import('./init.mjs');
39
+ await init({ skipBanner: true, skipPrompt: true });
40
+ return { success: true, message: "Initialization complete" };
41
+ }
42
+ if (sub === "ccjk:mcp" || sub === "ccjk-mcp") {
43
+ const { ccjkMcp } = await import('./ccjk-mcp.mjs');
44
+ await ccjkMcp({ interactive: false, dryRun: false, json: false });
45
+ return { success: true, message: "MCP services configured" };
46
+ }
47
+ if (sub === "ccjk:skills" || sub === "ccjk-skills") {
48
+ const { ccjkSkills } = await import('./ccjk-skills.mjs');
49
+ await ccjkSkills({ interactive: false, dryRun: false, json: false });
50
+ return { success: true, message: "Skills installed" };
51
+ }
52
+ if (sub === "ccjk:agents" || sub === "ccjk-agents") {
53
+ const { ccjkAgents } = await import('./ccjk-agents.mjs');
54
+ await ccjkAgents({ list: false, json: false });
55
+ return { success: true, message: "Agents configured" };
56
+ }
57
+ if (sub === "doctor") {
58
+ const { doctor } = await import('./doctor.mjs');
59
+ await doctor({});
60
+ return { success: true, message: "Doctor check complete" };
61
+ }
62
+ const { x } = await import('tinyexec');
63
+ const result = await x("ccjk", args, { throwOnError: false });
64
+ return { success: result.exitCode === 0, message: result.exitCode === 0 ? "Done" : "Failed" };
65
+ } catch (error) {
66
+ return { success: false, message: `Error: ${error instanceof Error ? error.message : String(error)}` };
67
+ }
68
+ }
69
+ async function boost(options = {}) {
70
+ console.log(ansis.cyan.bold("\n\u{1F680} CCJK Boost - One-Click Optimization\n"));
71
+ const ora = (await import('ora')).default;
72
+ let spinner = ora("Analyzing your setup...").start();
73
+ const [report, profile] = await Promise.all([
74
+ runHealthCheck(),
75
+ Promise.resolve(analyzeProject())
76
+ ]);
77
+ const { skills: recSkills } = getRecommendations(profile);
78
+ spinner.succeed(`Current score: ${ansis.bold(String(report.totalScore))}/100 (Grade ${report.grade})`);
79
+ const actions = [];
80
+ for (const rec of report.recommendations) {
81
+ if (rec.command) {
82
+ actions.push({ label: `${rec.title}: ${rec.description}`, rec });
83
+ }
84
+ }
85
+ if (recSkills.length > 0 && !report.results.find((r) => r.name === "Skills" && r.status === "pass")) {
86
+ actions.push({
87
+ label: `Install ${recSkills.length} recommended skills for ${profile.language}`,
88
+ rec: { priority: "medium", title: "Install Skills", description: `${recSkills.length} skills match your project`, command: "ccjk ccjk:skills", category: "skills" }
89
+ });
90
+ }
91
+ if (actions.length === 0) {
92
+ console.log(ansis.green("\n\u2728 Your setup is already optimized! Score: ") + ansis.green.bold(`${report.totalScore}/100`));
93
+ console.log(ansis.gray('Run "ccjk status" for detailed breakdown.\n'));
94
+ return;
95
+ }
96
+ console.log(ansis.yellow(`
97
+ \u{1F4CB} ${actions.length} optimization${actions.length > 1 ? "s" : ""} available:
98
+ `));
99
+ for (const a of actions) {
100
+ const priority = a.rec.priority === "high" ? ansis.red("[HIGH]") : ansis.yellow("[MED]");
101
+ console.log(` ${priority} ${a.label}`);
102
+ if (a.rec.command) console.log(` ${ansis.gray(a.rec.command)}`);
103
+ }
104
+ if (options.dryRun) {
105
+ console.log(ansis.gray("\n--dry-run: No changes applied.\n"));
106
+ return;
107
+ }
108
+ if (!options.yes) {
109
+ const { default: inquirer } = await import('inquirer');
110
+ const { confirm } = await inquirer.prompt([{
111
+ type: "confirm",
112
+ name: "confirm",
113
+ message: `Apply ${actions.length} optimization${actions.length > 1 ? "s" : ""}?`,
114
+ default: true
115
+ }]);
116
+ if (!confirm) {
117
+ console.log(ansis.gray("\nCancelled.\n"));
118
+ return;
119
+ }
120
+ }
121
+ console.log("");
122
+ let applied = 0;
123
+ let failed = 0;
124
+ for (const action of actions) {
125
+ spinner = ora(action.label).start();
126
+ try {
127
+ const result = await executeRecommendation(action.rec);
128
+ if (result.success) {
129
+ spinner.succeed(action.label);
130
+ applied++;
131
+ } else {
132
+ spinner.warn(`${action.label} ${ansis.gray(`(${result.message})`)}`);
133
+ failed++;
134
+ }
135
+ } catch {
136
+ spinner.fail(action.label);
137
+ failed++;
138
+ }
139
+ }
140
+ console.log("");
141
+ spinner = ora("Recalculating score...").start();
142
+ const newReport = await runHealthCheck();
143
+ spinner.stop();
144
+ const delta = newReport.totalScore - report.totalScore;
145
+ const deltaStr = delta > 0 ? ansis.green(`+${delta}`) : delta < 0 ? ansis.red(String(delta)) : "\xB10";
146
+ console.log(ansis.cyan.bold("\n\u{1F4CA} Results"));
147
+ console.log(` Applied: ${ansis.green(String(applied))} Failed: ${failed > 0 ? ansis.red(String(failed)) : ansis.gray("0")}`);
148
+ console.log(` Score: ${ansis.bold(String(report.totalScore))} \u2192 ${ansis.bold(String(newReport.totalScore))} (${deltaStr})`);
149
+ console.log(` Grade: ${report.grade} \u2192 ${ansis.bold(newReport.grade)}`);
150
+ if (newReport.totalScore >= 80) {
151
+ console.log(ansis.green("\n \u2728 Excellent setup! Getting the most out of Claude Code.\n"));
152
+ } else {
153
+ console.log(ansis.yellow(`
154
+ Run ${ansis.cyan("ccjk status")} for remaining recommendations.
155
+ `));
156
+ }
157
+ }
158
+
159
+ export { boost };
@@ -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 './index.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 './index.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 './index.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 './index.mjs';
11
11
  import 'tinyglobby';
12
12
  import 'smol-toml';
13
13
  import 'ofetch';
@@ -5,9 +5,9 @@ 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 './index.mjs';
9
9
  import { b as backupMcpConfig, r as readMcpConfig, m as mergeMcpServers, w as writeMcpConfig } from './claude-config.mjs';
10
- import { e as commandExists } from './platform.mjs';
10
+ import { k as commandExists } from './platform.mjs';
11
11
  import 'node:fs';
12
12
  import 'pathe';
13
13
  import 'tinyglobby';
@@ -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 './index.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 './index.mjs';
10
10
  import { g as getSkillParser } from '../shared/ccjk.Bdhyg3X-.mjs';
11
11
  import 'pathe';
12
12
  import 'tinyglobby';
@@ -1,10 +1,10 @@
1
- import { a as displayBannerWithInfo } from '../shared/ccjk.zCqdxT2Y.mjs';
2
- import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.f40us0yY.mjs';
1
+ import { d as displayBannerWithInfo } from '../shared/ccjk.Br91zBIG.mjs';
2
+ import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.CItD1fpl.mjs';
3
3
  import { s as showCcrMenu } from './tools.mjs';
4
4
  import { showMainMenu } from './menu.mjs';
5
5
  import 'ansis';
6
6
  import './package.mjs';
7
- import './index2.mjs';
7
+ import './index.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:process';
10
10
  import 'node:url';
@@ -13,10 +13,10 @@ import 'i18next-fs-backend';
13
13
  import 'pathe';
14
14
  import 'inquirer';
15
15
  import 'node:os';
16
- import './commands.mjs';
16
+ import './commands2.mjs';
17
17
  import 'node:child_process';
18
18
  import 'node:util';
19
- import './config2.mjs';
19
+ import './config3.mjs';
20
20
  import 'dayjs';
21
21
  import './constants.mjs';
22
22
  import './claude-config.mjs';
@@ -29,7 +29,7 @@ import 'tinyexec';
29
29
  import './config.mjs';
30
30
  import '../shared/ccjk.DHbrGcgg.mjs';
31
31
  import 'inquirer-toggle';
32
- import '../shared/ccjk.BaEp4UHQ.mjs';
32
+ import '../shared/ccjk.xfAjmbJp.mjs';
33
33
  import './auto-updater.mjs';
34
34
  import 'ora';
35
35
  import './version-checker.mjs';
@@ -37,10 +37,10 @@ import 'node:path';
37
37
  import 'semver';
38
38
  import './ccjk-config.mjs';
39
39
  import 'smol-toml';
40
- import '../shared/ccjk.DRweXU5F.mjs';
40
+ import '../shared/ccjk.q1koQxEE.mjs';
41
41
  import './features.mjs';
42
- import '../shared/ccjk.CZgIwikC.mjs';
43
- import '../shared/ccjk.CS0ybJCf.mjs';
42
+ import '../shared/ccjk.CtSfXUSh.mjs';
43
+ import '../shared/ccjk.ChMkBmdL.mjs';
44
44
  import '../shared/ccjk.BFQ7yr5S.mjs';
45
45
  import './simple-config.mjs';
46
46
  import './ccjk-agents.mjs';
@@ -60,10 +60,10 @@ import './api-providers.mjs';
60
60
  import '../shared/ccjk.h7_W-wTs.mjs';
61
61
  import '../shared/ccjk.J8YiPsOw.mjs';
62
62
  import './init.mjs';
63
- import './workflows.mjs';
64
- import '../shared/ccjk.BM_HZogn.mjs';
65
- import './installer.mjs';
66
- import '../shared/ccjk.BKoi8-Hy.mjs';
63
+ import './workflows2.mjs';
64
+ import '../shared/ccjk.C0pb50xH.mjs';
65
+ import './installer2.mjs';
66
+ import '../shared/ccjk.DE91nClQ.mjs';
67
67
  import './uninstall.mjs';
68
68
  import '../shared/ccjk.DntgA8fQ.mjs';
69
69
  import 'trash';
@@ -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 './index.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:url';
7
7
  import 'i18next';
@@ -1,9 +1,9 @@
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.DRweXU5F.mjs';
3
+ import { ensureI18nInitialized, i18n } from './index.mjs';
4
+ import { r as resolveCodeType } from '../shared/ccjk.q1koQxEE.mjs';
5
5
  import { checkAndUpdateTools } from './auto-updater.mjs';
6
- import { c as runCodexUpdate } from './codex.mjs';
6
+ import { e as runCodexUpdate } from './codex.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:url';
9
9
  import 'i18next';
@@ -34,7 +34,7 @@ import './claude-config.mjs';
34
34
  import '../shared/ccjk.BFQ7yr5S.mjs';
35
35
  import './prompts.mjs';
36
36
  import './package.mjs';
37
- import '../shared/ccjk.CZgIwikC.mjs';
37
+ import '../shared/ccjk.CtSfXUSh.mjs';
38
38
 
39
39
  class ToolUpdateScheduler {
40
40
  /**
@@ -2,11 +2,11 @@ import dayjs from 'dayjs';
2
2
  import { join } from 'pathe';
3
3
  import { ZCF_CONFIG_FILE, ZCF_CONFIG_DIR, SETTINGS_FILE } from './constants.mjs';
4
4
  import { readDefaultTomlConfig, createDefaultTomlConfig, writeTomlConfig } from './ccjk-config.mjs';
5
- import { c as clearModelEnv } from './config.mjs';
5
+ import { a 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 './index.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:process';
12
12
  import 'node:url';
@@ -186,11 +186,11 @@ class ClaudeCodeConfigManager {
186
186
  * Apply profile settings to Claude Code runtime
187
187
  */
188
188
  static async applyProfileSettings(profile) {
189
- const { ensureI18nInitialized, i18n } = await import('./index2.mjs');
189
+ const { ensureI18nInitialized, i18n } = await import('./index.mjs');
190
190
  ensureI18nInitialized();
191
191
  try {
192
192
  if (!profile) {
193
- const { switchToOfficialLogin } = await import('./config.mjs').then(function (n) { return n.j; });
193
+ const { switchToOfficialLogin } = await import('./config.mjs').then(function (n) { return n.c; });
194
194
  switchToOfficialLogin();
195
195
  return;
196
196
  }
@@ -207,7 +207,7 @@ class ClaudeCodeConfigManager {
207
207
  settings.env.ANTHROPIC_AUTH_TOKEN = profile.apiKey;
208
208
  delete settings.env.ANTHROPIC_API_KEY;
209
209
  } else if (profile.authType === "ccr_proxy") {
210
- const { readCcrConfig } = await import('./config2.mjs');
210
+ const { readCcrConfig } = await import('./config3.mjs');
211
211
  const ccrConfig = readCcrConfig();
212
212
  if (!ccrConfig) {
213
213
  throw new Error(i18n.t("ccr:ccrNotConfigured") || "CCR proxy configuration not found");
@@ -246,7 +246,7 @@ class ClaudeCodeConfigManager {
246
246
  setPrimaryApiKey();
247
247
  addCompletedOnboarding();
248
248
  if (shouldRestartCcr) {
249
- const { runCcrRestart } = await import('./commands.mjs');
249
+ const { runCcrRestart } = await import('./commands2.mjs');
250
250
  await runCcrRestart();
251
251
  }
252
252
  } catch (error) {
@@ -603,7 +603,7 @@ class ClaudeCodeConfigManager {
603
603
  */
604
604
  static async syncCcrProfile() {
605
605
  try {
606
- const { readCcrConfig } = await import('./config2.mjs');
606
+ const { readCcrConfig } = await import('./config3.mjs');
607
607
  const ccrConfig = readCcrConfig();
608
608
  if (!ccrConfig) {
609
609
  await this.ensureCcrProfileExists(ccrConfig);
@@ -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 './index.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.CS0ybJCf.mjs';
7
+ import { v as validateApiKey } from '../shared/ccjk.ChMkBmdL.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:process';
10
10
  import 'node:url';
@@ -1,9 +1,9 @@
1
- import { existsSync, readFileSync, writeFileSync } from 'node:fs';
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 './index.mjs';
5
5
  import { readJsonConfig, writeJsonConfig, backupJsonConfig } from './json-config.mjs';
6
- import { j as isWindows, l as getMcpCommand } from './platform.mjs';
6
+ import { i as isWindows, a as getMcpCommand } from './platform.mjs';
7
7
 
8
8
  function mergeArraysUnique(arr1, arr2) {
9
9
  const combined = [...arr1 || [], ...arr2 || []];
@@ -212,7 +212,7 @@ function syncMcpPermissions() {
212
212
  );
213
213
  const mcpPerms = mcpServerIds.map((id) => `mcp__${id}`);
214
214
  settings.permissions.allow = [...nonMcpPerms, ...mcpPerms];
215
- writeFileSync(settingsPath, JSON.stringify(settings, null, 2), "utf-8");
215
+ writeJsonConfig(settingsPath, settings);
216
216
  } catch {
217
217
  }
218
218
  }
@@ -1,7 +1,7 @@
1
1
  import process__default from 'node:process';
2
2
  import { exec } from 'tinyexec';
3
- import { i18n, initI18n } from './index2.mjs';
4
- import { k as findRealCommandPath } from './platform.mjs';
3
+ import { i18n, initI18n } from './index.mjs';
4
+ import { m as findRealCommandPath } from './platform.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:url';
7
7
  import 'i18next';
@@ -1,11 +1,11 @@
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 './index.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';
8
- import { d as detectConfigManagementMode } from './codex.mjs';
8
+ import { f as detectConfigManagementMode } from './codex.mjs';
9
9
  import { deleteProviders, addProviderToExisting, editExistingProvider } from './codex-provider-manager.mjs';
10
10
  import 'node:os';
11
11
  import 'pathe';
@@ -29,7 +29,7 @@ import './claude-config.mjs';
29
29
  import './platform.mjs';
30
30
  import './prompts.mjs';
31
31
  import './package.mjs';
32
- import '../shared/ccjk.CZgIwikC.mjs';
32
+ import '../shared/ccjk.CtSfXUSh.mjs';
33
33
  import 'node:child_process';
34
34
 
35
35
  async function configureIncrementalManagement() {
@@ -1,5 +1,5 @@
1
- import { ensureI18nInitialized, i18n } from './index2.mjs';
2
- import { r as readCodexConfig, e as backupCodexComplete, w as writeCodexConfig, f as writeAuthFile } from './codex.mjs';
1
+ import { ensureI18nInitialized, i18n } from './index.mjs';
2
+ import { r as readCodexConfig, g as backupCodexComplete, w as writeCodexConfig, h as writeAuthFile } from './codex.mjs';
3
3
  import 'node:fs';
4
4
  import 'node:process';
5
5
  import 'node:url';
@@ -28,7 +28,7 @@ import './prompts.mjs';
28
28
  import './package.mjs';
29
29
  import '../shared/ccjk.DHbrGcgg.mjs';
30
30
  import 'inquirer-toggle';
31
- import '../shared/ccjk.CZgIwikC.mjs';
31
+ import '../shared/ccjk.CtSfXUSh.mjs';
32
32
  import 'node:child_process';
33
33
 
34
34
  async function addProviderToExisting(provider, apiKey, allowOverwrite = false) {
@@ -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 './index.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';
@@ -155,7 +155,7 @@ class CodexUninstaller {
155
155
  warnings: []
156
156
  };
157
157
  try {
158
- const { uninstallCodeTool } = await import('./installer.mjs');
158
+ const { uninstallCodeTool } = await import('./installer2.mjs');
159
159
  const success = await uninstallCodeTool("codex");
160
160
  if (success) {
161
161
  result.removed.push("@openai/codex");
@@ -9,16 +9,16 @@ 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 './index.mjs';
13
13
  import { updateZcfConfig, readZcfConfig, readDefaultTomlConfig, updateTomlConfig } from './ccjk-config.mjs';
14
- import { a as applyAiLanguageDirective } from './config.mjs';
14
+ import { d as applyAiLanguageDirective } from './config.mjs';
15
15
  import { exists, readFile, ensureDir, writeFileAtomic, writeFile, copyFile, copyDir } from './fs-operations.mjs';
16
16
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
17
- import { j as isWindows, l as getMcpCommand, m as getSystemRoot, w as wrapCommandWithSudo, n as normalizeTomlPath } from './platform.mjs';
17
+ import { i as isWindows, a as getMcpCommand, g as getSystemRoot, w as wrapCommandWithSudo, n as normalizeTomlPath } from './platform.mjs';
18
18
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
19
19
  import { resolveAiOutputLanguage } from './prompts.mjs';
20
20
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
21
- import { M as MCP_SERVICE_CONFIGS, s as selectMcpServices, g as getMcpServices } from '../shared/ccjk.CZgIwikC.mjs';
21
+ import { M as MCP_SERVICE_CONFIGS, s as selectMcpServices, a as getMcpServices } from '../shared/ccjk.CtSfXUSh.mjs';
22
22
 
23
23
  function detectConfigManagementMode() {
24
24
  try {
@@ -310,7 +310,7 @@ async function executeCodexInstallation(isUpdate, skipMethodSelection = false) {
310
310
  }
311
311
  console.log(ansis.green(i18n.t("codex:updateSuccess")));
312
312
  } else {
313
- const { installCodex } = await import('./installer.mjs');
313
+ const { installCodex } = await import('./installer2.mjs');
314
314
  await installCodex(skipMethodSelection);
315
315
  }
316
316
  }
@@ -1746,4 +1746,4 @@ const codex = {
1746
1746
  writeCodexConfig: writeCodexConfig
1747
1747
  };
1748
1748
 
1749
- export { switchToOfficialLogin as a, switchToProvider as b, runCodexUpdate as c, detectConfigManagementMode as d, backupCodexComplete as e, writeAuthFile as f, applyCodexPlatformCommand as g, runCodexFullInit as h, codex as i, listCodexProviders as l, readCodexConfig as r, switchCodexProvider as s, writeCodexConfig as w };
1749
+ export { switchToOfficialLogin as a, switchToProvider as b, applyCodexPlatformCommand as c, runCodexFullInit as d, runCodexUpdate as e, detectConfigManagementMode as f, backupCodexComplete as g, writeAuthFile as h, codex as i, listCodexProviders as l, readCodexConfig as r, switchCodexProvider as s, writeCodexConfig as w };