@lore-co/cli 0.1.30 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +35 -3
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +6 -24
  4. package/dist/agents.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +38 -38
  7. package/dist/cli.js.map +1 -1
  8. package/dist/codex-hook-approval.d.ts.map +1 -1
  9. package/dist/codex-hook-approval.js +5 -4
  10. package/dist/codex-hook-approval.js.map +1 -1
  11. package/dist/demo.d.ts.map +1 -1
  12. package/dist/demo.js +3 -2
  13. package/dist/demo.js.map +1 -1
  14. package/dist/devin-cli.d.ts +1 -1
  15. package/dist/devin-cli.d.ts.map +1 -1
  16. package/dist/devin-cli.js +17 -9
  17. package/dist/devin-cli.js.map +1 -1
  18. package/dist/devin-client.d.ts +1 -1
  19. package/dist/generated-assets.d.ts +5 -5
  20. package/dist/generated-assets.d.ts.map +1 -1
  21. package/dist/generated-assets.js +5 -5
  22. package/dist/generated-assets.js.map +1 -1
  23. package/dist/github.js +1 -1
  24. package/dist/github.js.map +1 -1
  25. package/dist/handoff.d.ts.map +1 -1
  26. package/dist/handoff.js +2 -1
  27. package/dist/handoff.js.map +1 -1
  28. package/dist/invocation-health-writer.d.ts.map +1 -1
  29. package/dist/invocation-health-writer.js +14 -4
  30. package/dist/invocation-health-writer.js.map +1 -1
  31. package/dist/live.d.ts.map +1 -1
  32. package/dist/live.js +74 -11
  33. package/dist/live.js.map +1 -1
  34. package/dist/platform.d.ts +21 -0
  35. package/dist/platform.d.ts.map +1 -0
  36. package/dist/platform.js +102 -0
  37. package/dist/platform.js.map +1 -0
  38. package/dist/pty.d.ts.map +1 -1
  39. package/dist/pty.js +3 -0
  40. package/dist/pty.js.map +1 -1
  41. package/dist/recovery-cloud.d.ts.map +1 -1
  42. package/dist/recovery-cloud.js +4 -1
  43. package/dist/recovery-cloud.js.map +1 -1
  44. package/dist/recovery-codex.js +1 -1
  45. package/dist/recovery-codex.js.map +1 -1
  46. package/dist/recovery-desktop.d.ts.map +1 -1
  47. package/dist/recovery-desktop.js +3 -0
  48. package/dist/recovery-desktop.js.map +1 -1
  49. package/dist/recovery-hooks.d.ts.map +1 -1
  50. package/dist/recovery-hooks.js +12 -5
  51. package/dist/recovery-hooks.js.map +1 -1
  52. package/dist/recovery-hosts.d.ts.map +1 -1
  53. package/dist/recovery-hosts.js +10 -5
  54. package/dist/recovery-hosts.js.map +1 -1
  55. package/dist/recovery-polytoken.js +1 -1
  56. package/dist/recovery-polytoken.js.map +1 -1
  57. package/dist/recovery-remote.js +1 -1
  58. package/dist/recovery-remote.js.map +1 -1
  59. package/dist/recovery-transfer.d.ts.map +1 -1
  60. package/dist/recovery-transfer.js +8 -1
  61. package/dist/recovery-transfer.js.map +1 -1
  62. package/dist/recovery.d.ts.map +1 -1
  63. package/dist/recovery.js +12 -11
  64. package/dist/recovery.js.map +1 -1
  65. package/dist/reliability-store.d.ts.map +1 -1
  66. package/dist/reliability-store.js +20 -4
  67. package/dist/reliability-store.js.map +1 -1
  68. package/dist/self-host.d.ts +1 -1
  69. package/dist/self-host.d.ts.map +1 -1
  70. package/dist/self-host.js +3 -3
  71. package/dist/self-host.js.map +1 -1
  72. package/dist/uninstall.d.ts.map +1 -1
  73. package/dist/uninstall.js +22 -10
  74. package/dist/uninstall.js.map +1 -1
  75. package/dist/update.d.ts +1 -1
  76. package/dist/update.d.ts.map +1 -1
  77. package/dist/update.js +43 -11
  78. package/dist/update.js.map +1 -1
  79. package/dist/windows-permissions.d.ts +4 -0
  80. package/dist/windows-permissions.d.ts.map +1 -0
  81. package/dist/windows-permissions.js +45 -0
  82. package/dist/windows-permissions.js.map +1 -0
  83. package/dist/windows-pty.d.ts +3 -0
  84. package/dist/windows-pty.d.ts.map +1 -0
  85. package/dist/windows-pty.js +160 -0
  86. package/dist/windows-pty.js.map +1 -0
  87. package/package.json +6 -4
