ccjk 9.5.6 → 9.7.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 (103) 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 +160 -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 +25 -30
  15. package/dist/chunks/ccu.mjs +1 -1
  16. package/dist/chunks/check-updates.mjs +3 -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 +4 -5
  22. package/dist/chunks/codex-provider-manager.mjs +2 -3
  23. package/dist/chunks/codex-uninstaller.mjs +2 -2
  24. package/dist/chunks/codex.mjs +207 -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 -4
  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/doctor.mjs +4 -4
  35. package/dist/chunks/features.mjs +24 -17
  36. package/dist/chunks/index.mjs +178 -7
  37. package/dist/chunks/index2.mjs +1162 -169
  38. package/dist/chunks/index3.mjs +910 -1076
  39. package/dist/chunks/index4.mjs +137 -947
  40. package/dist/chunks/index5.mjs +635 -167
  41. package/dist/chunks/init.mjs +141 -99
  42. package/dist/chunks/installer.mjs +147 -649
  43. package/dist/chunks/installer2.mjs +649 -147
  44. package/dist/chunks/interview.mjs +2 -2
  45. package/dist/chunks/marketplace.mjs +1 -1
  46. package/dist/chunks/mcp.mjs +1058 -17
  47. package/dist/chunks/menu.mjs +147 -56
  48. package/dist/chunks/monitor.mjs +2 -2
  49. package/dist/chunks/notification.mjs +1 -1
  50. package/dist/chunks/onboarding.mjs +2 -2
  51. package/dist/chunks/package.mjs +2 -210
  52. package/dist/chunks/permission-manager.mjs +2 -2
  53. package/dist/chunks/permissions.mjs +1 -1
  54. package/dist/chunks/platform.mjs +1 -1
  55. package/dist/chunks/plugin.mjs +1 -1
  56. package/dist/chunks/prompts.mjs +1 -1
  57. package/dist/chunks/providers.mjs +1 -1
  58. package/dist/chunks/quick-setup.mjs +16 -20
  59. package/dist/chunks/silent-updater.mjs +1 -1
  60. package/dist/chunks/simple-config.mjs +2 -2
  61. package/dist/chunks/skill.mjs +1 -1
  62. package/dist/chunks/skills-sync.mjs +1 -1
  63. package/dist/chunks/skills.mjs +1 -1
  64. package/dist/chunks/startup.mjs +1 -1
  65. package/dist/chunks/stats.mjs +1 -1
  66. package/dist/chunks/status.mjs +159 -0
  67. package/dist/chunks/team.mjs +1 -1
  68. package/dist/chunks/thinking.mjs +2 -2
  69. package/dist/chunks/uninstall.mjs +6 -6
  70. package/dist/chunks/update.mjs +6 -9
  71. package/dist/chunks/upgrade-manager.mjs +2 -2
  72. package/dist/chunks/version-checker.mjs +3 -3
  73. package/dist/chunks/vim.mjs +1 -1
  74. package/dist/chunks/workflows.mjs +616 -215
  75. package/dist/cli.mjs +70 -121
  76. package/dist/index.d.mts +17 -1482
  77. package/dist/index.d.ts +17 -1482
  78. package/dist/index.mjs +950 -4740
  79. package/dist/shared/{ccjk.zCqdxT2Y.mjs → ccjk.Br91zBIG.mjs} +2 -2
  80. package/dist/shared/ccjk.CSkyCZIM.mjs +638 -0
  81. package/dist/shared/{ccjk.BKoi8-Hy.mjs → ccjk.DE91nClQ.mjs} +1 -1
  82. package/dist/shared/{ccjk.f40us0yY.mjs → ccjk.DvIrK0wz.mjs} +2 -2
  83. package/dist/shared/ccjk.LsPZ2PYo.mjs +1048 -0
  84. package/dist/shared/{ccjk.DRweXU5F.mjs → ccjk.q1koQxEE.mjs} +2 -2
  85. package/package.json +1 -1
  86. package/templates/claude-code/common/settings.json +15 -111
  87. package/dist/chunks/api-adapter.mjs +0 -180
  88. package/dist/chunks/cli.mjs +0 -2227
  89. package/dist/chunks/context-menu.mjs +0 -913
  90. package/dist/chunks/hooks-sync.mjs +0 -1627
  91. package/dist/chunks/index6.mjs +0 -663
  92. package/dist/chunks/mcp-market.mjs +0 -1077
  93. package/dist/chunks/mcp-server.mjs +0 -776
  94. package/dist/chunks/project-detector.mjs +0 -131
  95. package/dist/chunks/provider-registry.mjs +0 -92
  96. package/dist/chunks/setup-wizard.mjs +0 -362
  97. package/dist/chunks/tools.mjs +0 -143
  98. package/dist/chunks/workflows2.mjs +0 -633
  99. package/dist/shared/ccjk.BM_HZogn.mjs +0 -347
  100. package/dist/shared/ccjk.BaEp4UHQ.mjs +0 -75
  101. package/dist/shared/ccjk.CS0ybJCf.mjs +0 -490
  102. package/dist/shared/ccjk.CZgIwikC.mjs +0 -209
  103. package/dist/shared/ccjk.tO8zeFh1.mjs +0 -397
