@runa-cmd/core 0.2.0-beta.6 → 1.0.0

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +667 -0
  2. package/README.md +98 -11
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +98 -14
  5. package/dist/cli.js.map +1 -1
  6. package/dist/command.d.ts +1 -1
  7. package/dist/command.d.ts.map +1 -1
  8. package/dist/command.js +3 -3
  9. package/dist/command.js.map +1 -1
  10. package/dist/config/loader.d.ts +2 -2
  11. package/dist/config/loader.d.ts.map +1 -1
  12. package/dist/config/loader.js +8 -5
  13. package/dist/config/loader.js.map +1 -1
  14. package/dist/config/scope.js +2 -2
  15. package/dist/config/scope.js.map +1 -1
  16. package/dist/errors.d.ts +83 -0
  17. package/dist/errors.d.ts.map +1 -1
  18. package/dist/errors.js +114 -11
  19. package/dist/errors.js.map +1 -1
  20. package/dist/help.d.ts.map +1 -1
  21. package/dist/help.js +29 -8
  22. package/dist/help.js.map +1 -1
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/internal.d.ts +1 -0
  28. package/dist/internal.d.ts.map +1 -1
  29. package/dist/internal.js +1 -0
  30. package/dist/internal.js.map +1 -1
  31. package/dist/parse/resolve.d.ts +7 -0
  32. package/dist/parse/resolve.d.ts.map +1 -1
  33. package/dist/parse/resolve.js +140 -25
  34. package/dist/parse/resolve.js.map +1 -1
  35. package/dist/parse/schema-adapter.d.ts +2 -0
  36. package/dist/parse/schema-adapter.d.ts.map +1 -1
  37. package/dist/parse/schema-adapter.js.map +1 -1
  38. package/dist/parse/variadic.js +3 -3
  39. package/dist/parse/variadic.js.map +1 -1
  40. package/dist/plugin.d.ts +14 -0
  41. package/dist/plugin.d.ts.map +1 -1
  42. package/dist/plugin.js +111 -20
  43. package/dist/plugin.js.map +1 -1
  44. package/dist/testing.d.ts +7 -0
  45. package/dist/testing.d.ts.map +1 -1
  46. package/dist/testing.js +13 -0
  47. package/dist/testing.js.map +1 -1
  48. package/dist/tool-channel.d.ts +5 -1
  49. package/dist/tool-channel.d.ts.map +1 -1
  50. package/dist/tool-channel.js.map +1 -1
  51. package/dist/trace.d.ts +24 -0
  52. package/dist/trace.d.ts.map +1 -1
  53. package/dist/trace.js.map +1 -1
  54. package/dist/types.d.ts +164 -0
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/types.js +14 -0
  57. package/dist/types.js.map +1 -1
  58. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import type { ConfigLoader } from '../types.js';
2
2
  export type { ConfigLoader } from '../types.js';
3
3
  /**
4
4
  * Built-in JSON config file loader.
5
- * Reads the file and parses it with JSON.parse().
6
- * Wraps parse errors with a descriptive message including file path.
5
+ * Reads the file and parses it with JSON.parse(). Its errors name the file
6
+ * first, as every config error does: `my-tool.config.json: invalid JSON: …`.
7
7
  */
8
8
  export declare function jsonLoader(): ConfigLoader;
9
9
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAsBzC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAmBzC"}
@@ -6,10 +6,12 @@
6
6
  */
7
7
  import { readFile } from 'node:fs/promises';
8
8
  // ─── Public API ─────────────────────────────────────────────
9
+ /** One line: Node quotes the file inside a JSON error, newlines included. */
10
+ const reasonOf = (err) => (err instanceof Error ? err.message : String(err)).replace(/\s*\n\s*/g, ' ');
9
11
  /**
10
12
  * Built-in JSON config file loader.
11
- * Reads the file and parses it with JSON.parse().
12
- * Wraps parse errors with a descriptive message including file path.
13
+ * Reads the file and parses it with JSON.parse(). Its errors name the file
14
+ * first, as every config error does: `my-tool.config.json: invalid JSON: …`.
13
15
  */
