@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.
- package/CHANGELOG.md +667 -0
- package/README.md +98 -11
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +98 -14
- package/dist/cli.js.map +1 -1
- package/dist/command.d.ts +1 -1
- package/dist/command.d.ts.map +1 -1
- package/dist/command.js +3 -3
- package/dist/command.js.map +1 -1
- package/dist/config/loader.d.ts +2 -2
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +8 -5
- package/dist/config/loader.js.map +1 -1
- package/dist/config/scope.js +2 -2
- package/dist/config/scope.js.map +1 -1
- package/dist/errors.d.ts +83 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +114 -11
- package/dist/errors.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +29 -8
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/parse/resolve.d.ts +7 -0
- package/dist/parse/resolve.d.ts.map +1 -1
- package/dist/parse/resolve.js +140 -25
- package/dist/parse/resolve.js.map +1 -1
- package/dist/parse/schema-adapter.d.ts +2 -0
- package/dist/parse/schema-adapter.d.ts.map +1 -1
- package/dist/parse/schema-adapter.js.map +1 -1
- package/dist/parse/variadic.js +3 -3
- package/dist/parse/variadic.js.map +1 -1
- package/dist/plugin.d.ts +14 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +111 -20
- package/dist/plugin.js.map +1 -1
- package/dist/testing.d.ts +7 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +13 -0
- package/dist/testing.js.map +1 -1
- package/dist/tool-channel.d.ts +5 -1
- package/dist/tool-channel.d.ts.map +1 -1
- package/dist/tool-channel.js.map +1 -1
- package/dist/trace.d.ts +24 -0
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js.map +1 -1
- package/dist/types.d.ts +164 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +14 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -9,10 +9,10 @@ Define your CLI with Zod schemas and get full type inference, validation, and me
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
pnpm add @runa-cmd/core
|
|
12
|
+
pnpm add @runa-cmd/core zod
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
> Requires Node 24+. Zod v4 is a required peer dependency.
|
|
15
|
+
> Requires Node 24+. Zod v4 is a required peer dependency.
|
|
16
16
|
|
|
17
17
|
## Quick Start
|
|
18
18
|
|
|
@@ -96,7 +96,7 @@ Operational metadata lives in `meta.options`, separate from the Zod schema:
|
|
|
96
96
|
|
|
97
97
|
| Property | Type | Description |
|
|
98
98
|
|---|---|---|
|
|
99
|
-
| `alias` | `string[]` |
|
|
99
|
+
| `alias` | `string[]` | Other flags for the option: one character as `'-e'`, or a word as `'--environment'`. Any other form, as `'e'` or `'-ab'`, stops the CLI at startup and says how to write it |
|
|
100
100
|
| `env` | `string` | Environment variable name, e.g. `'DEPLOY_ENV'`. If a required option is missing, the error names it: `Missing required option: --env, or set DEPLOY_ENV` |
|
|
101
101
|
| `configurable` | `boolean` | `false` if a config file can't set it, as with a guardrail. Default: `true` |
|
|
102
102
|
| `group` | `string` | Group name for help display, e.g. `'Scaling'` |
|
|
@@ -273,10 +273,24 @@ Write `darkColor` in code and `--dark-color` at the terminal. `run()`, config fi
|
|
|
273
273
|
| `outputURL` | `--output-url` |
|
|
274
274
|
| `dark-color` | `--dark-color`, a key with hyphens stays as written |
|
|
275
275
|
|
|
276
|
-
`--darkColor` is a usage error that points to `--dark-color`. `--no-dark-mode` negates `darkMode`.
|
|
276
|
+
`--darkColor` is a usage error that points to `--dark-color`. `--no-dark-mode` negates `darkMode`. A boolean whose default is `true` shows in help as `--[no-]dark-mode`, and is the only kind that shell completions offer a `--no-` for: one that starts off has nothing to turn off.
|
|
277
|
+
|
|
278
|
+
A value that breaks a rule of its schema names the flag, repeats what was typed, and says what's wrong: `.positive()` gives `Invalid value '0' for --limit: must be greater than 0`, and `.min(3)` on a string `must have at least 3 characters`. Write your own message for other rules, as with `.regex(re, '--color must start with #')`, and it's shown as you wrote it.
|
|
279
|
+
|
|
280
|
+
The value is only repeated if it was typed at the terminal or sent by a model, and cut after 40 characters. A value from env or from the config file is never shown, nor the value of an option that declares `env`, even typed: those often hold a secret, and an error can end up in a CI log.
|
|
277
281
|
|
|
278
282
|
A boolean named `noCache` stops the CLI at startup, because `--no-cache` already negates `cache`. Declare `cache` with `.default(true)` instead.
|
|
279
283
|
|
|
284
|
+
A boolean needs `.default()` or `.optional()`, or the CLI stops at startup: a flag that isn't passed would fail every run. To make someone confirm with `--yes`, let it default to `false` and check it in `run()`, with a message of yours:
|
|
285
|
+
|
|
286
|
+
```ts
|
|
287
|
+
options: { yes: z.boolean().default(false).describe('Confirm the deletion') },
|
|
288
|
+
run({ options }) {
|
|
289
|
+
if (!options.yes) throw new CommandError('This deletes everything. Pass --yes to confirm.', { exitCode: 2 });
|
|
290
|
+
// ...
|
|
291
|
+
},
|
|
292
|
+
```
|
|
293
|
+
|
|
280
294
|
### Environment variables
|
|
281
295
|
|
|
282
296
|
An option reads a variable only if it declares one, in `meta.options`. Nothing is read by a prefix, so the environment can't turn on an option you didn't mean it to, like `--force`:
|
|
@@ -298,7 +312,11 @@ You choose the name. A convention that helps:
|
|
|
298
312
|
|
|
299
313
|
### `--help`
|
|
300
314
|
|
|
301
|
-
Every CLI has `--help` and `-h`, with no plugin: `tool --help` shows the CLI or the root command, and `tool db migrate --help` shows that command,
|
|
315
|
+
Every CLI has `--help` and `-h`, with no plugin: `tool --help` shows the CLI or the root command, and `tool db migrate --help` shows that command. Its own options come first, and the global options that work on it, as `--help` or `--mcp`, go apart under `GLOBAL OPTIONS`; a custom renderer tells them apart by `inherited` on each option. With `runCLI`, the command is the CLI, so they're its own options.
|
|
316
|
+
|
|
317
|
+
`help` works where a command goes, as people and models often type it: `tool help` is `tool --help`, `tool help db migrate` is `tool db migrate --help`, and `tool db help` shows the group. A command of yours named `help` wins, and inside a command `help` is a value: `tool greet help` passes it to the argument. It isn't a command, so it doesn't show in the list, nor as an MCP tool.
|
|
318
|
+
|
|
319
|
+
After a usage error, the hint points to the help that answers it: `tool build --limit 0` ends with `Run 'tool build --help' for usage.`
|
|
302
320
|
|
|
303
321
|
Each flag yields separately. If a command declares `-h`, for `--host` say, it keeps it and `--help` still shows help. For themes and layout, add `@runa-cmd/help`. To show help your own way from a plugin, declare the `replaceHelp` capability:
|
|
304
322
|
|
|
@@ -316,7 +334,7 @@ definePlugin({
|
|
|
316
334
|
|
|
317
335
|
With nothing to run, as in `tool` on a CLI with several commands or `tool db` on a group, help goes to stderr and the exit code is 2. A script with an empty command fails instead of passing. A name that doesn't exist is still a 127, with a suggestion.
|
|
318
336
|
|
|
319
|
-
`--help` and `--version` work even if a required global option is missing.
|
|
337
|
+
`--help` and `--version` work even if a required global option is missing. So does any run where nothing would run: a command that doesn't exist is still a 127, and nothing to run still shows the help with exit 2. A command that exists says the global is missing.
|
|
320
338
|
|
|
321
339
|
### `--version`
|
|
322
340
|
|
|
@@ -358,6 +376,8 @@ const auth = defineMiddleware(async ({ next, globalOptions }) => {
|
|
|
358
376
|
});
|
|
359
377
|
```
|
|
360
378
|
|
|
379
|
+
A middleware must `await next()`, or throw to stop the command. Returning without calling it fails with `MIDDLEWARE_DID_NOT_CALL_NEXT`, because the command would not run and the CLI would still exit 0. Calling it without `await` fails with `MIDDLEWARE_DID_NOT_AWAIT_NEXT`, after the command ends, so `afterRun` and `cleanup` never run while it still works. To skip a command on purpose, as a dry run does, throw `new CommandError('Dry run: would deploy api', { exitCode: 0 })`.
|
|
380
|
+
|
|
361
381
|
Middleware, hooks and `run()` get the command that runs as `command`. `command.name` is its own name, and `command.path` the whole path, which is what a permissions or audit check needs: `tag add` and `add` share the name `add`.
|
|
362
382
|
|
|
363
383
|
```ts
|
|
@@ -444,7 +464,17 @@ A key at the root is a global option, or a command. Groups nest, and an option u
|
|
|
444
464
|
|
|
445
465
|
A value only reaches the command it's under. With `runCLI` there's no command to name, so its options go at the root.
|
|
446
466
|
|
|
447
|
-
|
|
467
|
+
A value can be its JSON type, or the text you'd type at the terminal: `"limit": 5` and `"limit": "5"` are the same, and so are `"force": true` and `"force": "true"`. Text is accepted because a loader may only produce text, as one for an INI file. A number is not a boolean: `"force": 1` is an error that says `expected true or false`.
|
|
468
|
+
|
|
469
|
+
Nothing is ignored. Every error names the file first, and says what's wrong with the words the terminal uses:
|
|
470
|
+
|
|
471
|
+
```
|
|
472
|
+
my-tool.config.json: invalid value for 'clear.limit': must be greater than 0
|
|
473
|
+
my-tool.config.json: unknown key 'clear.limt'. Did you mean 'limit'?
|
|
474
|
+
my-tool.config.json: invalid JSON: Unexpected token '}', ..."force":tru}}" is not valid JSON
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
All exit with 2. The code says what failed, and the message says where: a value that breaks its schema is a `VALIDATION_ERROR`, as it would be from the terminal or from env, and a file that can't be read as config, with broken JSON or an unknown key, is an `INVALID_CONFIG`. `$schema` is the only key that isn't checked. A global option can't share a name with a command when the CLI has a config file: that fails at startup, for you to rename one.
|
|
448
478
|
|
|
449
479
|
**The current directory comes first:** a file in `.` can set options, like `force` above, for anyone who runs your CLI there. To protect one option, set `meta.options.force.configurable` to `false`: only the terminal can set it, and the file gets an error. To protect them all, use `searchPaths: ['~']`.
|
|
450
480
|
|
|
@@ -463,6 +493,54 @@ import {
|
|
|
463
493
|
throw new CommandError('Deployment failed', { code: 'DEPLOY_FAILED', exitCode: 3 });
|
|
464
494
|
```
|
|
465
495
|
|
|
496
|
+
#### Error codes
|
|
497
|
+
|
|
498
|
+
Tell errors apart by their `code`, not by the message: codes are part of the [contract](../../VERSIONING.md), and messages change. `isRunaError(error, code?)` checks both, and works even when two copies of `@runa-cmd/core` are installed, where `instanceof` fails. `ERROR_CODES` lists Runa's codes, and a `CommandError` takes your own:
|
|
499
|
+
|
|
500
|
+
```ts
|
|
501
|
+
import { ERROR_CODES, isRunaError } from '@runa-cmd/core';
|
|
502
|
+
|
|
503
|
+
if (isRunaError(error, ERROR_CODES.INVALID_CONFIG)) { /* the config file is wrong */ }
|
|
504
|
+
if (isRunaError(error, 'DEPLOY_FAILED')) { /* your own code */ }
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
The value that's wrong has one code wherever it comes from, terminal, env or config file, and the message says where. These come up while someone runs the CLI:
|
|
508
|
+
|
|
509
|
+
| Code | Exit | When |
|
|
510
|
+
|---|---|---|
|
|
511
|
+
| `VALIDATION_ERROR` | 2 | An argument or option is missing, or breaks its schema. `ValidationError` |
|
|
512
|
+
| `INVALID_CONFIG` | 2 | The config file can't be used: broken JSON, an unknown key, or a value where an object goes. `ConfigError` |
|
|
513
|
+
| `COMMAND_NOT_FOUND` | 127 | No command has that name. `CommandNotFoundError` |
|
|
514
|
+
| `COMMAND_ERROR` | 1 | A `CommandError` without its own code |
|
|
515
|
+
| `INTERRUPTED` | The signal's | `SIGINT` or `SIGTERM` stopped the run, and `run()` failed because of it or didn't end in time |
|
|
516
|
+
| `INVALID_OUTPUT` | 1 | `run()` returned a value its `output` schema rejects |
|
|
517
|
+
| `MISSING_RESULT` | 1 | The command declares `format`, and `run()` returned nothing |
|
|
518
|
+
| `MIDDLEWARE_DID_NOT_CALL_NEXT` | 1 | A middleware returned without calling `next()`, so the command didn't run |
|
|
519
|
+
| `MIDDLEWARE_DID_NOT_AWAIT_NEXT` | 1 | A middleware called `next()` without awaiting it |
|
|
520
|
+
|
|
521
|
+
These stop the CLI at startup, all with exit 1. They point at the CLI's code, so its author sees them the first time it runs:
|
|
522
|
+
|
|
523
|
+
| Code | When |
|
|
524
|
+
|---|---|
|
|
525
|
+
| `OPTION_COLLISION` | Two options end up as the same flag or alias: two keys or two aliases of a command, an alias equal to another option's flag or `--no-` negation, two globals, a global and a command's option, or an option where `format` adds `--json`. Also an alias equal to its own option's flag |
|
|
526
|
+
| `INVALID_OPTION_NAME` | A boolean `noCache` would clash with `--no-cache`, which already negates `cache` |
|
|
527
|
+
| `INVALID_BOOLEAN_OPTION` | A `z.boolean()` without `.default()` or `.optional()`: a flag that isn't passed would fail every run. The message says how to fix it |
|
|
528
|
+
| `INVALID_OPTION_ALIAS` | An alias isn't `-x`, one character, nor `--word`, as `'e'` or `'-ab'`: the message says how to write it |
|
|
529
|
+
| `INVALID_META_OPTIONS` | `meta.options` names a key that `options` doesn't have |
|
|
530
|
+
| `INVALID_VARIADIC_ARGS` | A command has more than one list argument |
|
|
531
|
+
| `INVALID_VARIADIC_POSITION` | The list argument isn't the last one |
|
|
532
|
+
| `INVALID_COMMAND_NAME` | A command key isn't lowercase words joined by dashes, or doesn't match its `meta.name` |
|
|
533
|
+
| `INVALID_COMMAND_VERSION` | A command of `defineCLI` declares `meta.version`, which only applies to the command of `runCLI`: the CLI's version goes in `defineCLI`'s `meta` |
|
|
534
|
+
| `CONFIG_COLLISION` | A global option and a command share a name, so a config file can't tell them apart |
|
|
535
|
+
| `INVALID_PLUGIN` | A plugin without `meta.name` or `setup()` |
|
|
536
|
+
| `PLUGIN_LOAD_ERROR` | A lazy plugin failed to load, or its module has no default export |
|
|
537
|
+
| `PLUGIN_MISSING_DEPENDENCY` | A plugin depends on one that isn't registered |
|
|
538
|
+
| `PLUGIN_CIRCULAR_DEPENDENCY` | Plugins depend on each other in a cycle |
|
|
539
|
+
| `PLUGIN_CAPABILITY_VIOLATION` | A plugin used part of the API without declaring its capability |
|
|
540
|
+
| `HELP_ALREADY_REPLACED` | Two plugins replace the help |
|
|
541
|
+
|
|
542
|
+
`@runa-cmd/mcp` adds its own, listed in [its README](../mcp/README.md#errors).
|
|
543
|
+
|
|
466
544
|
#### How a failed run ends
|
|
467
545
|
|
|
468
546
|
No failure exits silently. The reason goes to stderr, `cleanup` runs, and then the process exits.
|
|
@@ -487,7 +565,7 @@ On `SIGINT` or `SIGTERM`, Runa aborts `ctx.signal` and runs `cleanup`, and the p
|
|
|
487
565
|
|
|
488
566
|
If `run()` ends well after the signal, as a server that closes when told to, that's not an error: nothing is printed and `onError` doesn't run. If it fails because of the abort, or doesn't end in time, stderr says `Interrupted.`.
|
|
489
567
|
|
|
490
|
-
Ending by the signal, instead of with exit code 143, is what makes a stop clean for a service manager: systemd counts death by `SIGTERM` as clean, and exit 143 as a failure. A program that starts your CLI with `spawn` sees `signal: 'SIGTERM'`, not `code: 143`. On Windows, which has no signals, it exits with the code. Under launchd, stop a service with `launchctl bootout`: with `KeepAlive` → `SuccessfulExit: false`, a `launchctl kill` restarts it, as it does with any daemon that dies by the signal.
|
|
568
|
+
Ending by the signal, instead of with exit code 143, is what makes a stop clean for a service manager: systemd counts death by `SIGTERM` as clean, and exit 143 as a failure. A program that starts your CLI with `spawn` sees `signal: 'SIGTERM'`, not `code: 143`, and gets the number a shell shows with `code ?? 128 + os.constants.signals[signal]`. On Windows, which has no signals, it exits with the code. Under launchd, stop a service with `launchctl bootout`: with `KeepAlive` → `SuccessfulExit: false`, a `launchctl kill` restarts it, as it does with any daemon that dies by the signal.
|
|
491
569
|
|
|
492
570
|
Pass `signal` to whatever the command starts, so the stop reaches it too:
|
|
493
571
|
|
|
@@ -502,7 +580,9 @@ A command that blocks the event loop can't react to a signal until it yields. Us
|
|
|
502
580
|
### Constants
|
|
503
581
|
|
|
504
582
|
```ts
|
|
505
|
-
import { HOOK_NAMES, PARAM_TYPES } from '@runa-cmd/core';
|
|
583
|
+
import { ERROR_CODES, HOOK_NAMES, PARAM_TYPES } from '@runa-cmd/core';
|
|
584
|
+
|
|
585
|
+
ERROR_CODES.VALIDATION_ERROR // 'VALIDATION_ERROR', and every code in Error codes
|
|
506
586
|
|
|
507
587
|
HOOK_NAMES.BEFORE_PARSE // 'beforeParse'
|
|
508
588
|
HOOK_NAMES.ON_GLOBAL_FLAGS // 'onGlobalFlags'
|
|
@@ -521,7 +601,7 @@ PARAM_TYPES.ARRAY // 'array'
|
|
|
521
601
|
|
|
522
602
|
### Testing: `testCLI()`
|
|
523
603
|
|
|
524
|
-
Run a command through its real lifecycle, without ending the process
|
|
604
|
+
Run a command through its real lifecycle, without ending the process. [Testing a CLI](https://github.com/jrodrigopuca/runa-cmd/blob/main/guides/testing.md) shows it test by test, and what needs a real process instead.
|
|
525
605
|
|
|
526
606
|
```ts
|
|
527
607
|
import { testCLI } from '@runa-cmd/core/testing';
|
|
@@ -556,6 +636,8 @@ A value from env is left out, because it can be a secret. The shape of `trace` i
|
|
|
556
636
|
|
|
557
637
|
**What's isolated:** the test doesn't read the real environment or config files, and several runs can share a process, as with `it.concurrent`.
|
|
558
638
|
|
|
639
|
+
**`config` needs a CLI that reads one:** if the CLI doesn't declare `config` in `defineCLI`, `testCLI()` rejects with a message saying so, because the real program would read no file. For a single command, `config` stands for the file of `runCLI(command, { config })`.
|
|
640
|
+
|
|
559
641
|
**What isn't:** a command that reads `process.env` by itself sees the real one. A child process, or a write straight to a file descriptor, isn't captured. `process.exitCode` is global, so it isn't reliable with concurrent runs: exit or throw instead.
|
|
560
642
|
|
|
561
643
|
A `process.exit` inside a command ends the run with its code and skips `cleanup`, as in a real run.
|
|
@@ -599,6 +681,11 @@ cleanup ← (Runs on errors and on signals, within the stop deadline)
|
|
|
599
681
|
On error → onError hook fires before cleanup
|
|
600
682
|
```
|
|
601
683
|
|
|
684
|
+
What a hook gets grows as the run goes on: `globalOptions` from `onGlobalFlags`, and `command`, `args` and `options` from `afterParse`. Two fields differ from what `run()` gets:
|
|
685
|
+
|
|
686
|
+
- **`ctx.rawArgs`** is the whole argv in `beforeParse`, where a hook may rewrite it before parsing. From `onGlobalFlags` on, it's only the command's part, without the global options and without what follows `--`. `run()` gets the original argv as it was.
|
|
687
|
+
- **`ctx.invocation`** says who started the run: `{ surface: 'cli' }` for a person or a script, and `{ surface: 'tool', tool }` for a call through MCP, where everything written reaches the model. `run()` doesn't get it, on purpose: a command does the same work for both, and what only people read goes in `format`, which doesn't run for a tool.
|
|
688
|
+
|
|
602
689
|
## Value Resolution
|
|
603
690
|
|
|
604
691
|
Options are resolved in this priority order:
|
|
@@ -626,7 +713,7 @@ import type {
|
|
|
626
713
|
HookContext, HookHandler, HookName,
|
|
627
714
|
Middleware, MiddlewareContext, MiddlewareFn,
|
|
628
715
|
PluginAPI, PluginCapabilities, PluginConfig, PluginMeta,
|
|
629
|
-
RunContext, RunReturn,
|
|
716
|
+
RunContext, RunReturn, RunResult, FormatContext,
|
|
630
717
|
ArgSchema, OptionSchema, OptionMeta,
|
|
631
718
|
InferArgs, InferOptions,
|
|
632
719
|
ConfigLoader, ParamMetadata, ParamType,
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiEA,OAAO,EAA2B,KAAK,UAAU,EAAoB,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EACX,GAAG,EACH,SAAS,EAET,OAAO,EAUP,aAAa,EACb,MAAM,YAAY,CAAC;AA8NpB,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AA4RD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AA2hBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAQhD;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzF;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,GAC1C,SAAS,CAGX;AAkBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
package/dist/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ import { parseArgs } from 'node:util';
|
|
|
14
14
|
import { JSON_OPTION, JSON_SCHEMA } from './command.js';
|
|
15
15
|
import { loadConfigFile } from './config/merge.js';
|
|
16
16
|
import { assertConfigNames, assertValidConfig, commandValues, } from './config/scope.js';
|
|
17
|
-
import { CommandNotFoundError, describeFailure, failureReason, isDebugEnabled, isUsageError, ProcessExit, RunaError, ValidationError, } from './errors.js';
|
|
17
|
+
import { CommandError, CommandNotFoundError, describeFailure, ERROR_CODES, failureReason, isDebugEnabled, isRunaError, isUsageError, ProcessExit, RunaError, ValidationError, } from './errors.js';
|
|
18
18
|
import { flagName } from './flag-name.js';
|
|
19
19
|
import { commandClaims, findHelpTarget, HELP_TOKENS, renderHelp } from './help.js';
|
|
20
20
|
import { getSchema } from './introspect.js';
|
|
@@ -24,7 +24,7 @@ import { buildParseArgsConfig } from './parse/parseargs-bridge.js';
|
|
|
24
24
|
import { distributeRest, resolveToolInput, resolveValues } from './parse/resolve.js';
|
|
25
25
|
import { walkSchema } from './parse/schema-walker.js';
|
|
26
26
|
import { assertKnownOptions, assertOptionValues } from './parse/strict.js';
|
|
27
|
-
import { resolvePlugins, runPluginCleanup, runPluginSetup, STATIC_GLOBAL_OPTION_SOURCE, topologicalSort, validateCommandNames, validateOptionCollisions, validateOptionNames, } from './plugin.js';
|
|
27
|
+
import { resolvePlugins, runPluginCleanup, runPluginSetup, STATIC_GLOBAL_OPTION_SOURCE, topologicalSort, validateCommandNames, validateCommandTokens, validateOptionAliases, validateOptionCollisions, validateOptionNames, } from './plugin.js';
|
|
28
28
|
import { watchForStop } from './stop.js';
|
|
29
29
|
import { findSuggestion } from './suggest.js';
|
|
30
30
|
import { sendToolReport, takeToolRequest, } from './tool-channel.js';
|
|
@@ -90,19 +90,18 @@ function resolveCommand(commands, tokens) {
|
|
|
90
90
|
throw new RouteNotFoundError([...path, next].join(' '), suggestion, path, false, flag);
|
|
91
91
|
}
|
|
92
92
|
// ─── Output Validation ──────────────────────────────────────
|
|
93
|
-
/** A command returning the wrong shape is an author defect, reported by field. */
|
|
94
|
-
const INVALID_OUTPUT = 'INVALID_OUTPUT';
|
|
95
93
|
/** The key names a command, so that's its name once a run reaches it (ADR-0043). */
|
|
96
94
|
function namedMeta(command, path) {
|
|
97
95
|
return { ...command.meta, name: path.at(-1), path: [...path] };
|
|
98
96
|
}
|
|
97
|
+
/** A command returning the wrong shape is an author defect, reported by field. */
|
|
99
98
|
function assertValidOutput(name, output, result) {
|
|
100
99
|
const parsed = output.safeParse(result);
|
|
101
100
|
if (parsed.success)
|
|
102
101
|
return;
|
|
103
102
|
const issues = parsed.error.issues.map((issue) => ` ${issue.path.join('.') || '(root)'}: ${issue.message}`);
|
|
104
103
|
throw new RunaError(`Command '${name}' returned invalid output:\n${issues.join('\n')}`, {
|
|
105
|
-
code: INVALID_OUTPUT,
|
|
104
|
+
code: ERROR_CODES.INVALID_OUTPUT,
|
|
106
105
|
exitCode: 1,
|
|
107
106
|
});
|
|
108
107
|
}
|
|
@@ -113,7 +112,7 @@ function resultText(command, result, run) {
|
|
|
113
112
|
if (!command.format)
|
|
114
113
|
return undefined;
|
|
115
114
|
throw new RunaError(`Command '${run.name}' declares format but returned nothing.`, {
|
|
116
|
-
code:
|
|
115
|
+
code: ERROR_CODES.MISSING_RESULT,
|
|
117
116
|
exitCode: 1,
|
|
118
117
|
});
|
|
119
118
|
}
|
|
@@ -132,7 +131,11 @@ function printResult(command, result, run) {
|
|
|
132
131
|
function toolFailureReason(error) {
|
|
133
132
|
if (isUsageError(error))
|
|
134
133
|
return 'input';
|
|
135
|
-
|
|
134
|
+
if (isRunaError(error, ERROR_CODES.INVALID_OUTPUT))
|
|
135
|
+
return 'output';
|
|
136
|
+
// By name too: a CommandError from another copy of core isn't an instance of this one
|
|
137
|
+
const wrote = error instanceof CommandError || (isRunaError(error) && error.name === 'CommandError');
|
|
138
|
+
return wrote ? 'command' : 'other';
|
|
136
139
|
}
|
|
137
140
|
// ─── Middleware Composition ─────────────────────────────────
|
|
138
141
|
/**
|
|
@@ -141,8 +144,23 @@ function toolFailureReason(error) {
|
|
|
141
144
|
* Innermost next() calls the command execution function.
|
|
142
145
|
*/
|
|
143
146
|
function composeMiddleware(middlewareList, globalOptions, command, innerFn) {
|
|
147
|
+
if (middlewareList.length === 0)
|
|
148
|
+
return innerFn;
|
|
149
|
+
// Know whether a middleware ran the command, and whether it waited for it:
|
|
150
|
+
// either mistake would otherwise pass in silence
|
|
151
|
+
let running;
|
|
152
|
+
let settled = false;
|
|
153
|
+
const inner = () => {
|
|
154
|
+
running = innerFn();
|
|
155
|
+
running.then(() => {
|
|
156
|
+
settled = true;
|
|
157
|
+
}, () => {
|
|
158
|
+
settled = true;
|
|
159
|
+
});
|
|
160
|
+
return running;
|
|
161
|
+
};
|
|
144
162
|
// Build the chain from inside out
|
|
145
|
-
let chain =
|
|
163
|
+
let chain = inner;
|
|
146
164
|
for (let i = middlewareList.length - 1; i >= 0; i--) {
|
|
147
165
|
const mw = middlewareList[i];
|
|
148
166
|
if (!mw)
|
|
@@ -159,7 +177,22 @@ function composeMiddleware(middlewareList, globalOptions, command, innerFn) {
|
|
|
159
177
|
return mw.handler(ctx);
|
|
160
178
|
};
|
|
161
179
|
}
|
|
162
|
-
|
|
180
|
+
const name = command.path.join(' ');
|
|
181
|
+
const outer = chain;
|
|
182
|
+
return async () => {
|
|
183
|
+
await outer();
|
|
184
|
+
if (!running) {
|
|
185
|
+
throw new RunaError(`A middleware returned without calling next(): '${name}' didn't run. Call await next(), or throw an error to stop the command.`, { code: ERROR_CODES.MIDDLEWARE_DID_NOT_CALL_NEXT, exitCode: 1 });
|
|
186
|
+
}
|
|
187
|
+
if (!settled) {
|
|
188
|
+
// Wait for it, so afterRun and cleanup don't run while it still works
|
|
189
|
+
let cause;
|
|
190
|
+
await running.catch((error) => {
|
|
191
|
+
cause = error;
|
|
192
|
+
});
|
|
193
|
+
throw new RunaError(`A middleware didn't await next(): '${name}' was still running when it returned. Use await next().`, { code: ERROR_CODES.MIDDLEWARE_DID_NOT_AWAIT_NEXT, exitCode: 1, cause });
|
|
194
|
+
}
|
|
195
|
+
};
|
|
163
196
|
}
|
|
164
197
|
function reportDeprecations(input) {
|
|
165
198
|
for (const warning of deprecationWarnings(input)) {
|
|
@@ -507,6 +540,8 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
507
540
|
// any parsing on every invocation; throws RunaError OPTION_COLLISION.
|
|
508
541
|
validateCommandNames(mutableCommands, rootName);
|
|
509
542
|
validateOptionNames(mutableCommands, mutableGlobalOptions);
|
|
543
|
+
validateOptionAliases(mutableCommands, mutableGlobalMeta);
|
|
544
|
+
validateCommandTokens(mutableCommands);
|
|
510
545
|
validateOptionCollisions(mutableCommands, mutableGlobalOptions, mutableGlobalMeta, globalOptionSources);
|
|
511
546
|
if (config.config || harness?.configValues)
|
|
512
547
|
assertConfigNames(configTarget);
|
|
@@ -592,6 +627,8 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
592
627
|
i++;
|
|
593
628
|
}
|
|
594
629
|
}
|
|
630
|
+
// Once, on the words left without globals: `tool --verbose help` too
|
|
631
|
+
commandArgv.splice(0, commandArgv.length, ...helpAsFlag(mutableCommands, commandArgv, rootName));
|
|
595
632
|
// Now parse ONLY the extracted global tokens with parseArgs
|
|
596
633
|
const globalParseResult = parseArgs({
|
|
597
634
|
...parseArgsConfig,
|
|
@@ -606,7 +643,10 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
606
643
|
optionMeta: mutableGlobalMeta.options,
|
|
607
644
|
});
|
|
608
645
|
// Asking how to use a CLI can't require already knowing its options.
|
|
609
|
-
const
|
|
646
|
+
const route = findRoute(mutableCommands, commandArgv, rootName);
|
|
647
|
+
const answer = findBuiltInAnswer(config, route, commandArgv);
|
|
648
|
+
// Nor a command that doesn't exist: nothing runs, and its 127 is the answer (T-253)
|
|
649
|
+
const leadsNowhere = !toolCall && !route.command && !route.isIncomplete && !route.flag;
|
|
610
650
|
// With a tool call, the command comes from the call, not from argv.
|
|
611
651
|
const { configValues, configSource } = answer && !toolCall ? {} : await loadConfig([]);
|
|
612
652
|
try {
|
|
@@ -624,8 +664,9 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
624
664
|
optionEvents('global', names, parsedOptions, optionSources).forEach(trace);
|
|
625
665
|
}
|
|
626
666
|
catch (err) {
|
|
627
|
-
|
|
628
|
-
|
|
667
|
+
// 'usage' too: with nothing to run, the help on stderr is the answer
|
|
668
|
+
const runsNothing = answer !== undefined || leadsNowhere;
|
|
669
|
+
if (!runsNothing || !(err instanceof ValidationError))
|
|
629
670
|
throw err;
|
|
630
671
|
}
|
|
631
672
|
reportDeprecations({
|
|
@@ -638,6 +679,9 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
638
679
|
// Pass remaining argv (command tokens only) to command parsing
|
|
639
680
|
hookCtx.rawArgs = commandArgv;
|
|
640
681
|
}
|
|
682
|
+
else {
|
|
683
|
+
hookCtx.rawArgs = helpAsFlag(mutableCommands, head, rootName);
|
|
684
|
+
}
|
|
641
685
|
hookCtx.globalOptions = parsedGlobalOptions;
|
|
642
686
|
// ─── onGlobalFlags ────────────────────────────────
|
|
643
687
|
const globalFlagsResult = await emitHook('onGlobalFlags');
|
|
@@ -731,13 +775,16 @@ async function runCLILifecycle(config, argv, { rootName, toolCall, report, harne
|
|
|
731
775
|
// The ORIGINAL error still drives exit behavior below.
|
|
732
776
|
console.error('runa: onError handler threw:', hookErr);
|
|
733
777
|
}
|
|
734
|
-
failureExitCode = lifecycleError
|
|
778
|
+
failureExitCode = isRunaError(lifecycleError) ? lifecycleError.exitCode : 1;
|
|
735
779
|
// Report BEFORE cleanup: the reason stays visible even if cleanup hangs.
|
|
736
780
|
// `handled` means the plugin owns the output, not that the run succeeded.
|
|
737
781
|
if (!hookCtx.handled) {
|
|
738
782
|
const subject = hookCtx.command?.name ?? config.meta.name;
|
|
739
783
|
// An agent cannot use a hint for people, unless the operator asked for details.
|
|
740
|
-
|
|
784
|
+
// The help that answers it is the command's, unless the command is the CLI.
|
|
785
|
+
const path = hookCtx.command?.path;
|
|
786
|
+
const ownHelp = path && path[0] !== rootName ? [config.meta.name, ...path] : undefined;
|
|
787
|
+
const helpCommand = report ? undefined : (ownHelp?.join(' ') ?? config.meta.name);
|
|
741
788
|
console.error(report && !debug
|
|
742
789
|
? failureReason(lifecycleError, subject)
|
|
743
790
|
: describeFailure(lifecycleError, subject, debug, helpCommand));
|
|
@@ -770,6 +817,43 @@ function resolveCommandFromTree(commands, argv, rootName) {
|
|
|
770
817
|
}
|
|
771
818
|
return resolveCommand(commands, argv);
|
|
772
819
|
}
|
|
820
|
+
/**
|
|
821
|
+
* `help` where a command name goes is `--help` (ADR-0048): `tool help db
|
|
822
|
+
* migrate` is `tool db migrate --help`, and `tool db help` is `tool db --help`.
|
|
823
|
+
* A command named help wins, and inside a command help is a value. With
|
|
824
|
+
* runCLI, the command takes every word, so nothing changes.
|
|
825
|
+
*/
|
|
826
|
+
function helpAsFlag(commands, argv, rootName) {
|
|
827
|
+
if (rootName !== undefined)
|
|
828
|
+
return argv;
|
|
829
|
+
let current = commands;
|
|
830
|
+
for (const [index, token] of argv.entries()) {
|
|
831
|
+
if (token.startsWith('-'))
|
|
832
|
+
return argv;
|
|
833
|
+
if (token === 'help' && !Object.hasOwn(current, 'help')) {
|
|
834
|
+
const target = [...argv.slice(0, index), ...argv.slice(index + 1)];
|
|
835
|
+
let command;
|
|
836
|
+
try {
|
|
837
|
+
command = resolveCommand(commands, target).command;
|
|
838
|
+
}
|
|
839
|
+
catch (err) {
|
|
840
|
+
if (!(err instanceof RouteNotFoundError))
|
|
841
|
+
throw err;
|
|
842
|
+
// `tool nope --help` shows the root's help: let the 127 name `nope`
|
|
843
|
+
if (!err.isIncomplete && !err.flag)
|
|
844
|
+
return target;
|
|
845
|
+
}
|
|
846
|
+
// A command that took --help as an option yields -h, if it's free
|
|
847
|
+
const flag = HELP_TOKENS.find((token) => !(command && commandClaims(command, token)));
|
|
848
|
+
return flag ? [...target, flag] : argv;
|
|
849
|
+
}
|
|
850
|
+
const entry = current[token];
|
|
851
|
+
if (!entry || isCommand(entry))
|
|
852
|
+
return argv;
|
|
853
|
+
current = entry;
|
|
854
|
+
}
|
|
855
|
+
return argv;
|
|
856
|
+
}
|
|
773
857
|
function findRoute(commands, argv, rootName) {
|
|
774
858
|
try {
|
|
775
859
|
const { command, path } = resolveCommandFromTree(commands, argv, rootName);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/command.d.ts
CHANGED
|
@@ -19,5 +19,5 @@ export declare const JSON_SCHEMA: z.ZodOptional<z.ZodBoolean>;
|
|
|
19
19
|
*
|
|
20
20
|
* Returns a branded Command object with full generic inference preserved.
|
|
21
21
|
*/
|
|
22
|
-
export declare function defineCommand<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>, TOutput extends ZodType | undefined = undefined, TResult =
|
|
22
|
+
export declare function defineCommand<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>, TOutput extends ZodType | undefined = undefined, TResult = unknown>(config: CommandConfig<TArgs, TOptions, TOutput, TResult>): Command;
|
|
23
23
|
//# sourceMappingURL=command.d.ts.map
|
package/dist/command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGtC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAuC,MAAM,YAAY,CAAC;AAE9F,2FAA2F;AAC3F,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,WAAW,6BAAyB,CAAC;AA+ClD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGtC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAuC,MAAM,YAAY,CAAC;AAE9F,2FAA2F;AAC3F,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,WAAW,6BAAyB,CAAC;AA+ClD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAG/C,OAAO,GAAG,OAAO,EAChB,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,OAAO,CAuBnE"}
|
package/dist/command.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* definition time.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
-
import { RunaError } from './errors.js';
|
|
9
|
+
import { ERROR_CODES, RunaError } from './errors.js';
|
|
10
10
|
import { validateVariadicArgs } from './parse/variadic.js';
|
|
11
11
|
/** The option a command with format gains. It's for the terminal: a tool never sees it. */
|
|
12
12
|
export const JSON_OPTION = 'json';
|
|
@@ -23,7 +23,7 @@ function validateMetaOptionsKeys(meta, options) {
|
|
|
23
23
|
for (const key of Object.keys(meta.options)) {
|
|
24
24
|
if (!optionKeys.has(key)) {
|
|
25
25
|
throw new RunaError(`meta.options contains key '${key}' that is not defined in options. ` +
|
|
26
|
-
`Available keys: ${optionKeys.size > 0 ? [...optionKeys].map((k) => `'${k}'`).join(', ') : '(none)'}.`, { code:
|
|
26
|
+
`Available keys: ${optionKeys.size > 0 ? [...optionKeys].map((k) => `'${k}'`).join(', ') : '(none)'}.`, { code: ERROR_CODES.INVALID_META_OPTIONS, exitCode: 1 });
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -34,7 +34,7 @@ function validateJsonFlag(meta, options) {
|
|
|
34
34
|
Object.values(optionMeta).some((option) => option.alias?.includes(`--${JSON_OPTION}`));
|
|
35
35
|
if (claimed) {
|
|
36
36
|
throw new RunaError(`A command with format already has --${JSON_OPTION}. Rename its option.`, {
|
|
37
|
-
code:
|
|
37
|
+
code: ERROR_CODES.OPTION_COLLISION,
|
|
38
38
|
exitCode: 1,
|
|
39
39
|
});
|
|
40
40
|
}
|