package/dist/uninstall.js CHANGED
@@ -1,12 +1,10 @@
1
- import { execFile } from "node:child_process";
1
+ import { spawn, isWindows, removeAfterExit } from "./platform.js";
2
2
  import { constants } from "node:fs";
3
- import { access, readFile, realpath, stat, unlink } from "node:fs/promises";
3
+ import { access, readFile, realpath, stat, unlink, rename } from "node:fs/promises";
4
4
  import { basename, dirname, resolve } from "node:path";
5
5
  import { createInterface } from "node:readline/promises";
6
6
  import { fileURLToPath } from "node:url";
7
- import { promisify } from "node:util";
8
7
  import { IS_STANDALONE_BINARY } from "./version.js";
9
- const execute = promisify(execFile);
10
8
  export const UNINSTALL_HELP = `lore uninstall
11
9
  Disconnect this machine and remove the installed Lore CLI.
12
10
  Shared learnings, server data, local recordings, pending captures, and backups
@@ -28,8 +26,16 @@ Examples:
28
26
  lore uninstall --yes
29
27
  `;
30
28
  async function npm(args) {
31
- const { stdout } = await execute("npm", args, { timeout: 60_000, maxBuffer: 1024 * 1024 });
32
- return stdout.trim();
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
+ });
33
39
  }
34
40
  async function planUninstall(options) {
35
41
  if (options.isStandaloneBinary ?? IS_STANDALONE_BINARY) {
@@ -46,7 +52,13 @@ async function planUninstall(options) {
46
52
  if (current.dev !== original.dev || current.ino !== original.ino || current.mtimeMs !== original.mtimeMs) {
47
53
  throw new Error("The Lore executable changed during uninstall. Run lore uninstall again.");
48
54
  }
49
- await unlink(target);
55
+ if (isWindows()) {
56
+ const retired = `${target}.${process.pid}.removed`;
57
+ await rename(target, retired);
58
+ removeAfterExit(retired);
59
+ }
60
+ else
61
+ await unlink(target);
50
62
  },
51
63
  };
52
64
  }
