ccjk 13.5.7 → 13.6.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 (140) hide show
  1. package/dist/chunks/agent-teams.mjs +3 -3
  2. package/dist/chunks/agent.mjs +2 -2
  3. package/dist/chunks/agents.mjs +3 -3
  4. package/dist/chunks/api-cli.mjs +5 -5
  5. package/dist/chunks/api-providers.mjs +1 -1
  6. package/dist/chunks/api.mjs +4 -4
  7. package/dist/chunks/auto-bootstrap.mjs +1 -1
  8. package/dist/chunks/auto-fix.mjs +17 -5
  9. package/dist/chunks/auto-fixer.mjs +3 -3
  10. package/dist/chunks/auto-init.mjs +3 -3
  11. package/dist/chunks/auto-updater.mjs +7 -7
  12. package/dist/chunks/banner.mjs +2 -2
  13. package/dist/chunks/boost.mjs +5 -5
  14. package/dist/chunks/ccjk-agents.mjs +2 -2
  15. package/dist/chunks/ccjk-all.mjs +6 -6
  16. package/dist/chunks/ccjk-config.mjs +2 -2
  17. package/dist/chunks/ccjk-hooks.mjs +3 -3
  18. package/dist/chunks/ccjk-mcp.mjs +4 -4
  19. package/dist/chunks/ccjk-setup.mjs +4 -4
  20. package/dist/chunks/ccjk-skills.mjs +4 -4
  21. package/dist/chunks/ccr.mjs +16 -16
  22. package/dist/chunks/ccu.mjs +2 -2
  23. package/dist/chunks/check-updates.mjs +8 -8
  24. package/dist/chunks/claude-code-config-manager.mjs +5 -5
  25. package/dist/chunks/claude-code-incremental-manager.mjs +6 -6
  26. package/dist/chunks/claude-config.mjs +2 -2
  27. package/dist/chunks/claude-wrapper.mjs +1 -1
  28. package/dist/chunks/cli-hook.mjs +5 -5
  29. package/dist/chunks/codex-config-switch.mjs +6 -6
  30. package/dist/chunks/codex-provider-manager.mjs +7 -7
  31. package/dist/chunks/codex-uninstaller.mjs +2 -2
  32. package/dist/chunks/codex.mjs +7 -7
  33. package/dist/chunks/commands.mjs +2 -2
  34. package/dist/chunks/commands2.mjs +2 -2
  35. package/dist/chunks/commit.mjs +3 -3
  36. package/dist/chunks/completion.mjs +2 -2
  37. package/dist/chunks/config-consolidator.mjs +2 -2
  38. package/dist/chunks/config-switch.mjs +8 -8
  39. package/dist/chunks/config.mjs +20 -9
  40. package/dist/chunks/config2.mjs +4 -4
  41. package/dist/chunks/config3.mjs +3 -3
  42. package/dist/chunks/constants.mjs +1 -1
  43. package/dist/chunks/context.mjs +3 -3
  44. package/dist/chunks/dashboard.mjs +2 -2
  45. package/dist/chunks/doctor.mjs +4 -4
  46. package/dist/chunks/evolution.mjs +2 -2
  47. package/dist/chunks/features.mjs +8 -8
  48. package/dist/chunks/help.mjs +1 -1
  49. package/dist/chunks/impact.mjs +1 -1
  50. package/dist/chunks/index.mjs +18 -19
  51. package/dist/chunks/index10.mjs +5145 -528
  52. package/dist/chunks/index11.mjs +1061 -569
  53. package/dist/chunks/index12.mjs +193 -1146
  54. package/dist/chunks/index13.mjs +607 -937
  55. package/dist/chunks/index14.mjs +951 -136
  56. package/dist/chunks/index15.mjs +185 -209
  57. package/dist/chunks/index2.mjs +7623 -12
  58. package/dist/chunks/index3.mjs +160 -19081
  59. package/dist/chunks/index4.mjs +19 -18
  60. package/dist/chunks/index5.mjs +12 -7623
  61. package/dist/chunks/index6.mjs +19077 -156
  62. package/dist/chunks/index7.mjs +565 -1551
  63. package/dist/chunks/index8.mjs +1535 -5166
  64. package/dist/chunks/init.mjs +1107 -1101
  65. package/dist/chunks/installer.mjs +5 -5
  66. package/dist/chunks/installer2.mjs +2 -2
  67. package/dist/chunks/interview.mjs +4 -4
  68. package/dist/chunks/manager.mjs +1 -1
  69. package/dist/chunks/marketplace.mjs +3 -3
  70. package/dist/chunks/mcp-cli.mjs +9 -9
  71. package/dist/chunks/mcp.mjs +10 -10
  72. package/dist/chunks/memory-check.mjs +2 -2
  73. package/dist/chunks/memory-paths.mjs +2 -2
  74. package/dist/chunks/memory-sync.mjs +2 -2
  75. package/dist/chunks/memory.mjs +4 -4
  76. package/dist/chunks/metrics-display.mjs +1 -1
  77. package/dist/chunks/migrator.mjs +1 -1
  78. package/dist/chunks/monitor.mjs +2 -2
  79. package/dist/chunks/notification.mjs +4 -4
  80. package/dist/chunks/onboarding.mjs +4 -4
  81. package/dist/chunks/package.mjs +1 -1
  82. package/dist/chunks/paradigm.mjs +1 -1
  83. package/dist/chunks/permission-manager.mjs +2 -2
  84. package/dist/chunks/permissions.mjs +3 -3
  85. package/dist/chunks/persistence-manager.mjs +3 -3
  86. package/dist/chunks/platform.mjs +1 -1
  87. package/dist/chunks/plugin.mjs +2 -2
  88. package/dist/chunks/prompts.mjs +5 -5
  89. package/dist/chunks/providers.mjs +2 -2
  90. package/dist/chunks/quick-actions.mjs +3 -3
  91. package/dist/chunks/quick-provider.mjs +4 -4
  92. package/dist/chunks/quick-setup.mjs +11 -11
  93. package/dist/chunks/remote.mjs +5 -5
  94. package/dist/chunks/session-manager.mjs +1 -1
  95. package/dist/chunks/session.mjs +2 -2
  96. package/dist/chunks/sessions.mjs +1 -1
  97. package/dist/chunks/silent-updater.mjs +1 -1
  98. package/dist/chunks/simple-config.mjs +1 -1
  99. package/dist/chunks/skill2.mjs +3 -3
  100. package/dist/chunks/skills-sync.mjs +5 -5
  101. package/dist/chunks/skills.mjs +3 -3
  102. package/dist/chunks/slash-commands.mjs +3 -3
  103. package/dist/chunks/startup.mjs +1 -1
  104. package/dist/chunks/stats.mjs +2 -2
  105. package/dist/chunks/status.mjs +3 -3
  106. package/dist/chunks/team.mjs +3 -3
  107. package/dist/chunks/thinking.mjs +4 -4
  108. package/dist/chunks/trace.mjs +2 -2
  109. package/dist/chunks/uninstall.mjs +8 -8
  110. package/dist/chunks/update.mjs +12 -12
  111. package/dist/chunks/upgrade-manager.mjs +3 -3
  112. package/dist/chunks/upgrade.mjs +1 -1
  113. package/dist/chunks/version-checker.mjs +4 -4
  114. package/dist/chunks/vim.mjs +3 -3
  115. package/dist/chunks/workflows.mjs +1 -1
  116. package/dist/chunks/wsl.mjs +1 -1
  117. package/dist/chunks/zero-config.mjs +3 -3
  118. package/dist/cli.mjs +195 -185
  119. package/dist/index.mjs +8 -8
  120. package/dist/shared/{ccjk.BJMRY2Ra.mjs → ccjk.8oaxX4iR.mjs} +1 -1
  121. package/dist/shared/{ccjk.8VhZ_dEO.mjs → ccjk.Bq8TqZG_.mjs} +1 -1
  122. package/dist/shared/{ccjk.Bb9Mpi2O.mjs → ccjk.C1hANZTu.mjs} +1 -1
  123. package/dist/shared/{ccjk.KpFl2RDA.mjs → ccjk.C4m4ypdk.mjs} +5 -5
  124. package/dist/shared/{ccjk.I6IuYdc_.mjs → ccjk.CQd7SKNC.mjs} +2 -2
  125. package/dist/shared/{ccjk.Cjj8SVrn.mjs → ccjk.CiKtBUW_.mjs} +1 -1
  126. package/dist/shared/{ccjk.DKBI0lAR.mjs → ccjk.Cv13QsGp.mjs} +3 -3
  127. package/dist/shared/{ccjk.D8BqKRwH.mjs → ccjk.CwsecBYP.mjs} +4 -4
  128. package/dist/shared/{ccjk.DCw2WnZU.mjs → ccjk.D75wivnp.mjs} +1 -1
  129. package/dist/shared/{ccjk.DZ4ehAHg.mjs → ccjk.DDq2hqA5.mjs} +24 -4
  130. package/dist/shared/{ccjk.BIxuVL3_.mjs → ccjk.DGllfVCZ.mjs} +3 -3
  131. package/dist/shared/{ccjk.BWFpnOr3.mjs → ccjk.DZ2LLOa-.mjs} +1 -1
  132. package/dist/shared/{ccjk.eDO9cM5o.mjs → ccjk.DbigonEQ.mjs} +1 -1
  133. package/dist/shared/{ccjk.CIObNAcl.mjs → ccjk.Dhu8ia5S.mjs} +1 -1
  134. package/dist/shared/{ccjk.CHUEFqmw.mjs → ccjk.DlTXS9rP.mjs} +1 -1
  135. package/dist/shared/{ccjk.CxAFICpL.mjs → ccjk.DvAP4XfP.mjs} +4 -4
  136. package/dist/shared/{ccjk.BOu1yav7.mjs → ccjk.KPLeMP-o.mjs} +1 -1
  137. package/dist/shared/{ccjk.D8ZLYSZZ.mjs → ccjk.vO3d1ABk.mjs} +1 -1
  138. package/dist/templates/claude-code/common/settings.json +0 -1
  139. package/package.json +68 -65
  140. package/templates/claude-code/common/settings.json +0 -1