@@ -4,69 +4,23 @@ import ansis from 'ansis';
4
4
  import inquirer from 'inquirer';
5
5
  import { join } from 'pathe';
6
6
  import { CODE_TOOL_BANNERS, CLAUDE_DIR, isCodeToolType, DEFAULT_CODE_TOOL_TYPE } from './constants.mjs';
7
- import { i18n } from './index2.mjs';
8
- import { a as displayBannerWithInfo } from '../shared/ccjk.zCqdxT2Y.mjs';
7
+ import { ensureI18nInitialized, i18n } from './index.mjs';
8
+ import { d as displayBannerWithInfo } from '../shared/ccjk.Br91zBIG.mjs';
9
9
  import { updateZcfConfig, readZcfConfig } from './ccjk-config.mjs';
10
- import { r as resolveCodeType } from '../shared/ccjk.DRweXU5F.mjs';
11
- import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.f40us0yY.mjs';
10
+ import { r as resolveCodeType } from '../shared/ccjk.q1koQxEE.mjs';
11
+ import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DvIrK0wz.mjs';
12
12
  import { changeScriptLanguageFeature, configureMcpFeature, configureEnvPermissionFeature, configureAiMemoryFeature, configureDefaultModelFeature, configureApiFeature } from './features.mjs';
13
13
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
14
- import { r as runCcrMenuFeature } from './tools.mjs';
14
+ import { homedir } from 'node:os';
15
+ import { runCcrStop, runCcrStart, runCcrRestart, runCcrStatus, runCcrUi } from './commands2.mjs';
16
+ import { readCcrConfig, configureCcrFeature } from './config3.mjs';
17
+ import { a as isCcrInstalled, b as installCcr, i as init } from './init.mjs';
15
18
  import { ccjkAgents } from './ccjk-agents.mjs';
16
19
  import { ccjkSkills } from './ccjk-skills.mjs';
17
20
  import { checkUpdates } from './check-updates.mjs';
18
21
  import { doctor } from './doctor.mjs';
19
- import { init } from './init.mjs';
20
22
  import { uninstall } from './uninstall.mjs';
21
23
  import { update } from './update.mjs';
22
- import 'node:os';
23
- import 'node:url';
24
- import 'i18next';
25
- import 'i18next-fs-backend';
26
- import './package.mjs';
27
- import 'smol-toml';
28
- import './fs-operations.mjs';
29
- import 'node:crypto';
30
- import 'node:fs/promises';
31
- import './json-config.mjs';
32
- import 'dayjs';
33
- import 'node:child_process';
34
- import './platform.mjs';
35
- import 'tinyexec';
36
- import '../shared/ccjk.CZgIwikC.mjs';
37
- import './config2.mjs';
38
- import 'node:util';
39
- import './claude-config.mjs';
40
- import './config.mjs';
41
- import 'inquirer-toggle';
42
- import '../shared/ccjk.BaEp4UHQ.mjs';
43
- import './auto-updater.mjs';
44
- import 'ora';
45
- import './version-checker.mjs';
46
- import 'node:path';
47
- import 'semver';
48
- import '../shared/ccjk.CS0ybJCf.mjs';
49
- import '../shared/ccjk.BFQ7yr5S.mjs';
50
- import './simple-config.mjs';
51
- import './commands.mjs';
52
- import 'consola';
53
- import '../shared/ccjk.BNwRnWYx.mjs';
54
- import 'tinyglobby';
55
- import 'ofetch';
56
- import '../shared/ccjk.Bvoex4TZ.mjs';
57
- import '../shared/ccjk.AqnXPAzw.mjs';
58
- import '../shared/ccjk.Bdhyg3X-.mjs';
59
- import './codex.mjs';
60
- import './prompts.mjs';
61
- import './api-providers.mjs';
62
- import '../shared/ccjk.h7_W-wTs.mjs';
63
- import '../shared/ccjk.J8YiPsOw.mjs';
64
- import './workflows.mjs';
65
- import '../shared/ccjk.BM_HZogn.mjs';
66
- import './installer.mjs';
67
- import '../shared/ccjk.BKoi8-Hy.mjs';
68
- import '../shared/ccjk.DntgA8fQ.mjs';
69
- import 'trash';
70
24
 
