@lore-co/cli 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +59 -9
  2. package/dist/agents.d.ts +3 -1
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +31 -7
  5. package/dist/agents.js.map +1 -1
  6. package/dist/cli.d.ts +8 -0
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +182 -71
  9. package/dist/cli.js.map +1 -1
  10. package/dist/command-help.d.ts +34 -0
  11. package/dist/command-help.d.ts.map +1 -0
  12. package/dist/command-help.js +227 -0
  13. package/dist/command-help.js.map +1 -0
  14. package/dist/demo.d.ts.map +1 -1
  15. package/dist/demo.js +15 -2
  16. package/dist/demo.js.map +1 -1
  17. package/dist/generated-assets.d.ts +9 -4
  18. package/dist/generated-assets.d.ts.map +1 -1
  19. package/dist/generated-assets.js +5 -4
  20. package/dist/generated-assets.js.map +1 -1
  21. package/dist/guard.d.ts.map +1 -1
  22. package/dist/guard.js +4 -3
  23. package/dist/guard.js.map +1 -1
  24. package/dist/recovery-cloud-workspace.d.ts +11 -0
  25. package/dist/recovery-cloud-workspace.d.ts.map +1 -0
  26. package/dist/recovery-cloud-workspace.js +113 -0
  27. package/dist/recovery-cloud-workspace.js.map +1 -0
  28. package/dist/recovery-cloud.d.ts +31 -0
  29. package/dist/recovery-cloud.d.ts.map +1 -0
  30. package/dist/recovery-cloud.js +242 -0
  31. package/dist/recovery-cloud.js.map +1 -0
  32. package/dist/recovery-codex.d.ts +5 -0
  33. package/dist/recovery-codex.d.ts.map +1 -0
  34. package/dist/recovery-codex.js +111 -0
  35. package/dist/recovery-codex.js.map +1 -0
  36. package/dist/recovery-copilot.d.ts +14 -0
  37. package/dist/recovery-copilot.d.ts.map +1 -0
  38. package/dist/recovery-copilot.js +120 -0
  39. package/dist/recovery-copilot.js.map +1 -0
  40. package/dist/recovery-desktop.d.ts +7 -0
  41. package/dist/recovery-desktop.d.ts.map +1 -0
  42. package/dist/recovery-desktop.js +179 -0
  43. package/dist/recovery-desktop.js.map +1 -0
  44. package/dist/recovery-external.d.ts +61 -0
  45. package/dist/recovery-external.d.ts.map +1 -0
  46. package/dist/recovery-external.js +98 -0
  47. package/dist/recovery-external.js.map +1 -0
  48. package/dist/recovery-hooks.d.ts +5 -0
  49. package/dist/recovery-hooks.d.ts.map +1 -0
  50. package/dist/recovery-hooks.js +115 -0
  51. package/dist/recovery-hooks.js.map +1 -0
  52. package/dist/recovery-hosts.d.ts +13 -0
  53. package/dist/recovery-hosts.d.ts.map +1 -0
  54. package/dist/recovery-hosts.js +263 -0
  55. package/dist/recovery-hosts.js.map +1 -0
  56. package/dist/recovery-polytoken.d.ts +14 -0
  57. package/dist/recovery-polytoken.d.ts.map +1 -0
  58. package/dist/recovery-polytoken.js +194 -0
  59. package/dist/recovery-polytoken.js.map +1 -0
  60. package/dist/recovery-remote.d.ts +8 -0
  61. package/dist/recovery-remote.d.ts.map +1 -0
  62. package/dist/recovery-remote.js +135 -0
  63. package/dist/recovery-remote.js.map +1 -0
  64. package/dist/recovery-state.d.ts +25 -1
  65. package/dist/recovery-state.d.ts.map +1 -1
  66. package/dist/recovery-state.js +69 -15
  67. package/dist/recovery-state.js.map +1 -1
  68. package/dist/recovery-t3.d.ts +17 -0
  69. package/dist/recovery-t3.d.ts.map +1 -0
  70. package/dist/recovery-t3.js +58 -0
  71. package/dist/recovery-t3.js.map +1 -0
  72. package/dist/recovery-transfer.d.ts +22 -0
  73. package/dist/recovery-transfer.d.ts.map +1 -0
  74. package/dist/recovery-transfer.js +228 -0
  75. package/dist/recovery-transfer.js.map +1 -0
  76. package/dist/recovery.d.ts +9 -1
  77. package/dist/recovery.d.ts.map +1 -1
  78. package/dist/recovery.js +187 -47
  79. package/dist/recovery.js.map +1 -1
  80. package/dist/runtime.d.ts +1 -0
  81. package/dist/runtime.d.ts.map +1 -1
  82. package/dist/runtime.js +1 -0
  83. package/dist/runtime.js.map +1 -1
  84. package/dist/self-host.d.ts +1 -1
  85. package/dist/self-host.js +2 -2
  86. package/dist/uninstall.d.ts +19 -0
  87. package/dist/uninstall.d.ts.map +1 -0
  88. package/dist/uninstall.js +128 -0
  89. package/dist/uninstall.js.map +1 -0
  90. package/dist/update.js +3 -3
  91. package/package.json +3 -3