@@ -54,10 +66,10 @@ async function planUninstall(options) {
54
66
  const manifest = JSON.parse(await readFile(resolve(target, "package.json"), "utf8"));
55
67
  const modules = dirname(dirname(target));
56
68
  // 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") {
69
+ if (manifest.name !== "@lore-co/cli" || basename(target) !== "cli" || basename(dirname(target)) !== "@lore-co" || basename(modules) !== "node_modules" || (!isWindows() && basename(dirname(modules)) !== "lib")) {
58
70
  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
71
  }
60
- const prefix = dirname(dirname(modules));
72
+ const prefix = isWindows() ? dirname(modules) : dirname(dirname(modules));
61
73
  const runNpm = options.runNpm ?? npm;
62
74
  const reportedRoot = (await runNpm(["root", "--global"])).trim();
63
75
  let reportedModules;
@@ -71,7 +83,7 @@ async function planUninstall(options) {
71
83
  throw new Error("Could not verify the npm installation. Nothing was removed.");
72
84
  }
73
85
  await access(dirname(target), constants.W_OK);
74
- await access(resolve(prefix, "bin"), constants.W_OK);
86
+ await access(isWindows() ? prefix : resolve(prefix, "bin"), constants.W_OK);
75
87
  return {
76
88
  kind: "npm", target,
77
89
  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
@@ -17,6 +17,6 @@ export declare function parseReleaseBaseUrl(repository: string, configuredBase?:
17
17
  export declare function buildReleaseAssetUrl(releaseBase: URL, tag: string, asset: string): URL;
18
18
  export declare function parseChecksumManifest(manifest: string, expectedAsset: string): string;
19
19
  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>): Promise<string>;
20
+ export declare function selectUpdateTarget(environment: NodeJS.ProcessEnv, isStandaloneBinary: boolean, execPath: string, homeDirectory: string, canWriteSystemBin?: () => Promise<boolean>, platform?: NodeJS.Platform): Promise<string>;
21
21
  export declare function updateCommand(args: readonly string[], options?: UpdateCommandOptions): Promise<void>;
22
22
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAiDA,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,GACA,OAAO,CAAC,MAAM,CAAC,CAYjB;AAgDD,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
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;AA4DD,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
package/dist/update.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { removeAfterExit } from "./platform.js";
1
2
  import { execFile } from "node:child_process";
2
3
  import { createHash, timingSafeEqual } from "node:crypto";
3
4
  import { constants } from "node:fs";
@@ -22,7 +23,7 @@ Usage:
22
23
  lore update [--version <tag>]
23
24
 
24
25
  Options:
25
- --version <tag> Release tag to install, for example v0.1.30
26
+ --version <tag> Release tag to install, for example v0.2.0
26
27
  -h, --help Show this help
27
28
 
28
29
  Environment:
@@ -32,7 +33,7 @@ Environment:
32
33
 
33
34
  Examples:
34
35
  lore update
35
- lore update --version v0.1.30
36
+ lore update --version v0.2.0
36
37
  `;
37
38
  export function isReleaseTag(value) {
38
39
  return RELEASE_TAG_PATTERN.test(value);
@@ -50,16 +51,16 @@ export function parseUpdateVersion(args) {
50
51
  if (version !== undefined && isReleaseTag(version)) {
51
52
  return version;
52
53
  }
53
- throw new Error("--version must be a release tag such as v0.1.30");
54
+ throw new Error("--version must be a release tag such as v0.2.0");
54
55
  }
55
56
  throw new Error("Unknown update options. Try: lore update --help");
56
57
  }
57
58
  export function selectReleaseAsset(platform, arch) {
58
- if ((platform !== "darwin" && platform !== "linux") ||
59
- (arch !== "x64" && arch !== "arm64")) {
60
- throw new Error("Binary updates currently support macOS and Linux on x64 and arm64");
59
+ if ((platform !== "darwin" && platform !== "linux" && platform !== "win32") ||
60
+ (arch !== "x64" && arch !== "arm64") || (platform === "win32" && arch !== "x64")) {
61
+ throw new Error("Binary updates support macOS/Linux on x64 and arm64, and Windows on x64");
61
62
  }
62
- return `lore-${platform}-${arch}`;
63
+ return platform === "win32" ? "lore-windows-x64.exe" : `lore-${platform}-${arch}`;
63
64
  }
64
65
  function parseRepository(environment) {
65
66
  const repository = environment.LORE_REPO?.trim() || DEFAULT_REPOSITORY;
@@ -222,14 +223,16 @@ export async function selectUpdateTarget(environment, isStandaloneBinary, execPa
222
223
  catch {
223
224
  return false;
224
225
  }
225
- }) {
226
+ }, platform = process.platform) {
226
227
  const configuredDirectory = environment.LORE_BIN_DIR?.trim();
227
228
  if (configuredDirectory !== undefined && configuredDirectory !== "") {
228
- return resolve(configuredDirectory, "lore");
229
+ return resolve(configuredDirectory, platform === "win32" ? "lore.exe" : "lore");
229
230
  }
230
231
  if (isStandaloneBinary) {
231
232
  return execPath;
232
233
  }
234
+ if (platform === "win32")
235
+ return resolve(environment.LOCALAPPDATA || resolve(homeDirectory, "AppData/Local"), "Lore", "bin", "lore.exe");
233
236
  if (await canWriteSystemBin()) {
234
237
  return "/usr/local/bin/lore";
235
238
  }
@@ -269,7 +272,36 @@ async function verifyStagedChecksum(path, expectedChecksum) {
269
272
  }
270
273
  async function replaceTarget(stagedBinary, target) {
271
274
  try {
272
- await rename(stagedBinary, target);
275
+ if (process.platform !== "win32") {
276
+ await rename(stagedBinary, target);
277
+ return;
278
+ }
279
+ const previous = `${target}.${process.pid}.old`;
280
+ let moved = false;
281
+ try {
282
+ await rename(target, previous);
283
+ moved = true;
284
+ }
285
+ catch (error) {
286
+ if (error.code !== "ENOENT")
287
+ throw error;
288
+ }
289
+ try {
290
+ await rename(stagedBinary, target);
291
+ }
292
+ catch (error) {
293
+ if (moved)
294
+ await rename(previous, target);
295
+ throw error;
296
+ }
297
+ if (moved) {
298
+ try {
299
+ await rm(previous);
300
+ }
301
+ catch {
302
+ removeAfterExit(previous);
303
+ }
304
+ }
273
305
  }
274
306
  catch {
275
307
  throw new Error("Could not replace the Lore binary");
@@ -286,7 +318,7 @@ export async function updateCommand(args, options = {}) {
286
318
  const asset = selectReleaseAsset(options.platform ?? process.platform, options.arch ?? process.arch);
287
319
  const tag = version ??
288
320
  (await resolveLatestReleaseTag(repository, options.fetch ?? fetch));
289
- const target = await selectUpdateTarget(environment, options.isStandaloneBinary ?? IS_STANDALONE_BINARY, options.execPath ?? process.execPath, options.homeDirectory ?? homedir());
321
+ const target = await selectUpdateTarget(environment, options.isStandaloneBinary ?? IS_STANDALONE_BINARY, options.execPath ?? process.execPath, options.homeDirectory ?? homedir(), undefined, options.platform ?? process.platform);
290
322
  const directory = await prepareStagingDirectory(target);
291
323
  const stagedBinary = resolve(directory, asset);
292
324
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** Restrict Lore-owned data to this user, SYSTEM and administrators on NTFS. */
2
+ export declare function secureWindowsDirectory(path: string): Promise<void>;
3
+ export declare function windowsPermissionsArePrivate(path: string): Promise<boolean>;
4
+ //# sourceMappingURL=windows-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-permissions.d.ts","sourceRoot":"","sources":["../src/windows-permissions.ts"],"names":[],"mappings":"AAQA,gFAAgF;AAChF,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAUD,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF"}
@@ -0,0 +1,45 @@
1
+ import { execFile } from "node:child_process";
2
+ import { lstat, mkdir } from "node:fs/promises";
3
+ import { promisify } from "node:util";
4
+ const quote = (text) => `'${text.replaceAll("'", "''")}'`;
5
+ const secured = new Map();
6
+ /** Restrict Lore-owned data to this user, SYSTEM and administrators on NTFS. */
7
+ export async function secureWindowsDirectory(path) {
8
+ if (process.platform !== "win32")
9
+ return;
10
+ const existing = secured.get(path);
11
+ if (existing)
12
+ return existing;
13
+ const operation = applyWindowsDirectoryPermissions(path);
14
+ secured.set(path, operation);
15
+ try {
16
+ await operation;
17
+ }
18
+ catch (error) {
19
+ secured.delete(path);
20
+ throw error;
21
+ }
22
+ }
23
+ async function applyWindowsDirectoryPermissions(path) {
24
+ await mkdir(path, { recursive: true });
25
+ const metadata = await lstat(path);
26
+ if (metadata.isSymbolicLink() || !metadata.isDirectory())
27
+ throw new Error("Lore data directory must be a real directory");
28
+ const script = `$ErrorActionPreference = 'Stop'; $p = ${quote(path)}; $user = [System.Security.Principal.WindowsIdentity]::GetCurrent().User; $acl = New-Object System.Security.AccessControl.DirectorySecurity; $acl.SetOwner($user); $acl.SetAccessRuleProtection($true, $false); foreach ($sid in @($user, [System.Security.Principal.SecurityIdentifier]'S-1-5-18', [System.Security.Principal.SecurityIdentifier]'S-1-5-32-544')) { $acl.AddAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new($sid, 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow')) }; [IO.Directory]::SetAccessControl($p, $acl)`;
29
+ await promisify(execFile)("powershell.exe", ["-NoProfile", "-NonInteractive", "-EncodedCommand", Buffer.from(script, "utf16le").toString("base64")], { windowsHide: true, timeout: 10_000 });
30
+ }
31
+ export async function windowsPermissionsArePrivate(path) {
32
+ if (process.platform !== "win32")
33
+ return false;
34
+ // Elevated Windows processes may create files owned by Administrators.
35
+ // These owners already have full access under the private directory ACL.
36
+ const script = `$ErrorActionPreference = 'Stop'; $p = ${quote(path)}; $acl = if ([IO.Directory]::Exists($p)) { [IO.Directory]::GetAccessControl($p) } else { [IO.File]::GetAccessControl($p) }; $user = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value; $allowed = @($user, 'S-1-5-18', 'S-1-5-32-544'); if ($allowed -notcontains $acl.GetOwner([System.Security.Principal.SecurityIdentifier]).Value) { exit 1 }; foreach ($rule in $acl.GetAccessRules($true, $true, [System.Security.Principal.SecurityIdentifier])) { if ($rule.AccessControlType -eq 'Allow' -and $allowed -notcontains $rule.IdentityReference.Value) { exit 1 } }; exit 0`;
37
+ try {
38
+ await promisify(execFile)("powershell.exe", ["-NoProfile", "-NonInteractive", "-EncodedCommand", Buffer.from(script, "utf16le").toString("base64")], { windowsHide: true, timeout: 10_000 });
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ //# sourceMappingURL=windows-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-permissions.js","sourceRoot":"","sources":["../src/windows-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7B,IAAI,CAAC;QAAC,MAAM,SAAS,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC;IAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,IAAY;IAC1D,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC1H,MAAM,MAAM,GAAG,yCAAyC,KAAK,CAAC,IAAI,CAAC,0iBAA0iB,CAAC;IAC9mB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/L,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAY;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,MAAM,GAAG,yCAAyC,KAAK,CAAC,IAAI,CAAC,qkBAAqkB,CAAC;IACzoB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7L,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { OpenPtyOptions, PtyProcess } from "./pty.js";
2
+ export declare function windowsPty(command: string, args: string[], options: OpenPtyOptions): Promise<PtyProcess>;
3
+ //# sourceMappingURL=windows-pty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-pty.d.ts","sourceRoot":"","sources":["../src/windows-pty.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAkG3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA0C9G"}
@@ -0,0 +1,160 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createInterface } from "node:readline";
3
+ import { powershellArgs, windowsArgument } from "./platform.js";
4
+ // ConPTY ships with Windows 10 1809+. Using the system API keeps the standalone
5
+ // executable independent of Python, node-gyp and separately installed DLLs.
6
+ const BRIDGE = String.raw `
7
+ $ErrorActionPreference = 'Stop'
8
+ Add-Type -TypeDefinition @'
9
+ using System;
10
+ using System.IO;
11
+ using System.Text;
12
+ using System.Threading;
13
+ using System.Runtime.InteropServices;
14
+ using Microsoft.Win32.SafeHandles;
15
+ public class LoreConsole {
16
+ [StructLayout(LayoutKind.Sequential)] struct Coord { public short X, Y; public Coord(short x, short y) { X=x; Y=y; } }
17
+ [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] struct Startup {
18
+ public int cb; public string reserved, desktop, title;
19
+ public int x, y, width, height, xChars, yChars, fill, flags;
20
+ public short show, reservedSize; public IntPtr reservedPtr, input, output, error;
21
+ }
22
+ [StructLayout(LayoutKind.Sequential)] struct StartupEx { public Startup info; public IntPtr attributes; }
23
+ [StructLayout(LayoutKind.Sequential)] struct ProcessInfo { public IntPtr process, thread; public int pid, tid; }
24
+ [DllImport("kernel32.dll", SetLastError=true)] static extern bool CreatePipe(out IntPtr read, out IntPtr write, IntPtr security, int size);
25
+ [DllImport("kernel32.dll")] static extern int CreatePseudoConsole(Coord size, IntPtr input, IntPtr output, uint flags, out IntPtr console);
26
+ [DllImport("kernel32.dll")] static extern int ResizePseudoConsole(IntPtr console, Coord size);
27
+ [DllImport("kernel32.dll")] static extern void ClosePseudoConsole(IntPtr console);
28
+ [DllImport("kernel32.dll", SetLastError=true)] static extern bool InitializeProcThreadAttributeList(IntPtr list, int count, int flags, ref IntPtr size);
29
+ [DllImport("kernel32.dll", SetLastError=true)] static extern bool UpdateProcThreadAttribute(IntPtr list, uint flags, IntPtr attribute, IntPtr value, IntPtr size, IntPtr previous, IntPtr returned);
30
+ [DllImport("kernel32.dll")] static extern void DeleteProcThreadAttributeList(IntPtr list);
31
+ [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Unicode)] static extern bool CreateProcessW(string app, StringBuilder command, IntPtr processSecurity, IntPtr threadSecurity, bool inherit, uint flags, IntPtr environment, string cwd, ref StartupEx startup, out ProcessInfo process);
32
+ [DllImport("kernel32.dll")] static extern bool CloseHandle(IntPtr handle);
33
+ [DllImport("kernel32.dll")] static extern uint WaitForSingleObject(IntPtr handle, uint timeout);
34
+ [DllImport("kernel32.dll")] static extern bool GetExitCodeProcess(IntPtr process, out uint code);
35
+ readonly object outputLock = new object();
36
+ FileStream input, output; IntPtr console, process; int pid;
37
+ void Send(string line) { lock(outputLock) { Console.WriteLine(line); Console.Out.Flush(); } }
38
+ static void Check(bool success) { if (!success) throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error()); }
39
+ public LoreConsole(string command, string cwd, short cols, short rows) {
40
+ IntPtr inRead, inWrite, outRead, outWrite;
41
+ Check(CreatePipe(out inRead, out inWrite, IntPtr.Zero, 0));
42
+ Check(CreatePipe(out outRead, out outWrite, IntPtr.Zero, 0));
43
+ int hr = CreatePseudoConsole(new Coord(cols, rows), inRead, outWrite, 0, out console);
44
+ CloseHandle(inRead); CloseHandle(outWrite);
45
+ Marshal.ThrowExceptionForHR(hr);
46
+ input = new FileStream(new SafeFileHandle(inWrite, true), FileAccess.Write);
47
+ output = new FileStream(new SafeFileHandle(outRead, true), FileAccess.Read);
48
+ IntPtr size = IntPtr.Zero;
49
+ InitializeProcThreadAttributeList(IntPtr.Zero, 1, 0, ref size);
50
+ var info = new StartupEx();
51
+ info.info.cb = Marshal.SizeOf(typeof(StartupEx));
52
+ // Do not inherit the PowerShell bridge's redirected protocol pipes.
53
+ // Null standard handles with STARTF_USESTDHANDLES let ConPTY supply them.
54
+ info.info.flags = 0x00000100;
55
+ info.attributes = Marshal.AllocHGlobal(size);
56
+ ProcessInfo child;
57
+ try {
58
+ Check(InitializeProcThreadAttributeList(info.attributes, 1, 0, ref size));
59
+ Check(UpdateProcThreadAttribute(info.attributes, 0, (IntPtr)0x00020016, console, (IntPtr)IntPtr.Size, IntPtr.Zero, IntPtr.Zero));
60
+ Check(CreateProcessW(null, new StringBuilder(command), IntPtr.Zero, IntPtr.Zero, false, 0x00080000, IntPtr.Zero, cwd, ref info, out child));
61
+ } finally { DeleteProcThreadAttributeList(info.attributes); Marshal.FreeHGlobal(info.attributes); }
62
+ CloseHandle(child.thread); process = child.process; pid = child.pid;
63
+ Send("P:" + pid);
64
+ var reader = new Thread(() => {
65
+ var bytes = new byte[65536];
66
+ try { int count; while ((count = output.Read(bytes, 0, bytes.Length)) > 0) Send("D:" + Convert.ToBase64String(bytes, 0, count)); }
67
+ catch (IOException) { }
68
+ });
69
+ reader.IsBackground = true; reader.Start();
70
+ var waiter = new Thread(() => {
71
+ WaitForSingleObject(process, 0xffffffff);
72
+ uint code; GetExitCodeProcess(process, out code);
73
+ ClosePseudoConsole(console); reader.Join(2000);
74
+ Send("X:" + code); CloseHandle(process);
75
+ Environment.Exit((int)code);
76
+ });
77
+ waiter.IsBackground = true; waiter.Start();
78
+ }
79
+ public void Input(string encoded) { var bytes = Convert.FromBase64String(encoded); input.Write(bytes, 0, bytes.Length); input.Flush(); }
80
+ public void Resize(short cols, short rows) { Marshal.ThrowExceptionForHR(ResizePseudoConsole(console, new Coord(cols, rows))); }
81
+ public void Kill() {
82
+ var start = new System.Diagnostics.ProcessStartInfo("taskkill.exe", "/PID " + pid + " /T /F");
83
+ start.UseShellExecute=false; start.CreateNoWindow=true;
84
+ start.RedirectStandardOutput=true; start.RedirectStandardError=true;
85
+ using (var killer = System.Diagnostics.Process.Start(start)) { killer.WaitForExit(); }
86
+ }
87
+ }
88
+ '@
89
+ $spec = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String([Console]::ReadLine())) | ConvertFrom-Json
90
+ $console = [LoreConsole]::new($spec.command, $spec.cwd, [int16]$spec.cols, [int16]$spec.rows)
91
+ while ($null -ne ($line = [Console]::ReadLine())) {
92
+ if ($line.StartsWith('D:')) { $console.Input($line.Substring(2)) }
93
+ elseif ($line.StartsWith('R:')) { $parts = $line.Split(':'); $console.Resize([int16]$parts[1], [int16]$parts[2]) }
94
+ elseif ($line -eq 'K:') { $console.Kill() }
95
+ }
96
+ $console.Kill()
97
+ `;
98
+ export async function windowsPty(command, args, options) {
99
+ // cross-spawn's parser resolves npm .cmd wrappers with the correct cmd.exe
100
+ // escaping; native executables retain their argument vector.
101
+ const { default: crossSpawn } = await import("cross-spawn");
102
+ const parse = crossSpawn._parse;
103
+ const parsed = parse(command, args, { cwd: options.cwd, env: options.env });
104
+ const commandLine = parsed.options.windowsVerbatimArguments
105
+ ? [windowsArgument(parsed.command), ...parsed.args].join(" ")
106
+ : [parsed.command, ...parsed.args].map(windowsArgument).join(" ");
107
+ const child = spawn("powershell.exe", powershellArgs(BRIDGE), { env: options.env ?? process.env, cwd: options.cwd, stdio: ["pipe", "pipe", "pipe"], windowsHide: true });
108
+ child.stdin.write(Buffer.from(JSON.stringify({ command: commandLine, cwd: options.cwd ?? process.cwd(), cols: options.cols ?? 80, rows: options.rows ?? 24 })).toString("base64") + "\n");
109
+ const dataListeners = [];
110
+ const exitListeners = [];
111
+ const pending = [];
112
+ let exited = false, exitCode = null, pid = -1;
113
+ let diagnostics = "";
114
+ const emitExit = (code) => { if (exited)
115
+ return; exited = true; exitCode = code; for (const listener of exitListeners)
116
+ listener(code); };
117
+ const lines = createInterface({ input: child.stdout });
118
+ const ready = new Promise((done, reject) => {
119
+ const timer = setTimeout(() => { child.kill(); reject(new Error("Windows terminal startup timed out")); }, 15_000);
120
+ child.stderr.on("data", chunk => { diagnostics = (diagnostics + chunk.toString()).slice(-4096); });
121
+ child.once("error", error => { clearTimeout(timer); reject(error); emitExit(127); });
122
+ child.once("exit", code => { clearTimeout(timer); if (pid === -1)
123
+ reject(new Error(`Windows terminal could not start: ${diagnostics}`)); emitExit(code); });
124
+ lines.on("line", line => {
125
+ if (line.startsWith("P:")) {
126
+ pid = Number(line.slice(2));
127
+ clearTimeout(timer);
128
+ done();
129
+ }
130
+ else if (line.startsWith("D:")) {
131
+ const bytes = Buffer.from(line.slice(2), "base64");
132
+ if (dataListeners.length)
133
+ for (const listener of dataListeners)
134
+ listener(bytes);
135
+ else
136
+ pending.push(bytes);
137
+ }
138
+ else if (line.startsWith("X:"))
139
+ emitExit(Number(line.slice(2)));
140
+ });
141
+ });
142
+ child.stdin.on("error", () => { });
143
+ await ready;
144
+ const send = (line) => { if (!exited)
145
+ child.stdin.write(line + "\n"); };
146
+ return {
147
+ pid, canResize: true,
148
+ write: data => send("D:" + data.toString("base64")),
149
+ resize: (cols, rows) => { if (cols > 0 && cols < 32768 && rows > 0 && rows < 32768)
150
+ send(`R:${Math.floor(cols)}:${Math.floor(rows)}`); },
151
+ onData: listener => { dataListeners.push(listener); for (const bytes of pending.splice(0))
152
+ listener(bytes); },
153
+ onExit: listener => { if (exited)
154
+ queueMicrotask(() => listener(exitCode));
155
+ else
156
+ exitListeners.push(listener); },
157
+ kill: signal => signal === "SIGINT" ? send("D:Aw==") : send("K:"),
158
+ };
159
+ }
160
+ //# sourceMappingURL=windows-pty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-pty.js","sourceRoot":"","sources":["../src/windows-pty.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/cli",
3
- "version": "0.1.30",
3
+ "version": "0.2.0",
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",
@@ -63,18 +63,20 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "@modelcontextprotocol/sdk": "^1.30.0",
66
+ "cross-spawn": "7.0.6",
66
67
  "ws": "^8.21.3",
67
68
  "zod": "^4.4.3",
68
- "@lore-co/core": "0.1.30",
69
- "@lore-co/sdk": "0.1.30"
69
+ "@lore-co/core": "0.2.0",
70
+ "@lore-co/sdk": "0.2.0"
70
71
  },
71
72
  "devDependencies": {
73
+ "@types/cross-spawn": "6.0.6",
72
74
  "@types/ws": "^8.18.1"
73
75
  },
74
76
  "scripts": {
75
77
  "dev": "tsx watch src/cli.ts",
76
78
  "generate:assets": "node ../../scripts/generate-cli-assets.mjs",
77
- "build": "pnpm run generate:assets && tsc -p tsconfig.json && chmod +x dist/cli.js",
79
+ "build": "pnpm run generate:assets && tsc -p tsconfig.json && node -e \"require('node:fs').chmodSync('dist/cli.js', 0o755)\"",
78
80
  "typecheck": "tsc --noEmit -p tsconfig.json",
79
81
  "test": "pnpm run build && vitest run"
80
82
  }