71
25
  const FULLWIDTH_TO_HALFWIDTH = {
72
26
  // Full-width numbers (Japanese/Chinese IME)
@@ -178,6 +132,131 @@ function normalizeMenuInput(input) {
178
132
  return normalizeFullWidth(input.trim()).toLowerCase();
179
133
  }
180
134
 
135
+ function isCcrConfigured() {
136
+ const CCR_CONFIG_FILE = join(homedir(), ".claude-code-router", "config.json");
137
+ if (!existsSync(CCR_CONFIG_FILE)) {
138
+ return false;
139
+ }
140
+ const config = readCcrConfig();
141
+ return config !== null;
142
+ }
143
+ async function showCcrMenu() {
144
+ try {
145
+ ensureI18nInitialized();
146
+ console.log(`
147
+ ${ansis.green("\u2550".repeat(50))}`);
148
+ console.log(ansis.bold.cyan(` ${i18n.t("ccr:ccrMenuTitle")}`));
149
+ console.log(`${ansis.green("\u2550".repeat(50))}
150
+ `);
151
+ console.log(` ${ansis.green("1.")} ${i18n.t("ccr:ccrMenuOptions.initCcr")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.initCcr")}`)}`);
152
+ console.log(` ${ansis.green("2.")} ${i18n.t("ccr:ccrMenuOptions.startUi")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.startUi")}`)}`);
153
+ console.log(` ${ansis.green("3.")} ${i18n.t("ccr:ccrMenuOptions.checkStatus")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.checkStatus")}`)}`);
154
+ console.log(` ${ansis.green("4.")} ${i18n.t("ccr:ccrMenuOptions.restart")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.restart")}`)}`);
155
+ console.log(` ${ansis.green("5.")} ${i18n.t("ccr:ccrMenuOptions.start")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.start")}`)}`);
156
+ console.log(` ${ansis.green("6.")} ${i18n.t("ccr:ccrMenuOptions.stop")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.stop")}`)}`);
157
+ console.log(` ${ansis.yellow("0.")} ${i18n.t("ccr:ccrMenuOptions.back")}`);
158
+ console.log("");
159
+ const { choice } = await inquirer.prompt({
160
+ type: "input",
161
+ name: "choice",
162
+ message: i18n.t("common:enterChoice"),
163
+ validate: (value) => {
164
+ const valid = ["1", "2", "3", "4", "5", "6", "0"];
165
+ return valid.includes(value) || i18n.t("common:invalidChoice");
166
+ }
167
+ });
168
+ switch (choice) {
169
+ case "1": {
170
+ const ccrStatus = await isCcrInstalled();
171
+ if (!ccrStatus.hasCorrectPackage) {
172
+ await installCcr();
173
+ } else {
174
+ console.log(ansis.green(`\u2714 ${i18n.t("ccr:ccrAlreadyInstalled")}`));
175
+ }
176
+ await configureCcrFeature();
177
+ console.log(ansis.green(`
178
+ \u2714 ${i18n.t("ccr:ccrSetupComplete")}`));
179
+ break;
180
+ }
181
+ case "2":
182
+ if (!isCcrConfigured()) {
183
+ console.log(ansis.yellow(`
184
+ \u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
185
+ console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
186
+ `));
187
+ } else {
188
+ const config = readCcrConfig();
189
+ await runCcrUi(config?.APIKEY);
190
+ }
191
+ break;
192
+ case "3":
193
+ if (!isCcrConfigured()) {
194
+ console.log(ansis.yellow(`
195
+ \u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
196
+ console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
197
+ `));
198
+ } else {
199
+ await runCcrStatus();
200
+ }
201
+ break;
202
+ case "4":
203
+ if (!isCcrConfigured()) {
204
+ console.log(ansis.yellow(`
205
+ \u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
206
+ console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
207
+ `));
208
+ } else {
209
+ await runCcrRestart();
210
+ }
211
+ break;
212
+ case "5":
213
+ if (!isCcrConfigured()) {
214
+ console.log(ansis.yellow(`
215
+ \u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
216
+ console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
217
+ `));
218
+ } else {
219
+ await runCcrStart();
220
+ }
221
+ break;
222
+ case "6":
223
+ if (!isCcrConfigured()) {
224
+ console.log(ansis.yellow(`
225
+ \u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
226
+ console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
227
+ `));
228
+ } else {
229
+ await runCcrStop();
230
+ }
231
+ break;
232
+ case "0":
233
+ return false;
234
+ }
235
+ if (choice !== "0") {
236
+ console.log(`
237
+ ${ansis.dim("\u2500".repeat(50))}
238
+ `);
239
+ const continueInCcr = await promptBoolean({
240
+ message: i18n.t("common:returnToMenu"),
241
+ defaultValue: true
242
+ });
243
+ if (continueInCcr) {
244
+ return await showCcrMenu();
245
+ }
246
+ }
247
+ return false;
248
+ } catch (error) {
249
+ if (!handleExitPromptError(error)) {
250
+ handleGeneralError(error);
251
+ }
252
+ return false;
253
+ }
254
+ }
255
+
256
+ async function runCcrMenuFeature() {
257
+ await showCcrMenu();
258
+ }
259
+
181
260
  const CODE_TOOL_LABELS = {
182
261
  "claude-code": "Claude Code",
183
262
  "codex": "Codex",
@@ -280,6 +359,7 @@ async function showSimplifiedMenu() {
280
359
  console.log(` ${ansis.green("-.")} ${isZh ? "\u5378\u8F7D\u548C\u5220\u9664\u914D\u7F6E" : "Uninstall & Remove Config"} ${ansis.dim(isZh ? "- \u4ECE\u7CFB\u7EDF\u4E2D\u5220\u9664 Claude Code \u914D\u7F6E\u548C\u5DE5\u5177" : "- Remove Claude Code config and tools from system")}`);
281
360
  console.log(` ${ansis.green("+.")} ${isZh ? "\u68C0\u67E5\u66F4\u65B0" : "Check Updates"} ${ansis.dim(isZh ? "- \u68C0\u67E5\u5E76\u66F4\u65B0 Claude Code\u3001CCR \u7684\u7248\u672C" : "- Check and update Claude Code, CCR versions")}`);
282
361
  console.log(` ${ansis.green("D.")} ${isZh ? "\u4E00\u952E\u4F53\u68C0" : "Diagnostics"} ${ansis.dim(isZh ? "- \u8BCA\u65AD\u95EE\u9898\u5E76\u81EA\u52A8\u4FEE\u590D" : "- Diagnose issues and auto-fix")}`);
362
+ console.log(` ${ansis.green("B.")} ${isZh ? "\u{1F9E0} Brain Dashboard" : "\u{1F9E0} Brain Dashboard"} ${ansis.dim(isZh ? "- \u67E5\u770B\u914D\u7F6E\u5065\u5EB7\u5206\u6570\u548C\u4F18\u5316\u5EFA\u8BAE" : "- Setup health score & recommendations")}`);
283
363
  console.log(` ${ansis.green("H.")} ${isZh ? "\u5E2E\u52A9\u6587\u6863" : "Help"} ${ansis.dim(isZh ? "- \u67E5\u770B\u4F7F\u7528\u6307\u5357" : "- View user guide")}`);
284
364
  console.log(` ${ansis.green("Q.")} ${isZh ? "\u9000\u51FA" : "Exit"}`);
285
365
  console.log("");
@@ -289,7 +369,7 @@ async function showSimplifiedMenu() {
289
369
  message: isZh ? "\u8BF7\u8F93\u5165\u9009\u9879:" : "Enter option:",
290
370
  validate: (value) => {
291
371
  const normalized2 = normalizeMenuInput(value);
292
- const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "k", "m", "a", "r", "s", "-", "+", "d", "h", "q"];
372
+ const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "k", "m", "a", "r", "b", "s", "-", "+", "d", "h", "q"];
293
373
  return valid.includes(normalized2) || (isZh ? "\u8BF7\u8F93\u5165\u6709\u6548\u9009\u9879" : "Please enter a valid option");
294
374
  }
295
375
  });
