@duyquangnvx/agent-cli 0.22.0 → 0.24.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 +37 -0
- package/dist/agent-cli.js +16 -12
- package/dist/agent-cli.js.map +1 -1
- package/dist/built-ins/commands.d.ts +2 -2
- package/dist/built-ins/commands.js +2 -2
- package/dist/built-ins/doctor.js +0 -2
- package/dist/built-ins/doctor.js.map +1 -1
- package/dist/built-ins/install/dependency.js +2 -0
- package/dist/built-ins/install/dependency.js.map +1 -1
- package/dist/built-ins/install/global-npm.d.ts +2 -0
- package/dist/built-ins/install/global-npm.js +7 -3
- package/dist/built-ins/install/global-npm.js.map +1 -1
- package/dist/built-ins/install/global.d.ts +1 -1
- package/dist/built-ins/install/global.js +11 -7
- package/dist/built-ins/install/global.js.map +1 -1
- package/dist/built-ins/install/install.d.ts +5 -0
- package/dist/built-ins/install/install.js +2 -0
- package/dist/built-ins/install/install.js.map +1 -1
- package/dist/built-ins/install/release-check.d.ts +8 -0
- package/dist/built-ins/install/release-check.js +133 -0
- package/dist/built-ins/install/release-check.js.map +1 -0
- package/dist/built-ins/npm.d.ts +13 -3
- package/dist/built-ins/npm.js +13 -6
- package/dist/built-ins/npm.js.map +1 -1
- package/dist/built-ins/setup.d.ts +6 -0
- package/dist/built-ins/setup.js +168 -0
- package/dist/built-ins/setup.js.map +1 -0
- package/dist/built-ins/skill/home.d.ts +28 -0
- package/dist/built-ins/skill/home.js +116 -0
- package/dist/built-ins/skill/home.js.map +1 -0
- package/dist/built-ins/skill/install-command.d.ts +0 -13
- package/dist/built-ins/skill/install-command.js +7 -58
- package/dist/built-ins/skill/install-command.js.map +1 -1
- package/dist/built-ins/skill/project.d.ts +5 -0
- package/dist/built-ins/skill/project.js +46 -0
- package/dist/built-ins/skill/project.js.map +1 -0
- package/dist/built-ins/skill/skill.d.ts +7 -31
- package/dist/built-ins/skill/skill.js +18 -6
- package/dist/built-ins/skill/skill.js.map +1 -1
- package/dist/built-ins/skill/sync.d.ts +16 -0
- package/dist/built-ins/skill/sync.js +35 -0
- package/dist/built-ins/skill/sync.js.map +1 -0
- package/dist/built-ins/update.d.ts +2 -2
- package/dist/built-ins/update.js +23 -20
- package/dist/built-ins/update.js.map +1 -1
- package/dist/built-ins/upgrades.d.ts +1 -0
- package/dist/built-ins/upgrades.js +5 -0
- package/dist/built-ins/upgrades.js.map +1 -1
- package/dist/context/tools.d.ts +1 -0
- package/dist/context/tools.js +1 -1
- package/dist/context/tools.js.map +1 -1
- package/dist/define.d.ts +28 -34
- package/dist/define.js.map +1 -1
- package/dist/errors.d.ts +2 -0
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/exit-classes.js +1 -0
- package/dist/exit-classes.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/output.js +5 -3
- package/dist/output.js.map +1 -1
- package/dist/run-cli.js +2 -6
- package/dist/run-cli.js.map +1 -1
- package/dist/run-command.js +6 -8
- package/dist/run-command.js.map +1 -1
- package/dist/runtime-codes.d.ts +1 -0
- package/dist/runtime-codes.js +2 -0
- package/dist/runtime-codes.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/getting-started.md +6 -6
- package/docs/guides/doctor.md +3 -4
- package/docs/guides/errors.md +2 -0
- package/docs/guides/shipping.md +35 -23
- package/docs/principles.md +1 -1
- package/docs/reference.md +1 -0
- package/package.json +1 -1
- package/dist/built-ins/skill/hub.d.ts +0 -8
- package/dist/built-ins/skill/hub.js +0 -114
- package/dist/built-ins/skill/hub.js.map +0 -1
- package/dist/built-ins/skill/packaged.d.ts +0 -13
- package/dist/built-ins/skill/packaged.js +0 -97
- package/dist/built-ins/skill/packaged.js.map +0 -1
- package/dist/built-ins/skill/usage-hint.d.ts +0 -4
- package/dist/built-ins/skill/usage-hint.js +0 -28
- package/dist/built-ins/skill/usage-hint.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { readFile, realpath } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { orMissing } from "../../errors.js";
|
|
4
|
+
import { agentsRow } from "../agents-md.js";
|
|
5
|
+
import { homeOf, skillVersionIn, statedVersionNote } from "./home.js";
|
|
6
|
+
import { skillCopyOf, skillInstallCommand } from "./install-command.js";
|
|
7
|
+
// A project that is home itself has its copy under home, which shadows nothing.
|
|
8
|
+
async function personalCopyOf(name, copy, ctx) {
|
|
9
|
+
const home = join(homeOf(ctx.env), ".claude", "skills", name);
|
|
10
|
+
const real = await orMissing(realpath(home));
|
|
11
|
+
return real === undefined || real === (await orMissing(realpath(copy))) ? undefined : home;
|
|
12
|
+
}
|
|
13
|
+
/** The project root's copy against the package's, and any under home. */
|
|
14
|
+
async function findingOf(cli, folder, install, ctx) {
|
|
15
|
+
const { copy } = await skillCopyOf(cli, ctx.cwd);
|
|
16
|
+
const [installed, shipped] = await Promise.all([
|
|
17
|
+
orMissing(readFile(join(copy, "SKILL.md"), "utf8")),
|
|
18
|
+
readFile(join(ctx.packageRoot, folder, "SKILL.md"), "utf8"),
|
|
19
|
+
]);
|
|
20
|
+
const stated = installed === undefined ? undefined : skillVersionIn(installed);
|
|
21
|
+
// A package whose own skill states a version would rewrite it, so a fix would never clear the row.
|
|
22
|
+
const left = stated !== undefined && skillVersionIn(shipped) === undefined;
|
|
23
|
+
const found = left ? `${copy} (${statedVersionNote(stated)})` : copy;
|
|
24
|
+
const head = installed === undefined ? `no copy of the ${cli.name} skill at ${copy}` : found;
|
|
25
|
+
const home = await personalCopyOf(cli.name, copy, ctx);
|
|
26
|
+
// Other projects may use the personal copy, so the row names it and gives no line removing it.
|
|
27
|
+
const message = home === undefined
|
|
28
|
+
? head
|
|
29
|
+
: `${head}; remove ${home}: Claude Code prefers a personal skill over the project's`;
|
|
30
|
+
if (installed === undefined || left) {
|
|
31
|
+
return { state: "problem", message, fix: `${install.runAs} skill install` };
|
|
32
|
+
}
|
|
33
|
+
return home === undefined ? { state: "ok", message } : { state: "problem", message };
|
|
34
|
+
}
|
|
35
|
+
/** A skill the package ships in `folder`, which `skill install` copies to the project root. */
|
|
36
|
+
export function projectSkill(cli, { folder, agents: text }, install) {
|
|
37
|
+
const agents = text === undefined ? undefined : { name: cli.name, text };
|
|
38
|
+
return {
|
|
39
|
+
builtIns: { skill: { install: skillInstallCommand(cli, folder, agents) } },
|
|
40
|
+
rows: [
|
|
41
|
+
{ name: "skill", advisory: true, run: (ctx) => findingOf(cli, folder, install, ctx) },
|
|
42
|
+
...(agents === undefined ? [] : [agentsRow(agents, install)]),
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/built-ins/skill/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/** What the CLI's skill copies were found to be; the fix brings them to the version asked about. */
|
|
6
|
-
export type SkillFinding = Exclude<DoctorFinding, {
|
|
7
|
-
readonly state: "skipped";
|
|
8
|
-
}>;
|
|
9
|
-
/** Where the Skill copies and the package's own skill are found. */
|
|
10
|
-
export type SkillPlace = Pick<Context, "cwd" | "env" | "packageRoot">;
|
|
11
|
-
export interface SkillNoticeLaunch {
|
|
12
|
-
readonly builtIn: boolean;
|
|
13
|
-
readonly bin: string | undefined;
|
|
14
|
-
}
|
|
15
|
-
/** Where the CLI's skill comes from, and everything that differs by it. */
|
|
1
|
+
import type { Cli, Commands, DoctorCheck } from "../../define.js";
|
|
2
|
+
import type { Install, InstallCli } from "../install/install.js";
|
|
3
|
+
export type SkillCli = Pick<Cli, "name" | "description" | "version" | "skill" | "docs" | "commands">;
|
|
4
|
+
/** Where the Skill copy goes, and everything that differs by it. */
|
|
16
5
|
export interface Skill {
|
|
17
|
-
readonly kind: "hub" | "packaged";
|
|
18
6
|
readonly builtIns: Commands;
|
|
19
|
-
/**
|
|
20
|
-
* Its `doctor` rows. A skill describes the CLI but never stops it working: a Skill Hub's row is
|
|
21
|
-
* always ok, and a Packaged skill's problems are advisory.
|
|
22
|
-
*/
|
|
7
|
+
/** Its `doctor` rows, advisory: a skill never stops the CLI working. */
|
|
23
8
|
readonly rows: readonly DoctorCheck[];
|
|
24
|
-
/** Run before a Command, so an agent that rarely runs `doctor` still hears of a misleading copy. */
|
|
25
|
-
readonly notice: (launch: SkillNoticeLaunch, ctx: Context) => Promise<void>;
|
|
26
|
-
/** Each Skill copy whose version differs from this build's, described; none when all match. */
|
|
27
|
-
readonly differing: (place: SkillPlace) => Promise<string[]>;
|
|
28
|
-
/**
|
|
29
|
-
* `update`'s Next steps for the copies against the latest release `version`; what no line fixes,
|
|
30
|
-
* it tells as a Notice.
|
|
31
|
-
*/
|
|
32
|
-
readonly nextAt: (version: string, ctx: Context) => Promise<string[]>;
|
|
33
9
|
}
|
|
34
|
-
/** A
|
|
35
|
-
export declare function skillOf(cli:
|
|
10
|
+
/** A Global install's Skill copy goes under home; any other goes under the project. */
|
|
11
|
+
export declare function skillOf(cli: InstallCli, install: Install): Skill;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { homeSkill } from "./home.js";
|
|
2
|
+
import { projectSkill } from "./project.js";
|
|
3
|
+
const noSkill = ({ name }) => ({
|
|
4
|
+
builtIns: {},
|
|
5
|
+
rows: [
|
|
6
|
+
{
|
|
7
|
+
name: "skill",
|
|
8
|
+
advisory: true,
|
|
9
|
+
run: async () => ({ state: "skipped", message: `not checked: ${name} declares no skill` }),
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
});
|
|
13
|
+
/** A Global install's Skill copy goes under home; any other goes under the project. */
|
|
4
14
|
export function skillOf(cli, install) {
|
|
5
15
|
const { skill } = cli;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
16
|
+
if (skill === undefined)
|
|
17
|
+
return noSkill(cli);
|
|
18
|
+
return cli.install?.mode === "global"
|
|
19
|
+
? homeSkill(cli, skill, install)
|
|
20
|
+
: projectSkill(cli, skill, install);
|
|
9
21
|
}
|
|
10
22
|
//# sourceMappingURL=skill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/built-ins/skill/skill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/built-ins/skill/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAc5C,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAqB,EAAS,EAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;SAC3F;KACF;CACF,CAAC,CAAC;AAEH,uFAAuF;AACvF,MAAM,UAAU,OAAO,CAAC,GAAe,EAAE,OAAgB;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ;QACnC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC;QAChC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Context } from "../../context.js";
|
|
2
|
+
/** What makes a Skill copy match the package's folder. */
|
|
3
|
+
export interface SkillSync {
|
|
4
|
+
readonly source: string;
|
|
5
|
+
readonly copy: string;
|
|
6
|
+
/** Files of the package the copy lacks, relative to both folders. */
|
|
7
|
+
readonly write: readonly string[];
|
|
8
|
+
/** Files whose content differs from the package's. */
|
|
9
|
+
readonly replace: readonly string[];
|
|
10
|
+
/** Files of the copy the package no longer has. */
|
|
11
|
+
readonly remove: readonly string[];
|
|
12
|
+
}
|
|
13
|
+
/** Every file under `dir`, relative to it and sorted; none when `dir` is missing. */
|
|
14
|
+
export declare function filesIn(dir: string): Promise<string[]>;
|
|
15
|
+
export declare function syncOf(source: string, copy: string): Promise<SkillSync>;
|
|
16
|
+
export declare function applySync(sync: SkillSync, ctx: Context): Promise<void>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { orMissing } from "../../errors.js";
|
|
4
|
+
/** Every file under `dir`, relative to it and sorted; none when `dir` is missing. */
|
|
5
|
+
export async function filesIn(dir) {
|
|
6
|
+
const entries = await orMissing(readdir(dir, { recursive: true, withFileTypes: true }));
|
|
7
|
+
return (entries ?? [])
|
|
8
|
+
.filter((entry) => entry.isFile())
|
|
9
|
+
.map((entry) => relative(dir, join(entry.parentPath, entry.name)))
|
|
10
|
+
.sort();
|
|
11
|
+
}
|
|
12
|
+
async function sameContent(left, right) {
|
|
13
|
+
const [a, b] = await Promise.all([readFile(left), readFile(right)]);
|
|
14
|
+
return a.equals(b);
|
|
15
|
+
}
|
|
16
|
+
export async function syncOf(source, copy) {
|
|
17
|
+
const [shipped, present] = await Promise.all([filesIn(source), filesIn(copy)]);
|
|
18
|
+
const differs = await Promise.all(shipped.map(async (file) => present.includes(file) && !(await sameContent(join(source, file), join(copy, file)))));
|
|
19
|
+
return {
|
|
20
|
+
source,
|
|
21
|
+
copy,
|
|
22
|
+
write: shipped.filter((file) => !present.includes(file)),
|
|
23
|
+
replace: shipped.filter((_file, index) => differs[index]),
|
|
24
|
+
remove: present.filter((file) => !shipped.includes(file)),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export async function applySync(sync, ctx) {
|
|
28
|
+
for (const file of [...sync.write, ...sync.replace]) {
|
|
29
|
+
await ctx.files.write(join(sync.copy, file), await readFile(join(sync.source, file)));
|
|
30
|
+
}
|
|
31
|
+
for (const file of sync.remove) {
|
|
32
|
+
await ctx.files.remove(join(sync.copy, file));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/built-ins/skill/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAc5C,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW;IACvC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACjE,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACpD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,IAAY;IACvD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CACvF,CACF,CAAC;IACF,OAAO;QACL,MAAM;QACN,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,GAAY;IAC3D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command, GlobalInstall } from "../define.js";
|
|
2
2
|
import type { Launch } from "./commands.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SkillCli } from "./skill/skill.js";
|
|
4
4
|
/** The built-in `update`, for a CLI installed globally with npm. */
|
|
5
|
-
export declare function updateCommand(cli: SkillCli, install: GlobalInstall,
|
|
5
|
+
export declare function updateCommand(cli: SkillCli, install: GlobalInstall, { bin, node }: Launch): Command;
|
package/dist/built-ins/update.js
CHANGED
|
@@ -5,45 +5,41 @@ import { CliError } from "../errors.js";
|
|
|
5
5
|
import { globalInstallOf, globalNpm } from "./install/global-npm.js";
|
|
6
6
|
import { installGlobally, latestVersion } from "./npm.js";
|
|
7
7
|
import { standingOf } from "./semver.js";
|
|
8
|
-
import {
|
|
8
|
+
import { homeCopiesOf, homeSyncSchema, renderHomeSync, renderPlannedSync, syncHome, } from "./skill/home.js";
|
|
9
|
+
import { renderUpgrade, upgradeSchema, upgradesOf } from "./upgrades.js";
|
|
9
10
|
const updateSchema = z.object({
|
|
10
11
|
from: z.string(),
|
|
11
12
|
latest: z.string(),
|
|
12
13
|
installed: z.object({ version: z.string(), prefix: z.string() }).nullable(),
|
|
14
|
+
skill: homeSyncSchema.nullable(),
|
|
13
15
|
upgrades: z.array(upgradeSchema),
|
|
14
|
-
next: z.array(z.string()),
|
|
15
16
|
});
|
|
16
17
|
function nothingToInstall({ from, latest }) {
|
|
17
18
|
return standingOf(from, latest) === "current"
|
|
18
19
|
? `already on ${from}, the latest release: nothing to install`
|
|
19
20
|
: `${from} is newer than the latest release ${latest}: nothing to install`;
|
|
20
21
|
}
|
|
21
|
-
function renderUpgrade(upgrade) {
|
|
22
|
-
return "steps" in upgrade
|
|
23
|
-
? [`\nupgrade steps for ${upgrade.version}:`, ...upgrade.steps.map((step) => `- ${step}`)].join("\n")
|
|
24
|
-
: `\nchanges in ${upgrade.version}:\n${upgrade.notes}`;
|
|
25
|
-
}
|
|
26
22
|
function renderUpdate(cli, install, update) {
|
|
27
23
|
const { installed } = update;
|
|
28
|
-
const
|
|
29
|
-
|
|
24
|
+
const skill = renderHomeSync(cli.name, update.skill);
|
|
25
|
+
return installed === null
|
|
26
|
+
? [nothingToInstall(update), ...skill].join("\n")
|
|
30
27
|
: [
|
|
31
28
|
`installed ${install.package}@${installed.version} with the npm under ${installed.prefix}, replacing ${update.from}`,
|
|
29
|
+
...skill,
|
|
32
30
|
...update.upgrades.map(renderUpgrade),
|
|
33
|
-
];
|
|
34
|
-
const next = update.next.map((command) => `next: ${command}, so the ${cli.name} skill describes ${update.latest}`);
|
|
35
|
-
return (next.length === 0 ? head : [...head, "", ...next]).join("\n");
|
|
31
|
+
].join("\n");
|
|
36
32
|
}
|
|
37
33
|
// The install ran to its end, so the run reports it rather than asking for a rerun.
|
|
38
34
|
function interruptedAfterInstall(plan) {
|
|
39
35
|
return new CliError({
|
|
40
36
|
code: INTERRUPTED,
|
|
41
37
|
message: `interrupted, but ${plan.package}@${plan.latest} had already been installed with the npm under ${plan.prefix}, replacing ${plan.from}`,
|
|
42
|
-
hint: "nothing to run again
|
|
38
|
+
hint: "nothing to run again",
|
|
43
39
|
});
|
|
44
40
|
}
|
|
45
41
|
/** The built-in `update`, for a CLI installed globally with npm. */
|
|
46
|
-
export function updateCommand(cli, install,
|
|
42
|
+
export function updateCommand(cli, install, { bin, node }) {
|
|
47
43
|
return defineCommand({
|
|
48
44
|
description: "install the latest version of this CLI from its registry",
|
|
49
45
|
examples: [
|
|
@@ -61,6 +57,7 @@ export function updateCommand(cli, install, skill, { bin, node }) {
|
|
|
61
57
|
latest: await latestVersion(npm),
|
|
62
58
|
prefix: copy.prefix,
|
|
63
59
|
packageDir: copy.packageDir,
|
|
60
|
+
copies: cli.skill === undefined ? [] : await homeCopiesOf(cli.name, ctx.env),
|
|
64
61
|
};
|
|
65
62
|
},
|
|
66
63
|
apply: async (plan, ctx) => {
|
|
@@ -70,19 +67,22 @@ export function updateCommand(cli, install, skill, { bin, node }) {
|
|
|
70
67
|
from,
|
|
71
68
|
latest,
|
|
72
69
|
installed: null,
|
|
70
|
+
skill: await syncHome(cli, plan.packageDir, ctx),
|
|
73
71
|
upgrades: [],
|
|
74
|
-
next: await skill.nextAt(latest, ctx),
|
|
75
72
|
};
|
|
76
73
|
}
|
|
77
74
|
ctx.signal.throwIfAborted();
|
|
78
75
|
ctx.progress(`installing ${plan.package}@${latest} with the npm under ${prefix}…`);
|
|
79
|
-
await ctx.runToEnd(`installing ${plan.package}@${latest}`, () =>
|
|
76
|
+
const skill = await ctx.runToEnd(`installing ${plan.package}@${latest}`, async () => {
|
|
77
|
+
await installGlobally(latest, globalNpm(cli, install, ctx, node));
|
|
78
|
+
return syncHome(cli, plan.packageDir, ctx);
|
|
79
|
+
});
|
|
80
80
|
const update = {
|
|
81
81
|
from,
|
|
82
82
|
latest,
|
|
83
83
|
installed: { version: latest, prefix },
|
|
84
|
+
skill,
|
|
84
85
|
upgrades: await upgradesOf(plan.packageDir, from, latest),
|
|
85
|
-
next: await skill.nextAt(latest, ctx),
|
|
86
86
|
};
|
|
87
87
|
if (ctx.signal.aborted) {
|
|
88
88
|
ctx.deliver(update);
|
|
@@ -91,9 +91,12 @@ export function updateCommand(cli, install, skill, { bin, node }) {
|
|
|
91
91
|
return update;
|
|
92
92
|
},
|
|
93
93
|
render: (update) => renderUpdate(cli, install, update),
|
|
94
|
-
renderPlan: (plan) =>
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
renderPlan: (plan) => [
|
|
95
|
+
standingOf(plan.from, plan.latest) === "behind"
|
|
96
|
+
? `would install ${plan.package}@${plan.latest} with the npm under ${plan.prefix}, replacing ${plan.from}`
|
|
97
|
+
: nothingToInstall(plan),
|
|
98
|
+
...renderPlannedSync(cli.name, plan.copies),
|
|
99
|
+
].join("\n"),
|
|
97
100
|
});
|
|
98
101
|
}
|
|
99
102
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/built-ins/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/built-ins/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,3 +13,4 @@ export type Upgrade = z.infer<typeof upgradeSchema>;
|
|
|
13
13
|
* CHANGELOG.md in `packageDir`; none when the package ships no CHANGELOG.
|
|
14
14
|
*/
|
|
15
15
|
export declare function upgradesOf(packageDir: string, from: string, to: string): Promise<Upgrade[]>;
|
|
16
|
+
export declare function renderUpgrade(upgrade: Upgrade): string;
|
|
@@ -73,4 +73,9 @@ export async function upgradesOf(packageDir, from, to) {
|
|
|
73
73
|
.sort((a, b) => compareVersions(a.version, b.version))
|
|
74
74
|
.flatMap(upgradeOf);
|
|
75
75
|
}
|
|
76
|
+
export function renderUpgrade(upgrade) {
|
|
77
|
+
return "steps" in upgrade
|
|
78
|
+
? [`\nupgrade steps for ${upgrade.version}:`, ...upgrade.steps.map((step) => `- ${step}`)].join("\n")
|
|
79
|
+
: `\nchanges in ${upgrade.version}:\n${upgrade.notes}`;
|
|
80
|
+
}
|
|
76
81
|
//# sourceMappingURL=upgrades.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrades.js","sourceRoot":"","sources":["../../src/built-ins/upgrades.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrades.js","sourceRoot":"","sources":["../../src/built-ins/upgrades.ts"],"names":[],"mappings":"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"}
|
package/dist/context/tools.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Env } from "../context.js";
|
|
|
2
2
|
import type { Commands, DoctorCheck, Tool } from "../define.js";
|
|
3
3
|
import { type Rerun } from "../next-step.js";
|
|
4
4
|
export declare const TOOL_MISSING = "TOOL_MISSING";
|
|
5
|
+
export declare function pathOf(env: Env): string;
|
|
5
6
|
/** Where `name` is found on `PATH` from `env`, or undefined. */
|
|
6
7
|
export declare function findTool(name: string, env: Env): Promise<string | undefined>;
|
|
7
8
|
/** Fails with `TOOL_MISSING`, naming every missing tool at once, unless all are on `PATH`. */
|
package/dist/context/tools.js
CHANGED
|
@@ -6,7 +6,7 @@ import { wholeLine } from "../next-step.js";
|
|
|
6
6
|
import { declaredIn } from "./declared.js";
|
|
7
7
|
export const TOOL_MISSING = "TOOL_MISSING";
|
|
8
8
|
const WINDOWS_EXTENSIONS = ".COM;.EXE;.BAT;.CMD";
|
|
9
|
-
function pathOf(env) {
|
|
9
|
+
export function pathOf(env) {
|
|
10
10
|
const key = Object.keys(env).find((name) => name.toUpperCase() === "PATH") ?? "PATH";
|
|
11
11
|
return env[key] ?? "";
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/context/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEjD,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/context/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/define.d.ts
CHANGED
|
@@ -188,13 +188,8 @@ export type Command<Ports = unknown, Settings = unknown> = ReadCommand<InputSche
|
|
|
188
188
|
export interface Commands<Ports = unknown, Settings = unknown> {
|
|
189
189
|
readonly [key: string]: Command<Ports, Settings> | Commands<Ports, Settings>;
|
|
190
190
|
}
|
|
191
|
-
export
|
|
192
|
-
readonly
|
|
193
|
-
} | {
|
|
194
|
-
readonly add: string;
|
|
195
|
-
};
|
|
196
|
-
export interface PackagedSkillSource {
|
|
197
|
-
readonly packaged: string;
|
|
191
|
+
export interface SkillSource {
|
|
192
|
+
readonly folder: string;
|
|
198
193
|
readonly agents?: string;
|
|
199
194
|
}
|
|
200
195
|
interface CliBase<Ports, Settings> {
|
|
@@ -208,36 +203,35 @@ interface CliBase<Ports, Settings> {
|
|
|
208
203
|
readonly ports?: (base: PortsBase) => Ports;
|
|
209
204
|
readonly project?: ProjectFile<Settings>;
|
|
210
205
|
/**
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* `
|
|
214
|
-
|
|
215
|
-
|
|
206
|
+
* The folder of the CLI docs, relative to the package root, such as `"docs/cli"`: real files shipped
|
|
207
|
+
* in the package, which `--version` names on a `docs <path>` line for the CLI skill to point at.
|
|
208
|
+
* List it in `package.json`'s `files`. `defineCli` throws on a folder outside the package.
|
|
209
|
+
*/
|
|
210
|
+
readonly docs?: string;
|
|
211
|
+
/**
|
|
212
|
+
* The CLI skill, a folder in the package holding `SKILL.md` and its files. The skill holds only what
|
|
213
|
+
* stays true across releases, and points at the CLI docs through `docs`. Only a CLI with several
|
|
214
|
+
* Commands may declare it: `defineCli` throws otherwise. The Install decides where the Skill copy goes.
|
|
216
215
|
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
216
|
+
* A Global install's goes under `~/.claude/skills/<name>` and `~/.agents/skills/<name>`: the
|
|
217
|
+
* Built-ins `setup` and `update` make each match the folder of the release they leave installed.
|
|
218
|
+
* `doctor`'s `skill` row reports, as an advisory problem, a missing copy or one stating a
|
|
219
|
+
* `metadata.version` the package's own skill does not (fix: `<run-as> setup`). `defineCli` throws on
|
|
220
|
+
* `agents`, which has no repo to go to.
|
|
221
221
|
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
* `skill: { copy, copyVersion, packageVersion, home? }`, `home` naming that folder. Every other
|
|
234
|
-
* Command run from an install gives that row's problem as a Notice before the Command runs, or
|
|
235
|
-
* one saying the copy could not be checked when a file is unreadable. With `agents`, the
|
|
236
|
-
* advisory `agents` row reports a project root `AGENTS.md` without the CLI's Agents section, or with
|
|
237
|
-
* another one (fix: `<run-as> skill install`), and a `CLAUDE.md` without `@AGENTS.md`. Only a CLI with several
|
|
238
|
-
* Commands may declare it: `defineCli` throws otherwise.
|
|
222
|
+
* Any other's goes under `.claude/skills/<name>` at the package manager's project root: the Built-in
|
|
223
|
+
* `skill install` makes it match the folder, replacing what differs and removing what the package no
|
|
224
|
+
* longer has, and the project commits it, so git shows the change. With `agents`, it also writes
|
|
225
|
+
* that text verbatim as the CLI's Agents section in the `AGENTS.md` there, between
|
|
226
|
+
* `<!-- BEGIN:<name> -->` and `<!-- END:<name> -->`, and names the `@AGENTS.md` line `CLAUDE.md`
|
|
227
|
+
* lacks. `doctor`'s `skill` row reports, as advisory problems, a missing copy or one stating a
|
|
228
|
+
* `metadata.version` the package's own skill does not (fix: `<run-as> skill install`), and a copy
|
|
229
|
+
* under `~/.claude/skills`, which Claude Code prefers: the row names that folder to remove and gives
|
|
230
|
+
* no line, since other projects may use it. With `agents`, the advisory `agents` row reports a
|
|
231
|
+
* project root `AGENTS.md` without the CLI's Agents section, or with another one (fix:
|
|
232
|
+
* `<run-as> skill install`), and a `CLAUDE.md` without `@AGENTS.md`.
|
|
239
233
|
*/
|
|
240
|
-
readonly skill?:
|
|
234
|
+
readonly skill?: SkillSource;
|
|
241
235
|
/**
|
|
242
236
|
* Work that runs beside every Command run, such as a usage count; return `undefined` to decline.
|
|
243
237
|
* It starts once the input is parsed, before `plan`, `run` or `start`, so it also runs for a run a
|
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAmbA,0FAA0F;AAC1F,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AACzC,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -52,6 +52,8 @@ export declare function isMissingFile(error: unknown): boolean;
|
|
|
52
52
|
/** What `pending` resolves with, or undefined when it fails because a file is missing. */
|
|
53
53
|
export declare function orMissing<T>(pending: Promise<T>): Promise<T | undefined>;
|
|
54
54
|
export declare function isNothingThere(error: unknown): boolean;
|
|
55
|
+
/** The CLI's own environment variable, such as `TOOL_DEBUG` for `cliVariable("tool", "DEBUG")`. */
|
|
56
|
+
export declare function cliVariable(cliName: string, suffix: string): string;
|
|
55
57
|
export declare function debugVariable(cliName: string): string;
|
|
56
58
|
export declare function messageOf(error: unknown): string;
|
|
57
59
|
export declare function isDebug({ env, cliName }: Pick<ErrorFormat, "env" | "cliName">): boolean;
|
package/dist/errors.js
CHANGED
|
@@ -56,8 +56,12 @@ export async function orMissing(pending) {
|
|
|
56
56
|
export function isNothingThere(error) {
|
|
57
57
|
return isMissingFile(error) || errnoOf(error) === "ENOTDIR";
|
|
58
58
|
}
|
|
59
|
+
/** The CLI's own environment variable, such as `TOOL_DEBUG` for `cliVariable("tool", "DEBUG")`. */
|
|
60
|
+
export function cliVariable(cliName, suffix) {
|
|
61
|
+
return `${cliName.toUpperCase().replace(/[^A-Z0-9]/g, "_")}_${suffix}`;
|
|
62
|
+
}
|
|
59
63
|
export function debugVariable(cliName) {
|
|
60
|
-
return
|
|
64
|
+
return cliVariable(cliName, "DEBUG");
|
|
61
65
|
}
|
|
62
66
|
export function messageOf(error) {
|
|
63
67
|
return error instanceof Error ? error.message : String(error);
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAA4B,MAAM,gBAAgB,CAAC;AAkBlE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,IAAI,CAAS;IACb,OAAO,CAAU;IACjB,OAAO,CAAqB;IAC5B,IAAI,CAAkB;IAE/B,YACE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAkB,EACpE,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAMD,MAAM,YAAa,SAAQ,QAAQ;IAGjC,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,EAAsB,EAAE,OAAsB;QACzE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,MAA0B,EAAE,OAAsB;IAC7E,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAID,0EAA0E;AAC1E,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAgBnC,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAChF,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,OAAmB;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,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,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/exit-classes.js
CHANGED
package/dist/exit-classes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exit-classes.js","sourceRoot":"","sources":["../src/exit-classes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exit-classes.js","sourceRoot":"","sources":["../src/exit-classes.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { AgentCli, AgentCliValues, CliDeclaration, CliManifest, InstallDeclaration, } from "./agent-cli.js";
|
|
2
2
|
export { agentCli } from "./agent-cli.js";
|
|
3
|
+
export { setupLineOf } from "./built-ins/install/global-npm.js";
|
|
3
4
|
export { runAsOf } from "./built-ins/install/run-as.js";
|
|
4
5
|
export type { Clock } from "./clock.js";
|
|
5
6
|
export type { CommandLineChange } from "./command-line/invocation.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { agentCli } from "./agent-cli.js";
|
|
2
|
+
export { setupLineOf } from "./built-ins/install/global-npm.js";
|
|
2
3
|
export { runAsOf } from "./built-ins/install/run-as.js";
|
|
3
4
|
export { SIDE_TASK_WAIT_MS } from "./context/side-task.js";
|
|
4
5
|
export { orStdin, STDIN_IDLE_MS } from "./context/stdin.js";
|