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
@@ -9,16 +9,217 @@ import semver__default from 'semver';
9
9
  import { parse } from 'smol-toml';
10
10
  import { x } from 'tinyexec';
11
11
  import { CODEX_AUTH_FILE, SUPPORTED_LANGS, CODEX_DIR, CODEX_AGENTS_FILE, CODEX_PROMPTS_DIR, CODEX_CONFIG_FILE, AI_OUTPUT_LANGUAGES, ZCF_CONFIG_FILE } from './constants.mjs';
12
- import { ensureI18nInitialized, i18n, format } from './index2.mjs';
12
+ import { ensureI18nInitialized, i18n, format } from './index.mjs';
13
13
  import { updateZcfConfig, readZcfConfig, readDefaultTomlConfig, updateTomlConfig } from './ccjk-config.mjs';
14
- import { a as applyAiLanguageDirective } from './config.mjs';
14
+ import { d as applyAiLanguageDirective } from './config.mjs';
15
15
  import { exists, readFile, ensureDir, writeFileAtomic, writeFile, copyFile, copyDir } from './fs-operations.mjs';
16
16
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
17
- import { j as isWindows, l as getMcpCommand, m as getSystemRoot, w as wrapCommandWithSudo, n as normalizeTomlPath } from './platform.mjs';
17
+ import { i as isWindows, d as getMcpCommand, g as getSystemRoot, w as wrapCommandWithSudo, n as normalizeTomlPath } from './platform.mjs';
18
18
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
19
19
  import { resolveAiOutputLanguage } from './prompts.mjs';
