@duyquangnvx/agent-cli 0.26.0 → 0.28.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 (128) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/agent-cli.js +9 -2
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/built-ins/agents-md.d.ts +3 -2
  5. package/dist/built-ins/agents-md.js +8 -9
  6. package/dist/built-ins/agents-md.js.map +1 -1
  7. package/dist/built-ins/commands.d.ts +2 -1
  8. package/dist/built-ins/commands.js.map +1 -1
  9. package/dist/built-ins/doctor-rows.js +1 -1
  10. package/dist/built-ins/doctor-rows.js.map +1 -1
  11. package/dist/built-ins/doctor.d.ts +0 -1
  12. package/dist/built-ins/doctor.js +21 -8
  13. package/dist/built-ins/doctor.js.map +1 -1
  14. package/dist/built-ins/install/dependency.js +23 -23
  15. package/dist/built-ins/install/dependency.js.map +1 -1
  16. package/dist/built-ins/install/global-npm.d.ts +6 -3
  17. package/dist/built-ins/install/global-npm.js +19 -14
  18. package/dist/built-ins/install/global-npm.js.map +1 -1
  19. package/dist/built-ins/install/global.js +6 -7
  20. package/dist/built-ins/install/global.js.map +1 -1
  21. package/dist/built-ins/install/install.d.ts +0 -3
  22. package/dist/built-ins/install/install.js +0 -1
  23. package/dist/built-ins/install/install.js.map +1 -1
  24. package/dist/built-ins/install/release-check.js +10 -17
  25. package/dist/built-ins/install/release-check.js.map +1 -1
  26. package/dist/built-ins/npm.d.ts +8 -7
  27. package/dist/built-ins/npm.js +20 -12
  28. package/dist/built-ins/npm.js.map +1 -1
  29. package/dist/built-ins/project-root.d.ts +4 -4
  30. package/dist/built-ins/project-root.js +12 -22
  31. package/dist/built-ins/project-root.js.map +1 -1
  32. package/dist/built-ins/read.d.ts +5 -0
  33. package/dist/built-ins/read.js +29 -0
  34. package/dist/built-ins/read.js.map +1 -0
  35. package/dist/built-ins/setup.d.ts +1 -2
  36. package/dist/built-ins/setup.js +32 -26
  37. package/dist/built-ins/setup.js.map +1 -1
  38. package/dist/built-ins/skill/home.d.ts +2 -1
  39. package/dist/built-ins/skill/home.js +19 -17
  40. package/dist/built-ins/skill/home.js.map +1 -1
  41. package/dist/built-ins/skill/install-command.d.ts +2 -1
  42. package/dist/built-ins/skill/install-command.js +13 -11
  43. package/dist/built-ins/skill/install-command.js.map +1 -1
  44. package/dist/built-ins/skill/project.js +6 -7
  45. package/dist/built-ins/skill/project.js.map +1 -1
  46. package/dist/built-ins/skill/sync.d.ts +4 -3
  47. package/dist/built-ins/skill/sync.js +24 -17
  48. package/dist/built-ins/skill/sync.js.map +1 -1
  49. package/dist/built-ins/update.d.ts +1 -1
  50. package/dist/built-ins/update.js +9 -7
  51. package/dist/built-ins/update.js.map +1 -1
  52. package/dist/built-ins/upgrades.d.ts +2 -1
  53. package/dist/built-ins/upgrades.js +5 -12
  54. package/dist/built-ins/upgrades.js.map +1 -1
  55. package/dist/check-examples.js +5 -23
  56. package/dist/check-examples.js.map +1 -1
  57. package/dist/check-next-steps.d.ts +3 -9
  58. package/dist/check-next-steps.js +20 -32
  59. package/dist/check-next-steps.js.map +1 -1
  60. package/dist/command-line/line-problem.d.ts +14 -0
  61. package/dist/command-line/line-problem.js +41 -0
  62. package/dist/command-line/line-problem.js.map +1 -0
  63. package/dist/context/files.d.ts +3 -0
  64. package/dist/context/files.js +17 -2
  65. package/dist/context/files.js.map +1 -1
  66. package/dist/context/outputs.d.ts +13 -24
  67. package/dist/context/outputs.js +37 -37
  68. package/dist/context/outputs.js.map +1 -1
  69. package/dist/context/secrets.d.ts +5 -1
  70. package/dist/context/secrets.js +18 -5
  71. package/dist/context/secrets.js.map +1 -1
  72. package/dist/context/spawn.js +3 -1
  73. package/dist/context/spawn.js.map +1 -1
  74. package/dist/context/tools.d.ts +9 -4
  75. package/dist/context/tools.js +12 -12
  76. package/dist/context/tools.js.map +1 -1
  77. package/dist/context.d.ts +12 -8
  78. package/dist/define-command.d.ts +29 -13
  79. package/dist/define-command.js +5 -3
  80. package/dist/define-command.js.map +1 -1
  81. package/dist/define.d.ts +19 -6
  82. package/dist/define.js.map +1 -1
  83. package/dist/errors.d.ts +3 -6
  84. package/dist/errors.js +17 -28
  85. package/dist/errors.js.map +1 -1
  86. package/dist/execute.d.ts +7 -16
  87. package/dist/execute.js +11 -14
  88. package/dist/execute.js.map +1 -1
  89. package/dist/exit-classes.d.ts +7 -10
  90. package/dist/exit-classes.js +20 -81
  91. package/dist/exit-classes.js.map +1 -1
  92. package/dist/failure.d.ts +36 -0
  93. package/dist/failure.js +65 -0
  94. package/dist/failure.js.map +1 -0
  95. package/dist/help-json.js +5 -3
  96. package/dist/help-json.js.map +1 -1
  97. package/dist/help.js +9 -3
  98. package/dist/help.js.map +1 -1
  99. package/dist/output.d.ts +3 -10
  100. package/dist/output.js +14 -24
  101. package/dist/output.js.map +1 -1
  102. package/dist/run-cli.js +7 -5
  103. package/dist/run-cli.js.map +1 -1
  104. package/dist/run-command.d.ts +6 -1
  105. package/dist/run-command.js +31 -155
  106. package/dist/run-command.js.map +1 -1
  107. package/dist/run-options.d.ts +5 -2
  108. package/dist/run-scope.d.ts +35 -0
  109. package/dist/run-scope.js +138 -0
  110. package/dist/run-scope.js.map +1 -0
  111. package/dist/runtime-codes.d.ts +140 -1
  112. package/dist/runtime-codes.js +60 -4
  113. package/dist/runtime-codes.js.map +1 -1
  114. package/docs/README.md +2 -2
  115. package/docs/example/cli.test.ts +9 -2
  116. package/docs/example/cli.ts +1 -0
  117. package/docs/example/folder.ts +1 -0
  118. package/docs/guides/commands.md +2 -2
  119. package/docs/guides/doctor.md +3 -2
  120. package/docs/guides/errors.md +1 -1
  121. package/docs/guides/testing.md +2 -1
  122. package/package.json +1 -1
  123. package/dist/command-errors.d.ts +0 -8
  124. package/dist/command-errors.js +0 -25
  125. package/dist/command-errors.js.map +0 -1
  126. package/dist/command-line/route-line.d.ts +0 -15
  127. package/dist/command-line/route-line.js +0 -18
  128. package/dist/command-line/route-line.js.map +0 -1