@@ -346,6 +426,12 @@ async function showSimplifiedMenu() {
346
426
  printSeparator();
347
427
  return void 0;
348
428
  }
429
+ case "b": {
430
+ const { status } = await import('./status.mjs');
431
+ await status();
432
+ printSeparator();
433
+ return void 0;
434
+ }
349
435
  // ------------ CCJK ------------
350
436
  case "0": {
351
437
  const currentLang = i18n.language;
@@ -457,4 +543,9 @@ async function showMainMenu(options = {}) {
457
543
  }
458
544
  }
459
545
 
460
- export { showMainMenu };
546
+ const menu = {
547
+ __proto__: null,
548
+ showMainMenu: showMainMenu
549
+ };
550
+
551
+ export { showMainMenu as a, menu as m, showCcrMenu as s };
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
- import { i18n } from './index2.mjs';
3
- import { a as displayBannerWithInfo } from '../shared/ccjk.zCqdxT2Y.mjs';
2
+ import { i18n } from './index.mjs';
3
+ import { d as displayBannerWithInfo } from '../shared/ccjk.Br91zBIG.mjs';
4
4
  import process__default from 'node:process';
5
5
  import { nanoid } from 'nanoid';
6
6
  import 'node:fs';
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { i18n } from './index2.mjs';
3
+ import { i18n } from './index.mjs';
4
4
  import * as fs from 'node:fs';
5
5
  import fs__default, { existsSync, readFileSync, mkdirSync, unlinkSync } from 'node:fs';
6
6
  import * as os from 'node:os';
@@ -7,10 +7,10 @@ import ora from 'ora';
7
7
  import { join, basename } from 'pathe';
8
8
  import { CCJK_CONFIG_DIR } from './constants.mjs';
9
9
  import { d as detectProject, g as getProjectSummary, a as generateSuggestions } from '../shared/ccjk.CBhIZiPz.mjs';
