ccjk 5.2.0 → 5.2.2
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.
- package/dist/chunks/api.mjs +6 -6
- package/dist/chunks/auto-updater.mjs +80 -133
- package/dist/chunks/ccm.mjs +7 -7
- package/dist/chunks/ccr.mjs +7 -4
- package/dist/chunks/ccu.mjs +6 -6
- package/dist/chunks/check-updates.mjs +3 -3
- package/dist/chunks/claude-code-incremental-manager.mjs +38 -38
- package/dist/chunks/cloud-v5.mjs +1651 -0
- package/dist/chunks/codex.mjs +70 -70
- package/dist/chunks/commands.mjs +25 -25
- package/dist/chunks/commit.mjs +16 -16
- package/dist/chunks/config-consolidator.mjs +9 -9
- package/dist/chunks/config-switch.mjs +39 -39
- package/dist/chunks/config.mjs +5 -5
- package/dist/chunks/config2.mjs +85 -85
- package/dist/chunks/context.mjs +2 -2
- package/dist/chunks/doctor.mjs +31 -31
- package/dist/chunks/features.mjs +84 -83
- package/dist/chunks/help.mjs +116 -116
- package/dist/chunks/index4.mjs +46 -46
- package/dist/chunks/init.mjs +214 -191
- package/dist/chunks/interview.mjs +102 -102
- package/dist/chunks/manager.mjs +238 -0
- package/dist/chunks/marketplace.mjs +59 -59
- package/dist/chunks/mcp.mjs +82 -82
- package/dist/chunks/menu.mjs +441 -379
- package/dist/chunks/notification.mjs +112 -112
- package/dist/chunks/onboarding.mjs +7 -7
- package/dist/chunks/package.mjs +1 -1
- package/dist/chunks/permission-manager.mjs +8 -8
- package/dist/chunks/plugin.mjs +100 -100
- package/dist/chunks/prompts.mjs +15 -15
- package/dist/chunks/providers.mjs +65 -65
- package/dist/chunks/session.mjs +83 -83
- package/dist/chunks/skills-sync.mjs +72 -72
- package/dist/chunks/skills.mjs +88 -88
- package/dist/chunks/team.mjs +6 -6
- package/dist/chunks/uninstall.mjs +35 -35
- package/dist/chunks/update.mjs +6 -6
- package/dist/chunks/upgrade-manager.mjs +4 -4
- package/dist/chunks/workflows2.mjs +13 -13
- package/dist/cli.mjs +21 -0
- package/dist/i18n/locales/en/menu.json +16 -1
- package/dist/i18n/locales/en/skills.json +29 -0
- package/dist/i18n/locales/zh-CN/menu.json +16 -1
- package/dist/i18n/locales/zh-CN/skills.json +29 -0
- package/dist/index.mjs +4 -4
- package/dist/shared/{ccjk.f40us0yY.mjs → ccjk.BiJujy5w.mjs} +4 -4
- package/dist/shared/{ccjk.CQzwtnZ1.mjs → ccjk.C_3BYaWc.mjs} +50 -50
- package/dist/shared/{ccjk.Zwx-YR_P.mjs → ccjk.DjD9Rzxq.mjs} +32 -32
- package/dist/shared/{ccjk.DtWIPt8E.mjs → ccjk.XgW1H2t3.mjs} +68 -68
- package/dist/shared/{ccjk.BlPCiSHj.mjs → ccjk.tI4PJA0c.mjs} +30 -30
- package/package.json +3 -3
package/dist/chunks/update.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import
|
|
2
|
+
import ansis__default from 'ansis';
|
|
3
3
|
import { version } from './package.mjs';
|
|
4
4
|
import { SETTINGS_FILE, DEFAULT_CODE_TOOL_TYPE, resolveCodeToolType as resolveCodeToolType$1, isCodeToolType } from './constants.mjs';
|
|
5
5
|
import { i18n } from './index2.mjs';
|
|
6
|
-
import { d as displayBanner } from '../shared/ccjk.
|
|
6
|
+
import { d as displayBanner } from '../shared/ccjk.DjD9Rzxq.mjs';
|
|
7
7
|
import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
|
|
8
8
|
import { d as runCodexUpdate } from './codex.mjs';
|
|
9
|
-
import { n as needsMigration, a as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.
|
|
10
|
-
import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.
|
|
9
|
+
import { n as needsMigration, a as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.XgW1H2t3.mjs';
|
|
10
|
+
import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.BiJujy5w.mjs';
|
|
11
11
|
import { resolveAiOutputLanguage } from './prompts.mjs';
|
|
12
12
|
import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
|
|
13
13
|
import 'node:os';
|
|
@@ -83,7 +83,7 @@ async function update(options = {}) {
|
|
|
83
83
|
const aiOutputLang = await resolveAiOutputLanguage(i18n.language, options.aiOutputLang, zcfConfig, options.skipPrompt);
|
|
84
84
|
if (existsSync(SETTINGS_FILE) && needsMigration()) {
|
|
85
85
|
if (options.skipPrompt) {
|
|
86
|
-
console.log(
|
|
86
|
+
console.log(ansis__default.yellow("\n\u26A0\uFE0F Problematic configuration detected. Auto-fixing...\n"));
|
|
87
87
|
const result = migrateSettingsForTokenRetrieval();
|
|
88
88
|
displayMigrationResult(result);
|
|
89
89
|
} else {
|
|
@@ -94,7 +94,7 @@ async function update(options = {}) {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
console.log(
|
|
97
|
+
console.log(ansis__default.green(`
|
|
98
98
|
${i18n.t("configuration:updatingPrompts")}
|
|
99
99
|
`));
|
|
100
100
|
await updatePromptOnly(aiOutputLang);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import process__default from 'node:process';
|
|
2
|
-
import
|
|
2
|
+
import ansis__default from 'ansis';
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import semver from 'semver';
|
|
5
5
|
import { exec } from 'tinyexec';
|
|
6
6
|
import { version } from './package.mjs';
|
|
7
|
-
import { S as STATUS } from '../shared/ccjk.
|
|
7
|
+
import { S as STATUS } from '../shared/ccjk.DjD9Rzxq.mjs';
|
|
8
8
|
import './index2.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:url';
|
|
@@ -156,7 +156,7 @@ async function upgradeAllPlugins() {
|
|
|
156
156
|
return results;
|
|
157
157
|
}
|
|
158
158
|
async function checkAllVersions() {
|
|
159
|
-
console.log(
|
|
159
|
+
console.log(ansis__default.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Version Check \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
|
|
160
160
|
const claudeCode = await checkClaudeCodeVersion();
|
|
161
161
|
if (claudeCode.updateAvailable) {
|
|
162
162
|
console.log(STATUS.warning(`Claude Code: v${claudeCode.current} \u2192 v${claudeCode.latest} (update available)`));
|
|
@@ -183,7 +183,7 @@ async function checkAllVersions() {
|
|
|
183
183
|
console.log("");
|
|
184
184
|
}
|
|
185
185
|
async function upgradeAll() {
|
|
186
|
-
console.log(
|
|
186
|
+
console.log(ansis__default.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Upgrading All \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
|
|
187
187
|
await upgradeClaudeCode();
|
|
188
188
|
await upgradeCcjk();
|
|
189
189
|
const pluginResults = await upgradeAllPlugins();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ansis__default from 'ansis';
|
|
2
2
|
import 'inquirer';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
|
|
@@ -570,11 +570,11 @@ const PHASE_ICONS = {
|
|
|
570
570
|
finishing: "\u2705"
|
|
571
571
|
};
|
|
572
572
|
const PHASE_COLORS = {
|
|
573
|
-
brainstorming:
|
|
574
|
-
planning:
|
|
575
|
-
implementation:
|
|
576
|
-
review:
|
|
577
|
-
finishing:
|
|
573
|
+
brainstorming: ansis__default.magenta,
|
|
574
|
+
planning: ansis__default.green,
|
|
575
|
+
implementation: ansis__default.yellow,
|
|
576
|
+
review: ansis__default.green,
|
|
577
|
+
finishing: ansis__default.green
|
|
578
578
|
};
|
|
579
579
|
const STATUS_ICONS = {
|
|
580
580
|
active: "\u{1F504}",
|
|
@@ -603,22 +603,22 @@ async function listAllWorkflows(options = {}) {
|
|
|
603
603
|
return;
|
|
604
604
|
}
|
|
605
605
|
if (workflows.length === 0) {
|
|
606
|
-
console.log(
|
|
606
|
+
console.log(ansis__default.yellow("\n \u26A0\uFE0F No workflows found\n"));
|
|
607
607
|
return;
|
|
608
608
|
}
|
|
609
609
|
console.log("");
|
|
610
|
-
console.log(
|
|
611
|
-
console.log(
|
|
612
|
-
console.log(
|
|
610
|
+
console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
|
|
611
|
+
console.log(ansis__default.bold(` ${"ID".padEnd(10)} ${"Name".padEnd(20)} ${"Phase".padEnd(15)} ${"Status".padEnd(10)} ${"Progress".padEnd(15)}`));
|
|
612
|
+
console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
|
|
613
613
|
for (const wf of workflows) {
|
|
614
614
|
const counts = getTaskCounts(wf);
|
|
615
615
|
const progress = `${counts.completed}/${counts.total}`;
|
|
616
616
|
console.log(
|
|
617
|
-
` ${
|
|
617
|
+
` ${ansis__default.dim(wf.id.slice(0, 8).padEnd(10))} ${wf.name.slice(0, 18).padEnd(20)} ${formatPhase(wf.currentPhase).padEnd(25)} ${STATUS_ICONS[wf.status]} ${wf.status.padEnd(8)} ${progress}`
|
|
618
618
|
);
|
|
619
619
|
}
|
|
620
|
-
console.log(
|
|
621
|
-
console.log(
|
|
620
|
+
console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
|
|
621
|
+
console.log(ansis__default.dim(` Total: ${workflows.length} workflows`));
|
|
622
622
|
console.log("");
|
|
623
623
|
}
|
|
624
624
|
|
package/dist/cli.mjs
CHANGED
|
@@ -717,6 +717,26 @@ const COMMANDS = [
|
|
|
717
717
|
};
|
|
718
718
|
}
|
|
719
719
|
},
|
|
720
|
+
{
|
|
721
|
+
name: "cloud-v5 [subcommand]",
|
|
722
|
+
description: "CCJK Cloud v5.1.0-2026 (Agent Orchestrator, MCP Gateway, Memory)",
|
|
723
|
+
aliases: ["c5", "cloud5"],
|
|
724
|
+
tier: "extended",
|
|
725
|
+
options: [
|
|
726
|
+
{ flags: "--endpoint, -e <url>", description: "Cloud service endpoint" },
|
|
727
|
+
{ flags: "--token, -t <token>", description: "API authentication token" },
|
|
728
|
+
{ flags: "--watch, -w", description: "Watch progress in real-time" },
|
|
729
|
+
{ flags: "--query, -q <query>", description: "Search query" },
|
|
730
|
+
{ flags: "--top, -n <number>", description: "Top N results" },
|
|
731
|
+
{ flags: "--id <id>", description: "Resource ID" }
|
|
732
|
+
],
|
|
733
|
+
loader: async () => {
|
|
734
|
+
const { cloudV5Command } = await import('./chunks/cloud-v5.mjs');
|
|
735
|
+
return async (options, subcommand) => {
|
|
736
|
+
await cloudV5Command(subcommand, options);
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
},
|
|
720
740
|
// ==================== Postmortem System ====================
|
|
721
741
|
{
|
|
722
742
|
name: "postmortem <action> [...args]",
|
|
@@ -1256,6 +1276,7 @@ function customizeHelpLazy(_sections, version) {
|
|
|
1256
1276
|
` ${cyan("ccjk workflows")} ${gray("wf")} Manage workflows`,
|
|
1257
1277
|
` ${cyan("ccjk ccr")} CCR proxy management`,
|
|
1258
1278
|
` ${cyan("ccjk ccu")} Usage statistics`,
|
|
1279
|
+
` ${cyan("ccjk cloud-v5")} ${gray("c5")} Cloud v5.1.0-2026 ${green("NEW")}`,
|
|
1259
1280
|
` ${cyan("ccjk uninstall")} Remove configurations`
|
|
1260
1281
|
].join("\n")
|
|
1261
1282
|
});
|
|
@@ -280,5 +280,20 @@
|
|
|
280
280
|
"newUser.pressEnter": "Press Enter to continue...",
|
|
281
281
|
|
|
282
282
|
"extensionsHub.title": "🔌 Extensions Hub",
|
|
283
|
-
"extensionsHub.markets": "📦 Markets"
|
|
283
|
+
"extensionsHub.markets": "📦 Markets",
|
|
284
|
+
|
|
285
|
+
"cloudV51.title": "☁️ CCJK Cloud v5.1.0-2026",
|
|
286
|
+
"cloudV51.desc": "2026 Edition Cloud Services (Agent Orchestrator / MCP Gateway / Memory)",
|
|
287
|
+
"cloudV51.orchestrator": "Agent Orchestrator",
|
|
288
|
+
"cloudV51.orchestratorDesc": "Multi-agent collaborative task execution (Cowork style)",
|
|
289
|
+
"cloudV51.mcpGateway": "MCP Gateway",
|
|
290
|
+
"cloudV51.mcpGatewayDesc": "Unified access to 10,000+ MCP servers",
|
|
291
|
+
"cloudV51.memorySystem": "Memory System",
|
|
292
|
+
"cloudV51.memorySystemDesc": "Recallium universal memory management",
|
|
293
|
+
"cloudV51.sessionTeleport": "Session Teleport",
|
|
294
|
+
"cloudV51.sessionTeleportDesc": "Cross-device session synchronization",
|
|
295
|
+
"cloudV51.skillsHotReload": "Skills Hot-Reload",
|
|
296
|
+
"cloudV51.skillsHotReloadDesc": "Real-time skill monitoring and reload",
|
|
297
|
+
"cloudV51.lifecycleHooks": "Lifecycle Hooks",
|
|
298
|
+
"cloudV51.lifecycleHooksDesc": "Workflow event handling"
|
|
284
299
|
}
|
|
@@ -125,5 +125,34 @@
|
|
|
125
125
|
"creating": "Creating skills",
|
|
126
126
|
"created": "Successfully created {{count}} skill(s)",
|
|
127
127
|
"failed": "Failed to create {{count}} skill(s)"
|
|
128
|
+
},
|
|
129
|
+
"skillDescriptions": {
|
|
130
|
+
"commit": {
|
|
131
|
+
"name": "Smart Commit",
|
|
132
|
+
"description": "Analyze code changes and generate conventional commit messages",
|
|
133
|
+
"usage": "Use /commit or /cm to generate smart commit messages",
|
|
134
|
+
"examples": [
|
|
135
|
+
"/commit - Analyze current changes and generate commit message",
|
|
136
|
+
"/cm --auto - Auto-generate and apply commit message"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"review": {
|
|
140
|
+
"name": "Code Review",
|
|
141
|
+
"description": "Quick code quality analysis with improvement suggestions",
|
|
142
|
+
"usage": "Use /review or /rv to review current code",
|
|
143
|
+
"examples": [
|
|
144
|
+
"/review - Review current file",
|
|
145
|
+
"/rv --deep - Deep code review"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
"debug": {
|
|
149
|
+
"name": "Debug Assistant",
|
|
150
|
+
"description": "Intelligently analyze errors and provide fix suggestions",
|
|
151
|
+
"usage": "Use /debug or /db to diagnose issues",
|
|
152
|
+
"examples": [
|
|
153
|
+
"/debug - Analyze recent errors",
|
|
154
|
+
"/db \"error message\" - Diagnose specific error"
|
|
155
|
+
]
|
|
156
|
+
}
|
|
128
157
|
}
|
|
129
158
|
}
|
|
@@ -280,5 +280,20 @@
|
|
|
280
280
|
"newUser.pressEnter": "按 Enter 继续...",
|
|
281
281
|
|
|
282
282
|
"extensionsHub.title": "🔌 扩展中心",
|
|
283
|
-
"extensionsHub.markets": "📦 市场"
|
|
283
|
+
"extensionsHub.markets": "📦 市场",
|
|
284
|
+
|
|
285
|
+
"cloudV51.title": "☁️ CCJK Cloud v5.1.0-2026",
|
|
286
|
+
"cloudV51.desc": "2026 版云端服务(Agent 编排 / MCP Gateway / 记忆系统)",
|
|
287
|
+
"cloudV51.orchestrator": "Agent 编排器",
|
|
288
|
+
"cloudV51.orchestratorDesc": "多 Agent 协同任务执行(Cowork 风格)",
|
|
289
|
+
"cloudV51.mcpGateway": "MCP 网关",
|
|
290
|
+
"cloudV51.mcpGatewayDesc": "统一访问 10000+ MCP 服务器",
|
|
291
|
+
"cloudV51.memorySystem": "记忆系统",
|
|
292
|
+
"cloudV51.memorySystemDesc": "Recallium 通用记忆管理",
|
|
293
|
+
"cloudV51.sessionTeleport": "会话传送",
|
|
294
|
+
"cloudV51.sessionTeleportDesc": "跨设备会话同步",
|
|
295
|
+
"cloudV51.skillsHotReload": "技能热重载",
|
|
296
|
+
"cloudV51.skillsHotReloadDesc": "实时技能监控和重载",
|
|
297
|
+
"cloudV51.lifecycleHooks": "生命周期钩子",
|
|
298
|
+
"cloudV51.lifecycleHooksDesc": "工作流事件处理"
|
|
284
299
|
}
|
|
@@ -125,5 +125,34 @@
|
|
|
125
125
|
"creating": "正在创建技能",
|
|
126
126
|
"created": "成功创建 {{count}} 个技能",
|
|
127
127
|
"failed": "失败 {{count}} 个"
|
|
128
|
+
},
|
|
129
|
+
"skillDescriptions": {
|
|
130
|
+
"commit": {
|
|
131
|
+
"name": "智能提交",
|
|
132
|
+
"description": "自动分析代码变更,生成规范的 Git 提交信息",
|
|
133
|
+
"usage": "使用 /commit 或 /cm 来生成智能提交信息",
|
|
134
|
+
"examples": [
|
|
135
|
+
"/commit - 分析当前变更并生成提交信息",
|
|
136
|
+
"/cm --auto - 自动生成并应用提交信息"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"review": {
|
|
140
|
+
"name": "代码审查",
|
|
141
|
+
"description": "快速分析代码质量,提供改进建议",
|
|
142
|
+
"usage": "使用 /review 或 /rv 来审查当前代码",
|
|
143
|
+
"examples": [
|
|
144
|
+
"/review - 审查当前文件",
|
|
145
|
+
"/rv --deep - 深度代码审查"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
"debug": {
|
|
149
|
+
"name": "问题诊断",
|
|
150
|
+
"description": "智能分析错误信息,诊断问题并提供修复方案",
|
|
151
|
+
"usage": "使用 /debug 或 /db 来诊断问题",
|
|
152
|
+
"examples": [
|
|
153
|
+
"/debug - 分析最近的错误",
|
|
154
|
+
"/db \"错误信息\" - 诊断特定错误"
|
|
155
|
+
]
|
|
156
|
+
}
|
|
128
157
|
}
|
|
129
158
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { D as createHomebrewSymlink, x as detectInstalledVersion, E as displayVerificationResult, z as executeInstallMethod, p as getInstallationStatus, A as handleInstallFailure, e as init, m as installClaudeCode, o as installCodex, l as isClaudeCodeInstalled, n as isCodexInstalled, t as isLocalClaudeCodeInstalled, q as removeLocalClaudeCode, y as selectInstallMethod, w as setInstallMethod, v as uninstallCodeTool, B as verifyInstallation } from './chunks/init.mjs';
|
|
2
2
|
export { AIDER_CONFIG_FILE, AIDER_DIR, AIDER_ENV_FILE, AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CCJK_CLOUD_API_URL, CCJK_CLOUD_PLUGINS_API, CCJK_CLOUD_PLUGINS_CACHE_DIR, CCJK_CLOUD_PLUGINS_CACHE_FILE, CCJK_CLOUD_PLUGINS_DIR, CCJK_CLOUD_PLUGINS_INSTALLED_DIR, CCJK_CONFIG_DIR, CCJK_CONFIG_FILE, CCJK_GROUPS_DIR, CCJK_PLUGINS_DIR, CCJK_SKILLS_DIR, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CLINE_CONFIG_FILE, CLINE_DIR, CLOUD_PLUGINS_CACHE_TTL, CLOUD_PLUGINS_MAX_CACHE_SIZE, CODEX_AGENTS_FILE, CODEX_AUTH_FILE, CODEX_CONFIG_FILE, CODEX_DIR, CODEX_PROMPTS_DIR, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_INFO, CODE_TOOL_TYPES, CONTINUE_CONFIG_FILE, CONTINUE_DIR, CURSOR_CONFIG_FILE, CURSOR_DIR, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_DIR, LEGACY_ZCF_CONFIG_FILE, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, getAiOutputLanguageLabel, isCodeToolType, resolveCodeToolType } from './chunks/constants.mjs';
|
|
3
|
-
export { t as COLORS, S as STATUS, c as box, b as boxify, d as displayBanner, a as displayBannerWithInfo, e as divider, i as getDisplayWidth, h as header, m as menuItem, p as padToDisplayWidth, f as progress, r as renderProgressBar, s as sectionDivider, g as status, t as theme } from './shared/ccjk.
|
|
3
|
+
export { t as COLORS, S as STATUS, c as box, b as boxify, d as displayBanner, a as displayBannerWithInfo, e as divider, i as getDisplayWidth, h as header, m as menuItem, p as padToDisplayWidth, f as progress, r as renderProgressBar, s as sectionDivider, g as status, t as theme } from './shared/ccjk.DjD9Rzxq.mjs';
|
|
4
4
|
export { n as addCompletedOnboarding, a as applyAiLanguageDirective, j as backupExistingConfig, d as backupMcpConfig, e as buildMcpServerConfig, t as cleanupPermissions, i as configureApi, q as copyConfigFiles, x as ensureApiKeyApproved, o as ensureClaudeDir, f as fixWindowsMcpConfig, h as getExistingApiConfig, g as getExistingModelConfig, v as getMcpConfigPath, z as manageApiKeyApproval, k as mergeAndCleanPermissions, A as mergeConfigs, m as mergeMcpServers, B as mergeSettingsFile, p as promptApiConfigurationAction, r as readMcpConfig, y as removeApiKeyFromRejected, l as setPrimaryApiKey, s as switchToOfficialLogin, u as updateCustomModel, b as updateDefaultModel, w as writeMcpConfig } from './chunks/config.mjs';
|
|
5
5
|
export { compareConfigs, consolidateConfigs, detectAllConfigs, displayConfigScan, removeRedundantConfigs, writeConsolidatedConfig } from './chunks/config-consolidator.mjs';
|
|
6
6
|
export { d as detectProjectContext, j as formatFileSize, f as generateContextContent, b as getApplicableRules, e as getContextFileTypeLabel, c as getContextFiles, k as getContextRules, g as getProjectTypeLabel, h as getRecommendedRules, a as importRecommendedEnv, i as importRecommendedPermissions, m as mergeContextContent, o as openSettingsJson, r as readContextFile, w as writeContextFile } from './shared/ccjk.BjUZt6kx.mjs';
|
|
@@ -9,7 +9,7 @@ export { exportProjectKnowledge, getProjectKnowledge, loadKnowledgeBase, quickSy
|
|
|
9
9
|
export { PERMISSION_TEMPLATES, addAutoApprovePattern, applyTemplate, displayPermissions, exportPermissions, getCurrentTemplateId, importPermissions, isDirectoryTrusted, isPermissionAllowed, readPermissions, removeAutoApprovePattern, resetPermissions, trustDirectory, untrustDirectory, writePermissions } from './chunks/permission-manager.mjs';
|
|
10
10
|
export { commandExists, getPlatform } from './chunks/platform.mjs';
|
|
11
11
|
export { checkAllVersions, checkCcjkVersion, checkClaudeCodeVersion, checkPluginVersions, upgradeAll, upgradeAllPlugins, upgradeCcjk, upgradeClaudeCode, upgradePlugin } from './chunks/upgrade-manager.mjs';
|
|
12
|
-
export { d as displayCurrentStatus, r as runConfigWizard } from './shared/ccjk.
|
|
12
|
+
export { d as displayCurrentStatus, r as runConfigWizard } from './shared/ccjk.tI4PJA0c.mjs';
|
|
13
13
|
export { addSkill, createBatchSkills, ensureSkillsDir, exportSkills, getAllSkills, getBatchCategories, getBuiltinSkill, getBuiltinSkills, getSkill, getRegistry as getSkillRegistry, importSkills, isBuiltinSkill, refreshRegistry as refreshSkillRegistry, removeSkill, searchSkills, setSkillEnabled } from './chunks/manager.mjs';
|
|
14
14
|
export { e as detectBuildTools, h as detectCICDSystems, c as detectFrameworks, i as detectLanguages, b as detectPackageManager, d as detectProject, f as detectTestFrameworks, j as determineProjectType, a as generateSuggestions, g as getProjectSummary } from './shared/ccjk.CcGtObYC.mjs';
|
|
15
15
|
export { f as applyCodexPlatformCommand, q as backupCodexAgents, n as backupCodexComplete, t as backupCodexConfig, u as backupCodexFiles, v as backupCodexPrompts, x as checkCodexUpdate, b as codexSwitchToOfficialLogin, j as configureCodexApi, i as configureCodexMcp, y as createBackupDirectory, p as detectConfigManagementMode, z as ensureEnvKeyMigration, P as getAvailableManagementActions, A as getBackupMessage, B as getCodexVersion, C as getCurrentCodexProvider, D as installCodexCli, E as isCodexCliInstalled, l as listCodexProviders, F as migrateEnvKeyInContent, G as migrateEnvKeyToTempEnvKey, H as needsEnvKeyMigration, I as parseCodexConfig, r as readCodexConfig, J as renderCodexConfig, m as runCodexFullInit, K as runCodexSystemPromptSelection, h as runCodexUninstall, d as runCodexUpdate, L as runCodexWorkflowImport, k as runCodexWorkflowImportWithLanguageSelection, N as runCodexWorkflowSelection, O as shouldShowManagementMode, a as switchCodexProvider, c as switchToProvider, o as writeAuthFile, w as writeCodexConfig } from './chunks/codex.mjs';
|
|
@@ -43,8 +43,8 @@ import './chunks/version-checker.mjs';
|
|
|
43
43
|
import 'node:path';
|
|
44
44
|
import 'semver';
|
|
45
45
|
import './shared/ccjk.CUdzQluX.mjs';
|
|
46
|
-
import './shared/ccjk.
|
|
47
|
-
import './shared/ccjk.
|
|
46
|
+
import './shared/ccjk.XgW1H2t3.mjs';
|
|
47
|
+
import './shared/ccjk.BiJujy5w.mjs';
|
|
48
48
|
import './chunks/prompts.mjs';
|
|
49
49
|
import 'node:events';
|
|
50
50
|
import '@clack/prompts';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import process__default from 'node:process';
|
|
2
|
-
import
|
|
2
|
+
import ansis__default from 'ansis';
|
|
3
3
|
import { ensureI18nInitialized, i18n } from '../chunks/index2.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"));
|
|
7
7
|
if (isExitError) {
|
|
8
8
|
ensureI18nInitialized();
|
|
9
|
-
console.log(
|
|
9
|
+
console.log(ansis__default.green(`
|
|
10
10
|
${i18n.t("common:goodbye")}
|
|
11
11
|
`));
|
|
12
12
|
process__default.exit(0);
|
|
@@ -15,9 +15,9 @@ ${i18n.t("common:goodbye")}
|
|
|
15
15
|
}
|
|
16
16
|
function handleGeneralError(error) {
|
|
17
17
|
ensureI18nInitialized();
|
|
18
|
-
console.error(
|
|
18
|
+
console.error(ansis__default.red(`${i18n.t("errors:generalError")}:`), error);
|
|
19
19
|
if (error instanceof Error) {
|
|
20
|
-
console.error(
|
|
20
|
+
console.error(ansis__default.gray(`${i18n.t("errors:stackTrace")}: ${error.stack}`));
|
|
21
21
|
}
|
|
22
22
|
process__default.exit(1);
|
|
23
23
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ansis__default from 'ansis';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
3
|
import { e as getMcpService, r as readCodexConfig, f as applyCodexPlatformCommand, w as writeCodexConfig, M as MCP_SERVICE_CONFIGS } from '../chunks/codex.mjs';
|
|
4
4
|
import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
|
|
@@ -758,19 +758,19 @@ async function displayInstalledMcpServices(tool) {
|
|
|
758
758
|
const targetTool = tool || detectActiveTool();
|
|
759
759
|
const services = await listInstalledMcpServices(targetTool);
|
|
760
760
|
if (services.length === 0) {
|
|
761
|
-
console.log(
|
|
761
|
+
console.log(ansis__default.yellow(i18n.t("mcp:installer.noServicesInstalled")));
|
|
762
762
|
return;
|
|
763
763
|
}
|
|
764
|
-
console.log(
|
|
764
|
+
console.log(ansis__default.green.bold(`
|
|
765
765
|
${i18n.t("mcp:installer.installedServices", { tool: targetTool })}
|
|
766
766
|
`));
|
|
767
767
|
services.forEach((service, idx) => {
|
|
768
|
-
console.log(`${
|
|
768
|
+
console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(service.name)} ${ansis__default.dim(`[${service.id}]`)}`);
|
|
769
769
|
if (service.command) {
|
|
770
|
-
console.log(` ${
|
|
770
|
+
console.log(` ${ansis__default.dim(`Command: ${service.command}`)}`);
|
|
771
771
|
}
|
|
772
772
|
if (service.url) {
|
|
773
|
-
console.log(` ${
|
|
773
|
+
console.log(` ${ansis__default.dim(`URL: ${service.url}`)}`);
|
|
774
774
|
}
|
|
775
775
|
console.log("");
|
|
776
776
|
});
|
|
@@ -823,46 +823,46 @@ async function mcpSearch(keyword, options = {}) {
|
|
|
823
823
|
};
|
|
824
824
|
const result = await client.search(searchOptions);
|
|
825
825
|
if (result.packages.length === 0) {
|
|
826
|
-
console.log(
|
|
826
|
+
console.log(ansis__default.yellow(`
|
|
827
827
|
${i18n.t("mcp:market.noResults", { keyword })}`));
|
|
828
828
|
return;
|
|
829
829
|
}
|
|
830
|
-
console.log(
|
|
830
|
+
console.log(ansis__default.green.bold(`
|
|
831
831
|
${i18n.t("mcp:market.searchResults", { count: result.total, keyword })}
|
|
832
832
|
`));
|
|
833
833
|
result.packages.forEach((pkg, idx) => {
|
|
834
834
|
const lang = i18n.language;
|
|
835
|
-
const verifiedBadge = pkg.verified ?
|
|
836
|
-
console.log(`${
|
|
835
|
+
const verifiedBadge = pkg.verified ? ansis__default.green("\u2713") : ansis__default.dim("\u25CB");
|
|
836
|
+
console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(pkg.name)} ${verifiedBadge} ${ansis__default.dim(`[${pkg.category}]`)}`);
|
|
837
837
|
console.log(` ${pkg.description[lang] || pkg.description.en}`);
|
|
838
|
-
console.log(` ${
|
|
839
|
-
console.log(` ${
|
|
838
|
+
console.log(` ${ansis__default.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0`)}`);
|
|
839
|
+
console.log(` ${ansis__default.dim(pkg.id)}
|
|
840
840
|
`);
|
|
841
841
|
});
|
|
842
842
|
if (result.hasMore) {
|
|
843
|
-
console.log(
|
|
843
|
+
console.log(ansis__default.dim(`
|
|
844
844
|
${i18n.t("mcp:market.moreResults", { total: result.total, shown: result.packages.length })}`));
|
|
845
845
|
}
|
|
846
846
|
} catch {
|
|
847
|
-
console.log(
|
|
847
|
+
console.log(ansis__default.yellow(`
|
|
848
848
|
${i18n.t("mcp:market.apiUnavailable")}`));
|
|
849
|
-
console.log(
|
|
849
|
+
console.log(ansis__default.dim(i18n.t("mcp:market.usingLocalData")));
|
|
850
850
|
const localServers = getLocalFallbackServices();
|
|
851
851
|
const results = localServers.filter(
|
|
852
852
|
(s) => s.name.toLowerCase().includes(keyword.toLowerCase()) || s.description.toLowerCase().includes(keyword.toLowerCase()) || s.category.toLowerCase().includes(keyword.toLowerCase())
|
|
853
853
|
);
|
|
854
854
|
if (results.length === 0) {
|
|
855
|
-
console.log(
|
|
855
|
+
console.log(ansis__default.yellow(`
|
|
856
856
|
${i18n.t("mcp:market.noResults", { keyword })}`));
|
|
857
857
|
return;
|
|
858
858
|
}
|
|
859
|
-
console.log(
|
|
859
|
+
console.log(ansis__default.green.bold(`
|
|
860
860
|
${i18n.t("mcp:market.searchResults", { count: results.length, keyword })}
|
|
861
861
|
`));
|
|
862
862
|
results.forEach((server, idx) => {
|
|
863
|
-
console.log(`${
|
|
863
|
+
console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(server.name)} ${ansis__default.dim(`[${server.category}]`)}`);
|
|
864
864
|
console.log(` ${server.description}`);
|
|
865
|
-
console.log(` ${
|
|
865
|
+
console.log(` ${ansis__default.dim(server.package)}
|
|
866
866
|
`);
|
|
867
867
|
});
|
|
868
868
|
}
|
|
@@ -872,35 +872,35 @@ async function mcpTrending(options = {}) {
|
|
|
872
872
|
try {
|
|
873
873
|
const trending = await client.getTrending(options.limit || 10);
|
|
874
874
|
if (trending.length === 0) {
|
|
875
|
-
console.log(
|
|
875
|
+
console.log(ansis__default.yellow(`
|
|
876
876
|
${i18n.t("mcp:market.noTrending")}`));
|
|
877
877
|
return;
|
|
878
878
|
}
|
|
879
|
-
console.log(
|
|
879
|
+
console.log(ansis__default.green.bold(`
|
|
880
880
|
${i18n.t("mcp:market.trending")}
|
|
881
881
|
`));
|
|
882
882
|
trending.forEach((pkg, idx) => {
|
|
883
883
|
const lang = i18n.language;
|
|
884
|
-
const verifiedBadge = pkg.verified ?
|
|
885
|
-
console.log(`${
|
|
884
|
+
const verifiedBadge = pkg.verified ? ansis__default.green("\u2713") : ansis__default.dim("\u25CB");
|
|
885
|
+
console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(pkg.name)} ${verifiedBadge} ${ansis__default.dim(`[${pkg.category}]`)}`);
|
|
886
886
|
console.log(` ${pkg.description[lang] || pkg.description.en}`);
|
|
887
|
-
console.log(` ${
|
|
888
|
-
console.log(` ${
|
|
887
|
+
console.log(` ${ansis__default.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0 (${pkg.ratingCount} ${i18n.t("mcp:market.ratings")})`)}`);
|
|
888
|
+
console.log(` ${ansis__default.dim(pkg.id)}
|
|
889
889
|
`);
|
|
890
890
|
});
|
|
891
891
|
} catch {
|
|
892
|
-
console.log(
|
|
892
|
+
console.log(ansis__default.yellow(`
|
|
893
893
|
${i18n.t("mcp:market.apiUnavailable")}`));
|
|
894
|
-
console.log(
|
|
895
|
-
console.log(
|
|
894
|
+
console.log(ansis__default.dim(i18n.t("mcp:market.usingLocalData")));
|
|
895
|
+
console.log(ansis__default.green.bold(`
|
|
896
896
|
${i18n.t("mcp:market.trending")}
|
|
897
897
|
`));
|
|
898
898
|
const localServers = getLocalFallbackServices();
|
|
899
899
|
const trending = localServers.slice(0, options.limit || 5);
|
|
900
900
|
trending.forEach((server, idx) => {
|
|
901
|
-
console.log(`${
|
|
901
|
+
console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(server.name)} ${ansis__default.dim(`[${server.category}]`)}`);
|
|
902
902
|
console.log(` ${server.description}`);
|
|
903
|
-
console.log(` ${
|
|
903
|
+
console.log(` ${ansis__default.dim(server.package)}
|
|
904
904
|
`);
|
|
905
905
|
});
|
|
906
906
|
}
|
|
@@ -920,21 +920,21 @@ async function mcpInstall(serverName, options = {}) {
|
|
|
920
920
|
}
|
|
921
921
|
}
|
|
922
922
|
if (!server) {
|
|
923
|
-
console.log(
|
|
923
|
+
console.log(ansis__default.red(`
|
|
924
924
|
${i18n.t("mcp:market.serverNotFound", { name: serverName })}`));
|
|
925
925
|
return;
|
|
926
926
|
}
|
|
927
927
|
if (server.serviceId) {
|
|
928
928
|
const isInstalled = await isMcpServiceInstalled(server.serviceId, options.tool);
|
|
929
929
|
if (isInstalled) {
|
|
930
|
-
console.log(
|
|
930
|
+
console.log(ansis__default.yellow(`
|
|
931
931
|
${i18n.t("mcp:installer.alreadyInstalled", { name: server.name })}`));
|
|
932
932
|
return;
|
|
933
933
|
}
|
|
934
|
-
console.log(
|
|
934
|
+
console.log(ansis__default.green(`
|
|
935
935
|
${i18n.t("mcp:market.installing", { name: server.name })}`));
|
|
936
936
|
if (server.requiresApiKey) {
|
|
937
|
-
console.log(
|
|
937
|
+
console.log(ansis__default.dim(i18n.t("mcp:installer.requiresApiKey")));
|
|
938
938
|
}
|
|
939
939
|
console.log("");
|
|
940
940
|
const { confirm } = await inquirer.prompt([{
|
|
@@ -944,25 +944,25 @@ ${i18n.t("mcp:market.installing", { name: server.name })}`));
|
|
|
944
944
|
default: true
|
|
945
945
|
}]);
|
|
946
946
|
if (!confirm) {
|
|
947
|
-
console.log(
|
|
947
|
+
console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
|
|
948
948
|
return;
|
|
949
949
|
}
|
|
950
950
|
const result = await installMcpService(server.serviceId, options.tool);
|
|
951
951
|
if (result.success) {
|
|
952
|
-
console.log(
|
|
952
|
+
console.log(ansis__default.green(`
|
|
953
953
|
${i18n.t("mcp:market.installSuccess", { name: server.name })}`));
|
|
954
|
-
console.log(
|
|
954
|
+
console.log(ansis__default.dim(i18n.t("mcp:installer.restartRequired")));
|
|
955
955
|
} else {
|
|
956
|
-
console.log(
|
|
956
|
+
console.log(ansis__default.red(`
|
|
957
957
|
${i18n.t("mcp:installer.installFailed", { name: server.name })}`));
|
|
958
958
|
if (result.error) {
|
|
959
|
-
console.log(
|
|
959
|
+
console.log(ansis__default.dim(result.error));
|
|
960
960
|
}
|
|
961
961
|
}
|
|
962
962
|
} else {
|
|
963
|
-
console.log(
|
|
963
|
+
console.log(ansis__default.green(`
|
|
964
964
|
${i18n.t("mcp:market.installing", { name: server.name })}`));
|
|
965
|
-
console.log(
|
|
965
|
+
console.log(ansis__default.dim(`Package: ${server.package}
|
|
966
966
|
`));
|
|
967
967
|
const { confirm } = await inquirer.prompt([{
|
|
968
968
|
type: "confirm",
|
|
@@ -971,12 +971,12 @@ ${i18n.t("mcp:market.installing", { name: server.name })}`));
|
|
|
971
971
|
default: true
|
|
972
972
|
}]);
|
|
973
973
|
if (!confirm) {
|
|
974
|
-
console.log(
|
|
974
|
+
console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
|
|
975
975
|
return;
|
|
976
976
|
}
|
|
977
|
-
console.log(
|
|
977
|
+
console.log(ansis__default.green(`
|
|
978
978
|
${i18n.t("mcp:market.installSuccess", { name: server.name })}`));
|
|
979
|
-
console.log(
|
|
979
|
+
console.log(ansis__default.dim(i18n.t("mcp:market.manualConfig")));
|
|
980
980
|
}
|
|
981
981
|
}
|
|
982
982
|
async function mcpUninstall(serverName, options = {}) {
|
|
@@ -985,7 +985,7 @@ async function mcpUninstall(serverName, options = {}) {
|
|
|
985
985
|
const serviceId = server?.serviceId || serverName;
|
|
986
986
|
const isInstalled = await isMcpServiceInstalled(serviceId, options.tool);
|
|
987
987
|
if (!isInstalled) {
|
|
988
|
-
console.log(
|
|
988
|
+
console.log(ansis__default.yellow(`
|
|
989
989
|
${i18n.t("mcp:installer.serviceNotInstalled", { id: serverName })}`));
|
|
990
990
|
return;
|
|
991
991
|
}
|
|
@@ -997,19 +997,19 @@ ${i18n.t("mcp:installer.serviceNotInstalled", { id: serverName })}`));
|
|
|
997
997
|
default: false
|
|
998
998
|
}]);
|
|
999
999
|
if (!confirm) {
|
|
1000
|
-
console.log(
|
|
1000
|
+
console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
|
|
1001
1001
|
return;
|
|
1002
1002
|
}
|
|
1003
1003
|
const result = await uninstallMcpService(serviceId, options.tool);
|
|
1004
1004
|
if (result.success) {
|
|
1005
|
-
console.log(
|
|
1005
|
+
console.log(ansis__default.green(`
|
|
1006
1006
|
${i18n.t("mcp:installer.uninstallSuccess", { name: displayName })}`));
|
|
1007
|
-
console.log(
|
|
1007
|
+
console.log(ansis__default.dim(i18n.t("mcp:installer.restartRequired")));
|
|
1008
1008
|
} else {
|
|
1009
|
-
console.log(
|
|
1009
|
+
console.log(ansis__default.red(`
|
|
1010
1010
|
${i18n.t("mcp:installer.uninstallFailed", { name: displayName })}`));
|
|
1011
1011
|
if (result.error) {
|
|
1012
|
-
console.log(
|
|
1012
|
+
console.log(ansis__default.dim(result.error));
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|