ccjk 12.2.2 → 12.3.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 (135) 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 +4 -5
  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-fixer.mjs +3 -3
  9. package/dist/chunks/auto-init.mjs +3 -3
  10. package/dist/chunks/auto-updater.mjs +9 -9
  11. package/dist/chunks/banner.mjs +2 -2
  12. package/dist/chunks/boost.mjs +4 -4
  13. package/dist/chunks/ccjk-agents.mjs +3 -3
  14. package/dist/chunks/ccjk-all.mjs +6 -6
  15. package/dist/chunks/ccjk-config.mjs +2 -2
  16. package/dist/chunks/ccjk-hooks.mjs +4 -4
  17. package/dist/chunks/ccjk-mcp.mjs +5 -5
  18. package/dist/chunks/ccjk-setup.mjs +5 -5
  19. package/dist/chunks/ccjk-skills.mjs +5 -5
  20. package/dist/chunks/ccr.mjs +14 -14
  21. package/dist/chunks/ccu.mjs +2 -2
  22. package/dist/chunks/check-updates.mjs +6 -6
  23. package/dist/chunks/claude-code-config-manager.mjs +5 -4
  24. package/dist/chunks/claude-code-incremental-manager.mjs +6 -6
  25. package/dist/chunks/claude-config.mjs +1 -1
  26. package/dist/chunks/claude-wrapper.mjs +1 -1
  27. package/dist/chunks/cli-hook.mjs +9 -10
  28. package/dist/chunks/codex-config-switch.mjs +6 -6
  29. package/dist/chunks/codex-provider-manager.mjs +6 -6
  30. package/dist/chunks/codex-uninstaller.mjs +2 -2
  31. package/dist/chunks/codex.mjs +5 -5
  32. package/dist/chunks/commands.mjs +2 -2
  33. package/dist/chunks/commands2.mjs +1 -1
  34. package/dist/chunks/commit.mjs +2 -2
  35. package/dist/chunks/completion.mjs +2 -2
  36. package/dist/chunks/config-consolidator.mjs +2 -2
  37. package/dist/chunks/config-switch.mjs +7 -7
  38. package/dist/chunks/config.mjs +3 -3
  39. package/dist/chunks/config2.mjs +4 -4
  40. package/dist/chunks/config3.mjs +3 -3
  41. package/dist/chunks/constants.mjs +1 -1
  42. package/dist/chunks/context-opt.mjs +442 -0
  43. package/dist/chunks/convoy-manager.mjs +355 -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/health-alerts.mjs +530 -4
  48. package/dist/chunks/help.mjs +1 -1
  49. package/dist/chunks/index.mjs +0 -23
  50. package/dist/chunks/index10.mjs +571 -634
  51. package/dist/chunks/index11.mjs +569 -1061
  52. package/dist/chunks/index12.mjs +1076 -914
  53. package/dist/chunks/index13.mjs +951 -135
  54. package/dist/chunks/index14.mjs +184 -209
  55. package/dist/chunks/index15.mjs +218 -0
  56. package/dist/chunks/index2.mjs +24 -19
  57. package/dist/chunks/index3.mjs +12 -19085
  58. package/dist/chunks/index4.mjs +19092 -16
  59. package/dist/chunks/index5.mjs +16 -7602
  60. package/dist/chunks/index6.mjs +7590 -159
  61. package/dist/chunks/index7.mjs +171 -1602
  62. package/dist/chunks/index8.mjs +1602 -19
  63. package/dist/chunks/index9.mjs +15 -612
  64. package/dist/chunks/init.mjs +13 -13
  65. package/dist/chunks/installer.mjs +5 -5
  66. package/dist/chunks/installer2.mjs +1 -1
  67. package/dist/chunks/interview.mjs +4 -4
  68. package/dist/chunks/manager.mjs +1 -1
  69. package/dist/chunks/marketplace.mjs +2 -2
  70. package/dist/chunks/mcp-cli.mjs +9 -9
  71. package/dist/chunks/mcp.mjs +7 -7
  72. package/dist/chunks/memory.mjs +3 -3
  73. package/dist/chunks/menu-hierarchical.mjs +14 -14
  74. package/dist/chunks/menu.mjs +12 -12
  75. package/dist/chunks/metrics-display.mjs +1 -1
  76. package/dist/chunks/migrator.mjs +1 -1
  77. package/dist/chunks/monitor.mjs +2 -2
  78. package/dist/chunks/notification.mjs +4 -4
  79. package/dist/chunks/onboarding-wizard.mjs +2 -2
  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/plugin.mjs +2 -2
  87. package/dist/chunks/prompts.mjs +5 -5
  88. package/dist/chunks/providers.mjs +2 -2
  89. package/dist/chunks/quick-actions.mjs +2 -2
  90. package/dist/chunks/quick-provider.mjs +6 -5
  91. package/dist/chunks/quick-setup.mjs +10 -10
  92. package/dist/chunks/remote.mjs +5 -5
  93. package/dist/chunks/session.mjs +2 -2
  94. package/dist/chunks/sessions.mjs +1 -1
  95. package/dist/chunks/silent-updater.mjs +1 -1
  96. package/dist/chunks/simple-config.mjs +1 -1
  97. package/dist/chunks/skill2.mjs +3 -3
  98. package/dist/chunks/skills-sync.mjs +4 -4
  99. package/dist/chunks/skills.mjs +3 -3
  100. package/dist/chunks/slash-commands.mjs +3 -3
  101. package/dist/chunks/startup.mjs +1 -1
  102. package/dist/chunks/stats.mjs +2 -2
  103. package/dist/chunks/status.mjs +2 -2
  104. package/dist/chunks/team.mjs +3 -3
  105. package/dist/chunks/thinking.mjs +4 -4
  106. package/dist/chunks/trace.mjs +2 -2
  107. package/dist/chunks/uninstall.mjs +8 -8
  108. package/dist/chunks/update.mjs +9 -9
  109. package/dist/chunks/upgrade-manager.mjs +3 -3
  110. package/dist/chunks/version-checker.mjs +4 -4
  111. package/dist/chunks/vim.mjs +3 -3
  112. package/dist/chunks/workflows.mjs +1 -1
  113. package/dist/chunks/wsl.mjs +1 -1
  114. package/dist/chunks/zero-config.mjs +3 -3
  115. package/dist/cli.mjs +56 -23
  116. package/dist/index.mjs +5 -5
  117. package/dist/shared/{ccjk.CCcQfbni.mjs → ccjk.B1TwPltj.mjs} +1 -1
  118. package/dist/shared/{ccjk.CePkJq2S.mjs → ccjk.BfIpomdz.mjs} +1 -1
  119. package/dist/shared/{ccjk.D8ZLYSZZ.mjs → ccjk.CXzjn01x.mjs} +1 -1
  120. package/dist/shared/{ccjk.Cjj8SVrn.mjs → ccjk.Cot9p9_n.mjs} +1 -1
  121. package/dist/shared/{ccjk.CvChMYvB.mjs → ccjk.DCw2WnZU.mjs} +1 -1
  122. package/dist/shared/{ccjk.DG_o24cZ.mjs → ccjk.DJdmgr2d.mjs} +1 -1
  123. package/dist/shared/{ccjk.BIxuVL3_.mjs → ccjk.DcKLglJQ.mjs} +2 -2
  124. package/dist/shared/{ccjk.DLLw-h4Y.mjs → ccjk.DfXjf8EC.mjs} +2 -2
  125. package/dist/shared/{ccjk.KpFl2RDA.mjs → ccjk.DpstNaeR.mjs} +3 -3
  126. package/dist/shared/{ccjk.DOBWBkFR.mjs → ccjk.XsJWJuQP.mjs} +5 -5
  127. package/dist/shared/{ccjk._dESH4Rk.mjs → ccjk.dYDLfmph.mjs} +1 -1
  128. package/dist/shared/{ccjk.DS7UESmF.mjs → ccjk.hrRv8G6j.mjs} +4 -4
  129. package/dist/shared/{ccjk.BWFpnOr3.mjs → ccjk.mJpVRDZ8.mjs} +1 -1
  130. package/dist/templates/claude-code/common/settings.json +3 -1
  131. package/package.json +20 -18
  132. package/templates/claude-code/common/settings.json +3 -1
  133. package/dist/chunks/context-loader.mjs +0 -351
  134. package/dist/chunks/context.mjs +0 -372
  135. package/dist/chunks/health-check.mjs +0 -532
