@lore-co/cli 0.2.24 → 0.2.26

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.
@@ -99,10 +99,10 @@ recorded (\`list_sessions\`), and from the repository's files. The \`lore\` and
99
99
  \`recap\` skills, when installed, describe the flows you follow.`,
100
100
  opencode: `## Host notes: OpenCode
101
101
 
102
- Mention \`@lore\` in a message in the TUI to run this agent in a child session,
103
- switch to it as the primary agent with Tab, or run
104
- \`opencode run --agent lore "…"\` from a shell; \`opencode run\` treats an
105
- \`@lore\` mention as plain text, so the main agent answers itself there. The
102
+ The main agent hands requests addressed to Lore to you through its \`task\`
103
+ tool, in the TUI and from \`opencode run\`. Mention \`@lore\` in the TUI to run
104
+ this agent in a child session, switch to it as the primary agent with Tab, or
105
+ run \`opencode run --agent lore "…"\` from a shell. The
106
106
  permission map denies edit, bash, web, task, and the to-do tools and allows
107
107
  the Lore tools above by name; OpenCode cannot deny
108
108
  tools from MCP servers this definition does not know about, so do not use
@@ -246,15 +246,16 @@ export function loreAgentFiles(installations) {
246
246
  }
247
247
  const manifestFile = (paths) => resolve(paths.loreDirectory, "agents.json");
248
248
  const hint = (subject, file, error) => ownedFileHint(subject, file, error, "Lore still works through the skill and hooks without the agent.");
249
+ /** `files` are the agent definitions now at this version; `changed` are the ones this call rewrote. */
249
250
  export async function installLoreAgent(paths, installations) {
250
- const files = [], warnings = [];
251
+ const files = [], changed = [], warnings = [];
251
252
  let manifest;
252
253
  try {
253
254
  manifest = await readOwnedManifest(manifestFile(paths), "Agent");
254
255
  }
255
256
  catch (error) {
256
257
  warnings.push(hint("Lore agent not installed: cannot read", manifestFile(paths), error));
257
- return { files, warnings };
258
+ return { files, changed, warnings };
258
259
  }
259
260
  // Best-effort per file, like skills: an unwritable agent directory must not fail the connection.
260
261
  for (const { harness, file } of loreAgentFiles(installations)) {
@@ -269,8 +270,10 @@ export async function installLoreAgent(paths, installations) {
269
270
  warnings.push(`Lore agent left unchanged to preserve your edits: ${file}`);
270
271
  continue;
271
272
  }
272
- if (existing !== text)
273
+ if (existing !== text) {
273
274
  await atomicWrite(file, text);
275
+ changed.push(file);
276
+ }
274
277
  manifest[file] = digest(text);
275
278
  files.push(file);
276
279
  }
@@ -284,7 +287,7 @@ export async function installLoreAgent(paths, installations) {
284
287
  catch (error) {
285
288
  warnings.push(hint("Lore agent ownership not recorded in", manifestFile(paths), error));
286
289
  }
287
- return { files, warnings };
290
+ return { files, changed, warnings };
288
291
  }
289
292
  export async function removeLoreAgent(paths, installations) {
290
293
  const manifest = await readOwnedManifest(manifestFile(paths), "Agent").catch(() => ({}));
@@ -1 +1 @@
1
- {"version":3,"file":"lore-agent.js","sourceRoot":"","sources":["../src/lore-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lore-agent.js","sourceRoot":"","sources":["../src/lore-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export type RunNpm = (args: string[]) => Promise<string>;
2
+ /** The `@lore-co/cli` package directory this process runs from. */
3
+ export declare const runningPackageDirectory: () => string;
4
+ export declare function npm(args: string[], timeoutMs: number, failure: string): Promise<string>;
5
+ export type GlobalNpmInstallation = {
6
+ kind: "npm";
7
+ target: string;
8
+ prefix: string;
9
+ }
10
+ /** A checkout, npx cache, project dependency, or another manager's store. */
11
+ | {
12
+ kind: "other";
13
+ }
14
+ /** npm's reported global directory could not be resolved. */
15
+ | {
16
+ kind: "unresolved";
17
+ reportedRoot: string;
18
+ }
19
+ /** npm's global directory is not the one this package lives in. */
20
+ | {
21
+ kind: "mismatch";
22
+ };
23
+ /** Whether the package directory is `@lore-co/cli` in npm's own global `node_modules`. */
24
+ export declare function findGlobalNpmInstallation(packageDirectory: string, runNpm: RunNpm): Promise<GlobalNpmInstallation>;
25
+ /** npm rewrites the package directory and the command shims; both must be writable. */
26
+ export declare function assertNpmInstallationWritable(installation: {
27
+ target: string;
28
+ prefix: string;
29
+ }): Promise<void>;
30
+ //# sourceMappingURL=npm-installation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-installation.d.ts","sourceRoot":"","sources":["../src/npm-installation.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,QAAO,MAAuD,CAAC;AAEnG,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvF;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACjD,6EAA6E;GAC3E;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,6DAA6D;GAC3D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AAC9C,mEAAmE;GACjE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,0FAA0F;AAC1F,wBAAsB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAcxH;AAED,uFAAuF;AACvF,wBAAsB,6BAA6B,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnH"}
@@ -0,0 +1,46 @@
1
+ import { spawn, isWindows } from "./platform.js";
2
+ import { constants } from "node:fs";
3
+ import { access, readFile, realpath } from "node:fs/promises";
4
+ import { basename, dirname, resolve } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ /** The `@lore-co/cli` package directory this process runs from. */
7
+ export const runningPackageDirectory = () => fileURLToPath(new URL("..", import.meta.url));
8
+ export function npm(args, timeoutMs, failure) {
9
+ return new Promise((done, reject) => {
10
+ const child = spawn("npm", args, { stdio: ["ignore", "pipe", "pipe"], windowsHide: true });
11
+ let output = "";
12
+ const timer = setTimeout(() => { child.kill(); reject(new Error("npm timed out")); }, timeoutMs);
13
+ child.stdout.on("data", chunk => { output += chunk; if (output.length > 1024 * 1024)
14
+ child.kill(); });
15
+ child.stderr.resume();
16
+ child.once("error", error => { clearTimeout(timer); reject(error); });
17
+ child.once("close", code => { clearTimeout(timer); code === 0 ? done(output.trim()) : reject(new Error(failure)); });
18
+ });
19
+ }
20
+ /** Whether the package directory is `@lore-co/cli` in npm's own global `node_modules`. */
21
+ export async function findGlobalNpmInstallation(packageDirectory, runNpm) {
22
+ const target = await realpath(packageDirectory);
23
+ const manifest = JSON.parse(await readFile(resolve(target, "package.json"), "utf8"));
24
+ const modules = dirname(dirname(target));
25
+ if (manifest.name !== "@lore-co/cli" || basename(target) !== "cli" || basename(dirname(target)) !== "@lore-co" || basename(modules) !== "node_modules" || (!isWindows() && basename(dirname(modules)) !== "lib")) {
26
+ return { kind: "other" };
27
+ }
28
+ const prefix = isWindows() ? dirname(modules) : dirname(dirname(modules));
29
+ const reportedRoot = (await runNpm(["root", "--global"])).trim();
30
+ let reportedModules;
31
+ try {
32
+ reportedModules = await realpath(reportedRoot);
33
+ }
34
+ catch {
35
+ return { kind: "unresolved", reportedRoot };
36
+ }
37
+ if (reportedModules !== modules)
38
+ return { kind: "mismatch" };
39
+ return { kind: "npm", target, prefix };
40
+ }
41
+ /** npm rewrites the package directory and the command shims; both must be writable. */
42
+ export async function assertNpmInstallationWritable(installation) {
43
+ await access(dirname(installation.target), constants.W_OK);
44
+ await access(isWindows() ? installation.prefix : resolve(installation.prefix, "bin"), constants.W_OK);
45
+ }
46
+ //# sourceMappingURL=npm-installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-installation.js","sourceRoot":"","sources":["../src/npm-installation.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface SelfHostCommandDependencies {
12
12
  }>;
13
13
  }
14
14
  export declare const SELF_HOST_HELP = "lore self-host\nRun a version-pinned Lore stack with Docker Compose, without cloning Lore.\n\nUsage:\n lore self-host <command> [options]\n\nCommands:\n up Create or update the stack and wait for readiness\n down Stop the stack while preserving database data\n status Show Docker, service, and API readiness state\n\nDiscover:\n lore self-host up --help\n lore self-host down --help\n lore self-host status --help\n\nExamples:\n lore self-host up\n lore self-host status --json\n lore self-host down\n";
15
- export declare const SELF_HOST_UP_HELP = "lore self-host up\nCreate secure persistent state, start pinned images, and wait for API readiness.\n\nUsage:\n lore self-host up [options]\n\nOptions:\n --state-dir <path> State directory (default: ~/.lore/self-host)\n --image-tag <semver> Pinned API/web image tag (default: CLI version)\n --api-port <port> Host API port (default: 3001)\n --dashboard-port <port> Host dashboard port (default: 3000)\n --bind-address <address> 127.0.0.1, 0.0.0.0, or ::1 (default: 127.0.0.1)\n --origin <origin> Allowed dashboard origin; repeat for multiple origins\n --organization <name> Headless workspace organization (default: local)\n --name <name> Headless workspace display name (default: organization)\n --headless Start PostgreSQL, migrations, and API only\n --dashboard Start the dashboard (default)\n --connect Connect local agents after headless startup\n --agent <name> Agent to connect; repeat to select multiple\n --timeout-ms <ms> Readiness timeout, 1000-600000 (default: 120000)\n --json Print machine-readable output\n --help Show this command's help\n\nEnvironment:\n LORE_SELF_HOST_STATE_DIR, LORE_IMAGE_TAG, API_PORT, NUXT_PORT,\n API_BIND_ADDRESS, NUXT_ORIGIN, LORE_WORKSPACE_ORGANIZATION,\n LORE_WORKSPACE_NAME, LORE_SELF_HOST_HEADLESS, RESEND_API_KEY,\n AUTH_EMAIL_FROM\n\nExamples:\n lore self-host up\n lore self-host up --headless --connect --agent claude\n lore self-host up --image-tag 0.2.24 --origin https://lore.example.com\n";
15
+ export declare const SELF_HOST_UP_HELP = "lore self-host up\nCreate secure persistent state, start pinned images, and wait for API readiness.\n\nUsage:\n lore self-host up [options]\n\nOptions:\n --state-dir <path> State directory (default: ~/.lore/self-host)\n --image-tag <semver> Pinned API/web image tag (default: CLI version)\n --api-port <port> Host API port (default: 3001)\n --dashboard-port <port> Host dashboard port (default: 3000)\n --bind-address <address> 127.0.0.1, 0.0.0.0, or ::1 (default: 127.0.0.1)\n --origin <origin> Allowed dashboard origin; repeat for multiple origins\n --organization <name> Headless workspace organization (default: local)\n --name <name> Headless workspace display name (default: organization)\n --headless Start PostgreSQL, migrations, and API only\n --dashboard Start the dashboard (default)\n --connect Connect local agents after headless startup\n --agent <name> Agent to connect; repeat to select multiple\n --timeout-ms <ms> Readiness timeout, 1000-600000 (default: 120000)\n --json Print machine-readable output\n --help Show this command's help\n\nEnvironment:\n LORE_SELF_HOST_STATE_DIR, LORE_IMAGE_TAG, API_PORT, NUXT_PORT,\n API_BIND_ADDRESS, NUXT_ORIGIN, LORE_WORKSPACE_ORGANIZATION,\n LORE_WORKSPACE_NAME, LORE_SELF_HOST_HEADLESS, RESEND_API_KEY,\n AUTH_EMAIL_FROM\n\nExamples:\n lore self-host up\n lore self-host up --headless --connect --agent claude\n lore self-host up --image-tag 0.2.26 --origin https://lore.example.com\n";
16
16
  export declare const SELF_HOST_DOWN_HELP = "lore self-host down\nStop the self-hosted stack. Database volumes are preserved by default.\n\nUsage:\n lore self-host down [--state-dir <path>] [--volumes --yes] [--json]\n\nOptions:\n --state-dir <path> State directory (default: ~/.lore/self-host)\n --volumes Also delete persistent database volumes\n --yes Required with --volumes\n --json Print machine-readable output\n --help Show this command's help\n\nExamples:\n lore self-host down\n lore self-host down --volumes --yes --json\n";
17
17
  export declare const SELF_HOST_STATUS_HELP = "lore self-host status\nRead Docker availability, Compose service state, and Lore API readiness.\n\nUsage:\n lore self-host status [--state-dir <path>] [--json]\n\nExamples:\n lore self-host status\n lore self-host status --json\n";
18
18
  export declare function runSelfHostCommand(args: readonly string[], environment?: NodeJS.ProcessEnv, dependencies?: SelfHostCommandDependencies): Promise<void>;
package/dist/self-host.js CHANGED
@@ -65,7 +65,7 @@ Environment:
65
65
  Examples:
66
66
  lore self-host up
67
67
  lore self-host up --headless --connect --agent claude
68
- lore self-host up --image-tag 0.2.24 --origin https://lore.example.com
68
+ lore self-host up --image-tag 0.2.26 --origin https://lore.example.com
69
69
  `;
70
70
  export const SELF_HOST_DOWN_HELP = `lore self-host down
71
71
  Stop the self-hosted stack. Database volumes are preserved by default.
@@ -318,7 +318,7 @@ function parseDownArguments(args, environment) {
318
318
  function normalizeImageTag(value) {
319
319
  const tag = value.trim().replace(/^v(?=\d)/u, "");
320
320
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z][0-9A-Za-z.-]*)?$/u.test(tag)) {
321
- throw new Error("--image-tag must be a pinned semantic version such as 0.2.24");
321
+ throw new Error("--image-tag must be a pinned semantic version such as 0.2.26");
322
322
  }
323
323
  return tag;
324
324
  }
package/dist/skills.d.ts CHANGED
@@ -9,8 +9,10 @@ interface Installation {
9
9
  export declare function loreSkillFiles(paths: SkillPaths, installations: readonly Installation[]): string[];
10
10
  /** The `/recap` skill is installed beside the `lore` skill at the same locations. */
11
11
  export declare function recapSkillFiles(paths: SkillPaths, installations: readonly Installation[]): string[];
12
+ /** `files` are the skill files now at this version; `changed` are the ones this call rewrote. */
12
13
  export declare function installLoreSkill(paths: SkillPaths, installations: readonly Installation[]): Promise<{
13
14
  files: string[];
15
+ changed: string[];
14
16
  warnings: string[];
15
17
  }>;
16
18
  export declare function removeLoreSkill(paths: SkillPaths, installations: readonly Installation[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;AAC5D,UAAU,YAAY;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAiB5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAElG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAEnG;AASD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6ClJ;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9G"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;AAC5D,UAAU,YAAY;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAiB5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAElG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAEnG;AASD,iGAAiG;AACjG,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6CrK;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9G"}
package/dist/skills.js CHANGED
@@ -28,8 +28,9 @@ const removeOwnedSkill = removeOwnedFile;
28
28
  function skillHint(subject, file, error) {
29
29
  return ownedFileHint(subject, file, error, "Recording still works without the skill.");
30
30
  }
31
+ /** `files` are the skill files now at this version; `changed` are the ones this call rewrote. */
31
32
  export async function installLoreSkill(paths, installations) {
32
- const files = [], warnings = [];
33
+ const files = [], changed = [], warnings = [];
33
34
  const manifestFile = resolve(paths.loreDirectory, "skills.json");
34
35
  let manifest;
35
36
  try {
@@ -37,7 +38,7 @@ export async function installLoreSkill(paths, installations) {
37
38
  }
38
39
  catch (error) {
39
40
  warnings.push(skillHint("Lore skill not installed: cannot read", manifestFile, error));
40
- return { files, warnings };
41
+ return { files, changed, warnings };
41
42
  }
42
43
  // Installation is best-effort per file: an unwritable skill directory
43
44
  // (for example a root-owned ~/.agents) must not fail the connection.
@@ -53,8 +54,10 @@ export async function installLoreSkill(paths, installations) {
53
54
  warnings.push(`${skill.subject} left unchanged to preserve your edits: ${file}`);
54
55
  continue;
55
56
  }
56
- if (existing !== skill.asset)
57
+ if (existing !== skill.asset) {
57
58
  await atomicWrite(file, skill.asset);
59
+ changed.push(file);
60
+ }
58
61
  manifest[file] = digest(skill.asset);
59
62
  files.push(file);
60
63
  // Retire the old name only after its replacement is installed, using
@@ -81,7 +84,7 @@ export async function installLoreSkill(paths, installations) {
81
84
  catch (error) {
82
85
  warnings.push(skillHint("Lore skill ownership not recorded in", manifestFile, error));
83
86
  }
84
- return { files, warnings };
87
+ return { files, changed, warnings };
85
88
  }
86
89
  export async function removeLoreSkill(paths, installations) {
87
90
  const manifest = await readManifest(paths).catch(() => ({}));
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,+kBAmB1B,CAAC;AAEF,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAqFD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BxG"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,+kBAmB1B,CAAC;AAEF,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAmED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BxG"}
package/dist/uninstall.js CHANGED
@@ -1,9 +1,9 @@
1
- import { spawn, isWindows, removeAfterExit, renameWindowsBinary } from "./platform.js";
1
+ import { isWindows, removeAfterExit, renameWindowsBinary } from "./platform.js";
2
+ import { assertNpmInstallationWritable, findGlobalNpmInstallation, npm, runningPackageDirectory } from "./npm-installation.js";
2
3
  import { constants } from "node:fs";
3
- import { access, readFile, realpath, stat, unlink } from "node:fs/promises";
4
- import { basename, dirname, resolve } from "node:path";
4
+ import { access, realpath, stat, unlink } from "node:fs/promises";
5
+ import { dirname } from "node:path";
5
6
  import { createInterface } from "node:readline/promises";
6
- import { fileURLToPath } from "node:url";
7
7
  import { IS_STANDALONE_BINARY } from "./version.js";
8
8
  export const UNINSTALL_HELP = `lore uninstall
9
9
  Disconnect this machine and remove the installed Lore CLI.
@@ -25,18 +25,6 @@ Examples:
25
25
  lore uninstall
26
26
  lore uninstall --yes
27
27
  `;
28
- async function npm(args) {
29
- return new Promise((done, reject) => {
30
- const child = spawn("npm", args, { stdio: ["ignore", "pipe", "pipe"], windowsHide: true });
31
- let output = "";
32
- const timer = setTimeout(() => { child.kill(); reject(new Error("npm timed out")); }, 60_000);
33
- child.stdout.on("data", chunk => { output += chunk; if (output.length > 1024 * 1024)
34
- child.kill(); });
35
- child.stderr.resume();
36
- child.once("error", error => { clearTimeout(timer); reject(error); });
37
- child.once("close", code => { clearTimeout(timer); code === 0 ? done(output.trim()) : reject(new Error("npm could not complete uninstall")); });
38
- });
39
- }
40
28
  async function planUninstall(options) {
41
29
  if (options.isStandaloneBinary ?? IS_STANDALONE_BINARY) {
42
30
  const target = await realpath(options.execPath ?? process.execPath);
@@ -63,28 +51,20 @@ async function planUninstall(options) {
63
51
  },
64
52
  };
65
53
  }
66
- const target = await realpath(options.packageDirectory ?? fileURLToPath(new URL("..", import.meta.url)));
67
- const manifest = JSON.parse(await readFile(resolve(target, "package.json"), "utf8"));
68
- const modules = dirname(dirname(target));
54
+ const runNpm = options.runNpm ?? ((args) => npm(args, 60_000, "npm could not complete uninstall"));
55
+ const installation = await findGlobalNpmInstallation(options.packageDirectory ?? runningPackageDirectory(), runNpm);
69
56
  // Never remove a checkout, npx cache, project dependency, or another manager's store.
70
- if (manifest.name !== "@lore-co/cli" || basename(target) !== "cli" || basename(dirname(target)) !== "@lore-co" || basename(modules) !== "node_modules" || (!isWindows() && basename(dirname(modules)) !== "lib")) {
57
+ if (installation.kind === "other") {
71
58
  throw new Error("This is not a standalone or global npm installation. Run lore disconnect, then remove Lore with the package manager you used to install it.");
72
59
  }
73
- const prefix = isWindows() ? dirname(modules) : dirname(dirname(modules));
74
- const runNpm = options.runNpm ?? npm;
75
- const reportedRoot = (await runNpm(["root", "--global"])).trim();
76
- let reportedModules;
77
- try {
78
- reportedModules = await realpath(reportedRoot);
79
- }
80
- catch {
81
- throw new Error(`Could not verify the npm installation. Nothing was removed. npm's global directory could not be resolved: ${JSON.stringify(reportedRoot)}. Check "npm config get prefix" and retry with the npm configuration used to install Lore.`);
60
+ if (installation.kind === "unresolved") {
61
+ throw new Error(`Could not verify the npm installation. Nothing was removed. npm's global directory could not be resolved: ${JSON.stringify(installation.reportedRoot)}. Check "npm config get prefix" and retry with the npm configuration used to install Lore.`);
82
62
  }
83
- if (reportedModules !== modules) {
63
+ if (installation.kind === "mismatch") {
84
64
  throw new Error("Could not verify the npm installation. Nothing was removed.");
85
65
  }
86
- await access(dirname(target), constants.W_OK);
87
- await access(isWindows() ? prefix : resolve(prefix, "bin"), constants.W_OK);
66
+ const { target, prefix } = installation;
67
+ await assertNpmInstallationWritable(installation);
88
68
  return {
89
69
  kind: "npm", target,
90
70
  remove: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
package/dist/update.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type RunNpm } from "./npm-installation.js";
1
2
  export type UpdateFetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
2
3
  export interface UpdateCommandOptions {
3
4
  platform?: NodeJS.Platform;
@@ -8,6 +9,11 @@ export interface UpdateCommandOptions {
8
9
  execPath?: string;
9
10
  homeDirectory?: string;
10
11
  runVersion?: (path: string, timeoutMs: number) => Promise<string>;
12
+ /** Runs `internal refresh-integrations` with the installed CLI and returns its report. */
13
+ runRefresh?: (command: readonly string[], environment: NodeJS.ProcessEnv, timeoutMs: number) => Promise<string>;
14
+ /** The npm package directory this CLI runs from, when it is not a standalone binary. */
15
+ packageDirectory?: string;
16
+ runNpm?: RunNpm;
11
17
  writeOutput?: (message: string) => void;
12
18
  }
13
19
  export declare function isReleaseTag(value: string): boolean;
@@ -17,6 +23,13 @@ export declare function parseReleaseBaseUrl(repository: string, configuredBase?:
17
23
  export declare function buildReleaseAssetUrl(releaseBase: URL, tag: string, asset: string): URL;
18
24
  export declare function parseChecksumManifest(manifest: string, expectedAsset: string): string;
19
25
  export declare function resolveLatestReleaseTag(repository: string, fetcher?: UpdateFetch): Promise<string>;
20
- export declare function selectUpdateTarget(environment: NodeJS.ProcessEnv, isStandaloneBinary: boolean, execPath: string, homeDirectory: string, canWriteSystemBin?: () => Promise<boolean>, platform?: NodeJS.Platform): Promise<string>;
26
+ /**
27
+ * The standalone binary to replace, or null for a CLI installed with a
28
+ * package manager, which is updated through that package manager instead:
29
+ * installing a binary beside it would leave two copies, with the agent hooks
30
+ * on one and `lore` on PATH possibly the other. LORE_BIN_DIR installs a
31
+ * standalone binary on purpose.
32
+ */
33
+ export declare function selectUpdateTarget(environment: NodeJS.ProcessEnv, isStandaloneBinary: boolean, execPath: string, platform?: NodeJS.Platform): string | null;
21
34
  export declare function updateCommand(args: readonly string[], options?: UpdateCommandOptions): Promise<void>;
22
35
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAkDA,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,GAAG,IAAI,CAgB3B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUzE;AAmBD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,GAAG,CAoCL;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,GAAG,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,GAAG,CAQL;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,MAAM,CAqBR;AAwDD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAcD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,kBAAkB,EAAE,OAAO,EAC3B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,iBAAiB,GAAE,MAAM,OAAO,CAAC,OAAO,CAOvC,EACD,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,MAAM,CAAC,CAajB;AAuGD,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqFf"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAsH,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAkCxK,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,0FAA0F;IAC1F,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChH,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,GAAG,IAAI,CAgB3B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUzE;AAmBD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,GAAG,CAoCL;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,GAAG,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,GAAG,CAQL;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,MAAM,CAqBR;AAwDD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAcD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,kBAAkB,EAAE,OAAO,EAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAMf;AAqMD,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA0Ff"}