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 { getApiProviderPresets } from './api-providers.mjs';
|
|
3
3
|
import { i18n } from './index2.mjs';
|
|
4
4
|
import { P as ProviderHealthMonitor } from '../shared/ccjk.J8YiPsOw.mjs';
|
|
@@ -15,20 +15,20 @@ async function listProviders(options = {}) {
|
|
|
15
15
|
const isZh = i18n.language === "zh-CN";
|
|
16
16
|
const codeType = options.codeType || "claude-code";
|
|
17
17
|
console.log("");
|
|
18
|
-
console.log(
|
|
19
|
-
console.log(
|
|
18
|
+
console.log(ansis__default.bold.cyan(isZh ? "\u{1F4CB} \u53EF\u7528\u7684 API \u4F9B\u5E94\u5546" : "\u{1F4CB} Available API Providers"));
|
|
19
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
20
20
|
console.log("");
|
|
21
21
|
try {
|
|
22
22
|
const providers = await getApiProviderPresets(codeType);
|
|
23
23
|
if (providers.length === 0) {
|
|
24
|
-
console.log(
|
|
24
|
+
console.log(ansis__default.yellow(isZh ? "\u672A\u627E\u5230\u4F9B\u5E94\u5546" : "No providers found"));
|
|
25
25
|
console.log("");
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
const cloudProviders = providers.filter((p) => p.isCloud);
|
|
29
29
|
const localProviders = providers.filter((p) => !p.isCloud);
|
|
30
30
|
if (cloudProviders.length > 0) {
|
|
31
|
-
console.log(
|
|
31
|
+
console.log(ansis__default.bold.green(isZh ? "\u2601\uFE0F \u4E91\u7AEF\u4F9B\u5E94\u5546" : "\u2601\uFE0F Cloud Providers"));
|
|
32
32
|
console.log("");
|
|
33
33
|
for (const provider of cloudProviders) {
|
|
34
34
|
displayProvider(provider, codeType, options.verbose || false, isZh);
|
|
@@ -38,47 +38,47 @@ async function listProviders(options = {}) {
|
|
|
38
38
|
if (cloudProviders.length > 0) {
|
|
39
39
|
console.log("");
|
|
40
40
|
}
|
|
41
|
-
console.log(
|
|
41
|
+
console.log(ansis__default.bold.blue(isZh ? "\u{1F4BE} \u672C\u5730\u4F9B\u5E94\u5546" : "\u{1F4BE} Local Providers"));
|
|
42
42
|
console.log("");
|
|
43
43
|
for (const provider of localProviders) {
|
|
44
44
|
displayProvider(provider, codeType, options.verbose || false, isZh);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
console.log("");
|
|
48
|
-
console.log(
|
|
49
|
-
console.log(
|
|
48
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
49
|
+
console.log(ansis__default.dim(isZh ? `\u603B\u8BA1: ${providers.length} \u4E2A\u4F9B\u5E94\u5546 (${cloudProviders.length} \u4E91\u7AEF, ${localProviders.length} \u672C\u5730)` : `Total: ${providers.length} providers (${cloudProviders.length} cloud, ${localProviders.length} local)`));
|
|
50
50
|
console.log("");
|
|
51
51
|
} catch (error) {
|
|
52
|
-
console.error(
|
|
52
|
+
console.error(ansis__default.red(isZh ? "\u274C \u83B7\u53D6\u4F9B\u5E94\u5546\u5217\u8868\u5931\u8D25" : "\u274C Failed to fetch providers"));
|
|
53
53
|
if (options.verbose && error instanceof Error) {
|
|
54
|
-
console.error(
|
|
54
|
+
console.error(ansis__default.dim(error.message));
|
|
55
55
|
}
|
|
56
56
|
console.log("");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
function displayProvider(provider, codeType, verbose, isZh) {
|
|
60
60
|
const config = codeType === "codex" ? provider.codex : provider.claudeCode;
|
|
61
|
-
console.log(` ${
|
|
61
|
+
console.log(` ${ansis__default.bold(provider.name)} ${ansis__default.dim(`(${provider.id})`)}`);
|
|
62
62
|
if (provider.description) {
|
|
63
|
-
console.log(` ${
|
|
63
|
+
console.log(` ${ansis__default.dim(provider.description)}`);
|
|
64
64
|
}
|
|
65
65
|
if (config) {
|
|
66
|
-
console.log(` ${
|
|
66
|
+
console.log(` ${ansis__default.green(isZh ? "\u63A5\u53E3\u5730\u5740" : "Base URL")}: ${config.baseUrl}`);
|
|
67
67
|
if (codeType === "claude-code" && config.authType) {
|
|
68
|
-
console.log(` ${
|
|
68
|
+
console.log(` ${ansis__default.green(isZh ? "\u8BA4\u8BC1\u65B9\u5F0F" : "Auth Type")}: ${config.authType}`);
|
|
69
69
|
}
|
|
70
70
|
if (codeType === "codex" && config.wireApi) {
|
|
71
|
-
console.log(` ${
|
|
71
|
+
console.log(` ${ansis__default.green(isZh ? "\u534F\u8BAE\u7C7B\u578B" : "Wire API")}: ${config.wireApi}`);
|
|
72
72
|
}
|
|
73
73
|
if (verbose) {
|
|
74
74
|
if (config.defaultModels && config.defaultModels.length > 0) {
|
|
75
|
-
console.log(` ${
|
|
75
|
+
console.log(` ${ansis__default.green(isZh ? "\u9ED8\u8BA4\u6A21\u578B" : "Default Models")}: ${config.defaultModels.join(", ")}`);
|
|
76
76
|
}
|
|
77
77
|
if (config.defaultModel) {
|
|
78
|
-
console.log(` ${
|
|
78
|
+
console.log(` ${ansis__default.green(isZh ? "\u9ED8\u8BA4\u6A21\u578B" : "Default Model")}: ${config.defaultModel}`);
|
|
79
79
|
}
|
|
80
80
|
if (provider.website) {
|
|
81
|
-
console.log(` ${
|
|
81
|
+
console.log(` ${ansis__default.green(isZh ? "\u5B98\u7F51" : "Website")}: ${provider.website}`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -88,13 +88,13 @@ async function checkProvidersHealth(options = {}) {
|
|
|
88
88
|
const isZh = i18n.language === "zh-CN";
|
|
89
89
|
const codeType = options.codeType || "claude-code";
|
|
90
90
|
console.log("");
|
|
91
|
-
console.log(
|
|
92
|
-
console.log(
|
|
91
|
+
console.log(ansis__default.bold.cyan(isZh ? "\u{1F3E5} \u4F9B\u5E94\u5546\u5065\u5EB7\u68C0\u67E5" : "\u{1F3E5} Provider Health Check"));
|
|
92
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
93
93
|
console.log("");
|
|
94
94
|
try {
|
|
95
95
|
const providers = await getApiProviderPresets(codeType);
|
|
96
96
|
if (providers.length === 0) {
|
|
97
|
-
console.log(
|
|
97
|
+
console.log(ansis__default.yellow(isZh ? "\u672A\u627E\u5230\u4F9B\u5E94\u5546" : "No providers found"));
|
|
98
98
|
console.log("");
|
|
99
99
|
return;
|
|
100
100
|
}
|
|
@@ -104,7 +104,7 @@ async function checkProvidersHealth(options = {}) {
|
|
|
104
104
|
unhealthyLatencyThreshold: 3e3
|
|
105
105
|
});
|
|
106
106
|
monitor.setProviders(providers);
|
|
107
|
-
console.log(
|
|
107
|
+
console.log(ansis__default.dim(isZh ? "\u6B63\u5728\u68C0\u67E5\u4F9B\u5E94\u5546\u5065\u5EB7\u72B6\u6001..." : "Checking provider health..."));
|
|
108
108
|
console.log("");
|
|
109
109
|
const results = await Promise.all(
|
|
110
110
|
providers.map(async (provider) => {
|
|
@@ -113,31 +113,31 @@ async function checkProvidersHealth(options = {}) {
|
|
|
113
113
|
})
|
|
114
114
|
);
|
|
115
115
|
for (const { provider, result } of results) {
|
|
116
|
-
const statusIcon = result.success ?
|
|
117
|
-
const latencyColor = result.latency < 1e3 ?
|
|
118
|
-
console.log(`${statusIcon} ${
|
|
116
|
+
const statusIcon = result.success ? ansis__default.green("\u2705") : ansis__default.red("\u274C");
|
|
117
|
+
const latencyColor = result.latency < 1e3 ? ansis__default.green : result.latency < 3e3 ? ansis__default.yellow : ansis__default.red;
|
|
118
|
+
console.log(`${statusIcon} ${ansis__default.bold(provider.name)}`);
|
|
119
119
|
if (result.success) {
|
|
120
|
-
console.log(` ${
|
|
121
|
-
console.log(` ${
|
|
120
|
+
console.log(` ${ansis__default.green(isZh ? "\u5EF6\u8FDF" : "Latency")}: ${latencyColor(`${result.latency}ms`)}`);
|
|
121
|
+
console.log(` ${ansis__default.green(isZh ? "\u72B6\u6001: \u6B63\u5E38" : "Status: Healthy")}`);
|
|
122
122
|
} else {
|
|
123
|
-
console.log(` ${
|
|
123
|
+
console.log(` ${ansis__default.red(isZh ? "\u72B6\u6001: \u4E0D\u53EF\u7528" : "Status: Unavailable")}`);
|
|
124
124
|
if (result.error) {
|
|
125
|
-
console.log(` ${
|
|
125
|
+
console.log(` ${ansis__default.dim(isZh ? "\u9519\u8BEF" : "Error")}: ${result.error}`);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
console.log("");
|
|
129
129
|
}
|
|
130
130
|
const healthyCount = results.filter((r) => r.result.success).length;
|
|
131
131
|
const unhealthyCount = results.length - healthyCount;
|
|
132
|
-
console.log(
|
|
133
|
-
console.log(
|
|
134
|
-
console.log(` ${
|
|
135
|
-
console.log(` ${
|
|
132
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
133
|
+
console.log(ansis__default.bold(isZh ? "\u6458\u8981" : "Summary"));
|
|
134
|
+
console.log(` ${ansis__default.green("\u2705")} ${isZh ? "\u5065\u5EB7" : "Healthy"}: ${healthyCount}`);
|
|
135
|
+
console.log(` ${ansis__default.red("\u274C")} ${isZh ? "\u4E0D\u53EF\u7528" : "Unavailable"}: ${unhealthyCount}`);
|
|
136
136
|
console.log("");
|
|
137
137
|
} catch (error) {
|
|
138
|
-
console.error(
|
|
138
|
+
console.error(ansis__default.red(isZh ? "\u274C \u5065\u5EB7\u68C0\u67E5\u5931\u8D25" : "\u274C Health check failed"));
|
|
139
139
|
if (options.verbose && error instanceof Error) {
|
|
140
|
-
console.error(
|
|
140
|
+
console.error(ansis__default.dim(error.message));
|
|
141
141
|
}
|
|
142
142
|
console.log("");
|
|
143
143
|
}
|
|
@@ -146,13 +146,13 @@ async function recommendProvider(options = {}) {
|
|
|
146
146
|
const isZh = i18n.language === "zh-CN";
|
|
147
147
|
const codeType = options.codeType || "claude-code";
|
|
148
148
|
console.log("");
|
|
149
|
-
console.log(
|
|
150
|
-
console.log(
|
|
149
|
+
console.log(ansis__default.bold.cyan(isZh ? "\u{1F3AF} \u4F9B\u5E94\u5546\u63A8\u8350" : "\u{1F3AF} Provider Recommendation"));
|
|
150
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
151
151
|
console.log("");
|
|
152
152
|
try {
|
|
153
153
|
const providers = await getApiProviderPresets(codeType);
|
|
154
154
|
if (providers.length === 0) {
|
|
155
|
-
console.log(
|
|
155
|
+
console.log(ansis__default.yellow(isZh ? "\u672A\u627E\u5230\u4F9B\u5E94\u5546" : "No providers found"));
|
|
156
156
|
console.log("");
|
|
157
157
|
return;
|
|
158
158
|
}
|
|
@@ -162,7 +162,7 @@ async function recommendProvider(options = {}) {
|
|
|
162
162
|
unhealthyLatencyThreshold: 3e3
|
|
163
163
|
});
|
|
164
164
|
monitor.setProviders(providers);
|
|
165
|
-
console.log(
|
|
165
|
+
console.log(ansis__default.dim(isZh ? "\u6B63\u5728\u5206\u6790\u4F9B\u5E94\u5546\u6027\u80FD..." : "Analyzing provider performance..."));
|
|
166
166
|
console.log("");
|
|
167
167
|
await Promise.all(
|
|
168
168
|
providers.map(async (provider) => {
|
|
@@ -173,55 +173,55 @@ async function recommendProvider(options = {}) {
|
|
|
173
173
|
const sortedProviders = monitor.getProvidersByHealth();
|
|
174
174
|
const bestProvider = sortedProviders[0];
|
|
175
175
|
if (!bestProvider) {
|
|
176
|
-
console.log(
|
|
176
|
+
console.log(ansis__default.yellow(isZh ? "\u65E0\u6CD5\u786E\u5B9A\u6700\u4F73\u4F9B\u5E94\u5546" : "Unable to determine best provider"));
|
|
177
177
|
console.log("");
|
|
178
178
|
return;
|
|
179
179
|
}
|
|
180
|
-
console.log(
|
|
180
|
+
console.log(ansis__default.bold.green(isZh ? "\u{1F3C6} \u63A8\u8350\u4F9B\u5E94\u5546" : "\u{1F3C6} Recommended Provider"));
|
|
181
181
|
console.log("");
|
|
182
|
-
console.log(` ${
|
|
182
|
+
console.log(` ${ansis__default.bold.cyan(bestProvider.name)} ${ansis__default.dim(`(${bestProvider.id})`)}`);
|
|
183
183
|
if (bestProvider.description) {
|
|
184
|
-
console.log(` ${
|
|
184
|
+
console.log(` ${ansis__default.dim(bestProvider.description)}`);
|
|
185
185
|
}
|
|
186
186
|
const health = monitor.getProviderHealth(bestProvider.id);
|
|
187
187
|
if (health) {
|
|
188
188
|
console.log("");
|
|
189
|
-
console.log(
|
|
190
|
-
console.log(` ${
|
|
191
|
-
console.log(` ${
|
|
192
|
-
console.log(` ${
|
|
189
|
+
console.log(ansis__default.bold(isZh ? "\u6027\u80FD\u6307\u6807" : "Performance Metrics"));
|
|
190
|
+
console.log(` ${ansis__default.green(isZh ? "\u5EF6\u8FDF" : "Latency")}: ${health.latency.toFixed(0)}ms`);
|
|
191
|
+
console.log(` ${ansis__default.green(isZh ? "\u6210\u529F\u7387" : "Success Rate")}: ${(health.successRate * 100).toFixed(1)}%`);
|
|
192
|
+
console.log(` ${ansis__default.green(isZh ? "\u72B6\u6001" : "Status")}: ${getStatusDisplay(health.status, isZh)}`);
|
|
193
193
|
}
|
|
194
194
|
if (sortedProviders.length > 1) {
|
|
195
195
|
console.log("");
|
|
196
|
-
console.log(
|
|
196
|
+
console.log(ansis__default.bold(isZh ? "\u5907\u9009\u4F9B\u5E94\u5546" : "Alternative Providers"));
|
|
197
197
|
console.log("");
|
|
198
198
|
for (let i = 1; i < Math.min(4, sortedProviders.length); i++) {
|
|
199
199
|
const provider = sortedProviders[i];
|
|
200
200
|
const health2 = monitor.getProviderHealth(provider.id);
|
|
201
|
-
console.log(` ${i}. ${
|
|
201
|
+
console.log(` ${i}. ${ansis__default.bold(provider.name)} ${ansis__default.dim(`(${provider.id})`)}`);
|
|
202
202
|
if (health2) {
|
|
203
|
-
console.log(` ${
|
|
203
|
+
console.log(` ${ansis__default.dim(`${health2.latency.toFixed(0)}ms | ${(health2.successRate * 100).toFixed(1)}% | ${health2.status}`)}`);
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
console.log("");
|
|
208
|
-
console.log(
|
|
209
|
-
console.log(
|
|
208
|
+
console.log(ansis__default.dim("\u2500".repeat(60)));
|
|
209
|
+
console.log(ansis__default.dim(isZh ? '\u{1F4A1} \u63D0\u793A: \u4F7F\u7528 "ccjk config set provider <id>" \u5207\u6362\u4F9B\u5E94\u5546' : '\u{1F4A1} Tip: Use "ccjk config set provider <id>" to switch provider'));
|
|
210
210
|
console.log("");
|
|
211
211
|
} catch (error) {
|
|
212
|
-
console.error(
|
|
212
|
+
console.error(ansis__default.red(isZh ? "\u274C \u63A8\u8350\u5931\u8D25" : "\u274C Recommendation failed"));
|
|
213
213
|
if (options.verbose && error instanceof Error) {
|
|
214
|
-
console.error(
|
|
214
|
+
console.error(ansis__default.dim(error.message));
|
|
215
215
|
}
|
|
216
216
|
console.log("");
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
function getStatusDisplay(status, isZh) {
|
|
220
220
|
const statusMap = {
|
|
221
|
-
healthy: { en: "Healthy", zh: "\u5065\u5EB7", color:
|
|
222
|
-
degraded: { en: "Degraded", zh: "\u964D\u7EA7", color:
|
|
223
|
-
unhealthy: { en: "Unhealthy", zh: "\u4E0D\u5065\u5EB7", color:
|
|
224
|
-
unknown: { en: "Unknown", zh: "\u672A\u77E5", color:
|
|
221
|
+
healthy: { en: "Healthy", zh: "\u5065\u5EB7", color: ansis__default.green },
|
|
222
|
+
degraded: { en: "Degraded", zh: "\u964D\u7EA7", color: ansis__default.yellow },
|
|
223
|
+
unhealthy: { en: "Unhealthy", zh: "\u4E0D\u5065\u5EB7", color: ansis__default.red },
|
|
224
|
+
unknown: { en: "Unknown", zh: "\u672A\u77E5", color: ansis__default.dim }
|
|
225
225
|
};
|
|
226
226
|
const info = statusMap[status] || statusMap.unknown;
|
|
227
227
|
const text = isZh ? info.zh : info.en;
|
|
@@ -244,15 +244,15 @@ async function providersCommand(action, options = {}) {
|
|
|
244
244
|
default: {
|
|
245
245
|
const isZh = i18n.language === "zh-CN";
|
|
246
246
|
console.log("");
|
|
247
|
-
console.log(
|
|
247
|
+
console.log(ansis__default.bold.cyan(isZh ? "\u{1F4E6} \u4F9B\u5E94\u5546\u7BA1\u7406\u547D\u4EE4" : "\u{1F4E6} Provider Management Commands"));
|
|
248
248
|
console.log("");
|
|
249
|
-
console.log(` ${
|
|
250
|
-
console.log(` ${
|
|
251
|
-
console.log(` ${
|
|
249
|
+
console.log(` ${ansis__default.green("ccjk providers list")} ${isZh ? "\u5217\u51FA\u6240\u6709\u4F9B\u5E94\u5546" : "List all providers"}`);
|
|
250
|
+
console.log(` ${ansis__default.green("ccjk providers health")} ${isZh ? "\u68C0\u67E5\u4F9B\u5E94\u5546\u5065\u5EB7\u72B6\u6001" : "Check provider health"}`);
|
|
251
|
+
console.log(` ${ansis__default.green("ccjk providers recommend")} ${isZh ? "\u63A8\u8350\u6700\u4F73\u4F9B\u5E94\u5546" : "Recommend best provider"}`);
|
|
252
252
|
console.log("");
|
|
253
|
-
console.log(
|
|
254
|
-
console.log(` ${
|
|
255
|
-
console.log(` ${
|
|
253
|
+
console.log(ansis__default.bold(isZh ? "\u9009\u9879" : "Options"));
|
|
254
|
+
console.log(` ${ansis__default.green("--code-type, -T")} <type> ${isZh ? "\u4EE3\u7801\u5DE5\u5177\u7C7B\u578B (claude-code, codex)" : "Code tool type (claude-code, codex)"}`);
|
|
255
|
+
console.log(` ${ansis__default.green("--verbose, -v")} ${isZh ? "\u8BE6\u7EC6\u8F93\u51FA" : "Verbose output"}`);
|
|
256
256
|
console.log("");
|
|
257
257
|
}
|
|
258
258
|
}
|