@duyquangnvx/agent-cli 0.5.0 → 0.6.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.
Files changed (117) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/agent-cli.js +1 -1
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/{built-ins.d.ts → built-ins/commands.d.ts} +1 -1
  5. package/dist/{built-ins.js → built-ins/commands.js} +1 -1
  6. package/dist/built-ins/commands.js.map +1 -0
  7. package/dist/{doctor-rows.d.ts → built-ins/doctor-rows.d.ts} +2 -2
  8. package/dist/{doctor-rows.js → built-ins/doctor-rows.js} +10 -23
  9. package/dist/built-ins/doctor-rows.js.map +1 -0
  10. package/dist/{doctor.d.ts → built-ins/doctor.d.ts} +2 -2
  11. package/dist/{doctor.js → built-ins/doctor.js} +3 -3
  12. package/dist/built-ins/doctor.js.map +1 -0
  13. package/dist/{global-install.js → built-ins/global-install.js} +1 -1
  14. package/dist/built-ins/global-install.js.map +1 -0
  15. package/dist/{npm.d.ts → built-ins/npm.d.ts} +2 -2
  16. package/dist/{npm.js → built-ins/npm.js} +3 -3
  17. package/dist/built-ins/npm.js.map +1 -0
  18. package/dist/built-ins/semver.js.map +1 -0
  19. package/dist/built-ins/skills.d.ts +18 -0
  20. package/dist/built-ins/skills.js +97 -0
  21. package/dist/built-ins/skills.js.map +1 -0
  22. package/dist/{update.d.ts → built-ins/update.d.ts} +2 -2
  23. package/dist/{update.js → built-ins/update.js} +25 -15
  24. package/dist/built-ins/update.js.map +1 -0
  25. package/dist/{upgrade-notes.js → built-ins/upgrade-notes.js} +1 -1
  26. package/dist/built-ins/upgrade-notes.js.map +1 -0
  27. package/dist/clock.d.ts +1 -0
  28. package/dist/clock.js.map +1 -1
  29. package/dist/command-spec.d.ts +12 -2
  30. package/dist/command-spec.js +23 -9
  31. package/dist/command-spec.js.map +1 -1
  32. package/dist/context.d.ts +56 -19
  33. package/dist/define.d.ts +67 -9
  34. package/dist/define.js.map +1 -1
  35. package/dist/error-table.d.ts +6 -1
  36. package/dist/error-table.js +5 -1
  37. package/dist/error-table.js.map +1 -1
  38. package/dist/errors.d.ts +9 -1
  39. package/dist/errors.js +17 -8
  40. package/dist/errors.js.map +1 -1
  41. package/dist/exit-classes.js +36 -39
  42. package/dist/exit-classes.js.map +1 -1
  43. package/dist/files.d.ts +8 -3
  44. package/dist/files.js +4 -3
  45. package/dist/files.js.map +1 -1
  46. package/dist/help-json.d.ts +1 -1
  47. package/dist/help-json.js +2 -1
  48. package/dist/help-json.js.map +1 -1
  49. package/dist/help.js +3 -2
  50. package/dist/help.js.map +1 -1
  51. package/dist/index.d.ts +5 -3
  52. package/dist/index.js +3 -2
  53. package/dist/index.js.map +1 -1
  54. package/dist/interrupts.d.ts +4 -1
  55. package/dist/interrupts.js +25 -12
  56. package/dist/interrupts.js.map +1 -1
  57. package/dist/list.d.ts +12 -3
  58. package/dist/list.js +34 -5
  59. package/dist/list.js.map +1 -1
  60. package/dist/manifest.d.ts +17 -0
  61. package/dist/manifest.js +24 -0
  62. package/dist/manifest.js.map +1 -0
  63. package/dist/output.d.ts +2 -3
  64. package/dist/output.js +1 -6
  65. package/dist/output.js.map +1 -1
  66. package/dist/parse-input.js +10 -1
  67. package/dist/parse-input.js.map +1 -1
  68. package/dist/project.d.ts +2 -1
  69. package/dist/project.js +11 -10
  70. package/dist/project.js.map +1 -1
  71. package/dist/run-cli.d.ts +7 -46
  72. package/dist/run-cli.js +32 -194
  73. package/dist/run-cli.js.map +1 -1
  74. package/dist/run-command.d.ts +11 -0
  75. package/dist/run-command.js +234 -0
  76. package/dist/run-command.js.map +1 -0
  77. package/dist/run-options.d.ts +48 -0
  78. package/dist/run-options.js +2 -0
  79. package/dist/run-options.js.map +1 -0
  80. package/dist/run-process.js +4 -2
  81. package/dist/run-process.js.map +1 -1
  82. package/dist/secrets.d.ts +6 -3
  83. package/dist/secrets.js +6 -6
  84. package/dist/secrets.js.map +1 -1
  85. package/dist/side-task.d.ts +27 -0
  86. package/dist/side-task.js +31 -0
  87. package/dist/side-task.js.map +1 -0
  88. package/dist/spawn.d.ts +8 -2
  89. package/dist/spawn.js.map +1 -1
  90. package/dist/stdin.d.ts +23 -3
  91. package/dist/stdin.js +40 -3
  92. package/dist/stdin.js.map +1 -1
  93. package/dist/usage.d.ts +2 -0
  94. package/dist/usage.js +12 -1
  95. package/dist/usage.js.map +1 -1
  96. package/dist/version.d.ts +3 -0
  97. package/dist/version.js +7 -0
  98. package/dist/version.js.map +1 -0
  99. package/package.json +1 -1
  100. package/dist/built-ins.js.map +0 -1
  101. package/dist/doctor-rows.js.map +0 -1
  102. package/dist/doctor.js.map +0 -1
  103. package/dist/global-install.js.map +0 -1
  104. package/dist/npm.js.map +0 -1
  105. package/dist/semver.js.map +0 -1
  106. package/dist/skill-source.d.ts +0 -4
  107. package/dist/skill-source.js +0 -42
  108. package/dist/skill-source.js.map +0 -1
  109. package/dist/skills.d.ts +0 -12
  110. package/dist/skills.js +0 -62
  111. package/dist/skills.js.map +0 -1
  112. package/dist/update.js.map +0 -1
  113. package/dist/upgrade-notes.js.map +0 -1
  114. /package/dist/{global-install.d.ts → built-ins/global-install.d.ts} +0 -0
  115. /package/dist/{semver.d.ts → built-ins/semver.d.ts} +0 -0
  116. /package/dist/{semver.js → built-ins/semver.js} +0 -0
  117. /package/dist/{upgrade-notes.d.ts → built-ins/upgrade-notes.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"parse-input.js","sourceRoot":"","sources":["../src/parse-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-input.js","sourceRoot":"","sources":["../src/parse-input.ts"],"names":[],"mappings":"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"}
package/dist/project.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Project, ProjectFile } from "./context.js";
2
+ import type { FileError } from "./errno.js";
2
3
  export declare const PROJECT_INVALID = "PROJECT_INVALID";
