@runa-cmd/core 0.2.0-beta.5 → 0.2.0-beta.7

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 (62) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/README.md +100 -9
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +102 -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/stop.d.ts +2 -0
  45. package/dist/stop.d.ts.map +1 -1
  46. package/dist/stop.js +19 -2
  47. package/dist/stop.js.map +1 -1
  48. package/dist/testing.d.ts +7 -0
  49. package/dist/testing.d.ts.map +1 -1
  50. package/dist/testing.js +13 -0
  51. package/dist/testing.js.map +1 -1
  52. package/dist/tool-channel.d.ts +5 -1
  53. package/dist/tool-channel.d.ts.map +1 -1
  54. package/dist/tool-channel.js.map +1 -1
  55. package/dist/trace.d.ts +24 -0
  56. package/dist/trace.d.ts.map +1 -1
  57. package/dist/trace.js.map +1 -1
  58. package/dist/types.d.ts +164 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js +14 -0
  61. package/dist/types.js.map +1 -1
  62. package/package.json +2 -2
package/dist/trace.d.ts CHANGED
@@ -5,28 +5,52 @@
5
5
  * RUNA_DEBUG=1 prints it while it happens.
6
6
  */
7
7
  import type { HookName } from './types.js';
8
+ /**
9
+ * Where a value came from: the terminal, env, the config file, its default, or
10
+ * the input of a tool call through MCP.
11
+ */
8
12
  export type ValueSource = 'cli' | 'env' | 'config' | 'default' | 'input';
13
+ /**
14
+ * One thing a run did: the config file it read, where an option came from, a
15
+ * hook and how long it took, the command, or something written. Its shape isn't
16
+ * part of the versioning contract.
17
+ */
9
18
  export type TraceEvent = {
19
+ /** The config file was looked for */
10
20
  step: 'config';
21
+ /** The file it read, if it found one */
11
22
  file?: string;
12
23
  } | {
24
+ /** An option got its value */
13
25
  step: 'option';
26
+ /** Its key */
14
27
  name: string;
28
+ /** Whether it's a global option or the command's own */
15
29
  scope: 'global' | 'command';
30
+ /** Where the value came from */
16
31
  source: ValueSource;
17
32
  /** Left out when it comes from env: it can be a secret */
18
33
  value?: unknown;
19
34
  } | {
35
+ /** A hook ran, if it had handlers */
20
36
  step: 'hook';
37
+ /** Which one */
21
38
  name: HookName;
39
+ /** How long its handlers took */
22
40
  ms: number;
23
41
  } | {
42
+ /** The command ran */
24
43
  step: 'run';
44
+ /** Its whole path */
25
45
  command: string[];
46
+ /** How long it took, with its middleware */
26
47
  ms: number;
27
48
  } | {
49
+ /** Something was written */
28
50
  step: 'output';
51
+ /** Where */
29
52
  stream: 'stdout' | 'stderr';
53
+ /** What */
30
54
  text: string;
31
55
  };
32
56
  /** One line per event. Never a value: this output ends up in CI logs. */
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACf,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAa/D;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC3B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,UAAU,EAAE,CAMd"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GACnB;IACA,qCAAqC;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACb,GACD;IACA,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc;IACd,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,gCAAgC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACf,GACD;IACA,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;CACV,GACD;IACA,sBAAsB;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,qBAAqB;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;CACV,GACD;IACA,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY;IACZ,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;CACZ,CAAC;AAEL,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAa/D;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC3B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,UAAU,EAAE,CAMd"}
package/dist/trace.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAwBA,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAiB;IAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QACpD,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QACvD,KAAK,MAAM;YACV,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QACjD,KAAK,KAAK;YACT,OAAO,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QAC7D;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAC3B,KAA2B,EAC3B,KAAe,EACf,MAA+B,EAC/B,OAAoC;IAEpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/D,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AA+DA,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAiB;IAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QACpD,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QACvD,KAAK,MAAM;YACV,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QACjD,KAAK,KAAK;YACT,OAAO,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QAC7D;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAC3B,KAA2B,EAC3B,KAAe,EACf,MAA+B,EAC/B,OAAoC;IAEpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/D,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -5,6 +5,10 @@
5
5
  * This is a type-only module — no runtime code.
