@duyquangnvx/agent-cli 0.2.0 → 0.3.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 +56 -0
- package/dist/abort.d.ts +2 -0
- package/dist/abort.js +11 -0
- package/dist/abort.js.map +1 -0
- package/dist/agent-cli.d.ts +17 -0
- package/dist/agent-cli.js +28 -0
- package/dist/agent-cli.js.map +1 -0
- package/dist/agent.d.ts +4 -0
- package/dist/agent.js +14 -0
- package/dist/agent.js.map +1 -0
- package/dist/built-ins.d.ts +1 -2
- package/dist/built-ins.js +0 -10
- package/dist/built-ins.js.map +1 -1
- package/dist/clock.d.ts +10 -0
- package/dist/clock.js +35 -0
- package/dist/clock.js.map +1 -0
- package/dist/command-spec.js +8 -1
- package/dist/command-spec.js.map +1 -1
- package/dist/confirm.d.ts +2 -0
- package/dist/confirm.js +4 -2
- package/dist/confirm.js.map +1 -1
- package/dist/cost.d.ts +9 -0
- package/dist/cost.js +16 -0
- package/dist/cost.js.map +1 -0
- package/dist/define.d.ts +133 -32
- package/dist/define.js +5 -1
- package/dist/define.js.map +1 -1
- package/dist/doctor-rows.d.ts +2 -2
- package/dist/doctor-rows.js +42 -5
- package/dist/doctor-rows.js.map +1 -1
- package/dist/doctor.d.ts +2 -1
- package/dist/doctor.js +26 -28
- package/dist/doctor.js.map +1 -1
- package/dist/errno.d.ts +12 -0
- package/dist/errno.js +40 -0
- package/dist/errno.js.map +1 -0
- package/dist/error-table.d.ts +34 -0
- package/dist/error-table.js +10 -0
- package/dist/error-table.js.map +1 -0
- package/dist/errors.d.ts +17 -12
- package/dist/errors.js +59 -38
- package/dist/errors.js.map +1 -1
- package/dist/execute.d.ts +9 -3
- package/dist/execute.js +38 -5
- package/dist/execute.js.map +1 -1
- package/dist/exit-classes.d.ts +31 -0
- package/dist/exit-classes.js +107 -0
- package/dist/exit-classes.js.map +1 -0
- package/dist/files.d.ts +9 -0
- package/dist/files.js +59 -0
- package/dist/files.js.map +1 -0
- package/dist/flags.d.ts +17 -3
- package/dist/flags.js +26 -4
- package/dist/flags.js.map +1 -1
- package/dist/global-install.d.ts +1 -0
- package/dist/global-install.js +2 -2
- package/dist/global-install.js.map +1 -1
- package/dist/help-json.d.ts +2 -1
- package/dist/help-json.js +18 -2
- package/dist/help-json.js.map +1 -1
- package/dist/help.d.ts +4 -2
- package/dist/help.js +62 -6
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interrupts.d.ts +17 -3
- package/dist/interrupts.js +43 -25
- package/dist/interrupts.js.map +1 -1
- package/dist/invocation.d.ts +7 -2
- package/dist/invocation.js +11 -3
- package/dist/invocation.js.map +1 -1
- package/dist/list.d.ts +1 -0
- package/dist/list.js +4 -2
- package/dist/list.js.map +1 -1
- package/dist/npm.d.ts +5 -0
- package/dist/npm.js +19 -17
- package/dist/npm.js.map +1 -1
- package/dist/output.d.ts +18 -4
- package/dist/output.js +65 -23
- package/dist/output.js.map +1 -1
- package/dist/outputs.d.ts +11 -0
- package/dist/outputs.js +22 -0
- package/dist/outputs.js.map +1 -0
- package/dist/package-root.d.ts +6 -0
- package/dist/package-root.js +17 -0
- package/dist/package-root.js.map +1 -0
- package/dist/parse-input.d.ts +2 -0
- package/dist/parse-input.js +5 -3
- package/dist/parse-input.js.map +1 -1
- package/dist/project.d.ts +4 -0
- package/dist/project.js +48 -0
- package/dist/project.js.map +1 -0
- package/dist/route.d.ts +2 -0
- package/dist/route.js +2 -1
- package/dist/route.js.map +1 -1
- package/dist/run-cli.d.ts +24 -5
- package/dist/run-cli.js +122 -17
- package/dist/run-cli.js.map +1 -1
- package/dist/run-process.js +6 -3
- package/dist/run-process.js.map +1 -1
- package/dist/secrets.d.ts +13 -0
- package/dist/secrets.js +29 -0
- package/dist/secrets.js.map +1 -0
- package/dist/spawn.d.ts +29 -0
- package/dist/spawn.js +79 -0
- package/dist/spawn.js.map +1 -0
- package/dist/spill.d.ts +16 -0
- package/dist/spill.js +60 -0
- package/dist/spill.js.map +1 -0
- package/dist/style.js +5 -12
- package/dist/style.js.map +1 -1
- package/dist/tail.d.ts +2 -0
- package/dist/tail.js +5 -0
- package/dist/tail.js.map +1 -0
- package/dist/tools.d.ts +6 -0
- package/dist/tools.js +69 -0
- package/dist/tools.js.map +1 -0
- package/dist/update.js +7 -7
- package/dist/update.js.map +1 -1
- package/dist/usage.d.ts +3 -0
- package/dist/usage.js +6 -3
- package/dist/usage.js.map +1 -1
- package/package.json +1 -1
package/dist/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAoC,MAAM,WAAW,CAAC;AAKzE,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,8FAA8F;AAC9F,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAQrE,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAWD,SAAS,YAAY,CACnB,IAAU,EACV,EACE,WAAW,EACX,GAAG,IAAI,EACkE;IAE3E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,0BAA0B;IACvC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE;IACpD,WAAW,EAAE,0CAA0C;IACvD,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE;IACpD,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,8EAA8E;IAC3F,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IAChC,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
|
package/dist/global-install.d.ts
CHANGED
package/dist/global-install.js
CHANGED
|
@@ -2,6 +2,7 @@ import { lstat, realpath } from "node:fs/promises";
|
|
|
2
2
|
import { isAbsolute, join, relative } from "node:path";
|
|
3
3
|
import { CliError, isMissingFile } from "./errors.js";
|
|
4
4
|
import { globalPrefix, installCommandLine } from "./npm.js";
|
|
5
|
+
export const NOT_GLOBAL_INSTALL = "NOT_GLOBAL_INSTALL";
|
|
5
6
|
/** Where npm puts global packages under its global prefix. */
|
|
6
7
|
export function globalModulesDir(prefix) {
|
|
7
8
|
return process.platform === "win32"
|
|
@@ -10,10 +11,9 @@ export function globalModulesDir(prefix) {
|
|
|
10
11
|
}
|
|
11
12
|
function notGlobal(ctx, message) {
|
|
12
13
|
return new CliError({
|
|
13
|
-
code:
|
|
14
|
+
code: NOT_GLOBAL_INSTALL,
|
|
14
15
|
message,
|
|
15
16
|
hint: `install it with npm, so \`${ctx.cliName} update\` can replace it: ${installCommandLine(ctx.install)}`,
|
|
16
|
-
retryable: false,
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
async function realpathOrUndefined(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-install.js","sourceRoot":"","sources":["../src/global-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"global-install.js","sourceRoot":"","sources":["../src/global-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAmB,MAAM,UAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAQvD,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,GAAe,EAAE,OAAe;IACjD,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,kBAAkB;QACxB,OAAO;QACP,IAAI,EAAE,6BAA6B,GAAG,CAAC,OAAO,6BAA6B,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;KAC7G,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC7C,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAuB,EACvB,GAAe;IAEf,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,4CAA4C,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;IACrD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,CACb,GAAG,EACH,GAAG,GAAG,CAAC,OAAO,cAAc,IAAI,sCAAsC,UAAU,EAAE,CACnF,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,IAAI,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QAC/C,MAAM,SAAS,CACb,GAAG,EACH,GAAG,GAAG,CAAC,OAAO,wBAAwB,SAAS,sCAAsC,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC"}
|
package/dist/help-json.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CommandSpec, GroupSpec, SpecNode } from "./command-spec.js";
|
|
2
|
-
|
|
2
|
+
import type { Cli } from "./define.js";
|
|
3
|
+
export declare function cliHelpJson({ version, errors }: Cli, root: SpecNode): string;
|
|
3
4
|
export declare function groupHelpJson(group: GroupSpec): string;
|
|
4
5
|
export declare function commandHelpJson(spec: CommandSpec): string;
|
package/dist/help-json.js
CHANGED
|
@@ -32,8 +32,24 @@ function groupData(group) {
|
|
|
32
32
|
function printed(data) {
|
|
33
33
|
return `${JSON.stringify(data)}\n`;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return
|
|
35
|
+
function errorsData(errors) {
|
|
36
|
+
return Object.fromEntries(Object.entries(errors).map(([code, declaration]) => [
|
|
37
|
+
code,
|
|
38
|
+
{
|
|
39
|
+
class: declaration.class,
|
|
40
|
+
details: declaration.details === undefined
|
|
41
|
+
? null
|
|
42
|
+
: z.toJSONSchema(declaration.details, { unrepresentable: "any" }),
|
|
43
|
+
},
|
|
44
|
+
]));
|
|
45
|
+
}
|
|
46
|
+
export function cliHelpJson({ version, errors }, root) {
|
|
47
|
+
return printed({
|
|
48
|
+
name: root.commandLine,
|
|
49
|
+
version,
|
|
50
|
+
...nodeData(root),
|
|
51
|
+
errors: errorsData(errors ?? {}),
|
|
52
|
+
});
|
|
37
53
|
}
|
|
38
54
|
export function groupHelpJson(group) {
|
|
39
55
|
return printed(groupData(group));
|
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.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { CommandSpec, GroupSpec } from "./command-spec.js";
|
|
1
|
+
import type { CommandSpec, GroupSpec, SpecNode } from "./command-spec.js";
|
|
2
|
+
import type { Cli } from "./define.js";
|
|
2
3
|
import type { Style } from "./style.js";
|
|
3
|
-
|
|
4
|
+
/** The CLI's own help: a listing or its single Command's help, ending with exit codes and examples. */
|
|
5
|
+
export declare function cliHelp(cli: Cli, root: SpecNode, style: Style): string;
|
|
4
6
|
export declare function groupHelp(group: GroupSpec, style: Style): string;
|
|
5
7
|
export declare function commandHelp(spec: CommandSpec, style: Style): string;
|
package/dist/help.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EXIT_CODES, reachableExitClasses, SIGNAL_EXIT_CODES } from "./exit-classes.js";
|
|
1
2
|
function table(rows) {
|
|
2
3
|
const width = Math.max(...rows.map(([left]) => left.length));
|
|
3
4
|
return rows.map(([left, right]) => right === "" ? ` ${left}` : ` ${left.padEnd(width)} ${right}`);
|
|
@@ -16,19 +17,62 @@ function commandRows({ commands }) {
|
|
|
16
17
|
function lines(...parts) {
|
|
17
18
|
return `${parts.join("\n")}\n`;
|
|
18
19
|
}
|
|
19
|
-
function
|
|
20
|
-
return
|
|
20
|
+
function listingLines(heading, group, style) {
|
|
21
|
+
return [
|
|
22
|
+
style.bold(heading),
|
|
23
|
+
...section("Commands", commandRows(group), style),
|
|
24
|
+
"",
|
|
25
|
+
`Run \`${group.commandLine} <command> --help\` for its examples and input.`,
|
|
26
|
+
];
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
// The same opening words in every CLI's help, so an agent recognises a class at once (ADR 0005).
|
|
29
|
+
const EXIT_MEANINGS = {
|
|
30
|
+
caller: "the caller fixes its command",
|
|
31
|
+
operator: "the operator acts on their machine",
|
|
32
|
+
source: "someone at the source acts",
|
|
33
|
+
wait: "nobody acts: wait, then run it again",
|
|
34
|
+
};
|
|
35
|
+
function exitCodeRows(cli) {
|
|
36
|
+
const failures = [
|
|
37
|
+
...[...reachableExitClasses(cli)].map((exitClass) => [EXIT_CODES[exitClass], EXIT_MEANINGS[exitClass]]),
|
|
38
|
+
[EXIT_CODES.bug, `a bug in ${cli.name}`],
|
|
39
|
+
];
|
|
40
|
+
return [
|
|
41
|
+
["0", "done"],
|
|
42
|
+
...failures.sort(([a], [b]) => a - b).map(([code, meaning]) => [String(code), meaning]),
|
|
43
|
+
[Object.values(SIGNAL_EXIT_CODES).join(", "), "interrupted"],
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
function firstExample(node) {
|
|
47
|
+
if (node.kind === "command")
|
|
48
|
+
return node.examples.slice(0, 1);
|
|
49
|
+
return Object.values(node.commands).flatMap(firstExample).slice(0, 1);
|
|
50
|
+
}
|
|
51
|
+
// ADR 0002 of repo-harness: the last example is `doctor`, where an agent goes when a run fails.
|
|
52
|
+
function rootExamples(root) {
|
|
53
|
+
if (root.kind === "command")
|
|
54
|
+
return [...root.examples];
|
|
55
|
+
const { doctor, ...others } = root.commands;
|
|
56
|
+
return [...Object.values(others), ...(doctor === undefined ? [] : [doctor])].flatMap(firstExample);
|
|
57
|
+
}
|
|
58
|
+
function examplesSection(examples, style) {
|
|
59
|
+
return section("Examples", examples.map(({ command, note }) => [command, note]), style);
|
|
60
|
+
}
|
|
61
|
+
/** The CLI's own help: a listing or its single Command's help, ending with exit codes and examples. */
|
|
62
|
+
export function cliHelp(cli, root, style) {
|
|
63
|
+
const body = root.kind === "command"
|
|
64
|
+
? commandLines(root, style, { examples: false })
|
|
65
|
+
: listingLines(`${root.commandLine} ${cli.version}`, root, style);
|
|
66
|
+
return lines(...body, ...section("Exit codes", exitCodeRows(cli), style), ...examplesSection(rootExamples(root), style));
|
|
24
67
|
}
|
|
25
68
|
export function groupHelp(group, style) {
|
|
26
|
-
return
|
|
69
|
+
return lines(...listingLines(group.commandLine, group, style));
|
|
27
70
|
}
|
|
28
71
|
const EFFECT_NOTES = {
|
|
29
72
|
read: "changes nothing",
|
|
30
73
|
write: "changes something; show the Plan with --dry-run",
|
|
31
74
|
destructive: "changes something hard to undo; show the Plan with --dry-run, run with --confirm",
|
|
75
|
+
serve: "changes nothing; prints its data at once, then runs until Ctrl-C, which exits 0",
|
|
32
76
|
};
|
|
33
77
|
function choicesOf(field) {
|
|
34
78
|
return field.choices === undefined ? [] : [`one of: ${field.choices.join(", ")}`];
|
|
@@ -58,7 +102,19 @@ function optionRow(field) {
|
|
|
58
102
|
function flagRow({ usage, description }) {
|
|
59
103
|
return [usage, description];
|
|
60
104
|
}
|
|
105
|
+
function commandLines(spec, style, { examples }) {
|
|
106
|
+
return [
|
|
107
|
+
style.bold(spec.commandLine),
|
|
108
|
+
spec.description,
|
|
109
|
+
...(examples ? examplesSection(spec.examples, style) : []),
|
|
110
|
+
...section("Arguments", spec.args.map(argRow), style),
|
|
111
|
+
...section("Options", spec.options.map(optionRow), style),
|
|
112
|
+
"",
|
|
113
|
+
`${style.bold("Effect:")} ${spec.effect} (${EFFECT_NOTES[spec.effect]})`,
|
|
114
|
+
...section("Standard flags", spec.standardFlags.map(flagRow), style),
|
|
115
|
+
];
|
|
116
|
+
}
|
|
61
117
|
export function commandHelp(spec, style) {
|
|
62
|
-
return lines(
|
|
118
|
+
return lines(...commandLines(spec, style, { examples: true }));
|
|
63
119
|
}
|
|
64
120
|
//# sourceMappingURL=help.js.map
|
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,12 +1,18 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
4
|
-
export type {
|
|
1
|
+
export type { AgentCli } from "./agent-cli.js";
|
|
2
|
+
export { agentCli } from "./agent-cli.js";
|
|
3
|
+
export type { Clock } from "./clock.js";
|
|
4
|
+
export type { Cli, Command, Commands, Context, DefineCommand, DestructiveCommand, DoctorCheck, DoctorFinding, Env, Example, GlobalInstall, ListCommand, NoPorts, PollOptions, Project, ProjectFile, ReadCommand, RunDeadline, ServeCommand, Tool, WriteCommand, } from "./define.js";
|
|
5
|
+
export type { CliErrorInit, DeclaredExitClass, ErrorDeclaration, ErrorTable, } from "./error-table.js";
|
|
6
|
+
export { cliError, defineErrors } from "./error-table.js";
|
|
7
|
+
export type { CliErrorFields, UsageErrorFields } from "./errors.js";
|
|
5
8
|
export { CliError, debugVariable, UsageError } from "./errors.js";
|
|
9
|
+
export type { Files } from "./files.js";
|
|
6
10
|
export type { Page, PageInput } from "./list.js";
|
|
7
11
|
export { paginate } from "./list.js";
|
|
8
12
|
export type { RunResult } from "./output.js";
|
|
9
13
|
export type { RunOptions } from "./run-cli.js";
|
|
10
14
|
export { runCli } from "./run-cli.js";
|
|
11
15
|
export { runProcess } from "./run-process.js";
|
|
16
|
+
export type { Secret, SecretOrigin } from "./secrets.js";
|
|
17
|
+
export type { Spawn, SpawnOptions, SpawnResult } from "./spawn.js";
|
|
12
18
|
export type { Style } from "./style.js";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { agentCli } from "./agent-cli.js";
|
|
2
|
+
export { cliError, defineErrors } from "./error-table.js";
|
|
3
3
|
export { CliError, debugVariable, UsageError } from "./errors.js";
|
|
4
4
|
export { paginate } from "./list.js";
|
|
5
5
|
export { runCli } from "./run-cli.js";
|
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":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA+B1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/interrupts.d.ts
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
1
|
+
import { type Clock } from "./clock.js";
|
|
2
|
+
export declare const INTERRUPTED = "INTERRUPTED";
|
|
3
|
+
export declare const DEADLINE_EXCEEDED = "DEADLINE_EXCEEDED";
|
|
1
4
|
/** How long an interrupted Command may take to settle before the run ends without it. */
|
|
2
5
|
export declare const GRACE_MS = 3000;
|
|
3
|
-
export
|
|
6
|
+
export interface RunControlOptions {
|
|
7
|
+
readonly commandLine: string;
|
|
8
|
+
/** The caller's signal, whose abort interrupts the run. */
|
|
9
|
+
readonly outer: AbortSignal | undefined;
|
|
10
|
+
readonly clock: Clock;
|
|
11
|
+
readonly progress: (message: string) => void;
|
|
12
|
+
/** The whole run's deadline and the hint, naming the resume command line, it ends with. */
|
|
13
|
+
readonly runDeadline: {
|
|
14
|
+
readonly ms: number;
|
|
15
|
+
readonly hint: string;
|
|
16
|
+
} | undefined;
|
|
17
|
+
}
|
|
4
18
|
/** One Command run's cancellation: its signal, its deadlines and the steps it must finish. */
|
|
5
19
|
export declare class RunControl {
|
|
6
20
|
#private;
|
|
7
21
|
readonly signal: AbortSignal;
|
|
8
|
-
constructor(commandLine
|
|
22
|
+
constructor({ commandLine, outer, clock, progress, runDeadline }: RunControlOptions);
|
|
9
23
|
deadline(ms: number): AbortSignal;
|
|
10
|
-
runToEnd<T>(work: () => Promise<T>): Promise<T>;
|
|
24
|
+
runToEnd<T>(name: string, work: () => Promise<T>): Promise<T>;
|
|
11
25
|
/** Waits for the Command, its must-finish steps, and no longer than the grace once interrupted. */
|
|
12
26
|
settle<T>(work: Promise<T>): Promise<T>;
|
|
13
27
|
/**
|
package/dist/interrupts.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
+
import { after } from "./clock.js";
|
|
1
2
|
import { CliError } from "./errors.js";
|
|
3
|
+
export const INTERRUPTED = "INTERRUPTED";
|
|
4
|
+
export const DEADLINE_EXCEEDED = "DEADLINE_EXCEEDED";
|
|
2
5
|
/** How long an interrupted Command may take to settle before the run ends without it. */
|
|
3
6
|
export const GRACE_MS = 3000;
|
|
4
7
|
const GRACE_OVER = Symbol("grace over");
|
|
5
|
-
export const INTERRUPTED = "INTERRUPTED";
|
|
6
8
|
function interruptedError() {
|
|
7
9
|
return new CliError({
|
|
8
10
|
code: INTERRUPTED,
|
|
9
11
|
message: "interrupted before it finished",
|
|
10
12
|
hint: "run the command again",
|
|
11
|
-
retryable: true,
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
const WAIT_HINT = "run it again later, when the service it waits on may answer faster";
|
|
16
|
+
function deadlineError(commandLine, ms, hint) {
|
|
15
17
|
return new CliError({
|
|
16
|
-
code:
|
|
18
|
+
code: DEADLINE_EXCEEDED,
|
|
17
19
|
message: `${commandLine} ran past its ${ms} ms deadline`,
|
|
18
|
-
hint
|
|
19
|
-
retryable: true,
|
|
20
|
+
hint,
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
/** One Command run's cancellation: its signal, its deadlines and the steps it must finish. */
|
|
@@ -26,41 +27,51 @@ export class RunControl {
|
|
|
26
27
|
#commandLine;
|
|
27
28
|
#outer;
|
|
28
29
|
#onOuterAbort = () => this.#controller.abort(interruptedError());
|
|
29
|
-
|
|
30
|
-
#
|
|
30
|
+
/** Each running must-finish step, tracked until it settles, with its name. */
|
|
31
|
+
#steps = new Map();
|
|
32
|
+
#progress;
|
|
33
|
+
#clock;
|
|
34
|
+
#disposed = new AbortController();
|
|
31
35
|
#deadlineHit;
|
|
32
|
-
#
|
|
36
|
+
#graceCancel = new AbortController();
|
|
33
37
|
#endGrace = () => { };
|
|
34
38
|
#graceOver = new Promise((resolve) => {
|
|
35
39
|
this.#endGrace = resolve;
|
|
36
40
|
});
|
|
37
|
-
constructor(commandLine, outer) {
|
|
41
|
+
constructor({ commandLine, outer, clock, progress, runDeadline }) {
|
|
38
42
|
this.#commandLine = commandLine;
|
|
39
43
|
this.#outer = outer;
|
|
44
|
+
this.#clock = clock;
|
|
45
|
+
this.#progress = progress;
|
|
40
46
|
this.signal = this.#controller.signal;
|
|
41
|
-
this.signal.addEventListener("abort", () => this.#
|
|
47
|
+
this.signal.addEventListener("abort", () => this.#onStop(), { once: true });
|
|
42
48
|
if (outer?.aborted === true) {
|
|
43
49
|
this.#onOuterAbort();
|
|
44
50
|
}
|
|
45
51
|
else {
|
|
46
52
|
outer?.addEventListener("abort", this.#onOuterAbort, { once: true });
|
|
47
53
|
}
|
|
54
|
+
if (runDeadline !== undefined) {
|
|
55
|
+
const { ms, hint } = runDeadline;
|
|
56
|
+
after(clock, ms, this.#disposed.signal, () => this.#controller.abort(deadlineError(commandLine, ms, hint)));
|
|
57
|
+
}
|
|
48
58
|
}
|
|
49
59
|
deadline(ms) {
|
|
50
60
|
const controller = new AbortController();
|
|
51
|
-
|
|
52
|
-
this.#deadlineHit ??= deadlineError(this.#commandLine, ms);
|
|
61
|
+
after(this.#clock, ms, this.#disposed.signal, () => {
|
|
62
|
+
this.#deadlineHit ??= deadlineError(this.#commandLine, ms, WAIT_HINT);
|
|
53
63
|
controller.abort(this.#deadlineHit);
|
|
54
|
-
}
|
|
55
|
-
this.#deadlineTimers.add(timer);
|
|
64
|
+
});
|
|
56
65
|
return AbortSignal.any([this.signal, controller.signal]);
|
|
57
66
|
}
|
|
58
|
-
async runToEnd(work) {
|
|
59
|
-
|
|
67
|
+
async runToEnd(name, work) {
|
|
68
|
+
this.#graceCancel.abort();
|
|
69
|
+
if (this.signal.aborted)
|
|
70
|
+
this.#finishing(name);
|
|
60
71
|
const step = work();
|
|
61
72
|
// Only tracks when the step settles; the step's own error reaches the caller below.
|
|
62
73
|
const settled = step.then(() => { }, () => { });
|
|
63
|
-
this.#steps.
|
|
74
|
+
this.#steps.set(settled, name);
|
|
64
75
|
try {
|
|
65
76
|
return await step;
|
|
66
77
|
}
|
|
@@ -96,22 +107,29 @@ export class RunControl {
|
|
|
96
107
|
}
|
|
97
108
|
return error;
|
|
98
109
|
}
|
|
110
|
+
#onStop() {
|
|
111
|
+
for (const name of this.#steps.values())
|
|
112
|
+
this.#finishing(name);
|
|
113
|
+
this.#startGrace();
|
|
114
|
+
}
|
|
115
|
+
#finishing(name) {
|
|
116
|
+
this.#progress(`finishing ${name}`);
|
|
117
|
+
}
|
|
99
118
|
#startGrace() {
|
|
100
119
|
if (this.signal.aborted && this.#steps.size === 0) {
|
|
101
|
-
|
|
102
|
-
this.#
|
|
120
|
+
this.#graceCancel.abort();
|
|
121
|
+
this.#graceCancel = new AbortController();
|
|
122
|
+
after(this.#clock, GRACE_MS, this.#graceCancel.signal, () => this.#endGrace(GRACE_OVER));
|
|
103
123
|
}
|
|
104
124
|
}
|
|
105
125
|
async #stepsDone() {
|
|
106
126
|
while (this.#steps.size > 0) {
|
|
107
|
-
await Promise.all(this.#steps);
|
|
127
|
+
await Promise.all(this.#steps.keys());
|
|
108
128
|
}
|
|
109
129
|
}
|
|
110
130
|
#dispose() {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
clearTimeout(timer);
|
|
114
|
-
}
|
|
131
|
+
this.#graceCancel.abort();
|
|
132
|
+
this.#disposed.abort();
|
|
115
133
|
this.#outer?.removeEventListener("abort", this.#onOuterAbort);
|
|
116
134
|
}
|
|
117
135
|
}
|
package/dist/interrupts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrupts.js","sourceRoot":"","sources":["../src/interrupts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,yFAAyF;AACzF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"interrupts.js","sourceRoot":"","sources":["../src/interrupts.ts"],"names":[],"mappings":"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"}
|
package/dist/invocation.d.ts
CHANGED
|
@@ -3,7 +3,12 @@ export interface Invocation {
|
|
|
3
3
|
readonly cliName: string;
|
|
4
4
|
readonly argv: readonly string[];
|
|
5
5
|
}
|
|
6
|
-
/** The caller's command line, ready to paste
|
|
7
|
-
export declare function
|
|
6
|
+
/** The caller's command line as typed, ready to paste. */
|
|
7
|
+
export declare function commandLineOf({ cliName, argv }: Invocation): string;
|
|
8
|
+
/**
|
|
9
|
+
* The caller's command line, ready to paste, with `flag value` (or `flag` alone, for a flag that
|
|
10
|
+
* takes nothing) replacing any value they gave.
|
|
11
|
+
*/
|
|
12
|
+
export declare function commandLineWith({ cliName, argv }: Invocation, flag: string, value?: string): string;
|
|
8
13
|
/** The caller's command line, ready to paste, with each flag in `renames` typed as its new name. */
|
|
9
14
|
export declare function commandLineRenaming({ cliName, argv }: Invocation, renames: ReadonlyMap<string, string>): string;
|
package/dist/invocation.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export const END_OF_OPTIONS = "--";
|
|
2
2
|
const SHELL_SAFE = /^[\w@%+=:,./-]+$/;
|
|
3
|
-
// POSIX quoting:
|
|
3
|
+
// POSIX quoting: Coding agents run commands in a POSIX shell, Git Bash included on Windows.
|
|
4
4
|
function quoted(token) {
|
|
5
5
|
return SHELL_SAFE.test(token) ? token : `'${token.replaceAll("'", `'\\''`)}'`;
|
|
6
6
|
}
|
|
7
7
|
function pasteable(cliName, tokens) {
|
|
8
8
|
return [cliName, ...tokens].map(quoted).join(" ");
|
|
9
9
|
}
|
|
10
|
+
/** The caller's command line as typed, ready to paste. */
|
|
11
|
+
export function commandLineOf({ cliName, argv }) {
|
|
12
|
+
return pasteable(cliName, argv);
|
|
13
|
+
}
|
|
10
14
|
function split(argv) {
|
|
11
15
|
const end = argv.indexOf(END_OF_OPTIONS);
|
|
12
16
|
return end === -1
|
|
@@ -16,10 +20,14 @@ function split(argv) {
|
|
|
16
20
|
function without(flag, tokens) {
|
|
17
21
|
return tokens.filter((token, index) => token !== flag && !token.startsWith(`${flag}=`) && tokens[index - 1] !== flag);
|
|
18
22
|
}
|
|
19
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The caller's command line, ready to paste, with `flag value` (or `flag` alone, for a flag that
|
|
25
|
+
* takes nothing) replacing any value they gave.
|
|
26
|
+
*/
|
|
20
27
|
export function commandLineWith({ cliName, argv }, flag, value) {
|
|
21
28
|
const { options, operands } = split(argv);
|
|
22
|
-
|
|
29
|
+
const added = value === undefined ? [flag] : [flag, value];
|
|
30
|
+
return pasteable(cliName, [...without(flag, options), ...added, ...operands]);
|
|
23
31
|
}
|
|
24
32
|
function renamed(token, renames) {
|
|
25
33
|
const [flag = token, ...value] = token.split("=");
|
package/dist/invocation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../src/invocation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAOtC,
|
|
1
|
+
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../src/invocation.ts"],"names":[],"mappings":"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"}
|
package/dist/list.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as z from "zod";
|
|
|
2
2
|
import type { NameOf, StandardFlag } from "./flags.js";
|
|
3
3
|
import { type InputField } from "./input.js";
|
|
4
4
|
import { type Invocation } from "./invocation.js";
|
|
5
|
+
export declare const UNKNOWN_FIELD = "UNKNOWN_FIELD";
|
|
5
6
|
declare const FIELDS_FLAG = "--fields";
|
|
6
7
|
export declare const PAGE_INPUT: z.ZodObject<{
|
|
7
8
|
limit: z.ZodDefault<z.ZodNumber>;
|
package/dist/list.js
CHANGED
|
@@ -2,6 +2,8 @@ import * as z from "zod";
|
|
|
2
2
|
import { UsageError } from "./errors.js";
|
|
3
3
|
import { optionField, optionFields } from "./input.js";
|
|
4
4
|
import { commandLineWith } from "./invocation.js";
|
|
5
|
+
import { INVALID_INPUT } from "./usage.js";
|
|
6
|
+
export const UNKNOWN_FIELD = "UNKNOWN_FIELD";
|
|
5
7
|
const DEFAULT_PAGE_LIMIT = 20;
|
|
6
8
|
const FIELDS_FLAG = "--fields";
|
|
7
9
|
const SEPARATOR = ",";
|
|
@@ -78,7 +80,7 @@ export function selectedFields(values, rowFields, commandLine) {
|
|
|
78
80
|
const names = typeof raw === "string" ? raw.split(SEPARATOR).filter((name) => name !== "") : [];
|
|
79
81
|
if (names.length === 0) {
|
|
80
82
|
throw new UsageError({
|
|
81
|
-
code:
|
|
83
|
+
code: INVALID_INPUT,
|
|
82
84
|
message: `${FIELDS_FLAG}: missing value for \`${commandLine}\``,
|
|
83
85
|
hint,
|
|
84
86
|
});
|
|
@@ -86,7 +88,7 @@ export function selectedFields(values, rowFields, commandLine) {
|
|
|
86
88
|
const unknown = names.filter((name) => !rowFields.includes(name));
|
|
87
89
|
if (unknown.length > 0) {
|
|
88
90
|
throw new UsageError({
|
|
89
|
-
code:
|
|
91
|
+
code: UNKNOWN_FIELD,
|
|
90
92
|
message: `unknown field ${quoted(unknown)} for \`${commandLine}\``,
|
|
91
93
|
hint,
|
|
92
94
|
});
|
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;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAmB,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,eAAe,EAAmB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"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"}
|
package/dist/npm.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { CommandTreeCli, Context, Env, GlobalInstall } from "./define.js";
|
|
2
|
+
export declare const REGISTRY_UNREACHABLE = "REGISTRY_UNREACHABLE";
|
|
3
|
+
export declare const REGISTRY_AUTH = "REGISTRY_AUTH";
|
|
4
|
+
export declare const INSTALL_FAILED = "INSTALL_FAILED";
|
|
5
|
+
export declare const NPM_FAILED = "NPM_FAILED";
|
|
6
|
+
export declare const NO_LATEST = "NO_LATEST";
|
|
2
7
|
/** What every npm call needs: the CLI it serves, its package, and the caller's env and signal. */
|
|
3
8
|
export interface NpmContext {
|
|
4
9
|
readonly cliName: string;
|