package/dist/cli.mjs CHANGED
@@ -12,7 +12,7 @@ const COMMANDS = [
12
12
  { flags: "--code-type, -T <type>", description: "Code tool type" }
13
13
  ],
14
14
  loader: async () => {
15
- const { showMainMenu } = await import('./chunks/index8.mjs').then(function (n) { return n.i; });
15
+ const { showMainMenu } = await import('./chunks/index10.mjs').then(function (n) { return n.i; });
16
16
  return async (options) => {
17
17
  await showMainMenu({ codeType: options.codeType });
18
18
  };
@@ -394,7 +394,7 @@ const COMMANDS = [
394
394
  ],
395
395
  loader: async () => {
396
396
  return async (_options, projectPath) => {
397
- const { smartGenerateAndInstall } = await import('./chunks/index11.mjs');
397
+ const { smartGenerateAndInstall } = await import('./chunks/index13.mjs');
398
398
  await smartGenerateAndInstall(projectPath);
399
399
  };
400
400
  }
@@ -631,7 +631,7 @@ const COMMANDS = [
631
631
  ],
632
632
  loader: async () => {
633
633
  return async (options, action, args) => {
634
- const { initI18n } = await import('./chunks/index5.mjs');
634
+ const { initI18n } = await import('./chunks/index2.mjs');
635
635
  await initI18n(options.lang || "zh-CN");
636
636
  const actionStr = action;
637
637
  const argsArr = args;
@@ -1014,11 +1014,11 @@ const COMMANDS = [
1014
1014
  return async (options, action, args) => {
1015
1015
  const actionStr = action;
1016
1016
  const argsArr = args || [];
1017
- const { getPostmortemManager } = await import('./chunks/index12.mjs');
1018
- const manager = getPostmortemManager(process__default.cwd());
1017
+ const { getPostmortemManager } = await import('./chunks/index11.mjs');
1018
+ const manager = getPostmortemManager(process.cwd());
1019
1019
  if (actionStr === "init") {
1020
- const ora = (await import('./chunks/index7.mjs')).default;
1021
- const ansis = (await import('./chunks/index2.mjs')).default;
1020
+ const ora = (await import('./chunks/index8.mjs')).default;
1021
+ const ansis = (await import('./chunks/index5.mjs')).default;
1022
1022
  const spinner = ora("Analyzing historical fix commits...").start();
1023
1023
  try {
1024
1024
  const result = await manager.init();
@@ -1032,8 +1032,8 @@ const COMMANDS = [
1032
1032
  console.error(error);
1033
1033
  }
1034
1034
  } else if (actionStr === "generate" || actionStr === "gen") {
1035
- const ora = (await import('./chunks/index7.mjs')).default;
1036
- const ansis = (await import('./chunks/index2.mjs')).default;
1035
+ const ora = (await import('./chunks/index8.mjs')).default;
1036
+ const ansis = (await import('./chunks/index5.mjs')).default;
1037
1037
  const spinner = ora("Analyzing commits...").start();
1038
1038
  try {
1039
1039
  if (options.version) {
@@ -1060,7 +1060,7 @@ const COMMANDS = [
1060
1060
  console.error(error);
1061
1061
  }
1062
1062
  } else if (actionStr === "list" || actionStr === "ls") {
1063
- const ansis = (await import('./chunks/index2.mjs')).default;
1063
+ const ansis = (await import('./chunks/index5.mjs')).default;
1064
1064
  let reports = manager.listReports();
1065
1065
  if (options.severity)
1066
1066
  reports = reports.filter((r) => r.severity === options.severity);
@@ -1085,7 +1085,7 @@ ${severityEmoji[r.severity] || "\u26AA"} ${ansis.bold(r.id)}: ${r.title}`);
1085
1085
  \u2500 Total: ${reports.length} reports \u2500
1086
1086
  `));
1087
1087
  } else if (actionStr === "show") {
1088
- const ansis = (await import('./chunks/index2.mjs')).default;
1088
+ const ansis = (await import('./chunks/index5.mjs')).default;
1089
1089
  const id = argsArr[0];
1090
1090
  if (!id) {
1091
1091
  console.log(ansis.red("Please specify a postmortem ID"));
@@ -1116,8 +1116,8 @@ ${ansis.cyan("AI Directives:")}
1116
1116
  ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1117
1117
  `);
1118
1118
  } else if (actionStr === "check") {
1119
- const ora = (await import('./chunks/index7.mjs')).default;
1120
- const ansis = (await import('./chunks/index2.mjs')).default;
1119
+ const ora = (await import('./chunks/index8.mjs')).default;
1120
+ const ansis = (await import('./chunks/index5.mjs')).default;
1121
1121
  const spinner = ora("Checking code...").start();
1122
1122
  try {
1123
1123
  const result = await manager.checkCode({
@@ -1144,14 +1144,14 @@ ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1144
1144
  }
1145
1145
  console.log(result.passed ? ansis.green("\n\u2705 Check passed\n") : ansis.red("\n\u274C Check failed\n"));
1146
1146
  if (!result.passed && options.ci)
1147
- process__default.exit(1);
1147
+ process.exit(1);
1148
1148
  } catch (error) {
1149
1149
  spinner.fail(ansis.red("Check failed"));
1150
1150
  console.error(error);
1151
1151
  }
1152
1152
  } else if (actionStr === "sync") {
1153
- const ora = (await import('./chunks/index7.mjs')).default;
1154
- const ansis = (await import('./chunks/index2.mjs')).default;
1153
+ const ora = (await import('./chunks/index8.mjs')).default;
1154
+ const ansis = (await import('./chunks/index5.mjs')).default;
1155
1155
  const spinner = ora("Syncing to CLAUDE.md...").start();
1156
1156
  try {
1157
1157
  const result = await manager.syncToClaudeMd();
@@ -1165,7 +1165,7 @@ ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1165
1165
  console.error(error);
1166
1166
  }
1167
1167
  } else if (actionStr === "stats") {
1168
- const ansis = (await import('./chunks/index2.mjs')).default;
1168
+ const ansis = (await import('./chunks/index5.mjs')).default;
1169
1169
  const index = manager.loadIndex();
1170
1170
  if (!index) {
1171
1171
  console.log(ansis.yellow("\nNo statistics available"));
@@ -1214,7 +1214,7 @@ ${ansis.yellow("By Status:")}`);
1214
1214
  loader: async () => {
1215
1215
  const { claudeWrapper } = await import('./chunks/claude-wrapper.mjs');
1216
1216
  return async (options) => {
1217
- const argv = process__default.argv;
1217
+ const argv = process.argv;
1218
1218
  const claudeIndex = argv.findIndex((arg) => arg === "claude");
1219
1219
  const rawArgs = claudeIndex >= 0 ? argv.slice(claudeIndex + 1) : [];
1220
1220
  const args = rawArgs.filter((arg) => arg !== "--debug" && arg !== "--no-wrap");
@@ -1522,7 +1522,7 @@ ${ansis.yellow("By Status:")}`);
1522
1522
  lang: options.lang
1523
1523
  });
1524
1524
  if (exitCode !== 0) {
1525
- process__default.exit(exitCode);
1525
+ process.exit(exitCode);
1526
1526
  }
1527
1527
  };
1528
1528
  }
@@ -1918,7 +1918,7 @@ ${ansis.yellow("By Status:")}`);
1918
1918
  { flags: "--lang, -l <lang>", description: "Display language (zh-CN, en)" }
1919
1919
  ],
1920
1920
  loader: async () => {
1921
- const { addCommand } = await import('./chunks/index13.mjs');
1921
+ const { addCommand } = await import('./chunks/index14.mjs');
1922
1922
  return async (options, source) => {
1923
1923
  await addCommand(source, {
1924
1924
  type: options.type,
@@ -1931,96 +1931,7 @@ ${ansis.yellow("By Status:")}`);
1931
1931
  }
1932
1932
  }
1933
1933
  ];
1934
- let i18nInitialized = false;
1935
- let currentLang = "en";
1936
- async function initI18nLazy(lang) {
1937
- if (i18nInitialized && lang === currentLang)
1938
- return;
1939
- const { initI18n, changeLanguage } = await import('./chunks/index5.mjs');
1940
- if (!i18nInitialized) {
1941
- await initI18n(lang || "en");
1942
- i18nInitialized = true;
1943
- } else if (lang && lang !== currentLang) {
1944
- await changeLanguage(lang);
1945
- }
1946
- currentLang = lang || "en";
1947
- }
1948
- async function resolveLanguage(options) {
1949
- const envLang = process__default.env.CCJK_LANG;
1950
- if (options?.allLang)
1951
- return options.allLang;
1952
- if (options?.lang)
1953
- return options.lang;
1954
- if (envLang)
1955
- return envLang;
1956
- try {
1957
- const { readZcfConfigAsync } = await import('./chunks/ccjk-config.mjs');
1958
- const config = await readZcfConfigAsync();
1959
- if (config?.preferredLang)
1960
- return config.preferredLang;
1961
- } catch {
1962
- }
1963
- if (!options?.skipPrompt) {
1964
- const { selectScriptLanguage } = await import('./chunks/prompts.mjs');
1965
- return await selectScriptLanguage();
1966
- }
1967
- return "en";
1968
- }
1969
- function extractLanguageOptions(options) {
1970
- if (!options || typeof options !== "object")
1971
- return {};
1972
- const obj = options;
1973
- return {
1974
- lang: typeof obj.lang === "string" ? obj.lang : void 0,
1975
- allLang: typeof obj.allLang === "string" ? obj.allLang : void 0,
1976
- skipPrompt: typeof obj.skipPrompt === "boolean" ? obj.skipPrompt : void 0
1977
- };
1978
- }
1979
- async function setupCommandsLazy(cli) {
1980
- const envLang = process__default.env.CCJK_LANG;
1981
- if (envLang) {
1982
- await initI18nLazy(envLang);
1983
- }
1984
- for (const cmd of COMMANDS) {
1985
- const command = cli.command(cmd.name, cmd.description);
1986
- if (cmd.aliases) {
1987
- for (const alias of cmd.aliases) {
1988
- command.alias(alias);
1989
- }
1990
- }
1991
- if (cmd.options) {
1992
- for (const opt of cmd.options) {
1993
- command.option(opt.flags, opt.description);
1994
- }
1995
- }
1996
- if (cmd.name !== "claude") {
1997
- command.option("--lang, -l <lang>", "Display language (zh-CN, en)");
1998
- command.option("--all-lang, -g <lang>", "Set all language parameters");
1999
- command.option("--no-banner", "Skip command discovery banner");
2000
- } else {
2001
- command.allowUnknownOptions();
2002
- }
2003
- command.action(async (...args) => {
2004
- const options = args[args.length - 1];
2005
- if (cmd.name !== "claude") {
2006
- const langOptions = extractLanguageOptions(options);
2007
- const lang = await resolveLanguage(langOptions);
2008
- await initI18nLazy(lang);
2009
- }
2010
- if (cmd.tier === "deprecated" && cmd.deprecationMessage) {
2011
- console.warn(`
2012
- ${cmd.deprecationMessage}
2013
- `);
2014
- }
2015
- const handler = await cmd.loader();
2016
- await handler(options, ...args.slice(0, -1));
2017
- });
2018
- }
2019
- await registerSpecialCommands(cli);
2020
- const { version } = await import('./chunks/package.mjs');
2021
- cli.help((sections) => customizeHelpLazy(sections, version));
2022
- cli.version(version);
2023
- }
1934
+
2024
1935
  async function registerSpecialCommands(cli) {
2025
1936
  cli.command("cloud [resource] [action]", "Cloud sync (skills/agents/plugins)").alias("c").option("--dry-run, -d", "Preview changes").option("--force, -f", "Force sync").action(async (resource, action, options) => {
2026
1937
  const resourceStr = resource || "menu";
@@ -2228,7 +2139,7 @@ function customizeHelpLazy(_sections, version) {
2228
2139
  }
2229
2140
  async function runHealthAlertsCheck() {
2230
2141
  try {
2231
- const args = process__default.argv.slice(2);
2142
+ const args = process.argv.slice(2);
2232
2143
  if (args.includes("--silent")) {
2233
2144
  return;
2234
2145
  }
@@ -2238,7 +2149,7 @@ async function runHealthAlertsCheck() {
2238
2149
  }
2239
2150
  const { join } = await import('./chunks/index9.mjs');
2240
2151
  const dbPath = join(
2241
- process__default.env.HOME || process__default.env.USERPROFILE || ".",
2152
+ process.env.HOME || process.env.USERPROFILE || ".",
2242
2153
  ".ccjk",
2243
2154
  "context",
2244
2155
  "contexts.db"
@@ -2250,7 +2161,7 @@ async function runHealthAlertsCheck() {
2250
2161
  }
2251
2162
  async function showCommandDiscoveryBanner() {
2252
2163
  try {
2253
- const args = process__default.argv.slice(2);
2164
+ const args = process.argv.slice(2);
2254
2165
  if (args.includes("--no-banner")) {
2255
2166
  return;
2256
2167
  }
@@ -2260,15 +2171,16 @@ async function showCommandDiscoveryBanner() {
2260
2171
  const { join } = await import('./chunks/index9.mjs');
2261
2172
  const { existsSync, writeFileSync } = await import('node:fs');
2262
2173
  const markerPath = join(
2263
- process__default.env.HOME || process__default.env.USERPROFILE || ".",
2174
+ process.env.HOME || process.env.USERPROFILE || ".",
2264
2175
  ".ccjk",
2265
2176
  ".banner-shown"
2266
2177
  );
2267
2178
  const isFirstRun = !existsSync(markerPath);
2268
2179
  const showHelp = args.includes("--help") || args.includes("-h");
2269
2180
  if (isFirstRun || showHelp) {
2270
- const envLang = process__default.env.CCJK_LANG;
2181
+ const envLang = process.env.CCJK_LANG;
2271
2182
  if (envLang) {
2183
+ const { initI18nLazy } = await Promise.resolve().then(function () { return cliLazy; });
2272
2184
  await initI18nLazy(envLang);
2273
2185
  }
2274
2186
  const { displayCommandDiscovery } = await import('./chunks/banner.mjs');
@@ -2276,7 +2188,7 @@ async function showCommandDiscoveryBanner() {
2276
2188
  if (isFirstRun) {
2277
2189
  try {
2278
2190
  const { ensureDir } = await import('./chunks/fs-operations.mjs');
2279
- await ensureDir(join(process__default.env.HOME || process__default.env.USERPROFILE || ".", ".ccjk"));
2191
+ await ensureDir(join(process.env.HOME || process.env.USERPROFILE || ".", ".ccjk"));
2280
2192
  writeFileSync(markerPath, (/* @__PURE__ */ new Date()).toISOString());
2281
2193
  } catch {
2282
2194
  }
@@ -2285,74 +2197,15 @@ async function showCommandDiscoveryBanner() {
2285
2197
  } catch {
2286
2198
  }
2287
2199
  }
2288
- async function runLazyCli() {
2289
- const spinner = await showStartupSpinner();
2290
- try {
2291
- try {
2292
- const { runMigration } = await import('./chunks/migrator.mjs');
2293
- runMigration();
2294
- } catch {
2295
- }
2296
- bootstrapCloudServices();
2297
- try {
2298
- const { autoInitBrainHooks } = await import('./chunks/auto-init.mjs');
2299
- await autoInitBrainHooks();
2300
- } catch {
2301
- }
2302
- try {
2303
- const { runAutoFixOnStartup } = await import('./chunks/auto-fix.mjs');
2304
- await runAutoFixOnStartup();
2305
- } catch {
2306
- }
2307
- try {
2308
- const { autoCheckUpdates } = await import('./chunks/auto-upgrade.mjs');
2309
- autoCheckUpdates(true);
2310
- } catch {
2311
- }
2312
- const handled = await tryQuickProviderLaunch();
2313
- if (handled) {
2314
- spinner?.stop();
2315
- return;
2316
- }
2317
- const args = process__default.argv.slice(2);
2318
- if (args.length > 0) {
2319
- if (args[0].startsWith("/")) {
2320
- spinner?.stop();
2321
- const { executeSlashCommand } = await import('./chunks/slash-commands.mjs');
2322
- const slashHandled = await executeSlashCommand(args.join(" "));
2323
- if (slashHandled) {
2324
- return;
2325
- }
2326
- } else {
2327
- const { handleIntentRecognition } = await import('./chunks/intent-engine.mjs');
2328
- const intentHandled = await handleIntentRecognition();
2329
- if (intentHandled) {
2330
- spinner?.stop();
2331
- return;
2332
- }
2333
- }
2334
- }
2335
- const cac = (await import('./chunks/index10.mjs')).default;
2336
- const cli = cac("ccjk");
2337
- await setupCommandsLazy(cli);
2338
- spinner?.stop();
2339
- await runHealthAlertsCheck();
2340
- await showCommandDiscoveryBanner();
2341
- cli.parse();
2342
- } catch (error) {
2343
- spinner?.stop();
2344
- throw error;
2345
- }
2346
- }
2347
2200
  async function showStartupSpinner() {
2348
- const args = process__default.argv.slice(2);
2201
+ const args = process.argv.slice(2);
2349
2202
  const quickFlags = ["--help", "-h", "--version", "-v", "-V"];
2350
2203
  if (args.some((arg) => quickFlags.includes(arg))) {
2351
2204
  return null;
2352
2205
  }
2353
2206
  try {
2354
- const ora = (await import('./chunks/index7.mjs')).default;
2355
- const isZh = process__default.env.CCJK_LANG === "zh-CN" || process__default.env.LANG?.includes("zh");
2207
+ const ora = (await import('./chunks/index8.mjs')).default;
2208
+ const isZh = process.env.CCJK_LANG === "zh-CN" || process.env.LANG?.includes("zh");
2356
2209
  const spinner = ora({
2357
2210
  text: isZh ? "\u6B63\u5728\u542F\u52A8 CCJK..." : "Starting CCJK...",
2358
2211
  spinner: "dots"
@@ -2364,17 +2217,17 @@ async function showStartupSpinner() {
2364
2217
  }
2365
2218
  };
2366
2219
  } catch {
2367
- const isZh = process__default.env.CCJK_LANG === "zh-CN" || process__default.env.LANG?.includes("zh");
2368
- process__default.stdout.write(isZh ? "\u6B63\u5728\u542F\u52A8 CCJK...\r" : "Starting CCJK...\r");
2220
+ const isZh = process.env.CCJK_LANG === "zh-CN" || process.env.LANG?.includes("zh");
2221
+ process.stdout.write(isZh ? "\u6B63\u5728\u542F\u52A8 CCJK...\r" : "Starting CCJK...\r");
2369
2222
  return {
2370
2223
  stop: () => {
2371
- process__default.stdout.write("\x1B[2K\r");
2224
+ process.stdout.write("\x1B[2K\r");
2372
2225
  }
2373
2226
  };
2374
2227
  }
2375
2228
  }
2376
2229
  async function tryQuickProviderLaunch() {
2377
- const args = process__default.argv.slice(2);
2230
+ const args = process.argv.slice(2);
2378
2231
  if (args.length === 0 || args[0].startsWith("-")) {
2379
2232
  return false;
2380
2233
  }
@@ -2389,7 +2242,7 @@ async function tryQuickProviderLaunch() {
2389
2242
  const { quickProviderLaunch } = await import('./chunks/quick-provider.mjs');
2390
2243
  try {
2391
2244
  const handled = await quickProviderLaunch(firstArg, {
2392
- lang: process__default.env.CCJK_LANG
2245
+ lang: process.env.CCJK_LANG
2393
2246
  });
2394
2247
  if (handled) {
2395
2248
  return true;
@@ -2400,7 +2253,7 @@ async function tryQuickProviderLaunch() {
2400
2253
  }
2401
2254
  }
2402
2255
  function bootstrapCloudServices() {
2403
- const args = process__default.argv.slice(2);
2256
+ const args = process.argv.slice(2);
2404
2257
  const isInteractiveMenu = args.length === 0 || args.length === 1 && ["-l", "--lang"].includes(args[0]);
2405
2258
  if (isInteractiveMenu) {
2406
2259
  return;
@@ -2413,7 +2266,7 @@ function bootstrapCloudServices() {
2413
2266
  await autoBootstrap();
2414
2267
  const { autoUpgrade } = await import('./chunks/silent-updater.mjs');
2415
2268
  await autoUpgrade();
2416
- const { activateSuperpowers } = await import('./chunks/index14.mjs');
2269
+ const { activateSuperpowers } = await import('./chunks/index15.mjs');
2417
2270
  await activateSuperpowers("zh-CN");
2418
2271
  const { setupBrainHook } = await import('./chunks/cli-hook.mjs');
2419
2272
  await setupBrainHook({
@@ -2427,4 +2280,161 @@ function bootstrapCloudServices() {
2427
2280
  });
2428
2281
  }
2429
2282
 
2283
+ let i18nInitialized = false;
2284
+ let currentLang = "en";
2285
+ async function initI18nLazy(lang) {
2286
+ if (i18nInitialized && lang === currentLang)
2287
+ return;
2288
+ const { initI18n, changeLanguage } = await import('./chunks/index2.mjs');
2289
+ if (!i18nInitialized) {
2290
+ await initI18n(lang || "en");
2291
+ i18nInitialized = true;
2292
+ } else if (lang && lang !== currentLang) {
2293
+ await changeLanguage(lang);
2294
+ }
2295
+ currentLang = lang || "en";
2296
+ }
2297
+ async function resolveLanguage(options) {
2298
+ const envLang = process__default.env.CCJK_LANG;
2299
+ if (options?.allLang)
2300
+ return options.allLang;
2301
+ if (options?.lang)
2302
+ return options.lang;
2303
+ if (envLang)
2304
+ return envLang;
2305
+ try {
2306
+ const { readZcfConfigAsync } = await import('./chunks/ccjk-config.mjs');
2307
+ const config = await readZcfConfigAsync();
2308
+ if (config?.preferredLang)
2309
+ return config.preferredLang;
2310
+ } catch {
2311
+ }
2312
+ if (!options?.skipPrompt) {
2313
+ const { selectScriptLanguage } = await import('./chunks/prompts.mjs');
2314
+ return await selectScriptLanguage();
2315
+ }
2316
+ return "en";
2317
+ }
2318
+ function extractLanguageOptions(options) {
2319
+ if (!options || typeof options !== "object")
2320
+ return {};
2321
+ const obj = options;
2322
+ return {
2323
+ lang: typeof obj.lang === "string" ? obj.lang : void 0,
2324
+ allLang: typeof obj.allLang === "string" ? obj.allLang : void 0,
2325
+ skipPrompt: typeof obj.skipPrompt === "boolean" ? obj.skipPrompt : void 0
2326
+ };
2327
+ }
2328
+ async function setupCommandsLazy(cli) {
2329
+ const envLang = process__default.env.CCJK_LANG;
2330
+ if (envLang) {
2331
+ await initI18nLazy(envLang);
2332
+ }
2333
+ for (const cmd of COMMANDS) {
2334
+ const command = cli.command(cmd.name, cmd.description);
2335
+ if (cmd.aliases) {
2336
+ for (const alias of cmd.aliases) {
2337
+ command.alias(alias);
2338
+ }
2339
+ }
2340
+ if (cmd.options) {
2341
+ for (const opt of cmd.options) {
2342
+ command.option(opt.flags, opt.description);
2343
+ }
2344
+ }
2345
+ if (cmd.name !== "claude") {
2346
+ command.option("--lang, -l <lang>", "Display language (zh-CN, en)");
2347
+ command.option("--all-lang, -g <lang>", "Set all language parameters");
2348
+ command.option("--no-banner", "Skip command discovery banner");
2349
+ } else {
2350
+ command.allowUnknownOptions();
2351
+ }
2352
+ command.action(async (...args) => {
2353
+ const options = args[args.length - 1];
2354
+ if (cmd.name !== "claude") {
2355
+ const langOptions = extractLanguageOptions(options);
2356
+ const lang = await resolveLanguage(langOptions);
2357
+ await initI18nLazy(lang);
2358
+ }
2359
+ if (cmd.tier === "deprecated" && cmd.deprecationMessage) {
2360
+ console.warn(`
2361
+ ${cmd.deprecationMessage}
2362
+ `);
2363
+ }
2364
+ const handler = await cmd.loader();
2365
+ await handler(options, ...args.slice(0, -1));
2366
+ });
2367
+ }
2368
+ await registerSpecialCommands(cli);
2369
+ const { version } = await import('./chunks/package.mjs');
2370
+ cli.help((sections) => customizeHelpLazy(sections, version));
2371
+ cli.version(version);
2372
+ }
2373
+ async function runLazyCli() {
2374
+ const spinner = await showStartupSpinner();
2375
+ try {
2376
+ try {
2377
+ const { runMigration } = await import('./chunks/migrator.mjs');
2378
+ runMigration();
2379
+ } catch {
2380
+ }
2381
+ bootstrapCloudServices();
2382
+ try {
2383
+ const { autoInitBrainHooks } = await import('./chunks/auto-init.mjs');
2384
+ await autoInitBrainHooks();
2385
+ } catch {
2386
+ }
2387
+ try {
2388
+ const { runAutoFixOnStartup } = await import('./chunks/auto-fix.mjs');
2389
+ await runAutoFixOnStartup();
2390
+ } catch {
2391
+ }
2392
+ try {
2393
+ const { autoCheckUpdates } = await import('./chunks/auto-upgrade.mjs');
2394
+ autoCheckUpdates(true);
2395
+ } catch {
2396
+ }
2397
+ const handled = await tryQuickProviderLaunch();
2398
+ if (handled) {
2399
+ spinner?.stop();
2400
+ return;
2401
+ }
2402
+ const args = process__default.argv.slice(2);
2403
+ if (args.length > 0) {
2404
+ if (args[0].startsWith("/")) {
2405
+ spinner?.stop();
2406
+ const { executeSlashCommand } = await import('./chunks/slash-commands.mjs');
2407
+ const slashHandled = await executeSlashCommand(args.join(" "));
2408
+ if (slashHandled) {
2409
+ return;
2410
+ }
2411
+ } else {
2412
+ const { handleIntentRecognition } = await import('./chunks/intent-engine.mjs');
2413
+ const intentHandled = await handleIntentRecognition();
2414
+ if (intentHandled) {
2415
+ spinner?.stop();
2416
+ return;
2417
+ }
2418
+ }
2419
+ }
2420
+ const cac = (await import('./chunks/index7.mjs')).default;
2421
+ const cli = cac("ccjk");
2422
+ await setupCommandsLazy(cli);
2423
+ spinner?.stop();
2424
+ await runHealthAlertsCheck();
2425
+ await showCommandDiscoveryBanner();
2426
+ cli.parse();
2427
+ } catch (error) {
2428
+ spinner?.stop();
2429
+ throw error;
2430
+ }
2431
+ }
2432
+
2433
+ const cliLazy = {
2434
+ __proto__: null,
2435
+ initI18nLazy: initI18nLazy,
2436
+ runLazyCli: runLazyCli,
2437
+ setupCommandsLazy: setupCommandsLazy
2438
+ };
2439
+
2430
2440
  runLazyCli().catch(console.error);
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- export { P as ProjectAnalyzer, T as TemplatesClient, d as analyzeDependencies, a as analyzeProject, h as batchAnalyze, b as createTemplatesClient, e as detectProject, f as detectProjectType, g as getTemplatesClient } from './shared/ccjk.DKBI0lAR.mjs';
2
- import { a as createCloudClient } from './shared/ccjk.CIObNAcl.mjs';
3
- export { C as CachedCloudClient, b as CloudCache, d as CloudClient, F as FallbackCloudClient, R as RetryableCloudClient, T as TelemetryReporter, c as createCompleteCloudClient, g as getTelemetry, i as initializeTelemetry, r as retryUtils, s as stopTelemetry, t as telemetryUtils, e as trackEvent, w as withRetry } from './shared/ccjk.CIObNAcl.mjs';
1
+ export { P as ProjectAnalyzer, T as TemplatesClient, d as analyzeDependencies, a as analyzeProject, h as batchAnalyze, b as createTemplatesClient, e as detectProject, f as detectProjectType, g as getTemplatesClient } from './shared/ccjk.Cv13QsGp.mjs';
2
+ import { a as createCloudClient } from './shared/ccjk.Dhu8ia5S.mjs';
3
+ export { C as CachedCloudClient, b as CloudCache, d as CloudClient, F as FallbackCloudClient, R as RetryableCloudClient, T as TelemetryReporter, c as createCompleteCloudClient, g as getTelemetry, i as initializeTelemetry, r as retryUtils, s as stopTelemetry, t as telemetryUtils, e as trackEvent, w as withRetry } from './shared/ccjk.Dhu8ia5S.mjs';
4
4
  import { CLOUD_ENDPOINTS } from './chunks/constants.mjs';
5
- export { C as CloudError, a as CloudErrorCode, b as CloudErrorFactory, f as formatErrorForLogging, g as getRetryDelay, h as handleCloudError, i as isAuthError, c as isRateLimitError, d as isRetryableError, e as isRetryableErrorCode } from './shared/ccjk.D8ZLYSZZ.mjs';
5
+ export { C as CloudError, a as CloudErrorCode, b as CloudErrorFactory, f as formatErrorForLogging, g as getRetryDelay, h as handleCloudError, i as isAuthError, c as isRateLimitError, d as isRetryableError, e as isRetryableErrorCode } from './shared/ccjk.vO3d1ABk.mjs';
6
6
  import { e as extractString } from './shared/ccjk.C2jHOZVP.mjs';
7
7
  export { a as extractDisplayName, i as i18nHelpers, n as normalizeRecommendation, b as normalizeRecommendations } from './shared/ccjk.C2jHOZVP.mjs';
8
8
  import { exec, execSync, spawn } from 'node:child_process';
@@ -11,11 +11,11 @@ import * as os from 'node:os';
11
11
  import { homedir } from 'node:os';
12
12
  import * as path from 'node:path';
13
13
  import { promisify } from 'node:util';
14
- import a from './chunks/index2.mjs';
14
+ import a from './chunks/index5.mjs';
15
15
  import { g as getRuntimeVersion } from './shared/ccjk.gDEDGD_t.mjs';
16
16
  import { j as join$1 } from './shared/ccjk.bQ7Dh1g4.mjs';
17
17
  export { j as config } from './chunks/config.mjs';
18
- export { a as loggerUtils } from './shared/ccjk.BJMRY2Ra.mjs';
18
+ export { a as loggerUtils } from './shared/ccjk.8oaxX4iR.mjs';
19
19
  export { p as platform } from './chunks/platform.mjs';
20
20
  import { Transform } from 'node:stream';
21
21
  import { pipeline } from 'node:stream/promises';
@@ -24,11 +24,11 @@ import 'tinyglobby';
24
24
  import './shared/ccjk.BBtCGd_g.mjs';
25
25
  import 'node:url';
26
26
  import 'node:crypto';
27
- import './chunks/index5.mjs';
27
+ import './chunks/index2.mjs';
28
28
  import 'node:process';
29
29
  import './shared/ccjk.BAGoDD49.mjs';
30
30
  import './shared/ccjk.RyizuzOI.mjs';
31
- import './chunks/index3.mjs';
31
+ import './chunks/index6.mjs';
32
32
  import 'node:readline';
33
33
  import 'stream';
34
34
  import 'node:tty';
@@ -1,4 +1,4 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index5.mjs';
2
2
 
3
3
  class Logger {
4
4
  level;
@@ -3,7 +3,7 @@ import { existsSync } from 'node:fs';
3
3
  import { readFile } from 'node:fs/promises';
4
4
  import { homedir } from 'node:os';
5
5
  import { promisify } from 'node:util';
6
- import { i18n } from '../chunks/index5.mjs';
6
+ import { i18n } from '../chunks/index2.mjs';
7
7
  import { j as join } from './ccjk.bQ7Dh1g4.mjs';
8
8
 
9
9
  const execAsync = promisify(exec);
@@ -1,4 +1,4 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index5.mjs';
2
2
 
3
3
  const EVENT_LABELS = {
4
4
  commit: "your changes",
@@ -1,12 +1,12 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
3
- import { h as getMcpService, i as dynamicMcpRegistry, a as readCodexConfig, j as applyCodexPlatformCommand, w as writeCodexConfig, M as MCP_SERVICE_CONFIGS } from '../chunks/codex.mjs';
1
+ import a from '../chunks/index5.mjs';
2
+ import { i as inquirer } from '../chunks/index6.mjs';
3
+ import { h as getMcpService, i as dynamicMcpRegistry, r as readCodexConfig, j as applyCodexPlatformCommand, w as writeCodexConfig, M as MCP_SERVICE_CONFIGS } from '../chunks/codex.mjs';
4
4
  import { SETTINGS_FILE, CLAUDE_DIR, ClAUDE_CONFIG_FILE, CODEX_CONFIG_FILE } from '../chunks/constants.mjs';
5
5
  import { exists, ensureDir } from '../chunks/fs-operations.mjs';
6
6
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
7
7
  import { d as deepMerge, r as readMcpConfig, b as buildMcpServerConfig, w as writeMcpConfig } from '../chunks/claude-config.mjs';
8
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
9
- import { k as isWindows, l as getSystemRoot } from '../chunks/platform.mjs';
8
+ import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
9
+ import { k as isWindows, m as getSystemRoot } from '../chunks/platform.mjs';
10
10
 
11
11
  function readClaudeConfig(configPath = SETTINGS_FILE) {
12
12
  try {
@@ -1,5 +1,5 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
1
+ import a from '../chunks/index5.mjs';
2
+ import { i as inquirer } from '../chunks/index6.mjs';
3
3
  import { b as getPresetById, c as getRecommendedPresets, a as getChinesePresets, g as getAllPresets } from './ccjk.DopKzo3z.mjs';
4
4
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
@@ -1,6 +1,6 @@
1
1
  import { a as detectCodeToolType } from '../chunks/smart-defaults.mjs';
2
2
  import { DEFAULT_CODE_TOOL_TYPE } from '../chunks/constants.mjs';
3
- import { i18n } from '../chunks/index5.mjs';
3
+ import { i18n } from '../chunks/index2.mjs';
4
4
  import { readZcfConfigAsync } from '../chunks/ccjk-config.mjs';
5
5
 
6
6
  const CODE_TYPE_ABBREVIATIONS = {