@@ -0,0 +1,128 @@
1
+ import { execFile } from "node:child_process";
2
+ import { constants } from "node:fs";
3
+ import { access, readFile, realpath, stat, unlink } from "node:fs/promises";
4
+ import { basename, dirname, resolve } from "node:path";
5
+ import { createInterface } from "node:readline/promises";
6
+ import { fileURLToPath } from "node:url";
7
+ import { promisify } from "node:util";
8
+ import { IS_STANDALONE_BINARY } from "./version.js";
9
+ const execute = promisify(execFile);
10
+ export const UNINSTALL_HELP = `lore uninstall
11
+ Disconnect this machine and remove the installed Lore CLI.
12
+ Shared learnings, server data, local recordings, pending captures, and backups
13
+ are retained. Other agent settings are preserved.
14
+
15
+ Usage:
16
+ lore uninstall [--yes] [--json]
17
+
18
+ Options:
19
+ --yes Skip the confirmation prompt
20
+ --json Print the result as JSON; requires --yes
21
+ -h, --help Show this help
22
+
23
+ Supports standalone binaries and global npm installations.
24
+ Use lore disconnect to stop integrations while keeping the CLI installed.
25
+
26
+ Examples:
27
+ lore uninstall
28
+ lore uninstall --yes
29
+ `;
30
+ async function npm(args) {
31
+ const { stdout } = await execute("npm", args, { timeout: 60_000, maxBuffer: 1024 * 1024 });
32
+ return stdout.trim();
33
+ }
34
+ async function planUninstall(options) {
35
+ if (options.isStandaloneBinary ?? IS_STANDALONE_BINARY) {
36
+ const target = await realpath(options.execPath ?? process.execPath);
37
+ const original = await stat(target);
38
+ if (!original.isFile())
39
+ throw new Error("The Lore executable is not a regular file.");
40
+ // Unlinking needs directory permission. Check before disconnecting agents.
41
+ await access(dirname(target), constants.W_OK);
42
+ return {
43
+ kind: "standalone", target,
44
+ remove: async () => {
45
+ const current = await stat(target);
46
+ if (current.dev !== original.dev || current.ino !== original.ino || current.mtimeMs !== original.mtimeMs) {
47
+ throw new Error("The Lore executable changed during uninstall. Run lore uninstall again.");
48
+ }
49
+ await unlink(target);
50
+ },
51
+ };
52
+ }
53
+ const target = await realpath(options.packageDirectory ?? fileURLToPath(new URL("..", import.meta.url)));
54
+ const manifest = JSON.parse(await readFile(resolve(target, "package.json"), "utf8"));
55
+ const modules = dirname(dirname(target));
56
+ // Never remove a checkout, npx cache, project dependency, or another manager's store.
57
+ if (manifest.name !== "@lore-co/cli" || basename(target) !== "cli" || basename(dirname(target)) !== "@lore-co" || basename(modules) !== "node_modules" || basename(dirname(modules)) !== "lib") {
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.");
59
+ }
60
+ const prefix = dirname(dirname(modules));
61
+ const runNpm = options.runNpm ?? npm;
62
+ const reportedRoot = await runNpm(["root", "--global"]);
63
+ if (await realpath(reportedRoot.trim()) !== modules) {
64
+ throw new Error("Could not verify the npm installation. Nothing was removed.");
65
+ }
66
+ await access(dirname(target), constants.W_OK);
67
+ await access(resolve(prefix, "bin"), constants.W_OK);
68
+ return {
69
+ kind: "npm", target,
70
+ remove: async () => {
71
+ await runNpm(["uninstall", "--global", "--prefix", prefix, "--ignore-scripts", "@lore-co/cli"]);
72
+ try {
73
+ await stat(target);
74
+ }
75
+ catch (error) {
76
+ if (error.code === "ENOENT")
77
+ return;
78
+ throw error;
79
+ }
80
+ throw new Error("npm finished but the Lore package is still installed.");
81
+ },
82
+ };
83
+ }
84
+ async function confirmUninstall() {
85
+ const prompt = createInterface({ input: process.stdin, output: process.stdout });
86
+ try {
87
+ return /^(y|yes)$/iu.test((await prompt.question("Uninstall Lore from this machine? [y/N] ")).trim());
88
+ }
89
+ finally {
90
+ prompt.close();
91
+ }
92
+ }
93
+ export async function uninstallCommand(args, options) {
94
+ const write = options.writeOutput ?? ((message) => { process.stdout.write(message); });
95
+ if (args.includes("--help") || args.includes("-h")) {
96
+ write(UNINSTALL_HELP);
97
+ return;
98
+ }
99
+ if (args.some(arg => arg !== "--yes" && arg !== "--json")) {
100
+ throw new Error("Unknown uninstall options. Try: lore uninstall --help");
101
+ }
102
+ const yes = args.includes("--yes");
103
+ const json = args.includes("--json");
104
+ if (!yes && (json || !(options.interactive ?? (process.stdin.isTTY && process.stdout.isTTY)))) {
105
+ throw new Error("Uninstall needs confirmation. Run lore uninstall in a terminal, or use --yes.");
106
+ }
107
+ const plan = await planUninstall(options);
108
+ if (!json) {
109
+ write(`Remove: ${plan.target}\nDisconnect: Lore's agent integrations and saved credentials on this machine\nKeep: shared knowledge, server data, and local recordings in ${options.retainedDirectory}\n\n`);
110
+ }
111
+ if (!yes && !await (options.confirm ?? confirmUninstall)()) {
112
+ write("Uninstall cancelled. Nothing changed.\n");
113
+ return;
114
+ }
115
+ const disconnected = await options.disconnect();
116
+ try {
117
+ await plan.remove();
118
+ }
119
+ catch (error) {
120
+ throw new Error(`Lore's integrations were disconnected, but the CLI could not be removed. ${error instanceof Error ? error.message : "Try again using the installation owner's account."}`);
121
+ }
122
+ const result = {
123
+ uninstalled: true, installation: plan.kind, removed: plan.target,
124
+ retainedDirectory: options.retainedDirectory, ...disconnected,
125
+ };
126
+ write(json ? `${JSON.stringify(result)}\n` : "Lore uninstalled. Shared knowledge and local recordings were kept.\nRestart your agents and open a new terminal to finish removing loaded integrations.\n");
127
+ }
128
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
package/dist/update.js CHANGED
@@ -22,7 +22,7 @@ Usage:
22
22
  lore update [--version <tag>]