10
- import { b as boxify, t as theme, S as STATUS } from '../shared/ccjk.zCqdxT2Y.mjs';
10
+ import { b as boxify, t as theme, S as STATUS } from '../shared/ccjk.Br91zBIG.mjs';
11
11
  import { writeFileAtomic } from './fs-operations.mjs';
12
12
  import 'node:os';
13
- import './index2.mjs';
13
+ import './index.mjs';
14
14
  import 'node:url';
15
15
  import 'i18next';
16
16
  import 'i18next-fs-backend';
@@ -1,212 +1,4 @@
1
- const name = "ccjk";
2
- const type = "module";
3
- const version = "9.5.6";
4
- const packageManager = "pnpm@10.17.1";
5
- const description = "CCJK v9.0.0 - Revolutionary AI Development Platform with Enterprise Security, Streaming Cloud Sync, CRDT Conflict Resolution, and Unified V3 Architecture";
6
- const author = {
7
- name: "CCJK Team",
8
- email: "9248293@gmail.com"
9
- };
10
- const license = "MIT";
1
+ const version = "9.7.0";
11
2
  const homepage = "https://github.com/miounet11/ccjk";
12
- const repository = {
13
- type: "git",
14
- url: "git+https://github.com/miounet11/ccjk.git"
15
- };
16
- const bugs = "https://github.com/miounet11/ccjk/issues";
17
- const keywords = [
18
- "ai",
19
- "code-tools",
20
- "abstraction",
21
- "claude",
22
- "claude-code",
23
- "codex",
24
- "ccjk",
25
- "jinku",
26
- "ai-assistant",
27
- "ai-coding",
28
- "code-assistant",
29
- "developer-tools",
30
- "devtools",
31
- "cli",
32
- "automation",
33
- "mcp",
34
- "anthropic",
35
- "openai",
36
- "gemini",
37
- "gpt",
38
- "llm",
39
- "machine-learning",
40
- "artificial-intelligence",
41
- "token-optimization",
42
- "compression",
43
- "workflows",
44
- "productivity",
45
- "aider",
46
- "continue",
47
- "cline",
48
- "cursor",
49
- "cursor-alternative",
50
- "copilot-alternative",
51
- "codeium-alternative"
52
- ];
53
- const sideEffects = false;
54
- const exports = {
55
- ".": {
56
- types: "./dist/index.d.mts",
57
- "import": "./dist/index.mjs",
58
- "default": "./dist/index.mjs"
59
- },
60
- "./package.json": "./package.json"
61
- };
62
- const main = "dist/index.mjs";
63
- const module = "dist/index.mjs";
64
- const types = "dist/index.d.mts";
65
- const bin = {
66
- ccjk: "bin/ccjk.mjs"
67
- };
68
- const files = [
69
- "bin",
70
- "dist",
71
- "templates"
72
- ];
73
- const engines = {
74
- node: ">=20"
75
- };
76
- const scripts = {
77
- dev: "tsx ./src/cli.ts",
78
- build: "unbuild",
79
- start: "node bin/ccjk.mjs",
80
- typecheck: "tsc --noEmit",
81
- prepublishOnly: "node scripts/validate-prepublish.mjs && pnpm build && pnpm test:run",
82
- lint: "eslint",
83
- "lint:fix": "eslint --fix",
84
- test: "vitest",
85
- "test:ui": "vitest --ui",
86
- "test:coverage": "vitest run --coverage",
87
- "test:run": "vitest run",
88
- "test:watch": "vitest watch",
89
- "test:e2e": "NODE_ENV=test vitest --config vitest.e2e.config.ts",
90
- "test:e2e:run": "NODE_ENV=test vitest run --config vitest.e2e.config.ts",
91
- "test:e2e:ui": "NODE_ENV=test vitest --config vitest.e2e.config.ts --ui",
92
- "test:e2e:coverage": "NODE_ENV=test vitest run --config vitest.e2e.config.ts --coverage",
93
- "test:e2e:debug": "NODE_ENV=test CCJK_E2E_DEBUG=true vitest --config vitest.e2e.config.ts",
94
- "test:v2": "vitest --config vitest.config.v2.ts",
95
- "test:v2:ui": "vitest --config vitest.config.v2.ts --ui",
96
- "test:v2:coverage": "vitest run --config vitest.config.v2.ts --coverage",
97
- "test:v2:run": "vitest run --config vitest.config.v2.ts",
98
- "test:v2:watch": "vitest watch --config vitest.config.v2.ts",
99
- prepare: "husky",
100
- format: "prettier --write src/**/*.ts",
101
- "prepublish:fix": "node scripts/fix-package-catalog.mjs",
102
- cleanup: "node scripts/cleanup.js",
103
- "cleanup:auto": "node scripts/cleanup.js --auto",
104
- "cleanup:dry": "node scripts/cleanup.js --dry-run",
105
- clean: "rm -rf dist coverage .turbo *.tsbuildinfo",
106
- "v2:setup": "chmod +x scripts/v2-dev-setup.sh && ./scripts/v2-dev-setup.sh",
107
- "v2:setup:skip-tests": "chmod +x scripts/v2-dev-setup.sh && ./scripts/v2-dev-setup.sh --skip-tests",
108
- "v2:services:up": "docker-compose -f docker-compose.dev.yml up -d",
109
- "v2:services:down": "docker-compose -f docker-compose.dev.yml down",
110
- "v2:services:restart": "docker-compose -f docker-compose.dev.yml restart",
111
- "v2:services:logs": "docker-compose -f docker-compose.dev.yml logs -f",
112
- "v2:services:status": "docker-compose -f docker-compose.dev.yml ps",
113
- "v2:db:reset": "docker-compose -f docker-compose.dev.yml down postgres && docker volume rm ccjk-public_postgres_data && docker-compose -f docker-compose.dev.yml up -d postgres",
114
- "v2:db:migrate": "echo 'Database migration script - to be implemented'",
115
- "v2:db:seed": "echo 'Database seeding script - to be implemented'",
116
- "v2:cache:clear": "docker exec ccjk-redis-dev redis-cli FLUSHALL",
117
- "v2:search:reindex": "curl -X DELETE http://localhost:9200/ccjk_dev* && echo 'Elasticsearch indexes cleared'",
118
- "v2:health": "chmod +x scripts/health-check.sh && ./scripts/health-check.sh",
119
- "v2:dev": "concurrently \"pnpm v2:services:up\" \"pnpm dev\"",
120
- "v2:test:integration": "NODE_ENV=test pnpm test -- --config vitest.integration.config.ts",
121
- "v2:test:e2e": "NODE_ENV=test pnpm test -- --config vitest.e2e.config.ts",
122
- "v2:monitoring:up": "docker-compose -f docker-compose.dev.yml --profile monitoring up -d",
123
- "v2:tracing:up": "docker-compose -f docker-compose.dev.yml --profile tracing up -d",
124
- "v2:clean": "pnpm clean && docker-compose -f docker-compose.dev.yml down -v && docker system prune -f",
125
- benchmark: "tsx src/v2/__tests__/benchmarks.ts",
126
- "benchmark:save": "tsx src/v2/__tests__/benchmarks.ts && echo 'Results saved to .ccjk/benchmark-results.json'",
127
- "benchmark:detailed": "tsx src/v2/__tests__/benchmarks.ts --detailed",
128
- "benchmark:server": "npx http-server docs/v2 -p 8080 -o dashboard.html",
129
- "benchmark:open": "open docs/v2/dashboard.html || xdg-open docs/v2/dashboard.html || start docs/v2/dashboard.html",
130
- "i18n:check": "tsx scripts/check-i18n.ts",
131
- "i18n:report": "tsx scripts/check-i18n.ts --report"
132
- };
133
- const dependencies = {
134
- "@anthropic-ai/sdk": "^0.52.0",
135
- ansis: "^4.1.0",
136
- cac: "^6.7.14",
137
- chokidar: "^4.0.3",
138
- consola: "^3.4.2",
139
- dayjs: "^1.11.18",
140
- fdir: "^6.5.0",
141
- "find-up-simple": "^1.0.1",
142
- "fs-extra": "^11.3.2",
143
- glob: "^11.0.3",
144
- "gray-matter": "^4.0.3",
145
- handlebars: "^4.7.8",
146
- i18next: "^25.5.2",
147
- "i18next-fs-backend": "^2.6.0",
148
- inquirer: "^12.9.6",
149
- "inquirer-toggle": "^1.0.1",
150
- ioredis: "^5.9.2",
151
- nanoid: "^5.1.6",
152
- ofetch: "^1.5.1",
153
- ohash: "^1.1.4",
154
- ora: "^9.0.0",
155
- pathe: "^2.0.3",
156
- semver: "^7.7.2",
157
- "smol-toml": "^1.4.2",
158
- tar: "^7.5.2",
159
- tinyexec: "^1.0.1",
160
- tinyglobby: "^0.2.15",
161
- trash: "^10.0.0",
162
- uuid: "^11.1.0",
163
- "web-tree-sitter": "^0.26.3"
164
- };
165
- const devDependencies = {
166
- "@antfu/eslint-config": "^5.4.1",
167
- "@types/fs-extra": "^11.0.4",
168
- "@types/inquirer": "^9.0.9",
169
- "@types/node": "^22.18.6",
170
- "@types/semver": "^7.7.1",
171
- "@types/uuid": "^11.0.0",
172
- "@typescript-eslint/eslint-plugin": "^6.0.0",
173
- "@typescript-eslint/parser": "^6.0.0",
174
- "@vitest/coverage-v8": "^3.2.4",
175
- "@vitest/ui": "^3.2.4",
176
- concurrently: "^9.2.1",
177
- eslint: "^9.36.0",
178
- "eslint-plugin-format": "^1.0.2",
179
- husky: "^9.1.7",
180
- "lint-staged": "^16.2.0",
181
- prettier: "^3.0.0",
182
- tsx: "^4.20.5",
183
- typescript: "^5.9.2",
184
- unbuild: "^3.6.1",
185
- vitest: "^3.2.4"
186
- };
187
- const packageJson = {
188
- name: name,
189
- type: type,
190
- version: version,
191
- packageManager: packageManager,
192
- description: description,
193
- author: author,
194
- license: license,
195
- homepage: homepage,
196
- repository: repository,
197
- bugs: bugs,
198
- keywords: keywords,
199
- sideEffects: sideEffects,
200
- exports: exports,
201
- main: main,
202
- module: module,
203
- types: types,
204
- bin: bin,
205
- files: files,
206
- engines: engines,
207
- scripts: scripts,
208
- dependencies: dependencies,
209
- devDependencies: devDependencies
210
- };
211
3
 