package/dist/output.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { join } from "node:path";
2
- import { checkedNextSteps } from "./check-next-steps.js";
3
2
  import { errorTableOf } from "./error-table.js";
4
- import { errorsOf, formatRuntimeError, UsageError } from "./errors.js";
5
- import { exitCodeOf, isBug, isWait } from "./exit-classes.js";
3
+ import { formatRuntimeError, UsageError } from "./errors.js";
4
+ import { failureOf, withLeaves } from "./failure.js";
6
5
  import { cliHelp, commandHelp, groupHelp } from "./help.js";
7
6
  import { cliHelpJson, commandHelpJson, groupHelpJson } from "./help-json.js";
8
7
  import { Page, pageFooter, printedPage, projected, renderRows } from "./list.js";
@@ -38,18 +37,16 @@ export function noticeLine(text, json) {
38
37
  function stderrLine(key, text, json) {
39
38
  return json ? `${JSON.stringify({ [key]: text })}\n` : `${text}\n`;
40
39
  }
41
- function errorText(error, format) {
42
- const text = formatRuntimeError(error, {
43
- ...format,
44
- runAs: format.invocation.runAs,
45
- isBug: (each) => isBug(each, format.errors),
46
- isWait: (each) => isWait(each, format.errors),
47
- });
40
+ function errorText({ leaves }, format) {
41
+ const text = formatRuntimeError(leaves, { ...format, runAs: format.invocation.runAs });
48
42
  const { usageHelp, json } = format;
49
- return usageHelp !== undefined && !json && error instanceof UsageError
43
+ return usageHelp !== undefined && !json && leaves.some((leaf) => leaf.error instanceof UsageError)
50
44
  ? `${text}\n${usageHelp}`
51
45
  : text;
52
46
  }
47
+ function failedResult(failure, format) {
48
+ return { stdout: "", stderr: errorText(failure, format), exitCode: failure.exitCode };
49
+ }
53
50
  // A List Command keeps paging instead: `--limit` is how its caller sizes the output.
54
51
  function stdoutOf({ value, render }, format, spill) {
55
52
  const text = printed(value, render, format);
@@ -61,15 +58,8 @@ export function startedOutput(outcome, format, spill) {
61
58
  }
62
59
  /** A serve Command stopped, or ended itself, after it started: that is how it is meant to end. */
63
60
  export const STOPPED_RESULT = { stdout: "", stderr: "", exitCode: SUCCESS_EXIT_CODE };
64
- export function errorResult(error, format) {
65
- const checked = format.checkNextStep === undefined
66
- ? error
67
- : checkedNextSteps(error, format.checkNextStep, format.invocation.runAs);
68
- return {
69
- stdout: "",
70
- stderr: errorText(checked, format),
71
- exitCode: exitCodeOf(checked, format.errors, format.stop),
72
- };
61
+ export async function errorResult(error, format) {
62
+ return failedResult(await failureOf(error, format), format);
73
63
  }
74
64
  export async function commandResult(settled, format, spill) {
75
65
  if (settled.ok) {
@@ -85,21 +75,21 @@ export async function commandResult(settled, format, spill) {
85
75
  if (delivered === undefined) {
86
76
  return errorResult(error, format);
87
77
  }
78
+ const failure = await failureOf(error, format);
88
79
  let outcome;
89
80
  try {
90
81
  outcome = delivered();
91
82
  }
92
83
  catch (rejected) {
93
- return errorResult(new AggregateError([...errorsOf(error), rejected]), format);
84
+ return failedResult(withLeaves(failure, rejected, format), format);
94
85
  }
95
- const result = errorResult(error, format);
86
+ const result = failedResult(failure, format);
96
87
  try {
97
88
  return { ...result, stdout: await stdoutOf(outcome, format, spill) };
98
89
  }
99
90
  catch (spillError) {
100
91
  // The run's own error decides the exit code; the lost data is reported after it.
101
- const both = new AggregateError([...errorsOf(error), spillError]);
102
- return { ...result, stderr: errorText(both, format) };
92
+ return { ...result, stderr: errorText(withLeaves(failure, spillError, format), format) };
103
93
  }
104
94
  }
105
95
  // The root's help names the CLI and its version; a single Command is its CLI's root.
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,uBAAuB,CAAC;AAM7E,OAAO,EAAmB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAoB,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQvD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAiC5B,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CACd,KAAc,EACd,MAAgC,EAChC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAc;IAE/C,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI;YACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;YAC7B,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,wFAAwF;IACxF,OAAO,IAAI;QACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI;QACjD,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa;IACpD,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,GAA0B,EAAE,IAAY,EAAE,IAAa;IACzE,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,MAAoB;IACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE;QACrC,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,YAAY,UAAU;QACpE,CAAC,CAAC,GAAG,IAAI,KAAK,SAAS,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,qFAAqF;AACrF,SAAS,QAAQ,CACf,EAAE,KAAK,EAAE,MAAM,EAAW,EAC1B,MAAkB,EAClB,KAAY;IAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,MAAoB,EACpB,KAAY;IAEZ,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAEjG,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,MAAoB;IAC9D,MAAM,OAAO,GACX,MAAM,CAAC,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO;QACL,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,MAAkB,EAClB,KAAY;IAEZ,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC,IAAI,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,iFAAiF;QACjF,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,IAAc,EAAE,GAAQ,EAAE,KAAY;IAC7E,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,IAAc,EAAE,GAAQ,EAAE,KAAY,EAAE,IAAa;IACnF,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAc,EACd,IAAc,EACd,GAAQ,EACR,EAAE,KAAK,EAAE,IAAI,EAAgB;IAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,WAAmB;IACzD,MAAM,KAAK,GAAG;QACZ,WAAW,CAAC,GAAG,CAAC;QAChB,GAAG,CAAC,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC3E,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAoB,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAqC,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQvD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AA2B5B,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CACd,KAAc,EACd,MAAgC,EAChC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAc;IAE/C,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI;YACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;YAC7B,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,wFAAwF;IACxF,OAAO,IAAI;QACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI;QACjD,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa;IACpD,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,GAA0B,EAAE,IAAY,EAAE,IAAa;IACzE,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,MAAM,EAAW,EAAE,MAAoB;IAC1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACvF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,YAAY,UAAU,CAAC;QAChG,CAAC,CAAC,GAAG,IAAI,KAAK,SAAS,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,MAAoB;IAC1D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACxF,CAAC;AAED,qFAAqF;AACrF,SAAS,QAAQ,CACf,EAAE,KAAK,EAAE,MAAM,EAAW,EAC1B,MAAkB,EAClB,KAAY;IAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,MAAoB,EACpB,KAAY;IAEZ,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAEjG,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,MAAoB;IACpE,OAAO,YAAY,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,MAAkB,EAClB,KAAY;IAEZ,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,iFAAiF;QACjF,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,IAAc,EAAE,GAAQ,EAAE,KAAY;IAC7E,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,IAAc,EAAE,GAAQ,EAAE,KAAY,EAAE,IAAa;IACnF,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAc,EACd,IAAc,EACd,GAAQ,EACR,EAAE,KAAK,EAAE,IAAI,EAAgB;IAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,WAAmB;IACzD,MAAM,KAAK,GAAG;QACZ,WAAW,CAAC,GAAG,CAAC;QAChB,GAAG,CAAC,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC3E,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACtF,CAAC"}
package/dist/run-cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { runAsOf } from "./built-ins/install/run-as.js";
2
- import { nextStepProblem } from "./check-next-steps.js";
2
+ import { nextStepCheck } from "./check-next-steps.js";
3
3
  import { route } from "./command-line/route.js";
4
4
  import { isAgent } from "./context/agent.js";
5
5
  import { noSideTask } from "./context/side-task.js";
@@ -53,7 +53,11 @@ export async function runWithProgress(cli, argv, options, write, stopNotice) {
53
53
  // A serve Command's data is too, since the caller uses it while the Command runs.
54
54
  async function routeAndRun(cli, argv, options, write, stopNotice) {
55
55
  const runAs = runAsOf(cli);
56
- const root = rootSpec(cli, { bin: options.bin, node: options.node });
56
+ const root = rootSpec(cli, {
57
+ bin: options.bin,
58
+ node: options.node,
59
+ platform: options.platform ?? process.platform,
60
+ });
57
61
  const format = {
58
62
  cliName: cli.name,
59
63
  env: options.env,
@@ -62,9 +66,7 @@ async function routeAndRun(cli, argv, options, write, stopNotice) {
62
66
  json: false,
63
67
  errors: errorTableOf(cli),
64
68
  stop: options.signal,
65
- ...(options.checkNextSteps === true
66
- ? { checkNextStep: (step) => nextStepProblem(root, runAs, step) }
67
- : {}),
69
+ ...(options.checkNextSteps === true ? { nextStepCheck: nextStepCheck(root, runAs) } : {}),
68
70
  };
69
71
  const routed = route(root, format.invocation);
70
72
  const misused = (node) => isAgent(options.env)
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,WAAW,EACX,UAAU,EAEV,YAAY,EAEZ,QAAQ,EACR,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAY,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,GAAyB,EACzB,IAAuB,EACvB,OAAmC;IAEnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CACxC,GAAG,EACH,IAAI,EACJ,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAC5D;QACE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;KACF,CACF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED,qFAAqF;AACrF,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAa;IAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC;AAC7D,CAAC;AAED,2DAA2D;AAC3D,KAAK,UAAU,aAAa,CAC1B,MAA+B,EAC/B,MAAgC,EAChC,IAAsB;IAEtB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAChE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAQ,EACR,IAAuB,EACvB,OAA6B,EAC7B,KAAc,EACd,UAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,cAAc,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gGAAgG;AAChG,kFAAkF;AAClF,KAAK,UAAU,WAAW,CACxB,GAAQ,EACR,IAAuB,EACvB,OAA6B,EAC7B,KAAc,EACd,UAA8B;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;KAC/C,CAAC,CAAC;IACH,MAAM,MAAM,GAAiB;QAC3B,OAAO,EAAE,GAAG,CAAC,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;QAC1D,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACtC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;QACzB,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,IAAc,EAAgB,EAAE,CAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;QACnE,CAAC,CAAC,MAAM,CAAC;IACb,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7F,KAAK,SAAS;YACZ,OAAO,aAAa,CAClB,OAAO,CAAC,MAAM,EACd,UAAU,KAAK,SAAS;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EACzD,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;IACN,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAsC;IAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAC9D,CAAC"}
@@ -7,5 +7,10 @@ export interface Ran {
7
7
  readonly result: RunResult;
8
8
  readonly finishSideTask: FinishSideTask;
9
9
  }
10
- /** Leaves the Side task running, so the caller writes the result before it waits for it. */
10
+ /**
11
+ * Leaves the Side task running, so the caller writes the result before it waits for it.
12
+ *
13
+ * A gate that needs no `ctx` (operator, parse, Project file) runs here; one that does (tools,
14
+ * Secrets, the Plan's) runs in `execute`, after the Notices, so a failing run still delivers them.
15
+ */
11
16
  export declare function runCommand(cli: Cli, routed: CommandRoute, options: RunSettings<unknown>, write: Writers, baseFormat: OutputFormat): Promise<Ran>;
@@ -1,27 +1,18 @@
1
1
  import { installOf } from "./built-ins/install/install.js";
2
- import { poll, realClock } from "./clock.js";
3
- import { checkedCodes } from "./command-errors.js";
4
- import { changedArgv, commandLineOf } from "./command-line/invocation.js";
5
- import { knownFlags, parseCommand, stdinArgOf, } from "./command-line/parse-input.js";
2
+ import { commandLineOf } from "./command-line/invocation.js";
3
+ import { parseCommand } from "./command-line/parse-input.js";
6
4
  import { commandLabel } from "./command-spec.js";
7
- import { fileErrorOf } from "./context/errno.js";
8
- import { classifiedFiles, realFiles } from "./context/files.js";
9
5
  import { RunControl } from "./context/interrupts.js";
10
6
  import { checkOperator } from "./context/operator.js";
11
- import { outputsGuard } from "./context/outputs.js";
12
7
  import { projectOf } from "./context/project.js";
13
- import { envFileOf, secretOf } from "./context/secrets.js";
14
8
  import { noSideTask, startSideTask } from "./context/side-task.js";
15
- import { contextSpawn, contextSpawnDetached, realSpawn, realSpawnDetached, } from "./context/spawn.js";
16
9
  import { spillTo } from "./context/spill.js";
17
10
  import { isTerminal, readingLine, readStdin, stdinStalled } from "./context/stdin.js";
18
- import { cliErrorOf } from "./error-table.js";
19
11
  import { isDebug, traceOf } from "./errors.js";
20
12
  import { dataOutcome, execute } from "./execute.js";
21
13
  import { manifestAt } from "./manifest.js";
22
- import { commandResult, errorResult, noticeLine, progressLine, STOPPED_RESULT, startedOutput, } from "./output.js";
23
- import { packageRootOf } from "./package-root.js";
24
- import { buildStamp } from "./version.js";
14
+ import { commandResult, errorResult, STOPPED_RESULT, startedOutput, } from "./output.js";
15
+ import { contextOf, once, runScopeOf } from "./run-scope.js";
25
16
  function stdinNeverEndedHint(callerLine) {
26
17
  return `stdin never ended: pipe the text into \`${callerLine}\`, or redirect a file into it`;
27
18
  }
@@ -30,105 +21,19 @@ function runDeadlineAdvice(resumed, pipedLine) {
30
21
  ? { hint: stdinNeverEndedHint(pipedLine) }
31
22
  : { hint: "run the Next step to continue the work", next: [resumed] };
32
23
  }
33
- function selfOf(name, bin) {
34
- return bin === undefined ? [name] : [process.execPath, ...process.execArgv, bin];
35
- }
36
- const unfakedSpawnDetached = async () => {
37
- throw new Error("runCli was given a fake spawn but no spawnDetached: pass spawnDetached to runCli, so the test starts no real child");
38
- };
39
- // A test that fakes `spawn` expects no real child, detached ones included.
40
- function spawnDetachedOf({ spawn, spawnDetached }) {
41
- if (spawnDetached !== undefined)
42
- return spawnDetached;
43
- return spawn === undefined ? realSpawnDetached : unfakedSpawnDetached;
44
- }
45
- function portsOf(cli, replacement) {
46
- if (replacement !== undefined)
47
- return () => replacement;
48
- return cli.ports ?? (() => ({}));
49
- }
50
- function portsBaseOf(scope, signal) {
51
- const { cli, options, packageRoot, progress, fileError, rerun, clock, files } = scope;
52
- const { cwd, env } = options;
53
- const envFile = envFileOf(cli.name, env);
54
- return {
55
- cwd,
56
- env,
57
- packageRoot,
58
- progress,
59
- secret: (name) => secretOf({ envFile, env, fileError }, name),
60
- envFile,
61
- fileError,
62
- version: cli.version,
63
- build: buildStamp(),
64
- self: selfOf(cli.name, options.bin),
65
- signal,
66
- clock,
67
- files,
68
- spawn: contextSpawn(options.spawn ?? realSpawn, { cwd, env, signal }, { fileError, rerun }),
69
- spawnDetached: contextSpawnDetached(spawnDetachedOf(options), { cwd, env, signal }, { fileError, rerun }),
70
- };
71
- }
72
- function contextOf(portsBase, control, parts) {
73
- const { ports, project, force, dryRun, secrets = [], rerun, deliver, notice } = parts;
74
- const declared = new Set(secrets.map(({ name }) => name));
75
- return {
76
- ...portsBase,
77
- secret: (name) => {
78
- // Only a cast reaches an undeclared name, and only a `.env` edited mid-run a missing value.
79
- if (!declared.has(name)) {
80
- throw new Error(`ctx.secret("${name}") names a Secret the Command does not declare`);
81
- }
82
- const secret = portsBase.secret(name);
83
- if (secret === undefined)
84
- throw new Error(`ctx.secret("${name}") found no value`);
85
- return secret;
86
- },
87
- fail: cliErrorOf,
88
- deadline: (ms, options) => control.deadline(ms, options),
89
- runToEnd: (name, work) => control.runToEnd(name, work),
90
- // Built on first read, so a factory that throws fails only what needs the ports, never `doctor`.
91
- get ports() {
92
- return ports();
93
- },
94
- project,
95
- force,
96
- dryRun,
97
- rerun,
98
- poll: (check, { intervalMs, signal: stop }) => poll(portsBase.clock, check, intervalMs, stop === undefined ? control.signal : AbortSignal.any([control.signal, stop])),
99
- deliver,
100
- notice,
101
- };
102
- }
103
- /** Leaves the Side task running, so the caller writes the result before it waits for it. */
24
+ /**
25
+ * Leaves the Side task running, so the caller writes the result before it waits for it.
26
+ *
27
+ * A gate that needs no `ctx` (operator, parse, Project file) runs here; one that does (tools,
28
+ * Secrets, the Plan's) runs in `execute`, after the Notices, so a failing run still delivers them.
29
+ */
104
30
  export async function runCommand(cli, routed, options, write, baseFormat) {
105
31
  const { command, commandLine, builtIn } = routed.spec;
106
32
  const { cwd, env } = options;
107
- const clock = options.clock ?? realClock;
108
- const files = options.files ?? realFiles();
109
33
  const stdin = options.stdin ?? "";
110
- const platform = options.platform ?? process.platform;
111
- const ports = portsOf(cli, options.ports);
112
- const packageRoot = packageRootOf(options.bin, cwd);
113
- const progress = (message) => write.stderr(progressLine(message, routed.json));
114
- const invocation = {
115
- ...baseFormat.invocation,
116
- flags: knownFlags(routed.spec),
117
- stdinArg: stdinArgOf(routed),
118
- };
119
- const rerunOf = (change) => ({
120
- kind: "rerun",
121
- words: changedArgv(invocation, change),
122
- stdinArg: invocation.stdinArg,
123
- });
34
+ const scope = runScopeOf(cli, routed, options, write, baseFormat.invocation);
35
+ const { invocation, rerun: rerunOf, fileError, clock, outputs, progress, platform } = scope;
124
36
  const rerun = rerunOf();
125
- const fileError = fileErrorOf({ rerun, env, platform });
126
- const format = {
127
- ...baseFormat,
128
- bugs: () => manifestAt(packageRoot).bugs,
129
- json: routed.json,
130
- invocation,
131
- };
132
37
  // A stdin that never ended was fed by the caller's own pipe, so its hint names no file to redirect.
133
38
  const pipedLine = commandLineOf({ ...invocation, stdinArg: undefined });
134
39
  // Set once the input is parsed; a deadline before that can only have cut off the stdin read.
@@ -147,9 +52,17 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
147
52
  advice: () => runDeadlineAdvice(resumed, pipedLine),
148
53
  },
149
54
  });
150
- const failed = (error, finishSideTask) => {
55
+ const format = {
56
+ ...baseFormat,
57
+ command: routed.spec,
58
+ control,
59
+ bugs: () => manifestAt(scope.packageRoot).bugs,
60
+ json: routed.json,
61
+ invocation,
62
+ };
63
+ const failed = async (error, finishSideTask) => {
151
64
  control.close();
152
- return { result: errorResult(error, format), finishSideTask };
65
+ return { result: await errorResult(error, format), finishSideTask };
153
66
  };
154
67
  let parsed;
155
68
  try {
@@ -168,21 +81,9 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
168
81
  }
169
82
  const { input, flags } = parsed;
170
83
  resumed = command.deadline?.resume(input, rerunOf);
171
- const outputs = outputsGuard(classifiedFiles(files, { cwd, fileError }), cwd);
172
- const scope = {
173
- cli,
174
- options,
175
- packageRoot,
176
- progress,
177
- fileError,
178
- rerun,
179
- clock,
180
- files: outputs.files,
181
- };
182
- const portsBase = portsBaseOf(scope, control.signal);
183
84
  const finishSideTask = startSideTask(builtIn ? undefined : cli.sideTask?.bind(cli), (sideSignal) => {
184
- const sideBase = portsBaseOf(scope, sideSignal);
185
- const sidePorts = once(() => ports(sideBase));
85
+ const sideBase = scope.portsBase(sideSignal);
86
+ const sidePorts = once(() => scope.ports(sideBase));
186
87
  return {
187
88
  ...sideBase,
188
89
  command: routed.spec.path,
@@ -211,14 +112,10 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
211
112
  }
212
113
  // Parsed only when printed, so a Command that catches around `deliver` cannot hide a rejection.
213
114
  let delivered;
214
- const ctx = contextOf(portsBase, control, {
215
- ports: once(() => ports(portsBase)),
115
+ const ctx = contextOf(scope, control, {
116
+ command,
117
+ flags,
216
118
  project,
217
- force: flags.force,
218
- dryRun: flags.dryRun,
219
- secrets: command.secrets,
220
- rerun: rerunOf,
221
- notice: (text) => write.stderr(noticeLine(text, routed.json)),
222
119
  deliver: (data) => {
223
120
  delivered = () => dataOutcome(command, data, commandLine);
224
121
  },
@@ -236,18 +133,14 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
236
133
  try {
237
134
  const outcome = await control.settle(
238
135
  // The Notices come first, so they reach the caller even when the Command fails.
239
- noticesOf(cli, { builtIn, bin: options.bin, node: options.node }, ctx).then(() => execute(command, input, ctx, {
240
- dryRun: flags.dryRun,
241
- confirm: flags.confirm,
242
- yes: flags.yes,
243
- page: flags.page,
136
+ noticesOf(cli, { builtIn, bin: options.bin, node: options.node, platform }, ctx).then(() => execute(command, input, ctx, {
137
+ flags,
244
138
  commandLine,
245
139
  started: async (outcome) => {
246
140
  write.stdout(await startedOutput(outcome, format, spill));
247
141
  served = true;
248
142
  },
249
- files,
250
- guardOutputs: outputs.guard,
143
+ outputs,
251
144
  })));
252
145
  // A serve Command that ended itself printed its data when it started.
253
146
  if (served)
@@ -261,7 +154,7 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
261
154
  }
262
155
  settled = {
263
156
  ok: false,
264
- error: checkedCodes(control.errorAfter(error), routed.spec, cli),
157
+ error,
265
158
  delivered,
266
159
  };
267
160
  }
@@ -270,23 +163,6 @@ export async function runCommand(cli, routed, options, write, baseFormat) {
270
163
  finishSideTask,
271
164
  };
272
165
  }
273
- /** `build` runs on the first call; later calls give its value or throw its error again. */
274
- function once(build) {
275
- let outcome;
276
- return () => {
277
- if (outcome === undefined) {
278
- try {
279
- outcome = { ok: true, value: build() };
280
- }
281
- catch (error) {
282
- outcome = { ok: false, error };
283
- }
284
- }
285
- if (outcome.ok)
286
- return outcome.value;
287
- throw outcome.error;
288
- };
289
- }
290
166
  async function noticesOf(cli, launch, ctx) {
291
167
  await installOf(cli).notice(launch, ctx);
292
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAc,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,UAAU,GACX,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAkB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAuB,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAe,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EAEV,YAAY,EAGZ,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,OAAO,2CAA2C,UAAU,gCAAgC,CAAC;AAC/F,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6B,EAAE,SAAiB;IACzE,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,GAAuB;IACnD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,oBAAoB,GAAkB,KAAK,IAAI,EAAE;IACrD,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;AACJ,CAAC,CAAC;AAEF,2EAA2E;AAC3E,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,aAAa,EAAwB;IACrE,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACxE,CAAC;AAED,SAAS,OAAO,CAAC,GAAQ,EAAE,WAAoB;IAC7C,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC;IACxD,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAaD,SAAS,WAAW,CAAC,KAAiB,EAAE,MAAmB;IACzD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACtF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO;QACL,GAAG;QACH,GAAG;QACH,WAAW;QACX,QAAQ;QACR,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC;QAC7D,OAAO;QACP,SAAS;QACT,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,UAAU,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;QACnC,MAAM;QACN,KAAK;QACL,KAAK;QACL,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC3F,aAAa,EAAE,oBAAoB,CACjC,eAAe,CAAC,OAAO,CAAC,EACxB,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EACpB,EAAE,SAAS,EAAE,KAAK,EAAE,CACrB;KACF,CAAC;AACJ,CAAC;AAcD,SAAS,SAAS,CAAC,SAAoB,EAAE,OAAmB,EAAE,KAAmB;IAC/E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,GAAG,SAAS;QACZ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,4FAA4F;YAC5F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,gDAAgD,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,mBAAmB,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACtD,iGAAiG;QACjG,IAAI,KAAK;YACP,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,OAAO;QACP,KAAK;QACL,MAAM;QACN,KAAK;QACL,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAC5C,IAAI,CACF,SAAS,CAAC,KAAK,EACf,KAAK,EACL,UAAU,EACV,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAC9E;QACH,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAQ,EACR,MAAoB,EACpB,OAA6B,EAC7B,KAAc,EACd,UAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG;QACjB,GAAG,UAAU,CAAC,UAAU;QACxB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;KAC7B,CAAC;IACF,MAAM,OAAO,GAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC;QACtC,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,MAAM,MAAM,GAAiB;QAC3B,GAAG,UAAU;QACb,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI;QACxC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU;KACX,CAAC;IACF,oGAAoG;IACpG,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,6FAA6F;IAC7F,IAAI,OAA6B,CAAC;IAClC,gGAAgG;IAChG,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;QAC7B,WAAW;QACX,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK;QACL,QAAQ;QACR,WAAW,EACT,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACvB,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;aACpD;KACR,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,cAA8B,EAAO,EAAE;QACrE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAChE,CAAC,CAAC;IACF,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBACtC,KAAK;gBACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAChC,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAe;QACxB,GAAG;QACH,OAAO;QACP,WAAW;QACX,QAAQ;QACR,SAAS;QACT,KAAK;QACL,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,aAAa,CAClC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAC7C,CAAC,UAAU,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,KAAK;gBACP,OAAO,SAAS,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC,EACD;QACE,KAAK;QACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,OAAO,CAAC,UAAU,CAAC;gBAAE,QAAQ,CAAC,qBAAqB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;KACF,CACF,CAAC;IACF,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,8FAA8F;QAC9F,OAAO;YACL,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;gBAClC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACvC,CAAC;IACD,gGAAgG;IAChG,IAAI,SAAsC,CAAC;IAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE;QACxC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;QACrD,GAAG;QACH,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS;KACV,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM;QAClC,gFAAgF;QAChF,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/E,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW;YACX,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACzB,KAAK,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC1D,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,KAAK;YACL,YAAY,EAAE,OAAO,CAAC,KAAK;SAC5B,CAAC,CACH,CACF,CAAC;QACF,sEAAsE;QACtE,IAAI,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;QAC9D,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yFAAyF;QACzF,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,GAAG;YACR,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAChE,SAAS;SACV,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;QAChF,cAAc;KACf,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,IAAI,CAAI,KAAc;IAC7B,IAAI,OAA2E,CAAC;IAChF,OAAO,GAAG,EAAE;QACV,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC;QACrC,MAAM,OAAO,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAQ,EAAE,MAAoB,EAAE,GAAY;IACnE,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,11 @@ export interface RunOptions<Ports = NoPorts> {
41
41
  /** What an arg given `-` reads; absent, it reads an empty text. */
42
42
  readonly stdin?: StdinSource;
43
43
  /**
44
- * Replaces `process.platform` in picking the wording of hints, such as `PERMISSION_DENIED`'s and
45
- * how to end stdin, for a test of the Windows wording.
44
+ * Replaces `process.platform` wherever the Runtime reads it: the wording of hints, such as
45
+ * `PERMISSION_DENIED`'s and how to end stdin, which file a declared tool is on `PATH` (Windows
46
+ * adds `PATHEXT`), and npm's file and folders in the Built-in Commands. A test passes `"win32"`
47
+ * to run the Windows branches on any OS; starting a real child and retrying a real file rename
48
+ * still follow the host.
46
49
  */
47
50
  readonly platform?: NodeJS.Platform;
48
51
  }
@@ -0,0 +1,35 @@
1
+ import { type Clock } from "./clock.js";
2
+ import { type Invocation } from "./command-line/invocation.js";
3
+ import { type StandardValues } from "./command-line/parse-input.js";
4
+ import type { CommandRoute } from "./command-line/route.js";
5
+ import { type FileError } from "./context/errno.js";
6
+ import type { RunControl } from "./context/interrupts.js";
7
+ import { type Outputs } from "./context/outputs.js";
8
+ import type { Context, PortsBase, Project } from "./context.js";
9
+ import type { Cli, Command } from "./define.js";
10
+ import type { RunSettings, Writers } from "./run-options.js";
11
+ /** What one Command run shares between its `ctx`, its Side task and its output. */
12
+ export interface RunScope {
13
+ readonly invocation: Invocation;
14
+ readonly rerun: Context["rerun"];
15
+ readonly fileError: FileError;
16
+ readonly clock: Clock;
17
+ readonly platform: NodeJS.Platform;
18
+ readonly outputs: Outputs;
19
+ readonly progress: (message: string) => void;
20
+ readonly notice: (text: string) => void;
21
+ readonly packageRoot: string;
22
+ /** The CLI's ports factory, or the test's replacement. */
23
+ readonly ports: (base: PortsBase) => unknown;
24
+ portsBase(signal: AbortSignal): PortsBase;
25
+ }
26
+ export declare function runScopeOf(cli: Cli, routed: CommandRoute, settings: RunSettings<unknown>, write: Writers, baseInvocation: Invocation): RunScope;
27
+ export interface Parsed {
28
+ readonly command: Command;
29
+ readonly flags: StandardValues;
30
+ readonly project: Project | undefined;
31
+ readonly deliver: Context["deliver"];
32
+ }
33
+ export declare function contextOf(scope: RunScope, control: RunControl, { command, flags, project, deliver }: Parsed): Context;
34
+ /** `build` runs on the first call; later calls give its value or throw its error again. */
35
+ export declare function once<T>(build: () => T): () => T;