3
4
  /** The nearest Project file at or above `cwd`, parsed by its schema; undefined when there is none. */
4
- export declare function projectOf<Settings>(projectFile: ProjectFile<Settings>, cwd: string): Project<Settings> | undefined;
5
+ export declare function projectOf<Settings>(projectFile: ProjectFile<Settings>, cwd: string, fileError: FileError): Project<Settings> | undefined;
package/dist/project.js CHANGED
@@ -10,14 +10,14 @@ function invalid(path, problem, options) {
10
10
  hint: `fix ${path}, then run the command again`,
11
11
  }, options);
12
12
  }
13
- function readText(path) {
13
+ function readText(path, fileError) {
14
14
  try {
15
15
  return readFileSync(path, "utf8");
16
16
  }
17
17
  catch (error) {
18
18
  if (isMissingFile(error))
19
19
  return undefined;
20
- throw error;
20
+ throw fileError(error, { path, access: "read" });
21
21
  }
22
22
  }
23
23
  function parsed(path, text, schema) {
@@ -33,16 +33,17 @@ function parsed(path, text, schema) {
33
33
  throw invalid(path, z.prettifyError(result.error));
34
34
  return result.data;
35
35
  }
36
- function projectFrom({ file, schema }, folder) {
37
- const path = join(folder, file);
38
- const text = readText(path);
39
- if (text !== undefined)
40
- return { root: folder, settings: parsed(path, text, schema) };
36
+ function projectFrom(projectFile, folder, fileError) {
37
+ const path = join(folder, projectFile.file);
38
+ const text = readText(path, fileError);
39
+ if (text !== undefined) {
40
+ return { root: folder, settings: parsed(path, text, projectFile.schema) };
41
+ }
41
42
  const parent = dirname(folder);
42
- return parent === folder ? undefined : projectFrom({ file, schema }, parent);
43
+ return parent === folder ? undefined : projectFrom(projectFile, parent, fileError);
43
44
  }
44
45
  /** The nearest Project file at or above `cwd`, parsed by its schema; undefined when there is none. */
45
- export function projectOf(projectFile, cwd) {
46
- return projectFrom(projectFile, resolve(cwd));
46
+ export function projectOf(projectFile, cwd, fileError) {
47
+ return projectFrom(projectFile, resolve(cwd), fileError);
47
48
  }
48
49
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEjD,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,OAAsB;IACpE,OAAO,IAAI,QAAQ,CACjB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,OAAO,EAAE;QAC1D,IAAI,EAAE,OAAO,IAAI,8BAA8B;KAChD,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAW,IAAY,EAAE,IAAY,EAAE,MAA2B;IAC/E,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAClB,EAAE,IAAI,EAAE,MAAM,EAAyB,EACvC,MAAc;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,SAAS,CACvB,WAAkC,EAClC,GAAW;IAEX,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEjD,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,OAAsB;IACpE,OAAO,IAAI,QAAQ,CACjB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,OAAO,EAAE;QAC1D,IAAI,EAAE,OAAO,IAAI,8BAA8B;KAChD,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAAoB;IAClD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAW,IAAY,EAAE,IAAY,EAAE,MAA2B;IAC/E,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAClB,WAAkC,EAClC,MAAc,EACd,SAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,SAAS,CACvB,WAAkC,EAClC,GAAW,EACX,SAAoB;IAEpB,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC"}
package/dist/run-cli.d.ts CHANGED
@@ -1,49 +1,10 @@
1
- import { type Clock } from "./clock.js";
2
- import type { Env } from "./context.js";
3
- import type { Cli, NoPorts } from "./define.js";
4
- import { type Files } from "./files.js";
1
+ import type { Cli } from "./define.js";
5
2
  import { type RunResult } from "./output.js";
6
- import { type Spawn } from "./spawn.js";
7
- import { type StdinSource } from "./stdin.js";
8
- export interface RunOptions<Ports = NoPorts> {
9
- readonly env: Env;
10
- readonly cwd: string;
11
- readonly stdoutIsTTY?: boolean;
12
- /**
13
- * Aborting it interrupts the running Command, which then ends with `INTERRUPTED`: exit 143 when
14
- * the abort reason is `"SIGTERM"`, else 130, as for Ctrl-C.
15
- */
16
- readonly signal?: AbortSignal;
17
- /**
18
- * The script that started the CLI, as `process.argv[1]`; `doctor` checks it is inside npm's
19
- * global install. Absent, the CLI counts as run from source.
20
- */
21
- readonly bin?: string;
22
- /**
23
- * The Node running the CLI, as `process.execPath`; `doctor` and `update` run the npm beside it,
24
- * which installs into that Node. Absent, or with no npm beside it, they run the npm on PATH.
25
- */
26
- readonly node?: string;
27
- /** Replaces the ports the CLI's factory builds, for a test. */
28
- readonly ports?: Ports;
29
- /** Replaces the real clock, for a test that runs deadlines and waits instantly. */
30
- readonly clock?: Clock;
31
- /** Replaces the real file system, for a test of a write that fails. */
32
- readonly files?: Files;
33
- /** Replaces the real child processes, for a test of a tool that fails. */
34
- readonly spawn?: Spawn;
35
- /** What an arg given `-` reads; absent, it reads an empty text. */
36
- readonly stdin?: StdinSource;
37
- /**
38
- * Replaces `process.platform` in picking the wording of hints, such as `PERMISSION_DENIED`'s and
39
- * how to end stdin, for a test of the Windows wording.
40
- */
41
- readonly platform?: NodeJS.Platform;
42
- }
43
- /** Where output that cannot wait for the run's end is written as it happens. */
44
- export interface Writers {
45
- stdout(text: string): void;
46
- stderr(text: string): void;
47
- }
3
+ import type { RunOptions, Writers } from "./run-options.js";
4
+ /**
5
+ * Runs the CLI in-process on `argv` and returns its `stdout`, `stderr` and `exitCode`, as a Coding
6
+ * agent would see them; the options replace the process's env, cwd and the Runtime's helpers.
7
+ */
48
8
  export declare function runCli<Ports, Settings>(cli: Cli<Ports, Settings>, argv: readonly string[], options: RunOptions<NoInfer<Ports>>): Promise<RunResult>;
9
+ /** Runs the CLI, writes its output, then waits for the Side task it started. */
49
10
  export declare function runWithProgress(cli: Cli, argv: readonly string[], options: RunOptions<unknown>, write: Writers, stopNotice?: string): Promise<RunResult>;
package/dist/run-cli.js CHANGED
@@ -1,167 +1,28 @@
1
1
  import { isAgent } from "./agent.js";
2
- import { builtInCommands } from "./built-ins.js";
3
- import { poll, realClock } from "./clock.js";
2
+ import { builtInCommands } from "./built-ins/commands.js";
4
3
  import { commandSpec, groupSpec } from "./command-spec.js";
5
- import { fileErrorOf } from "./errno.js";
6
- import { deliveredOutcome, execute } from "./execute.js";
7
- import { classifiedFiles, realFiles } from "./files.js";
8
- import { RunControl } from "./interrupts.js";
9
- import { commandLineOf } from "./invocation.js";
10
- import { checkOperator } from "./operator.js";
11
- import { commandResult, errorResult, helpResult, progressLine, STOPPED_RESULT, startedOutput, textHelp, versionResult, } from "./output.js";
12
- import { outputsGuard } from "./outputs.js";
4
+ import { errorResult, helpResult, progressLine, textHelp, versionResult, } from "./output.js";
13
5
  import { packageRootOf } from "./package-root.js";
14
- import { knownFlags, parseCommand } from "./parse-input.js";
15
- import { projectOf } from "./project.js";
16
6
  import { route } from "./route.js";
17
- import { secretOf } from "./secrets.js";
18
- import { contextSpawn, realSpawn } from "./spawn.js";
19
- import { spillTo } from "./spill.js";
20
- import { isTerminal, readingLine, readStdin } from "./stdin.js";
7
+ import { runCommand } from "./run-command.js";
8
+ import { noSideTask } from "./side-task.js";
21
9
  import { styleFor } from "./style.js";
22
- function stdinNeverEndedHint(callerLine) {
23
- return `stdin never ended: pipe the text into \`${callerLine}\`, or redirect a file into it`;
24
- }
25
- async function runCommand(routed, { base, writeStdout, signal, format: baseFormat, ports, clock, files, spawn, projectFile, stdin, platform, }) {
26
- const { command, commandLine } = routed.spec;
27
- const invocation = { ...baseFormat.invocation, flags: knownFlags(routed.spec) };
28
- const format = { ...baseFormat, json: routed.json, invocation };
29
- const typedLine = (change) => commandLineOf(invocation, change);
30
- // Set once the input is parsed; a deadline before that can only have cut off the stdin read.
31
- let resumeHint;
32
- // Created before the input is parsed, so Ctrl-C and the run deadline also bound the stdin read.
33
- const control = new RunControl({
34
- commandLine,
35
- outer: signal,
36
- clock,
37
- progress: base.progress,
38
- runDeadline: command.deadline === undefined
39
- ? undefined
40
- : {
41
- ms: command.deadline.ms,
42
- hint: () => resumeHint ?? stdinNeverEndedHint(typedLine()),
43
- },
44
- });
45
- let parsed;
46
- let project;
47
- try {
48
- checkOperator(routed.spec, base.env, typedLine());
49
- parsed = await parseCommand(routed, invocation, (field) => {
50
- if (isTerminal(stdin))
51
- base.progress(readingLine(field.name, platform));
52
- return readStdin(stdin, control.signal);
53
- });
54
- project = projectFile === undefined ? undefined : projectOf(projectFile, base.cwd);
55
- }
56
- catch (error) {
57
- control.close();
58
- return errorResult(error, format);
59
- }
60
- const { input, flags } = parsed;
61
- resumeHint = command.deadline?.resume(input, typedLine);
62
- let delivered;
63
- const { fileError } = base;
64
- const outputs = outputsGuard(classifiedFiles(files, { cwd: base.cwd, fileError }), base.cwd);
65
- const spill = spillTo({
66
- cliName: format.cliName,
67
- commandName: command.name,
68
- env: base.env,
69
- clock,
70
- files: outputs.files,
71
- fileError,
72
- });
73
- const portsBase = {
74
- ...base,
75
- signal: control.signal,
76
- clock,
77
- files: outputs.files,
78
- spawn: contextSpawn(spawn, { cwd: base.cwd, env: base.env, signal: control.signal, progress: base.progress }, fileError),
79
- };
80
- const builtPorts = once(() => ports(portsBase));
81
- const ctx = {
82
- ...portsBase,
83
- deadline: (ms) => control.deadline(ms),
84
- runToEnd: (name, work) => control.runToEnd(name, work),
85
- // Built on first read, so a factory that throws fails only what needs the ports, never `doctor`.
86
- get ports() {
87
- return builtPorts();
88
- },
89
- project,
90
- force: flags.force,
91
- commandLine: typedLine,
92
- poll: (check, { intervalMs, signal: stop }) => poll(clock, check, intervalMs, stop === undefined ? control.signal : AbortSignal.any([control.signal, stop])),
93
- deliver: (data) => {
94
- delivered = deliveredOutcome(command, data);
95
- },
96
- };
97
- let served = false;
98
- let settled;
99
- try {
100
- const outcome = await control.settle(execute(command, input, ctx, {
101
- dryRun: flags.dryRun,
102
- confirm: flags.confirm,
103
- yes: flags.yes,
104
- page: flags.page,
105
- invocation,
106
- commandLine,
107
- started: async (outcome) => {
108
- writeStdout(await startedOutput(outcome, format, spill));
109
- served = true;
110
- },
111
- files,
112
- guardOutputs: outputs.guard,
113
- }));
114
- settled = { ok: true, outcome };
115
- }
116
- catch (error) {
117
- if (served && control.signal.aborted) {
118
- return STOPPED_RESULT;
119
- }
120
- settled = {
121
- ok: false,
122
- error: control.errorAfter(error),
123
- delivered,
124
- };
125
- }
126
- return commandResult(settled, { ...format, fields: flags.fields }, spill);
127
- }
128
- /** `build` runs on the first call; later calls give its value or throw its error again. */
129
- function once(build) {
130
- let outcome;
131
- return () => {
132
- if (outcome === undefined) {
133
- try {
134
- outcome = { ok: true, value: build() };
135
- }
136
- catch (error) {
137
- outcome = { ok: false, error };
138
- }
139
- }
140
- if (outcome.ok)
141
- return outcome.value;
142
- throw outcome.error;
143
- };
144
- }
10
+ /**
11
+ * Runs the CLI in-process on `argv` and returns its `stdout`, `stderr` and `exitCode`, as a Coding
12
+ * agent would see them; the options replace the process's env, cwd and the Runtime's helpers.
13
+ */
145
14
  export async function runCli(cli, argv, options) {
146
15
  const stdout = [];
147
16
  const stderr = [];
148
- const result = await runWithProgress(cli, argv, options, {
17
+ const { exitCode } = await runWithProgress(cli, argv, options, {
149
18
  stdout: (text) => stdout.push(text),
150
19
  stderr: (text) => stderr.push(text),
20
+ result: async (result) => {
21
+ stdout.push(result.stdout);
22
+ stderr.push(result.stderr);
23
+ },
151
24
  });
152
- return {
153
- ...result,
154
- stdout: stdout.join("") + result.stdout,
155
- stderr: stderr.join("") + result.stderr,
156
- };
157
- }
158
- function selfOf(name, bin) {
159
- return bin === undefined ? [name] : [process.execPath, ...process.execArgv, bin];
160
- }
161
- function portsOf(cli, replacement) {
162
- if (replacement !== undefined)
163
- return () => replacement;
164
- return cli.ports ?? (() => ({}));
25
+ return { stdout: stdout.join(""), stderr: stderr.join(""), exitCode };
165
26
  }
166
27
  // Without --json, the leading newline moves the notice off the terminal's echoed ^C.
167
28
  function stopLine(notice, json) {
@@ -179,9 +40,16 @@ async function whileStopping(signal, onStop, work) {
179
40
  signal.removeEventListener("abort", onStop);
180
41
  }
181
42
  }
43
+ /** Runs the CLI, writes its output, then waits for the Side task it started. */
44
+ export async function runWithProgress(cli, argv, options, write, stopNotice) {
45
+ const { result, finishSideTask } = await routeAndRun(cli, argv, options, write, stopNotice);
46
+ await write.result(result);
47
+ await finishSideTask();
48
+ return result;
49
+ }
182
50
  // Progress is written as it happens: a Coding agent kills a process that stays silent too long.
183
51
  // A serve Command's data is too, since the caller uses it while the Command runs.
184
- export async function runWithProgress(cli, argv, options, write, stopNotice) {
52
+ async function routeAndRun(cli, argv, options, write, stopNotice) {
185
53
  const format = {
186
54
  cliName: cli.name,
187
55
  env: options.env,
@@ -191,58 +59,28 @@ export async function runWithProgress(cli, argv, options, write, stopNotice) {
191
59
  errors: cli.errors ?? {},
192
60
  stop: options.signal,
193
61
  };
194
- const builtIns = cli.commands === undefined
195
- ? {}
196
- : builtInCommands(cli, { bin: options.bin, node: options.node });
197
62
  const root = cli.commands === undefined
198
- ? commandSpec(cli.name, cli.command)
199
- : groupSpec(cli.name, { ...cli.commands, ...builtIns });
63
+ ? // A single-Command CLI is its Command, so the CLI's line stands in for the Command's.
64
+ { ...commandSpec(cli.name, cli.command), description: cli.description }
65
+ : groupSpec(cli.name, cli.commands, builtInCommands(cli, { bin: options.bin, node: options.node }));
200
66
  const routed = route(root, format.invocation);
201
- const platform = options.platform ?? process.platform;
202
- const fileError = fileErrorOf({
203
- callerLine: commandLineOf(format.invocation),
204
- env: options.env,
205
- platform,
206
- });
207
67
  const misused = (node) => isAgent(options.env)
208
68
  ? { ...format, usageHelp: textHelp(node, root, cli, format.style) }
209
69
  : format;
210
70
  switch (routed.kind) {
211
71
  case "version":
212
- return versionResult(cli, packageRootOf(options.bin, options.cwd));
72
+ return ranAlone(versionResult(cli, packageRootOf(options.bin, options.cwd)));
213
73
  case "help":
214
- return helpResult(routed.node, root, cli, { ...format, json: routed.json });
74
+ return ranAlone(helpResult(routed.node, root, cli, { ...format, json: routed.json }));
215
75
  case "usage error":
216
- return errorResult(routed.error, { ...misused(routed.node), json: routed.json });
76
+ return ranAlone(errorResult(routed.error, { ...misused(routed.node), json: routed.json }));
217
77
  case "command":
218
78
  return whileStopping(options.signal, stopNotice === undefined
219
79
  ? undefined
220
- : () => write.stderr(stopLine(stopNotice, routed.json)), () => runCommand(routed, {
221
- base: {
222
- cwd: options.cwd,
223
- env: options.env,
224
- packageRoot: packageRootOf(options.bin, options.cwd),
225
- progress: (message) => write.stderr(progressLine(message, routed.json)),
226
- secret: (name) => secretOf({ cliName: cli.name, env: options.env, fileError }, name),
227
- fileError,
228
- version: cli.version,
229
- build: cli.build,
230
- self: selfOf(cli.name, options.bin),
231
- },
232
- writeStdout: (text) => write.stdout(text),
233
- signal: options.signal,
234
- format: misused(routed.spec),
235
- ports: portsOf(cli, options.ports),
236
- clock: options.clock ?? realClock,
237
- files: options.files ?? realFiles(),
238
- spawn: options.spawn ?? realSpawn,
239
- // A built-in reads no Project file, so an invalid one never keeps `doctor` from reporting it.
240
- projectFile: Object.values(builtIns).includes(routed.spec.command)
241
- ? undefined
242
- : cli.project,
243
- stdin: options.stdin ?? "",
244
- platform,
245
- }));
80
+ : () => write.stderr(stopLine(stopNotice, routed.json)), () => runCommand(cli, routed, options, write, misused(routed.spec)));
246
81
  }
247
82
  }
83
+ async function ranAlone(result) {
84
+ return { result: await result, finishSideTask: noSideTask };
85
+ }
248
86
  //# sourceMappingURL=run-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../src/run-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../src/run-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Cli } from "./define.js";
2
+ import { type OutputFormat, type RunResult } from "./output.js";
3
+ import type { CommandRoute } from "./route.js";
4
+ import type { RunOptions, Writers } from "./run-options.js";
5
+ import { type FinishSideTask } from "./side-task.js";
6
+ export interface Ran {
7
+ readonly result: RunResult;
8
+ readonly finishSideTask: FinishSideTask;
9
+ }
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: RunOptions<unknown>, write: Writers, baseFormat: OutputFormat): Promise<Ran>;