@lore-co/cli 0.1.28 → 0.1.30

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 (105) hide show
  1. package/README.md +48 -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 +97 -15
  9. package/dist/cli.js.map +1 -1
  10. package/dist/command-help.d.ts +2 -1
  11. package/dist/command-help.d.ts.map +1 -1
  12. package/dist/command-help.js +33 -6
  13. package/dist/command-help.js.map +1 -1
  14. package/dist/generated-assets.d.ts +9 -4
  15. package/dist/generated-assets.d.ts.map +1 -1
  16. package/dist/generated-assets.js +5 -4
  17. package/dist/generated-assets.js.map +1 -1
  18. package/dist/guard.d.ts.map +1 -1
  19. package/dist/guard.js +7 -1
  20. package/dist/guard.js.map +1 -1
  21. package/dist/image-capture.d.ts.map +1 -1
  22. package/dist/image-capture.js +8 -3
  23. package/dist/image-capture.js.map +1 -1
  24. package/dist/live.d.ts.map +1 -1
  25. package/dist/live.js +40 -20
  26. package/dist/live.js.map +1 -1
  27. package/dist/recovery-cloud-receipt.d.ts +24 -0
  28. package/dist/recovery-cloud-receipt.d.ts.map +1 -0
  29. package/dist/recovery-cloud-receipt.js +78 -0
  30. package/dist/recovery-cloud-receipt.js.map +1 -0
  31. package/dist/recovery-cloud-workspace.d.ts +11 -0
  32. package/dist/recovery-cloud-workspace.d.ts.map +1 -0
  33. package/dist/recovery-cloud-workspace.js +141 -0
  34. package/dist/recovery-cloud-workspace.js.map +1 -0
  35. package/dist/recovery-cloud.d.ts +31 -0
  36. package/dist/recovery-cloud.d.ts.map +1 -0
  37. package/dist/recovery-cloud.js +242 -0
  38. package/dist/recovery-cloud.js.map +1 -0
  39. package/dist/recovery-codex.d.ts +5 -0
  40. package/dist/recovery-codex.d.ts.map +1 -0
  41. package/dist/recovery-codex.js +111 -0
  42. package/dist/recovery-codex.js.map +1 -0
  43. package/dist/recovery-copilot.d.ts +14 -0
  44. package/dist/recovery-copilot.d.ts.map +1 -0
  45. package/dist/recovery-copilot.js +120 -0
  46. package/dist/recovery-copilot.js.map +1 -0
  47. package/dist/recovery-desktop.d.ts +7 -0
  48. package/dist/recovery-desktop.d.ts.map +1 -0
  49. package/dist/recovery-desktop.js +179 -0
  50. package/dist/recovery-desktop.js.map +1 -0
  51. package/dist/recovery-external.d.ts +61 -0
  52. package/dist/recovery-external.d.ts.map +1 -0
  53. package/dist/recovery-external.js +98 -0
  54. package/dist/recovery-external.js.map +1 -0
  55. package/dist/recovery-hooks.d.ts +5 -0
  56. package/dist/recovery-hooks.d.ts.map +1 -0
  57. package/dist/recovery-hooks.js +115 -0
  58. package/dist/recovery-hooks.js.map +1 -0
  59. package/dist/recovery-hosts.d.ts +13 -0
  60. package/dist/recovery-hosts.d.ts.map +1 -0
  61. package/dist/recovery-hosts.js +326 -0
  62. package/dist/recovery-hosts.js.map +1 -0
  63. package/dist/recovery-polytoken.d.ts +14 -0
  64. package/dist/recovery-polytoken.d.ts.map +1 -0
  65. package/dist/recovery-polytoken.js +194 -0
  66. package/dist/recovery-polytoken.js.map +1 -0
  67. package/dist/recovery-prompt.d.ts +6 -0
  68. package/dist/recovery-prompt.d.ts.map +1 -0
  69. package/dist/recovery-prompt.js +53 -0
  70. package/dist/recovery-prompt.js.map +1 -0
  71. package/dist/recovery-remote.d.ts +8 -0
  72. package/dist/recovery-remote.d.ts.map +1 -0
  73. package/dist/recovery-remote.js +135 -0
  74. package/dist/recovery-remote.js.map +1 -0
  75. package/dist/recovery-state.d.ts +25 -1
  76. package/dist/recovery-state.d.ts.map +1 -1
  77. package/dist/recovery-state.js +69 -15
  78. package/dist/recovery-state.js.map +1 -1
  79. package/dist/recovery-t3.d.ts +17 -0
  80. package/dist/recovery-t3.d.ts.map +1 -0
  81. package/dist/recovery-t3.js +58 -0
  82. package/dist/recovery-t3.js.map +1 -0
  83. package/dist/recovery-transfer.d.ts +23 -0
  84. package/dist/recovery-transfer.d.ts.map +1 -0
  85. package/dist/recovery-transfer.js +234 -0
  86. package/dist/recovery-transfer.js.map +1 -0
  87. package/dist/recovery.d.ts +9 -1
  88. package/dist/recovery.d.ts.map +1 -1
  89. package/dist/recovery.js +197 -67
  90. package/dist/recovery.js.map +1 -1
  91. package/dist/reliability-store.d.ts +1 -0
  92. package/dist/reliability-store.d.ts.map +1 -1
  93. package/dist/reliability-store.js +23 -0
  94. package/dist/reliability-store.js.map +1 -1
  95. package/dist/runtime.d.ts.map +1 -1
  96. package/dist/runtime.js +39 -11
  97. package/dist/runtime.js.map +1 -1
  98. package/dist/self-host.d.ts +1 -1
  99. package/dist/self-host.js +2 -2
  100. package/dist/uninstall.d.ts +19 -0
  101. package/dist/uninstall.d.ts.map +1 -0
  102. package/dist/uninstall.js +135 -0
  103. package/dist/uninstall.js.map +1 -0
  104. package/dist/update.js +3 -3
  105. package/package.json +3 -3
