incur 0.3.2 → 0.4.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/README.md +22 -26
- package/SKILL.md +17 -20
- package/dist/Cli.d.ts +17 -15
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +144 -24
- package/dist/Cli.js.map +1 -1
- package/dist/Fetch.d.ts.map +1 -1
- package/dist/Fetch.js.map +1 -1
- package/dist/Filter.js.map +1 -1
- package/dist/Help.js +4 -4
- package/dist/Help.js.map +1 -1
- package/dist/Openapi.d.ts.map +1 -1
- package/dist/Openapi.js +10 -2
- package/dist/Openapi.js.map +1 -1
- package/dist/Skill.d.ts.map +1 -1
- package/dist/Skill.js.map +1 -1
- package/dist/bin.d.ts +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/middleware.d.ts +8 -4
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +1 -1
- package/dist/middleware.js.map +1 -1
- package/package.json +1 -1
- package/src/Cli.test-d.ts +37 -0
- package/src/Cli.test.ts +31 -24
- package/src/Cli.ts +260 -76
- package/src/Fetch.test.ts +3 -13
- package/src/Fetch.ts +1 -2
- package/src/Filter.ts +7 -3
- package/src/Help.test.ts +2 -2
- package/src/Help.ts +2 -2
- package/src/Openapi.test.ts +89 -32
- package/src/Openapi.ts +15 -6
- package/src/Skill.test.ts +1 -3
- package/src/Skill.ts +9 -2
- package/src/e2e.test.ts +74 -34
- package/src/middleware.ts +12 -3
package/README.md
CHANGED
|
@@ -271,7 +271,7 @@ const app = new Hono()
|
|
|
271
271
|
|
|
272
272
|
Cli.create('my-cli', {
|
|
273
273
|
description: 'My CLI',
|
|
274
|
-
fetch: app.fetch,
|
|
274
|
+
fetch: app.fetch,
|
|
275
275
|
// OR
|
|
276
276
|
// fetch: bunApp.fetch
|
|
277
277
|
// fetch: denoApp.fetch
|
|
@@ -302,10 +302,7 @@ const app = new Hono()
|
|
|
302
302
|
.get('/users', (c) => c.json({ users: [{ id: 1, name: 'Alice' }] }))
|
|
303
303
|
.post('/users', async (c) => c.json({ created: true, ...(await c.req.json()) }, 201))
|
|
304
304
|
|
|
305
|
-
Cli
|
|
306
|
-
.create('my-cli', { description: 'My CLI' })
|
|
307
|
-
.command('users', { fetch: app.fetch })
|
|
308
|
-
.serve()
|
|
305
|
+
Cli.create('my-cli', { description: 'My CLI' }).command('users', { fetch: app.fetch }).serve()
|
|
309
306
|
```
|
|
310
307
|
|
|
311
308
|
#### OpenAPI
|
|
@@ -347,21 +344,20 @@ The inverse of mounting — expose your CLI as a standard Fetch API handler with
|
|
|
347
344
|
```ts
|
|
348
345
|
import { Cli, z } from 'incur'
|
|
349
346
|
|
|
350
|
-
const cli = Cli.create('my-cli', { version: '1.0.0' })
|
|
351
|
-
.
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
})
|
|
347
|
+
const cli = Cli.create('my-cli', { version: '1.0.0' }).command('users', {
|
|
348
|
+
args: z.object({ id: z.coerce.number().optional() }),
|
|
349
|
+
options: z.object({ limit: z.coerce.number().default(10) }),
|
|
350
|
+
run(c) {
|
|
351
|
+
if (c.args.id) return { id: c.args.id, name: 'Alice' }
|
|
352
|
+
return { users: [{ id: 1, name: 'Alice' }], limit: c.options.limit }
|
|
353
|
+
},
|
|
354
|
+
})
|
|
359
355
|
|
|
360
356
|
Bun.serve(cli) // Bun
|
|
361
357
|
Deno.serve(cli.fetch) // Deno
|
|
362
358
|
export default cli // Cloudflare Workers
|
|
363
|
-
app.all('*', c => cli.fetch(c.request)) // Elysia
|
|
364
|
-
app.use(c => cli.fetch(c.req.raw)) // Hono
|
|
359
|
+
app.all('*', (c) => cli.fetch(c.request)) // Elysia
|
|
360
|
+
app.use((c) => cli.fetch(c.req.raw)) // Hono
|
|
365
361
|
export const GET = cli.fetch // Next.js
|
|
366
362
|
export const POST = cli.fetch // Next.js
|
|
367
363
|
```
|
|
@@ -807,18 +803,18 @@ Every incur CLI includes these flags automatically:
|
|
|
807
803
|
|
|
808
804
|
| Flag | Description |
|
|
809
805
|
| ------------------------ | ------------------------------------------------------ |
|
|
810
|
-
| `--help`, `-h` | Show help for the CLI or a specific command
|
|
806
|
+
| `--help`, `-h` | Show help for the CLI or a specific command |
|
|
811
807
|
| `--version` | Print CLI version |
|
|
812
|
-
| `--llms` | Output agent-readable command manifest
|
|
813
|
-
| `--mcp` | Start as an MCP stdio server
|
|
814
|
-
| `--json` | Shorthand for `--format json`
|
|
815
|
-
| `--format <fmt>` | Output format: `toon`, `json`, `yaml`, `md`
|
|
808
|
+
| `--llms` | Output agent-readable command manifest |
|
|
809
|
+
| `--mcp` | Start as an MCP stdio server |
|
|
810
|
+
| `--json` | Shorthand for `--format json` |
|
|
811
|
+
| `--format <fmt>` | Output format: `toon`, `json`, `yaml`, `md` |
|
|
816
812
|
| `--filter-output <keys>` | Filter output by key paths (e.g. `foo,bar.baz,a[0,3]`) |
|
|
817
|
-
| `--schema` | Show JSON Schema for a command's args, options, output
|
|
818
|
-
| `--token-count` | Print token count of output instead of output
|
|
819
|
-
| `--token-limit <n>` | Limit output to n tokens (for pagination)
|
|
820
|
-
| `--token-offset <n>` | Skip first n tokens of output (for pagination)
|
|
821
|
-
| `--verbose` | Include full envelope (`ok`, `data`, `meta`)
|
|
813
|
+
| `--schema` | Show JSON Schema for a command's args, options, output |
|
|
814
|
+
| `--token-count` | Print token count of output instead of output |
|
|
815
|
+
| `--token-limit <n>` | Limit output to n tokens (for pagination) |
|
|
816
|
+
| `--token-offset <n>` | Skip first n tokens of output (for pagination) |
|
|
817
|
+
| `--verbose` | Include full envelope (`ok`, `data`, `meta`) |
|
|
822
818
|
|
|
823
819
|
### Filtering output
|
|
824
820
|
|
package/SKILL.md
CHANGED
|
@@ -187,9 +187,7 @@ const app = new Hono()
|
|
|
187
187
|
app.get('/users', (c) => c.json({ users: [{ id: 1, name: 'Alice' }] }))
|
|
188
188
|
app.post('/users', async (c) => c.json({ created: true, ...(await c.req.json()) }, 201))
|
|
189
189
|
|
|
190
|
-
Cli.create('my-cli', { description: 'My CLI' })
|
|
191
|
-
.command('api', { fetch: app.fetch })
|
|
192
|
-
.serve()
|
|
190
|
+
Cli.create('my-cli', { description: 'My CLI' }).command('api', { fetch: app.fetch }).serve()
|
|
193
191
|
```
|
|
194
192
|
|
|
195
193
|
```sh
|
|
@@ -224,35 +222,34 @@ Expose your CLI as a standard Fetch API handler with `cli.fetch`. Works with Bun
|
|
|
224
222
|
```ts
|
|
225
223
|
import { Cli, z } from 'incur'
|
|
226
224
|
|
|
227
|
-
const cli = Cli.create('my-cli', { version: '1.0.0' })
|
|
228
|
-
.
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
})
|
|
225
|
+
const cli = Cli.create('my-cli', { version: '1.0.0' }).command('users', {
|
|
226
|
+
args: z.object({ id: z.coerce.number().optional() }),
|
|
227
|
+
options: z.object({ limit: z.coerce.number().default(10) }),
|
|
228
|
+
run(c) {
|
|
229
|
+
if (c.args.id) return { id: c.args.id, name: 'Alice' }
|
|
230
|
+
return { users: [{ id: 1, name: 'Alice' }], limit: c.options.limit }
|
|
231
|
+
},
|
|
232
|
+
})
|
|
236
233
|
```
|
|
237
234
|
|
|
238
235
|
```ts
|
|
239
236
|
Bun.serve(cli) // Bun
|
|
240
237
|
Deno.serve(cli.fetch) // Deno
|
|
241
238
|
export default cli // Cloudflare Workers
|
|
242
|
-
app.all('*', c => cli.fetch(c.request)) // Elysia
|
|
243
|
-
app.use(c => cli.fetch(c.req.raw)) // Hono
|
|
239
|
+
app.all('*', (c) => cli.fetch(c.request)) // Elysia
|
|
240
|
+
app.use((c) => cli.fetch(c.req.raw)) // Hono
|
|
244
241
|
export const GET = cli.fetch // Next.js
|
|
245
242
|
export const POST = cli.fetch
|
|
246
243
|
```
|
|
247
244
|
|
|
248
245
|
Request mapping:
|
|
249
246
|
|
|
250
|
-
| HTTP
|
|
251
|
-
|
|
252
|
-
| `GET /users?limit=5`
|
|
253
|
-
| `GET /users/42`
|
|
254
|
-
| `POST /users` with JSON body | `my-cli users --name Bob`
|
|
255
|
-
| `GET /`
|
|
247
|
+
| HTTP | CLI equivalent |
|
|
248
|
+
| ---------------------------- | ---------------------------------- |
|
|
249
|
+
| `GET /users?limit=5` | `my-cli users --limit 5` |
|
|
250
|
+
| `GET /users/42` | `my-cli users 42` (positional arg) |
|
|
251
|
+
| `POST /users` with JSON body | `my-cli users --name Bob` |
|
|
252
|
+
| `GET /` | root command (or 404) |
|
|
256
253
|
|
|
257
254
|
Responses are JSON envelopes: `{ "ok": true, "data": { ... }, "meta": { "command": "users", "duration": "3ms" } }`.
|
|
258
255
|
|
package/dist/Cli.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import * as Openapi from './Openapi.js';
|
|
3
2
|
import * as Formatter from './Formatter.js';
|
|
4
3
|
import type { Handler as MiddlewareHandler } from './middleware.js';
|
|
4
|
+
import * as Openapi from './Openapi.js';
|
|
5
5
|
export type { MiddlewareHandler };
|
|
6
6
|
import type { Register } from './Register.js';
|
|
7
7
|
/** A CLI application instance. Also used as a command group when mounted on a parent CLI. */
|
|
8
|
-
export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined> = {
|
|
8
|
+
export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any> | undefined = undefined, env extends z.ZodObject<any> | undefined = undefined, opts extends z.ZodObject<any> | undefined = undefined> = {
|
|
9
9
|
/** Registers a root command or mounts a sub-CLI as a command group. */
|
|
10
10
|
command: {
|
|
11
11
|
/** Registers a command. Returns the CLI instance for chaining. */
|
|
@@ -14,22 +14,22 @@ export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any>
|
|
|
14
14
|
args: InferOutput<args>;
|
|
15
15
|
options: InferOutput<options>;
|
|
16
16
|
};
|
|
17
|
-
}, vars, env>;
|
|
17
|
+
}, vars, env, opts>;
|
|
18
18
|
/** Mounts a sub-CLI as a command group. */
|
|
19
|
-
<const name extends string, const sub extends CommandsMap>(cli: Cli<sub, any, any> & {
|
|
19
|
+
<const name extends string, const sub extends CommandsMap>(cli: Cli<sub, any, any, any> & {
|
|
20
20
|
name: name;
|
|
21
21
|
}): Cli<commands & {
|
|
22
22
|
[key in keyof sub & string as `${name} ${key}`]: sub[key];
|
|
23
|
-
}, vars, env>;
|
|
23
|
+
}, vars, env, opts>;
|
|
24
24
|
/** Mounts a root CLI as a single command. */
|
|
25
|
-
<const name extends string, const args extends z.ZodObject<any> | undefined, const
|
|
25
|
+
<const name extends string, const args extends z.ZodObject<any> | undefined, const cmdOpts extends z.ZodObject<any> | undefined>(cli: Root<args, cmdOpts> & {
|
|
26
26
|
name: name;
|
|
27
27
|
}): Cli<commands & {
|
|
28
28
|
[key in name]: {
|
|
29
29
|
args: InferOutput<args>;
|
|
30
|
-
options: InferOutput<
|
|
30
|
+
options: InferOutput<cmdOpts>;
|
|
31
31
|
};
|
|
32
|
-
}, vars, env>;
|
|
32
|
+
}, vars, env, opts>;
|
|
33
33
|
/** Mounts a fetch handler as a command, optionally with OpenAPI spec for typed subcommands. */
|
|
34
34
|
<const name extends string>(name: name, definition: {
|
|
35
35
|
basePath?: string | undefined;
|
|
@@ -37,7 +37,7 @@ export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any>
|
|
|
37
37
|
fetch: FetchHandler;
|
|
38
38
|
openapi?: Openapi.OpenAPISpec | undefined;
|
|
39
39
|
outputPolicy?: OutputPolicy | undefined;
|
|
40
|
-
}): Cli<commands, vars, env>;
|
|
40
|
+
}): Cli<commands, vars, env, opts>;
|
|
41
41
|
};
|
|
42
42
|
/** A short description of the CLI. */
|
|
43
43
|
description?: string | undefined;
|
|
@@ -49,8 +49,10 @@ export type Cli<commands extends CommandsMap = {}, vars extends z.ZodObject<any>
|
|
|
49
49
|
fetch(req: Request): Promise<Response>;
|
|
50
50
|
/** Parses argv, runs the matched command, and writes the output envelope to stdout. */
|
|
51
51
|
serve(argv?: string[], options?: serve.Options): Promise<void>;
|
|
52
|
+
/** The options schema, if declared. Use `typeof cli.options` with `middleware<vars, env, options>()` for typed middleware. */
|
|
53
|
+
options: opts;
|
|
52
54
|
/** Registers middleware that runs around every command. */
|
|
53
|
-
use(handler: MiddlewareHandler<vars, env>): Cli<commands, vars, env>;
|
|
55
|
+
use(handler: MiddlewareHandler<vars, env, opts>): Cli<commands, vars, env, opts>;
|
|
54
56
|
/** The vars schema, if declared. Use `typeof cli.vars` with `middleware<vars, env>()` for typed middleware. */
|
|
55
57
|
vars: vars;
|
|
56
58
|
};
|
|
@@ -99,9 +101,9 @@ export declare function create<const args extends z.ZodObject<any> | undefined =
|
|
|
99
101
|
args: InferOutput<args>;
|
|
100
102
|
options: InferOutput<opts>;
|
|
101
103
|
};
|
|
102
|
-
}, vars, env>;
|
|
104
|
+
}, vars, env, opts>;
|
|
103
105
|
/** Creates a router CLI that registers subcommands. */
|
|
104
|
-
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, env>;
|
|
106
|
+
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, env, opts>;
|
|
105
107
|
/** Creates a CLI with a root handler from a single options object. Can still register subcommands. */
|
|
106
108
|
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> & {
|
|
107
109
|
name: string;
|
|
@@ -111,11 +113,11 @@ export declare function create<const args extends z.ZodObject<any> | undefined =
|
|
|
111
113
|
args: InferOutput<args>;
|
|
112
114
|
options: InferOutput<opts>;
|
|
113
115
|
};
|
|
114
|
-
}, vars, env>;
|
|
116
|
+
}, vars, env, opts>;
|
|
115
117
|
/** Creates a router CLI from a single options object (e.g. package.json). */
|
|
116
118
|
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> & {
|
|
117
119
|
name: string;
|
|
118
|
-
}): Cli<{}, vars, env>;
|
|
120
|
+
}): Cli<{}, vars, env, opts>;
|
|
119
121
|
export declare namespace create {
|
|
120
122
|
/** Options for creating a CLI. Provide `run` for a leaf CLI, omit it for a router. */
|
|
121
123
|
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> = {
|
|
@@ -243,7 +245,7 @@ type InternalFetchGateway = {
|
|
|
243
245
|
outputPolicy?: OutputPolicy | undefined;
|
|
244
246
|
};
|
|
245
247
|
/** @internal Maps CLI instances to their command maps. */
|
|
246
|
-
export declare const toCommands: WeakMap<Cli<{}, undefined, undefined>, Map<string, CommandEntry>>;
|
|
248
|
+
export declare const toCommands: WeakMap<Cli<{}, undefined, undefined, undefined>, Map<string, CommandEntry>>;
|
|
247
249
|
/** @internal A CTA block with a description and list of suggested commands. */
|
|
248
250
|
type CtaBlock<commands extends CommandsMap = Commands> = {
|
|
249
251
|
/** Commands to suggest. */
|
package/dist/Cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
|
package/dist/Cli.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { estimateTokenCount, sliceByTokens } from 'tokenx';
|
|
2
2
|
import * as Completions from './Completions.js';
|
|
3
|
-
import * as Filter from './Filter.js';
|
|
4
3
|
import { IncurError, ValidationError } from './Errors.js';
|
|
5
4
|
import * as Fetch from './Fetch.js';
|
|
6
|
-
import * as
|
|
5
|
+
import * as Filter from './Filter.js';
|
|
7
6
|
import * as Formatter from './Formatter.js';
|
|
8
7
|
import * as Help from './Help.js';
|
|
9
8
|
import { detectRunner } from './internal/pm.js';
|
|
10
9
|
import * as Mcp from './Mcp.js';
|
|
10
|
+
import * as Openapi from './Openapi.js';
|
|
11
11
|
import * as Parser from './Parser.js';
|
|
12
12
|
import * as Schema from './Schema.js';
|
|
13
13
|
import * as Skill from './Skill.js';
|
|
@@ -26,6 +26,7 @@ export function create(nameOrDefinition, definition) {
|
|
|
26
26
|
name,
|
|
27
27
|
description: def.description,
|
|
28
28
|
env: def.env,
|
|
29
|
+
options: def.options,
|
|
29
30
|
vars: def.vars,
|
|
30
31
|
command(nameOrCli, def) {
|
|
31
32
|
if (typeof nameOrCli === 'string') {
|
|
@@ -93,6 +94,7 @@ export function create(nameOrDefinition, definition) {
|
|
|
93
94
|
format: def.format,
|
|
94
95
|
mcp: def.mcp,
|
|
95
96
|
middlewares,
|
|
97
|
+
optionsSchema: def.options,
|
|
96
98
|
outputPolicy: def.outputPolicy,
|
|
97
99
|
rootCommand: rootDef,
|
|
98
100
|
rootFetch,
|
|
@@ -435,7 +437,16 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
435
437
|
const resolved = filtered.length === 0 && options.rootCommand
|
|
436
438
|
? { command: options.rootCommand, path: name, rest: [] }
|
|
437
439
|
: filtered.length === 0 && options.rootFetch
|
|
438
|
-
? {
|
|
440
|
+
? {
|
|
441
|
+
fetchGateway: {
|
|
442
|
+
_fetch: true,
|
|
443
|
+
fetch: options.rootFetch,
|
|
444
|
+
description: options.description,
|
|
445
|
+
},
|
|
446
|
+
middlewares: [],
|
|
447
|
+
path: name,
|
|
448
|
+
rest: [],
|
|
449
|
+
}
|
|
439
450
|
: resolveCommand(commands, filtered);
|
|
440
451
|
// --help on a fetch gateway → show fetch-specific help
|
|
441
452
|
if (help && 'fetchGateway' in resolved) {
|
|
@@ -547,12 +558,28 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
547
558
|
return;
|
|
548
559
|
}
|
|
549
560
|
const start = performance.now();
|
|
561
|
+
// Parse root CLI-level options (available to middleware via c.options)
|
|
562
|
+
const rootOptions = options.optionsSchema
|
|
563
|
+
? Parser.parse(filtered, {
|
|
564
|
+
alias: options.rootCommand?.alias,
|
|
565
|
+
options: options.optionsSchema,
|
|
566
|
+
}).options
|
|
567
|
+
: {};
|
|
550
568
|
// Resolve effective format: explicit --format/--json → command default → CLI default → toon
|
|
551
569
|
const resolvedFormat = 'command' in resolved && resolved.command.format;
|
|
552
570
|
const format = formatExplicit ? formatFlag : resolvedFormat || options.format || 'toon';
|
|
553
571
|
// Fall back to root fetch when no subcommand matches
|
|
554
572
|
const effective = 'error' in resolved && options.rootFetch && !resolved.path
|
|
555
|
-
? {
|
|
573
|
+
? {
|
|
574
|
+
fetchGateway: {
|
|
575
|
+
_fetch: true,
|
|
576
|
+
fetch: options.rootFetch,
|
|
577
|
+
description: options.description,
|
|
578
|
+
},
|
|
579
|
+
middlewares: [],
|
|
580
|
+
path: name,
|
|
581
|
+
rest: filtered,
|
|
582
|
+
}
|
|
556
583
|
: 'error' in resolved && options.rootCommand && !resolved.path
|
|
557
584
|
? { command: options.rootCommand, path: name, rest: filtered }
|
|
558
585
|
: resolved;
|
|
@@ -705,7 +732,9 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
705
732
|
code: `HTTP_${output.status}`,
|
|
706
733
|
message: typeof output.data === 'object' && output.data !== null && 'message' in output.data
|
|
707
734
|
? String(output.data.message)
|
|
708
|
-
: typeof output.data === 'string'
|
|
735
|
+
: typeof output.data === 'string'
|
|
736
|
+
? output.data
|
|
737
|
+
: `HTTP ${output.status}`,
|
|
709
738
|
},
|
|
710
739
|
meta: {
|
|
711
740
|
command: path,
|
|
@@ -716,7 +745,9 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
716
745
|
}
|
|
717
746
|
};
|
|
718
747
|
try {
|
|
719
|
-
const cliEnv = options.envSchema
|
|
748
|
+
const cliEnv = options.envSchema
|
|
749
|
+
? Parser.parseEnv(options.envSchema, options.env ?? process.env)
|
|
750
|
+
: {};
|
|
720
751
|
if (fetchMiddleware.length > 0) {
|
|
721
752
|
const varsMap = options.vars ? options.vars.parse({}) : {};
|
|
722
753
|
const errorFn = (opts) => ({ [sentinel]: 'error', ...opts });
|
|
@@ -728,7 +759,10 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
728
759
|
format,
|
|
729
760
|
formatExplicit,
|
|
730
761
|
name,
|
|
731
|
-
|
|
762
|
+
options: rootOptions,
|
|
763
|
+
set(key, value) {
|
|
764
|
+
varsMap[key] = value;
|
|
765
|
+
},
|
|
732
766
|
var: varsMap,
|
|
733
767
|
version: options.version,
|
|
734
768
|
};
|
|
@@ -739,12 +773,22 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
739
773
|
const cta = formatCtaBlock(name, err.cta);
|
|
740
774
|
write({
|
|
741
775
|
ok: false,
|
|
742
|
-
error: {
|
|
743
|
-
|
|
776
|
+
error: {
|
|
777
|
+
code: err.code,
|
|
778
|
+
message: err.message,
|
|
779
|
+
...(err.retryable !== undefined ? { retryable: err.retryable } : undefined),
|
|
780
|
+
},
|
|
781
|
+
meta: {
|
|
782
|
+
command: path,
|
|
783
|
+
duration: `${Math.round(performance.now() - start)}ms`,
|
|
784
|
+
...(cta ? { cta } : undefined),
|
|
785
|
+
},
|
|
744
786
|
});
|
|
745
787
|
exit(err.exitCode ?? 1);
|
|
746
788
|
};
|
|
747
|
-
const composed = fetchMiddleware.reduceRight((next, mw) => async () => {
|
|
789
|
+
const composed = fetchMiddleware.reduceRight((next, mw) => async () => {
|
|
790
|
+
handleMwSentinel(await mw(mwCtx, next));
|
|
791
|
+
}, runFetch);
|
|
748
792
|
await composed();
|
|
749
793
|
}
|
|
750
794
|
else {
|
|
@@ -879,6 +923,7 @@ async function serveImpl(name, commands, argv, options = {}) {
|
|
|
879
923
|
format,
|
|
880
924
|
formatExplicit,
|
|
881
925
|
name,
|
|
926
|
+
options: rootOptions,
|
|
882
927
|
set(key, value) {
|
|
883
928
|
varsMap[key] = value;
|
|
884
929
|
},
|
|
@@ -1041,13 +1086,31 @@ async function fetchImpl(name, commands, req, options = {}) {
|
|
|
1041
1086
|
// Root path
|
|
1042
1087
|
if (options.rootCommand)
|
|
1043
1088
|
return executeCommand(name, options.rootCommand, [], inputOptions, start, options);
|
|
1044
|
-
return jsonResponse({
|
|
1089
|
+
return jsonResponse({
|
|
1090
|
+
ok: false,
|
|
1091
|
+
error: { code: 'COMMAND_NOT_FOUND', message: 'No root command defined.' },
|
|
1092
|
+
meta: { command: '/', duration: `${Math.round(performance.now() - start)}ms` },
|
|
1093
|
+
}, 404);
|
|
1045
1094
|
}
|
|
1046
1095
|
const resolved = resolveCommand(commands, segments);
|
|
1047
1096
|
if ('error' in resolved)
|
|
1048
|
-
return jsonResponse({
|
|
1097
|
+
return jsonResponse({
|
|
1098
|
+
ok: false,
|
|
1099
|
+
error: {
|
|
1100
|
+
code: 'COMMAND_NOT_FOUND',
|
|
1101
|
+
message: `'${resolved.error}' is not a command for '${resolved.path ? `${name} ${resolved.path}` : name}'.`,
|
|
1102
|
+
},
|
|
1103
|
+
meta: { command: resolved.error, duration: `${Math.round(performance.now() - start)}ms` },
|
|
1104
|
+
}, 404);
|
|
1049
1105
|
if ('help' in resolved)
|
|
1050
|
-
return jsonResponse({
|
|
1106
|
+
return jsonResponse({
|
|
1107
|
+
ok: false,
|
|
1108
|
+
error: {
|
|
1109
|
+
code: 'COMMAND_NOT_FOUND',
|
|
1110
|
+
message: `'${resolved.path}' is a command group. Specify a subcommand.`,
|
|
1111
|
+
},
|
|
1112
|
+
meta: { command: resolved.path, duration: `${Math.round(performance.now() - start)}ms` },
|
|
1113
|
+
}, 404);
|
|
1051
1114
|
if ('fetchGateway' in resolved)
|
|
1052
1115
|
return resolved.fetchGateway.fetch(req);
|
|
1053
1116
|
const { command, path, rest } = resolved;
|
|
@@ -1097,7 +1160,11 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1097
1160
|
}
|
|
1098
1161
|
if (isSentinel(value) && value[sentinel] === 'error') {
|
|
1099
1162
|
const tagged = value;
|
|
1100
|
-
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1163
|
+
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1164
|
+
type: 'error',
|
|
1165
|
+
ok: false,
|
|
1166
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1167
|
+
}) + '\n'));
|
|
1101
1168
|
controller.close();
|
|
1102
1169
|
return;
|
|
1103
1170
|
}
|
|
@@ -1106,19 +1173,33 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1106
1173
|
const meta = { command: path };
|
|
1107
1174
|
if (isSentinel(returnValue) && returnValue[sentinel] === 'error') {
|
|
1108
1175
|
const tagged = returnValue;
|
|
1109
|
-
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1176
|
+
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1177
|
+
type: 'error',
|
|
1178
|
+
ok: false,
|
|
1179
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1180
|
+
}) + '\n'));
|
|
1110
1181
|
}
|
|
1111
1182
|
else {
|
|
1112
1183
|
controller.enqueue(encoder.encode(JSON.stringify({ type: 'done', ok: true, meta }) + '\n'));
|
|
1113
1184
|
}
|
|
1114
1185
|
}
|
|
1115
1186
|
catch (error) {
|
|
1116
|
-
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1187
|
+
controller.enqueue(encoder.encode(JSON.stringify({
|
|
1188
|
+
type: 'error',
|
|
1189
|
+
ok: false,
|
|
1190
|
+
error: {
|
|
1191
|
+
code: 'UNKNOWN',
|
|
1192
|
+
message: error instanceof Error ? error.message : String(error),
|
|
1193
|
+
},
|
|
1194
|
+
}) + '\n'));
|
|
1117
1195
|
}
|
|
1118
1196
|
controller.close();
|
|
1119
1197
|
},
|
|
1120
1198
|
});
|
|
1121
|
-
response = new Response(stream, {
|
|
1199
|
+
response = new Response(stream, {
|
|
1200
|
+
status: 200,
|
|
1201
|
+
headers: { 'content-type': 'application/x-ndjson' },
|
|
1202
|
+
});
|
|
1122
1203
|
return;
|
|
1123
1204
|
}
|
|
1124
1205
|
const awaited = await result;
|
|
@@ -1126,7 +1207,11 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1126
1207
|
if (typeof awaited === 'object' && awaited !== null && sentinel_ in awaited) {
|
|
1127
1208
|
const tagged = awaited;
|
|
1128
1209
|
if (tagged[sentinel_] === 'error')
|
|
1129
|
-
response = jsonResponse({
|
|
1210
|
+
response = jsonResponse({
|
|
1211
|
+
ok: false,
|
|
1212
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1213
|
+
meta: { command: path, duration },
|
|
1214
|
+
}, 500);
|
|
1130
1215
|
else
|
|
1131
1216
|
response = jsonResponse({ ok: true, data: tagged.data, meta: { command: path, duration } }, 200);
|
|
1132
1217
|
return;
|
|
@@ -1138,7 +1223,11 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1138
1223
|
if (allMiddleware.length > 0) {
|
|
1139
1224
|
const errorFn = (opts) => {
|
|
1140
1225
|
const duration = `${Math.round(performance.now() - start)}ms`;
|
|
1141
|
-
response = jsonResponse({
|
|
1226
|
+
response = jsonResponse({
|
|
1227
|
+
ok: false,
|
|
1228
|
+
error: { code: opts.code, message: opts.message },
|
|
1229
|
+
meta: { command: path, duration },
|
|
1230
|
+
}, 500);
|
|
1142
1231
|
return undefined;
|
|
1143
1232
|
};
|
|
1144
1233
|
const mwCtx = {
|
|
@@ -1149,11 +1238,16 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1149
1238
|
format: 'json',
|
|
1150
1239
|
formatExplicit: true,
|
|
1151
1240
|
name: path,
|
|
1152
|
-
|
|
1241
|
+
options: {},
|
|
1242
|
+
set(key, value) {
|
|
1243
|
+
varsMap[key] = value;
|
|
1244
|
+
},
|
|
1153
1245
|
var: varsMap,
|
|
1154
1246
|
version: undefined,
|
|
1155
1247
|
};
|
|
1156
|
-
const composed = allMiddleware.reduceRight((next, mw) => async () => {
|
|
1248
|
+
const composed = allMiddleware.reduceRight((next, mw) => async () => {
|
|
1249
|
+
await mw(mwCtx, next);
|
|
1250
|
+
}, runCommand);
|
|
1157
1251
|
await composed();
|
|
1158
1252
|
}
|
|
1159
1253
|
else {
|
|
@@ -1163,8 +1257,19 @@ async function executeCommand(path, command, rest, inputOptions, start, options)
|
|
|
1163
1257
|
catch (error) {
|
|
1164
1258
|
const duration = `${Math.round(performance.now() - start)}ms`;
|
|
1165
1259
|
if (error instanceof ValidationError)
|
|
1166
|
-
return jsonResponse({
|
|
1167
|
-
|
|
1260
|
+
return jsonResponse({
|
|
1261
|
+
ok: false,
|
|
1262
|
+
error: { code: 'VALIDATION_ERROR', message: error.message },
|
|
1263
|
+
meta: { command: path, duration },
|
|
1264
|
+
}, 400);
|
|
1265
|
+
return jsonResponse({
|
|
1266
|
+
ok: false,
|
|
1267
|
+
error: {
|
|
1268
|
+
code: error instanceof IncurError ? error.code : 'UNKNOWN',
|
|
1269
|
+
message: error instanceof Error ? error.message : String(error),
|
|
1270
|
+
},
|
|
1271
|
+
meta: { command: path, duration },
|
|
1272
|
+
}, 500);
|
|
1168
1273
|
}
|
|
1169
1274
|
return response;
|
|
1170
1275
|
}
|
|
@@ -1307,7 +1412,22 @@ function extractBuiltinFlags(argv) {
|
|
|
1307
1412
|
else
|
|
1308
1413
|
rest.push(token);
|
|
1309
1414
|
}
|
|
1310
|
-
return {
|
|
1415
|
+
return {
|
|
1416
|
+
verbose,
|
|
1417
|
+
format,
|
|
1418
|
+
formatExplicit,
|
|
1419
|
+
filterOutput,
|
|
1420
|
+
tokenLimit,
|
|
1421
|
+
tokenOffset,
|
|
1422
|
+
tokenCount,
|
|
1423
|
+
llms,
|
|
1424
|
+
llmsFull,
|
|
1425
|
+
mcp,
|
|
1426
|
+
help,
|
|
1427
|
+
version,
|
|
1428
|
+
schema,
|
|
1429
|
+
rest,
|
|
1430
|
+
};
|
|
1311
1431
|
}
|
|
1312
1432
|
/** @internal Collects immediate child commands/groups for help output. */
|
|
1313
1433
|
function collectHelpCommands(commands) {
|