20
20
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
21
- import { M as MCP_SERVICE_CONFIGS, s as selectMcpServices, g as getMcpServices } from '../shared/ccjk.CZgIwikC.mjs';
21
+ import 'node:child_process';
22
+ import { homedir } from 'node:os';
23
+
24
+ const PLAYWRIGHT_PROFILES_DIR = join(homedir(), ".ccjk", "playwright");
25
+ function createPlaywrightMcpConfig(options = {}) {
26
+ const {
27
+ profile = "default",
28
+ headless = false,
29
+ browser = "chromium",
30
+ userDataDir
31
+ } = options;
32
+ const resolvedUserDataDir = userDataDir || join(PLAYWRIGHT_PROFILES_DIR, profile);
33
+ const args = ["-y", "@playwright/mcp@latest"];
34
+ args.push("--browser", browser);
35
+ args.push("--user-data-dir", resolvedUserDataDir);
36
+ if (headless) {
37
+ args.push("--headless");
38
+ }
39
+ return {
40
+ type: "stdio",
41
+ command: "npx",
42
+ args,
43
+ env: {}
44
+ };
45
+ }
46
+ const MCP_SERVICE_CONFIGS = [
47
+ // Documentation and Search Services - Universal (no GUI required)
48
+ {
49
+ id: "context7",
50
+ requiresApiKey: false,
51
+ config: {
52
+ type: "stdio",
53
+ command: "npx",
54
+ args: ["-y", "@upstash/context7-mcp@latest"],
55
+ env: {}
56
+ }
57
+ // Works on all platforms - no special requirements
58
+ },
59
+ {
60
+ id: "open-websearch",
61
+ requiresApiKey: false,
62
+ config: {
63
+ type: "stdio",
64
+ command: "npx",
65
+ args: ["-y", "open-websearch@latest"],
66
+ env: {
67
+ MODE: "stdio",
68
+ DEFAULT_SEARCH_ENGINE: "duckduckgo",
69
+ ALLOWED_SEARCH_ENGINES: "duckduckgo,bing,brave"
70
+ }
71
+ }
72
+ // Works on all platforms - no special requirements
73
+ },
74
+ {
75
+ id: "mcp-deepwiki",
76
+ requiresApiKey: false,
77
+ config: {
78
+ type: "stdio",
79
+ command: "npx",
80
+ args: ["-y", "mcp-deepwiki@latest"],
81
+ env: {}
82
+ }
83
+ // Works on all platforms - no special requirements
84
+ },
85
+ // Development Workflow Services
86
+ {
87
+ id: "spec-workflow",
88
+ requiresApiKey: false,
89
+ config: {
90
+ type: "stdio",
91
+ command: "npx",
92
+ args: ["-y", "@pimzino/spec-workflow-mcp@latest"],
93
+ env: {}
94
+ }
95
+ // Works on all platforms - no special requirements
96
+ },
97
+ {
98
+ id: "serena",
99
+ requiresApiKey: false,
100
+ config: {
101
+ type: "stdio",
102
+ command: "uvx",
103
+ args: ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "ide-assistant", "--enable-web-dashboard", "false"],
104
+ env: {}
105
+ },
106
+ platformRequirements: {
107
+ requiredCommands: ["uvx"]
108
+ // Requires uv/uvx to be installed
109
+ }
110
+ },
111
+ // Browser and Automation Services - Require GUI environment
112
+ {
113
+ id: "Playwright",
114
+ requiresApiKey: false,
115
+ config: createPlaywrightMcpConfig(),
116
+ // Uses default profile with chromium browser
117
+ platformRequirements: {
118
+ platforms: ["macos", "windows"],
119
+ // GUI required - exclude headless Linux/WSL/Termux
120
+ requiresGui: true
121
+ }
122
+ },
123
+ // Anthropic Official MCP Services - Universal
124
+ // Note: Removed low-value services: filesystem (buggy), puppeteer (duplicate of Playwright),
125
+ // memory (Claude has built-in memory), fetch (Claude has WebFetch), sequential-thinking (limited value)
126
+ {
127
+ id: "sqlite",
128
+ requiresApiKey: false,
129
+ config: {
130
+ type: "stdio",
131
+ command: "npx",
132
+ args: ["-y", "@anthropic-ai/mcp-server-sqlite@latest"],
133
+ env: {}
134
+ }
135
+ // Works on all platforms - no special requirements
136
+ }
137
+ ];
138
+ async function getMcpServices() {
139
+ ensureI18nInitialized();
140
+ const mcpServiceList = [
141
+ // Documentation and Search Services
142
+ {
143
+ id: "context7",
144
+ name: i18n.t("mcp:services.context7.name"),
145
+ description: i18n.t("mcp:services.context7.description")
146
+ },
147
+ {
148
+ id: "open-websearch",
149
+ name: i18n.t("mcp:services.open-websearch.name"),
150
+ description: i18n.t("mcp:services.open-websearch.description")
151
+ },
152
+ {
153
+ id: "mcp-deepwiki",
154
+ name: i18n.t("mcp:services.mcp-deepwiki.name"),
155
+ description: i18n.t("mcp:services.mcp-deepwiki.description")
156
+ },
157
+ // Development Workflow Services
158
+ {
159
+ id: "spec-workflow",
160
+ name: i18n.t("mcp:services.spec-workflow.name"),
161
+ description: i18n.t("mcp:services.spec-workflow.description")
162
+ },
163
+ {
164
+ id: "serena",
165
+ name: i18n.t("mcp:services.serena.name"),
166
+ description: i18n.t("mcp:services.serena.description")
167
+ },
168
+ // Browser and Automation Services
169
+ {
170
+ id: "Playwright",
171
+ name: i18n.t("mcp:services.playwright.name"),
172
+ description: i18n.t("mcp:services.playwright.description")
173
+ },
174
+ // Anthropic Official MCP Services
175
+ // Note: Removed low-value services: filesystem (buggy), puppeteer (duplicate),
176
+ // memory (Claude built-in), fetch (Claude WebFetch), sequential-thinking (limited value)
177
+ {
178
+ id: "sqlite",
179
+ name: i18n.t("mcp:services.sqlite.name"),
180
+ description: i18n.t("mcp:services.sqlite.description")
181
+ }
182
+ ];
183
+ return MCP_SERVICE_CONFIGS.map((config) => {
184
+ const serviceInfo = mcpServiceList.find((s) => s.id === config.id);
185
+ const service = {
186
+ id: config.id,
187
+ name: serviceInfo?.name || config.id,
188
+ description: serviceInfo?.description || "",
189
+ requiresApiKey: config.requiresApiKey,
190
+ config: config.config
191
+ };
192
+ if (config.apiKeyEnvVar) {
193
+ service.apiKeyEnvVar = config.apiKeyEnvVar;
194
+ }
195
+ return service;
196
+ });
197
+ }
198
+ async function getMcpService(id) {
199
+ const services = await getMcpServices();
200
+ return services.find((service) => service.id === id);
201
+ }
202
+
203
+ async function selectMcpServices() {
204
+ ensureI18nInitialized();
205
+ const mcpServices = await getMcpServices();
206
+ const choices = mcpServices.map((service) => ({
207
+ name: `${service.name} - ${ansis.gray(service.description)}`,
208
+ value: service.id,
209
+ selected: false
210
+ }));
211
+ const { services } = await inquirer.prompt({
212
+ type: "checkbox",
213
+ name: "services",
214
+ message: `${i18n.t("mcp:selectMcpServices")}${i18n.t("common:multiSelectHint")}`,
215
+ choices
216
+ });
217
+ if (services === void 0) {
218
+ console.log(ansis.yellow(i18n.t("common:cancelled")));
219
+ return void 0;
220
+ }
221
+ return services;
222
+ }
22
223
 
23
224
  function detectConfigManagementMode() {
24
225
  try {
@@ -310,7 +511,7 @@ async function executeCodexInstallation(isUpdate, skipMethodSelection = false) {
310
511
  }
311
512
  console.log(ansis.green(i18n.t("codex:updateSuccess")));
312
513
  } else {
313
- const { installCodex } = await import('./installer.mjs');
514
+ const { installCodex } = await import('./installer2.mjs');
314
515
  await installCodex(skipMethodSelection);
315
516
  }
316
517
  }
@@ -1746,4 +1947,4 @@ const codex = {
1746
1947
  writeCodexConfig: writeCodexConfig
1747
1948
  };
1748
1949
 
1749
- export { switchToOfficialLogin as a, switchToProvider as b, runCodexUpdate as c, detectConfigManagementMode as d, backupCodexComplete as e, writeAuthFile as f, applyCodexPlatformCommand as g, runCodexFullInit as h, codex as i, listCodexProviders as l, readCodexConfig as r, switchCodexProvider as s, writeCodexConfig as w };
1950
+ export { MCP_SERVICE_CONFIGS as M, applyCodexPlatformCommand as a, runCodexFullInit as b, getMcpServices as c, runCodexUpdate as d, switchCodexProvider as e, switchToOfficialLogin as f, getMcpService as g, switchToProvider as h, backupCodexComplete as i, writeAuthFile as j, detectConfigManagementMode as k, listCodexProviders as l, codex as m, readCodexConfig as r, selectMcpServices as s, writeCodexConfig as w };