incur 0.1.6 → 0.1.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.
- package/README.md +94 -0
- package/SKILL.md +114 -0
- package/dist/Cli.d.ts +33 -17
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +49 -2
- package/dist/Cli.js.map +1 -1
- package/dist/Skill.d.ts.map +1 -1
- package/dist/Skill.js.map +1 -1
- package/dist/SyncSkills.d.ts.map +1 -1
- package/dist/SyncSkills.js.map +1 -1
- package/dist/bin.d.ts +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/agents.d.ts.map +1 -1
- package/dist/internal/agents.js +151 -27
- package/dist/internal/agents.js.map +1 -1
- package/dist/middleware.d.ts +20 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +5 -0
- package/dist/middleware.js.map +1 -0
- package/package.json +1 -1
- package/src/Cli.test-d.ts +56 -1
- package/src/Cli.test.ts +237 -0
- package/src/Cli.ts +130 -35
- package/src/Skill.test.ts +3 -1
- package/src/Skill.ts +2 -1
- package/src/SyncSkills.ts +1 -4
- package/src/e2e.test.ts +169 -0
- package/src/index.ts +2 -0
- package/src/internal/agents.ts +153 -33
- package/src/middleware.ts +30 -0
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
- [**Inferred types**](#inferred-types): generic type flow from schemas to `run` callbacks with zero manual annotations
|
|
22
22
|
- [**Global options**](#global-options): `--format`, `--json`, `--verbose`, `--help`, `--version` on every CLI for free
|
|
23
23
|
- [**Light API surface**](#light-api-surface): `Cli.create()`, `.command()`, `.serve()` – that's it
|
|
24
|
+
- [**Middleware**](#middleware): composable before/after hooks with typed dependency injection via `cli.use()`
|
|
24
25
|
|
|
25
26
|
## Quickprompt
|
|
26
27
|
|
|
@@ -484,6 +485,99 @@ cli.command('deploy', {
|
|
|
484
485
|
})
|
|
485
486
|
```
|
|
486
487
|
|
|
488
|
+
### Middleware
|
|
489
|
+
|
|
490
|
+
Register composable before/after hooks with `cli.use()`. Middleware executes in registration order, onion-style – each calls `await next()` to proceed to the next middleware or the command handler.
|
|
491
|
+
|
|
492
|
+
```ts
|
|
493
|
+
const cli = Cli.create('deploy-cli', { description: 'Deploy tools' })
|
|
494
|
+
.use(async (c, next) => {
|
|
495
|
+
const start = Date.now()
|
|
496
|
+
await next()
|
|
497
|
+
console.log(`took ${Date.now() - start}ms`)
|
|
498
|
+
})
|
|
499
|
+
.command('deploy', {
|
|
500
|
+
run() {
|
|
501
|
+
return { deployed: true }
|
|
502
|
+
},
|
|
503
|
+
})
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
```sh
|
|
507
|
+
$ deploy-cli deploy
|
|
508
|
+
# → deployed: true
|
|
509
|
+
# took 12ms
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
Per-command middleware runs after root and group middleware, and only for that command:
|
|
513
|
+
|
|
514
|
+
```ts
|
|
515
|
+
import { Cli, middleware, z } from 'incur'
|
|
516
|
+
|
|
517
|
+
const cli = Cli.create('my-cli', {
|
|
518
|
+
description: 'My CLI',
|
|
519
|
+
vars: z.object({ user: z.custom<User>() }),
|
|
520
|
+
})
|
|
521
|
+
|
|
522
|
+
const requireAuth = middleware<typeof cli.vars>((c, next) => {
|
|
523
|
+
if (!c.var.user) throw new Error('must be logged in')
|
|
524
|
+
return next()
|
|
525
|
+
})
|
|
526
|
+
|
|
527
|
+
cli.command('deploy', {
|
|
528
|
+
middleware: [requireAuth],
|
|
529
|
+
run() {
|
|
530
|
+
return { deployed: true }
|
|
531
|
+
},
|
|
532
|
+
})
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
```sh
|
|
536
|
+
$ my-cli deploy
|
|
537
|
+
# Error: must be logged in
|
|
538
|
+
|
|
539
|
+
$ my-cli other-cmd
|
|
540
|
+
# per-command middleware does not run
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
### Variables
|
|
544
|
+
|
|
545
|
+
Declare a `vars` schema on `create()` to enable typed variables. Middleware sets them with `c.set()`, and both middleware and command handlers read them via `c.var`. Use `.default()` for vars that don't need middleware:
|
|
546
|
+
|
|
547
|
+
```ts
|
|
548
|
+
type User = { id: string; name: string }
|
|
549
|
+
|
|
550
|
+
const cli = Cli.create('my-cli', {
|
|
551
|
+
description: 'My CLI',
|
|
552
|
+
vars: z.object({
|
|
553
|
+
user: z.custom<User>(),
|
|
554
|
+
requestId: z.string(),
|
|
555
|
+
debug: z.boolean().default(true),
|
|
556
|
+
}),
|
|
557
|
+
})
|
|
558
|
+
|
|
559
|
+
cli.use(async (c, next) => {
|
|
560
|
+
c.set('user', await authenticate())
|
|
561
|
+
c.set('requestId', crypto.randomUUID())
|
|
562
|
+
await next()
|
|
563
|
+
})
|
|
564
|
+
|
|
565
|
+
cli.command('whoami', {
|
|
566
|
+
run(c) {
|
|
567
|
+
return { user: c.var.user, requestId: c.var.requestId, debug: c.var.debug }
|
|
568
|
+
},
|
|
569
|
+
})
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
```sh
|
|
573
|
+
$ my-cli whoami
|
|
574
|
+
# → user:
|
|
575
|
+
# → id: u_123
|
|
576
|
+
# → name: Alice
|
|
577
|
+
# → requestId: 550e8400-e29b-41d4-a716-446655440000
|
|
578
|
+
# → debug: true
|
|
579
|
+
```
|
|
580
|
+
|
|
487
581
|
### Global options
|
|
488
582
|
|
|
489
583
|
Every incur CLI includes these flags automatically:
|
package/SKILL.md
CHANGED
|
@@ -588,6 +588,120 @@ sub.command('sync', { run: () => ({ synced: true }) }) // inherits agent-only
|
|
|
588
588
|
sub.command('status', { outputPolicy: 'all', run: () => ({}) }) // overrides
|
|
589
589
|
```
|
|
590
590
|
|
|
591
|
+
## Middleware
|
|
592
|
+
|
|
593
|
+
Register composable before/after hooks with `cli.use()`. Middleware executes in registration order, onion-style. Each calls `await next()` to proceed.
|
|
594
|
+
|
|
595
|
+
```ts
|
|
596
|
+
const cli = Cli.create('deploy-cli', { description: 'Deploy tools' })
|
|
597
|
+
.use(async (c, next) => {
|
|
598
|
+
const start = Date.now()
|
|
599
|
+
await next()
|
|
600
|
+
console.log(`took ${Date.now() - start}ms`)
|
|
601
|
+
})
|
|
602
|
+
.command('deploy', {
|
|
603
|
+
run() {
|
|
604
|
+
return { deployed: true }
|
|
605
|
+
},
|
|
606
|
+
})
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
```sh
|
|
610
|
+
$ deploy-cli deploy
|
|
611
|
+
# → deployed: true
|
|
612
|
+
# took 12ms
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
Middleware on a sub-CLI only applies to its commands:
|
|
616
|
+
|
|
617
|
+
```ts
|
|
618
|
+
const admin = Cli.create('admin', { description: 'Admin commands' })
|
|
619
|
+
.use(async (c, next) => {
|
|
620
|
+
if (!isAdmin()) throw new Error('forbidden')
|
|
621
|
+
await next()
|
|
622
|
+
})
|
|
623
|
+
.command('reset', { run: () => ({ reset: true }) })
|
|
624
|
+
|
|
625
|
+
cli.command(admin) // middleware only runs for `my-cli admin reset`
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
```sh
|
|
629
|
+
$ my-cli admin reset
|
|
630
|
+
# → reset: true
|
|
631
|
+
|
|
632
|
+
$ my-cli other-cmd
|
|
633
|
+
# middleware does not run
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
Per-command middleware runs after root and group middleware, and only for that command:
|
|
637
|
+
|
|
638
|
+
```ts
|
|
639
|
+
import { Cli, middleware, z } from 'incur'
|
|
640
|
+
|
|
641
|
+
const cli = Cli.create('my-cli', {
|
|
642
|
+
description: 'My CLI',
|
|
643
|
+
vars: z.object({ user: z.custom<{ id: string }>() }),
|
|
644
|
+
})
|
|
645
|
+
|
|
646
|
+
const requireAuth = middleware<typeof cli.vars>((c, next) => {
|
|
647
|
+
if (!c.var.user) throw new Error('must be logged in')
|
|
648
|
+
return next()
|
|
649
|
+
})
|
|
650
|
+
|
|
651
|
+
cli.command('deploy', {
|
|
652
|
+
middleware: [requireAuth],
|
|
653
|
+
run() {
|
|
654
|
+
return { deployed: true }
|
|
655
|
+
},
|
|
656
|
+
})
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
```sh
|
|
660
|
+
$ my-cli deploy
|
|
661
|
+
# Error: must be logged in
|
|
662
|
+
|
|
663
|
+
$ my-cli other-cmd
|
|
664
|
+
# per-command middleware does not run
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
### Vars — typed dependency injection
|
|
668
|
+
|
|
669
|
+
Declare a `vars` schema on `create()` to inject typed variables. Middleware sets them with `c.set()`, handlers read them via `c.var`. Use `.default()` for vars that don't need middleware:
|
|
670
|
+
|
|
671
|
+
```ts
|
|
672
|
+
const cli = Cli.create('my-cli', {
|
|
673
|
+
description: 'My CLI',
|
|
674
|
+
vars: z.object({
|
|
675
|
+
user: z.custom<{ id: string; name: string }>(),
|
|
676
|
+
requestId: z.string(),
|
|
677
|
+
debug: z.boolean().default(false),
|
|
678
|
+
}),
|
|
679
|
+
})
|
|
680
|
+
|
|
681
|
+
cli.use(async (c, next) => {
|
|
682
|
+
c.set('user', await authenticate())
|
|
683
|
+
c.set('requestId', crypto.randomUUID())
|
|
684
|
+
await next()
|
|
685
|
+
})
|
|
686
|
+
|
|
687
|
+
cli.command('whoami', {
|
|
688
|
+
run(c) {
|
|
689
|
+
return { user: c.var.user, requestId: c.var.requestId, debug: c.var.debug }
|
|
690
|
+
},
|
|
691
|
+
})
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
```sh
|
|
695
|
+
$ my-cli whoami
|
|
696
|
+
# → user:
|
|
697
|
+
# → id: u_123
|
|
698
|
+
# → name: Alice
|
|
699
|
+
# → requestId: 550e8400-e29b-41d4-a716-446655440000
|
|
700
|
+
# → debug: false
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
Middleware does **not** run for built-in commands (`--help`, `--llms`, `--mcp`, `mcp add`, `skills add`).
|
|
704
|
+
|
|
591
705
|
## Serving
|
|
592
706
|
|
|
593
707
|
Call `.serve()` to parse `process.argv` and run:
|
package/dist/Cli.d.ts
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import * as Formatter from './Formatter.js';
|
|
3
|
+
import type { Handler as MiddlewareHandler } from './middleware.js';
|
|
4
|
+
export type { MiddlewareHandler };
|
|
3
5
|
import type { Register } from './Register.js';
|
|
4
6
|
/** A CLI application instance. Also used as a command group when mounted on a parent CLI. */
|
|
5
|
-
export type Cli<commands extends CommandsMap = {}> = {
|
|
7
|
+
export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any> | undefined = undefined> = {
|
|
6
8
|
/** Registers a root command or mounts a sub-CLI as a command group. */
|
|
7
9
|
command: {
|
|
8
10
|
/** Registers a command. Returns the CLI instance for chaining. */
|
|
9
|
-
<const name extends string, const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const options extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(name: name, definition: CommandDefinition<args, env, options, output>): Cli<commands & {
|
|
11
|
+
<const name extends string, const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const options extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(name: name, definition: CommandDefinition<args, env, options, output, vars>): Cli<commands & {
|
|
10
12
|
[key in name]: {
|
|
11
13
|
args: InferOutput<args>;
|
|
12
14
|
options: InferOutput<options>;
|
|
13
15
|
};
|
|
14
|
-
}>;
|
|
16
|
+
}, vars>;
|
|
15
17
|
/** Mounts a sub-CLI as a command group. */
|
|
16
|
-
<const name extends string, const sub extends CommandsMap>(cli: Cli<sub> & {
|
|
18
|
+
<const name extends string, const sub extends CommandsMap>(cli: Cli<sub, any> & {
|
|
17
19
|
name: name;
|
|
18
20
|
}): Cli<commands & {
|
|
19
21
|
[key in keyof sub & string as `${name} ${key}`]: sub[key];
|
|
20
|
-
}>;
|
|
22
|
+
}, vars>;
|
|
21
23
|
/** Mounts a root CLI as a single command. */
|
|
22
24
|
<const name extends string, const args extends z.ZodObject<any> | undefined, const opts extends z.ZodObject<any> | undefined>(cli: Root<args, opts> & {
|
|
23
25
|
name: name;
|
|
@@ -26,7 +28,7 @@ export type Cli<commands extends CommandsMap = {}> = {
|
|
|
26
28
|
args: InferOutput<args>;
|
|
27
29
|
options: InferOutput<opts>;
|
|
28
30
|
};
|
|
29
|
-
}>;
|
|
31
|
+
}, vars>;
|
|
30
32
|
};
|
|
31
33
|
/** A short description of the CLI. */
|
|
32
34
|
description?: string | undefined;
|
|
@@ -34,6 +36,10 @@ export type Cli<commands extends CommandsMap = {}> = {
|
|
|
34
36
|
name: string;
|
|
35
37
|
/** Parses argv, runs the matched command, and writes the output envelope to stdout. */
|
|
36
38
|
serve(argv?: string[], options?: serve.Options): Promise<void>;
|
|
39
|
+
/** Registers middleware that runs around every command. */
|
|
40
|
+
use(handler: MiddlewareHandler<vars>): Cli<commands, vars>;
|
|
41
|
+
/** The vars schema, if declared. Use `typeof cli.vars` with `Middleware.create` for typed middleware. */
|
|
42
|
+
vars: vars;
|
|
37
43
|
};
|
|
38
44
|
/** Root CLI — a single command with no subcommands. Carries phantom generics for mounting inference. */
|
|
39
45
|
export type Root<_args extends z.ZodObject<any> | undefined = undefined, _options extends z.ZodObject<any> | undefined = undefined> = Omit<Cli, 'command'>;
|
|
@@ -73,18 +79,18 @@ export type Cta<commands extends CommandsMap = Commands> = ([keyof commands] ext
|
|
|
73
79
|
description?: string | undefined;
|
|
74
80
|
});
|
|
75
81
|
/** Creates a CLI with a root handler. Can still register subcommands which take precedence. */
|
|
76
|
-
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(name: string, definition: create.Options<args, env, opts, output> & {
|
|
82
|
+
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined, const vars extends z.ZodObject<any> | undefined = undefined>(name: string, definition: create.Options<args, env, opts, output, vars> & {
|
|
77
83
|
run: Function;
|
|
78
84
|
}): Cli<{
|
|
79
85
|
[key in typeof name]: {
|
|
80
86
|
args: InferOutput<args>;
|
|
81
87
|
options: InferOutput<opts>;
|
|
82
88
|
};
|
|
83
|
-
}>;
|
|
89
|
+
}, vars>;
|
|
84
90
|
/** Creates a router CLI that registers subcommands. */
|
|
85
|
-
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(name: string, definition?: create.Options<args, env, opts, output>): Cli
|
|
91
|
+
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined, const vars extends z.ZodObject<any> | undefined = undefined>(name: string, definition?: create.Options<args, env, opts, output, vars>): Cli<{}, vars>;
|
|
86
92
|
/** Creates a CLI with a root handler from a single options object. Can still register subcommands. */
|
|
87
|
-
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(definition: create.Options<args, env, opts, output> & {
|
|
93
|
+
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined, const vars extends z.ZodObject<any> | undefined = undefined>(definition: create.Options<args, env, opts, output, vars> & {
|
|
88
94
|
name: string;
|
|
89
95
|
run: Function;
|
|
90
96
|
}): Cli<{
|
|
@@ -92,14 +98,14 @@ export declare function create<const args extends z.ZodObject<any> | undefined =
|
|
|
92
98
|
args: InferOutput<args>;
|
|
93
99
|
options: InferOutput<opts>;
|
|
94
100
|
};
|
|
95
|
-
}>;
|
|
101
|
+
}, vars>;
|
|
96
102
|
/** Creates a router CLI from a single options object (e.g. package.json). */
|
|
97
|
-
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined>(definition: create.Options<args, env, opts, output> & {
|
|
103
|
+
export declare function create<const args extends z.ZodObject<any> | undefined = undefined, const env extends z.ZodObject<any> | undefined = undefined, const opts extends z.ZodObject<any> | undefined = undefined, const output extends z.ZodType | undefined = undefined, const vars extends z.ZodObject<any> | undefined = undefined>(definition: create.Options<args, env, opts, output, vars> & {
|
|
98
104
|
name: string;
|
|
99
|
-
}): Cli
|
|
105
|
+
}): Cli<{}, vars>;
|
|
100
106
|
export declare namespace create {
|
|
101
107
|
/** Options for creating a CLI. Provide `run` for a leaf CLI, omit it for a router. */
|
|
102
|
-
type Options<args extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined, options extends z.ZodObject<any> | undefined = undefined, output extends z.ZodType | undefined = undefined> = {
|
|
108
|
+
type Options<args extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined, options extends z.ZodObject<any> | undefined = undefined, output extends z.ZodType | undefined = undefined, vars extends z.ZodObject<any> | undefined = undefined> = {
|
|
103
109
|
/** Map of option names to single-char aliases. */
|
|
104
110
|
alias?: options extends z.ZodObject<any> ? Partial<Record<keyof z.output<options>, string>> : Record<string, string> | undefined;
|
|
105
111
|
/** Zod schema for positional arguments. */
|
|
@@ -127,6 +133,8 @@ export declare namespace create {
|
|
|
127
133
|
outputPolicy?: OutputPolicy | undefined;
|
|
128
134
|
/** Alternative usage patterns shown in help output. */
|
|
129
135
|
usage?: Usage<args, options>[] | undefined;
|
|
136
|
+
/** Zod schema for middleware variables. Keys define variable names, schemas define types and defaults. */
|
|
137
|
+
vars?: vars | undefined;
|
|
130
138
|
/** The root command handler. When provided, creates a leaf CLI with no subcommands. */
|
|
131
139
|
run?: ((context: {
|
|
132
140
|
/** Whether the consumer is an agent (stdout is not a TTY). */
|
|
@@ -147,6 +155,8 @@ export declare namespace create {
|
|
|
147
155
|
cta?: CtaBlock | undefined;
|
|
148
156
|
}) => never;
|
|
149
157
|
options: InferOutput<options>;
|
|
158
|
+
/** Variables set by middleware. */
|
|
159
|
+
var: InferVars<vars>;
|
|
150
160
|
}) => InferReturn<output> | Promise<InferReturn<output>> | AsyncGenerator<InferReturn<output>, unknown, unknown>) | undefined;
|
|
151
161
|
/** Options for the built-in `mcp add` command. */
|
|
152
162
|
mcp?: {
|
|
@@ -194,11 +204,12 @@ export type OutputPolicy = 'agent-only' | 'all';
|
|
|
194
204
|
type InternalGroup = {
|
|
195
205
|
_group: true;
|
|
196
206
|
description?: string | undefined;
|
|
207
|
+
middlewares?: MiddlewareHandler[] | undefined;
|
|
197
208
|
outputPolicy?: OutputPolicy | undefined;
|
|
198
209
|
commands: Map<string, CommandEntry>;
|
|
199
210
|
};
|
|
200
211
|
/** @internal Maps CLI instances to their command maps. */
|
|
201
|
-
export declare const toCommands: WeakMap<Cli<{}>, Map<string, CommandEntry>>;
|
|
212
|
+
export declare const toCommands: WeakMap<Cli<{}, undefined>, Map<string, CommandEntry>>;
|
|
202
213
|
/** @internal A CTA block with a description and list of suggested commands. */
|
|
203
214
|
type CtaBlock<commands extends CommandsMap = Commands> = {
|
|
204
215
|
/** Commands to suggest. */
|
|
@@ -235,8 +246,10 @@ type Usage<args extends z.ZodObject<any> | undefined, options extends z.ZodObjec
|
|
|
235
246
|
type InferOutput<schema extends z.ZodObject<any> | undefined> = schema extends z.ZodObject<any> ? z.output<schema> : {};
|
|
236
247
|
/** @internal Inferred return type for a command handler. */
|
|
237
248
|
type InferReturn<output extends z.ZodType | undefined> = output extends z.ZodType ? z.output<output> : unknown;
|
|
249
|
+
/** @internal Inferred vars type from a Zod schema, or `{}` when no schema is provided. */
|
|
250
|
+
type InferVars<vars extends z.ZodObject<any> | undefined> = vars extends z.ZodObject<any> ? z.output<vars> : {};
|
|
238
251
|
/** @internal Defines a command's schema, handler, and metadata. */
|
|
239
|
-
type CommandDefinition<args extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined, options extends z.ZodObject<any> | undefined = undefined, output extends z.ZodType | undefined = undefined> = {
|
|
252
|
+
type CommandDefinition<args extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined, options extends z.ZodObject<any> | undefined = undefined, output extends z.ZodType | undefined = undefined, vars extends z.ZodObject<any> | undefined = undefined> = {
|
|
240
253
|
/** Map of option names to single-char aliases. */
|
|
241
254
|
alias?: options extends z.ZodObject<any> ? Partial<Record<keyof z.output<options>, string>> : Record<string, string> | undefined;
|
|
242
255
|
/** Zod schema for positional arguments. */
|
|
@@ -264,6 +277,8 @@ type CommandDefinition<args extends z.ZodObject<any> | undefined = undefined, en
|
|
|
264
277
|
* @default 'all'
|
|
265
278
|
*/
|
|
266
279
|
outputPolicy?: OutputPolicy | undefined;
|
|
280
|
+
/** Middleware that runs only for this command, after root and group middleware. */
|
|
281
|
+
middleware?: MiddlewareHandler<vars>[] | undefined;
|
|
267
282
|
/** Alternative usage patterns shown in help output. */
|
|
268
283
|
usage?: Usage<args, options>[] | undefined;
|
|
269
284
|
/** The command handler. Return a value for single-return, or use `async *run` to stream chunks. */
|
|
@@ -286,7 +301,8 @@ type CommandDefinition<args extends z.ZodObject<any> | undefined = undefined, en
|
|
|
286
301
|
cta?: CtaBlock | undefined;
|
|
287
302
|
}) => never;
|
|
288
303
|
options: InferOutput<options>;
|
|
304
|
+
/** Variables set by middleware. */
|
|
305
|
+
var: InferVars<vars>;
|
|
289
306
|
}): InferReturn<output> | Promise<InferReturn<output>> | AsyncGenerator<InferReturn<output>, unknown, unknown>;
|
|
290
307
|
};
|
|
291
|
-
export {};
|
|
292
308
|
//# sourceMappingURL=Cli.d.ts.map
|
package/dist/Cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAM7C,6FAA6F;AAC7F,MAAM,MAAM,GAAG,CAAC,QAAQ,SAAS,WAAW,GAAG,EAAE,IAAI;IACnD,uEAAuE;IACvE,OAAO,EAAE;QACP,kEAAkE;QAClE,CACE,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC1D,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC9D,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAEtD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,GACxD,GAAG,CAAC,QAAQ,GAAG;aAAG,GAAG,IAAI,IAAI,GAAG;gBAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;aAAE;SAAE,CAAC,CAAA;QAChG,2CAA2C;QAC3C,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,WAAW,EACvD,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG;YAAE,IAAI,EAAE,IAAI,CAAA;SAAE,GAC7B,GAAG,CAAC,QAAQ,GAAG;aAAG,GAAG,IAAI,MAAM,GAAG,GAAG,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;SAAE,CAAC,CAAA;QAChF,6CAA6C;QAC7C,CACE,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/C,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EAE/C,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YAAE,IAAI,EAAE,IAAI,CAAA;SAAE,GACrC,GAAG,CAAC,QAAQ,GAAG;aAAG,GAAG,IAAI,IAAI,GAAG;gBAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;aAAE;SAAE,CAAC,CAAA;KAC9F,CAAA;IACD,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED,wGAAwG;AACxG,MAAM,MAAM,IAAI,CACd,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACtD,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,IACvD,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AAExB,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,QAAQ,SAAS;IAAE,QAAQ,EAAE,MAAM,QAAQ,SAAS,WAAW,CAAA;CAAE,GACpF,QAAQ,GACR,EAAE,CAAA;AAEN,sBAAsB;AACtB,MAAM,MAAM,GAAG,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IACnD,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GACvF,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAC7B;IACE,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC1C,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC9C,GAEG;KACG,IAAI,IAAI,MAAM,QAAQ,GAAG,MAAM,GAAG;QACjC,oDAAoD;QACpD,IAAI,CAAC,EACD;aAAG,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;SAAE,GAC9E,SAAS,CAAA;QACb,+BAA+B;QAC/B,OAAO,EAAE,IAAI,CAAA;QACb,oDAAoD;QACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,sDAAsD;QACtD,OAAO,CAAC,EACJ;aACG,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAC9B,IAAI;SACT,GACD,SAAS,CAAA;KACd;CACF,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAC1B;IACE,+BAA+B;IAC/B,OAAO,EAAE,MAAM,GAAG,EAAE,CAAA;IACpB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAC,CAAA;AAEd,+FAA+F;AAC/F,wBAAgB,MAAM,CACpB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC1D,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAEtD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAA;CAAE,GACtE,GAAG,CAAC;KAAG,GAAG,IAAI,OAAO,IAAI,GAAG;QAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;KAAE;CAAE,CAAC,CAAA;AACzF,uDAAuD;AACvD,wBAAgB,MAAM,CACpB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC1D,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACtD,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAA;AAC1E,sGAAsG;AACtG,wBAAgB,MAAM,CACpB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC1D,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAEtD,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,GACpF,GAAG,CAAC;KACJ,GAAG,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;KAAE;CAC9F,CAAC,CAAA;AACF,6EAA6E;AAC7E,wBAAgB,MAAM,CACpB,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC1D,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAC3D,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACtD,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAA;AAyD9E,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,sFAAsF;IACtF,KAAK,OAAO,CACV,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACrD,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACpD,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C;QACF,kDAAkD;QAClD,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QACtC,2CAA2C;QAC3C,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;QACvB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,4FAA4F;QAC5F,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,uCAAuC;QACvC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAA;QAC/C,mEAAmE;QACnE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAA;QACrC,0CAA0C;QAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,uCAAuC;QACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;QACvC,uDAAuD;QACvD,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAA;QAC1C,uFAAuF;QACvF,GAAG,CAAC,EACA,CAAC,CAAC,OAAO,EAAE;YACV,8DAA8D;YAC9D,KAAK,EAAE,OAAO,CAAA;YACd,4BAA4B;YAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;YACvB,oCAAoC;YACpC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;YACrB,iDAAiD;YACjD,KAAK,EAAE,CAAC,OAAO,EAAE;gBACf,IAAI,EAAE,MAAM,CAAA;gBACZ,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;gBAC1B,OAAO,EAAE,MAAM,CAAA;gBACf,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;aAChC,KAAK,KAAK,CAAA;YACX,kEAAkE;YAClE,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;aAAE,KAAK,KAAK,CAAA;YAC/E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;SAC9B,KACI,WAAW,CAAC,MAAM,CAAC,GACnB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAC1D,SAAS,CAAA;QACb,kDAAkD;QAClD,GAAG,CAAC,EACA;YACE,4EAA4E;YAC5E,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;YAC7B,8FAA8F;YAC9F,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC7B,GACD,SAAS,CAAA;QACb,qDAAqD;QACrD,IAAI,CAAC,EACD;YACE,8IAA8I;YAC9I,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YACxB,wFAAwF;YACxF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC1B,4GAA4G;YAC5G,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;YAC9B,kEAAkE;YAClE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;SACnC,GACD,SAAS,CAAA;QACb,8BAA8B;QAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,yDAAyD;IACzD,KAAK,OAAO,GAAG;QACb,uEAAuE;QACvE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;QACpD,yDAAyD;QACzD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;QAC3C,kEAAkE;QAClE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAC3C,CAAA;CACF;AAwpBD,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CACpE,CAAA;AAED,qFAAqF;AACrF,KAAK,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAA;AAEpE,mJAAmJ;AACnJ,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,KAAK,CAAA;AAE/C,oDAAoD;AACpD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,IAAI,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACvC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACpC,CAAA;AAOD,0DAA0D;AAC1D,eAAO,MAAM,UAAU,6CAAgD,CAAA;AA2BvE,+EAA+E;AAC/E,KAAK,QAAQ,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IAAI;IACvD,2BAA2B;IAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AA6VD,qHAAqH;AACrH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,GACxC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,CAWzD;AA0BD,2FAA2F;AAC3F,KAAK,OAAO,CACV,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EACzC,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,IAC1C;IACF,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAA;IACtF,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAA;CAChG,CAAA;AAED,sDAAsD;AACtD,KAAK,KAAK,CACR,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EACzC,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,IAC1C;IACF,uEAAuE;IACvE,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,GACvD,SAAS,CAAA;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,GAC1D,SAAS,CAAA;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED,+FAA+F;AAC/F,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,IAC1D,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;AAEzD,4DAA4D;AAC5D,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,IAAI,MAAM,SAAS,CAAC,CAAC,OAAO,GAC7E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAChB,OAAO,CAAA;AA4CX,mEAAmE;AACnE,KAAK,iBAAiB,CACpB,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACrD,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACpD,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C;IACF,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,4FAA4F;IAC5F,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAA;IAC/C,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAA;IACrC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACvC,uDAAuD;IACvD,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAA;IAC1C,mGAAmG;IACnG,GAAG,CAAC,OAAO,EAAE;QACX,8DAA8D;QAC9D,KAAK,EAAE,OAAO,CAAA;QACd,4BAA4B;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QACvB,oCAAoC;QACpC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;QACrB,iDAAiD;QACjD,KAAK,EAAE,CAAC,OAAO,EAAE;YACf,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;YAC1B,OAAO,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;SAChC,KAAK,KAAK,CAAA;QACX,kEAAkE;QAClE,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;SAAE,KAAK,KAAK,CAAA;QAC/E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;KAC9B,GACG,WAAW,CAAC,MAAM,CAAC,GACnB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;CAC1D,CAAA"}
|
|
1
|
+
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
|
package/dist/Cli.js
CHANGED
|
@@ -13,9 +13,11 @@ export function create(nameOrDefinition, definition) {
|
|
|
13
13
|
const def = typeof nameOrDefinition === 'string' ? (definition ?? {}) : nameOrDefinition;
|
|
14
14
|
const rootDef = 'run' in def ? def : undefined;
|
|
15
15
|
const commands = new Map();
|
|
16
|
+
const middlewares = [];
|
|
16
17
|
const cli = {
|
|
17
18
|
name,
|
|
18
19
|
description: def.description,
|
|
20
|
+
vars: def.vars,
|
|
19
21
|
command(nameOrCli, def) {
|
|
20
22
|
if (typeof nameOrCli === 'string') {
|
|
21
23
|
commands.set(nameOrCli, def);
|
|
@@ -29,11 +31,13 @@ export function create(nameOrDefinition, definition) {
|
|
|
29
31
|
const sub = nameOrCli;
|
|
30
32
|
const subCommands = toCommands.get(sub);
|
|
31
33
|
const subOutputPolicy = toOutputPolicy.get(sub);
|
|
34
|
+
const subMiddlewares = toMiddlewares.get(sub);
|
|
32
35
|
commands.set(sub.name, {
|
|
33
36
|
_group: true,
|
|
34
37
|
description: sub.description,
|
|
35
38
|
commands: subCommands,
|
|
36
39
|
...(subOutputPolicy ? { outputPolicy: subOutputPolicy } : undefined),
|
|
40
|
+
...(subMiddlewares?.length ? { middlewares: subMiddlewares } : undefined),
|
|
37
41
|
});
|
|
38
42
|
return cli;
|
|
39
43
|
},
|
|
@@ -43,17 +47,24 @@ export function create(nameOrDefinition, definition) {
|
|
|
43
47
|
description: def.description,
|
|
44
48
|
format: def.format,
|
|
45
49
|
mcp: def.mcp,
|
|
50
|
+
middlewares,
|
|
46
51
|
outputPolicy: def.outputPolicy,
|
|
47
52
|
rootCommand: rootDef,
|
|
48
53
|
sync: def.sync,
|
|
54
|
+
vars: def.vars,
|
|
49
55
|
version: def.version,
|
|
50
56
|
});
|
|
51
57
|
},
|
|
58
|
+
use(handler) {
|
|
59
|
+
middlewares.push(handler);
|
|
60
|
+
return cli;
|
|
61
|
+
},
|
|
52
62
|
};
|
|
53
63
|
if (rootDef)
|
|
54
64
|
toRootDefinition.set(cli, rootDef);
|
|
55
65
|
if (def.outputPolicy)
|
|
56
66
|
toOutputPolicy.set(cli, def.outputPolicy);
|
|
67
|
+
toMiddlewares.set(cli, middlewares);
|
|
57
68
|
toCommands.set(cli, commands);
|
|
58
69
|
return cli;
|
|
59
70
|
}
|
|
@@ -339,7 +350,7 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
339
350
|
? { command: options.rootCommand, path: name, rest: filtered }
|
|
340
351
|
: resolved;
|
|
341
352
|
// Resolve outputPolicy: command/group → CLI-level → default ('all')
|
|
342
|
-
const effectiveOutputPolicy = ('
|
|
353
|
+
const effectiveOutputPolicy = ('outputPolicy' in resolved && resolved.outputPolicy) || options.outputPolicy;
|
|
343
354
|
const renderOutput = !(human && !formatExplicit && effectiveOutputPolicy === 'agent-only');
|
|
344
355
|
function write(output) {
|
|
345
356
|
const cta = output.meta.cta;
|
|
@@ -384,7 +395,17 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
384
395
|
return;
|
|
385
396
|
}
|
|
386
397
|
const { command, path, rest } = effective;
|
|
387
|
-
|
|
398
|
+
// Collect middleware: root CLI + groups traversed + per-command
|
|
399
|
+
const allMiddleware = [
|
|
400
|
+
...(options.middlewares ?? []),
|
|
401
|
+
...('middlewares' in resolved
|
|
402
|
+
? (resolved.middlewares ?? [])
|
|
403
|
+
: []),
|
|
404
|
+
...(command.middleware ?? []),
|
|
405
|
+
];
|
|
406
|
+
// Initialize vars from schema defaults
|
|
407
|
+
const varsMap = options.vars ? options.vars.parse({}) : {};
|
|
408
|
+
const runCommand = async () => {
|
|
388
409
|
const { args, options: parsedOptions } = Parser.parse(rest, {
|
|
389
410
|
alias: command.alias,
|
|
390
411
|
args: command.args,
|
|
@@ -405,6 +426,7 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
405
426
|
options: parsedOptions,
|
|
406
427
|
ok: okFn,
|
|
407
428
|
error: errorFn,
|
|
429
|
+
var: varsMap,
|
|
408
430
|
});
|
|
409
431
|
// Streaming path — async generator
|
|
410
432
|
if (isAsyncGenerator(result)) {
|
|
@@ -464,6 +486,25 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
464
486
|
},
|
|
465
487
|
});
|
|
466
488
|
}
|
|
489
|
+
};
|
|
490
|
+
try {
|
|
491
|
+
if (allMiddleware.length > 0) {
|
|
492
|
+
const mwCtx = {
|
|
493
|
+
agent: !human,
|
|
494
|
+
command: path,
|
|
495
|
+
set(key, value) {
|
|
496
|
+
varsMap[key] = value;
|
|
497
|
+
},
|
|
498
|
+
var: varsMap,
|
|
499
|
+
};
|
|
500
|
+
const composed = allMiddleware.reduceRight((next, mw) => async () => {
|
|
501
|
+
await mw(mwCtx, next);
|
|
502
|
+
}, runCommand);
|
|
503
|
+
await composed();
|
|
504
|
+
}
|
|
505
|
+
else {
|
|
506
|
+
await runCommand();
|
|
507
|
+
}
|
|
467
508
|
}
|
|
468
509
|
catch (error) {
|
|
469
510
|
const errorOutput = {
|
|
@@ -520,9 +561,12 @@ function resolveCommand(commands, tokens) {
|
|
|
520
561
|
const path = [first];
|
|
521
562
|
let remaining = rest;
|
|
522
563
|
let inheritedOutputPolicy;
|
|
564
|
+
const collectedMiddlewares = [];
|
|
523
565
|
while (isGroup(entry)) {
|
|
524
566
|
if (entry.outputPolicy)
|
|
525
567
|
inheritedOutputPolicy = entry.outputPolicy;
|
|
568
|
+
if (entry.middlewares)
|
|
569
|
+
collectedMiddlewares.push(...entry.middlewares);
|
|
526
570
|
const next = remaining[0];
|
|
527
571
|
if (!next)
|
|
528
572
|
return {
|
|
@@ -542,6 +586,7 @@ function resolveCommand(commands, tokens) {
|
|
|
542
586
|
const outputPolicy = entry.outputPolicy ?? inheritedOutputPolicy;
|
|
543
587
|
return {
|
|
544
588
|
command: entry,
|
|
589
|
+
middlewares: collectedMiddlewares,
|
|
545
590
|
path: path.join(' '),
|
|
546
591
|
rest: remaining,
|
|
547
592
|
...(outputPolicy ? { outputPolicy } : undefined),
|
|
@@ -600,6 +645,8 @@ function isGroup(entry) {
|
|
|
600
645
|
}
|
|
601
646
|
/** @internal Maps CLI instances to their command maps. */
|
|
602
647
|
export const toCommands = new WeakMap();
|
|
648
|
+
/** @internal Maps CLI instances to their middleware arrays. */
|
|
649
|
+
const toMiddlewares = new WeakMap();
|
|
603
650
|
/** @internal Maps root CLI instances to their command definitions. */
|
|
604
651
|
const toRootDefinition = new WeakMap();
|
|
605
652
|
/** @internal Maps CLI instances to their output policy. */
|