14
16
  export function jsonLoader() {
15
17
  return {
@@ -20,13 +22,14 @@ export function jsonLoader() {
20
22
  content = await readFile(filePath, 'utf-8');
21
23
  }
22
24
  catch (err) {
23
- throw new Error(`Failed to read config file '${filePath}': ${err instanceof Error ? err.message : String(err)}`);
25
+ throw new Error(`${filePath}: can't be read: ${reasonOf(err)}`);
24
26
  }
25
27
  try {
26
- return JSON.parse(content);
28
+ // Trailing whitespace means nothing to JSON, and Node would quote it in the error
29
+ return JSON.parse(content.trimEnd());
27
30
  }
28
31
  catch (err) {
29
- throw new Error(`Invalid JSON in config file '${filePath}': ${err instanceof Error ? err.message : String(err)}`);
32
+ throw new Error(`${filePath}: invalid JSON: ${reasonOf(err)}`);
30
33
  }
31
34
  },
32
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,QAAgB;YAC1B,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACJ,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACd,+BAA+B,QAAQ,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACd,gCAAgC,QAAQ,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChG,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,+DAA+D;AAE/D,6EAA6E;AAC7E,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAU,EAAE,CACzC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,QAAgB;YAC1B,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACJ,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,oBAAoB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,CAAC;gBACJ,kFAAkF;gBAClF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAY,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,mBAAmB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigError, RunaError } from '../errors.js';
1
+ import { ConfigError, ERROR_CODES, RunaError } from '../errors.js';
2
2
  import { findSuggestion } from '../suggest.js';
3
3
  /** What editors read to validate the file: it says nothing to the CLI. */
4
4
  const EDITOR_KEY = '$schema';
