poe-code 3.0.373 → 3.0.374

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.
@@ -1527,6 +1527,37 @@ function resolveOutput(resolvedFlags) {
1527
1527
  }
1528
1528
  return "rich";
1529
1529
  }
1530
+ function resolveOutputFromArgv(argv) {
1531
+ for (let index = 0; index < argv.length; index += 1) {
1532
+ const token = argv[index] ?? "";
1533
+ if (token === "--json") {
1534
+ return "json";
1535
+ }
1536
+ if (token === "--md" || token === "--markdown") {
1537
+ return "md";
1538
+ }
1539
+ if (token === "--output") {
1540
+ const value = argv[index + 1];
1541
+ if (value === "rich" || value === "md" || value === "json") {
1542
+ return value;
1543
+ }
1544
+ if (value === "markdown") {
1545
+ return "md";
1546
+ }
1547
+ continue;
1548
+ }
1549
+ if (token.startsWith("--output=")) {
1550
+ const value = token.slice("--output=".length);
1551
+ if (value === "rich" || value === "md" || value === "json") {
1552
+ return value;
1553
+ }
1554
+ if (value === "markdown") {
1555
+ return "md";
1556
+ }
1557
+ }
1558
+ }
1559
+ return "rich";
1560
+ }
1530
1561
  const DESIGN_SYSTEM_OUTPUT_BY_MODE = {
1531
1562
  rich: "terminal",
1532
1563
  md: "markdown",
@@ -2893,71 +2924,73 @@ function renderHttpError(error, options) {
2893
2924
  process.stderr.write(`${formatDebugStack(stack, options.debugStackMode)}\n`);
2894
2925
  }
2895
2926
  }
