ccjk 9.3.4 → 9.3.6

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.
@@ -14,7 +14,15 @@ const NAMESPACES = [
14
14
  "ccr",
15
15
  "ccjk",
16
16
  // CCJK-specific translations
17
+ "ccjk-skills",
18
+ // CCJK Skills installation command
19
+ "ccjk-agents",
20
+ // CCJK Agents management command
21
+ "ccjk-all",
22
+ // CCJK All-in-one setup command
17
23
  "cli",
24
+ "cloud-setup",
25
+ // Cloud-based setup wizard
18
26
  "cloudPlugins",
19
27
  // Cloud-based plugin system
20
28
  "cometix",
@@ -23,6 +31,10 @@ const NAMESPACES = [
23
31
  "context",
24
32
  // Context compression system
25
33
  "errors",
34
+ "hooks",
35
+ // Git hooks management
36
+ "hooksSync",
37
+ // Hooks cloud synchronization
26
38
  "installation",
27
39
  "interview",
28
40
  // Interview-Driven Development
@@ -44,6 +56,8 @@ const NAMESPACES = [
44
56
  // Version checking, China detection, and multiple installations
45
57
  "sandbox",
46
58
  // Sandbox mode for secure request/response handling
59
+ "setup",
60
+ // Setup wizard
47
61
  "shencha",
48
62
  "skills",
49
63
  // Skills management system
@@ -28,6 +28,114 @@ import { doctor } from './doctor.mjs';
28
28
  import { uninstall } from './uninstall.mjs';
29
29
  import { update } from './update.mjs';
30
30
 
31
+ const FULLWIDTH_TO_HALFWIDTH = {
32
+ // Full-width numbers (Japanese/Chinese IME)
33
+ "\uFF10": "0",
34
+ "\uFF11": "1",
35
+ "\uFF12": "2",
36
+ "\uFF13": "3",
37
+ "\uFF14": "4",
38
+ "\uFF15": "5",
39
+ "\uFF16": "6",
40
+ "\uFF17": "7",
41
+ "\uFF18": "8",
42
+ "\uFF19": "9",
43
+ // Full-width uppercase letters
44
+ "\uFF21": "A",
45
+ "\uFF22": "B",
46
+ "\uFF23": "C",
47
+ "\uFF24": "D",
48
+ "\uFF25": "E",
49
+ "\uFF26": "F",
50
+ "\uFF27": "G",
51
+ "\uFF28": "H",
52
+ "\uFF29": "I",
53
+ "\uFF2A": "J",
54
+ "\uFF2B": "K",
55
+ "\uFF2C": "L",
56
+ "\uFF2D": "M",
57
+ "\uFF2E": "N",
58
+ "\uFF2F": "O",
59
+ "\uFF30": "P",
60
+ "\uFF31": "Q",
61
+ "\uFF32": "R",
62
+ "\uFF33": "S",
63
+ "\uFF34": "T",
64
+ "\uFF35": "U",
65
+ "\uFF36": "V",
66
+ "\uFF37": "W",
67
+ "\uFF38": "X",
68
+ "\uFF39": "Y",
69
+ "\uFF3A": "Z",
70
+ // Full-width lowercase letters
71
+ "\uFF41": "a",
72
+ "\uFF42": "b",
73
+ "\uFF43": "c",
74
+ "\uFF44": "d",
75
+ "\uFF45": "e",
76
+ "\uFF46": "f",
77
+ "\uFF47": "g",
78
+ "\uFF48": "h",
79
+ "\uFF49": "i",
80
+ "\uFF4A": "j",
81
+ "\uFF4B": "k",
82
+ "\uFF4C": "l",
83
+ "\uFF4D": "m",
84
+ "\uFF4E": "n",
85
+ "\uFF4F": "o",
86
+ "\uFF50": "p",
87
+ "\uFF51": "q",
88
+ "\uFF52": "r",
89
+ "\uFF53": "s",
90
+ "\uFF54": "t",
91
+ "\uFF55": "u",
92
+ "\uFF56": "v",
93
+ "\uFF57": "w",
94
+ "\uFF58": "x",
95
+ "\uFF59": "y",
96
+ "\uFF5A": "z",
97
+ // Common full-width symbols
98
+ "\u3000": " ",
99
+ // Full-width space
100
+ "\uFF01": "!",
101
+ "\uFF1F": "?",
102
+ "\uFF0E": ".",
103
+ "\uFF0C": ",",
104
+ "\uFF1A": ":",
105
+ "\uFF1B": ";",
106
+ "\uFF08": "(",
107
+ "\uFF09": ")",
108
+ "\uFF3B": "[",
109
+ "\uFF3D": "]",
110
+ "\uFF5B": "{",
111
+ "\uFF5D": "}",
112
+ "\uFF0B": "+",
113
+ "\uFF0D": "-",
114
+ "\uFF0A": "*",
115
+ "\uFF0F": "/",
116
+ "\uFF1D": "=",
117
+ "\uFF1C": "<",
118
+ "\uFF1E": ">",
119
+ "\uFF20": "@",
120
+ "\uFF03": "#",
121
+ "\uFF04": "$",
122
+ "\uFF05": "%",
123
+ "\uFF06": "&",
124
+ "\uFF3F": "_"
125
+ };
126
+ function normalizeFullWidth(input) {
127
+ if (!input) return input;
128
+ let result = "";
129
+ for (const char of input) {
130
+ result += FULLWIDTH_TO_HALFWIDTH[char] ?? char;
131
+ }
132
+ return result;
133
+ }
134
+ function normalizeMenuInput(input) {
135
+ if (!input) return input;
136
+ return normalizeFullWidth(input.trim()).toLowerCase();
137
+ }
138
+
31
139
  const execAsync = promisify(exec);
32
140
  async function runCometixPrintConfig() {
33
141
  ensureI18nInitialized();
@@ -564,15 +672,16 @@ async function showSimplifiedMenu() {
564
672
  name: "choice",
565
673
  message: isZh ? "\u8BF7\u8F93\u5165\u9009\u9879 (0-9, H):" : "Enter option (0-9, H):",
566
674
  validate: (value) => {
567
- const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "h", "H", "q", "Q"];
568
- return valid.includes(value) || (isZh ? "\u8BF7\u8F93\u5165\u6709\u6548\u9009\u9879" : "Please enter a valid option");
675
+ const normalized2 = normalizeMenuInput(value);
676
+ const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "h", "q"];
677
+ return valid.includes(normalized2) || (isZh ? "\u8BF7\u8F93\u5165\u6709\u6548\u9009\u9879 (\u652F\u6301\u5168\u89D2\u6570\u5B57)" : "Please enter a valid option (full-width supported)");
569
678
  }
570
679
  });
571
680
  if (!choice) {
572
681
  console.log(ansis.green(i18n.t("common:cancelled")));
573
682
  return "exit";
574
683
  }
575
- const normalized = choice.toLowerCase();
684
+ const normalized = normalizeMenuInput(choice);
576
685
  switch (normalized) {
577
686
  // ═══════════════════════════════════════════════════
578
687
  // 🚀 Quick Start (1-3)
@@ -581,8 +690,7 @@ async function showSimplifiedMenu() {
581
690
  console.log("");
582
691
  console.log(ansis.green(isZh ? "\u26A1 \u4E00\u952E\u914D\u7F6E..." : "\u26A1 Quick Setup..."));
583
692
  console.log("");
584
- const { quickSetup } = await import('./quick-setup.mjs');
585
- await quickSetup();
693
+ await showApiConfigMenu();
586
694
  break;
587
695
  }
588
696
  case "2": {
@@ -1,4 +1,4 @@
1
- const version = "9.3.4";
1
+ const version = "9.3.5";
2
2
  const homepage = "https://github.com/miounet11/ccjk";
3
3
 
4
4
  export { homepage, version };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ccjk",
3
3
  "type": "module",
4
- "version": "9.3.4",
4
+ "version": "9.3.6",
5
5
  "packageManager": "pnpm@10.17.1",
6
6
  "description": "CCJK v9.0.0 - Revolutionary AI Development Platform with Enterprise Security, Streaming Cloud Sync, CRDT Conflict Resolution, and Unified V3 Architecture",
7
7
  "author": {
@@ -79,7 +79,7 @@
79
79
  "build": "unbuild",
80
80
  "start": "node bin/ccjk.mjs",
81
81
  "typecheck": "tsc --noEmit",
82
- "prepublishOnly": "node scripts/validate-prepublish.mjs && pnpm build",
82
+ "prepublishOnly": "node scripts/validate-prepublish.mjs && pnpm build && pnpm test:run",
83
83
  "lint": "eslint",
84
84
  "lint:fix": "eslint --fix",
85
85
  "test": "vitest",