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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ansis__default from 'ansis';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
3
|
import { existsSync, readFileSync, mkdirSync } from 'node:fs';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
@@ -487,12 +487,12 @@ function displayCurrentStatus(lang = "en") {
|
|
|
487
487
|
const { mode, provider } = detectCurrentMode();
|
|
488
488
|
const config = getCurrentConfig();
|
|
489
489
|
console.log("");
|
|
490
|
-
console.log(
|
|
491
|
-
console.log(
|
|
492
|
-
console.log(
|
|
490
|
+
console.log(ansis__default.green("\u2550".repeat(50)));
|
|
491
|
+
console.log(ansis__default.bold.cyan(lang === "zh-CN" ? " \u5F53\u524D API \u914D\u7F6E" : " Current API Configuration"));
|
|
492
|
+
console.log(ansis__default.green("\u2550".repeat(50)));
|
|
493
493
|
console.log("");
|
|
494
494
|
if (mode === "none") {
|
|
495
|
-
console.log(
|
|
495
|
+
console.log(ansis__default.yellow(lang === "zh-CN" ? " \u26A0 \u672A\u914D\u7F6E API" : " \u26A0 No API configured"));
|
|
496
496
|
console.log("");
|
|
497
497
|
return;
|
|
498
498
|
}
|
|
@@ -501,26 +501,26 @@ function displayCurrentStatus(lang = "en") {
|
|
|
501
501
|
simple: lang === "zh-CN" ? "\u7B80\u5355\u6A21\u5F0F (API \u4E2D\u8F6C)" : "Simple Mode (API Proxy)",
|
|
502
502
|
ccr: lang === "zh-CN" ? "CCR \u9AD8\u7EA7\u8DEF\u7531" : "CCR Advanced Router"
|
|
503
503
|
};
|
|
504
|
-
console.log(` ${
|
|
504
|
+
console.log(` ${ansis__default.bold(lang === "zh-CN" ? "\u6A21\u5F0F:" : "Mode:")} ${ansis__default.green(modeLabels[mode])}`);
|
|
505
505
|
if (provider) {
|
|
506
506
|
const preset = getPresetById(provider);
|
|
507
507
|
const providerName = preset ? lang === "zh-CN" ? preset.nameZh : preset.name : provider;
|
|
508
|
-
console.log(` ${
|
|
508
|
+
console.log(` ${ansis__default.bold(lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:")} ${ansis__default.green(providerName)}`);
|
|
509
509
|
}
|
|
510
510
|
if (config?.ANTHROPIC_BASE_URL) {
|
|
511
|
-
console.log(` ${
|
|
511
|
+
console.log(` ${ansis__default.bold("Base URL:")} ${ansis__default.gray(config.ANTHROPIC_BASE_URL)}`);
|
|
512
512
|
}
|
|
513
513
|
if (config?.ANTHROPIC_API_KEY) {
|
|
514
514
|
const masked = `${config.ANTHROPIC_API_KEY.substring(0, 10)}...`;
|
|
515
|
-
console.log(` ${
|
|
515
|
+
console.log(` ${ansis__default.bold("API Key:")} ${ansis__default.gray(masked)}`);
|
|
516
516
|
}
|
|
517
517
|
console.log("");
|
|
518
518
|
}
|
|
519
519
|
async function runConfigWizard(lang = "en") {
|
|
520
520
|
console.log("");
|
|
521
|
-
console.log(
|
|
522
|
-
console.log(
|
|
523
|
-
console.log(
|
|
521
|
+
console.log(ansis__default.green("\u2550".repeat(50)));
|
|
522
|
+
console.log(ansis__default.bold.cyan(lang === "zh-CN" ? " API \u914D\u7F6E\u5411\u5BFC" : " API Configuration Wizard"));
|
|
523
|
+
console.log(ansis__default.green("\u2550".repeat(50)));
|
|
524
524
|
console.log("");
|
|
525
525
|
const modeChoices = [
|
|
526
526
|
{
|
|
@@ -607,9 +607,9 @@ async function runQuickSetup(lang) {
|
|
|
607
607
|
return { success: false, mode: "simple", error: "Provider not found" };
|
|
608
608
|
}
|
|
609
609
|
console.log("");
|
|
610
|
-
console.log(
|
|
610
|
+
console.log(ansis__default.green(`\u{1F4CB} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
|
|
611
611
|
if (preset.instructions) {
|
|
612
|
-
console.log(
|
|
612
|
+
console.log(ansis__default.gray(` ${lang === "zh-CN" ? preset.instructions.zh : preset.instructions.en}`));
|
|
613
613
|
}
|
|
614
614
|
console.log("");
|
|
615
615
|
let apiKey = "";
|
|
@@ -630,17 +630,17 @@ async function runQuickSetup(lang) {
|
|
|
630
630
|
const result = configureWithPreset(preset, apiKey);
|
|
631
631
|
if (result.success) {
|
|
632
632
|
console.log("");
|
|
633
|
-
console.log(
|
|
634
|
-
console.log(
|
|
635
|
-
console.log(
|
|
633
|
+
console.log(ansis__default.green(`\u2714 ${lang === "zh-CN" ? "API \u914D\u7F6E\u6210\u529F!" : "API configured successfully!"}`));
|
|
634
|
+
console.log(ansis__default.gray(` ${lang === "zh-CN" ? "\u63D0\u4F9B\u5546:" : "Provider:"} ${lang === "zh-CN" ? preset.nameZh : preset.name}`));
|
|
635
|
+
console.log(ansis__default.gray(` ${lang === "zh-CN" ? "\u9ED8\u8BA4\u6A21\u578B:" : "Default model:"} ${preset.defaultModel}`));
|
|
636
636
|
console.log("");
|
|
637
637
|
}
|
|
638
638
|
return result;
|
|
639
639
|
}
|
|
640
640
|
async function runOfficialSetup(lang) {
|
|
641
641
|
console.log("");
|
|
642
|
-
console.log(
|
|
643
|
-
console.log(
|
|
642
|
+
console.log(ansis__default.green(lang === "zh-CN" ? "\u{1F4CB} \u5B98\u65B9 Anthropic API" : "\u{1F4CB} Official Anthropic API"));
|
|
643
|
+
console.log(ansis__default.gray(lang === "zh-CN" ? " \u4ECE https://console.anthropic.com/settings/keys \u83B7\u53D6 API \u5BC6\u94A5" : " Get your API key from https://console.anthropic.com/settings/keys"));
|
|
644
644
|
console.log("");
|
|
645
645
|
const { apiKey } = await inquirer.prompt({
|
|
646
646
|
type: "password",
|
|
@@ -659,14 +659,14 @@ async function runOfficialSetup(lang) {
|
|
|
659
659
|
const result = configureOfficialMode(apiKey);
|
|
660
660
|
if (result.success) {
|
|
661
661
|
console.log("");
|
|
662
|
-
console.log(
|
|
662
|
+
console.log(ansis__default.green(`\u2714 ${lang === "zh-CN" ? "\u5B98\u65B9 API \u914D\u7F6E\u6210\u529F!" : "Official API configured successfully!"}`));
|
|
663
663
|
console.log("");
|
|
664
664
|
}
|
|
665
665
|
return result;
|
|
666
666
|
}
|
|
667
667
|
async function runCustomSetup(lang) {
|
|
668
668
|
console.log("");
|
|
669
|
-
console.log(
|
|
669
|
+
console.log(ansis__default.green(lang === "zh-CN" ? "\u{1F4CB} \u81EA\u5B9A\u4E49 API \u914D\u7F6E" : "\u{1F4CB} Custom API Configuration"));
|
|
670
670
|
console.log("");
|
|
671
671
|
const { baseUrl } = await inquirer.prompt({
|
|
672
672
|
type: "input",
|
|
@@ -700,15 +700,15 @@ async function runCustomSetup(lang) {
|
|
|
700
700
|
});
|
|
701
701
|
if (result.success) {
|
|
702
702
|
console.log("");
|
|
703
|
-
console.log(
|
|
703
|
+
console.log(ansis__default.green(`\u2714 ${lang === "zh-CN" ? "\u81EA\u5B9A\u4E49 API \u914D\u7F6E\u6210\u529F!" : "Custom API configured successfully!"}`));
|
|
704
704
|
console.log("");
|
|
705
705
|
}
|
|
706
706
|
return result;
|
|
707
707
|
}
|
|
708
708
|
async function runCcrSetup(lang) {
|
|
709
709
|
console.log("");
|
|
710
|
-
console.log(
|
|
711
|
-
console.log(
|
|
710
|
+
console.log(ansis__default.green(lang === "zh-CN" ? "\u{1F4CB} CCR \u9AD8\u7EA7\u8DEF\u7531\u914D\u7F6E" : "\u{1F4CB} CCR Advanced Router Configuration"));
|
|
711
|
+
console.log(ansis__default.gray(lang === "zh-CN" ? " CCR \u63D0\u4F9B\u5B8C\u6574\u7684\u6A21\u578B\u8DEF\u7531\u3001\u8F6C\u6362\u548C\u591A\u63D0\u4F9B\u5546\u652F\u6301" : " CCR provides full model routing, transformation, and multi-provider support"));
|
|
712
712
|
console.log("");
|
|
713
713
|
try {
|
|
714
714
|
const { setupCcrConfiguration } = await import('../chunks/init.mjs').then(function (n) { return n.F; });
|
|
@@ -730,10 +730,10 @@ async function runCcrSetup(lang) {
|
|
|
730
730
|
async function testApiConnection(lang = "en") {
|
|
731
731
|
const config = getCurrentConfig();
|
|
732
732
|
if (!config || !config.ANTHROPIC_API_KEY && !config.ANTHROPIC_AUTH_TOKEN) {
|
|
733
|
-
console.log(
|
|
733
|
+
console.log(ansis__default.yellow(lang === "zh-CN" ? "\u26A0 \u672A\u914D\u7F6E API" : "\u26A0 No API configured"));
|
|
734
734
|
return false;
|
|
735
735
|
}
|
|
736
|
-
console.log(
|
|
736
|
+
console.log(ansis__default.green(lang === "zh-CN" ? "\u{1F50D} \u6D4B\u8BD5 API \u8FDE\u63A5..." : "\u{1F50D} Testing API connection..."));
|
|
737
737
|
try {
|
|
738
738
|
const baseUrl = config.ANTHROPIC_BASE_URL || "https://api.anthropic.com";
|
|
739
739
|
const testUrl = baseUrl.includes("v1") ? baseUrl : `${baseUrl}/v1/models`;
|
|
@@ -745,15 +745,15 @@ async function testApiConnection(lang = "en") {
|
|
|
745
745
|
}
|
|
746
746
|
});
|
|
747
747
|
if (response.ok || response.status === 401) {
|
|
748
|
-
console.log(
|
|
748
|
+
console.log(ansis__default.green(lang === "zh-CN" ? "\u2714 API \u8FDE\u63A5\u6210\u529F" : "\u2714 API connection successful"));
|
|
749
749
|
return true;
|
|
750
750
|
} else {
|
|
751
|
-
console.log(
|
|
751
|
+
console.log(ansis__default.yellow(`\u26A0 API returned status: ${response.status}`));
|
|
752
752
|
return false;
|
|
753
753
|
}
|
|
754
754
|
} catch (error) {
|
|
755
|
-
console.log(
|
|
756
|
-
console.log(
|
|
755
|
+
console.log(ansis__default.red(lang === "zh-CN" ? "\u2716 API \u8FDE\u63A5\u5931\u8D25" : "\u2716 API connection failed"));
|
|
756
|
+
console.log(ansis__default.gray(` ${error instanceof Error ? error.message : String(error)}`));
|
|
757
757
|
return false;
|
|
758
758
|
}
|
|
759
759
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccjk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.2.
|
|
4
|
+
"version": "5.2.2",
|
|
5
5
|
"packageManager": "pnpm@10.17.1",
|
|
6
6
|
"description": "Claude Code JinKu - Advanced AI-powered development assistant with skills, agents, and LLM-driven audit",
|
|
7
7
|
"author": {
|
|
@@ -168,11 +168,11 @@
|
|
|
168
168
|
"@types/express": "^4.17.21",
|
|
169
169
|
"@types/fs-extra": "^11.0.4",
|
|
170
170
|
"@types/inquirer": "^9.0.9",
|
|
171
|
-
"@types/node": "^22.
|
|
171
|
+
"@types/node": "^22.18.6",
|
|
172
172
|
"@types/node-telegram-bot-api": "^0.64.7",
|
|
173
173
|
"@types/nodemailer": "^6.4.14",
|
|
174
174
|
"@types/react": "^19.2.8",
|
|
175
|
-
"@vitest/coverage-v8": "^3.
|
|
175
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
176
176
|
"@vitest/ui": "^3.2.4",
|
|
177
177
|
"eslint": "^9.36.0",
|
|
178
178
|
"eslint-plugin-format": "^1.0.2",
|