212
- export { author, bin, bugs, packageJson as default, dependencies, description, devDependencies, engines, exports, files, homepage, keywords, license, main, module, name, packageManager, repository, scripts, sideEffects, type, types, version };
4
+ export { homepage, version };
@@ -2,9 +2,9 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import ansis from 'ansis';
3
3
  import { join } from 'pathe';
4
4
  import { SETTINGS_FILE, CCJK_CONFIG_DIR } from './constants.mjs';
5
- import { S as STATUS } from '../shared/ccjk.zCqdxT2Y.mjs';
5
+ import { S as STATUS } from '../shared/ccjk.Br91zBIG.mjs';
6
6
  import 'node:os';
7
- import './index2.mjs';
7
+ import './index.mjs';
8
8
  import 'node:process';
9
9
  import 'node:url';
10
10
  import 'i18next';
@@ -2,7 +2,7 @@ import process__default from 'node:process';
2
2
  import ansis from 'ansis';
3
3
  import inquirer from 'inquirer';
4
4
  import 'tinyexec';
5
- import { i18n } from './index2.mjs';
5
+ import { i18n } from './index.mjs';
6
6
  import { g as getPermissionManager } from '../shared/ccjk.h7_W-wTs.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:url';
@@ -388,4 +388,4 @@ const platform = {
388
388
  wrapCommandWithSudo: wrapCommandWithSudo
389
389
  };
