@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.
- package/README.md +11 -6
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +37 -0
- package/dist/cli.js.map +1 -1
- package/dist/generated-assets.d.ts +8 -8
- package/dist/generated-assets.d.ts.map +1 -1
- package/dist/generated-assets.js +8 -8
- package/dist/generated-assets.js.map +1 -1
- package/dist/lore-agent.d.ts +2 -0
- package/dist/lore-agent.d.ts.map +1 -1
- package/dist/lore-agent.js +11 -8
- package/dist/lore-agent.js.map +1 -1
- package/dist/npm-installation.d.ts +30 -0
- package/dist/npm-installation.d.ts.map +1 -0
- package/dist/npm-installation.js +46 -0
- package/dist/npm-installation.js.map +1 -0
- package/dist/self-host.d.ts +1 -1
- package/dist/self-host.js +2 -2
- package/dist/skills.d.ts +2 -0
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +7 -4
- package/dist/skills.js.map +1 -1
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +12 -32
- package/dist/uninstall.js.map +1 -1
- package/dist/update.d.ts +14 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +120 -47
- package/dist/update.js.map +1 -1
- package/package.json +4 -4
package/dist/lore-agent.js
CHANGED
|
@@ -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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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(() => ({}));
|
package/dist/lore-agent.js.map
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,mEAAmE;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnG,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,SAAiB,EAAE,OAAe;IACpE,OAAO,IAAI,OAAO,CAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACjG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI;YAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;AACL,CAAC;AAWD,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,gBAAwB,EAAE,MAAc;IACtF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,cAAc,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACjN,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,eAAuB,CAAC;IAC5B,IAAI,CAAC;QAAC,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IACvD,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAAC,CAAC;IACtD,IAAI,eAAe,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,YAAgD;IAClG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACxG,CAAC"}
|
package/dist/self-host.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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>;
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -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,
|
|
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(() => ({}));
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMtI,iFAAiF;AACjF,MAAM,cAAc,GAA0E;IAC5F,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE;IAChE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;CACzE,CAAC;AAEF,SAAS,UAAU,CAAC,KAAiB,EAAE,aAAsC,EAAE,IAAe;IAC5F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACtD,IAAI,YAAY,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC;YACnH,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,IAAI,WAAW,CAAC,CAAC,CAAC;YAC9K,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,aAAsC;IACtF,OAAO,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,aAAsC;IACvF,OAAO,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;AACpH,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,SAAS,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,KAAc;IAC9D,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,0CAA0C,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAiB,EAAE,aAAsC;IAC9F,MAAM,KAAK,GAAa,EAAE,EAAE,QAAQ,GAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/uninstall.d.ts.map
CHANGED
|
@@ -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;
|
|
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 {
|
|
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,
|
|
4
|
-
import {
|
|
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
|
|
67
|
-
const
|
|
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 (
|
|
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
|
-
|
|
74
|
-
|
|
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 (
|
|
63
|
+
if (installation.kind === "mismatch") {
|
|
84
64
|
throw new Error("Could not verify the npm installation. Nothing was removed.");
|
|
85
65
|
}
|
|
86
|
-
|
|
87
|
-
await
|
|
66
|
+
const { target, prefix } = installation;
|
|
67
|
+
await assertNpmInstallationWritable(installation);
|
|
88
68
|
return {
|
|
89
69
|
kind: "npm", target,
|
|
90
70
|
remove: async () => {
|
package/dist/uninstall.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,GAAG,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC/H,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmB7B,CAAC;AAyBF,KAAK,UAAU,aAAa,CAAC,OAAyB;IACpD,IAAI,OAAO,CAAC,kBAAkB,IAAI,oBAAoB,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACtF,2EAA2E;QAC3E,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,YAAY,EAAE,MAAM;YAC1B,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACzG,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC7F,CAAC;gBACD,IAAI,SAAS,EAAE,EAAE,CAAC;oBAChB,2EAA2E;oBAC3E,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,UAAU,CAAC;oBACnD,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC3C,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;;oBAAM,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,kCAAkC,CAAC,CAAC,CAAC;IAC7G,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC;IACpH,sFAAsF;IACtF,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6IAA6I,CAAC,CAAC;IACjK,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,6GAA6G,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,4FAA4F,CAAC,CAAC;IACtQ,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;IACxC,MAAM,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,MAAM;QACnB,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAC3B,OAAO,KAAK,EAAE,CAAC;gBACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO;gBAC/D,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxG,CAAC;YAAS,CAAC;QAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuB,EAAE,OAAyB;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACtF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,+IAA+I,OAAO,CAAC,iBAAiB,MAAM,CAAC,CAAC;IAC9M,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAEzH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAChD,IAAI,CAAC;QAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAAC,CAAC;IAC5B,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4EAA4E,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD,EAAE,CAAC,CAAC;IAC9L,CAAC;IACD,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM;QAChE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,GAAG,YAAY;KAC9D,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,2JAA2J,CAAC,CAAC;AAC5M,CAAC"}
|
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
|
-
|
|
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
|
package/dist/update.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"
|
|
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"}
|