6
6
  */
7
7
  import type { ZodType, z } from 'zod';
8
+ /**
9
+ * What an option needs besides its schema: aliases, env, help and config.
10
+ * It goes in `meta.options`, by the option's key, so the Zod schema stays pure.
11
+ */
8
12
  export interface OptionMeta {
9
13
  /** CLI aliases, e.g. ['-e', '--environment'] */
10
14
  alias?: string[];
@@ -26,26 +30,38 @@ export interface OptionMeta {
26
30
  }
27
31
  /** A command as it reaches run() and hooks: by then, it always has its name. */
28
32
  export type NamedCommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> = CommandMeta<TOptions> & {
33
+ /** The command's own name: the last part of its path */
29
34
  name: string;
30
35
  /** The whole path, e.g. ['tag', 'add']: `name` alone can't tell it from `add` */
31
36
  path: string[];
32
37
  };
38
+ /** What a command says about itself: its name, description and option metadata. */
33
39
  export interface CommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
34
40
  /**
35
41
  * The name of a CLI of one command, which runCLI requires. In defineCLI, the
36
42
  * key names the command: this is optional there, and has to match it.
37
43
  */
38
44
  name?: string;
45
+ /** One line, shown in help and read by a model as the tool's description */
39
46
  description: string;
47
+ /**
48
+ * Printed by `--version` when the command is the CLI, as with runCLI(). In a
49
+ * command of defineCLI it would do nothing, so it stops the CLI at startup:
50
+ * the version goes in defineCLI's meta.
51
+ */
40
52
  version?: string;
41
53
  /** Option metadata — keys MUST be a subset of TOptions keys */
42
54
  options?: {
43
55
  [K in keyof TOptions]?: OptionMeta;
44
56
  };
45
57
  }
58
+ /** What a CLI says about itself. */
46
59
  export interface CLIMeta {
60
+ /** The program name, as people type it. It names the CLI in help and in its config file */
47
61
  name: string;
62
+ /** Printed by `--version` */
48
63
  version?: string;
64
+ /** One line, shown at the top of the help */
49
65
  description?: string;
50
66
  }
51
67
  /** Infer args types from a record of Zod schemas */
@@ -58,10 +74,15 @@ export type InferOptions<T extends Record<string, ZodType>> = {
58
74
  };
59
75
  /** What the run() handler receives */
60
76
  export interface RunContext<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
77
+ /** The positional arguments, validated and typed by their schemas */
61
78
  args: InferArgs<TArgs>;
79
+ /** The options, from the terminal, env, the config file or their defaults, validated and typed */
62
80
  options: InferOptions<TOptions>;
81
+ /** The CLI's global options, untyped: the command doesn't declare them */
63
82
  globalOptions: Record<string, unknown>;
83
+ /** The command that runs, with its whole path */
64
84
  command: NamedCommandMeta<TOptions>;
85
+ /** The arguments of the process, as given, global options and what follows `--` included */
65
86
  rawArgs: string[];
66
87
  /** What's left after `--`, verbatim and unvalidated, if the command declares `rest: true`. Else `[]` */
67
88
  rest: string[];
@@ -77,13 +98,19 @@ export type RunReturn<TOutput, TResult = void> = TOutput extends ZodType ? z.inf
77
98
  export type FormatContext<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>> = Pick<RunContext<TArgs, TOptions>, 'args' | 'options'>;
78
99
  /** What format() receives: the data, once it's no longer a promise. */
79
100
  export type RunResult<TOutput, TResult> = TOutput extends ZodType ? z.infer<TOutput> : TResult;