@@ -11,7 +11,7 @@ export interface SelfHostCommandDependencies {
11
11
  }>;
12
12
  }
13
13
  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";
14
- 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.1.28 --origin https://lore.example.com\n";
14
+ 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.1.30 --origin https://lore.example.com\n";
15
15
  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";
16
16
  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";
17
17
  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.1.28 --origin https://lore.example.com
68
+ lore self-host up --image-tag 0.1.30 --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.
@@ -317,7 +317,7 @@ function parseDownArguments(args, environment) {
317
317
  function normalizeImageTag(value) {
318
318
  const tag = value.trim().replace(/^v(?=\d)/u, "");
319
319
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z][0-9A-Za-z.-]*)?$/u.test(tag)) {
320
- throw new Error("--image-tag must be a pinned semantic version such as 0.1.28");
320
+ throw new Error("--image-tag must be a pinned semantic version such as 0.1.30");
321
321
  }
322
322
  return tag;
323
323
  }
@@ -0,0 +1,19 @@
1
+ export declare const UNINSTALL_HELP = "lore uninstall\nDisconnect this machine and remove the installed Lore CLI.\nShared learnings, server data, local recordings, pending captures, and backups\nare retained. Other agent settings are preserved.\n\nUsage:\n lore uninstall [--yes] [--json]\n\nOptions:\n --yes Skip the confirmation prompt\n --json Print the result as JSON; requires --yes\n -h, --help Show this help\n\nSupports standalone binaries and global npm installations.\nUse lore disconnect to stop integrations while keeping the CLI installed.\n\nExamples:\n lore uninstall\n lore uninstall --yes\n";
2
+ interface DisconnectResult {
3
+ changedHookFiles: string[];
4
+ backups: string[];
5
+ }
6
+ export interface UninstallOptions {
7
+ disconnect: () => Promise<DisconnectResult>;
8
+ retainedDirectory: string;
9
+ isStandaloneBinary?: boolean;
10
+ execPath?: string;
11
+ packageDirectory?: string;
12
+ interactive?: boolean;
13
+ confirm?: () => Promise<boolean>;
14
+ runNpm?: (args: string[]) => Promise<string>;
15
+ writeOutput?: (message: string) => void;
16
+ }
17
+ export declare function uninstallCommand(args: readonly string[], options: UninstallOptions): Promise<void>;
18
+ export {};
19
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAWA,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;AAyED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BxG"}
@@ -0,0 +1,135 @@
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"])).trim();
63
+ let reportedModules;
64
+ try {
65
+ reportedModules = await realpath(reportedRoot);
66
+ }
67
+ catch {
68
+ 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.`);
69
+ }
70
+ if (reportedModules !== modules) {
71
+ throw new Error("Could not verify the npm installation. Nothing was removed.");
72
+ }
73
+ await access(dirname(target), constants.W_OK);
74
+ await access(resolve(prefix, "bin"), constants.W_OK);
75
+ return {
76
+ kind: "npm", target,
77
+ remove: async () => {
78
+ await runNpm(["uninstall", "--global", "--prefix", prefix, "--ignore-scripts", "@lore-co/cli"]);
79
+ try {
80
+ await stat(target);
81
+ }
82
+ catch (error) {
83
+ if (error.code === "ENOENT")
84
+ return;
85
+ throw error;
86
+ }
87
+ throw new Error("npm finished but the Lore package is still installed.");
88
+ },
89
+ };
90
+ }
91
+ async function confirmUninstall() {
92
+ const prompt = createInterface({ input: process.stdin, output: process.stdout });
93
+ try {
94
+ return /^(y|yes)$/iu.test((await prompt.question("Uninstall Lore from this machine? [y/N] ")).trim());
95
+ }
96
+ finally {
97
+ prompt.close();
98
+ }
99
+ }
100
+ export async function uninstallCommand(args, options) {
101
+ const write = options.writeOutput ?? ((message) => { process.stdout.write(message); });
102
+ if (args.includes("--help") || args.includes("-h")) {
103
+ write(UNINSTALL_HELP);
104
+ return;
105
+ }
106
+ if (args.some(arg => arg !== "--yes" && arg !== "--json")) {
107
+ throw new Error("Unknown uninstall options. Try: lore uninstall --help");
108
+ }
109
+ const yes = args.includes("--yes");
110
+ const json = args.includes("--json");
111
+ if (!yes && (json || !(options.interactive ?? (process.stdin.isTTY && process.stdout.isTTY)))) {
112
+ throw new Error("Uninstall needs confirmation. Run lore uninstall in a terminal, or use --yes.");
113
+ }
114
+ const plan = await planUninstall(options);
115
+ if (!json) {
116
+ 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`);
117
+ }
118
+ if (!yes && !await (options.confirm ?? confirmUninstall)()) {
119
+ write("Uninstall cancelled. Nothing changed.\n");
120
+ return;
121
+ }
122
+ const disconnected = await options.disconnect();
123
+ try {
124
+ await plan.remove();
125
+ }
126
+ catch (error) {
127
+ 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."}`);
128
+ }
129
+ const result = {
130
+ uninstalled: true, installation: plan.kind, removed: plan.target,
131
+ retainedDirectory: options.retainedDirectory, ...disconnected,
132
+ };
133
+ 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");
134
+ }
135
+ //# 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.28
25
+ --version <tag> Release tag to install, for example v0.1.30
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.28
35
+ lore update --version v0.1.30
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.28");
53
+ throw new Error("--version must be a release tag such as v0.1.30");
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.28",
3
+ "version": "0.1.30",
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/sdk": "0.1.28",
69
- "@lore-co/core": "0.1.28"
68
+ "@lore-co/core": "0.1.30",
69
+ "@lore-co/sdk": "0.1.30"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@types/ws": "^8.18.1"