390
390
 
391
- export { getHomebrewCommandPaths as a, getTermuxPrefix as b, isWSL as c, getWSLInfo as d, commandExists as e, findCommandPath as f, getPlatform as g, getRecommendedInstallMethods as h, isTermux as i, isWindows as j, findRealCommandPath as k, getMcpCommand as l, getSystemRoot as m, normalizeTomlPath as n, platform as p, shouldUseSudoForGlobalInstall as s, wrapCommandWithSudo as w };
391
+ export { isTermux as a, getPlatform as b, commandExists as c, getMcpCommand as d, getHomebrewCommandPaths as e, findCommandPath as f, getSystemRoot as g, getTermuxPrefix as h, isWindows as i, isWSL as j, getWSLInfo as k, getRecommendedInstallMethods as l, findRealCommandPath as m, normalizeTomlPath as n, platform as p, shouldUseSudoForGlobalInstall as s, wrapCommandWithSudo as w };
@@ -4,7 +4,7 @@ import { Buffer } from 'node:buffer';
4
4
  import { existsSync, mkdirSync, readFileSync, unlinkSync, readdirSync, statSync, rmSync } from 'node:fs';
5
5
  import { join } from 'pathe';
6
6
  import { CCJK_CLOUD_PLUGINS_DIR, CCJK_CLOUD_PLUGINS_CACHE_DIR, CCJK_CLOUD_PLUGINS_INSTALLED_DIR } from './constants.mjs';
7
- import { i18n } from './index2.mjs';
7
+ import { i18n } from './index.mjs';
8
8
  import { writeFileAtomic } from './fs-operations.mjs';
9
9
  import { homedir } from 'node:os';
10
10
  import { d as detectProject } from '../shared/ccjk.CBhIZiPz.mjs';
@@ -3,7 +3,7 @@ import ansis from 'ansis';
3
3
  import inquirer from 'inquirer';
4
4
  import { version } from './package.mjs';
5
5
  import { LANG_LABELS, getAiOutputLanguageLabel, SUPPORTED_LANGS, AI_OUTPUT_LANGUAGES } from './constants.mjs';
6
- import { ensureI18nInitialized, i18n } from './index2.mjs';
6
+ import { ensureI18nInitialized, i18n } from './index.mjs';
7
7
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
8
8
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
9
9
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
2
  import { getApiProviderPresets } from './api-providers.mjs';