101
+ /** What defineCommand() takes. */
80
102
  export interface CommandConfig<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>, TOutput extends ZodType | undefined = undefined, TResult = void> {
103
+ /** Its name, description and option metadata */
81
104
  meta: CommandMeta<TOptions>;
105
+ /** Positional arguments, in the order of their keys. Only the last one can be a z.array() */
82
106
  args?: TArgs;
107
+ /** Named options. A key in camelCase is a flag in kebab-case: `darkColor` is `--dark-color` */
83
108
  options?: TOptions;
109
+ /** The schema of what run() returns. It's checked, and an MCP tool gets it as structured data */
84
110
  output?: TOutput;
85
111
  /** Take what's left after `--` in `ctx.rest`. Without it, that's a usage error */
86
112
  rest?: boolean;
113
+ /** What the command does. Return the data, and Runa shows it */
87
114
  run: (ctx: RunContext<TArgs, TOptions>) => RunReturn<TOutput, TResult>;
88
115
  /**
89
116
  * What a person reads at the terminal, from what run() returned. A tool gets
@@ -94,20 +121,35 @@ export interface CommandConfig<TArgs extends Record<string, ZodType> = Record<st
94
121
  /** False if this is only for people at a terminal: an MCP server won't offer it */
95
122
  tool?: boolean;
96
123
  }
124
+ /** A command, as defineCommand() returns it. Its fields are those of CommandConfig. */
97
125
  export interface Command {
126
+ /** Marks the object as a command */
98
127
  readonly _type: 'runa:command';
128
+ /** See CommandConfig.meta */
99
129
  readonly meta: CommandMeta;
130
+ /** See CommandConfig.args */
100
131
  readonly args?: Record<string, ZodType>;
132
+ /** See CommandConfig.options */
101
133
  readonly options?: Record<string, ZodType>;
134
+ /** See CommandConfig.output */
102
135
  readonly output?: ZodType;
136
+ /** See CommandConfig.rest */
103
137
  readonly rest?: boolean;
138
+ /** See CommandConfig.run */
104
139
  readonly run: (ctx: RunContext) => unknown;
140
+ /** See CommandConfig.format */
105
141
  readonly format?: (result: unknown, context: FormatContext) => string;
142
+ /** See CommandConfig.tool */
106
143
  readonly tool?: boolean;
107
144
  }
145
+ /**
146
+ * The commands of a CLI, by name. A nested object is a group:
147
+ * `{ config: { get, set } }` gives `tool config get` and `tool config set`.
148
+ */
108
149
  export interface CommandTree {
109
150
  [key: string]: Command | CommandTree;
110
151
  }
