@duyquangnvx/agent-cli 0.17.0 → 0.19.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 +77 -0
- package/README.md +2 -2
- package/agents-section.md +5 -0
- package/dist/agent-cli.d.ts +69 -11
- package/dist/agent-cli.js +71 -10
- package/dist/agent-cli.js.map +1 -1
- package/dist/built-ins/agents-md.d.ts +9 -9
- package/dist/built-ins/agents-md.js +8 -8
- package/dist/built-ins/agents-md.js.map +1 -1
- package/dist/built-ins/doctor-rows.js +5 -3
- package/dist/built-ins/doctor-rows.js.map +1 -1
- package/dist/built-ins/doctor.d.ts +1 -1
- package/dist/built-ins/doctor.js +16 -15
- package/dist/built-ins/doctor.js.map +1 -1
- package/dist/built-ins/install/dependency.js +1 -1
- package/dist/built-ins/install/dependency.js.map +1 -1
- package/dist/built-ins/install/global-npm.js +6 -4
- package/dist/built-ins/install/global-npm.js.map +1 -1
- package/dist/built-ins/npm.d.ts +3 -2
- package/dist/built-ins/npm.js +16 -9
- package/dist/built-ins/npm.js.map +1 -1
- package/dist/{project-root.js → built-ins/project-root.js} +1 -1
- package/dist/built-ins/project-root.js.map +1 -0
- package/dist/built-ins/skill/hub.d.ts +3 -2
- package/dist/built-ins/skill/hub.js +28 -16
- package/dist/built-ins/skill/hub.js.map +1 -1
- package/dist/built-ins/skill/install-command.d.ts +3 -4
- package/dist/built-ins/skill/install-command.js +20 -21
- package/dist/built-ins/skill/install-command.js.map +1 -1
- package/dist/built-ins/skill/packaged.js +5 -2
- package/dist/built-ins/skill/packaged.js.map +1 -1
- package/dist/built-ins/skill/skill.d.ts +5 -2
- package/dist/built-ins/skill/skill.js +1 -1
- package/dist/built-ins/skill/skill.js.map +1 -1
- package/dist/built-ins/update.d.ts +1 -1
- package/dist/built-ins/update.js +4 -9
- package/dist/built-ins/update.js.map +1 -1
- package/dist/check-examples.d.ts +6 -0
- package/dist/check-examples.js +53 -0
- package/dist/check-examples.js.map +1 -0
- package/dist/check-next-steps.d.ts +10 -0
- package/dist/check-next-steps.js +47 -0
- package/dist/check-next-steps.js.map +1 -0
- package/dist/command-errors.d.ts +8 -0
- package/dist/command-errors.js +25 -0
- package/dist/command-errors.js.map +1 -0
- package/dist/{flags.d.ts → command-line/flags.d.ts} +4 -4
- package/dist/{flags.js → command-line/flags.js} +7 -10
- package/dist/command-line/flags.js.map +1 -0
- package/dist/{input.d.ts → command-line/input.d.ts} +1 -1
- package/dist/{input.js → command-line/input.js} +1 -1
- package/dist/command-line/input.js.map +1 -0
- package/dist/{invocation.d.ts → command-line/invocation.d.ts} +6 -3
- package/dist/{invocation.js → command-line/invocation.js} +9 -5
- package/dist/command-line/invocation.js.map +1 -0
- package/dist/{parse-input.d.ts → command-line/parse-input.d.ts} +2 -2
- package/dist/{parse-input.js → command-line/parse-input.js} +3 -3
- package/dist/command-line/parse-input.js.map +1 -0
- package/dist/command-line/route-line.d.ts +15 -0
- package/dist/command-line/route-line.js +18 -0
- package/dist/command-line/route-line.js.map +1 -0
- package/dist/{route.d.ts → command-line/route.d.ts} +2 -2
- package/dist/{route.js → command-line/route.js} +1 -1
- package/dist/command-line/route.js.map +1 -0
- package/dist/command-line/shell-words.d.ts +12 -0
- package/dist/command-line/shell-words.js +83 -0
- package/dist/command-line/shell-words.js.map +1 -0
- package/dist/command-line/suggest.js.map +1 -0
- package/dist/command-line/tokenize.js.map +1 -0
- package/dist/{usage.d.ts → command-line/usage.d.ts} +1 -1
- package/dist/{usage.js → command-line/usage.js} +2 -2
- package/dist/command-line/usage.js.map +1 -0
- package/dist/command-spec.d.ts +13 -4
- package/dist/command-spec.js +22 -11
- package/dist/command-spec.js.map +1 -1
- package/dist/{agent.d.ts → context/agent.d.ts} +1 -1
- package/dist/context/agent.js.map +1 -0
- package/dist/{confirm.d.ts → context/confirm.d.ts} +3 -3
- package/dist/{confirm.js → context/confirm.js} +9 -11
- package/dist/context/confirm.js.map +1 -0
- package/dist/{cost.d.ts → context/cost.d.ts} +3 -3
- package/dist/context/cost.js +16 -0
- package/dist/context/cost.js.map +1 -0
- package/dist/context/declared.d.ts +8 -0
- package/dist/context/declared.js +10 -0
- package/dist/context/declared.js.map +1 -0
- package/dist/{errno.d.ts → context/errno.d.ts} +4 -3
- package/dist/{errno.js → context/errno.js} +14 -7
- package/dist/context/errno.js.map +1 -0
- package/dist/{files.js → context/files.js} +1 -1
- package/dist/context/files.js.map +1 -0
- package/dist/{interrupts.d.ts → context/interrupts.d.ts} +14 -10
- package/dist/{interrupts.js → context/interrupts.js} +30 -27
- package/dist/context/interrupts.js.map +1 -0
- package/dist/{operator.d.ts → context/operator.d.ts} +4 -3
- package/dist/{operator.js → context/operator.js} +4 -3
- package/dist/context/operator.js.map +1 -0
- package/dist/{outputs.d.ts → context/outputs.d.ts} +6 -5
- package/dist/{outputs.js → context/outputs.js} +10 -9
- package/dist/context/outputs.js.map +1 -0
- package/dist/{project.d.ts → context/project.d.ts} +4 -3
- package/dist/{project.js → context/project.js} +8 -7
- package/dist/context/project.js.map +1 -0
- package/dist/{secrets.d.ts → context/secrets.d.ts} +8 -1
- package/dist/context/secrets.js +85 -0
- package/dist/context/secrets.js.map +1 -0
- package/dist/{side-task.d.ts → context/side-task.d.ts} +2 -2
- package/dist/{side-task.js → context/side-task.js} +1 -1
- package/dist/context/side-task.js.map +1 -0
- package/dist/{spawn.d.ts → context/spawn.d.ts} +4 -3
- package/dist/{spawn.js → context/spawn.js} +7 -6
- package/dist/context/spawn.js.map +1 -0
- package/dist/{spill.d.ts → context/spill.d.ts} +4 -3
- package/dist/{spill.js → context/spill.js} +4 -4
- package/dist/context/spill.js.map +1 -0
- package/dist/{stdin.d.ts → context/stdin.d.ts} +2 -2
- package/dist/{stdin.js → context/stdin.js} +2 -2
- package/dist/context/stdin.js.map +1 -0
- package/dist/{tools.d.ts → context/tools.d.ts} +4 -3
- package/dist/{tools.js → context/tools.js} +8 -10
- package/dist/context/tools.js.map +1 -0
- package/dist/context.d.ts +51 -27
- package/dist/define-command.d.ts +47 -0
- package/dist/define-command.js +25 -0
- package/dist/define-command.js.map +1 -0
- package/dist/define.d.ts +71 -63
- package/dist/define.js +0 -14
- package/dist/define.js.map +1 -1
- package/dist/error-table.d.ts +9 -6
- package/dist/error-table.js +6 -6
- package/dist/error-table.js.map +1 -1
- package/dist/errors.d.ts +15 -1
- package/dist/errors.js +24 -6
- package/dist/errors.js.map +1 -1
- package/dist/execute.d.ts +8 -7
- package/dist/execute.js +51 -22
- package/dist/execute.js.map +1 -1
- package/dist/exit-classes.d.ts +1 -2
- package/dist/exit-classes.js +41 -48
- package/dist/exit-classes.js.map +1 -1
- package/dist/help-json.d.ts +4 -3
- package/dist/help-json.js +33 -11
- package/dist/help-json.js.map +1 -1
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +19 -26
- package/dist/index.js +6 -18
- package/dist/index.js.map +1 -1
- package/dist/list.d.ts +6 -5
- package/dist/list.js +17 -11
- package/dist/list.js.map +1 -1
- package/dist/next-step.d.ts +23 -0
- package/dist/next-step.js +20 -0
- package/dist/next-step.js.map +1 -0
- package/dist/output.d.ts +11 -5
- package/dist/output.js +25 -11
- package/dist/output.js.map +1 -1
- package/dist/root-spec.d.ts +5 -0
- package/dist/root-spec.js +15 -0
- package/dist/root-spec.js.map +1 -0
- package/dist/run-cli.d.ts +2 -2
- package/dist/run-cli.js +12 -11
- package/dist/run-cli.js.map +1 -1
- package/dist/run-command.d.ts +4 -4
- package/dist/run-command.js +66 -37
- package/dist/run-command.js.map +1 -1
- package/dist/run-options.d.ts +11 -4
- package/dist/run-process.js +22 -7
- package/dist/run-process.js.map +1 -1
- package/dist/runtime-codes.d.ts +33 -0
- package/dist/runtime-codes.js +50 -0
- package/dist/runtime-codes.js.map +1 -0
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/testing.d.ts +27 -0
- package/dist/testing.js +66 -0
- package/dist/testing.js.map +1 -0
- package/dist/version.d.ts +4 -1
- package/dist/version.js +6 -1
- package/dist/version.js.map +1 -1
- package/docs/README.md +51 -0
- package/docs/example/archive.test.ts +280 -0
- package/docs/example/archive.ts +160 -0
- package/docs/example/bin.test.ts +118 -0
- package/docs/example/bin.ts +5 -0
- package/docs/example/bundle.test.ts +57 -0
- package/docs/example/bundle.ts +57 -0
- package/docs/example/cli.test.ts +428 -0
- package/docs/example/cli.ts +191 -0
- package/docs/example/commit.test.ts +78 -0
- package/docs/example/commit.ts +26 -0
- package/docs/example/define.ts +16 -0
- package/docs/example/errors.ts +17 -0
- package/docs/example/export.test.ts +64 -0
- package/docs/example/export.ts +32 -0
- package/docs/example/fake-ports.ts +14 -0
- package/docs/example/folder.ts +48 -0
- package/docs/example/import.test.ts +53 -0
- package/docs/example/import.ts +50 -0
- package/docs/example/package.json +21 -0
- package/docs/example/ports.ts +105 -0
- package/docs/example/serve.test.ts +49 -0
- package/docs/example/serve.ts +40 -0
- package/docs/example/store.ts +62 -0
- package/docs/example/tsdown.config.ts +33 -0
- package/docs/getting-started.md +19 -0
- package/docs/guides/commands.md +35 -0
- package/docs/guides/doctor.md +52 -0
- package/docs/guides/effects-and-plans.md +44 -0
- package/docs/guides/errors.md +57 -0
- package/docs/guides/lists.md +18 -0
- package/docs/guides/local-state.md +28 -0
- package/docs/guides/long-runs.md +109 -0
- package/docs/guides/remote-services.md +124 -0
- package/docs/guides/shipping.md +61 -0
- package/docs/guides/testing.md +69 -0
- package/docs/principles.md +39 -0
- package/docs/reference.md +25 -0
- package/package.json +12 -1
- package/dist/agent.js.map +0 -1
- package/dist/confirm.js.map +0 -1
- package/dist/cost.js +0 -16
- package/dist/cost.js.map +0 -1
- package/dist/errno.js.map +0 -1
- package/dist/files.js.map +0 -1
- package/dist/flags.js.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/interrupts.js.map +0 -1
- package/dist/invocation.js.map +0 -1
- package/dist/operator.js.map +0 -1
- package/dist/outputs.js.map +0 -1
- package/dist/parse-input.js.map +0 -1
- package/dist/project-root.js.map +0 -1
- package/dist/project.js.map +0 -1
- package/dist/route.js.map +0 -1
- package/dist/secrets.js +0 -31
- package/dist/secrets.js.map +0 -1
- package/dist/side-task.js.map +0 -1
- package/dist/spawn.js.map +0 -1
- package/dist/spill.js.map +0 -1
- package/dist/stdin.js.map +0 -1
- package/dist/suggest.js.map +0 -1
- package/dist/tokenize.js.map +0 -1
- package/dist/tools.js.map +0 -1
- package/dist/usage.js.map +0 -1
- /package/dist/{project-root.d.ts → built-ins/project-root.d.ts} +0 -0
- /package/dist/{suggest.d.ts → command-line/suggest.d.ts} +0 -0
- /package/dist/{suggest.js → command-line/suggest.js} +0 -0
- /package/dist/{tokenize.d.ts → command-line/tokenize.d.ts} +0 -0
- /package/dist/{tokenize.js → command-line/tokenize.js} +0 -0
- /package/dist/{agent.js → context/agent.js} +0 -0
- /package/dist/{files.d.ts → context/files.d.ts} +0 -0
package/dist/help-json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-json.js","sourceRoot":"","sources":["../src/help-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"help-json.js","sourceRoot":"","sources":["../src/help-json.ts"],"names":[],"mappings":"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"}
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
export type { AgentCli } from "./agent-cli.js";
|
|
1
|
+
export type { AgentCli, AgentCliValues, CliDeclaration, CliManifest, InstallDeclaration, } from "./agent-cli.js";
|
|
2
2
|
export { agentCli } from "./agent-cli.js";
|
|
3
|
-
export { DOCTOR_PROBLEMS } from "./built-ins/doctor.js";
|
|
4
|
-
export { NOT_GLOBAL_INSTALL } from "./built-ins/install/global-npm.js";
|
|
5
3
|
export { runAsOf } from "./built-ins/install/run-as.js";
|
|
6
|
-
export { INSTALL_FAILED, NO_LATEST, NPM_FAILED, REGISTRY_AUTH, REGISTRY_UNREACHABLE, } from "./built-ins/npm.js";
|
|
7
4
|
export type { Clock } from "./clock.js";
|
|
8
|
-
export {
|
|
9
|
-
export type {
|
|
10
|
-
export {
|
|
11
|
-
export type {
|
|
12
|
-
export
|
|
5
|
+
export type { CommandLineChange } from "./command-line/invocation.js";
|
|
6
|
+
export type { FileAccess } from "./context/errno.js";
|
|
7
|
+
export type { FileStat, Files, MkdirOptions, WriteOptions } from "./context/files.js";
|
|
8
|
+
export type { DeadlineOptions } from "./context/interrupts.js";
|
|
9
|
+
export type { Secret, SecretOrigin } from "./context/secrets.js";
|
|
10
|
+
export type { SideTaskRun } from "./context/side-task.js";
|
|
11
|
+
export { SIDE_TASK_WAIT_MS } from "./context/side-task.js";
|
|
12
|
+
export type { DetachedChild, Spawn, SpawnDetached, SpawnDetachedOptions, SpawnOptions, SpawnResult, } from "./context/spawn.js";
|
|
13
|
+
export type { StdinSource } from "./context/stdin.js";
|
|
14
|
+
export { orStdin, STDIN_IDLE_MS } from "./context/stdin.js";
|
|
15
|
+
export type { BuildStamp, Context, Env, Needs, PollOptions, PortsBase, Project, ProjectFile, ServeContext, } from "./context.js";
|
|
16
|
+
export type { ActCommand, Cli, Command, Commands, DependencyInstall, DestructiveCommand, DoctorCheck, DoctorFinding, Example, GlobalInstall, ListCommand, NoPorts, ReadCommand, RunDeadline, SecretDeclaration, ServeCommand, Tool, WriteCommand, } from "./define.js";
|
|
17
|
+
export type { DefineCommand } from "./define-command.js";
|
|
13
18
|
export type { CliErrorInit, DeclaredExitClass, ErrorDeclaration, ErrorTable, } from "./error-table.js";
|
|
14
|
-
export {
|
|
19
|
+
export { defineErrors } from "./error-table.js";
|
|
15
20
|
export type { CliErrorFields, UsageErrorFields } from "./errors.js";
|
|
16
|
-
export { CliError, debugVariable,
|
|
17
|
-
export type { FileStat, Files, MkdirOptions, WriteOptions } from "./files.js";
|
|
18
|
-
export { DEADLINE_EXCEEDED, INTERRUPTED } from "./interrupts.js";
|
|
21
|
+
export { CliError, debugVariable, UsageError } from "./errors.js";
|
|
19
22
|
export type { Page, PageInput } from "./list.js";
|
|
20
|
-
export { page, paginate
|
|
21
|
-
export {
|
|
23
|
+
export { page, paginate } from "./list.js";
|
|
24
|
+
export type { NextStep, Rerun } from "./next-step.js";
|
|
22
25
|
export type { RunResult } from "./output.js";
|
|
23
|
-
export { OUTPUT_EXISTS } from "./outputs.js";
|
|
24
|
-
export { PROJECT_INVALID } from "./project.js";
|
|
25
26
|
export { runCli } from "./run-cli.js";
|
|
26
27
|
export type { RunOptions } from "./run-options.js";
|
|
27
28
|
export { runProcess } from "./run-process.js";
|
|
28
|
-
export
|
|
29
|
-
export type { SideTaskRun } from "./side-task.js";
|
|
30
|
-
export { SIDE_TASK_WAIT_MS } from "./side-task.js";
|
|
31
|
-
export type { DetachedChild, Spawn, SpawnDetached, SpawnDetachedOptions, SpawnOptions, SpawnResult, } from "./spawn.js";
|
|
32
|
-
export { TOOL_FAILED } from "./spawn.js";
|
|
33
|
-
export type { StdinSource } from "./stdin.js";
|
|
34
|
-
export { orStdin, STDIN_IDLE_MS, STDIN_STALLED } from "./stdin.js";
|
|
29
|
+
export { runtimeCodes } from "./runtime-codes.js";
|
|
35
30
|
export type { Style } from "./style.js";
|
|
36
|
-
export { TOOL_MISSING } from "./tools.js";
|
|
37
|
-
export { INVALID_INPUT, UNKNOWN_COMMAND, UNKNOWN_OPTION } from "./usage.js";
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
export { agentCli } from "./agent-cli.js";
|
|
2
|
-
export { DOCTOR_PROBLEMS } from "./built-ins/doctor.js";
|
|
3
|
-
export { NOT_GLOBAL_INSTALL } from "./built-ins/install/global-npm.js";
|
|
4
2
|
export { runAsOf } from "./built-ins/install/run-as.js";
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export { CliError, debugVariable, INTERNAL, UsageError } from "./errors.js";
|
|
11
|
-
export { DEADLINE_EXCEEDED, INTERRUPTED } from "./interrupts.js";
|
|
12
|
-
export { page, paginate, UNKNOWN_FIELD } from "./list.js";
|
|
13
|
-
export { NEEDS_OPERATOR } from "./operator.js";
|
|
14
|
-
export { OUTPUT_EXISTS } from "./outputs.js";
|
|
15
|
-
export { PROJECT_INVALID } from "./project.js";
|
|
3
|
+
export { SIDE_TASK_WAIT_MS } from "./context/side-task.js";
|
|
4
|
+
export { orStdin, STDIN_IDLE_MS } from "./context/stdin.js";
|
|
5
|
+
export { defineErrors } from "./error-table.js";
|
|
6
|
+
export { CliError, debugVariable, UsageError } from "./errors.js";
|
|
7
|
+
export { page, paginate } from "./list.js";
|
|
16
8
|
export { runCli } from "./run-cli.js";
|
|
17
9
|
export { runProcess } from "./run-process.js";
|
|
18
|
-
export {
|
|
19
|
-
export { TOOL_FAILED } from "./spawn.js";
|
|
20
|
-
export { orStdin, STDIN_IDLE_MS, STDIN_STALLED } from "./stdin.js";
|
|
21
|
-
export { TOOL_MISSING } from "./tools.js";
|
|
22
|
-
export { INVALID_INPUT, UNKNOWN_COMMAND, UNKNOWN_OPTION } from "./usage.js";
|
|
10
|
+
export { runtimeCodes } from "./runtime-codes.js";
|
|
23
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAQxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU3D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/list.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
-
import type { NameOf, StandardFlag } from "./flags.js";
|
|
3
|
-
import { type InputField } from "./input.js";
|
|
4
|
-
import { type Invocation } from "./invocation.js";
|
|
2
|
+
import type { NameOf, StandardFlag } from "./command-line/flags.js";
|
|
3
|
+
import { type InputField } from "./command-line/input.js";
|
|
4
|
+
import { type Invocation } from "./command-line/invocation.js";
|
|
5
|
+
import type { Style } from "./style.js";
|
|
5
6
|
export declare const UNKNOWN_FIELD = "UNKNOWN_FIELD";
|
|
6
7
|
declare const FIELDS_FLAG = "--fields";
|
|
7
8
|
export declare const PAGE_INPUT: z.ZodObject<{
|
|
@@ -49,6 +50,6 @@ export interface PrintedPage {
|
|
|
49
50
|
readonly next?: string;
|
|
50
51
|
}
|
|
51
52
|
export declare function printedPage(page: Page<unknown>, invocation: Invocation): PrintedPage;
|
|
52
|
-
/** The
|
|
53
|
-
export declare function pageFooter({ items, next }: PrintedPage): string;
|
|
53
|
+
/** The lines that end a rendered page, so the caller always knows whether and how to get more. */
|
|
54
|
+
export declare function pageFooter({ items, next }: PrintedPage, style: Style): string;
|
|
54
55
|
export {};
|
package/dist/list.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
+
import { optionField, optionFields } from "./command-line/input.js";
|
|
3
|
+
import { changedArgv } from "./command-line/invocation.js";
|
|
4
|
+
import { INVALID_INPUT } from "./command-line/usage.js";
|
|
2
5
|
import { UsageError } from "./errors.js";
|
|
3
|
-
import {
|
|
4
|
-
import { commandLineOf } from "./invocation.js";
|
|
5
|
-
import { INVALID_INPUT } from "./usage.js";
|
|
6
|
+
import { lineOf } from "./next-step.js";
|
|
6
7
|
export const UNKNOWN_FIELD = "UNKNOWN_FIELD";
|
|
7
8
|
const DEFAULT_PAGE_LIMIT = 20;
|
|
8
9
|
const FIELDS_FLAG = "--fields";
|
|
@@ -146,15 +147,20 @@ export function printedPage(page, invocation) {
|
|
|
146
147
|
? { items: page.items }
|
|
147
148
|
: {
|
|
148
149
|
items: page.items,
|
|
149
|
-
next:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
next: lineOf({
|
|
151
|
+
kind: "rerun",
|
|
152
|
+
words: changedArgv(invocation, {
|
|
153
|
+
remove: [PAGE_FLAGS.cursor.flag],
|
|
154
|
+
add: cursorWords(page.nextCursor),
|
|
155
|
+
}),
|
|
156
|
+
stdinArg: invocation.stdinArg,
|
|
157
|
+
}, invocation.runAs),
|
|
153
158
|
};
|
|
154
159
|
}
|
|
155
|
-
/** The
|
|
156
|
-
export function pageFooter({ items, next }) {
|
|
157
|
-
|
|
158
|
-
|
|
160
|
+
/** The lines that end a rendered page, so the caller always knows whether and how to get more. */
|
|
161
|
+
export function pageFooter({ items, next }, style) {
|
|
162
|
+
return next === undefined
|
|
163
|
+
? `${items.length} shown; no more pages\n`
|
|
164
|
+
: `${items.length} shown; run the Next step for the next page\n${style.cyan("run:")} ${next}\n`;
|
|
159
165
|
}
|
|
160
166
|
//# sourceMappingURL=list.js.map
|
package/dist/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The caller's own line as `ctx.rerun` changed it; built only by the Runtime. */
|
|
2
|
+
export interface Rerun {
|
|
3
|
+
readonly kind: "rerun";
|
|
4
|
+
/** The words after the Run-as. */
|
|
5
|
+
readonly words: readonly string[];
|
|
6
|
+
/** The arg given `-`, whose file the line redirects in. */
|
|
7
|
+
readonly stdinArg: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/** A Next step: the words after the CLI's name, or the caller's own line from `ctx.rerun`. */
|
|
10
|
+
export type NextStep = readonly string[] | Rerun;
|
|
11
|
+
/** A line given whole, such as a `doctor` row's fix, which may run another program. */
|
|
12
|
+
interface WholeLine {
|
|
13
|
+
readonly kind: "line";
|
|
14
|
+
readonly line: string;
|
|
15
|
+
}
|
|
16
|
+
/** A Next step as the Runtime holds it: an author's, or a line only the Runtime gives whole. */
|
|
17
|
+
export type Step = NextStep | WholeLine;
|
|
18
|
+
export declare function wholeLine(line: string): Step;
|
|
19
|
+
/** The words after the Run-as, or `undefined` for a line given whole. */
|
|
20
|
+
export declare function wordsOf(step: Step): readonly string[] | undefined;
|
|
21
|
+
/** The Next step as one shell-quoted line starting with the Run-as, or the whole line as given. */
|
|
22
|
+
export declare function lineOf(step: Step, runAs: string): string;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pasteable } from "./command-line/invocation.js";
|
|
2
|
+
export function wholeLine(line) {
|
|
3
|
+
return { kind: "line", line };
|
|
4
|
+
}
|
|
5
|
+
function isWords(step) {
|
|
6
|
+
return Array.isArray(step);
|
|
7
|
+
}
|
|
8
|
+
/** The words after the Run-as, or `undefined` for a line given whole. */
|
|
9
|
+
export function wordsOf(step) {
|
|
10
|
+
if (isWords(step))
|
|
11
|
+
return step;
|
|
12
|
+
return step.kind === "rerun" ? step.words : undefined;
|
|
13
|
+
}
|
|
14
|
+
/** The Next step as one shell-quoted line starting with the Run-as, or the whole line as given. */
|
|
15
|
+
export function lineOf(step, runAs) {
|
|
16
|
+
if (isWords(step))
|
|
17
|
+
return pasteable(runAs, step);
|
|
18
|
+
return step.kind === "rerun" ? pasteable(runAs, step.words, step.stdinArg) : step.line;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=next-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-step.js","sourceRoot":"","sources":["../src/next-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAuBzD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,IAAU;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAC,IAAU;IAChC,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,KAAa;IAC9C,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACzF,CAAC"}
|
package/dist/output.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { type NextStepCheck } from "./check-next-steps.js";
|
|
2
|
+
import type { Invocation } from "./command-line/invocation.js";
|
|
1
3
|
import type { SpecNode } from "./command-spec.js";
|
|
4
|
+
import type { Spill } from "./context/spill.js";
|
|
2
5
|
import type { Env } from "./context.js";
|
|
3
6
|
import type { Cli } from "./define.js";
|
|
4
|
-
import type
|
|
7
|
+
import { type ErrorTable } from "./error-table.js";
|
|
5
8
|
import { type ErrorFormat } from "./errors.js";
|
|
6
9
|
import type { Outcome } from "./execute.js";
|
|
7
|
-
import type { Invocation } from "./invocation.js";
|
|
8
|
-
import type { Spill } from "./spill.js";
|
|
9
10
|
import type { Style } from "./style.js";
|
|
10
11
|
export interface RunResult {
|
|
11
12
|
readonly stdout: string;
|
|
@@ -23,18 +24,23 @@ export interface OutputFormat extends Pick<ErrorFormat, "bugs"> {
|
|
|
23
24
|
readonly stop: AbortSignal | undefined;
|
|
24
25
|
/** The text help a usage error ends with; set only under an agent, which reads it in one go. */
|
|
25
26
|
readonly usageHelp?: string;
|
|
27
|
+
/** Set by `runCli` alone, so a production failure is never replaced by a bug in its Next steps. */
|
|
28
|
+
readonly checkNextStep?: NextStepCheck;
|
|
26
29
|
}
|
|
27
30
|
export interface DataFormat extends OutputFormat {
|
|
28
31
|
readonly fields: readonly string[] | undefined;
|
|
29
32
|
}
|
|
30
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* How a Command's run ended. A failed run keeps the data the Command last delivered, if any, as the
|
|
35
|
+
* Outcome to build when it is printed, so data its output schema rejects fails the run there.
|
|
36
|
+
*/
|
|
31
37
|
export type Settled = {
|
|
32
38
|
readonly ok: true;
|
|
33
39
|
readonly outcome: Outcome;
|
|
34
40
|
} | {
|
|
35
41
|
readonly ok: false;
|
|
36
42
|
readonly error: unknown;
|
|
37
|
-
readonly delivered: Outcome | undefined;
|
|
43
|
+
readonly delivered: (() => Outcome) | undefined;
|
|
38
44
|
};
|
|
39
45
|
/** A progress message as stderr carries it: one JSON object per line under `--json` (ADR 0006). */
|
|
40
46
|
export declare function progressLine(message: string, json: boolean): string;
|
package/dist/output.js
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
+
import { checkedNextSteps } from "./check-next-steps.js";
|
|
3
|
+
import { errorTableOf } from "./error-table.js";
|
|
2
4
|
import { errorsOf, formatRuntimeError, UsageError } from "./errors.js";
|
|
3
5
|
import { exitCodeOf, isBug } from "./exit-classes.js";
|
|
4
6
|
import { cliHelp, commandHelp, groupHelp } from "./help.js";
|
|
5
7
|
import { cliHelpJson, commandHelpJson, groupHelpJson } from "./help-json.js";
|
|
6
8
|
import { Page, pageFooter, printedPage, projected, renderRows } from "./list.js";
|
|
7
|
-
import { versionLine } from "./version.js";
|
|
9
|
+
import { buildStamp, versionLine } from "./version.js";
|
|
8
10
|
const SUCCESS_EXIT_CODE = 0;
|
|
9
11
|
function withTrailingNewline(text) {
|
|
10
12
|
return text === "" || text.endsWith("\n") ? text : `${text}\n`;
|
|
11
13
|
}
|
|
12
14
|
function printed(value, render, { json, invocation, style, fields }) {
|
|
13
15
|
if (!(value instanceof Page)) {
|
|
14
|
-
return json ? `${JSON.stringify(value)}\n` : withTrailingNewline(render(style));
|
|
16
|
+
return json ? `${JSON.stringify(value ?? null)}\n` : withTrailingNewline(render(style));
|
|
15
17
|
}
|
|
16
18
|
const page = printedPage(value, invocation);
|
|
17
19
|
if (fields === undefined) {
|
|
18
20
|
return json
|
|
19
21
|
? `${JSON.stringify(page)}\n`
|
|
20
|
-
: `${withTrailingNewline(render(style))}${pageFooter(page)}`;
|
|
22
|
+
: `${withTrailingNewline(render(style))}${pageFooter(page, style)}`;
|
|
21
23
|
}
|
|
22
24
|
const rows = projected(page.items, fields);
|
|
23
25
|
// The author's render may read any field, so selected rows are rendered by the Runtime.
|
|
24
26
|
return json
|
|
25
27
|
? `${JSON.stringify({ ...page, items: rows })}\n`
|
|
26
|
-
: `${renderRows(rows, fields)}${pageFooter(page)}`;
|
|
28
|
+
: `${renderRows(rows, fields)}${pageFooter(page, style)}`;
|
|
27
29
|
}
|
|
28
30
|
/** A progress message as stderr carries it: one JSON object per line under `--json` (ADR 0006). */
|
|
29
31
|
export function progressLine(message, json) {
|
|
@@ -39,6 +41,7 @@ function stderrLine(key, text, json) {
|
|
|
39
41
|
function errorText(error, format) {
|
|
40
42
|
const text = formatRuntimeError(error, {
|
|
41
43
|
...format,
|
|
44
|
+
runAs: format.invocation.runAs,
|
|
42
45
|
isBug: (each) => isBug(each, format.errors),
|
|
43
46
|
});
|
|
44
47
|
const { usageHelp, json } = format;
|
|
@@ -58,10 +61,13 @@ export function startedOutput(outcome, format, spill) {
|
|
|
58
61
|
/** A serve Command stopped, or ended itself, after it started: that is how it is meant to end. */
|
|
59
62
|
export const STOPPED_RESULT = { stdout: "", stderr: "", exitCode: SUCCESS_EXIT_CODE };
|
|
60
63
|
export function errorResult(error, format) {
|
|
64
|
+
const checked = format.checkNextStep === undefined
|
|
65
|
+
? error
|
|
66
|
+
: checkedNextSteps(error, format.checkNextStep, format.invocation.runAs);
|
|
61
67
|
return {
|
|
62
68
|
stdout: "",
|
|
63
|
-
stderr: errorText(
|
|
64
|
-
exitCode: exitCodeOf(
|
|
69
|
+
stderr: errorText(checked, format),
|
|
70
|
+
exitCode: exitCodeOf(checked, format.errors, format.stop),
|
|
65
71
|
};
|
|
66
72
|
}
|
|
67
73
|
export async function commandResult(settled, format, spill) {
|
|
@@ -75,12 +81,19 @@ export async function commandResult(settled, format, spill) {
|
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
const { error, delivered } = settled;
|
|
78
|
-
const result = errorResult(error, format);
|
|
79
84
|
if (delivered === undefined) {
|
|
80
|
-
return
|
|
85
|
+
return errorResult(error, format);
|
|
86
|
+
}
|
|
87
|
+
let outcome;
|
|
88
|
+
try {
|
|
89
|
+
outcome = delivered();
|
|
81
90
|
}
|
|
91
|
+
catch (rejected) {
|
|
92
|
+
return errorResult(new AggregateError([...errorsOf(error), rejected]), format);
|
|
93
|
+
}
|
|
94
|
+
const result = errorResult(error, format);
|
|
82
95
|
try {
|
|
83
|
-
return { ...result, stdout: await stdoutOf(
|
|
96
|
+
return { ...result, stdout: await stdoutOf(outcome, format, spill) };
|
|
84
97
|
}
|
|
85
98
|
catch (spillError) {
|
|
86
99
|
// The run's own error decides the exit code; the lost data is reported after it.
|
|
@@ -99,13 +112,14 @@ function helpOf(node, root, cli, style, json) {
|
|
|
99
112
|
return textHelp(node, root, cli, style);
|
|
100
113
|
if (node === root)
|
|
101
114
|
return cliHelpJson(cli, node);
|
|
102
|
-
|
|
115
|
+
const table = errorTableOf(cli);
|
|
116
|
+
return node.kind === "command" ? commandHelpJson(node, table) : groupHelpJson(node, table);
|
|
103
117
|
}
|
|
104
118
|
export function helpResult(node, root, cli, { style, json }) {
|
|
105
119
|
return { stdout: helpOf(node, root, cli, style, json), stderr: "", exitCode: SUCCESS_EXIT_CODE };
|
|
106
120
|
}
|
|
107
121
|
export function versionResult(cli, packageRoot) {
|
|
108
|
-
const lines =
|
|
122
|
+
const lines = buildStamp() === undefined
|
|
109
123
|
? [versionLine(cli)]
|
|
110
124
|
: [versionLine(cli), `changelog ${join(packageRoot, "CHANGELOG.md")}`];
|
|
111
125
|
return { stdout: `${lines.join("\n")}\n`, stderr: "", exitCode: SUCCESS_EXIT_CODE };
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Launch } from "./built-ins/commands.js";
|
|
2
|
+
import { type SpecNode } from "./command-spec.js";
|
|
3
|
+
import type { Cli } from "./define.js";
|
|
4
|
+
/** The CLI's Commands as routing and help see them, the Built-in Commands included. */
|
|
5
|
+
export declare function rootSpec(cli: Cli, launch: Launch): SpecNode;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { builtInCommands } from "./built-ins/commands.js";
|
|
2
|
+
import { runAsOf } from "./built-ins/install/run-as.js";
|
|
3
|
+
import { commandSpec, groupSpec } from "./command-spec.js";
|
|
4
|
+
/** The CLI's Commands as routing and help see them, the Built-in Commands included. */
|
|
5
|
+
export function rootSpec(cli, launch) {
|
|
6
|
+
const names = { name: cli.name, runAs: runAsOf(cli) };
|
|
7
|
+
return cli.commands === undefined
|
|
8
|
+
? // A single-Command CLI is its Command, so the CLI's line stands in for the Command's.
|
|
9
|
+
{
|
|
10
|
+
...commandSpec(names.runAs, cli.command, { path: [], builtIn: false, names }),
|
|
11
|
+
description: cli.description,
|
|
12
|
+
}
|
|
13
|
+
: groupSpec(names, cli.commands, builtInCommands(cli, launch));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=root-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-spec.js","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,mBAAmB,CAAC;AAG1E,uFAAuF;AACvF,MAAM,UAAU,QAAQ,CAAC,GAAQ,EAAE,MAAc;IAC/C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IACtD,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC/B,CAAC,CAAC,sFAAsF;YACtF;gBACE,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC7E,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B;QACH,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
package/dist/run-cli.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Cli } from "./define.js";
|
|
2
2
|
import { type RunResult } from "./output.js";
|
|
3
|
-
import type { RunOptions, Writers } from "./run-options.js";
|
|
3
|
+
import type { RunOptions, RunSettings, Writers } from "./run-options.js";
|
|
4
4
|
/**
|
|
5
5
|
* Runs the CLI in-process on `argv` and returns its `stdout`, `stderr` and `exitCode`, as a Coding
|
|
6
6
|
* agent would see them; the options replace the process's env, cwd and the Runtime's helpers.
|
|
7
7
|
*/
|
|
8
8
|
export declare function runCli<Ports, Settings>(cli: Cli<Ports, Settings>, argv: readonly string[], options: RunOptions<NoInfer<Ports>>): Promise<RunResult>;
|
|
9
9
|
/** Runs the CLI, writes its output, then waits for the Side task it started. */
|
|
10
|
-
export declare function runWithProgress(cli: Cli, argv: readonly string[], options:
|
|
10
|
+
export declare function runWithProgress(cli: Cli, argv: readonly string[], options: RunSettings<unknown>, write: Writers, stopNotice?: string): Promise<RunResult>;
|
package/dist/run-cli.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { isAgent } from "./agent.js";
|
|
2
|
-
import { builtInCommands } from "./built-ins/commands.js";
|
|
3
1
|
import { runAsOf } from "./built-ins/install/run-as.js";
|
|
4
|
-
import {
|
|
2
|
+
import { nextStepProblem } from "./check-next-steps.js";
|
|
3
|
+
import { route } from "./command-line/route.js";
|
|
4
|
+
import { isAgent } from "./context/agent.js";
|
|
5
|
+
import { noSideTask } from "./context/side-task.js";
|
|
6
|
+
import { errorTableOf } from "./error-table.js";
|
|
5
7
|
import { errorResult, helpResult, progressLine, textHelp, versionResult, } from "./output.js";
|
|
6
8
|
import { packageRootOf } from "./package-root.js";
|
|
7
|
-
import {
|
|
9
|
+
import { rootSpec } from "./root-spec.js";
|
|
8
10
|
import { runCommand } from "./run-command.js";
|
|
9
|
-
import { noSideTask } from "./side-task.js";
|
|
10
11
|
import { styleFor } from "./style.js";
|
|
11
12
|
/**
|
|
12
13
|
* Runs the CLI in-process on `argv` and returns its `stdout`, `stderr` and `exitCode`, as a Coding
|
|
@@ -15,7 +16,7 @@ import { styleFor } from "./style.js";
|
|
|
15
16
|
export async function runCli(cli, argv, options) {
|
|
16
17
|
const stdout = [];
|
|
17
18
|
const stderr = [];
|
|
18
|
-
const { exitCode } = await runWithProgress(cli, argv, options, {
|
|
19
|
+
const { exitCode } = await runWithProgress(cli, argv, { ...options, env: options.env ?? {}, checkNextSteps: true }, {
|
|
19
20
|
stdout: (text) => stdout.push(text),
|
|
20
21
|
stderr: (text) => stderr.push(text),
|
|
21
22
|
result: async (result) => {
|
|
@@ -52,19 +53,19 @@ export async function runWithProgress(cli, argv, options, write, stopNotice) {
|
|
|
52
53
|
// A serve Command's data is too, since the caller uses it while the Command runs.
|
|
53
54
|
async function routeAndRun(cli, argv, options, write, stopNotice) {
|
|
54
55
|
const runAs = runAsOf(cli);
|
|
56
|
+
const root = rootSpec(cli, { bin: options.bin, node: options.node });
|
|
55
57
|
const format = {
|
|
56
58
|
cliName: cli.name,
|
|
57
59
|
env: options.env,
|
|
58
60
|
style: styleFor(options.env, options.stdoutIsTTY === true),
|
|
59
61
|
invocation: { runAs, argv, flags: [] },
|
|
60
62
|
json: false,
|
|
61
|
-
errors: cli
|
|
63
|
+
errors: errorTableOf(cli),
|
|
62
64
|
stop: options.signal,
|
|
65
|
+
...(options.checkNextSteps === true
|
|
66
|
+
? { checkNextStep: (step) => nextStepProblem(root, runAs, step) }
|
|
67
|
+
: {}),
|
|
63
68
|
};
|
|
64
|
-
const root = cli.commands === undefined
|
|
65
|
-
? // A single-Command CLI is its Command, so the CLI's line stands in for the Command's.
|
|
66
|
-
{ ...commandSpec(runAs, cli.command), description: cli.description }
|
|
67
|
-
: groupSpec(runAs, cli.commands, builtInCommands(cli, { bin: options.bin, node: options.node }));
|
|
68
69
|
const routed = route(root, format.invocation);
|
|
69
70
|
const misused = (node) => isAgent(options.env)
|
|
70
71
|
? { ...format, usageHelp: textHelp(node, root, cli, format.style) }
|
package/dist/run-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../src/run-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../src/run-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/run-command.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import type { CommandRoute } from "./command-line/route.js";
|
|
2
|
+
import { type FinishSideTask } from "./context/side-task.js";
|
|
1
3
|
import type { Cli } from "./define.js";
|
|
2
4
|
import { type OutputFormat, type RunResult } from "./output.js";
|
|
3
|
-
import type {
|
|
4
|
-
import type { RunOptions, Writers } from "./run-options.js";
|
|
5
|
-
import { type FinishSideTask } from "./side-task.js";
|
|
5
|
+
import type { RunSettings, Writers } from "./run-options.js";
|
|
6
6
|
export interface Ran {
|
|
7
7
|
readonly result: RunResult;
|
|
8
8
|
readonly finishSideTask: FinishSideTask;
|
|
9
9
|
}
|
|
10
10
|
/** Leaves the Side task running, so the caller writes the result before it waits for it. */
|
|
11
|
-
export declare function runCommand(cli: Cli, routed: CommandRoute, options:
|
|
11
|
+
export declare function runCommand(cli: Cli, routed: CommandRoute, options: RunSettings<unknown>, write: Writers, baseFormat: OutputFormat): Promise<Ran>;
|