@arrislink/axon 1.1.0 → 1.1.1
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 +589 -568
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -29,6 +29,495 @@ var __export = (target, all) => {
|
|
|
29
29
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
30
30
|
var __require = import.meta.require;
|
|
31
31
|
|
|
32
|
+
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
33
|
+
function assembleStyles() {
|
|
34
|
+
const codes = new Map;
|
|
35
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
36
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
37
|
+
styles[styleName] = {
|
|
38
|
+
open: `\x1B[${style[0]}m`,
|
|
39
|
+
close: `\x1B[${style[1]}m`
|
|
40
|
+
};
|
|
41
|
+
group[styleName] = styles[styleName];
|
|
42
|
+
codes.set(style[0], style[1]);
|
|
43
|
+
}
|
|
44
|
+
Object.defineProperty(styles, groupName, {
|
|
45
|
+
value: group,
|
|
46
|
+
enumerable: false
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
Object.defineProperty(styles, "codes", {
|
|
50
|
+
value: codes,
|
|
51
|
+
enumerable: false
|
|
52
|
+
});
|
|
53
|
+
styles.color.close = "\x1B[39m";
|
|
54
|
+
styles.bgColor.close = "\x1B[49m";
|
|
55
|
+
styles.color.ansi = wrapAnsi16();
|
|
56
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
57
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
58
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
59
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
60
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
61
|
+
Object.defineProperties(styles, {
|
|
62
|
+
rgbToAnsi256: {
|
|
63
|
+
value(red, green, blue) {
|
|
64
|
+
if (red === green && green === blue) {
|
|
65
|
+
if (red < 8) {
|
|
66
|
+
return 16;
|
|
67
|
+
}
|
|
68
|
+
if (red > 248) {
|
|
69
|
+
return 231;
|
|
70
|
+
}
|
|
71
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
72
|
+
}
|
|
73
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
74
|
+
},
|
|
75
|
+
enumerable: false
|
|
76
|
+
},
|
|
77
|
+
hexToRgb: {
|
|
78
|
+
value(hex) {
|
|
79
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
80
|
+
if (!matches) {
|
|
81
|
+
return [0, 0, 0];
|
|
82
|
+
}
|
|
83
|
+
let [colorString] = matches;
|
|
84
|
+
if (colorString.length === 3) {
|
|
85
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
86
|
+
}
|
|
87
|
+
const integer = Number.parseInt(colorString, 16);
|
|
88
|
+
return [
|
|
89
|
+
integer >> 16 & 255,
|
|
90
|
+
integer >> 8 & 255,
|
|
91
|
+
integer & 255
|
|
92
|
+
];
|
|
93
|
+
},
|
|
94
|
+
enumerable: false
|
|
95
|
+
},
|
|
96
|
+
hexToAnsi256: {
|
|
97
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
98
|
+
enumerable: false
|
|
99
|
+
},
|
|
100
|
+
ansi256ToAnsi: {
|
|
101
|
+
value(code) {
|
|
102
|
+
if (code < 8) {
|
|
103
|
+
return 30 + code;
|
|
104
|
+
}
|
|
105
|
+
if (code < 16) {
|
|
106
|
+
return 90 + (code - 8);
|
|
107
|
+
}
|
|
108
|
+
let red;
|
|
109
|
+
let green;
|
|
110
|
+
let blue;
|
|
111
|
+
if (code >= 232) {
|
|
112
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
113
|
+
green = red;
|
|
114
|
+
blue = red;
|
|
115
|
+
} else {
|
|
116
|
+
code -= 16;
|
|
117
|
+
const remainder = code % 36;
|
|
118
|
+
red = Math.floor(code / 36) / 5;
|
|
119
|
+
green = Math.floor(remainder / 6) / 5;
|
|
120
|
+
blue = remainder % 6 / 5;
|
|
121
|
+
}
|
|
122
|
+
const value = Math.max(red, green, blue) * 2;
|
|
123
|
+
if (value === 0) {
|
|
124
|
+
return 30;
|
|
125
|
+
}
|
|
126
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
127
|
+
if (value === 2) {
|
|
128
|
+
result += 60;
|
|
129
|
+
}
|
|
130
|
+
return result;
|
|
131
|
+
},
|
|
132
|
+
enumerable: false
|
|
133
|
+
},
|
|
134
|
+
rgbToAnsi: {
|
|
135
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
136
|
+
enumerable: false
|
|
137
|
+
},
|
|
138
|
+
hexToAnsi: {
|
|
139
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
140
|
+
enumerable: false
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return styles;
|
|
144
|
+
}
|
|
145
|
+
var ANSI_BACKGROUND_OFFSET = 10, wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
|
|
146
|
+
var init_ansi_styles = __esm(() => {
|
|
147
|
+
styles = {
|
|
148
|
+
modifier: {
|
|
149
|
+
reset: [0, 0],
|
|
150
|
+
bold: [1, 22],
|
|
151
|
+
dim: [2, 22],
|
|
152
|
+
italic: [3, 23],
|
|
153
|
+
underline: [4, 24],
|
|
154
|
+
overline: [53, 55],
|
|
155
|
+
inverse: [7, 27],
|
|
156
|
+
hidden: [8, 28],
|
|
157
|
+
strikethrough: [9, 29]
|
|
158
|
+
},
|
|
159
|
+
color: {
|
|
160
|
+
black: [30, 39],
|
|
161
|
+
red: [31, 39],
|
|
162
|
+
green: [32, 39],
|
|
163
|
+
yellow: [33, 39],
|
|
164
|
+
blue: [34, 39],
|
|
165
|
+
magenta: [35, 39],
|
|
166
|
+
cyan: [36, 39],
|
|
167
|
+
white: [37, 39],
|
|
168
|
+
blackBright: [90, 39],
|
|
169
|
+
gray: [90, 39],
|
|
170
|
+
grey: [90, 39],
|
|
171
|
+
redBright: [91, 39],
|
|
172
|
+
greenBright: [92, 39],
|
|
173
|
+
yellowBright: [93, 39],
|
|
174
|
+
blueBright: [94, 39],
|
|
175
|
+
magentaBright: [95, 39],
|
|
176
|
+
cyanBright: [96, 39],
|
|
177
|
+
whiteBright: [97, 39]
|
|
178
|
+
},
|
|
179
|
+
bgColor: {
|
|
180
|
+
bgBlack: [40, 49],
|
|
181
|
+
bgRed: [41, 49],
|
|
182
|
+
bgGreen: [42, 49],
|
|
183
|
+
bgYellow: [43, 49],
|
|
184
|
+
bgBlue: [44, 49],
|
|
185
|
+
bgMagenta: [45, 49],
|
|
186
|
+
bgCyan: [46, 49],
|
|
187
|
+
bgWhite: [47, 49],
|
|
188
|
+
bgBlackBright: [100, 49],
|
|
189
|
+
bgGray: [100, 49],
|
|
190
|
+
bgGrey: [100, 49],
|
|
191
|
+
bgRedBright: [101, 49],
|
|
192
|
+
bgGreenBright: [102, 49],
|
|
193
|
+
bgYellowBright: [103, 49],
|
|
194
|
+
bgBlueBright: [104, 49],
|
|
195
|
+
bgMagentaBright: [105, 49],
|
|
196
|
+
bgCyanBright: [106, 49],
|
|
197
|
+
bgWhiteBright: [107, 49]
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
modifierNames = Object.keys(styles.modifier);
|
|
201
|
+
foregroundColorNames = Object.keys(styles.color);
|
|
202
|
+
backgroundColorNames = Object.keys(styles.bgColor);
|
|
203
|
+
colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
204
|
+
ansiStyles = assembleStyles();
|
|
205
|
+
ansi_styles_default = ansiStyles;
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
209
|
+
import process2 from "process";
|
|
210
|
+
import os from "os";
|
|
211
|
+
import tty from "tty";
|
|
212
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
213
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
214
|
+
const position = argv.indexOf(prefix + flag);
|
|
215
|
+
const terminatorPosition = argv.indexOf("--");
|
|
216
|
+
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
217
|
+
}
|
|
218
|
+
function envForceColor() {
|
|
219
|
+
if ("FORCE_COLOR" in env) {
|
|
220
|
+
if (env.FORCE_COLOR === "true") {
|
|
221
|
+
return 1;
|
|
222
|
+
}
|
|
223
|
+
if (env.FORCE_COLOR === "false") {
|
|
224
|
+
return 0;
|
|
225
|
+
}
|
|
226
|
+
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function translateLevel(level) {
|
|
230
|
+
if (level === 0) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
level,
|
|
235
|
+
hasBasic: true,
|
|
236
|
+
has256: level >= 2,
|
|
237
|
+
has16m: level >= 3
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
241
|
+
const noFlagForceColor = envForceColor();
|
|
242
|
+
if (noFlagForceColor !== undefined) {
|
|
243
|
+
flagForceColor = noFlagForceColor;
|
|
244
|
+
}
|
|
245
|
+
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
246
|
+
if (forceColor === 0) {
|
|
247
|
+
return 0;
|
|
248
|
+
}
|
|
249
|
+
if (sniffFlags) {
|
|
250
|
+
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
251
|
+
return 3;
|
|
252
|
+
}
|
|
253
|
+
if (hasFlag("color=256")) {
|
|
254
|
+
return 2;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
258
|
+
return 1;
|
|
259
|
+
}
|
|
260
|
+
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
261
|
+
return 0;
|
|
262
|
+
}
|
|
263
|
+
const min = forceColor || 0;
|
|
264
|
+
if (env.TERM === "dumb") {
|
|
265
|
+
return min;
|
|
266
|
+
}
|
|
267
|
+
if (process2.platform === "win32") {
|
|
268
|
+
const osRelease = os.release().split(".");
|
|
269
|
+
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
270
|
+
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
271
|
+
}
|
|
272
|
+
return 1;
|
|
273
|
+
}
|
|
274
|
+
if ("CI" in env) {
|
|
275
|
+
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
276
|
+
return 3;
|
|
277
|
+
}
|
|
278
|
+
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
279
|
+
return 1;
|
|
280
|
+
}
|
|
281
|
+
return min;
|
|
282
|
+
}
|
|
283
|
+
if ("TEAMCITY_VERSION" in env) {
|
|
284
|
+
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
285
|
+
}
|
|
286
|
+
if (env.COLORTERM === "truecolor") {
|
|
287
|
+
return 3;
|
|
288
|
+
}
|
|
289
|
+
if (env.TERM === "xterm-kitty") {
|
|
290
|
+
return 3;
|
|
291
|
+
}
|
|
292
|
+
if (env.TERM === "xterm-ghostty") {
|
|
293
|
+
return 3;
|
|
294
|
+
}
|
|
295
|
+
if (env.TERM === "wezterm") {
|
|
296
|
+
return 3;
|
|
297
|
+
}
|
|
298
|
+
if ("TERM_PROGRAM" in env) {
|
|
299
|
+
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
300
|
+
switch (env.TERM_PROGRAM) {
|
|
301
|
+
case "iTerm.app": {
|
|
302
|
+
return version >= 3 ? 3 : 2;
|
|
303
|
+
}
|
|
304
|
+
case "Apple_Terminal": {
|
|
305
|
+
return 2;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (/-256(color)?$/i.test(env.TERM)) {
|
|
310
|
+
return 2;
|
|
311
|
+
}
|
|
312
|
+
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
313
|
+
return 1;
|
|
314
|
+
}
|
|
315
|
+
if ("COLORTERM" in env) {
|
|
316
|
+
return 1;
|
|
317
|
+
}
|
|
318
|
+
return min;
|
|
319
|
+
}
|
|
320
|
+
function createSupportsColor(stream, options = {}) {
|
|
321
|
+
const level = _supportsColor(stream, {
|
|
322
|
+
streamIsTTY: stream && stream.isTTY,
|
|
323
|
+
...options
|
|
324
|
+
});
|
|
325
|
+
return translateLevel(level);
|
|
326
|
+
}
|
|
327
|
+
var env, flagForceColor, supportsColor, supports_color_default;
|
|
328
|
+
var init_supports_color = __esm(() => {
|
|
329
|
+
({ env } = process2);
|
|
330
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
331
|
+
flagForceColor = 0;
|
|
332
|
+
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
333
|
+
flagForceColor = 1;
|
|
334
|
+
}
|
|
335
|
+
supportsColor = {
|
|
336
|
+
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
337
|
+
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
338
|
+
};
|
|
339
|
+
supports_color_default = supportsColor;
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
// node_modules/chalk/source/utilities.js
|
|
343
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
344
|
+
let index = string.indexOf(substring);
|
|
345
|
+
if (index === -1) {
|
|
346
|
+
return string;
|
|
347
|
+
}
|
|
348
|
+
const substringLength = substring.length;
|
|
349
|
+
let endIndex = 0;
|
|
350
|
+
let returnValue = "";
|
|
351
|
+
do {
|
|
352
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
353
|
+
endIndex = index + substringLength;
|
|
354
|
+
index = string.indexOf(substring, endIndex);
|
|
355
|
+
} while (index !== -1);
|
|
356
|
+
returnValue += string.slice(endIndex);
|
|
357
|
+
return returnValue;
|
|
358
|
+
}
|
|
359
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
360
|
+
let endIndex = 0;
|
|
361
|
+
let returnValue = "";
|
|
362
|
+
do {
|
|
363
|
+
const gotCR = string[index - 1] === "\r";
|
|
364
|
+
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
365
|
+
` : `
|
|
366
|
+
`) + postfix;
|
|
367
|
+
endIndex = index + 1;
|
|
368
|
+
index = string.indexOf(`
|
|
369
|
+
`, endIndex);
|
|
370
|
+
} while (index !== -1);
|
|
371
|
+
returnValue += string.slice(endIndex);
|
|
372
|
+
return returnValue;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// node_modules/chalk/source/index.js
|
|
376
|
+
function createChalk(options) {
|
|
377
|
+
return chalkFactory(options);
|
|
378
|
+
}
|
|
379
|
+
var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions = (object, options = {}) => {
|
|
380
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
381
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
382
|
+
}
|
|
383
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
384
|
+
object.level = options.level === undefined ? colorLevel : options.level;
|
|
385
|
+
}, chalkFactory = (options) => {
|
|
386
|
+
const chalk = (...strings) => strings.join(" ");
|
|
387
|
+
applyOptions(chalk, options);
|
|
388
|
+
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
389
|
+
return chalk;
|
|
390
|
+
}, getModelAnsi = (model, level, type, ...arguments_) => {
|
|
391
|
+
if (model === "rgb") {
|
|
392
|
+
if (level === "ansi16m") {
|
|
393
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
394
|
+
}
|
|
395
|
+
if (level === "ansi256") {
|
|
396
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
397
|
+
}
|
|
398
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
399
|
+
}
|
|
400
|
+
if (model === "hex") {
|
|
401
|
+
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
402
|
+
}
|
|
403
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
404
|
+
}, usedModels, proto, createStyler = (open, close, parent) => {
|
|
405
|
+
let openAll;
|
|
406
|
+
let closeAll;
|
|
407
|
+
if (parent === undefined) {
|
|
408
|
+
openAll = open;
|
|
409
|
+
closeAll = close;
|
|
410
|
+
} else {
|
|
411
|
+
openAll = parent.openAll + open;
|
|
412
|
+
closeAll = close + parent.closeAll;
|
|
413
|
+
}
|
|
414
|
+
return {
|
|
415
|
+
open,
|
|
416
|
+
close,
|
|
417
|
+
openAll,
|
|
418
|
+
closeAll,
|
|
419
|
+
parent
|
|
420
|
+
};
|
|
421
|
+
}, createBuilder = (self2, _styler, _isEmpty) => {
|
|
422
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
423
|
+
Object.setPrototypeOf(builder, proto);
|
|
424
|
+
builder[GENERATOR] = self2;
|
|
425
|
+
builder[STYLER] = _styler;
|
|
426
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
427
|
+
return builder;
|
|
428
|
+
}, applyStyle = (self2, string) => {
|
|
429
|
+
if (self2.level <= 0 || !string) {
|
|
430
|
+
return self2[IS_EMPTY] ? "" : string;
|
|
431
|
+
}
|
|
432
|
+
let styler = self2[STYLER];
|
|
433
|
+
if (styler === undefined) {
|
|
434
|
+
return string;
|
|
435
|
+
}
|
|
436
|
+
const { openAll, closeAll } = styler;
|
|
437
|
+
if (string.includes("\x1B")) {
|
|
438
|
+
while (styler !== undefined) {
|
|
439
|
+
string = stringReplaceAll(string, styler.close, styler.open);
|
|
440
|
+
styler = styler.parent;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
const lfIndex = string.indexOf(`
|
|
444
|
+
`);
|
|
445
|
+
if (lfIndex !== -1) {
|
|
446
|
+
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
447
|
+
}
|
|
448
|
+
return openAll + string + closeAll;
|
|
449
|
+
}, chalk, chalkStderr, source_default;
|
|
450
|
+
var init_source = __esm(() => {
|
|
451
|
+
init_ansi_styles();
|
|
452
|
+
init_supports_color();
|
|
453
|
+
({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
|
|
454
|
+
GENERATOR = Symbol("GENERATOR");
|
|
455
|
+
STYLER = Symbol("STYLER");
|
|
456
|
+
IS_EMPTY = Symbol("IS_EMPTY");
|
|
457
|
+
levelMapping = [
|
|
458
|
+
"ansi",
|
|
459
|
+
"ansi",
|
|
460
|
+
"ansi256",
|
|
461
|
+
"ansi16m"
|
|
462
|
+
];
|
|
463
|
+
styles2 = Object.create(null);
|
|
464
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
465
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
466
|
+
styles2[styleName] = {
|
|
467
|
+
get() {
|
|
468
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
469
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
470
|
+
return builder;
|
|
471
|
+
}
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
styles2.visible = {
|
|
475
|
+
get() {
|
|
476
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
477
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
478
|
+
return builder;
|
|
479
|
+
}
|
|
480
|
+
};
|
|
481
|
+
usedModels = ["rgb", "hex", "ansi256"];
|
|
482
|
+
for (const model of usedModels) {
|
|
483
|
+
styles2[model] = {
|
|
484
|
+
get() {
|
|
485
|
+
const { level } = this;
|
|
486
|
+
return function(...arguments_) {
|
|
487
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
488
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
493
|
+
styles2[bgModel] = {
|
|
494
|
+
get() {
|
|
495
|
+
const { level } = this;
|
|
496
|
+
return function(...arguments_) {
|
|
497
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
498
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
};
|
|
502
|
+
}
|
|
503
|
+
proto = Object.defineProperties(() => {}, {
|
|
504
|
+
...styles2,
|
|
505
|
+
level: {
|
|
506
|
+
enumerable: true,
|
|
507
|
+
get() {
|
|
508
|
+
return this[GENERATOR].level;
|
|
509
|
+
},
|
|
510
|
+
set(level) {
|
|
511
|
+
this[GENERATOR].level = level;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
516
|
+
chalk = createChalk();
|
|
517
|
+
chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
518
|
+
source_default = chalk;
|
|
519
|
+
});
|
|
520
|
+
|
|
32
521
|
// node_modules/commander/lib/error.js
|
|
33
522
|
var require_error = __commonJS((exports) => {
|
|
34
523
|
class CommanderError extends Error {
|
|
@@ -611,7 +1100,7 @@ var require_command = __commonJS((exports) => {
|
|
|
611
1100
|
var childProcess = __require("child_process");
|
|
612
1101
|
var path = __require("path");
|
|
613
1102
|
var fs = __require("fs");
|
|
614
|
-
var
|
|
1103
|
+
var process3 = __require("process");
|
|
615
1104
|
var { Argument, humanReadableArgName } = require_argument();
|
|
616
1105
|
var { CommanderError } = require_error();
|
|
617
1106
|
var { Help } = require_help();
|
|
@@ -653,10 +1142,10 @@ var require_command = __commonJS((exports) => {
|
|
|
653
1142
|
this._showHelpAfterError = false;
|
|
654
1143
|
this._showSuggestionAfterError = true;
|
|
655
1144
|
this._outputConfiguration = {
|
|
656
|
-
writeOut: (str) =>
|
|
657
|
-
writeErr: (str) =>
|
|
658
|
-
getOutHelpWidth: () =>
|
|
659
|
-
getErrHelpWidth: () =>
|
|
1145
|
+
writeOut: (str) => process3.stdout.write(str),
|
|
1146
|
+
writeErr: (str) => process3.stderr.write(str),
|
|
1147
|
+
getOutHelpWidth: () => process3.stdout.isTTY ? process3.stdout.columns : undefined,
|
|
1148
|
+
getErrHelpWidth: () => process3.stderr.isTTY ? process3.stderr.columns : undefined,
|
|
660
1149
|
outputError: (str, write) => write(str)
|
|
661
1150
|
};
|
|
662
1151
|
this._hidden = false;
|
|
@@ -852,7 +1341,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
852
1341
|
if (this._exitCallback) {
|
|
853
1342
|
this._exitCallback(new CommanderError(exitCode, code, message));
|
|
854
1343
|
}
|
|
855
|
-
|
|
1344
|
+
process3.exit(exitCode);
|
|
856
1345
|
}
|
|
857
1346
|
action(fn) {
|
|
858
1347
|
const listener = (args) => {
|
|
@@ -1047,16 +1536,16 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1047
1536
|
}
|
|
1048
1537
|
parseOptions = parseOptions || {};
|
|
1049
1538
|
if (argv === undefined && parseOptions.from === undefined) {
|
|
1050
|
-
if (
|
|
1539
|
+
if (process3.versions?.electron) {
|
|
1051
1540
|
parseOptions.from = "electron";
|
|
1052
1541
|
}
|
|
1053
|
-
const execArgv =
|
|
1542
|
+
const execArgv = process3.execArgv ?? [];
|
|
1054
1543
|
if (execArgv.includes("-e") || execArgv.includes("--eval") || execArgv.includes("-p") || execArgv.includes("--print")) {
|
|
1055
1544
|
parseOptions.from = "eval";
|
|
1056
1545
|
}
|
|
1057
1546
|
}
|
|
1058
1547
|
if (argv === undefined) {
|
|
1059
|
-
argv =
|
|
1548
|
+
argv = process3.argv;
|
|
1060
1549
|
}
|
|
1061
1550
|
this.rawArgs = argv.slice();
|
|
1062
1551
|
let userArgs;
|
|
@@ -1067,7 +1556,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1067
1556
|
userArgs = argv.slice(2);
|
|
1068
1557
|
break;
|
|
1069
1558
|
case "electron":
|
|
1070
|
-
if (
|
|
1559
|
+
if (process3.defaultApp) {
|
|
1071
1560
|
this._scriptPath = argv[1];
|
|
1072
1561
|
userArgs = argv.slice(2);
|
|
1073
1562
|
} else {
|
|
@@ -1138,23 +1627,23 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1138
1627
|
}
|
|
1139
1628
|
launchWithNode = sourceExt.includes(path.extname(executableFile));
|
|
1140
1629
|
let proc;
|
|
1141
|
-
if (
|
|
1630
|
+
if (process3.platform !== "win32") {
|
|
1142
1631
|
if (launchWithNode) {
|
|
1143
1632
|
args.unshift(executableFile);
|
|
1144
|
-
args = incrementNodeInspectorPort(
|
|
1145
|
-
proc = childProcess.spawn(
|
|
1633
|
+
args = incrementNodeInspectorPort(process3.execArgv).concat(args);
|
|
1634
|
+
proc = childProcess.spawn(process3.argv[0], args, { stdio: "inherit" });
|
|
1146
1635
|
} else {
|
|
1147
1636
|
proc = childProcess.spawn(executableFile, args, { stdio: "inherit" });
|
|
1148
1637
|
}
|
|
1149
1638
|
} else {
|
|
1150
1639
|
args.unshift(executableFile);
|
|
1151
|
-
args = incrementNodeInspectorPort(
|
|
1152
|
-
proc = childProcess.spawn(
|
|
1640
|
+
args = incrementNodeInspectorPort(process3.execArgv).concat(args);
|
|
1641
|
+
proc = childProcess.spawn(process3.execPath, args, { stdio: "inherit" });
|
|
1153
1642
|
}
|
|
1154
1643
|
if (!proc.killed) {
|
|
1155
1644
|
const signals = ["SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP"];
|
|
1156
1645
|
signals.forEach((signal) => {
|
|
1157
|
-
|
|
1646
|
+
process3.on(signal, () => {
|
|
1158
1647
|
if (proc.killed === false && proc.exitCode === null) {
|
|
1159
1648
|
proc.kill(signal);
|
|
1160
1649
|
}
|
|
@@ -1165,7 +1654,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1165
1654
|
proc.on("close", (code) => {
|
|
1166
1655
|
code = code ?? 1;
|
|
1167
1656
|
if (!exitCallback) {
|
|
1168
|
-
|
|
1657
|
+
process3.exit(code);
|
|
1169
1658
|
} else {
|
|
1170
1659
|
exitCallback(new CommanderError(code, "commander.executeSubCommandAsync", "(close)"));
|
|
1171
1660
|
}
|
|
@@ -1182,7 +1671,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1182
1671
|
throw new Error(`'${executableFile}' not executable`);
|
|
1183
1672
|
}
|
|
1184
1673
|
if (!exitCallback) {
|
|
1185
|
-
|
|
1674
|
+
process3.exit(1);
|
|
1186
1675
|
} else {
|
|
1187
1676
|
const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
|
|
1188
1677
|
wrappedError.nestedError = err;
|
|
@@ -1530,11 +2019,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1530
2019
|
}
|
|
1531
2020
|
_parseOptionsEnv() {
|
|
1532
2021
|
this.options.forEach((option) => {
|
|
1533
|
-
if (option.envVar && option.envVar in
|
|
2022
|
+
if (option.envVar && option.envVar in process3.env) {
|
|
1534
2023
|
const optionKey = option.attributeName();
|
|
1535
2024
|
if (this.getOptionValue(optionKey) === undefined || ["default", "config", "env"].includes(this.getOptionValueSource(optionKey))) {
|
|
1536
2025
|
if (option.required || option.optional) {
|
|
1537
|
-
this.emit(`optionEnv:${option.name()}`,
|
|
2026
|
+
this.emit(`optionEnv:${option.name()}`, process3.env[option.envVar]);
|
|
1538
2027
|
} else {
|
|
1539
2028
|
this.emit(`optionEnv:${option.name()}`);
|
|
1540
2029
|
}
|
|
@@ -1780,7 +2269,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1780
2269
|
}
|
|
1781
2270
|
help(contextOptions) {
|
|
1782
2271
|
this.outputHelp(contextOptions);
|
|
1783
|
-
let exitCode =
|
|
2272
|
+
let exitCode = process3.exitCode || 0;
|
|
1784
2273
|
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) {
|
|
1785
2274
|
exitCode = 1;
|
|
1786
2275
|
}
|
|
@@ -1868,495 +2357,6 @@ var require_commander = __commonJS((exports) => {
|
|
|
1868
2357
|
exports.InvalidOptionArgumentError = InvalidArgumentError;
|
|
1869
2358
|
});
|
|
1870
2359
|
|
|
1871
|
-
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
1872
|
-
function assembleStyles() {
|
|
1873
|
-
const codes = new Map;
|
|
1874
|
-
for (const [groupName, group] of Object.entries(styles)) {
|
|
1875
|
-
for (const [styleName, style] of Object.entries(group)) {
|
|
1876
|
-
styles[styleName] = {
|
|
1877
|
-
open: `\x1B[${style[0]}m`,
|
|
1878
|
-
close: `\x1B[${style[1]}m`
|
|
1879
|
-
};
|
|
1880
|
-
group[styleName] = styles[styleName];
|
|
1881
|
-
codes.set(style[0], style[1]);
|
|
1882
|
-
}
|
|
1883
|
-
Object.defineProperty(styles, groupName, {
|
|
1884
|
-
value: group,
|
|
1885
|
-
enumerable: false
|
|
1886
|
-
});
|
|
1887
|
-
}
|
|
1888
|
-
Object.defineProperty(styles, "codes", {
|
|
1889
|
-
value: codes,
|
|
1890
|
-
enumerable: false
|
|
1891
|
-
});
|
|
1892
|
-
styles.color.close = "\x1B[39m";
|
|
1893
|
-
styles.bgColor.close = "\x1B[49m";
|
|
1894
|
-
styles.color.ansi = wrapAnsi16();
|
|
1895
|
-
styles.color.ansi256 = wrapAnsi256();
|
|
1896
|
-
styles.color.ansi16m = wrapAnsi16m();
|
|
1897
|
-
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
1898
|
-
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
1899
|
-
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
1900
|
-
Object.defineProperties(styles, {
|
|
1901
|
-
rgbToAnsi256: {
|
|
1902
|
-
value(red, green, blue) {
|
|
1903
|
-
if (red === green && green === blue) {
|
|
1904
|
-
if (red < 8) {
|
|
1905
|
-
return 16;
|
|
1906
|
-
}
|
|
1907
|
-
if (red > 248) {
|
|
1908
|
-
return 231;
|
|
1909
|
-
}
|
|
1910
|
-
return Math.round((red - 8) / 247 * 24) + 232;
|
|
1911
|
-
}
|
|
1912
|
-
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
1913
|
-
},
|
|
1914
|
-
enumerable: false
|
|
1915
|
-
},
|
|
1916
|
-
hexToRgb: {
|
|
1917
|
-
value(hex) {
|
|
1918
|
-
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
1919
|
-
if (!matches) {
|
|
1920
|
-
return [0, 0, 0];
|
|
1921
|
-
}
|
|
1922
|
-
let [colorString] = matches;
|
|
1923
|
-
if (colorString.length === 3) {
|
|
1924
|
-
colorString = [...colorString].map((character) => character + character).join("");
|
|
1925
|
-
}
|
|
1926
|
-
const integer = Number.parseInt(colorString, 16);
|
|
1927
|
-
return [
|
|
1928
|
-
integer >> 16 & 255,
|
|
1929
|
-
integer >> 8 & 255,
|
|
1930
|
-
integer & 255
|
|
1931
|
-
];
|
|
1932
|
-
},
|
|
1933
|
-
enumerable: false
|
|
1934
|
-
},
|
|
1935
|
-
hexToAnsi256: {
|
|
1936
|
-
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
1937
|
-
enumerable: false
|
|
1938
|
-
},
|
|
1939
|
-
ansi256ToAnsi: {
|
|
1940
|
-
value(code) {
|
|
1941
|
-
if (code < 8) {
|
|
1942
|
-
return 30 + code;
|
|
1943
|
-
}
|
|
1944
|
-
if (code < 16) {
|
|
1945
|
-
return 90 + (code - 8);
|
|
1946
|
-
}
|
|
1947
|
-
let red;
|
|
1948
|
-
let green;
|
|
1949
|
-
let blue;
|
|
1950
|
-
if (code >= 232) {
|
|
1951
|
-
red = ((code - 232) * 10 + 8) / 255;
|
|
1952
|
-
green = red;
|
|
1953
|
-
blue = red;
|
|
1954
|
-
} else {
|
|
1955
|
-
code -= 16;
|
|
1956
|
-
const remainder = code % 36;
|
|
1957
|
-
red = Math.floor(code / 36) / 5;
|
|
1958
|
-
green = Math.floor(remainder / 6) / 5;
|
|
1959
|
-
blue = remainder % 6 / 5;
|
|
1960
|
-
}
|
|
1961
|
-
const value = Math.max(red, green, blue) * 2;
|
|
1962
|
-
if (value === 0) {
|
|
1963
|
-
return 30;
|
|
1964
|
-
}
|
|
1965
|
-
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
1966
|
-
if (value === 2) {
|
|
1967
|
-
result += 60;
|
|
1968
|
-
}
|
|
1969
|
-
return result;
|
|
1970
|
-
},
|
|
1971
|
-
enumerable: false
|
|
1972
|
-
},
|
|
1973
|
-
rgbToAnsi: {
|
|
1974
|
-
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
1975
|
-
enumerable: false
|
|
1976
|
-
},
|
|
1977
|
-
hexToAnsi: {
|
|
1978
|
-
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
1979
|
-
enumerable: false
|
|
1980
|
-
}
|
|
1981
|
-
});
|
|
1982
|
-
return styles;
|
|
1983
|
-
}
|
|
1984
|
-
var ANSI_BACKGROUND_OFFSET = 10, wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
|
|
1985
|
-
var init_ansi_styles = __esm(() => {
|
|
1986
|
-
styles = {
|
|
1987
|
-
modifier: {
|
|
1988
|
-
reset: [0, 0],
|
|
1989
|
-
bold: [1, 22],
|
|
1990
|
-
dim: [2, 22],
|
|
1991
|
-
italic: [3, 23],
|
|
1992
|
-
underline: [4, 24],
|
|
1993
|
-
overline: [53, 55],
|
|
1994
|
-
inverse: [7, 27],
|
|
1995
|
-
hidden: [8, 28],
|
|
1996
|
-
strikethrough: [9, 29]
|
|
1997
|
-
},
|
|
1998
|
-
color: {
|
|
1999
|
-
black: [30, 39],
|
|
2000
|
-
red: [31, 39],
|
|
2001
|
-
green: [32, 39],
|
|
2002
|
-
yellow: [33, 39],
|
|
2003
|
-
blue: [34, 39],
|
|
2004
|
-
magenta: [35, 39],
|
|
2005
|
-
cyan: [36, 39],
|
|
2006
|
-
white: [37, 39],
|
|
2007
|
-
blackBright: [90, 39],
|
|
2008
|
-
gray: [90, 39],
|
|
2009
|
-
grey: [90, 39],
|
|
2010
|
-
redBright: [91, 39],
|
|
2011
|
-
greenBright: [92, 39],
|
|
2012
|
-
yellowBright: [93, 39],
|
|
2013
|
-
blueBright: [94, 39],
|
|
2014
|
-
magentaBright: [95, 39],
|
|
2015
|
-
cyanBright: [96, 39],
|
|
2016
|
-
whiteBright: [97, 39]
|
|
2017
|
-
},
|
|
2018
|
-
bgColor: {
|
|
2019
|
-
bgBlack: [40, 49],
|
|
2020
|
-
bgRed: [41, 49],
|
|
2021
|
-
bgGreen: [42, 49],
|
|
2022
|
-
bgYellow: [43, 49],
|
|
2023
|
-
bgBlue: [44, 49],
|
|
2024
|
-
bgMagenta: [45, 49],
|
|
2025
|
-
bgCyan: [46, 49],
|
|
2026
|
-
bgWhite: [47, 49],
|
|
2027
|
-
bgBlackBright: [100, 49],
|
|
2028
|
-
bgGray: [100, 49],
|
|
2029
|
-
bgGrey: [100, 49],
|
|
2030
|
-
bgRedBright: [101, 49],
|
|
2031
|
-
bgGreenBright: [102, 49],
|
|
2032
|
-
bgYellowBright: [103, 49],
|
|
2033
|
-
bgBlueBright: [104, 49],
|
|
2034
|
-
bgMagentaBright: [105, 49],
|
|
2035
|
-
bgCyanBright: [106, 49],
|
|
2036
|
-
bgWhiteBright: [107, 49]
|
|
2037
|
-
}
|
|
2038
|
-
};
|
|
2039
|
-
modifierNames = Object.keys(styles.modifier);
|
|
2040
|
-
foregroundColorNames = Object.keys(styles.color);
|
|
2041
|
-
backgroundColorNames = Object.keys(styles.bgColor);
|
|
2042
|
-
colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
2043
|
-
ansiStyles = assembleStyles();
|
|
2044
|
-
ansi_styles_default = ansiStyles;
|
|
2045
|
-
});
|
|
2046
|
-
|
|
2047
|
-
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
2048
|
-
import process2 from "process";
|
|
2049
|
-
import os from "os";
|
|
2050
|
-
import tty from "tty";
|
|
2051
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
2052
|
-
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
2053
|
-
const position = argv.indexOf(prefix + flag);
|
|
2054
|
-
const terminatorPosition = argv.indexOf("--");
|
|
2055
|
-
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
2056
|
-
}
|
|
2057
|
-
function envForceColor() {
|
|
2058
|
-
if ("FORCE_COLOR" in env) {
|
|
2059
|
-
if (env.FORCE_COLOR === "true") {
|
|
2060
|
-
return 1;
|
|
2061
|
-
}
|
|
2062
|
-
if (env.FORCE_COLOR === "false") {
|
|
2063
|
-
return 0;
|
|
2064
|
-
}
|
|
2065
|
-
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
2066
|
-
}
|
|
2067
|
-
}
|
|
2068
|
-
function translateLevel(level) {
|
|
2069
|
-
if (level === 0) {
|
|
2070
|
-
return false;
|
|
2071
|
-
}
|
|
2072
|
-
return {
|
|
2073
|
-
level,
|
|
2074
|
-
hasBasic: true,
|
|
2075
|
-
has256: level >= 2,
|
|
2076
|
-
has16m: level >= 3
|
|
2077
|
-
};
|
|
2078
|
-
}
|
|
2079
|
-
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
2080
|
-
const noFlagForceColor = envForceColor();
|
|
2081
|
-
if (noFlagForceColor !== undefined) {
|
|
2082
|
-
flagForceColor = noFlagForceColor;
|
|
2083
|
-
}
|
|
2084
|
-
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
2085
|
-
if (forceColor === 0) {
|
|
2086
|
-
return 0;
|
|
2087
|
-
}
|
|
2088
|
-
if (sniffFlags) {
|
|
2089
|
-
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
2090
|
-
return 3;
|
|
2091
|
-
}
|
|
2092
|
-
if (hasFlag("color=256")) {
|
|
2093
|
-
return 2;
|
|
2094
|
-
}
|
|
2095
|
-
}
|
|
2096
|
-
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
2097
|
-
return 1;
|
|
2098
|
-
}
|
|
2099
|
-
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
2100
|
-
return 0;
|
|
2101
|
-
}
|
|
2102
|
-
const min = forceColor || 0;
|
|
2103
|
-
if (env.TERM === "dumb") {
|
|
2104
|
-
return min;
|
|
2105
|
-
}
|
|
2106
|
-
if (process2.platform === "win32") {
|
|
2107
|
-
const osRelease = os.release().split(".");
|
|
2108
|
-
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
2109
|
-
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
2110
|
-
}
|
|
2111
|
-
return 1;
|
|
2112
|
-
}
|
|
2113
|
-
if ("CI" in env) {
|
|
2114
|
-
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
2115
|
-
return 3;
|
|
2116
|
-
}
|
|
2117
|
-
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
2118
|
-
return 1;
|
|
2119
|
-
}
|
|
2120
|
-
return min;
|
|
2121
|
-
}
|
|
2122
|
-
if ("TEAMCITY_VERSION" in env) {
|
|
2123
|
-
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
2124
|
-
}
|
|
2125
|
-
if (env.COLORTERM === "truecolor") {
|
|
2126
|
-
return 3;
|
|
2127
|
-
}
|
|
2128
|
-
if (env.TERM === "xterm-kitty") {
|
|
2129
|
-
return 3;
|
|
2130
|
-
}
|
|
2131
|
-
if (env.TERM === "xterm-ghostty") {
|
|
2132
|
-
return 3;
|
|
2133
|
-
}
|
|
2134
|
-
if (env.TERM === "wezterm") {
|
|
2135
|
-
return 3;
|
|
2136
|
-
}
|
|
2137
|
-
if ("TERM_PROGRAM" in env) {
|
|
2138
|
-
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
2139
|
-
switch (env.TERM_PROGRAM) {
|
|
2140
|
-
case "iTerm.app": {
|
|
2141
|
-
return version >= 3 ? 3 : 2;
|
|
2142
|
-
}
|
|
2143
|
-
case "Apple_Terminal": {
|
|
2144
|
-
return 2;
|
|
2145
|
-
}
|
|
2146
|
-
}
|
|
2147
|
-
}
|
|
2148
|
-
if (/-256(color)?$/i.test(env.TERM)) {
|
|
2149
|
-
return 2;
|
|
2150
|
-
}
|
|
2151
|
-
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
2152
|
-
return 1;
|
|
2153
|
-
}
|
|
2154
|
-
if ("COLORTERM" in env) {
|
|
2155
|
-
return 1;
|
|
2156
|
-
}
|
|
2157
|
-
return min;
|
|
2158
|
-
}
|
|
2159
|
-
function createSupportsColor(stream, options = {}) {
|
|
2160
|
-
const level = _supportsColor(stream, {
|
|
2161
|
-
streamIsTTY: stream && stream.isTTY,
|
|
2162
|
-
...options
|
|
2163
|
-
});
|
|
2164
|
-
return translateLevel(level);
|
|
2165
|
-
}
|
|
2166
|
-
var env, flagForceColor, supportsColor, supports_color_default;
|
|
2167
|
-
var init_supports_color = __esm(() => {
|
|
2168
|
-
({ env } = process2);
|
|
2169
|
-
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
2170
|
-
flagForceColor = 0;
|
|
2171
|
-
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
2172
|
-
flagForceColor = 1;
|
|
2173
|
-
}
|
|
2174
|
-
supportsColor = {
|
|
2175
|
-
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
2176
|
-
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
2177
|
-
};
|
|
2178
|
-
supports_color_default = supportsColor;
|
|
2179
|
-
});
|
|
2180
|
-
|
|
2181
|
-
// node_modules/chalk/source/utilities.js
|
|
2182
|
-
function stringReplaceAll(string, substring, replacer) {
|
|
2183
|
-
let index = string.indexOf(substring);
|
|
2184
|
-
if (index === -1) {
|
|
2185
|
-
return string;
|
|
2186
|
-
}
|
|
2187
|
-
const substringLength = substring.length;
|
|
2188
|
-
let endIndex = 0;
|
|
2189
|
-
let returnValue = "";
|
|
2190
|
-
do {
|
|
2191
|
-
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
2192
|
-
endIndex = index + substringLength;
|
|
2193
|
-
index = string.indexOf(substring, endIndex);
|
|
2194
|
-
} while (index !== -1);
|
|
2195
|
-
returnValue += string.slice(endIndex);
|
|
2196
|
-
return returnValue;
|
|
2197
|
-
}
|
|
2198
|
-
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
2199
|
-
let endIndex = 0;
|
|
2200
|
-
let returnValue = "";
|
|
2201
|
-
do {
|
|
2202
|
-
const gotCR = string[index - 1] === "\r";
|
|
2203
|
-
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
2204
|
-
` : `
|
|
2205
|
-
`) + postfix;
|
|
2206
|
-
endIndex = index + 1;
|
|
2207
|
-
index = string.indexOf(`
|
|
2208
|
-
`, endIndex);
|
|
2209
|
-
} while (index !== -1);
|
|
2210
|
-
returnValue += string.slice(endIndex);
|
|
2211
|
-
return returnValue;
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
// node_modules/chalk/source/index.js
|
|
2215
|
-
function createChalk(options) {
|
|
2216
|
-
return chalkFactory(options);
|
|
2217
|
-
}
|
|
2218
|
-
var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions = (object, options = {}) => {
|
|
2219
|
-
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
2220
|
-
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
2221
|
-
}
|
|
2222
|
-
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
2223
|
-
object.level = options.level === undefined ? colorLevel : options.level;
|
|
2224
|
-
}, chalkFactory = (options) => {
|
|
2225
|
-
const chalk = (...strings) => strings.join(" ");
|
|
2226
|
-
applyOptions(chalk, options);
|
|
2227
|
-
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
2228
|
-
return chalk;
|
|
2229
|
-
}, getModelAnsi = (model, level, type, ...arguments_) => {
|
|
2230
|
-
if (model === "rgb") {
|
|
2231
|
-
if (level === "ansi16m") {
|
|
2232
|
-
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
2233
|
-
}
|
|
2234
|
-
if (level === "ansi256") {
|
|
2235
|
-
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
2236
|
-
}
|
|
2237
|
-
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
2238
|
-
}
|
|
2239
|
-
if (model === "hex") {
|
|
2240
|
-
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
2241
|
-
}
|
|
2242
|
-
return ansi_styles_default[type][model](...arguments_);
|
|
2243
|
-
}, usedModels, proto, createStyler = (open, close, parent) => {
|
|
2244
|
-
let openAll;
|
|
2245
|
-
let closeAll;
|
|
2246
|
-
if (parent === undefined) {
|
|
2247
|
-
openAll = open;
|
|
2248
|
-
closeAll = close;
|
|
2249
|
-
} else {
|
|
2250
|
-
openAll = parent.openAll + open;
|
|
2251
|
-
closeAll = close + parent.closeAll;
|
|
2252
|
-
}
|
|
2253
|
-
return {
|
|
2254
|
-
open,
|
|
2255
|
-
close,
|
|
2256
|
-
openAll,
|
|
2257
|
-
closeAll,
|
|
2258
|
-
parent
|
|
2259
|
-
};
|
|
2260
|
-
}, createBuilder = (self2, _styler, _isEmpty) => {
|
|
2261
|
-
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
2262
|
-
Object.setPrototypeOf(builder, proto);
|
|
2263
|
-
builder[GENERATOR] = self2;
|
|
2264
|
-
builder[STYLER] = _styler;
|
|
2265
|
-
builder[IS_EMPTY] = _isEmpty;
|
|
2266
|
-
return builder;
|
|
2267
|
-
}, applyStyle = (self2, string) => {
|
|
2268
|
-
if (self2.level <= 0 || !string) {
|
|
2269
|
-
return self2[IS_EMPTY] ? "" : string;
|
|
2270
|
-
}
|
|
2271
|
-
let styler = self2[STYLER];
|
|
2272
|
-
if (styler === undefined) {
|
|
2273
|
-
return string;
|
|
2274
|
-
}
|
|
2275
|
-
const { openAll, closeAll } = styler;
|
|
2276
|
-
if (string.includes("\x1B")) {
|
|
2277
|
-
while (styler !== undefined) {
|
|
2278
|
-
string = stringReplaceAll(string, styler.close, styler.open);
|
|
2279
|
-
styler = styler.parent;
|
|
2280
|
-
}
|
|
2281
|
-
}
|
|
2282
|
-
const lfIndex = string.indexOf(`
|
|
2283
|
-
`);
|
|
2284
|
-
if (lfIndex !== -1) {
|
|
2285
|
-
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
2286
|
-
}
|
|
2287
|
-
return openAll + string + closeAll;
|
|
2288
|
-
}, chalk, chalkStderr, source_default;
|
|
2289
|
-
var init_source = __esm(() => {
|
|
2290
|
-
init_ansi_styles();
|
|
2291
|
-
init_supports_color();
|
|
2292
|
-
({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
|
|
2293
|
-
GENERATOR = Symbol("GENERATOR");
|
|
2294
|
-
STYLER = Symbol("STYLER");
|
|
2295
|
-
IS_EMPTY = Symbol("IS_EMPTY");
|
|
2296
|
-
levelMapping = [
|
|
2297
|
-
"ansi",
|
|
2298
|
-
"ansi",
|
|
2299
|
-
"ansi256",
|
|
2300
|
-
"ansi16m"
|
|
2301
|
-
];
|
|
2302
|
-
styles2 = Object.create(null);
|
|
2303
|
-
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
2304
|
-
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
2305
|
-
styles2[styleName] = {
|
|
2306
|
-
get() {
|
|
2307
|
-
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
2308
|
-
Object.defineProperty(this, styleName, { value: builder });
|
|
2309
|
-
return builder;
|
|
2310
|
-
}
|
|
2311
|
-
};
|
|
2312
|
-
}
|
|
2313
|
-
styles2.visible = {
|
|
2314
|
-
get() {
|
|
2315
|
-
const builder = createBuilder(this, this[STYLER], true);
|
|
2316
|
-
Object.defineProperty(this, "visible", { value: builder });
|
|
2317
|
-
return builder;
|
|
2318
|
-
}
|
|
2319
|
-
};
|
|
2320
|
-
usedModels = ["rgb", "hex", "ansi256"];
|
|
2321
|
-
for (const model of usedModels) {
|
|
2322
|
-
styles2[model] = {
|
|
2323
|
-
get() {
|
|
2324
|
-
const { level } = this;
|
|
2325
|
-
return function(...arguments_) {
|
|
2326
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
2327
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2328
|
-
};
|
|
2329
|
-
}
|
|
2330
|
-
};
|
|
2331
|
-
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
2332
|
-
styles2[bgModel] = {
|
|
2333
|
-
get() {
|
|
2334
|
-
const { level } = this;
|
|
2335
|
-
return function(...arguments_) {
|
|
2336
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
2337
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2338
|
-
};
|
|
2339
|
-
}
|
|
2340
|
-
};
|
|
2341
|
-
}
|
|
2342
|
-
proto = Object.defineProperties(() => {}, {
|
|
2343
|
-
...styles2,
|
|
2344
|
-
level: {
|
|
2345
|
-
enumerable: true,
|
|
2346
|
-
get() {
|
|
2347
|
-
return this[GENERATOR].level;
|
|
2348
|
-
},
|
|
2349
|
-
set(level) {
|
|
2350
|
-
this[GENERATOR].level = level;
|
|
2351
|
-
}
|
|
2352
|
-
}
|
|
2353
|
-
});
|
|
2354
|
-
Object.defineProperties(createChalk.prototype, styles2);
|
|
2355
|
-
chalk = createChalk();
|
|
2356
|
-
chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
2357
|
-
source_default = chalk;
|
|
2358
|
-
});
|
|
2359
|
-
|
|
2360
2360
|
// src/core/config/defaults.ts
|
|
2361
2361
|
import { homedir } from "os";
|
|
2362
2362
|
import { join } from "path";
|
|
@@ -48091,6 +48091,12 @@ var require_table = __commonJS((exports, module) => {
|
|
|
48091
48091
|
module.exports = Table;
|
|
48092
48092
|
});
|
|
48093
48093
|
|
|
48094
|
+
// src/index.ts
|
|
48095
|
+
init_source();
|
|
48096
|
+
import { readFileSync as readFileSync8 } from "fs";
|
|
48097
|
+
import { dirname as dirname5, join as join13 } from "path";
|
|
48098
|
+
import { fileURLToPath } from "url";
|
|
48099
|
+
|
|
48094
48100
|
// node_modules/commander/esm.mjs
|
|
48095
48101
|
var import__ = __toESM(require_commander(), 1);
|
|
48096
48102
|
var {
|
|
@@ -48107,12 +48113,6 @@ var {
|
|
|
48107
48113
|
Help
|
|
48108
48114
|
} = import__.default;
|
|
48109
48115
|
|
|
48110
|
-
// src/index.ts
|
|
48111
|
-
init_source();
|
|
48112
|
-
import { readFileSync as readFileSync8 } from "fs";
|
|
48113
|
-
import { join as join13, dirname as dirname5 } from "path";
|
|
48114
|
-
import { fileURLToPath } from "url";
|
|
48115
|
-
|
|
48116
48116
|
// src/commands/init.ts
|
|
48117
48117
|
init_source();
|
|
48118
48118
|
import { existsSync as existsSync3, mkdirSync as mkdirSync2 } from "fs";
|
|
@@ -53422,9 +53422,10 @@ init_source();
|
|
|
53422
53422
|
import { existsSync as existsSync7, readFileSync as readFileSync4 } from "fs";
|
|
53423
53423
|
import { join as join6 } from "path";
|
|
53424
53424
|
init_errors();
|
|
53425
|
+
init_i18n();
|
|
53425
53426
|
init_logger();
|
|
53426
|
-
var specCommand = new Command("spec").description("\u7BA1\u7406\u9879\u76EE\u89C4\u683C\u6587\u6863");
|
|
53427
|
-
specCommand.command("init").description("\u4EA4\u4E92\u5F0F\u521B\u5EFA\u9879\u76EE\u89C4\u683C").option("--from-file <path>", "\u4ECE\u73B0\u6709\u6587\u6863\u5BFC\u5165").option("--no-ai", "\u4E0D\u4F7F\u7528 AI \u751F\u6210").action(async (options) => {
|
|
53427
|
+
var specCommand = new Command("spec").description(t("Manage project specifications", "\u7BA1\u7406\u9879\u76EE\u89C4\u683C\u6587\u6863"));
|
|
53428
|
+
specCommand.command("init").description(t("Create project specification interactively", "\u4EA4\u4E92\u5F0F\u521B\u5EFA\u9879\u76EE\u89C4\u683C")).option("--from-file <path>", t("Import from existing document", "\u4ECE\u73B0\u6709\u6587\u6863\u5BFC\u5165")).option("--no-ai", t("Do not use AI generation", "\u4E0D\u4F7F\u7528 AI \u751F\u6210")).action(async (options) => {
|
|
53428
53429
|
const { SpecCollector: SpecCollector2, SpecGenerator: SpecGenerator2 } = await Promise.resolve().then(() => (init_spec(), exports_spec));
|
|
53429
53430
|
const projectRoot = process.cwd();
|
|
53430
53431
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
@@ -53471,7 +53472,7 @@ specCommand.command("init").description("\u4EA4\u4E92\u5F0F\u521B\u5EFA\u9879\u7
|
|
|
53471
53472
|
console.log(` 1. \u5BA1\u9605\u5E76\u7F16\u8F91 ${source_default.cyan(".openspec/spec.md")}`);
|
|
53472
53473
|
console.log(` 2. ${source_default.cyan("ax plan")} - \u751F\u6210\u4EFB\u52A1\u56FE`);
|
|
53473
53474
|
});
|
|
53474
|
-
specCommand.command("edit").description("\u7F16\u8F91\u9879\u76EE\u89C4\u683C\u6587\u6863").action(async () => {
|
|
53475
|
+
specCommand.command("edit").description(t("Edit the project specification", "\u7F16\u8F91\u9879\u76EE\u89C4\u683C\u6587\u6863")).action(async () => {
|
|
53475
53476
|
const projectRoot = process.cwd();
|
|
53476
53477
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
53477
53478
|
throw new AxonError("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Axon \u9879\u76EE", "SPEC_ERROR", [
|
|
@@ -53503,7 +53504,7 @@ specCommand.command("edit").description("\u7F16\u8F91\u9879\u76EE\u89C4\u683C\u6
|
|
|
53503
53504
|
]);
|
|
53504
53505
|
}
|
|
53505
53506
|
});
|
|
53506
|
-
specCommand.command("show").description("\u663E\u793A\u5F53\u524D\u89C4\u683C\u6587\u6863").action(() => {
|
|
53507
|
+
specCommand.command("show").description(t("Display the current specification", "\u663E\u793A\u5F53\u524D\u89C4\u683C\u6587\u6863")).action(() => {
|
|
53507
53508
|
const projectRoot = process.cwd();
|
|
53508
53509
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
53509
53510
|
throw new AxonError("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Axon \u9879\u76EE", "SPEC_ERROR");
|
|
@@ -53519,7 +53520,7 @@ specCommand.command("show").description("\u663E\u793A\u5F53\u524D\u89C4\u683C\u6
|
|
|
53519
53520
|
const content = readFileSync4(specPath, "utf-8");
|
|
53520
53521
|
console.log(content);
|
|
53521
53522
|
});
|
|
53522
|
-
specCommand.command("validate").description("\u9A8C\u8BC1\u89C4\u683C\u6587\u6863\u5B8C\u6574\u6027").action(() => {
|
|
53523
|
+
specCommand.command("validate").description(t("Validate specification completeness", "\u9A8C\u8BC1\u89C4\u683C\u6587\u6863\u5B8C\u6574\u6027")).action(() => {
|
|
53523
53524
|
const projectRoot = process.cwd();
|
|
53524
53525
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
53525
53526
|
throw new AxonError("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Axon \u9879\u76EE", "SPEC_ERROR");
|
|
@@ -53550,11 +53551,12 @@ specCommand.command("validate").description("\u9A8C\u8BC1\u89C4\u683C\u6587\u686
|
|
|
53550
53551
|
});
|
|
53551
53552
|
// src/commands/plan.ts
|
|
53552
53553
|
init_source();
|
|
53553
|
-
import { existsSync as existsSync10,
|
|
53554
|
-
import {
|
|
53554
|
+
import { existsSync as existsSync10, mkdirSync as mkdirSync5, readFileSync as readFileSync6, writeFileSync as writeFileSync5 } from "fs";
|
|
53555
|
+
import { dirname as dirname4, join as join9 } from "path";
|
|
53555
53556
|
init_errors();
|
|
53557
|
+
init_i18n();
|
|
53556
53558
|
init_logger();
|
|
53557
|
-
var planCommand = new Command("plan").description("\u4ECE\u89C4\u683C\u6587\u6863\u751F\u6210\u4EFB\u52A1\u56FE").option("--visualize", "\u5728\u6D4F\u89C8\u5668\u4E2D\u53EF\u89C6\u5316").option("--output <path>", "\u81EA\u5B9A\u4E49\u8F93\u51FA\u8DEF\u5F84").option("--model <name>", "\u6307\u5B9A\u4F7F\u7528\u7684\u6A21\u578B").option("--dry-run", "\u53EA\u9A8C\u8BC1\uFF0C\u4E0D\u751F\u6210").action(async (options) => {
|
|
53559
|
+
var planCommand = new Command("plan").description(t("Generate task graph from specification", "\u4ECE\u89C4\u683C\u6587\u6863\u751F\u6210\u4EFB\u52A1\u56FE")).option("--visualize", t("Visualize in browser", "\u5728\u6D4F\u89C8\u5668\u4E2D\u53EF\u89C6\u5316")).option("--output <path>", t("Custom output path", "\u81EA\u5B9A\u4E49\u8F93\u51FA\u8DEF\u5F84")).option("--model <name>", t("Specify model to use", "\u6307\u5B9A\u4F7F\u7528\u7684\u6A21\u578B")).option("--dry-run", t("Validate only, do not generate", "\u53EA\u9A8C\u8BC1\uFF0C\u4E0D\u751F\u6210")).action(async (options) => {
|
|
53558
53560
|
const { BeadsGenerator: BeadsGenerator2, validateGraph: validateGraph2 } = await Promise.resolve().then(() => (init_beads(), exports_beads));
|
|
53559
53561
|
const { checkCompatibility: checkCompatibility2 } = await Promise.resolve().then(() => (init_version_check(), exports_version_check));
|
|
53560
53562
|
await checkCompatibility2();
|
|
@@ -53568,9 +53570,7 @@ var planCommand = new Command("plan").description("\u4ECE\u89C4\u683C\u6587\u686
|
|
|
53568
53570
|
const config = configManager.get();
|
|
53569
53571
|
const specPath = join9(projectRoot, config.tools.openspec.path, "spec.md");
|
|
53570
53572
|
if (!existsSync10(specPath)) {
|
|
53571
|
-
throw new AxonError("\u89C4\u683C\u6587\u6863\u4E0D\u5B58\u5728", "PLAN_ERROR", [
|
|
53572
|
-
"\u4F7F\u7528 `ax spec init` \u521B\u5EFA\u89C4\u683C\u6587\u6863"
|
|
53573
|
-
]);
|
|
53573
|
+
throw new AxonError("\u89C4\u683C\u6587\u6863\u4E0D\u5B58\u5728", "PLAN_ERROR", ["\u4F7F\u7528 `ax spec init` \u521B\u5EFA\u89C4\u683C\u6587\u6863"]);
|
|
53574
53574
|
}
|
|
53575
53575
|
if (options.dryRun) {
|
|
53576
53576
|
logger.info("\u6267\u884C\u7A7A\u8FD0\u884C\u6A21\u5F0F...");
|
|
@@ -53629,10 +53629,11 @@ var planCommand = new Command("plan").description("\u4ECE\u89C4\u683C\u6587\u686
|
|
|
53629
53629
|
});
|
|
53630
53630
|
// src/commands/work.ts
|
|
53631
53631
|
init_source();
|
|
53632
|
+
init_errors();
|
|
53633
|
+
init_i18n();
|
|
53632
53634
|
init_logger();
|
|
53633
53635
|
init_prompt();
|
|
53634
|
-
|
|
53635
|
-
var workCommand = new Command("work").description("\u6267\u884C\u4EFB\u52A1\u73E0\u5B50").option("-i, --interactive", "\u4EA4\u4E92\u6A21\u5F0F (\u9700\u786E\u8BA4)").option("--live", "\u5B9E\u65F6\u6D41\u5F0F\u8F93\u51FA").option("--all", "\u6267\u884C\u6240\u6709\u5F85\u5904\u7406\u4EFB\u52A1").option("--bead <id>", "\u6267\u884C\u6307\u5B9A\u4EFB\u52A1").action(async (options) => {
|
|
53636
|
+
var workCommand = new Command("work").description(t("Execute task beads", "\u6267\u884C\u4EFB\u52A1\u73E0\u5B50")).option("-i, --interactive", t("Interactive mode (requires confirmation)", "\u4EA4\u4E92\u6A21\u5F0F (\u9700\u786E\u8BA4)")).option("--live", t("Real-time streaming output", "\u5B9E\u65F6\u6D41\u5F0F\u8F93\u51FA")).option("--all", t("Execute all pending tasks", "\u6267\u884C\u6240\u6709\u5F85\u5904\u7406\u4EFB\u52A1")).option("--bead <id>", t("Execute specific task", "\u6267\u884C\u6307\u5B9A\u4EFB\u52A1")).action(async (options) => {
|
|
53636
53637
|
const { BeadsExecutor: BeadsExecutor2 } = await Promise.resolve().then(() => (init_beads(), exports_beads));
|
|
53637
53638
|
const { ensureGitSafety: ensureGitSafety2 } = await Promise.resolve().then(() => (init_safe_commit(), exports_safe_commit));
|
|
53638
53639
|
const { checkCompatibility: checkCompatibility2 } = await Promise.resolve().then(() => (init_version_check(), exports_version_check));
|
|
@@ -53752,18 +53753,19 @@ var workCommand = new Command("work").description("\u6267\u884C\u4EFB\u52A1\u73E
|
|
|
53752
53753
|
// src/commands/skills.ts
|
|
53753
53754
|
init_source();
|
|
53754
53755
|
import { existsSync as existsSync11 } from "fs";
|
|
53755
|
-
import {
|
|
53756
|
+
import { basename as basename4, join as join10 } from "path";
|
|
53756
53757
|
|
|
53757
53758
|
// src/core/skills/index.ts
|
|
53758
53759
|
init_library();
|
|
53759
53760
|
|
|
53760
53761
|
// src/commands/skills.ts
|
|
53761
|
-
init_logger();
|
|
53762
53762
|
init_errors();
|
|
53763
|
-
|
|
53764
|
-
|
|
53763
|
+
init_i18n();
|
|
53764
|
+
init_logger();
|
|
53765
|
+
var skillsCommand = new Command("skills").description(t("Manage skill library", "\u7BA1\u7406\u6280\u80FD\u5E93"));
|
|
53766
|
+
skillsCommand.command("search <query>").description(t("Search skill templates", "\u641C\u7D22\u6280\u80FD\u6A21\u677F")).option("-l, --limit <n>", t("Number of results to return", "\u8FD4\u56DE\u7ED3\u679C\u6570\u91CF"), "5").action(async (query, options) => {
|
|
53765
53767
|
const projectRoot = process.cwd();
|
|
53766
|
-
const limit = parseInt(options.limit, 10);
|
|
53768
|
+
const limit = Number.parseInt(options.limit, 10);
|
|
53767
53769
|
let localPath = join10(projectRoot, ".skills");
|
|
53768
53770
|
let globalPath = join10(process.env["HOME"] || "~", ".axon", "skills");
|
|
53769
53771
|
if (ConfigManager.isAxonProject(projectRoot)) {
|
|
@@ -53794,7 +53796,7 @@ ${source_default.bold(skill.metadata.name)} ${source_default.dim(`(${score}% \u5
|
|
|
53794
53796
|
}
|
|
53795
53797
|
logger.blank();
|
|
53796
53798
|
});
|
|
53797
|
-
skillsCommand.command("list").description("\u5217\u51FA\u6240\u6709\u6280\u80FD").option("-t, --tags <tags>", "\u6309\u6807\u7B7E\u8FC7\u6EE4 (\u9017\u53F7\u5206\u9694)").option("-d, --difficulty <level>", "\u6309\u96BE\u5EA6\u8FC7\u6EE4 (easy/medium/hard)").action(async (options) => {
|
|
53799
|
+
skillsCommand.command("list").description(t("List all skills", "\u5217\u51FA\u6240\u6709\u6280\u80FD")).option("-t, --tags <tags>", t("Filter by tags (comma-separated)", "\u6309\u6807\u7B7E\u8FC7\u6EE4 (\u9017\u53F7\u5206\u9694)")).option("-d, --difficulty <level>", t("Filter by difficulty (easy/medium/hard)", "\u6309\u96BE\u5EA6\u8FC7\u6EE4 (easy/medium/hard)")).action(async (options) => {
|
|
53798
53800
|
const projectRoot = process.cwd();
|
|
53799
53801
|
let localPath = join10(projectRoot, ".skills");
|
|
53800
53802
|
let globalPath = join10(process.env["HOME"] || "~", ".axon", "skills");
|
|
@@ -53838,7 +53840,7 @@ ${source_default.bold.blue(tag)} (${tagSkills.length})`);
|
|
|
53838
53840
|
}
|
|
53839
53841
|
logger.blank();
|
|
53840
53842
|
});
|
|
53841
|
-
skillsCommand.command("save <path>").description("\u5C06\u6587\u4EF6\u4FDD\u5B58\u4E3A\u6280\u80FD\u6A21\u677F").option("-n, --name <name>", "\u6280\u80FD\u540D\u79F0").option("-t, --tags <tags>", "\u6807\u7B7E (\u9017\u53F7\u5206\u9694)").option("-d, --description <desc>", "\u63CF\u8FF0").action(async (filePath, options) => {
|
|
53843
|
+
skillsCommand.command("save <path>").description(t("Save file as skill template", "\u5C06\u6587\u4EF6\u4FDD\u5B58\u4E3A\u6280\u80FD\u6A21\u677F")).option("-n, --name <name>", t("Skill name", "\u6280\u80FD\u540D\u79F0")).option("-t, --tags <tags>", t("Tags (comma-separated)", "\u6807\u7B7E (\u9017\u53F7\u5206\u9694)")).option("-d, --description <desc>", t("Description", "\u63CF\u8FF0")).action(async (filePath, options) => {
|
|
53842
53844
|
const projectRoot = process.cwd();
|
|
53843
53845
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
53844
53846
|
throw new AxonError("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Axon \u9879\u76EE", "SKILLS_ERROR", [
|
|
@@ -53871,7 +53873,7 @@ skillsCommand.command("save <path>").description("\u5C06\u6587\u4EF6\u4FDD\u5B58
|
|
|
53871
53873
|
await library2.save(skill, targetPath);
|
|
53872
53874
|
logger.success(`\u6280\u80FD\u5DF2\u4FDD\u5B58: ${targetPath}`);
|
|
53873
53875
|
});
|
|
53874
|
-
skillsCommand.command("stats").description("\u663E\u793A\u6280\u80FD\u5E93\u7EDF\u8BA1").action(async () => {
|
|
53876
|
+
skillsCommand.command("stats").description(t("Show skill library statistics", "\u663E\u793A\u6280\u80FD\u5E93\u7EDF\u8BA1")).action(async () => {
|
|
53875
53877
|
const projectRoot = process.cwd();
|
|
53876
53878
|
let localPath = join10(projectRoot, ".skills");
|
|
53877
53879
|
let globalPath = join10(process.env["HOME"] || "~", ".axon", "skills");
|
|
@@ -53908,9 +53910,10 @@ init_source();
|
|
|
53908
53910
|
import { existsSync as existsSync12, readFileSync as readFileSync7 } from "fs";
|
|
53909
53911
|
import { join as join11 } from "path";
|
|
53910
53912
|
init_beads();
|
|
53911
|
-
init_logger();
|
|
53912
53913
|
init_errors();
|
|
53913
|
-
|
|
53914
|
+
init_i18n();
|
|
53915
|
+
init_logger();
|
|
53916
|
+
var statusCommand = new Command("status").description(t("Show project status", "\u663E\u793A\u9879\u76EE\u72B6\u6001")).option("--json", t("Output in JSON format", "JSON \u683C\u5F0F\u8F93\u51FA")).option("--beads", t("Show task progress only", "\u4EC5\u663E\u793A\u4EFB\u52A1\u8FDB\u5EA6")).option("--cost", t("Show cost statistics only", "\u4EC5\u663E\u793A\u6210\u672C\u7EDF\u8BA1")).action(async (options) => {
|
|
53914
53917
|
const projectRoot = process.cwd();
|
|
53915
53918
|
if (!ConfigManager.isAxonProject(projectRoot)) {
|
|
53916
53919
|
throw new AxonError("\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Axon \u9879\u76EE", "STATUS_ERROR", [
|
|
@@ -54025,8 +54028,9 @@ import { join as join12 } from "path";
|
|
|
54025
54028
|
init_anthropic();
|
|
54026
54029
|
init_git();
|
|
54027
54030
|
init_omo_config_reader();
|
|
54031
|
+
init_i18n();
|
|
54028
54032
|
init_logger();
|
|
54029
|
-
var doctorCommand = new Command("doctor").description("\u8BCA\u65AD\u73AF\u5883\u95EE\u9898").option("--check-keys", "\u9A8C\u8BC1 API \u5BC6\u94A5").option("--check-tools", "\u68C0\u67E5\u4F9D\u8D56\u5DE5\u5177").option("--fix", "\u5C1D\u8BD5\u81EA\u52A8\u4FEE\u590D").action(async (options) => {
|
|
54033
|
+
var doctorCommand = new Command("doctor").description(t("Diagnose environment issues", "\u8BCA\u65AD\u73AF\u5883\u95EE\u9898")).option("--check-keys", t("Verify API keys", "\u9A8C\u8BC1 API \u5BC6\u94A5")).option("--check-tools", t("Check dependencies", "\u68C0\u67E5\u4F9D\u8D56\u5DE5\u5177")).option("--fix", t("Try to auto-fix", "\u5C1D\u8BD5\u81EA\u52A8\u4FEE\u590D")).action(async (options) => {
|
|
54030
54034
|
logger.title("Axon \u73AF\u5883\u8BCA\u65AD");
|
|
54031
54035
|
const results = [];
|
|
54032
54036
|
const projectRoot = process.cwd();
|
|
@@ -54211,12 +54215,13 @@ var doctorCommand = new Command("doctor").description("\u8BCA\u65AD\u73AF\u5883\
|
|
|
54211
54215
|
});
|
|
54212
54216
|
// src/commands/config.ts
|
|
54213
54217
|
init_source();
|
|
54214
|
-
init_logger();
|
|
54215
54218
|
var import_cli_table3 = __toESM(require_table(), 1);
|
|
54216
|
-
init_omo_config_reader();
|
|
54217
54219
|
init_llm();
|
|
54218
|
-
|
|
54219
|
-
|
|
54220
|
+
init_omo_config_reader();
|
|
54221
|
+
init_i18n();
|
|
54222
|
+
init_logger();
|
|
54223
|
+
var configCommand = new Command("config").description(t("Manage LLM Provider configuration", "\u7BA1\u7406 LLM Provider \u914D\u7F6E"));
|
|
54224
|
+
configCommand.command("list").alias("ls").description(t("List all available Providers", "\u5217\u51FA\u6240\u6709\u53EF\u7528\u7684 Provider")).option("--json", t("Output in JSON format", "\u4EE5 JSON \u683C\u5F0F\u8F93\u51FA")).action(async (options) => {
|
|
54220
54225
|
const omo = new OMOConfigReader;
|
|
54221
54226
|
const providers = omo.getAllProviders();
|
|
54222
54227
|
if (options.json) {
|
|
@@ -54259,7 +54264,7 @@ configCommand.command("list").alias("ls").description("\u5217\u51FA\u6240\u6709\
|
|
|
54259
54264
|
\u5F53\u524D\u9ED8\u8BA4: ${source_default.bold(primary.name)}`));
|
|
54260
54265
|
}
|
|
54261
54266
|
});
|
|
54262
|
-
configCommand.command("show").description("\u663E\u793A\u5F53\u524D Axon \u8FD0\u884C\u6A21\u5F0F").action(() => {
|
|
54267
|
+
configCommand.command("show").description(t("Show current Axon running mode", "\u663E\u793A\u5F53\u524D Axon \u8FD0\u884C\u6A21\u5F0F")).action(() => {
|
|
54263
54268
|
const client = new AxonLLMClient;
|
|
54264
54269
|
const mode = client.getMode();
|
|
54265
54270
|
const desc = client.getModeDescription();
|
|
@@ -54270,7 +54275,10 @@ configCommand.command("show").description("\u663E\u793A\u5F53\u524D Axon \u8FD0\
|
|
|
54270
54275
|
const table = new import_cli_table3.default({
|
|
54271
54276
|
colWidths: [20, 50]
|
|
54272
54277
|
});
|
|
54273
|
-
table.push([
|
|
54278
|
+
table.push([
|
|
54279
|
+
"\u8FD0\u884C\u6A21\u5F0F",
|
|
54280
|
+
mode === "cli" ? source_default.green(mode) : mode === "direct" ? source_default.blue(mode) : source_default.yellow(mode)
|
|
54281
|
+
], ["\u63CF\u8FF0", desc], ["\u914D\u7F6E\u6765\u6E90", omo.getConfigSource() || "\u65E0"], ["Providers \u6570\u91CF", omo.getAllProviders().length.toString()]);
|
|
54274
54282
|
console.log(table.toString());
|
|
54275
54283
|
if (mode === "fallback") {
|
|
54276
54284
|
console.log(source_default.yellow(`
|
|
@@ -54279,7 +54287,7 @@ configCommand.command("show").description("\u663E\u793A\u5F53\u524D Axon \u8FD0\
|
|
|
54279
54287
|
console.log(source_default.cyan(" bunx oh-my-opencode install"));
|
|
54280
54288
|
}
|
|
54281
54289
|
});
|
|
54282
|
-
configCommand.command("test").description("\u6D4B\u8BD5 Provider \u8FDE\u63A5").option("-p, --provider <name>", "\u6307\u5B9A Provider \u6D4B\u8BD5").option("-m, --model <model>", "\u6307\u5B9A\u6D4B\u8BD5\u4F7F\u7528\u7684\u6A21\u578B").action(async (options) => {
|
|
54290
|
+
configCommand.command("test").description(t("Test Provider connection", "\u6D4B\u8BD5 Provider \u8FDE\u63A5")).option("-p, --provider <name>", t("Specify Provider to test", "\u6307\u5B9A Provider \u6D4B\u8BD5")).option("-m, --model <model>", t("Specify model for testing", "\u6307\u5B9A\u6D4B\u8BD5\u4F7F\u7528\u7684\u6A21\u578B")).action(async (options) => {
|
|
54283
54291
|
const spinner2 = ora("\u6B63\u5728\u521D\u59CB\u5316 LLM \u5BA2\u6237\u7AEF...").start();
|
|
54284
54292
|
try {
|
|
54285
54293
|
const omo = new OMOConfigReader;
|
|
@@ -54302,9 +54310,7 @@ configCommand.command("test").description("\u6D4B\u8BD5 Provider \u8FDE\u63A5").
|
|
|
54302
54310
|
spinner2.text = `\u6D4B\u8BD5\u8FDE\u63A5: ${source_default.cyan(providerName)}${model ? ` (\u6A21\u578B: ${source_default.cyan(model)})` : ""}...`;
|
|
54303
54311
|
const client = new AxonLLMClient;
|
|
54304
54312
|
const start = Date.now();
|
|
54305
|
-
const response = await client.chat([
|
|
54306
|
-
{ role: "user", content: 'Say "OK" if you can hear me.' }
|
|
54307
|
-
], {
|
|
54313
|
+
const response = await client.chat([{ role: "user", content: 'Say "OK" if you can hear me.' }], {
|
|
54308
54314
|
model,
|
|
54309
54315
|
temperature: 0.7
|
|
54310
54316
|
});
|
|
@@ -54325,7 +54331,7 @@ configCommand.command("test").description("\u6D4B\u8BD5 Provider \u8FDE\u63A5").
|
|
|
54325
54331
|
}
|
|
54326
54332
|
}
|
|
54327
54333
|
});
|
|
54328
|
-
configCommand.command("failover").description("\u663E\u793A Failover \u94FE").action(() => {
|
|
54334
|
+
configCommand.command("failover").description(t("Show failover chain", "\u663E\u793A Failover \u94FE")).action(() => {
|
|
54329
54335
|
const omo = new OMOConfigReader;
|
|
54330
54336
|
const chain = omo.getFailoverChain();
|
|
54331
54337
|
console.log(source_default.bold(`
|
|
@@ -54342,7 +54348,7 @@ configCommand.command("failover").description("\u663E\u793A Failover \u94FE").ac
|
|
|
54342
54348
|
});
|
|
54343
54349
|
}
|
|
54344
54350
|
});
|
|
54345
|
-
configCommand.command("setup").description("\u914D\u7F6E\u5411\u5BFC").action(async () => {
|
|
54351
|
+
configCommand.command("setup").description(t("Configuration wizard", "\u914D\u7F6E\u5411\u5BFC")).action(async () => {
|
|
54346
54352
|
console.log(source_default.bold(`
|
|
54347
54353
|
\uD83D\uDE80 Axon \u73AF\u5883\u914D\u7F6E\u5411\u5BFC
|
|
54348
54354
|
`));
|
|
@@ -54369,7 +54375,7 @@ configCommand.command("setup").description("\u914D\u7F6E\u5411\u5BFC").action(as
|
|
|
54369
54375
|
console.log(` \u8FD0\u884C ${source_default.cyan("ax config list")} \u67E5\u770B\u8BE6\u60C5`);
|
|
54370
54376
|
console.log(` \u8FD0\u884C ${source_default.cyan("ax config test")} \u6D4B\u8BD5\u8FDE\u63A5`);
|
|
54371
54377
|
});
|
|
54372
|
-
configCommand.command("keys").description("\u5FEB\u901F\u8BBE\u7F6E API \u5BC6\u94A5 (\u901A\u8FC7 OMO)").argument("<provider>", "\u63D0\u4F9B\u5546 (anthropic, openai, etc)").argument("[key]", "API Key").action(async (provider, key) => {
|
|
54378
|
+
configCommand.command("keys").description(t("Quick setup API key (via OMO)", "\u5FEB\u901F\u8BBE\u7F6E API \u5BC6\u94A5 (\u901A\u8FC7 OMO)")).argument("<provider>", t("Provider (anthropic, openai, etc)", "\u63D0\u4F9B\u5546 (anthropic, openai, etc)")).argument("[key]", "API Key").action(async (provider, key) => {
|
|
54373
54379
|
const cmd = "bunx oh-my-opencode";
|
|
54374
54380
|
logger.info(`\u6B63\u5728\u8C03\u7528 ${cmd} \u8BBE\u7F6E\u5BC6\u94A5...`);
|
|
54375
54381
|
try {
|
|
@@ -54513,23 +54519,38 @@ program2.addCommand(doctorCommand);
|
|
|
54513
54519
|
program2.addCommand(configCommand);
|
|
54514
54520
|
program2.addCommand(docsCommand);
|
|
54515
54521
|
program2.addHelpText("after", `
|
|
54516
|
-
${source_default.bold("
|
|
54517
|
-
${source_default.cyan("ax init my-project")}
|
|
54518
|
-
${source_default.cyan("ax spec init")}
|
|
54519
|
-
${source_default.cyan("ax config keys anthropic")}
|
|
54520
|
-
${source_default.cyan("ax plan")}
|
|
54521
|
-
${source_default.cyan("ax work")}
|
|
54522
|
-
${source_default.cyan("ax status")}
|
|
54523
|
-
|
|
54524
|
-
${source_default.bold("
|
|
54525
|
-
1. ${source_default.cyan("ax init my-app")}
|
|
54522
|
+
${source_default.bold("Examples (English):")}
|
|
54523
|
+
${source_default.cyan("ax init my-project")} Initialize a new project
|
|
54524
|
+
${source_default.cyan("ax spec init")} Create specification interactively
|
|
54525
|
+
${source_default.cyan("ax config keys anthropic")} Configure API key
|
|
54526
|
+
${source_default.cyan("ax plan")} Generate task graph
|
|
54527
|
+
${source_default.cyan("ax work")} Execute next task
|
|
54528
|
+
${source_default.cyan("ax status")} View project status
|
|
54529
|
+
|
|
54530
|
+
${source_default.bold("Quick Start (English):")}
|
|
54531
|
+
1. ${source_default.cyan("ax init my-app")} Create project
|
|
54532
|
+
2. ${source_default.cyan("cd my-app")}
|
|
54533
|
+
3. ${source_default.cyan("ax spec init")} Define requirements
|
|
54534
|
+
4. ${source_default.cyan("ax plan")} Break down tasks
|
|
54535
|
+
5. ${source_default.cyan("ax work")} Start execution
|
|
54536
|
+
|
|
54537
|
+
${source_default.bold("\u793A\u4F8B\uFF08\u4E2D\u6587\uFF09:")}
|
|
54538
|
+
${source_default.cyan("ax init my-project")} \u521D\u59CB\u5316\u65B0\u9879\u76EE
|
|
54539
|
+
${source_default.cyan("ax spec init")} \u4EA4\u4E92\u5F0F\u521B\u5EFA\u89C4\u683C
|
|
54540
|
+
${source_default.cyan("ax config keys anthropic")} \u914D\u7F6E API \u5BC6\u94A5
|
|
54541
|
+
${source_default.cyan("ax plan")} \u751F\u6210\u4EFB\u52A1\u56FE
|
|
54542
|
+
${source_default.cyan("ax work")} \u6267\u884C\u4E0B\u4E00\u4E2A\u4EFB\u52A1
|
|
54543
|
+
${source_default.cyan("ax status")} \u67E5\u770B\u9879\u76EE\u72B6\u6001
|
|
54544
|
+
|
|
54545
|
+
${source_default.bold("\u5FEB\u901F\u5F00\u59CB\uFF08\u4E2D\u6587\uFF09:")}
|
|
54546
|
+
1. ${source_default.cyan("ax init my-app")} \u521B\u5EFA\u9879\u76EE
|
|
54526
54547
|
2. ${source_default.cyan("cd my-app")}
|
|
54527
|
-
3. ${source_default.cyan("ax spec init")}
|
|
54528
|
-
4. ${source_default.cyan("ax plan")}
|
|
54529
|
-
5. ${source_default.cyan("ax work")}
|
|
54548
|
+
3. ${source_default.cyan("ax spec init")} \u5B9A\u4E49\u9700\u6C42
|
|
54549
|
+
4. ${source_default.cyan("ax plan")} \u62C6\u89E3\u4EFB\u52A1
|
|
54550
|
+
5. ${source_default.cyan("ax work")} \u5F00\u59CB\u6267\u884C
|
|
54530
54551
|
|
|
54531
|
-
${source_default.dim("
|
|
54532
|
-
${source_default.dim("
|
|
54552
|
+
${source_default.dim("Documentation: https://github.com/arrislink/axon")}
|
|
54553
|
+
${source_default.dim("Issues: https://github.com/arrislink/axon/issues")}
|
|
54533
54554
|
`);
|
|
54534
54555
|
process.on("uncaughtException", handleError);
|
|
54535
54556
|
process.on("unhandledRejection", (reason) => {
|