152
+ /** Where and how a CLI finds its config file. */
111
153
  export interface CLIConfigOptions {
112
154
  /** Config file base name, e.g. 'mycli' → looks for mycli.config.* */
113
155
  name: string;
@@ -116,16 +158,26 @@ export interface CLIConfigOptions {
116
158
  /** Directories to search for config files. Default: ['.', '~'] */
117
159
  searchPaths?: string[];
118
160
  }
161
+ /** What defineCLI() takes. */
119
162
  export interface CLIConfig {
163
+ /** Its name, version and description */
120
164
  meta: CLIMeta;
165
+ /** The commands, by the name people type */
121
166
  commands: CommandTree;
167
+ /** Plugins, or functions that import one, which load when the CLI starts */
122
168
  plugins?: Array<PluginConfig | (() => Promise<{
169
+ /** The plugin, as the module's default export */
123
170
  default: PluginConfig;
124
171
  }>)>;
172
+ /** Middleware around every command. The first one is the outermost */
125
173
  middleware?: Middleware[];
174
+ /** Read a config file. Without it, the CLI reads none */
126
175
  config?: CLIConfigOptions;
176
+ /** Options every command takes, read in `ctx.globalOptions` */
127
177
  globalOptions?: Record<string, ZodType>;
178
+ /** Metadata of the global options, by key, as `meta.options` for a command */
128
179
  globalMeta?: {
180
+ /** Aliases, env, help and config of each global option, by its key */
129
181
  options?: Record<string, OptionMeta>;
130
182
  };
131
183
  /**
@@ -140,37 +192,72 @@ export interface RunCLIOptions extends Omit<CLIConfig, 'meta' | 'commands'> {
140
192
  /** Arguments to parse. Default: process.argv.slice(2) */
141
193
  argv?: string[];
142
194
  }
195
+ /** A CLI, as defineCLI() returns it. */
143
196
  export interface CLI {
197
+ /** Marks the object as a CLI */
144
198
  readonly _type: 'runa:cli';
199
+ /** What it was defined with */
145
200
  readonly config: CLIConfig;
201
+ /**
202
+ * Run it, and end the process with its exit code. It's the entry point of a
203
+ * process: call it once, from main.ts. To run it in a test, use testCLI().
204
+ *
205
+ * @param argv - Default: process.argv.slice(2)
206
+ */
146
207
  run(argv?: string[]): Promise<void>;
147
208
  }
209
+ /** What a plugin says about itself. */
148
210
  export interface PluginMeta {
211
+ /** Unique among the plugins of a CLI, and what errors and `dependencies` name it by */
149
212
  name: string;
150
213
  /** Informative only: Runa does not read it. Compatibility belongs in peerDependencies */
151
214
  version?: string;
215
+ /** One line about what it does */
152
216
  description?: string;
153
217
  /** Names of other plugins this depends on */
154
218
  dependencies?: string[];
155
219
  }
220
+ /**
221
+ * What a plugin adds to the CLI, declared up front. Using a method without its
222
+ * capability stops the CLI at startup, naming the plugin.
223
+ */
156
224
  export interface PluginCapabilities {
225
+ /** Allows `api.addCommand()` */
157
226
  addCommands?: boolean;
227
+ /** Allows `api.addGlobalOption()` */
158
228
  addGlobalOptions?: boolean;
229
+ /** Allows `api.addMiddleware()` */
159
230
  addMiddleware?: boolean;
231
+ /** Allows `api.replaceHelp()` */
160
232
  replaceHelp?: boolean;
161
233
  }
234
+ /** A plugin, as definePlugin() takes it. */
162
235
  export interface PluginConfig {
236
+ /** Its name and what it depends on */
163
237
  meta: PluginMeta;
238
+ /** What it adds to the CLI */
164
239
  capabilities?: PluginCapabilities;
240
+ /** Extends the CLI when it starts: add options and commands, and register hooks */
165
241
  setup: (api: PluginAPI) => void | Promise<void>;
242
+ /**
243
+ * Releases what setup() opened. It runs after the `cleanup` hook, and also
244
+ * when the CLI fails to start
245
+ */
166
246
  cleanup?: () => void | Promise<void>;
167
247
  }
248
+ /** What a plugin's setup() receives to extend the CLI. */
168
249
  export interface PluginAPI {
250
+ /** Add a command at the root. Needs the `addCommands` capability */
169
251
  addCommand(name: string, command: Command): void;
252
+ /** Add an option every command takes. Needs the `addGlobalOptions` capability */
170
253
  addGlobalOption(name: string, schema: ZodType, meta?: OptionMeta): void;
254
+ /** Add a middleware around every command. Needs the `addMiddleware` capability */
171
255
  addMiddleware(middleware: Middleware): void;
256
+ /** Run a handler at a step of every run */
172
257
  hook(name: HookName, handler: HookHandler): void;
258
+ /** The CLI as help and MCP describe it: commands, args and options */
173
259
  getSchema(): CLISchema;
260
+ /** The command tree, as it is now: what other plugins added included */
174
261
  getCommands(): CommandTree;
175
262
  /** The config file of the CLI, if it has one. With a path, only that command's values */
176
263
  getConfigValues(commandPath?: string[]): Promise<Record<string, unknown> | undefined>;
@@ -184,114 +271,191 @@ export type HelpTarget = CLISchema | CommandSchema;
184
271
  * stdout if the person asked for it, stderr if there was nothing to run.
185
272
  */
186
273
  export type HelpHandler = (target: HelpTarget, output: NodeJS.WritableStream) => void | Promise<void>;
274
+ /** The steps of a run a plugin can hook into, in the order they happen. */
187
275
  export declare const HOOK_NAMES: {
276
+ /** First of all, before anything is parsed: a handler may rewrite `ctx.rawArgs` */
188
277
  readonly BEFORE_PARSE: 'beforeParse';
278
+ /** The global options are read. Help and `--mcp` stop the run here */
189
279
  readonly ON_GLOBAL_FLAGS: 'onGlobalFlags';
280
+ /** The command and its values are known */
190
281
  readonly AFTER_PARSE: 'afterParse';
282
+ /** Right before the middleware and the command */
191
283
  readonly BEFORE_RUN: 'beforeRun';
284
+ /** The command ended well. It doesn't run after a failure */
192
285
  readonly AFTER_RUN: 'afterRun';
286
+ /** Something failed: `ctx.error` says what. Set `ctx.handled` to print nothing */
193
287
  readonly ON_ERROR: 'onError';
288
+ /** Last, always: after an error and after Ctrl+C too */
194
289
  readonly CLEANUP: 'cleanup';
195
290
  };
291
+ /** The name of a hook: one of the values of HOOK_NAMES. */
196
292
  export type HookName = (typeof HOOK_NAMES)[keyof typeof HOOK_NAMES];
197
293
  /** Where a run comes from: a person or script at the CLI, or a tool call. */
198
294
  export type Invocation = {
295
+ /** A person or a script ran the CLI */
199
296
  surface: 'cli';
200
297
  } | {
298
+ /** A model called it as a tool through MCP: what it writes reaches the model */
201
299
  surface: 'tool';
300
+ /** The name of the tool that was called */
202
301
  tool: string;
203
302
  };
303
+ /** What a hook handler receives. What it has grows as the run goes on. */
204
304
  export interface HookContext {
305
+ /** The CLI's name, version and description */
205
306
  cli: CLIMeta;
307
+ /** A person or script at the CLI, or a tool call through MCP */
206
308
  invocation: Invocation;
309
+ /**
310
+ * In beforeParse, the whole argv, which a handler may rewrite before it's
311
+ * parsed. From onGlobalFlags on, only the command's part: without the global
312
+ * options, and without what follows `--`. run() gets the original as it was.
313
+ */
207
314
  rawArgs: string[];
208
315
  /** Aborted when the run must stop */
209
316
  signal: AbortSignal;
317
+ /** The global options, from onGlobalFlags on */
210
318
  globalOptions?: Record<string, unknown>;
319
+ /** The command that runs, from afterParse on */
211
320
  command?: NamedCommandMeta;
321
+ /** Its positional arguments, from afterParse on */
212
322
  args?: Record<string, unknown>;
323
+ /** Its options, from afterParse on */
213
324
  options?: Record<string, unknown>;
325
+ /** What failed, in onError and in cleanup after a failure */
214
326
  error?: Error;
215
327
  /** Call this in onGlobalFlags to short-circuit the lifecycle */
216
328
  shortCircuit?: () => void;
217
329
  /** Set this in onError to prevent default error output */
218
330
  handled?: boolean;
219
331
  }
332
+ /** A hook handler. It can be async, and the run waits for it. */
220
333
  export type HookHandler = (ctx: HookContext) => void | Promise<void>;
334
+ /** What a middleware receives. */
221
335
  export interface MiddlewareContext {
336
+ /** Run the command, and the middleware after this one. Always `await` it, or throw to stop */
222
337
  next: () => Promise<void>;
338
+ /** The CLI's global options. A middleware doesn't see the command's own */
223
339
  globalOptions: Record<string, unknown>;
224
340
  /** The command that runs, with its whole path */
225
341
  command: NamedCommandMeta;
226
342
  }
343
+ /** The function a middleware runs. */
227
344
  export type MiddlewareFn = (ctx: MiddlewareContext) => Promise<void>;
345
+ /** A middleware, as defineMiddleware() returns it. */
228
346
  export interface Middleware {
347
+ /** Marks the object as a middleware */
229
348
  readonly _type: 'runa:middleware';
349
+ /** What it runs around a command */
230
350
  readonly handler: MiddlewareFn;
231
351
  }
352
+ /** Reads config files of another format than JSON, which Runa reads by itself. */
232
353
  export interface ConfigLoader {
233
354
  /** File extensions this loader handles, e.g. ['.json'] */
234
355
  extensions: string[];
235
356
  /** Read and parse the config file at the given path */
236
357
  load(filePath: string): Promise<unknown>;
237
358
  }
359
+ /** A CLI described as data, as help and MCP read it. */
238
360
  export interface CLISchema {
361
+ /** The CLI's name, version and description */
239
362
  meta: CLIMeta;
363
+ /** Its commands, groups included */
240
364
  commands: CommandSchema[];
365
+ /** The options every command takes */
241
366
  globalOptions: OptionSchema[];
242
367
  /** Name of the command that runs without a subcommand: set by runCLI() */
243
368
  root?: string;
244
369
  }
370
+ /** A command, or a group of commands, described as data. */
245
371
  export interface CommandSchema {
372
+ /** Its own name */
246
373
  name: string;
374
+ /** One line about what it does */
247
375
  description: string;
248
376
  /** Full command path, e.g. ['config', 'set'] for nested commands */
249
377
  fullPath: string[];
250
378
  /** What a person types to run it, with the CLI, e.g. ['tool', 'config', 'set']. Set for help */
251
379
  commandLine?: string[];
380
+ /** Its positional arguments, in order */
252
381
  args: ArgSchema[];
382
+ /** Its options */
253
383
  options: OptionSchema[];
384
+ /** Whether it declares an `output` schema */
254
385
  hasOutput: boolean;
386
+ /** The commands of a group */
255
387
  subcommands?: CommandSchema[];
256
388
  }
389
+ /** A positional argument, described as data. */
257
390
  export interface ArgSchema {
391
+ /** Its key in `args` */
258
392
  name: string;
393
+ /** From its `.describe()` */
259
394
  description?: string;
395
+ /** Its base type */
260
396
  type: ParamType;
397
+ /** False if it has `.optional()` or `.default()` */
261
398
  required: boolean;
399
+ /** From its `.default()` */
262
400
  defaultValue?: unknown;
401
+ /** Whether it takes the rest of the values, as a z.array() does */
263
402
  isVariadic: boolean;
403
+ /** The values a z.enum() allows */
264
404
  enumValues?: string[];
265
405
  }
406
+ /** An option, described as data. */
266
407
  export interface OptionSchema {
267
408
  /** The key in code, in config files and in MCP tools */
268
409
  name: string;
269
410
  /** The long flag, without dashes: what a person types */
270
411
  flag: string;
412
+ /** From its `.describe()` */
271
413
  description?: string;
272
414
  /** `array` means the option repeats, with `itemType` values */
273
415
  type: ParamType;
416
+ /** The type of each value of an option that repeats */
274
417
  itemType?: ParamType;
275
418
  /** What help calls the value, if the author named it */
276
419
  valueName?: string;
420
+ /** False if it has `.optional()` or `.default()` */
277
421
  required: boolean;
422
+ /** From its `.default()` */
278
423
  defaultValue?: unknown;
279
424
  /** What help shows instead of `defaultValue`, if the author wrote it */
280
425
  defaultDescription?: string;
426
+ /** See OptionMeta.alias */
281
427
  alias?: string[];
428
+ /** See OptionMeta.env */
282
429
  env?: string;
430
+ /** See OptionMeta.group */
283
431
  group?: string;
432
+ /** See OptionMeta.deprecated */
284
433
  deprecated?: string;
434
+ /** The values a z.enum() allows */
285
435
  enumValues?: string[];
436
+ /**
437
+ * A global option, in the help of a command: it works there, but isn't the
438
+ * command's own, so help lists it under GLOBAL OPTIONS. Not set when the
439
+ * command is the CLI, as with runCLI()
440
+ */
441
+ inherited?: boolean;
286
442
  }
443
+ /** The base types Runa reads from a Zod schema. */
287
444
  export declare const PARAM_TYPES: {
445
+ /** z.string(), and any type Runa doesn't read otherwise */
288
446
  readonly STRING: 'string';
447
+ /** z.number(), z.int() included */
289
448
  readonly NUMBER: 'number';
449
+ /** z.boolean(): a flag, with its `--no-` */
290
450
  readonly BOOLEAN: 'boolean';
451
+ /** z.enum(): one of a fixed set of values */
291
452
  readonly ENUM: 'enum';
453
+ /** z.array(): an option that repeats, or the last positional */
292
454
  readonly ARRAY: 'array';
293
455
  };
456
+ /** A base type: one of the values of PARAM_TYPES. */
294
457
  export type ParamType = (typeof PARAM_TYPES)[keyof typeof PARAM_TYPES];
458
+ /** What Runa reads from the schema of one arg or option. */
295
459
  export interface ParamMetadata {
296
460
  /** Key name from the schema record */
297
461
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,19 +1,33 @@
1
1
  // ─── Lifecycle Hooks ────────────────────────────────────────
2
+ /** The steps of a run a plugin can hook into, in the order they happen. */
2
3
  export const HOOK_NAMES = {
4
+ /** First of all, before anything is parsed: a handler may rewrite `ctx.rawArgs` */
3
5
  BEFORE_PARSE: 'beforeParse',
6
+ /** The global options are read. Help and `--mcp` stop the run here */
4
7
  ON_GLOBAL_FLAGS: 'onGlobalFlags',
8
+ /** The command and its values are known */
5
9
  AFTER_PARSE: 'afterParse',
10
+ /** Right before the middleware and the command */
6
11
  BEFORE_RUN: 'beforeRun',
12
+ /** The command ended well. It doesn't run after a failure */
7
13
  AFTER_RUN: 'afterRun',
14
+ /** Something failed: `ctx.error` says what. Set `ctx.handled` to print nothing */
8
15
  ON_ERROR: 'onError',
16
+ /** Last, always: after an error and after Ctrl+C too */
9
17
  CLEANUP: 'cleanup',
10
18
  };
11
19
  // ─── Schema Walker Output ───────────────────────────────────
20
+ /** The base types Runa reads from a Zod schema. */
12
21
  export const PARAM_TYPES = {
22
+ /** z.string(), and any type Runa doesn't read otherwise */
13
23
  STRING: 'string',
24
+ /** z.number(), z.int() included */
14
25
  NUMBER: 'number',
26
+ /** z.boolean(): a flag, with its `--no-` */
15
27
  BOOLEAN: 'boolean',
28
+ /** z.enum(): one of a fixed set of values */
16
29
  ENUM: 'enum',
30
+ /** z.array(): an option that repeats, or the last positional */
17
31
  ARRAY: 'array',
18
32
  };
19
33
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqPA,+DAA+D;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,aAAa;IAC3B,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,SAAS;CACT,CAAC;AA0GX,+DAA+D;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACL,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmVA,+DAA+D;AAE/D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,mFAAmF;IACnF,YAAY,EAAE,aAAa;IAC3B,sEAAsE;IACtE,eAAe,EAAE,eAAe;IAChC,2CAA2C;IAC3C,WAAW,EAAE,YAAY;IACzB,kDAAkD;IAClD,UAAU,EAAE,WAAW;IACvB,6DAA6D;IAC7D,SAAS,EAAE,UAAU;IACrB,kFAAkF;IAClF,QAAQ,EAAE,SAAS;IACnB,wDAAwD;IACxD,OAAO,EAAE,SAAS;CACT,CAAC;AA8KX,+DAA+D;AAE/D,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,2DAA2D;IAC3D,MAAM,EAAE,QAAQ;IAChB,mCAAmC;IACnC,MAAM,EAAE,QAAQ;IAChB,4CAA4C;IAC5C,OAAO,EAAE,SAAS;IAClB,6CAA6C;IAC7C,IAAI,EAAE,MAAM;IACZ,gEAAgE;IAChE,KAAK,EAAE,OAAO;CACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runa-cmd/core",
3
- "version": "0.2.0-beta.5",
3
+ "version": "0.2.0-beta.7",
4
4
  "description": "Schema-driven, TypeScript-first CLI engine — commands, parsing, plugins, middleware. Zero runtime deps.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -65,7 +65,7 @@
65
65
  "scripts": {
66
66
  "build": "tsc",
67
67
  "dev": "tsc --watch --preserveWatchOutput",
68
- "typecheck": "tsc --noEmit",
68
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
69
69
  "test": "vitest run",
70
70
  "test:watch": "vitest",
71
71
  "lint": "biome check .",