3
- import { i18n } from './index2.mjs';
3
+ import { i18n } from './index.mjs';
4
4
  import { P as ProviderHealthMonitor } from '../shared/ccjk.J8YiPsOw.mjs';
5
5
  import './constants.mjs';
6
6
  import 'node:os';
@@ -1,10 +1,10 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
3
  import { version } from './package.mjs';
4
- import { d as detectSmartDefaults } from '../shared/ccjk.DRweXU5F.mjs';
5
- import { i18n } from './index2.mjs';
4
+ import { d as detectSmartDefaults } from '../shared/ccjk.q1koQxEE.mjs';
5
+ import { i18n } from './index.mjs';
6
6
  import { updateZcfConfig } from './ccjk-config.mjs';
7
- import { init } from './init.mjs';
7
+ import { i as init } from './init.mjs';
8
8
  import 'node:child_process';
9
9
  import 'node:fs';
10
10
  import 'node:os';
@@ -22,29 +22,25 @@ import 'node:crypto';
22
22
  import 'node:fs/promises';
23
23
  import './json-config.mjs';
24
24
  import 'dayjs';
25
- import '../shared/ccjk.CZgIwikC.mjs';
26
- import './workflows.mjs';
27
- import '../shared/ccjk.zCqdxT2Y.mjs';
28
- import './config2.mjs';
29
- import 'node:util';
30
- import './claude-config.mjs';
25
+ import './codex.mjs';
26
+ import 'ora';
27
+ import 'semver';
31
28
  import './config.mjs';
29
+ import './claude-config.mjs';
30
+ import '../shared/ccjk.BFQ7yr5S.mjs';
31
+ import './prompts.mjs';
32
32
  import '../shared/ccjk.DHbrGcgg.mjs';
33
33
  import 'inquirer-toggle';
34
- import '../shared/ccjk.BaEp4UHQ.mjs';
34
+ import '../shared/ccjk.LsPZ2PYo.mjs';
35
+ import '../shared/ccjk.Br91zBIG.mjs';
36
+ import './config3.mjs';
37
+ import 'node:util';
35
38
  import './auto-updater.mjs';
36
- import 'ora';
37
39
  import './version-checker.mjs';
38
40
  import 'node:path';
39
- import 'semver';
40
- import './codex.mjs';
41
- import '../shared/ccjk.BFQ7yr5S.mjs';
42
- import './prompts.mjs';
43
- import '../shared/ccjk.BM_HZogn.mjs';
44
- import '../shared/ccjk.CS0ybJCf.mjs';
45
- import '../shared/ccjk.f40us0yY.mjs';
46
- import './installer.mjs';
47
- import '../shared/ccjk.BKoi8-Hy.mjs';
41
+ import '../shared/ccjk.DvIrK0wz.mjs';
42
+ import './installer2.mjs';
43
+ import '../shared/ccjk.DE91nClQ.mjs';
48
44
 
49
45
  function displayHeader() {
50
46
  console.log("");
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'node:url';
5
5
  import { join, dirname } from 'pathe';
6
6
  import { CCJK_CONFIG_DIR } from './constants.mjs';
7
7
  import { getCloudState, updateCloudState } from './auto-bootstrap.mjs';
8
- import './index2.mjs';
8
+ import './index.mjs';
9
9
  import 'i18next';
10
10
  import 'i18next-fs-backend';
11
11
  import 'node:crypto';
@@ -5,9 +5,9 @@ import { exec } from 'tinyexec';
5
5
  import { SETTINGS_FILE, CLAUDE_DIR } from './constants.mjs';
6
6
  import { ensureDir, writeFileAtomic } from './fs-operations.mjs';
7
7
  import { m as mergeAndCleanPermissions } from './config.mjs';
8
- import { g as getPlatform } from './platform.mjs';
8
+ import { b as getPlatform } from './platform.mjs';
9
9
  import 'node:os';
10
- import './index2.mjs';
10
+ import './index.mjs';
11
11
  import 'node:process';
12
12
  import 'i18next';
13
13
  import 'i18next-fs-backend';
@@ -8,7 +8,7 @@ import { join, dirname } from 'pathe';
8
8
  import { g as getPluginManager } from '../shared/ccjk.BsXQugfY.mjs';
9
9
  import 'tinyexec';
10
10
  import './constants.mjs';
11
- import './index2.mjs';
11
+ import './index.mjs';
12
12
  import 'node:process';
13
13
  import 'i18next';
14
14
  import 'i18next-fs-backend';
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { getTranslation } from './index2.mjs';
3
+ import { getTranslation } from './index.mjs';
4
4
  import { createHash } from 'node:crypto';
5
5
  import { existsSync, readdirSync, readFileSync, mkdirSync } from 'node:fs';
6
6
  import process__default from 'node:process';