2896
- function handleRunError(error, options) {
2927
+ async function handleRunError(error, options) {
2897
2928
  const logger = createLogger();
2898
- if (error instanceof UserError) {
2899
- renderCliErrorPattern(options.userErrorPattern === "usage"
2900
- ? {
2901
- kind: "usage",
2902
- message: error.message,
2903
- rootUsageName: options.rootUsageName,
2904
- commandPath: options.commandPath
2905
- }
2906
- : {
2907
- kind: "runtime-user",
2908
- message: error.message
2909
- });
2910
- return;
2911
- }
2912
- if (error instanceof Error && error.name === "ToolcraftBugError") {
2913
- renderCliErrorPattern({
2914
- kind: "toolcraft-bug",
2915
- error,
2916
- debugStackMode: options.debugStackMode
2917
- });
2918
- return;
2919
- }
2920
- if (error instanceof CommanderError) {
2921
- process.exitCode = error.exitCode;
2922
- if (error.code === "commander.helpDisplayed" || error.code === "commander.version") {
2929
+ await withOutputFormat(options.output, async () => {
2930
+ if (error instanceof UserError) {
2931
+ renderCliErrorPattern(options.userErrorPattern === "usage"
2932
+ ? {
2933
+ kind: "usage",
2934
+ message: error.message,
2935
+ rootUsageName: options.rootUsageName,
2936
+ commandPath: options.commandPath
2937
+ }
2938
+ : {
2939
+ kind: "runtime-user",
2940
+ message: error.message
2941
+ });
2923
2942
  return;
2924
2943
  }
2925
- if (error.code === "commander.unknownCommand") {
2926
- logger.error(appendUsagePointer(formatUnknownCommandError(error, options.program, options.argv ?? process.argv), {
2927
- rootUsageName: options.rootUsageName,
2928
- commandPath: options.commandPath
2929
- }));
2944
+ if (error instanceof Error && error.name === "ToolcraftBugError") {
2945
+ renderCliErrorPattern({
2946
+ kind: "toolcraft-bug",
2947
+ error,
2948
+ debugStackMode: options.debugStackMode
2949
+ });
2930
2950
  return;
2931
2951
  }
2932
- if (error.code === "commander.unknownOption") {
2933
- const argv = options.argv ?? process.argv;
2934
- logger.error(appendUsagePointer(formatUnknownOptionError(error, options.program, argv), {
2952
+ if (error instanceof CommanderError) {
2953
+ process.exitCode = error.exitCode;
2954
+ if (error.code === "commander.helpDisplayed" || error.code === "commander.version") {
2955
+ return;
2956
+ }
2957
+ if (error.code === "commander.unknownCommand") {
2958
+ logger.error(appendUsagePointer(formatUnknownCommandError(error, options.program, options.argv ?? process.argv), {
2959
+ rootUsageName: options.rootUsageName,
2960
+ commandPath: options.commandPath
2961
+ }));
2962
+ return;
2963
+ }
2964
+ if (error.code === "commander.unknownOption") {
2965
+ const argv = options.argv ?? process.argv;
2966
+ logger.error(appendUsagePointer(formatUnknownOptionError(error, options.program, argv), {
2967
+ rootUsageName: options.rootUsageName,
2968
+ commandPath: options.commandPath.length > 0
2969
+ ? options.commandPath
2970
+ : findCurrentCommanderCommandPath(options.program, argv)
2971
+ }));
2972
+ return;
2973
+ }
2974
+ logger.error(appendUsagePointer(formatCommanderErrorMessage(error), {
2935
2975
  rootUsageName: options.rootUsageName,
2936
2976
  commandPath: options.commandPath.length > 0
2937
2977
  ? options.commandPath
2938
- : findCurrentCommanderCommandPath(options.program, argv)
2978
+ : findCurrentCommanderCommandPath(options.program, options.argv ?? process.argv)
2939
2979
  }));
2940
2980
  return;
2941
2981
  }
2942
- logger.error(appendUsagePointer(formatCommanderErrorMessage(error), {
2943
- rootUsageName: options.rootUsageName,
2944
- commandPath: options.commandPath.length > 0
2945
- ? options.commandPath
2946
- : findCurrentCommanderCommandPath(options.program, options.argv ?? process.argv)
2947
- }));
2948
- return;
2949
- }
2950
- if (isHttpErrorLike(error)) {
2951
- renderHttpError(error, options);
2952
- process.exitCode = 1;
2953
- return;
2954
- }
2955
- const message = error instanceof Error ? error.message : String(error);
2956
- renderCliErrorPattern({
2957
- kind: "unexpected",
2958
- message,
2959
- stack: error instanceof Error ? error.stack : undefined,
2960
- debugStackMode: options.debugStackMode
2982
+ if (isHttpErrorLike(error)) {
2983
+ renderHttpError(error, options);
2984
+ process.exitCode = 1;
2985
+ return;
2986
+ }
2987
+ const message = error instanceof Error ? error.message : String(error);
2988
+ renderCliErrorPattern({
2989
+ kind: "unexpected",
2990
+ message,
2991
+ stack: error instanceof Error ? error.stack : undefined,
2992
+ debugStackMode: options.debugStackMode
2993
+ });
2961
2994
  });
2962
2995
  }
2963
2996
  function formatCommanderErrorMessage(error) {
@@ -3250,10 +3283,13 @@ export async function runCLI(roots, options = {}) {
3250
3283
  if (report !== undefined) {
3251
3284
  process.stderr.write(`Saved error report to ${report.displayPath}\n`);
3252
3285
  }
3253
- handleRunError(error, {
3286
+ await handleRunError(error, {
3254
3287
  debugStackMode: resolvedFlags !== undefined
3255
3288
  ? resolveDebugStackMode(resolvedFlags.debug)
3256
3289
  : getDebugStackModeFromArgv(process.argv),
3290
+ output: resolvedFlags !== undefined
3291
+ ? resolveOutput(resolvedFlags)
3292
+ : resolveOutputFromArgv(process.argv),
3257
3293
  verbose: resolvedFlags ? Boolean(resolvedFlags.verbose) : process.argv.includes("--verbose"),
3258
3294
  program,
3259
3295
  argv: process.argv,