@@ -95,7 +95,7 @@ export function assertConfigNames(target) {
95
95
  const { settable } = rootOptions(target);
96
96
  for (const name of Object.keys(namedCommands(target))) {
97
97
  if (settable.includes(name)) {
98
- throw new RunaError(`Option '${name}' and command '${name}' share a name, so a config file can't tell them apart. Rename one.`, { code: 'CONFIG_COLLISION', exitCode: 1 });
98
+ throw new RunaError(`Option '${name}' and command '${name}' share a name, so a config file can't tell them apart. Rename one.`, { code: ERROR_CODES.CONFIG_COLLISION, exitCode: 1 });
99
99
  }
100
100
  }
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/config/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/config/scope.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -6,15 +6,91 @@
6
6
  */
7
7
  import type { z } from 'zod';
8
8
  type ZodIssue = z.core.$ZodIssue;
9
+ /**
10
+ * Every code Runa's core throws. They're contract: tell errors apart by them,
11
+ * with {@link isRunaError}. The README lists when each one comes up.
12
+ */
13
+ export declare const ERROR_CODES: {
14
+ /** An argument or option is missing, or breaks its schema. Exit 2 */
15
+ readonly VALIDATION_ERROR: 'VALIDATION_ERROR';
16
+ /** The config file can't be used: broken JSON, an unknown key. Exit 2 */
17
+ readonly INVALID_CONFIG: 'INVALID_CONFIG';
18
+ /** No command has that name. Exit 127 */
19
+ readonly COMMAND_NOT_FOUND: 'COMMAND_NOT_FOUND';
20
+ /** A CommandError without its own code. Exit 1 */
21
+ readonly COMMAND_ERROR: 'COMMAND_ERROR';
22
+ /** SIGINT or SIGTERM stopped the run, and run() failed or didn't end in time */
23
+ readonly INTERRUPTED: 'INTERRUPTED';
24
+ /** run() returned a value its output schema rejects. Exit 1 */
25
+ readonly INVALID_OUTPUT: 'INVALID_OUTPUT';
26
+ /** The command declares format, and run() returned nothing. Exit 1 */
27
+ readonly MISSING_RESULT: 'MISSING_RESULT';
28
+ /** A middleware returned without calling next(). Exit 1 */
29
+ readonly MIDDLEWARE_DID_NOT_CALL_NEXT: 'MIDDLEWARE_DID_NOT_CALL_NEXT';
30
+ /** A middleware called next() without awaiting it. Exit 1 */
31
+ readonly MIDDLEWARE_DID_NOT_AWAIT_NEXT: 'MIDDLEWARE_DID_NOT_AWAIT_NEXT';
32
+ /** Two options end up as the same flag or alias */
33
+ readonly OPTION_COLLISION: 'OPTION_COLLISION';
34
+ /** A boolean `noCache` would clash with `--no-cache` */
35
+ readonly INVALID_OPTION_NAME: 'INVALID_OPTION_NAME';
36
+ /** A z.boolean() without .default() or .optional(): it would be required */
37
+ readonly INVALID_BOOLEAN_OPTION: 'INVALID_BOOLEAN_OPTION';
38
+ /** An alias isn't `-x` nor `--word`, as `'e'` or `'-ab'` */
39
+ readonly INVALID_OPTION_ALIAS: 'INVALID_OPTION_ALIAS';
40
+ /** meta.options names a key that options doesn't have */
41
+ readonly INVALID_META_OPTIONS: 'INVALID_META_OPTIONS';
42
+ /** A command has more than one list argument */
43
+ readonly INVALID_VARIADIC_ARGS: 'INVALID_VARIADIC_ARGS';
44
+ /** The list argument isn't the last one */
45
+ readonly INVALID_VARIADIC_POSITION: 'INVALID_VARIADIC_POSITION';
46
+ /** A command key isn't kebab-case, or doesn't match its meta.name */
47
+ readonly INVALID_COMMAND_NAME: 'INVALID_COMMAND_NAME';
48
+ /** A command of defineCLI declares meta.version, which only runCLI reads */
49
+ readonly INVALID_COMMAND_VERSION: 'INVALID_COMMAND_VERSION';
50
+ /** A global option and a command share a name */
51
+ readonly CONFIG_COLLISION: 'CONFIG_COLLISION';
52
+ /** A plugin without meta.name or setup() */
53
+ readonly INVALID_PLUGIN: 'INVALID_PLUGIN';
54
+ /** A lazy plugin failed to load, or has no default export */
55
+ readonly PLUGIN_LOAD_ERROR: 'PLUGIN_LOAD_ERROR';
56
+ /** A plugin depends on one that isn't registered */
57
+ readonly PLUGIN_MISSING_DEPENDENCY: 'PLUGIN_MISSING_DEPENDENCY';
58
+ /** Plugins depend on each other in a cycle */
59
+ readonly PLUGIN_CIRCULAR_DEPENDENCY: 'PLUGIN_CIRCULAR_DEPENDENCY';
60
+ /** A plugin used part of the API without declaring its capability */
61
+ readonly PLUGIN_CAPABILITY_VIOLATION: 'PLUGIN_CAPABILITY_VIOLATION';
62
+ /** Two plugins replace the help */
63
+ readonly HELP_ALREADY_REPLACED: 'HELP_ALREADY_REPLACED';
64
+ };
65
+ /** One of Runa's error codes. */
66
+ export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
67
+ /**
68
+ * Whether `error` is a RunaError, and has `code` if you give one. Unlike
69
+ * instanceof, it works when a plugin and the CLI each install their own core.
70
+ *
71
+ * @example
72
+ * if (isRunaError(error, ERROR_CODES.INVALID_CONFIG)) { ... }
73
+ * if (isRunaError(error, 'DEPLOY_FAILED')) { ... } // a CommandError's own code
74
+ */
75
+ export declare function isRunaError(error: unknown, code?: ErrorCode | (string & {})): error is RunaError;
76
+ /**
77
+ * The base of every error Runa throws. Its message reaches stderr as written,
78
+ * and the process exits with its exit code.
79
+ */
9
80
  export declare class RunaError extends Error {
81
+ /** What happened, as a stable name: tell errors apart by it, not by the message */
10
82
  readonly code: string;
83
+ /** The exit code the process ends with */
11
84
  readonly exitCode: number;
12
85
  constructor(message: string, options: {
13
86
  code: string;
14
87
  exitCode?: number;
88
+ cause?: unknown;
15
89
  });
16
90
  }
91
+ /** An argument or option is missing or invalid: a usage error, with exit 2. */
17
92
  export declare class ValidationError extends RunaError {
93
+ /** One issue per value that failed, as Zod reports them */
18
94
  readonly issues: ZodIssue[];
19
95
  constructor(issues: ZodIssue[]);
20
96
  }
@@ -25,10 +101,17 @@ export declare class ValidationError extends RunaError {
25
101
  export declare class ConfigError extends RunaError {
26
102
  constructor(message: string);
27
103
  }
104
+ /** No command has that name: exit 127, as in a shell. */
28
105
  export declare class CommandNotFoundError extends RunaError {
106
+ /** The closest command name, if one is close enough to suggest */
29
107
  readonly suggestion?: string;
30
108
  constructor(commandName: string, suggestion?: string);
31
109
  }
110
+ /**
111
+ * A failure you throw from run(), for the people using your CLI and for a
112
+ * model calling it as a tool: both read the message as you wrote it.
113
+ * Default code: `COMMAND_ERROR`. Default exit code: 1.
114
+ */
32
115
  export declare class CommandError extends RunaError {
33
116
  constructor(message: string, options?: {
34
117
  code?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,KAAK,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AASjC,qBAAa,SAAU,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EASxE;CACD;AAYD,qBAAa,eAAgB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE5B,YAAY,MAAM,EAAE,QAAQ,EAAE,EAU7B;CACD;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACzC,YAAY,OAAO,EAAE,MAAM,EAO1B;CACD;AAID,qBAAa,oBAAqB,SAAQ,SAAS;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,YAAY,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAYnD;CACD;AAID,qBAAa,YAAa,SAAQ,SAAS;IAC1C,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAU1E;CACD;AAID,2EAA2E;AAC3E,qBAAa,WAAY,SAAQ,KAAK;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAArC,YAAqB,QAAQ,EAAE,MAAM,EAGpC;CACD;AAMD,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG5E;AAYD,kFAAkF;AAClF,qBAAa,gBAAiB,SAAQ,SAAS;IAC9C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACD;AAKD,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,CAMR"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -3,12 +3,98 @@ import { longFlag } from './flag-name.js';
3
3
  const captureStackTrace =
4
4
  // biome-ignore lint/complexity/noBannedTypes: V8's captureStackTrace expects Function for the constructor argument
5
5
  Error.captureStackTrace;
6
+ // ─── Error codes ────────────────────────────────────────────
7
+ /**
8
+ * Every code Runa's core throws. They're contract: tell errors apart by them,
9
+ * with {@link isRunaError}. The README lists when each one comes up.
10
+ */
11
+ export const ERROR_CODES = {
12
+ // While someone runs the CLI
13
+ /** An argument or option is missing, or breaks its schema. Exit 2 */
14
+ VALIDATION_ERROR: 'VALIDATION_ERROR',
15
+ /** The config file can't be used: broken JSON, an unknown key. Exit 2 */
16
+ INVALID_CONFIG: 'INVALID_CONFIG',
17
+ /** No command has that name. Exit 127 */
18
+ COMMAND_NOT_FOUND: 'COMMAND_NOT_FOUND',
19
+ /** A CommandError without its own code. Exit 1 */
20
+ COMMAND_ERROR: 'COMMAND_ERROR',
21
+ /** SIGINT or SIGTERM stopped the run, and run() failed or didn't end in time */
22
+ INTERRUPTED: 'INTERRUPTED',
23
+ /** run() returned a value its output schema rejects. Exit 1 */
24
+ INVALID_OUTPUT: 'INVALID_OUTPUT',
25
+ /** The command declares format, and run() returned nothing. Exit 1 */
26
+ MISSING_RESULT: 'MISSING_RESULT',
27
+ /** A middleware returned without calling next(). Exit 1 */
28
+ MIDDLEWARE_DID_NOT_CALL_NEXT: 'MIDDLEWARE_DID_NOT_CALL_NEXT',
29
+ /** A middleware called next() without awaiting it. Exit 1 */
30
+ MIDDLEWARE_DID_NOT_AWAIT_NEXT: 'MIDDLEWARE_DID_NOT_AWAIT_NEXT',
31
+ // At startup, from the CLI's code. All exit 1
32
+ /** Two options end up as the same flag or alias */
33
+ OPTION_COLLISION: 'OPTION_COLLISION',
34
+ /** A boolean `noCache` would clash with `--no-cache` */
35
+ INVALID_OPTION_NAME: 'INVALID_OPTION_NAME',
36
+ /** A z.boolean() without .default() or .optional(): it would be required */
37
+ INVALID_BOOLEAN_OPTION: 'INVALID_BOOLEAN_OPTION',
38
+ /** An alias isn't `-x` nor `--word`, as `'e'` or `'-ab'` */
39
+ INVALID_OPTION_ALIAS: 'INVALID_OPTION_ALIAS',
40
+ /** meta.options names a key that options doesn't have */
41
+ INVALID_META_OPTIONS: 'INVALID_META_OPTIONS',
42
+ /** A command has more than one list argument */
43
+ INVALID_VARIADIC_ARGS: 'INVALID_VARIADIC_ARGS',
44
+ /** The list argument isn't the last one */
45
+ INVALID_VARIADIC_POSITION: 'INVALID_VARIADIC_POSITION',
46
+ /** A command key isn't kebab-case, or doesn't match its meta.name */
47
+ INVALID_COMMAND_NAME: 'INVALID_COMMAND_NAME',
48
+ /** A command of defineCLI declares meta.version, which only runCLI reads */
49
+ INVALID_COMMAND_VERSION: 'INVALID_COMMAND_VERSION',
50
+ /** A global option and a command share a name */
51
+ CONFIG_COLLISION: 'CONFIG_COLLISION',
52
+ /** A plugin without meta.name or setup() */
53
+ INVALID_PLUGIN: 'INVALID_PLUGIN',
54
+ /** A lazy plugin failed to load, or has no default export */
55
+ PLUGIN_LOAD_ERROR: 'PLUGIN_LOAD_ERROR',
56
+ /** A plugin depends on one that isn't registered */
57
+ PLUGIN_MISSING_DEPENDENCY: 'PLUGIN_MISSING_DEPENDENCY',
58
+ /** Plugins depend on each other in a cycle */
59
+ PLUGIN_CIRCULAR_DEPENDENCY: 'PLUGIN_CIRCULAR_DEPENDENCY',
60
+ /** A plugin used part of the API without declaring its capability */
61
+ PLUGIN_CAPABILITY_VIOLATION: 'PLUGIN_CAPABILITY_VIOLATION',
62
+ /** Two plugins replace the help */
63
+ HELP_ALREADY_REPLACED: 'HELP_ALREADY_REPLACED',
64
+ };
65
+ /**
66
+ * Marks a RunaError. Symbol.for is global, so two copies of core installed
67
+ * side by side mark their errors the same, and instanceof doesn't have to agree.
68
+ */
69
+ const RUNA_ERROR = Symbol.for('@runa-cmd/core:RunaError');
70
+ /**
71
+ * Whether `error` is a RunaError, and has `code` if you give one. Unlike
72
+ * instanceof, it works when a plugin and the CLI each install their own core.
73
+ *
74
+ * @example
75
+ * if (isRunaError(error, ERROR_CODES.INVALID_CONFIG)) { ... }
76
+ * if (isRunaError(error, 'DEPLOY_FAILED')) { ... } // a CommandError's own code
77
+ */
78
+ export function isRunaError(error, code) {
79
+ if (!(error instanceof Error))
80
+ return false;
81
+ const marked = error instanceof RunaError || RUNA_ERROR in error;
82
+ return marked && (code === undefined || error.code === code);
83
+ }
6
84
  // ─── RunaError ──────────────────────────────────────────────
85
+ /**
86
+ * The base of every error Runa throws. Its message reaches stderr as written,
87
+ * and the process exits with its exit code.
88
+ */
7
89
  export class RunaError extends Error {
90
+ /** What happened, as a stable name: tell errors apart by it, not by the message */
8
91
  code;
92
+ /** The exit code the process ends with */
9
93
  exitCode;
10
94
  constructor(message, options) {
11
- super(message);
95
+ super(message, options.cause === undefined ? undefined : { cause: options.cause });
96
+ // Not enumerable: the mark isRunaError() reads stays out of logs and comparisons
97
+ Object.defineProperty(this, RUNA_ERROR, { value: true });
12
98
  this.name = 'RunaError';
13
99
  this.code = options.code;
14
100
  this.exitCode = options.exitCode ?? 1;
@@ -18,19 +104,24 @@ export class RunaError extends Error {
18
104
  }
19
105
  }
20
106
  // ─── ValidationError ────────────────────────────────────────
21
- /** Prefixes the path, unless the message already names it as `<name>` or `--name`. */
107
+ /**
108
+ * Prefixes the path, unless the message already names it: as `<name>` or
109
+ * `--name` at a terminal, or as `'name'`, the key a tool call sends.
110
+ */
22
111
  function formatIssue(issue) {
23
112
  const name = String(issue.path[0]);
24
- const isNamed = issue.message.includes(`<${name}>`) || issue.message.includes(longFlag(name));
113
+ const isNamed = [`<${name}>`, longFlag(name), `'${name}'`].some((form) => issue.message.includes(form));
25
114
  if (issue.path.length === 0 || isNamed)
26
115
  return issue.message;
27
116
  return `${issue.path.join('.')}: ${issue.message}`;
28
117
  }
118
+ /** An argument or option is missing or invalid: a usage error, with exit 2. */
29
119
  export class ValidationError extends RunaError {
120
+ /** One issue per value that failed, as Zod reports them */
30
121
  issues;
31
122
  constructor(issues) {
32
123
  const message = issues.map(formatIssue).join('\n');
33
- super(message, { code: 'VALIDATION_ERROR', exitCode: 2 });
124
+ super(message, { code: ERROR_CODES.VALIDATION_ERROR, exitCode: 2 });
34
125
  this.name = 'ValidationError';
35
126
  this.issues = issues;
36
127
  if (captureStackTrace) {
@@ -45,7 +136,7 @@ export class ValidationError extends RunaError {
45
136
  */
46
137
  export class ConfigError extends RunaError {
47
138
  constructor(message) {
48
- super(message, { code: 'CONFIG_INVALID', exitCode: 2 });
139
+ super(message, { code: ERROR_CODES.INVALID_CONFIG, exitCode: 2 });
49
140
  this.name = 'ConfigError';
50
141
  if (captureStackTrace) {
51
142
  captureStackTrace(this, this.constructor);
@@ -53,13 +144,15 @@ export class ConfigError extends RunaError {
53
144
  }
54
145
  }
55
146
  // ─── CommandNotFoundError ───────────────────────────────────
147
+ /** No command has that name: exit 127, as in a shell. */
56
148
  export class CommandNotFoundError extends RunaError {
149
+ /** The closest command name, if one is close enough to suggest */
57
150
  suggestion;
58
151
  constructor(commandName, suggestion) {
59
152
  const message = suggestion
60
153
  ? `Command not found: '${commandName}'. Did you mean '${suggestion}'?`
61
154
  : `Command not found: '${commandName}'.`;
62
- super(message, { code: 'COMMAND_NOT_FOUND', exitCode: 127 });
155
+ super(message, { code: ERROR_CODES.COMMAND_NOT_FOUND, exitCode: 127 });
63
156
  this.name = 'CommandNotFoundError';
64
157
  this.suggestion = suggestion;
65
158
  if (captureStackTrace) {
@@ -68,10 +161,15 @@ export class CommandNotFoundError extends RunaError {
68
161
  }
69
162
  }
70
163
  // ─── CommandError ───────────────────────────────────────────
164
+ /**
165
+ * A failure you throw from run(), for the people using your CLI and for a
166
+ * model calling it as a tool: both read the message as you wrote it.
167
+ * Default code: `COMMAND_ERROR`. Default exit code: 1.
168
+ */
71
169
  export class CommandError extends RunaError {
72
170
  constructor(message, options) {
73
171
  super(message, {
74
- code: options?.code ?? 'COMMAND_ERROR',
172
+ code: options?.code ?? ERROR_CODES.COMMAND_ERROR,
75
173
  exitCode: options?.exitCode ?? 1,
76
174
  });
77
175
  this.name = 'CommandError';
@@ -99,7 +197,7 @@ export function isDebugEnabled(env = process.env) {
99
197
  }
100
198
  function debugDetails(error) {
101
199
  const details = [error.stack ?? error.name];
102
- if (error instanceof RunaError)
200
+ if (isRunaError(error))
103
201
  details.push(`Code: ${error.code}`);
104
202
  if (error.cause !== undefined) {
105
203
  const cause = error.cause instanceof Error ? error.cause.stack : String(error.cause);
@@ -110,14 +208,19 @@ function debugDetails(error) {
110
208
  /** The run was stopped from outside. Its exit code comes from what stopped it. */
111
209
  export class InterruptedError extends RunaError {
112
210
  constructor(message) {
113
- super(message, { code: 'INTERRUPTED' });
211
+ super(message, { code: ERROR_CODES.INTERRUPTED });
114
212
  this.name = 'InterruptedError';
115
213
  }
116
214
  }
117
- const isExpectedFailure = (error) => error instanceof RunaError && error.message.trim() !== '';
215
+ // By the mark, not instanceof: an error from another copy of core, as one a
216
+ // plugin brings, ends the same way (T-254)
217
+ const isExpectedFailure = (error) => isRunaError(error) && error.message.trim() !== '';
118
218
  /** Whether the failure comes from how the CLI was called, not from running it. */
119
219
  export function isUsageError(error) {
120
- return error instanceof ValidationError || error instanceof CommandNotFoundError;
220
+ const usage = ['ValidationError', 'CommandNotFoundError'];
221
+ return (error instanceof ValidationError ||
222
+ error instanceof CommandNotFoundError ||
223
+ (isRunaError(error) && usage.includes(error.name)));
121
224
  }
122
225
  /**
123
226
  * Why a run failed, never empty, with no advice attached. It is all an agent
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAEX,SAAS,EACT,OAAO,EAEP,UAAU,EAEV,YAAY,EACZ,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,WAAW,YAAI,QAAQ,EAAE,IAAI,CAAU,CAAC;AA0BrD,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQtE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxF;AA2BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAQ5E;AAmGD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAGrD"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAEX,SAAS,EACT,OAAO,EAEP,UAAU,EAEV,YAAY,EACZ,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,WAAW,YAAI,QAAQ,EAAE,IAAI,CAAU,CAAC;AA0BrD,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQtE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxF;AAiCD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAQ5E;AAsHD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAGrD"}
package/dist/help.js CHANGED
@@ -40,13 +40,15 @@ export function builtInOptions(globals, version) {
40
40
  return options;
41
41
  }
42
42
  /** Global options work on every command, so its help lists those it didn't take. */
43
- function withGlobals(command, globals) {
43
+ function withGlobals(command, globals, isRoot) {
44
44
  const taken = new Set(command.options.flatMap((option) => [option.name, ...(option.alias ?? []).map(bare)]));
45
45
  const inherited = globals
46
46
  .filter((option) => !taken.has(option.name))
47
47
  .map((option) => ({
48
48
  ...option,
49
49
  alias: option.alias?.filter((alias) => !taken.has(bare(alias))),
50
+ // The CLI's own options when the command is the CLI; else they come from above
51
+ ...(isRoot ? {} : { inherited: true }),
50
52
  }));
51
53
  return { ...command, options: [...command.options, ...inherited] };
52
54
  }
@@ -70,7 +72,7 @@ export function findHelpTarget(schema, path) {
70
72
  // With runCLI the command is the CLI, and its name is already the first word
71
73
  const isRoot = path[0] === schema.root;
72
74
  const commandLine = isRoot ? command.fullPath : [schema.meta.name, ...command.fullPath];
73
- return { ...withGlobals(command, schema.globalOptions), commandLine };
75
+ return { ...withGlobals(command, schema.globalOptions, isRoot), commandLine };
74
76
  }
75
77
  // ─── Plain renderer ─────────────────────────────────────────
76
78
  function table(rows) {
@@ -88,18 +90,28 @@ function optionFlags(option) {
88
90
  const value = option.type === 'boolean'
89
91
  ? ''
90
92
  : ` <${option.valueName ?? option.enumValues?.join('|') ?? kind}>${isList ? '...' : ''}`;
91
- return `${[...aliases, `--${option.flag}`].join(', ')}${value}`;
93
+ // A boolean that starts on is turned off with --no-x: the flag says so
94
+ const long = startsOn(option) ? `--[no-]${option.flag}` : `--${option.flag}`;
95
+ return `${[...aliases, long].join(', ')}${value}`;
96
+ }
97
+ /** A boolean whose default is true: what a person can do with it is turn it off. */
98
+ function startsOn(option) {
99
+ return option.type === 'boolean' && option.defaultValue === true;
92
100
  }
93
101
  /**
94
102
  * The default as help shows it: the author's text if there is one, else the
95
- * value. A false default says nothing a flag doesn't, so it isn't shown.
103
+ * value. A false default or an empty list says nothing a flag doesn't, so
104
+ * neither is shown.
96
105
  */
97
106
  function defaultShown(option) {
98
107
  if (option.defaultDescription !== undefined)
99
108
  return option.defaultDescription;
100
- if (option.defaultValue === undefined || option.defaultValue === false)
109
+ const { defaultValue } = option;
110
+ if (defaultValue === undefined || defaultValue === false)
111
+ return undefined;
112
+ if (Array.isArray(defaultValue) && defaultValue.length === 0)
101
113
  return undefined;
102
- return String(option.defaultValue);
114
+ return String(defaultValue);
103
115
  }
104
116
  function optionDetails(option) {
105
117
  const details = [option.description ?? ''];
@@ -142,6 +154,11 @@ function argUsage({ name, required, isVariadic }) {
142
154
  const label = isVariadic ? `${name}...` : name;
143
155
  return required ? `<${label}>` : `[${label}]`;
144
156
  }
157
+ /** An argument's description, with the values it takes if it's an enum. */
158
+ function argDetails({ description, enumValues }) {
159
+ const values = enumValues?.length ? `(${enumValues.join(' | ')})` : '';
160
+ return [description ?? '', values].filter(Boolean).join(' ');
161
+ }
145
162
  function renderCommand(command) {
146
163
  const path = (command.commandLine ?? command.fullPath).join(' ');
147
164
  const sections = [[path]];
@@ -156,10 +173,14 @@ function renderCommand(command) {
156
173
  ];
157
174
  sections.push(['USAGE', ` ${usage.join(' ')}`]);
158
175
  if (command.args.length > 0) {
159
- const rows = command.args.map((arg) => [arg.name, arg.description ?? '']);
176
+ const rows = command.args.map((arg) => [arg.name, argDetails(arg)]);
160
177
  sections.push(['ARGUMENTS', ...table(rows)]);
161
178
  }
162
- sections.push(...optionSections(command.options));
179
+ // The command's own options first; the global ones work too, and go apart
180
+ sections.push(...optionSections(command.options.filter((option) => !option.inherited)));
181
+ const globals = command.options.filter((option) => option.inherited);
182
+ if (globals.length > 0)
183
+ sections.push(['GLOBAL OPTIONS', ...table(globals.map(optionRow))]);
163
184
  if (hasSubcommands)
164
185
  sections.push(['COMMANDS', ...commandRows(command.subcommands ?? [])]);
165
186
  return sections;
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,11 +7,11 @@
7
7
  export { defineCLI, runCLI } from './cli.js';
8
8
  export { defineCommand } from './command.js';
9
9
  export { jsonLoader } from './config/loader.js';
10
- export { CommandError, CommandNotFoundError, ConfigError, RunaError, ValidationError, } from './errors.js';
10
+ export { CommandError, CommandNotFoundError, ConfigError, ERROR_CODES, type ErrorCode, isRunaError, RunaError, ValidationError, } from './errors.js';
11
11
  export { getSchema } from './introspect.js';
12
12
  export { defineMiddleware } from './middleware.js';
13
13
  export type { SchemaAdapter, SchemaDescription } from './parse/schema-adapter.js';
14
14
  export { definePlugin } from './plugin.js';
15
- export type { ArgSchema, CLI, CLIConfig, CLIConfigOptions, CLIMeta, CLISchema, Command, CommandConfig, CommandMeta, CommandSchema, CommandTree, ConfigLoader, FormatContext, HelpHandler, HelpTarget, HookContext, HookHandler, HookName, InferArgs, InferOptions, Invocation, Middleware, MiddlewareContext, MiddlewareFn, NamedCommandMeta, OptionMeta, OptionSchema, ParamMetadata, ParamType, PluginAPI, PluginCapabilities, PluginConfig, PluginMeta, RunCLIOptions, RunContext, RunReturn, } from './types.js';
15
+ export type { ArgSchema, CLI, CLIConfig, CLIConfigOptions, CLIMeta, CLISchema, Command, CommandConfig, CommandMeta, CommandSchema, CommandTree, ConfigLoader, FormatContext, HelpHandler, HelpTarget, HookContext, HookHandler, HookName, InferArgs, InferOptions, Invocation, Middleware, MiddlewareContext, MiddlewareFn, NamedCommandMeta, OptionMeta, OptionSchema, ParamMetadata, ParamType, PluginAPI, PluginCapabilities, PluginConfig, PluginMeta, RunCLIOptions, RunContext, RunResult, RunReturn, } from './types.js';
16
16
  export { HOOK_NAMES, PARAM_TYPES } from './types.js';
17
17
  //# sourceMappingURL=index.d.ts.map