23
23
 
24
24
  Options:
25
- --version <tag> Release tag to install, for example v0.1.27
25
+ --version <tag> Release tag to install, for example v0.1.29
26
26
  -h, --help Show this help
27
27
 
28
28
  Environment:
@@ -32,7 +32,7 @@ Environment:
32
32
 
33
33
  Examples:
34
34
  lore update
35
- lore update --version v0.1.27
35
+ lore update --version v0.1.29
36
36
  `;
37
37
  export function isReleaseTag(value) {
38
38
  return RELEASE_TAG_PATTERN.test(value);
@@ -50,7 +50,7 @@ export function parseUpdateVersion(args) {
50
50
  if (version !== undefined && isReleaseTag(version)) {
51
51
  return version;
52
52
  }
53
- throw new Error("--version must be a release tag such as v0.1.27");
53
+ throw new Error("--version must be a release tag such as v0.1.29");
54
54
  }
55
55
  throw new Error("Unknown update options. Try: lore update --help");
56
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/cli",
3
- "version": "0.1.27",
3
+ "version": "0.1.29",
4
4
  "description": "Connect Claude Code, Codex, Cursor, OpenCode, Polytoken, and T3 Code to Lore shared engineering memory",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -65,8 +65,8 @@
65
65
  "@modelcontextprotocol/sdk": "^1.30.0",
66
66
  "ws": "^8.21.3",
67
67
  "zod": "^4.4.3",
68
- "@lore-co/core": "0.1.27",
69
- "@lore-co/sdk": "0.1.27"
68
+ "@lore-co/core": "0.1.29",
69
+ "@lore-co/sdk": "0.1.29"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@types/ws": "^8.18.1"