package/dist/cli.mjs CHANGED
@@ -373,7 +373,7 @@ const COMMANDS = [
373
373
  ],
374
374
  loader: async () => {
375
375
  return async (_options, projectPath) => {
376
- const { smartGenerateAndInstall } = await import('./chunks/index10.mjs');
376
+ const { smartGenerateAndInstall } = await import('./chunks/index11.mjs');
377
377
  await smartGenerateAndInstall(projectPath);
378
378
  };
379
379
  }
@@ -491,6 +491,39 @@ const COMMANDS = [
491
491
  };
492
492
  }
493
493
  },
494
+ {
495
+ name: "context-opt [action] [...args]",
496
+ description: "Context optimization tools (stats/search/decay/config)",
497
+ tier: "extended",
498
+ options: [
499
+ { flags: "--top-k, -k <number>", description: "Number of search results" }
500
+ ],
501
+ loader: async () => {
502
+ return async (options, action, args) => {
503
+ const actionStr = action;
504
+ const argsArr = args;
505
+ if (actionStr === "stats") {
506
+ const { contextOptStats } = await import('./chunks/context-opt.mjs');
507
+ await contextOptStats();
508
+ } else if (actionStr === "search") {
509
+ const { contextOptSearch } = await import('./chunks/context-opt.mjs');
510
+ await contextOptSearch(argsArr[0] || "", options);
511
+ } else if (actionStr === "decay") {
512
+ const { contextOptDecay } = await import('./chunks/context-opt.mjs');
513
+ await contextOptDecay();
514
+ } else if (actionStr === "config") {
515
+ const { contextOptConfig } = await import('./chunks/context-opt.mjs');
516
+ await contextOptConfig();
517
+ } else {
518
+ console.log("\n\u{1F9E0} Context Optimization Commands:");
519
+ console.log(" ccjk context-opt stats - Show memory tree statistics");
520
+ console.log(" ccjk context-opt search - Search memory tree");
521
+ console.log(" ccjk context-opt decay - Run confidence decay");
522
+ console.log(" ccjk context-opt config - Show configuration\n");
523
+ }
524
+ };
525
+ }
526
+ },
494
527
  {
495
528
  name: "vim",
496
529
  description: "Vim mode configuration and keybindings",
@@ -577,7 +610,7 @@ const COMMANDS = [
577
610
  ],
578
611
  loader: async () => {
579
612
  return async (options, action, args) => {
580
- const { initI18n } = await import('./chunks/index5.mjs');
613
+ const { initI18n } = await import('./chunks/index6.mjs');
581
614
  await initI18n(options.lang || "zh-CN");
582
615
  const actionStr = action;
583
616
  const argsArr = args;
@@ -816,7 +849,7 @@ const COMMANDS = [
816
849
  { flags: "--recover", description: "Attempt database recovery" }
817
850
  ],
818
851
  loader: async () => {
819
- const { contextCommand } = await import('./chunks/context.mjs');
852
+ const { contextCommand } = await import('./chunks/index.mjs');
820
853
  return async (options) => {
821
854
  await contextCommand(options);
822
855
  };
@@ -936,11 +969,11 @@ const COMMANDS = [
936
969
  return async (options, action, args) => {
937
970
  const actionStr = action;
938
971
  const argsArr = args || [];
939
- const { getPostmortemManager } = await import('./chunks/index11.mjs');
972
+ const { getPostmortemManager } = await import('./chunks/index12.mjs');
940
973
  const manager = getPostmortemManager(process__default.cwd());
941
974
  if (actionStr === "init") {
942
- const ora = (await import('./chunks/index7.mjs')).default;
943
- const ansis = (await import('./chunks/index2.mjs')).default;
975
+ const ora = (await import('./chunks/index8.mjs')).default;
976
+ const ansis = (await import('./chunks/index3.mjs')).default;
944
977
  const spinner = ora("Analyzing historical fix commits...").start();
945
978
  try {
946
979
  const result = await manager.init();
@@ -954,8 +987,8 @@ const COMMANDS = [
954
987
  console.error(error);
955
988
  }
956
989
  } else if (actionStr === "generate" || actionStr === "gen") {
957
- const ora = (await import('./chunks/index7.mjs')).default;
958
- const ansis = (await import('./chunks/index2.mjs')).default;
990
+ const ora = (await import('./chunks/index8.mjs')).default;
991
+ const ansis = (await import('./chunks/index3.mjs')).default;
959
992
  const spinner = ora("Analyzing commits...").start();
960
993
  try {
961
994
  if (options.version) {
@@ -982,7 +1015,7 @@ const COMMANDS = [
982
1015
  console.error(error);
983
1016
  }
984
1017
  } else if (actionStr === "list" || actionStr === "ls") {
985
- const ansis = (await import('./chunks/index2.mjs')).default;
1018
+ const ansis = (await import('./chunks/index3.mjs')).default;
986
1019
  let reports = manager.listReports();
987
1020
  if (options.severity)
988
1021
  reports = reports.filter((r) => r.severity === options.severity);
@@ -1007,7 +1040,7 @@ ${severityEmoji[r.severity] || "\u26AA"} ${ansis.bold(r.id)}: ${r.title}`);
1007
1040
  \u2500 Total: ${reports.length} reports \u2500
1008
1041
  `));
1009
1042
  } else if (actionStr === "show") {
1010
- const ansis = (await import('./chunks/index2.mjs')).default;
1043
+ const ansis = (await import('./chunks/index3.mjs')).default;
1011
1044
  const id = argsArr[0];
1012
1045
  if (!id) {
1013
1046
  console.log(ansis.red("Please specify a postmortem ID"));
@@ -1038,8 +1071,8 @@ ${ansis.cyan("AI Directives:")}
1038
1071
  ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1039
1072
  `);
1040
1073
  } else if (actionStr === "check") {
1041
- const ora = (await import('./chunks/index7.mjs')).default;
1042
- const ansis = (await import('./chunks/index2.mjs')).default;
1074
+ const ora = (await import('./chunks/index8.mjs')).default;
1075
+ const ansis = (await import('./chunks/index3.mjs')).default;
1043
1076
  const spinner = ora("Checking code...").start();
1044
1077
  try {
1045
1078
  const result = await manager.checkCode({
@@ -1072,8 +1105,8 @@ ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1072
1105
  console.error(error);
1073
1106
  }
1074
1107
  } else if (actionStr === "sync") {
1075
- const ora = (await import('./chunks/index7.mjs')).default;
1076
- const ansis = (await import('./chunks/index2.mjs')).default;
1108
+ const ora = (await import('./chunks/index8.mjs')).default;
1109
+ const ansis = (await import('./chunks/index3.mjs')).default;
1077
1110
  const spinner = ora("Syncing to CLAUDE.md...").start();
1078
1111
  try {
1079
1112
  const result = await manager.syncToClaudeMd();
@@ -1087,7 +1120,7 @@ ${report.aiDirectives.map((d) => ` \u2022 ${d}`).join("\n")}
1087
1120
  console.error(error);
1088
1121
  }
1089
1122
  } else if (actionStr === "stats") {
1090
- const ansis = (await import('./chunks/index2.mjs')).default;
1123
+ const ansis = (await import('./chunks/index3.mjs')).default;
1091
1124
  const index = manager.loadIndex();
1092
1125
  if (!index) {
1093
1126
  console.log(ansis.yellow("\nNo statistics available"));
@@ -1481,7 +1514,7 @@ ${ansis.yellow("By Status:")}`);
1481
1514
  { flags: "--clear", description: "Clear context cache" }
1482
1515
  ],
1483
1516
  loader: async () => {
1484
- const { contextCommand } = await import('./chunks/context.mjs');
1517
+ const { contextCommand } = await import('./chunks/index.mjs');
1485
1518
  return async (options) => {
1486
1519
  await contextCommand({
1487
1520
  show: options.show,
@@ -1757,7 +1790,7 @@ ${ansis.yellow("By Status:")}`);
1757
1790
  { flags: "--lang, -l <lang>", description: "Display language (zh-CN, en)" }
1758
1791
  ],
1759
1792
  loader: async () => {
1760
- const { addCommand } = await import('./chunks/index12.mjs');
1793
+ const { addCommand } = await import('./chunks/index13.mjs');
1761
1794
  return async (options, source) => {
1762
1795
  await addCommand(source, {
1763
1796
  type: options.type,
@@ -1775,7 +1808,7 @@ let currentLang = "en";
1775
1808
  async function initI18nLazy(lang) {
1776
1809
  if (i18nInitialized && lang === currentLang)
1777
1810
  return;
1778
- const { initI18n, changeLanguage } = await import('./chunks/index5.mjs');
1811
+ const { initI18n, changeLanguage } = await import('./chunks/index6.mjs');
1779
1812
  if (!i18nInitialized) {
1780
1813
  await initI18n(lang || "en");
1781
1814
  i18nInitialized = true;
@@ -2077,7 +2110,7 @@ async function runHealthAlertsCheck() {
2077
2110
  if (!shouldCheck) {
2078
2111
  return;
2079
2112
  }
2080
- const { join } = await import('./chunks/index8.mjs');
2113
+ const { join } = await import('./chunks/index9.mjs');
2081
2114
  const dbPath = join(
2082
2115
  process__default.env.HOME || process__default.env.USERPROFILE || ".",
2083
2116
  ".ccjk",
@@ -2098,7 +2131,7 @@ async function showCommandDiscoveryBanner() {
2098
2131
  if (args.length > 0 && !args[0].startsWith("-")) {
2099
2132
  return;
2100
2133
  }
2101
- const { join } = await import('./chunks/index8.mjs');
2134
+ const { join } = await import('./chunks/index9.mjs');
2102
2135
  const { existsSync, writeFileSync } = await import('node:fs');
2103
2136
  const markerPath = join(
2104
2137
  process__default.env.HOME || process__default.env.USERPROFILE || ".",
@@ -2154,7 +2187,7 @@ async function runLazyCli() {
2154
2187
  return;
2155
2188
  }
2156
2189
  }
2157
- const cac = (await import('./chunks/index9.mjs')).default;
2190
+ const cac = (await import('./chunks/index10.mjs')).default;
2158
2191
  const cli = cac("ccjk");
2159
2192
  await setupCommandsLazy(cli);
2160
2193
  spinner?.stop();
@@ -2173,7 +2206,7 @@ async function showStartupSpinner() {
2173
2206
  return null;
2174
2207
  }
2175
2208
  try {
2176
- const ora = (await import('./chunks/index7.mjs')).default;
2209
+ const ora = (await import('./chunks/index8.mjs')).default;
2177
2210
  const isZh = process__default.env.CCJK_LANG === "zh-CN" || process__default.env.LANG?.includes("zh");
2178
2211
  const spinner = ora({
2179
2212
  text: isZh ? "\u6B63\u5728\u542F\u52A8 CCJK..." : "Starting CCJK...",
@@ -2235,7 +2268,7 @@ function bootstrapCloudServices() {
2235
2268
  await autoBootstrap();
2236
2269
  const { autoUpgrade } = await import('./chunks/silent-updater.mjs');
2237
2270
  await autoUpgrade();
2238
- const { activateSuperpowers } = await import('./chunks/index13.mjs');
2271
+ const { activateSuperpowers } = await import('./chunks/index14.mjs');
2239
2272
  await activateSuperpowers("zh-CN");
2240
2273
  const { setupBrainHook } = await import('./chunks/cli-hook.mjs');
2241
2274
  await setupBrainHook({
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as createCloudClient } from './shared/ccjk.CtXhbEqb.mjs';
2
2
  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.CtXhbEqb.mjs';
3
- 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';
3
+ 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.CXzjn01x.mjs';
4
4
  export { T as TemplatesClient, a as createTemplatesClient, g as getTemplatesClient } from './shared/ccjk.UIvifqNE.mjs';
5
5
  import { e as extractString } from './shared/ccjk.C2jHOZVP.mjs';
6
6
  export { a as extractDisplayName, i as i18nHelpers, n as normalizeRecommendation, b as normalizeRecommendations } from './shared/ccjk.C2jHOZVP.mjs';
@@ -10,21 +10,21 @@ import * as os from 'node:os';
10
10
  import { homedir } from 'node:os';
11
11
  import * as path from 'node:path';
12
12
  import { promisify } from 'node:util';
13
- import a from './chunks/index2.mjs';
13
+ import a from './chunks/index3.mjs';
14
14
  import { g as getRuntimeVersion } from './shared/ccjk.gDEDGD_t.mjs';
15
15
  import { j as join$1 } from './shared/ccjk.bQ7Dh1g4.mjs';
16
16
  export { j as config } from './chunks/config.mjs';
17
- export { a as loggerUtils } from './shared/ccjk.DG_o24cZ.mjs';
17
+ export { a as loggerUtils } from './shared/ccjk.DJdmgr2d.mjs';
18
18
  export { p as platform } from './chunks/platform.mjs';
19
19
  import { Transform } from 'node:stream';
20
20
  import { pipeline } from 'node:stream/promises';
21
21
  import 'node:url';
22
22
  import 'node:crypto';
23
- import './chunks/index5.mjs';
23
+ import './chunks/index6.mjs';
24
24
  import 'node:process';
25
25
  import './shared/ccjk.BAGoDD49.mjs';
26
26
  import './shared/ccjk.RyizuzOI.mjs';
27
- import './chunks/index3.mjs';
27
+ import './chunks/index4.mjs';
28
28
  import 'node:readline';
29
29
  import 'stream';
30
30
  import 'node:tty';
@@ -1,4 +1,4 @@
1
- import { l as logger } from './ccjk.DG_o24cZ.mjs';
1
+ import { l as logger } from './ccjk.DJdmgr2d.mjs';
2
2
 
3
3
  class HookRegistry {
4
4
  hooks = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index3.mjs';
2
2
 
3
3
  class ExecutionTracer {
4
4
  traces = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { i18n } from '../chunks/index5.mjs';
1
+ import { i18n } from '../chunks/index6.mjs';
2
2
 
3
3
  var CloudErrorCode = /* @__PURE__ */ ((CloudErrorCode2) => {
4
4
  CloudErrorCode2["AUTH_ERROR"] = "AUTH_ERROR";
@@ -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/index6.mjs';
4
4
  import { readZcfConfigAsync } from '../chunks/ccjk-config.mjs';
5
5
 
6
6
  const CODE_TYPE_ABBREVIATIONS = {
@@ -87,7 +87,7 @@ async function platformSpecificImplementation() {
87
87
  }
88
88
 
89
89
  case 'linux': {
90
- const {isWsl} = await import('../chunks/index14.mjs');
90
+ const {isWsl} = await import('../chunks/index15.mjs');
91
91
  if (isWsl) {
92
92
  return import('../chunks/wsl.mjs');
93
93
  }
@@ -1,4 +1,4 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index3.mjs';
2
2
 
3
3
  class Logger {
4
4
  level;
@@ -1,6 +1,6 @@
1
1
  import process__default from 'node:process';
2
- import a from '../chunks/index2.mjs';
3
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
2
+ import a from '../chunks/index3.mjs';
3
+ import { ensureI18nInitialized, i18n } from '../chunks/index6.mjs';
4
4
 
5
5
  function handleExitPromptError(error) {
6
6
  const isExitError = error instanceof Error && (error.name === "ExitPromptError" || error.message?.includes("ExitPromptError") || error.message?.includes("User force closed the prompt"));
@@ -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/index3.mjs';
2
+ import { i as inquirer } from '../chunks/index4.mjs';
3
3
  import { b as getPresetById, c as getRecommendedPresets, a as getChinesePresets, g as getAllPresets } from './ccjk.CL4Yat0G.mjs';
4
4
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
@@ -1,11 +1,11 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
1
+ import a from '../chunks/index3.mjs';
2
+ import { i as inquirer } from '../chunks/index4.mjs';
3
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';
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';
8
+ import { ensureI18nInitialized, i18n } from '../chunks/index6.mjs';
9
9
  import { k as isWindows, l as getSystemRoot } from '../chunks/platform.mjs';
10
10
 
11
11
  function readClaudeConfig(configPath = SETTINGS_FILE) {
@@ -1,7 +1,7 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
1
+ import a from '../chunks/index3.mjs';
2
+ import { i as inquirer } from '../chunks/index4.mjs';
3
3
  import { CLAUDE_DIR, SETTINGS_FILE } from '../chunks/constants.mjs';
4
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
4
+ import { ensureI18nInitialized, i18n } from '../chunks/index6.mjs';
5
5
  import { g as getExistingApiConfig, d as configureApi, s as switchToOfficialLogin, b as backupExistingConfig, e as applyAiLanguageDirective } from '../chunks/config.mjs';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { updateZcfConfig } from '../chunks/ccjk-config.mjs';
@@ -9,7 +9,7 @@ import { exists, removeFile, ensureDir, copyFile } from '../chunks/fs-operations
9
9
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
10
10
  import { m as mergeAndCleanPermissions } from './ccjk.DXRAZcix.mjs';
11
11
  import { a as addNumbersToChoices } from './ccjk.BFQ7yr5S.mjs';
12
- import { p as promptBoolean } from './ccjk.BWFpnOr3.mjs';
12
+ import { p as promptBoolean } from './ccjk.mJpVRDZ8.mjs';
13
13
  import { j as join, d as dirname } from './ccjk.bQ7Dh1g4.mjs';
14
14
  import { existsSync } from 'node:fs';
15
15
  import { rm, mkdir, copyFile as copyFile$1 } from 'node:fs/promises';
@@ -824,7 +824,7 @@ function displayMigrationResult(result) {
824
824
  }
825
825
  async function promptMigration() {
826
826
  ensureI18nInitialized();
827
- const inquirer = await import('../chunks/index3.mjs').then(function (n) { return n.c; });
827
+ const inquirer = await import('../chunks/index4.mjs').then(function (n) { return n.c; });
828
828
  console.log(a.yellow("\n\u26A0\uFE0F Problematic configuration detected!\n"));
829
829
  console.log(a.gray("Your settings.json contains configurations that prevent Claude Code"));
830
830
  console.log(a.gray("from retrieving token counts, causing /compact failures.\n"));
@@ -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/index6.mjs';
7
7
  import { j as join } from './ccjk.bQ7Dh1g4.mjs';
8
8
 
9
9
  const execAsync = promisify(exec);
@@ -1,6 +1,6 @@
1
1
  import { c as consola } from './ccjk.UIvifqNE.mjs';
2
2
  import { promises, existsSync } from 'node:fs';
3
- import posix from '../chunks/index8.mjs';
3
+ import posix from '../chunks/index9.mjs';
4
4
  import { glob } from 'tinyglobby';
5
5
  import { p as parse } from './ccjk.BBtCGd_g.mjs';
6
6
 
@@ -109,7 +109,7 @@ async function analyzePythonDependencies(projectPath, packageManager) {
109
109
  const pyprojectPath = posix.join(projectPath, "pyproject.toml");
110
110
  if (await pathExists$5(pyprojectPath)) {
111
111
  try {
112
- const { parse } = await import('../chunks/index6.mjs');
112
+ const { parse } = await import('../chunks/index7.mjs');
113
113
  const content = await promises.readFile(pyprojectPath, "utf-8");
114
114
  const pyproject = parse(content);
115
115
  const deps = pyproject.tool?.poetry?.dependencies || {};
@@ -142,7 +142,7 @@ async function analyzePythonDependencies(projectPath, packageManager) {
142
142
  const pipfilePath = posix.join(projectPath, "Pipfile");
143
143
  if (await pathExists$5(pipfilePath)) {
144
144
  try {
145
- const { parse } = await import('../chunks/index6.mjs');
145
+ const { parse } = await import('../chunks/index7.mjs');
146
146
  const content = await promises.readFile(pipfilePath, "utf-8");
147
147
  const pipfile = parse(content);
148
148
  const deps = pipfile.packages || {};
@@ -250,7 +250,7 @@ async function analyzeRustDependencies(projectPath) {
250
250
  return { direct: [], all: [] };
251
251
  }
252
252
  try {
253
- const { parse } = await import('../chunks/index6.mjs');
253
+ const { parse } = await import('../chunks/index7.mjs');
254
254
  const content = await promises.readFile(cargoTomlPath, "utf-8");
255
255
  const cargoToml = parse(content);
256
256
  const direct = [];
@@ -1,7 +1,7 @@
1
1
  import { g as getDefaultExportFromCjs } from './ccjk.BAGoDD49.mjs';
2
2
  import require$$0 from 'node:async_hooks';
3
3
  import { r as requireCliSpinners } from './ccjk.DeWpAShp.mjs';
4
- import { r as requireCliWidth, a as requireWrapAnsi, b as requireStripAnsi } from '../chunks/index3.mjs';
4
+ import { r as requireCliWidth, a as requireWrapAnsi, b as requireStripAnsi } from '../chunks/index4.mjs';
5
5
  import readline__default from 'node:readline';
6
6
  import require$$0$1 from 'stream';
7
7
  import process__default from 'node:process';
@@ -6,7 +6,9 @@
6
6
  "ANTHROPIC_MODEL": "",
7
7
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "",
8
8
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "",
9
- "ANTHROPIC_DEFAULT_OPUS_MODEL": ""
9
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "",
10
+ "CCJK_CONTEXT_OPTIMIZATION": "true",
11
+ "CCJK_TOOL_COMPRESSION": "true"
10
12
  },
11
13
  "language": "",
12
14
  "showTurnDuration": false,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ccjk",
3
3
  "type": "module",
4
- "version": "12.2.2",
4
+ "version": "12.3.1",
5
5
  "packageManager": "pnpm@10.17.1",
6
6
  "description": "CLI toolkit for Claude Code and Codex setup. Simplifies MCP service installation, API configuration, workflow management, and multi-provider support with guided interactive setup.",
7
7
  "author": {
@@ -88,7 +88,7 @@
88
88
  "typecheck": "tsc --noEmit",
89
89
  "release:verify": "node scripts/release-verify.mjs",
90
90
  "release:verify:full": "node scripts/release-verify.mjs --with-tests",
91
- "prepublishOnly": "node scripts/validate-prepublish.mjs && pnpm contract:check && pnpm build && pnpm test:run",
91
+ "prepublishOnly": "node scripts/validate-prepublish.mjs && pnpm contract:check && pnpm build",
92
92
  "lint": "eslint",
93
93
  "lint:fix": "eslint --fix",
94
94
  "test": "vitest",
@@ -150,60 +150,62 @@
150
150
  "fdir": "^6.5.0",
151
151
  "globby": "^14.1.0",
152
152
  "ioredis": "^5.9.3",
153
+ "node-cron": "^4.2.1",
154
+ "sql.js": "^1.14.0",
153
155
  "tar": "^7.5.9",
154
156
  "tinyglobby": "^0.2.15",
155
- "web-tree-sitter": "^0.26.5",
156
- "better-sqlite3": "^12.6.2"
157
+ "web-tree-sitter": "^0.26.5"
157
158
  },
158
159
  "devDependencies": {
159
160
  "@antfu/eslint-config": "^5.4.1",
161
+ "@anthropic-ai/sdk": "^0.52.0",
160
162
  "@types/better-sqlite3": "^7.6.13",
161
163
  "@types/fs-extra": "^11.0.4",
162
164
  "@types/inquirer": "^9.0.9",
163
165
  "@types/node": "^22.18.6",
166
+ "@types/node-cron": "^3.0.11",
164
167
  "@types/semver": "^7.7.1",
165
168
  "@types/uuid": "^11.0.0",
166
169
  "@typescript-eslint/eslint-plugin": "^6.0.0",
167
170
  "@typescript-eslint/parser": "^6.0.0",
168
171
  "@vitest/coverage-v8": "^3.2.4",
169
172
  "@vitest/ui": "^3.2.4",
170
- "concurrently": "^9.2.1",
171
- "eslint": "^9.36.0",
172
- "eslint-plugin-format": "^1.4.0",
173
- "husky": "^9.1.7",
174
- "lint-staged": "^16.2.7",
175
- "pkgroll": "^2.26.3",
176
- "prettier": "^3.8.1",
177
- "shx": "^0.4.0",
178
- "tsx": "^4.21.0",
179
- "typescript": "^5.9.3",
180
- "unbuild": "^3.6.1",
181
- "vitest": "^3.2.4",
182
- "@anthropic-ai/sdk": "^0.52.0",
183
173
  "ansis": "^4.2.0",
184
174
  "cac": "^6.7.14",
185
175
  "chokidar": "^4.0.3",
176
+ "concurrently": "^9.2.1",
186
177
  "consola": "^3.4.2",
187
178
  "dayjs": "^1.11.19",
179
+ "eslint": "^9.36.0",
180
+ "eslint-plugin-format": "^1.4.0",
188
181
  "find-up-simple": "^1.0.1",
189
182
  "fs-extra": "^11.3.3",
190
183
  "gray-matter": "^4.0.3",
191
184
  "handlebars": "^4.7.8",
185
+ "husky": "^9.1.7",
192
186
  "i18next": "^25.8.13",
193
187
  "i18next-fs-backend": "^2.6.1",
194
188
  "inquirer": "^12.9.6",
195
189
  "inquirer-toggle": "^1.0.1",
190
+ "lint-staged": "^16.2.7",
196
191
  "lowdb": "^7.0.1",
197
192
  "nanoid": "^5.1.6",
198
193
  "ofetch": "^1.5.1",
199
194
  "ohash": "^1.1.4",
200
195
  "ora": "^8.2.0",
201
196
  "pathe": "^2.0.3",
197
+ "pkgroll": "^2.26.3",
198
+ "prettier": "^3.8.1",
202
199
  "semver": "^7.7.4",
200
+ "shx": "^0.4.0",
203
201
  "smol-toml": "^1.6.0",
204
202
  "tinyexec": "^1.0.2",
205
203
  "trash": "^10.1.0",
204
+ "tsx": "^4.21.0",
206
205
  "tweetnacl": "^1.0.3",
207
- "uuid": "^11.1.0"
206
+ "typescript": "^5.9.3",
207
+ "unbuild": "^3.6.1",
208
+ "uuid": "^11.1.0",
209
+ "vitest": "^3.2.4"
208
210
  }
209
211
  }
@@ -6,7 +6,9 @@
6
6
  "ANTHROPIC_MODEL": "",
7
7
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "",
8
8
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "",
9
- "ANTHROPIC_DEFAULT_OPUS_MODEL": ""
9
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "",
10
+ "CCJK_CONTEXT_OPTIMIZATION": "true",
11
+ "CCJK_TOOL_COMPRESSION": "true"
10
12
  },
11
13
  "language": "",
12
14
  "showTurnDuration": false,