ccman 3.0.11 → 3.0.12
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/index.js +188 -219
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2023,7 +2023,7 @@ var require_toml = __commonJS({
|
|
|
2023
2023
|
|
|
2024
2024
|
// src/index.ts
|
|
2025
2025
|
var import_commander = require("commander");
|
|
2026
|
-
var
|
|
2026
|
+
var import_chalk18 = __toESM(require("chalk"));
|
|
2027
2027
|
|
|
2028
2028
|
// src/utils/logo.ts
|
|
2029
2029
|
var import_chalk = __toESM(require("chalk"));
|
|
@@ -2044,13 +2044,13 @@ function printLogo() {
|
|
|
2044
2044
|
}
|
|
2045
2045
|
|
|
2046
2046
|
// src/commands/codex/add.ts
|
|
2047
|
-
var
|
|
2047
|
+
var import_chalk4 = __toESM(require("chalk"));
|
|
2048
2048
|
var import_inquirer2 = __toESM(require("inquirer"));
|
|
2049
2049
|
|
|
2050
2050
|
// ../core/package.json
|
|
2051
2051
|
var package_default = {
|
|
2052
2052
|
name: "@ccman/core",
|
|
2053
|
-
version: "3.0.
|
|
2053
|
+
version: "3.0.12",
|
|
2054
2054
|
type: "module",
|
|
2055
2055
|
description: "Core business logic for ccman",
|
|
2056
2056
|
main: "./dist/index.js",
|
|
@@ -2711,7 +2711,30 @@ var VERSION = package_default.version;
|
|
|
2711
2711
|
|
|
2712
2712
|
// src/interactive.ts
|
|
2713
2713
|
var import_inquirer = __toESM(require("inquirer"));
|
|
2714
|
+
var import_chalk3 = __toESM(require("chalk"));
|
|
2715
|
+
|
|
2716
|
+
// src/utils/format.ts
|
|
2714
2717
|
var import_chalk2 = __toESM(require("chalk"));
|
|
2718
|
+
function formatProviderTable(providers, currentId) {
|
|
2719
|
+
const lines = [];
|
|
2720
|
+
lines.push("");
|
|
2721
|
+
providers.forEach((p, index) => {
|
|
2722
|
+
const isCurrent = p.id === currentId;
|
|
2723
|
+
const marker = isCurrent ? import_chalk2.default.green("\u25CF") : import_chalk2.default.gray("\u25CB");
|
|
2724
|
+
const name = isCurrent ? import_chalk2.default.green.bold(p.name) : import_chalk2.default.white(p.name);
|
|
2725
|
+
const tag = isCurrent ? import_chalk2.default.green(" [\u5F53\u524D]") : "";
|
|
2726
|
+
lines.push(` ${marker} ${name}${tag}`);
|
|
2727
|
+
const url = isCurrent ? import_chalk2.default.green(p.baseUrl) : import_chalk2.default.gray(p.baseUrl);
|
|
2728
|
+
lines.push(` ${url}`);
|
|
2729
|
+
if (index < providers.length - 1) {
|
|
2730
|
+
lines.push("");
|
|
2731
|
+
}
|
|
2732
|
+
});
|
|
2733
|
+
lines.push("");
|
|
2734
|
+
return lines.join("\n");
|
|
2735
|
+
}
|
|
2736
|
+
|
|
2737
|
+
// src/interactive.ts
|
|
2715
2738
|
async function promptProviderForm(defaults) {
|
|
2716
2739
|
const answers = await import_inquirer.default.prompt([
|
|
2717
2740
|
{
|
|
@@ -2772,7 +2795,7 @@ async function startMainMenu() {
|
|
|
2772
2795
|
}
|
|
2773
2796
|
]);
|
|
2774
2797
|
if (choice === "exit") {
|
|
2775
|
-
console.log(
|
|
2798
|
+
console.log(import_chalk3.default.gray("\n\u{1F44B} \u518D\u89C1!\n"));
|
|
2776
2799
|
break;
|
|
2777
2800
|
}
|
|
2778
2801
|
if (choice === "claude") {
|
|
@@ -2840,7 +2863,7 @@ async function showToolMenu(tool) {
|
|
|
2840
2863
|
break;
|
|
2841
2864
|
}
|
|
2842
2865
|
} catch (error) {
|
|
2843
|
-
console.error(
|
|
2866
|
+
console.error(import_chalk3.default.red(`
|
|
2844
2867
|
\u274C ${error.message}
|
|
2845
2868
|
`));
|
|
2846
2869
|
}
|
|
@@ -2854,13 +2877,13 @@ async function showToolMenu(tool) {
|
|
|
2854
2877
|
}
|
|
2855
2878
|
}
|
|
2856
2879
|
async function showPresetsMenu() {
|
|
2857
|
-
console.log(
|
|
2880
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u9884\u7F6E\u670D\u52A1\u5546\u7BA1\u7406\u529F\u80FD\u5373\u5C06\u63A8\u51FA\n"));
|
|
2858
2881
|
}
|
|
2859
2882
|
async function handleAdd(tool) {
|
|
2860
2883
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
2861
2884
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
2862
2885
|
const presets = manager.listPresets();
|
|
2863
|
-
console.log(
|
|
2886
|
+
console.log(import_chalk3.default.bold(`
|
|
2864
2887
|
\u{1F4DD} \u6DFB\u52A0 ${toolName} \u670D\u52A1\u5546
|
|
2865
2888
|
`));
|
|
2866
2889
|
const { usePreset } = await import_inquirer.default.prompt([
|
|
@@ -2890,7 +2913,7 @@ async function handleAdd(tool) {
|
|
|
2890
2913
|
}
|
|
2891
2914
|
]);
|
|
2892
2915
|
const preset = presets.find((p) => p.name === presetName);
|
|
2893
|
-
console.log(
|
|
2916
|
+
console.log(import_chalk3.default.blue(`
|
|
2894
2917
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
2895
2918
|
`));
|
|
2896
2919
|
const input = await promptProviderForm({
|
|
@@ -2935,10 +2958,10 @@ async function handleAdd(tool) {
|
|
|
2935
2958
|
}
|
|
2936
2959
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
2937
2960
|
console.log();
|
|
2938
|
-
console.log(
|
|
2961
|
+
console.log(import_chalk3.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
2939
2962
|
console.log();
|
|
2940
|
-
console.log(` ${
|
|
2941
|
-
console.log(` ${
|
|
2963
|
+
console.log(` ${import_chalk3.default.bold(provider.name)} ${import_chalk3.default.blue(`[${toolName}]`)}`);
|
|
2964
|
+
console.log(` ${import_chalk3.default.gray(provider.baseUrl)}`);
|
|
2942
2965
|
console.log();
|
|
2943
2966
|
const { switchNow } = await import_inquirer.default.prompt([
|
|
2944
2967
|
{
|
|
@@ -2950,9 +2973,9 @@ async function handleAdd(tool) {
|
|
|
2950
2973
|
]);
|
|
2951
2974
|
if (switchNow) {
|
|
2952
2975
|
manager.switch(provider.id);
|
|
2953
|
-
console.log(
|
|
2976
|
+
console.log(import_chalk3.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546\n"));
|
|
2954
2977
|
} else {
|
|
2955
|
-
console.log(
|
|
2978
|
+
console.log(import_chalk3.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk3.default.white(` ccman ${tool === "codex" ? "cx" : "cc"} use "${provider.name}"
|
|
2956
2979
|
`));
|
|
2957
2980
|
}
|
|
2958
2981
|
}
|
|
@@ -2961,7 +2984,7 @@ async function handleSwitch(tool) {
|
|
|
2961
2984
|
const providers = manager.list();
|
|
2962
2985
|
const current = manager.getCurrent();
|
|
2963
2986
|
if (providers.length === 0) {
|
|
2964
|
-
console.log(
|
|
2987
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
2965
2988
|
return;
|
|
2966
2989
|
}
|
|
2967
2990
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -2970,14 +2993,14 @@ async function handleSwitch(tool) {
|
|
|
2970
2993
|
name: "providerId",
|
|
2971
2994
|
message: "\u9009\u62E9\u8981\u5207\u6362\u7684\u670D\u52A1\u5546:",
|
|
2972
2995
|
choices: providers.map((p) => ({
|
|
2973
|
-
name: `${p.name}${current?.id === p.id ?
|
|
2996
|
+
name: `${p.name}${current?.id === p.id ? import_chalk3.default.green(" (\u5F53\u524D)") : ""}`,
|
|
2974
2997
|
value: p.id
|
|
2975
2998
|
}))
|
|
2976
2999
|
}
|
|
2977
3000
|
]);
|
|
2978
3001
|
manager.switch(providerId);
|
|
2979
3002
|
const provider = providers.find((p) => p.id === providerId);
|
|
2980
|
-
console.log(
|
|
3003
|
+
console.log(import_chalk3.default.green(`
|
|
2981
3004
|
\u2705 \u5DF2\u5207\u6362\u5230: ${provider.name}
|
|
2982
3005
|
`));
|
|
2983
3006
|
}
|
|
@@ -2987,51 +3010,33 @@ async function handleList(tool) {
|
|
|
2987
3010
|
const current = manager.getCurrent();
|
|
2988
3011
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
2989
3012
|
if (providers.length === 0) {
|
|
2990
|
-
console.log(
|
|
3013
|
+
console.log(import_chalk3.default.yellow(`
|
|
2991
3014
|
\u26A0\uFE0F \u6682\u65E0 ${toolName} \u670D\u52A1\u5546
|
|
2992
3015
|
`));
|
|
2993
3016
|
return;
|
|
2994
3017
|
}
|
|
2995
|
-
console.log(
|
|
2996
|
-
\u{1F4CB} ${toolName} \u670D\u52A1\u5546
|
|
2997
|
-
|
|
2998
|
-
providers.forEach((p) => {
|
|
2999
|
-
const isCurrent = current?.id === p.id;
|
|
3000
|
-
const marker = isCurrent ? import_chalk2.default.green("\u25CF") : import_chalk2.default.gray("\u25CB");
|
|
3001
|
-
const nameStyle = isCurrent ? import_chalk2.default.green.bold : import_chalk2.default.white;
|
|
3002
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
3003
|
-
console.log(` ${import_chalk2.default.gray(p.baseUrl)}`);
|
|
3004
|
-
if (p.lastUsedAt) {
|
|
3005
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3006
|
-
console.log(` ${import_chalk2.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3007
|
-
}
|
|
3008
|
-
console.log();
|
|
3009
|
-
});
|
|
3010
|
-
if (current) {
|
|
3011
|
-
console.log(import_chalk2.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3012
|
-
`));
|
|
3013
|
-
} else {
|
|
3014
|
-
console.log(import_chalk2.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3015
|
-
}
|
|
3018
|
+
console.log(import_chalk3.default.bold(`
|
|
3019
|
+
\u{1F4CB} ${toolName} \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3020
|
+
console.log(formatProviderTable(providers, current?.id, toolName));
|
|
3016
3021
|
}
|
|
3017
3022
|
async function handleCurrent(tool) {
|
|
3018
3023
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3019
3024
|
const current = manager.getCurrent();
|
|
3020
3025
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
3021
3026
|
if (!current) {
|
|
3022
|
-
console.log(
|
|
3027
|
+
console.log(import_chalk3.default.yellow(`
|
|
3023
3028
|
\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 ${toolName} \u670D\u52A1\u5546
|
|
3024
3029
|
`));
|
|
3025
3030
|
return;
|
|
3026
3031
|
}
|
|
3027
|
-
console.log(
|
|
3032
|
+
console.log(import_chalk3.default.bold(`
|
|
3028
3033
|
\u{1F441}\uFE0F \u5F53\u524D ${toolName} \u670D\u52A1\u5546
|
|
3029
3034
|
`));
|
|
3030
|
-
console.log(` ${
|
|
3031
|
-
console.log(` ${
|
|
3035
|
+
console.log(` ${import_chalk3.default.green.bold(current.name)}`);
|
|
3036
|
+
console.log(` ${import_chalk3.default.gray(current.baseUrl)}`);
|
|
3032
3037
|
if (current.lastUsedAt) {
|
|
3033
3038
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3034
|
-
console.log(` ${
|
|
3039
|
+
console.log(` ${import_chalk3.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3035
3040
|
}
|
|
3036
3041
|
console.log();
|
|
3037
3042
|
}
|
|
@@ -3039,7 +3044,7 @@ async function handleEdit(tool) {
|
|
|
3039
3044
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3040
3045
|
const providers = manager.list();
|
|
3041
3046
|
if (providers.length === 0) {
|
|
3042
|
-
console.log(
|
|
3047
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3043
3048
|
return;
|
|
3044
3049
|
}
|
|
3045
3050
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3087,13 +3092,13 @@ async function handleEdit(tool) {
|
|
|
3087
3092
|
baseUrl: answers.baseUrl,
|
|
3088
3093
|
apiKey: answers.apiKey || void 0
|
|
3089
3094
|
});
|
|
3090
|
-
console.log(
|
|
3095
|
+
console.log(import_chalk3.default.green("\n\u2705 \u7F16\u8F91\u6210\u529F\n"));
|
|
3091
3096
|
}
|
|
3092
3097
|
async function handleClone(tool) {
|
|
3093
3098
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3094
3099
|
const providers = manager.list();
|
|
3095
3100
|
if (providers.length === 0) {
|
|
3096
|
-
console.log(
|
|
3101
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3097
3102
|
return;
|
|
3098
3103
|
}
|
|
3099
3104
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3129,16 +3134,16 @@ async function handleClone(tool) {
|
|
|
3129
3134
|
baseUrl: provider.baseUrl,
|
|
3130
3135
|
apiKey: answers.apiKey
|
|
3131
3136
|
});
|
|
3132
|
-
console.log(
|
|
3133
|
-
console.log(` ${
|
|
3134
|
-
console.log(` ${
|
|
3137
|
+
console.log(import_chalk3.default.green("\n\u2705 \u514B\u9686\u6210\u529F\n"));
|
|
3138
|
+
console.log(` ${import_chalk3.default.bold(newProvider.name)}`);
|
|
3139
|
+
console.log(` ${import_chalk3.default.gray(newProvider.baseUrl)}`);
|
|
3135
3140
|
console.log();
|
|
3136
3141
|
}
|
|
3137
3142
|
async function handleRemove(tool) {
|
|
3138
3143
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3139
3144
|
const providers = manager.list();
|
|
3140
3145
|
if (providers.length === 0) {
|
|
3141
|
-
console.log(
|
|
3146
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3142
3147
|
return;
|
|
3143
3148
|
}
|
|
3144
3149
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3163,11 +3168,11 @@ async function handleRemove(tool) {
|
|
|
3163
3168
|
]);
|
|
3164
3169
|
if (confirm) {
|
|
3165
3170
|
manager.remove(providerId);
|
|
3166
|
-
console.log(
|
|
3171
|
+
console.log(import_chalk3.default.green(`
|
|
3167
3172
|
\u2705 \u5DF2\u5220\u9664: ${provider.name}
|
|
3168
3173
|
`));
|
|
3169
3174
|
} else {
|
|
3170
|
-
console.log(
|
|
3175
|
+
console.log(import_chalk3.default.gray("\n\u274C \u5DF2\u53D6\u6D88\n"));
|
|
3171
3176
|
}
|
|
3172
3177
|
}
|
|
3173
3178
|
|
|
@@ -3176,7 +3181,7 @@ function addCommand(program2) {
|
|
|
3176
3181
|
program2.command("add").description("\u6DFB\u52A0\u65B0\u7684 Codex \u670D\u52A1\u5546(\u4EA4\u4E92\u5F0F)").action(async () => {
|
|
3177
3182
|
try {
|
|
3178
3183
|
const manager = createCodexManager();
|
|
3179
|
-
console.log(
|
|
3184
|
+
console.log(import_chalk4.default.bold("\n\u{1F4DD} \u6DFB\u52A0 Codex \u670D\u52A1\u5546\n"));
|
|
3180
3185
|
const { usePreset } = await import_inquirer2.default.prompt([
|
|
3181
3186
|
{
|
|
3182
3187
|
type: "list",
|
|
@@ -3204,7 +3209,7 @@ function addCommand(program2) {
|
|
|
3204
3209
|
}
|
|
3205
3210
|
]);
|
|
3206
3211
|
const preset = CODEX_PRESETS.find((p) => p.name === presetName);
|
|
3207
|
-
console.log(
|
|
3212
|
+
console.log(import_chalk4.default.blue(`
|
|
3208
3213
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
3209
3214
|
`));
|
|
3210
3215
|
const input = await promptProviderForm({
|
|
@@ -3255,10 +3260,10 @@ function addCommand(program2) {
|
|
|
3255
3260
|
}
|
|
3256
3261
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
3257
3262
|
console.log();
|
|
3258
|
-
console.log(
|
|
3263
|
+
console.log(import_chalk4.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
3259
3264
|
console.log();
|
|
3260
|
-
console.log(` ${
|
|
3261
|
-
console.log(` ${
|
|
3265
|
+
console.log(` ${import_chalk4.default.bold(provider.name)} ${import_chalk4.default.blue("[Codex]")}`);
|
|
3266
|
+
console.log(` ${import_chalk4.default.gray(provider.baseUrl)}`);
|
|
3262
3267
|
console.log();
|
|
3263
3268
|
const { switchNow } = await import_inquirer2.default.prompt([
|
|
3264
3269
|
{
|
|
@@ -3270,16 +3275,16 @@ function addCommand(program2) {
|
|
|
3270
3275
|
]);
|
|
3271
3276
|
if (switchNow) {
|
|
3272
3277
|
manager.switch(provider.id);
|
|
3273
|
-
console.log(
|
|
3278
|
+
console.log(import_chalk4.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546"));
|
|
3274
3279
|
console.log();
|
|
3275
|
-
console.log(
|
|
3276
|
-
console.log(
|
|
3277
|
-
console.log(
|
|
3280
|
+
console.log(import_chalk4.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3281
|
+
console.log(import_chalk4.default.gray(` - ${getCodexConfigPath()}`));
|
|
3282
|
+
console.log(import_chalk4.default.gray(` - ${getCodexAuthPath()}`));
|
|
3278
3283
|
} else {
|
|
3279
|
-
console.log(
|
|
3284
|
+
console.log(import_chalk4.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk4.default.white(` ccman cx use "${provider.name}"`));
|
|
3280
3285
|
}
|
|
3281
3286
|
} catch (error) {
|
|
3282
|
-
console.error(
|
|
3287
|
+
console.error(import_chalk4.default.red(`
|
|
3283
3288
|
\u274C ${error.message}
|
|
3284
3289
|
`));
|
|
3285
3290
|
process.exit(1);
|
|
@@ -3288,7 +3293,7 @@ function addCommand(program2) {
|
|
|
3288
3293
|
}
|
|
3289
3294
|
|
|
3290
3295
|
// src/commands/codex/list.ts
|
|
3291
|
-
var
|
|
3296
|
+
var import_chalk5 = __toESM(require("chalk"));
|
|
3292
3297
|
function listCommand(program2) {
|
|
3293
3298
|
program2.command("list").alias("ls").description("\u5217\u51FA\u6240\u6709 Codex \u670D\u52A1\u5546").action(async () => {
|
|
3294
3299
|
try {
|
|
@@ -3296,33 +3301,15 @@ function listCommand(program2) {
|
|
|
3296
3301
|
const providers = manager.list();
|
|
3297
3302
|
const current = manager.getCurrent();
|
|
3298
3303
|
if (providers.length === 0) {
|
|
3299
|
-
console.log(
|
|
3300
|
-
console.log(
|
|
3304
|
+
console.log(import_chalk5.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3305
|
+
console.log(import_chalk5.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk5.default.white(" ccman cx add\n"));
|
|
3301
3306
|
return;
|
|
3302
3307
|
}
|
|
3303
|
-
console.log(
|
|
3304
|
-
\u{1F4CB} Codex \u670D\u52A1\u5546
|
|
3305
|
-
|
|
3306
|
-
providers.forEach((p) => {
|
|
3307
|
-
const isCurrent = current?.id === p.id;
|
|
3308
|
-
const marker = isCurrent ? import_chalk4.default.green("\u25CF") : import_chalk4.default.gray("\u25CB");
|
|
3309
|
-
const nameStyle = isCurrent ? import_chalk4.default.green.bold : import_chalk4.default.white;
|
|
3310
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
3311
|
-
console.log(` ${import_chalk4.default.gray(p.baseUrl)}`);
|
|
3312
|
-
if (p.lastUsedAt) {
|
|
3313
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3314
|
-
console.log(` ${import_chalk4.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3315
|
-
}
|
|
3316
|
-
console.log();
|
|
3317
|
-
});
|
|
3318
|
-
if (current) {
|
|
3319
|
-
console.log(import_chalk4.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3320
|
-
`));
|
|
3321
|
-
} else {
|
|
3322
|
-
console.log(import_chalk4.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3323
|
-
}
|
|
3308
|
+
console.log(import_chalk5.default.bold(`
|
|
3309
|
+
\u{1F4CB} Codex \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3310
|
+
console.log(formatProviderTable(providers, current?.id, "Codex"));
|
|
3324
3311
|
} catch (error) {
|
|
3325
|
-
console.error(
|
|
3312
|
+
console.error(import_chalk5.default.red(`
|
|
3326
3313
|
\u274C ${error.message}
|
|
3327
3314
|
`));
|
|
3328
3315
|
process.exit(1);
|
|
@@ -3331,7 +3318,7 @@ function listCommand(program2) {
|
|
|
3331
3318
|
}
|
|
3332
3319
|
|
|
3333
3320
|
// src/commands/codex/use.ts
|
|
3334
|
-
var
|
|
3321
|
+
var import_chalk6 = __toESM(require("chalk"));
|
|
3335
3322
|
var import_inquirer3 = __toESM(require("inquirer"));
|
|
3336
3323
|
function useCommand(program2) {
|
|
3337
3324
|
program2.command("use [name]").description("\u5207\u6362 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3339,8 +3326,8 @@ function useCommand(program2) {
|
|
|
3339
3326
|
const manager = createCodexManager();
|
|
3340
3327
|
const providers = manager.list();
|
|
3341
3328
|
if (providers.length === 0) {
|
|
3342
|
-
console.log(
|
|
3343
|
-
console.log(
|
|
3329
|
+
console.log(import_chalk6.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3330
|
+
console.log(import_chalk6.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk6.default.white(" ccman cx add\n"));
|
|
3344
3331
|
return;
|
|
3345
3332
|
}
|
|
3346
3333
|
let targetId;
|
|
@@ -3367,23 +3354,23 @@ function useCommand(program2) {
|
|
|
3367
3354
|
manager.switch(targetId);
|
|
3368
3355
|
const provider = manager.get(targetId);
|
|
3369
3356
|
console.log();
|
|
3370
|
-
console.log(
|
|
3357
|
+
console.log(import_chalk6.default.green("\u2705 \u5207\u6362\u6210\u529F"));
|
|
3371
3358
|
console.log();
|
|
3372
|
-
console.log(` ${
|
|
3373
|
-
console.log(` ${
|
|
3359
|
+
console.log(` ${import_chalk6.default.bold(provider.name)} ${import_chalk6.default.blue("[Codex]")}`);
|
|
3360
|
+
console.log(` ${import_chalk6.default.gray(`URL: ${provider.baseUrl}`)}`);
|
|
3374
3361
|
console.log();
|
|
3375
|
-
console.log(
|
|
3376
|
-
console.log(
|
|
3377
|
-
console.log(
|
|
3362
|
+
console.log(import_chalk6.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3363
|
+
console.log(import_chalk6.default.gray(` - ${getCodexConfigPath()}`));
|
|
3364
|
+
console.log(import_chalk6.default.gray(` - ${getCodexAuthPath()}`));
|
|
3378
3365
|
console.log();
|
|
3379
3366
|
} catch (error) {
|
|
3380
3367
|
if (error instanceof ProviderNotFoundError) {
|
|
3381
|
-
console.error(
|
|
3368
|
+
console.error(import_chalk6.default.red(`
|
|
3382
3369
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728: ${error.message}
|
|
3383
3370
|
`));
|
|
3384
|
-
console.log(
|
|
3371
|
+
console.log(import_chalk6.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk6.default.white(" ccman cx list\n"));
|
|
3385
3372
|
} else {
|
|
3386
|
-
console.error(
|
|
3373
|
+
console.error(import_chalk6.default.red(`
|
|
3387
3374
|
\u274C ${error.message}
|
|
3388
3375
|
`));
|
|
3389
3376
|
}
|
|
@@ -3393,28 +3380,28 @@ function useCommand(program2) {
|
|
|
3393
3380
|
}
|
|
3394
3381
|
|
|
3395
3382
|
// src/commands/codex/current.ts
|
|
3396
|
-
var
|
|
3383
|
+
var import_chalk7 = __toESM(require("chalk"));
|
|
3397
3384
|
function currentCommand(program2) {
|
|
3398
3385
|
program2.command("current").description("\u663E\u793A\u5F53\u524D\u4F7F\u7528\u7684 Codex \u670D\u52A1\u5546").action(async () => {
|
|
3399
3386
|
try {
|
|
3400
3387
|
const manager = createCodexManager();
|
|
3401
3388
|
const current = manager.getCurrent();
|
|
3402
3389
|
if (!current) {
|
|
3403
|
-
console.log(
|
|
3404
|
-
console.log(
|
|
3390
|
+
console.log(import_chalk7.default.yellow("\n\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 Codex \u670D\u52A1\u5546\n"));
|
|
3391
|
+
console.log(import_chalk7.default.blue("\u{1F4A1} \u9009\u62E9\u670D\u52A1\u5546:") + import_chalk7.default.white(" ccman cx use\n"));
|
|
3405
3392
|
return;
|
|
3406
3393
|
}
|
|
3407
|
-
console.log(
|
|
3408
|
-
console.log(` ${
|
|
3409
|
-
console.log(` ${
|
|
3410
|
-
console.log(` ${
|
|
3394
|
+
console.log(import_chalk7.default.bold("\n\u{1F4CD} \u5F53\u524D Codex \u670D\u52A1\u5546\n"));
|
|
3395
|
+
console.log(` ${import_chalk7.default.green.bold(current.name)}`);
|
|
3396
|
+
console.log(` ${import_chalk7.default.gray(`ID: ${current.id}`)}`);
|
|
3397
|
+
console.log(` ${import_chalk7.default.gray(`URL: ${current.baseUrl}`)}`);
|
|
3411
3398
|
if (current.lastUsedAt) {
|
|
3412
3399
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3413
|
-
console.log(` ${
|
|
3400
|
+
console.log(` ${import_chalk7.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3414
3401
|
}
|
|
3415
3402
|
console.log();
|
|
3416
3403
|
} catch (error) {
|
|
3417
|
-
console.error(
|
|
3404
|
+
console.error(import_chalk7.default.red(`
|
|
3418
3405
|
\u274C ${error.message}
|
|
3419
3406
|
`));
|
|
3420
3407
|
process.exit(1);
|
|
@@ -3423,7 +3410,7 @@ function currentCommand(program2) {
|
|
|
3423
3410
|
}
|
|
3424
3411
|
|
|
3425
3412
|
// src/commands/codex/remove.ts
|
|
3426
|
-
var
|
|
3413
|
+
var import_chalk8 = __toESM(require("chalk"));
|
|
3427
3414
|
var import_inquirer4 = __toESM(require("inquirer"));
|
|
3428
3415
|
function removeCommand(program2) {
|
|
3429
3416
|
program2.command("remove [name]").alias("rm").description("\u5220\u9664 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3431,7 +3418,7 @@ function removeCommand(program2) {
|
|
|
3431
3418
|
const manager = createCodexManager();
|
|
3432
3419
|
const providers = manager.list();
|
|
3433
3420
|
if (providers.length === 0) {
|
|
3434
|
-
console.log(
|
|
3421
|
+
console.log(import_chalk8.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3435
3422
|
return;
|
|
3436
3423
|
}
|
|
3437
3424
|
let targetId;
|
|
@@ -3468,21 +3455,21 @@ function removeCommand(program2) {
|
|
|
3468
3455
|
}
|
|
3469
3456
|
]);
|
|
3470
3457
|
if (!confirmed) {
|
|
3471
|
-
console.log(
|
|
3458
|
+
console.log(import_chalk8.default.gray("\n\u5DF2\u53D6\u6D88\n"));
|
|
3472
3459
|
return;
|
|
3473
3460
|
}
|
|
3474
3461
|
manager.remove(targetId);
|
|
3475
3462
|
console.log();
|
|
3476
|
-
console.log(
|
|
3463
|
+
console.log(import_chalk8.default.green(`\u2705 \u5DF2\u5220\u9664: ${targetName}`));
|
|
3477
3464
|
console.log();
|
|
3478
3465
|
} catch (error) {
|
|
3479
3466
|
if (error instanceof ProviderNotFoundError) {
|
|
3480
|
-
console.error(
|
|
3467
|
+
console.error(import_chalk8.default.red(`
|
|
3481
3468
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728
|
|
3482
3469
|
`));
|
|
3483
|
-
console.log(
|
|
3470
|
+
console.log(import_chalk8.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk8.default.white(" ccman cx list\n"));
|
|
3484
3471
|
} else {
|
|
3485
|
-
console.error(
|
|
3472
|
+
console.error(import_chalk8.default.red(`
|
|
3486
3473
|
\u274C ${error.message}
|
|
3487
3474
|
`));
|
|
3488
3475
|
}
|
|
@@ -3492,7 +3479,7 @@ function removeCommand(program2) {
|
|
|
3492
3479
|
}
|
|
3493
3480
|
|
|
3494
3481
|
// src/commands/codex/edit.ts
|
|
3495
|
-
var
|
|
3482
|
+
var import_chalk9 = __toESM(require("chalk"));
|
|
3496
3483
|
var import_inquirer5 = __toESM(require("inquirer"));
|
|
3497
3484
|
function editCommand(program2) {
|
|
3498
3485
|
program2.command("edit [name]").description("\u7F16\u8F91 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3500,7 +3487,7 @@ function editCommand(program2) {
|
|
|
3500
3487
|
const manager = createCodexManager();
|
|
3501
3488
|
const providers = manager.list();
|
|
3502
3489
|
if (providers.length === 0) {
|
|
3503
|
-
console.log(
|
|
3490
|
+
console.log(import_chalk9.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3504
3491
|
return;
|
|
3505
3492
|
}
|
|
3506
3493
|
let targetId;
|
|
@@ -3525,8 +3512,8 @@ function editCommand(program2) {
|
|
|
3525
3512
|
targetId = selectedId;
|
|
3526
3513
|
}
|
|
3527
3514
|
const provider = manager.get(targetId);
|
|
3528
|
-
console.log(
|
|
3529
|
-
console.log(
|
|
3515
|
+
console.log(import_chalk9.default.bold("\n\u270F\uFE0F \u7F16\u8F91\u670D\u52A1\u5546\n"));
|
|
3516
|
+
console.log(import_chalk9.default.gray("\u63D0\u793A: \u7559\u7A7A\u5219\u4FDD\u6301\u539F\u503C\n"));
|
|
3530
3517
|
const answers = await import_inquirer5.default.prompt([
|
|
3531
3518
|
{
|
|
3532
3519
|
type: "input",
|
|
@@ -3558,19 +3545,19 @@ function editCommand(program2) {
|
|
|
3558
3545
|
if (answers.baseUrl && answers.baseUrl !== provider.baseUrl) updates.baseUrl = answers.baseUrl;
|
|
3559
3546
|
if (answers.apiKey) updates.apiKey = answers.apiKey;
|
|
3560
3547
|
if (Object.keys(updates).length === 0) {
|
|
3561
|
-
console.log(
|
|
3548
|
+
console.log(import_chalk9.default.gray("\n\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\n"));
|
|
3562
3549
|
return;
|
|
3563
3550
|
}
|
|
3564
3551
|
const updated = manager.edit(targetId, updates);
|
|
3565
3552
|
console.log();
|
|
3566
|
-
console.log(
|
|
3553
|
+
console.log(import_chalk9.default.green("\u2705 \u7F16\u8F91\u6210\u529F"));
|
|
3567
3554
|
console.log();
|
|
3568
|
-
console.log(` ${
|
|
3569
|
-
console.log(` ${
|
|
3570
|
-
console.log(` ${
|
|
3555
|
+
console.log(` ${import_chalk9.default.bold(updated.name)} ${import_chalk9.default.blue("[Codex]")}`);
|
|
3556
|
+
console.log(` ${import_chalk9.default.gray(`ID: ${updated.id}`)}`);
|
|
3557
|
+
console.log(` ${import_chalk9.default.gray(`URL: ${updated.baseUrl}`)}`);
|
|
3571
3558
|
console.log();
|
|
3572
3559
|
} catch (error) {
|
|
3573
|
-
console.error(
|
|
3560
|
+
console.error(import_chalk9.default.red(`
|
|
3574
3561
|
\u274C ${error.message}
|
|
3575
3562
|
`));
|
|
3576
3563
|
process.exit(1);
|
|
@@ -3579,7 +3566,7 @@ function editCommand(program2) {
|
|
|
3579
3566
|
}
|
|
3580
3567
|
|
|
3581
3568
|
// src/commands/codex/clone.ts
|
|
3582
|
-
var
|
|
3569
|
+
var import_chalk10 = __toESM(require("chalk"));
|
|
3583
3570
|
var import_inquirer6 = __toESM(require("inquirer"));
|
|
3584
3571
|
function cloneCommand(program2) {
|
|
3585
3572
|
program2.command("clone [source-name] [new-name]").description("\u514B\u9686 Codex \u670D\u52A1\u5546").action(async (sourceName, newName) => {
|
|
@@ -3587,7 +3574,7 @@ function cloneCommand(program2) {
|
|
|
3587
3574
|
const manager = createCodexManager();
|
|
3588
3575
|
const providers = manager.list();
|
|
3589
3576
|
if (providers.length === 0) {
|
|
3590
|
-
console.log(
|
|
3577
|
+
console.log(import_chalk10.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3591
3578
|
return;
|
|
3592
3579
|
}
|
|
3593
3580
|
let sourceId;
|
|
@@ -3616,7 +3603,7 @@ function cloneCommand(program2) {
|
|
|
3616
3603
|
if (newName) {
|
|
3617
3604
|
cloned = manager.clone(sourceId, newName);
|
|
3618
3605
|
} else {
|
|
3619
|
-
console.log(
|
|
3606
|
+
console.log(import_chalk10.default.blue(`
|
|
3620
3607
|
\u514B\u9686\u81EA: ${source.name}
|
|
3621
3608
|
`));
|
|
3622
3609
|
const input = await promptProviderForm({
|
|
@@ -3627,14 +3614,14 @@ function cloneCommand(program2) {
|
|
|
3627
3614
|
cloned = manager.add(input);
|
|
3628
3615
|
}
|
|
3629
3616
|
console.log();
|
|
3630
|
-
console.log(
|
|
3617
|
+
console.log(import_chalk10.default.green("\u2705 \u514B\u9686\u6210\u529F"));
|
|
3631
3618
|
console.log();
|
|
3632
|
-
console.log(` ${
|
|
3633
|
-
console.log(` ${
|
|
3634
|
-
console.log(` ${
|
|
3619
|
+
console.log(` ${import_chalk10.default.bold(cloned.name)} ${import_chalk10.default.blue("[Codex]")}`);
|
|
3620
|
+
console.log(` ${import_chalk10.default.gray(`ID: ${cloned.id}`)}`);
|
|
3621
|
+
console.log(` ${import_chalk10.default.gray(`URL: ${cloned.baseUrl}`)}`);
|
|
3635
3622
|
console.log();
|
|
3636
3623
|
} catch (error) {
|
|
3637
|
-
console.error(
|
|
3624
|
+
console.error(import_chalk10.default.red(`
|
|
3638
3625
|
\u274C ${error.message}
|
|
3639
3626
|
`));
|
|
3640
3627
|
process.exit(1);
|
|
@@ -3654,13 +3641,13 @@ function createCodexCommands(program2) {
|
|
|
3654
3641
|
}
|
|
3655
3642
|
|
|
3656
3643
|
// src/commands/claude/add.ts
|
|
3657
|
-
var
|
|
3644
|
+
var import_chalk11 = __toESM(require("chalk"));
|
|
3658
3645
|
var import_inquirer7 = __toESM(require("inquirer"));
|
|
3659
3646
|
function addCommand2(program2) {
|
|
3660
3647
|
program2.command("add").description("\u6DFB\u52A0\u65B0\u7684 Claude Code \u670D\u52A1\u5546(\u4EA4\u4E92\u5F0F)").action(async () => {
|
|
3661
3648
|
try {
|
|
3662
3649
|
const manager = createClaudeManager();
|
|
3663
|
-
console.log(
|
|
3650
|
+
console.log(import_chalk11.default.bold("\n\u{1F4DD} \u6DFB\u52A0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3664
3651
|
const { usePreset } = await import_inquirer7.default.prompt([
|
|
3665
3652
|
{
|
|
3666
3653
|
type: "list",
|
|
@@ -3688,7 +3675,7 @@ function addCommand2(program2) {
|
|
|
3688
3675
|
}
|
|
3689
3676
|
]);
|
|
3690
3677
|
const preset = CC_PRESETS.find((p) => p.name === presetName);
|
|
3691
|
-
console.log(
|
|
3678
|
+
console.log(import_chalk11.default.blue(`
|
|
3692
3679
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
3693
3680
|
`));
|
|
3694
3681
|
const input = await promptProviderForm({
|
|
@@ -3739,10 +3726,10 @@ function addCommand2(program2) {
|
|
|
3739
3726
|
}
|
|
3740
3727
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
3741
3728
|
console.log();
|
|
3742
|
-
console.log(
|
|
3729
|
+
console.log(import_chalk11.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
3743
3730
|
console.log();
|
|
3744
|
-
console.log(` ${
|
|
3745
|
-
console.log(` ${
|
|
3731
|
+
console.log(` ${import_chalk11.default.bold(provider.name)} ${import_chalk11.default.blue("[Claude Code]")}`);
|
|
3732
|
+
console.log(` ${import_chalk11.default.gray(provider.baseUrl)}`);
|
|
3746
3733
|
console.log();
|
|
3747
3734
|
const { switchNow } = await import_inquirer7.default.prompt([
|
|
3748
3735
|
{
|
|
@@ -3754,15 +3741,15 @@ function addCommand2(program2) {
|
|
|
3754
3741
|
]);
|
|
3755
3742
|
if (switchNow) {
|
|
3756
3743
|
manager.switch(provider.id);
|
|
3757
|
-
console.log(
|
|
3744
|
+
console.log(import_chalk11.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546"));
|
|
3758
3745
|
console.log();
|
|
3759
|
-
console.log(
|
|
3760
|
-
console.log(
|
|
3746
|
+
console.log(import_chalk11.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3747
|
+
console.log(import_chalk11.default.gray(` - ${getClaudeConfigPath()}`));
|
|
3761
3748
|
} else {
|
|
3762
|
-
console.log(
|
|
3749
|
+
console.log(import_chalk11.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk11.default.white(` ccman cc use "${provider.name}"`));
|
|
3763
3750
|
}
|
|
3764
3751
|
} catch (error) {
|
|
3765
|
-
console.error(
|
|
3752
|
+
console.error(import_chalk11.default.red(`
|
|
3766
3753
|
\u274C ${error.message}
|
|
3767
3754
|
`));
|
|
3768
3755
|
process.exit(1);
|
|
@@ -3771,7 +3758,7 @@ function addCommand2(program2) {
|
|
|
3771
3758
|
}
|
|
3772
3759
|
|
|
3773
3760
|
// src/commands/claude/list.ts
|
|
3774
|
-
var
|
|
3761
|
+
var import_chalk12 = __toESM(require("chalk"));
|
|
3775
3762
|
function listCommand2(program2) {
|
|
3776
3763
|
program2.command("list").alias("ls").description("\u5217\u51FA\u6240\u6709 Claude Code \u670D\u52A1\u5546").action(async () => {
|
|
3777
3764
|
try {
|
|
@@ -3779,33 +3766,15 @@ function listCommand2(program2) {
|
|
|
3779
3766
|
const providers = manager.list();
|
|
3780
3767
|
const current = manager.getCurrent();
|
|
3781
3768
|
if (providers.length === 0) {
|
|
3782
|
-
console.log(
|
|
3783
|
-
console.log(
|
|
3769
|
+
console.log(import_chalk12.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3770
|
+
console.log(import_chalk12.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk12.default.white(" ccman cc add\n"));
|
|
3784
3771
|
return;
|
|
3785
3772
|
}
|
|
3786
|
-
console.log(
|
|
3787
|
-
\u{1F4CB} Claude Code \u670D\u52A1\u5546
|
|
3788
|
-
|
|
3789
|
-
providers.forEach((p) => {
|
|
3790
|
-
const isCurrent = current?.id === p.id;
|
|
3791
|
-
const marker = isCurrent ? import_chalk11.default.green("\u25CF") : import_chalk11.default.gray("\u25CB");
|
|
3792
|
-
const nameStyle = isCurrent ? import_chalk11.default.green.bold : import_chalk11.default.white;
|
|
3793
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
3794
|
-
console.log(` ${import_chalk11.default.gray(p.baseUrl)}`);
|
|
3795
|
-
if (p.lastUsedAt) {
|
|
3796
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3797
|
-
console.log(` ${import_chalk11.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3798
|
-
}
|
|
3799
|
-
console.log();
|
|
3800
|
-
});
|
|
3801
|
-
if (current) {
|
|
3802
|
-
console.log(import_chalk11.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3803
|
-
`));
|
|
3804
|
-
} else {
|
|
3805
|
-
console.log(import_chalk11.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3806
|
-
}
|
|
3773
|
+
console.log(import_chalk12.default.bold(`
|
|
3774
|
+
\u{1F4CB} Claude Code \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3775
|
+
console.log(formatProviderTable(providers, current?.id, "Claude Code"));
|
|
3807
3776
|
} catch (error) {
|
|
3808
|
-
console.error(
|
|
3777
|
+
console.error(import_chalk12.default.red(`
|
|
3809
3778
|
\u274C ${error.message}
|
|
3810
3779
|
`));
|
|
3811
3780
|
process.exit(1);
|
|
@@ -3814,7 +3783,7 @@ function listCommand2(program2) {
|
|
|
3814
3783
|
}
|
|
3815
3784
|
|
|
3816
3785
|
// src/commands/claude/use.ts
|
|
3817
|
-
var
|
|
3786
|
+
var import_chalk13 = __toESM(require("chalk"));
|
|
3818
3787
|
var import_inquirer8 = __toESM(require("inquirer"));
|
|
3819
3788
|
function useCommand2(program2) {
|
|
3820
3789
|
program2.command("use [name]").description("\u5207\u6362 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3822,8 +3791,8 @@ function useCommand2(program2) {
|
|
|
3822
3791
|
const manager = createClaudeManager();
|
|
3823
3792
|
const providers = manager.list();
|
|
3824
3793
|
if (providers.length === 0) {
|
|
3825
|
-
console.log(
|
|
3826
|
-
console.log(
|
|
3794
|
+
console.log(import_chalk13.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3795
|
+
console.log(import_chalk13.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk13.default.white(" ccman cc add\n"));
|
|
3827
3796
|
return;
|
|
3828
3797
|
}
|
|
3829
3798
|
let targetId;
|
|
@@ -3850,22 +3819,22 @@ function useCommand2(program2) {
|
|
|
3850
3819
|
manager.switch(targetId);
|
|
3851
3820
|
const provider = manager.get(targetId);
|
|
3852
3821
|
console.log();
|
|
3853
|
-
console.log(
|
|
3822
|
+
console.log(import_chalk13.default.green("\u2705 \u5207\u6362\u6210\u529F"));
|
|
3854
3823
|
console.log();
|
|
3855
|
-
console.log(` ${
|
|
3856
|
-
console.log(` ${
|
|
3824
|
+
console.log(` ${import_chalk13.default.bold(provider.name)} ${import_chalk13.default.blue("[Claude Code]")}`);
|
|
3825
|
+
console.log(` ${import_chalk13.default.gray(`URL: ${provider.baseUrl}`)}`);
|
|
3857
3826
|
console.log();
|
|
3858
|
-
console.log(
|
|
3859
|
-
console.log(
|
|
3827
|
+
console.log(import_chalk13.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3828
|
+
console.log(import_chalk13.default.gray(` - ${getClaudeConfigPath()}`));
|
|
3860
3829
|
console.log();
|
|
3861
3830
|
} catch (error) {
|
|
3862
3831
|
if (error instanceof ProviderNotFoundError) {
|
|
3863
|
-
console.error(
|
|
3832
|
+
console.error(import_chalk13.default.red(`
|
|
3864
3833
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728: ${error.message}
|
|
3865
3834
|
`));
|
|
3866
|
-
console.log(
|
|
3835
|
+
console.log(import_chalk13.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk13.default.white(" ccman cc list\n"));
|
|
3867
3836
|
} else {
|
|
3868
|
-
console.error(
|
|
3837
|
+
console.error(import_chalk13.default.red(`
|
|
3869
3838
|
\u274C ${error.message}
|
|
3870
3839
|
`));
|
|
3871
3840
|
}
|
|
@@ -3875,28 +3844,28 @@ function useCommand2(program2) {
|
|
|
3875
3844
|
}
|
|
3876
3845
|
|
|
3877
3846
|
// src/commands/claude/current.ts
|
|
3878
|
-
var
|
|
3847
|
+
var import_chalk14 = __toESM(require("chalk"));
|
|
3879
3848
|
function currentCommand2(program2) {
|
|
3880
3849
|
program2.command("current").description("\u663E\u793A\u5F53\u524D\u4F7F\u7528\u7684 Claude Code \u670D\u52A1\u5546").action(async () => {
|
|
3881
3850
|
try {
|
|
3882
3851
|
const manager = createClaudeManager();
|
|
3883
3852
|
const current = manager.getCurrent();
|
|
3884
3853
|
if (!current) {
|
|
3885
|
-
console.log(
|
|
3886
|
-
console.log(
|
|
3854
|
+
console.log(import_chalk14.default.yellow("\n\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 Claude Code \u670D\u52A1\u5546\n"));
|
|
3855
|
+
console.log(import_chalk14.default.blue("\u{1F4A1} \u9009\u62E9\u670D\u52A1\u5546:") + import_chalk14.default.white(" ccman cc use\n"));
|
|
3887
3856
|
return;
|
|
3888
3857
|
}
|
|
3889
|
-
console.log(
|
|
3890
|
-
console.log(` ${
|
|
3891
|
-
console.log(` ${
|
|
3892
|
-
console.log(` ${
|
|
3858
|
+
console.log(import_chalk14.default.bold("\n\u{1F4CD} \u5F53\u524D Claude Code \u670D\u52A1\u5546\n"));
|
|
3859
|
+
console.log(` ${import_chalk14.default.green.bold(current.name)}`);
|
|
3860
|
+
console.log(` ${import_chalk14.default.gray(`ID: ${current.id}`)}`);
|
|
3861
|
+
console.log(` ${import_chalk14.default.gray(`URL: ${current.baseUrl}`)}`);
|
|
3893
3862
|
if (current.lastUsedAt) {
|
|
3894
3863
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3895
|
-
console.log(` ${
|
|
3864
|
+
console.log(` ${import_chalk14.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3896
3865
|
}
|
|
3897
3866
|
console.log();
|
|
3898
3867
|
} catch (error) {
|
|
3899
|
-
console.error(
|
|
3868
|
+
console.error(import_chalk14.default.red(`
|
|
3900
3869
|
\u274C ${error.message}
|
|
3901
3870
|
`));
|
|
3902
3871
|
process.exit(1);
|
|
@@ -3905,7 +3874,7 @@ function currentCommand2(program2) {
|
|
|
3905
3874
|
}
|
|
3906
3875
|
|
|
3907
3876
|
// src/commands/claude/remove.ts
|
|
3908
|
-
var
|
|
3877
|
+
var import_chalk15 = __toESM(require("chalk"));
|
|
3909
3878
|
var import_inquirer9 = __toESM(require("inquirer"));
|
|
3910
3879
|
function removeCommand2(program2) {
|
|
3911
3880
|
program2.command("remove [name]").alias("rm").description("\u5220\u9664 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3913,7 +3882,7 @@ function removeCommand2(program2) {
|
|
|
3913
3882
|
const manager = createClaudeManager();
|
|
3914
3883
|
const providers = manager.list();
|
|
3915
3884
|
if (providers.length === 0) {
|
|
3916
|
-
console.log(
|
|
3885
|
+
console.log(import_chalk15.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3917
3886
|
return;
|
|
3918
3887
|
}
|
|
3919
3888
|
let targetId;
|
|
@@ -3950,21 +3919,21 @@ function removeCommand2(program2) {
|
|
|
3950
3919
|
}
|
|
3951
3920
|
]);
|
|
3952
3921
|
if (!confirmed) {
|
|
3953
|
-
console.log(
|
|
3922
|
+
console.log(import_chalk15.default.gray("\n\u5DF2\u53D6\u6D88\n"));
|
|
3954
3923
|
return;
|
|
3955
3924
|
}
|
|
3956
3925
|
manager.remove(targetId);
|
|
3957
3926
|
console.log();
|
|
3958
|
-
console.log(
|
|
3927
|
+
console.log(import_chalk15.default.green(`\u2705 \u5DF2\u5220\u9664: ${targetName}`));
|
|
3959
3928
|
console.log();
|
|
3960
3929
|
} catch (error) {
|
|
3961
3930
|
if (error instanceof ProviderNotFoundError) {
|
|
3962
|
-
console.error(
|
|
3931
|
+
console.error(import_chalk15.default.red(`
|
|
3963
3932
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728
|
|
3964
3933
|
`));
|
|
3965
|
-
console.log(
|
|
3934
|
+
console.log(import_chalk15.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk15.default.white(" ccman cc list\n"));
|
|
3966
3935
|
} else {
|
|
3967
|
-
console.error(
|
|
3936
|
+
console.error(import_chalk15.default.red(`
|
|
3968
3937
|
\u274C ${error.message}
|
|
3969
3938
|
`));
|
|
3970
3939
|
}
|
|
@@ -3974,7 +3943,7 @@ function removeCommand2(program2) {
|
|
|
3974
3943
|
}
|
|
3975
3944
|
|
|
3976
3945
|
// src/commands/claude/edit.ts
|
|
3977
|
-
var
|
|
3946
|
+
var import_chalk16 = __toESM(require("chalk"));
|
|
3978
3947
|
var import_inquirer10 = __toESM(require("inquirer"));
|
|
3979
3948
|
function editCommand2(program2) {
|
|
3980
3949
|
program2.command("edit [name]").description("\u7F16\u8F91 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3982,7 +3951,7 @@ function editCommand2(program2) {
|
|
|
3982
3951
|
const manager = createClaudeManager();
|
|
3983
3952
|
const providers = manager.list();
|
|
3984
3953
|
if (providers.length === 0) {
|
|
3985
|
-
console.log(
|
|
3954
|
+
console.log(import_chalk16.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3986
3955
|
return;
|
|
3987
3956
|
}
|
|
3988
3957
|
let targetId;
|
|
@@ -4007,8 +3976,8 @@ function editCommand2(program2) {
|
|
|
4007
3976
|
targetId = selectedId;
|
|
4008
3977
|
}
|
|
4009
3978
|
const provider = manager.get(targetId);
|
|
4010
|
-
console.log(
|
|
4011
|
-
console.log(
|
|
3979
|
+
console.log(import_chalk16.default.bold("\n\u270F\uFE0F \u7F16\u8F91\u670D\u52A1\u5546\n"));
|
|
3980
|
+
console.log(import_chalk16.default.gray("\u63D0\u793A: \u7559\u7A7A\u5219\u4FDD\u6301\u539F\u503C\n"));
|
|
4012
3981
|
const answers = await import_inquirer10.default.prompt([
|
|
4013
3982
|
{
|
|
4014
3983
|
type: "input",
|
|
@@ -4040,19 +4009,19 @@ function editCommand2(program2) {
|
|
|
4040
4009
|
if (answers.baseUrl && answers.baseUrl !== provider.baseUrl) updates.baseUrl = answers.baseUrl;
|
|
4041
4010
|
if (answers.apiKey) updates.apiKey = answers.apiKey;
|
|
4042
4011
|
if (Object.keys(updates).length === 0) {
|
|
4043
|
-
console.log(
|
|
4012
|
+
console.log(import_chalk16.default.gray("\n\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\n"));
|
|
4044
4013
|
return;
|
|
4045
4014
|
}
|
|
4046
4015
|
const updated = manager.edit(targetId, updates);
|
|
4047
4016
|
console.log();
|
|
4048
|
-
console.log(
|
|
4017
|
+
console.log(import_chalk16.default.green("\u2705 \u7F16\u8F91\u6210\u529F"));
|
|
4049
4018
|
console.log();
|
|
4050
|
-
console.log(` ${
|
|
4051
|
-
console.log(` ${
|
|
4052
|
-
console.log(` ${
|
|
4019
|
+
console.log(` ${import_chalk16.default.bold(updated.name)} ${import_chalk16.default.blue("[Claude Code]")}`);
|
|
4020
|
+
console.log(` ${import_chalk16.default.gray(`ID: ${updated.id}`)}`);
|
|
4021
|
+
console.log(` ${import_chalk16.default.gray(`URL: ${updated.baseUrl}`)}`);
|
|
4053
4022
|
console.log();
|
|
4054
4023
|
} catch (error) {
|
|
4055
|
-
console.error(
|
|
4024
|
+
console.error(import_chalk16.default.red(`
|
|
4056
4025
|
\u274C ${error.message}
|
|
4057
4026
|
`));
|
|
4058
4027
|
process.exit(1);
|
|
@@ -4061,7 +4030,7 @@ function editCommand2(program2) {
|
|
|
4061
4030
|
}
|
|
4062
4031
|
|
|
4063
4032
|
// src/commands/claude/clone.ts
|
|
4064
|
-
var
|
|
4033
|
+
var import_chalk17 = __toESM(require("chalk"));
|
|
4065
4034
|
var import_inquirer11 = __toESM(require("inquirer"));
|
|
4066
4035
|
function cloneCommand2(program2) {
|
|
4067
4036
|
program2.command("clone [source-name] [new-name]").description("\u514B\u9686 Claude Code \u670D\u52A1\u5546").action(async (sourceName, newName) => {
|
|
@@ -4069,7 +4038,7 @@ function cloneCommand2(program2) {
|
|
|
4069
4038
|
const manager = createClaudeManager();
|
|
4070
4039
|
const providers = manager.list();
|
|
4071
4040
|
if (providers.length === 0) {
|
|
4072
|
-
console.log(
|
|
4041
|
+
console.log(import_chalk17.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
4073
4042
|
return;
|
|
4074
4043
|
}
|
|
4075
4044
|
let sourceId;
|
|
@@ -4098,7 +4067,7 @@ function cloneCommand2(program2) {
|
|
|
4098
4067
|
if (newName) {
|
|
4099
4068
|
cloned = manager.clone(sourceId, newName);
|
|
4100
4069
|
} else {
|
|
4101
|
-
console.log(
|
|
4070
|
+
console.log(import_chalk17.default.blue(`
|
|
4102
4071
|
\u514B\u9686\u81EA: ${source.name}
|
|
4103
4072
|
`));
|
|
4104
4073
|
const input = await promptProviderForm({
|
|
@@ -4109,14 +4078,14 @@ function cloneCommand2(program2) {
|
|
|
4109
4078
|
cloned = manager.add(input);
|
|
4110
4079
|
}
|
|
4111
4080
|
console.log();
|
|
4112
|
-
console.log(
|
|
4081
|
+
console.log(import_chalk17.default.green("\u2705 \u514B\u9686\u6210\u529F"));
|
|
4113
4082
|
console.log();
|
|
4114
|
-
console.log(` ${
|
|
4115
|
-
console.log(` ${
|
|
4116
|
-
console.log(` ${
|
|
4083
|
+
console.log(` ${import_chalk17.default.bold(cloned.name)} ${import_chalk17.default.blue("[Claude Code]")}`);
|
|
4084
|
+
console.log(` ${import_chalk17.default.gray(`ID: ${cloned.id}`)}`);
|
|
4085
|
+
console.log(` ${import_chalk17.default.gray(`URL: ${cloned.baseUrl}`)}`);
|
|
4117
4086
|
console.log();
|
|
4118
4087
|
} catch (error) {
|
|
4119
|
-
console.error(
|
|
4088
|
+
console.error(import_chalk17.default.red(`
|
|
4120
4089
|
\u274C ${error.message}
|
|
4121
4090
|
`));
|
|
4122
4091
|
process.exit(1);
|
|
@@ -4137,10 +4106,10 @@ function createClaudeCommands(program2) {
|
|
|
4137
4106
|
|
|
4138
4107
|
// src/index.ts
|
|
4139
4108
|
if (process.env.NODE_ENV === "development") {
|
|
4140
|
-
console.log(
|
|
4141
|
-
console.log(
|
|
4142
|
-
console.log(
|
|
4143
|
-
console.log(
|
|
4109
|
+
console.log(import_chalk18.default.gray("\n[\u5F00\u53D1\u6A21\u5F0F] \u914D\u7F6E\u76EE\u5F55:"));
|
|
4110
|
+
console.log(import_chalk18.default.gray(` ccman: ${getCcmanDir()}`));
|
|
4111
|
+
console.log(import_chalk18.default.gray(` codex: ${getCodexDir()}`));
|
|
4112
|
+
console.log(import_chalk18.default.gray(` claude: ${getClaudeDir()}`));
|
|
4144
4113
|
console.log();
|
|
4145
4114
|
}
|
|
4146
4115
|
var program = new import_commander.Command();
|