@lore-co/cli 0.2.25 → 0.2.27
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 +69 -18
- package/dist/agents.d.ts +9 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +19 -6
- package/dist/agents.js.map +1 -1
- package/dist/api.d.ts +2 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +15 -2
- package/dist/api.js.map +1 -1
- package/dist/approach-guidance.d.ts +8 -1
- package/dist/approach-guidance.d.ts.map +1 -1
- package/dist/approach-guidance.js +13 -3
- package/dist/approach-guidance.js.map +1 -1
- package/dist/approach.d.ts.map +1 -1
- package/dist/approach.js +2 -2
- package/dist/approach.js.map +1 -1
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +2 -2
- package/dist/ask.js.map +1 -1
- package/dist/capture-scope.d.ts.map +1 -1
- package/dist/capture-scope.js +2 -1
- package/dist/capture-scope.js.map +1 -1
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +2 -2
- package/dist/chat.js.map +1 -1
- package/dist/cli.d.ts +66 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +547 -91
- package/dist/cli.js.map +1 -1
- package/dist/codex-hook-approval.d.ts.map +1 -1
- package/dist/codex-hook-approval.js +9 -2
- package/dist/codex-hook-approval.js.map +1 -1
- package/dist/command-help.d.ts.map +1 -1
- package/dist/command-help.js +7 -3
- package/dist/command-help.js.map +1 -1
- package/dist/config-command.js +2 -2
- package/dist/config-command.js.map +1 -1
- package/dist/connect-project.d.ts.map +1 -1
- package/dist/connect-project.js +2 -1
- package/dist/connect-project.js.map +1 -1
- package/dist/console-keys.d.ts +11 -0
- package/dist/console-keys.d.ts.map +1 -0
- package/dist/console-keys.js +24 -0
- package/dist/console-keys.js.map +1 -0
- package/dist/cursor-mcp.d.ts.map +1 -1
- package/dist/cursor-mcp.js +4 -0
- package/dist/cursor-mcp.js.map +1 -1
- package/dist/demo-process.js +3 -3
- package/dist/demo-process.js.map +1 -1
- package/dist/devin-capture.d.ts.map +1 -1
- package/dist/devin-capture.js +2 -2
- package/dist/devin-capture.js.map +1 -1
- package/dist/devin-cli.d.ts.map +1 -1
- package/dist/devin-cli.js +23 -13
- package/dist/devin-cli.js.map +1 -1
- package/dist/devin-client.d.ts +3 -0
- package/dist/devin-client.d.ts.map +1 -1
- package/dist/devin-client.js +5 -0
- package/dist/devin-client.js.map +1 -1
- package/dist/devin.d.ts.map +1 -1
- package/dist/devin.js +29 -9
- package/dist/devin.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/github.d.ts.map +1 -1
- package/dist/github.js +38 -7
- package/dist/github.js.map +1 -1
- package/dist/guard.d.ts +1 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +42 -14
- package/dist/guard.js.map +1 -1
- package/dist/handoff.js +2 -2
- package/dist/handoff.js.map +1 -1
- package/dist/host.js +4 -4
- package/dist/host.js.map +1 -1
- package/dist/image-capture.d.ts.map +1 -1
- package/dist/image-capture.js +5 -4
- package/dist/image-capture.js.map +1 -1
- package/dist/learnings.d.ts.map +1 -1
- package/dist/learnings.js +3 -3
- package/dist/learnings.js.map +1 -1
- package/dist/live.d.ts +7 -0
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +11 -6
- package/dist/live.js.map +1 -1
- package/dist/lore-agent.d.ts +8 -1
- package/dist/lore-agent.d.ts.map +1 -1
- package/dist/lore-agent.js +33 -11
- package/dist/lore-agent.js.map +1 -1
- package/dist/mcp-config.d.ts +7 -0
- package/dist/mcp-config.d.ts.map +1 -1
- package/dist/mcp-config.js +19 -3
- package/dist/mcp-config.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/owned-files.d.ts +14 -4
- package/dist/owned-files.d.ts.map +1 -1
- package/dist/owned-files.js +24 -9
- package/dist/owned-files.js.map +1 -1
- package/dist/platform.d.ts +26 -3
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +87 -20
- package/dist/platform.js.map +1 -1
- package/dist/pty.d.ts +2 -1
- package/dist/pty.d.ts.map +1 -1
- package/dist/pty.js +20 -7
- package/dist/pty.js.map +1 -1
- package/dist/recovery-cloud-receipt.d.ts.map +1 -1
- package/dist/recovery-cloud-receipt.js +2 -1
- package/dist/recovery-cloud-receipt.js.map +1 -1
- package/dist/recovery-cloud-workspace.d.ts.map +1 -1
- package/dist/recovery-cloud-workspace.js +2 -1
- package/dist/recovery-cloud-workspace.js.map +1 -1
- package/dist/recovery-cloud.d.ts.map +1 -1
- package/dist/recovery-cloud.js +8 -9
- package/dist/recovery-cloud.js.map +1 -1
- package/dist/recovery-copilot.d.ts.map +1 -1
- package/dist/recovery-copilot.js +3 -2
- package/dist/recovery-copilot.js.map +1 -1
- package/dist/recovery-desktop.d.ts.map +1 -1
- package/dist/recovery-desktop.js +3 -2
- package/dist/recovery-desktop.js.map +1 -1
- package/dist/recovery-hooks.js +2 -2
- package/dist/recovery-hooks.js.map +1 -1
- package/dist/recovery-hosts.d.ts.map +1 -1
- package/dist/recovery-hosts.js +53 -6
- package/dist/recovery-hosts.js.map +1 -1
- package/dist/recovery-polytoken.d.ts +2 -2
- package/dist/recovery-polytoken.d.ts.map +1 -1
- package/dist/recovery-polytoken.js +13 -8
- package/dist/recovery-polytoken.js.map +1 -1
- package/dist/recovery-remote.js +3 -3
- package/dist/recovery-remote.js.map +1 -1
- package/dist/recovery-state.d.ts +22 -1
- package/dist/recovery-state.d.ts.map +1 -1
- package/dist/recovery-state.js +167 -31
- package/dist/recovery-state.js.map +1 -1
- package/dist/recovery-transfer.d.ts.map +1 -1
- package/dist/recovery-transfer.js +8 -4
- package/dist/recovery-transfer.js.map +1 -1
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +30 -11
- package/dist/recovery.js.map +1 -1
- package/dist/reliability-store.d.ts +13 -0
- package/dist/reliability-store.d.ts.map +1 -1
- package/dist/reliability-store.js +110 -8
- package/dist/reliability-store.js.map +1 -1
- package/dist/remember.d.ts.map +1 -1
- package/dist/remember.js +2 -2
- package/dist/remember.js.map +1 -1
- package/dist/retained-context.d.ts.map +1 -1
- package/dist/retained-context.js +3 -2
- package/dist/retained-context.js.map +1 -1
- package/dist/retrieval-task.d.ts +30 -0
- package/dist/retrieval-task.d.ts.map +1 -1
- package/dist/retrieval-task.js +98 -2
- package/dist/retrieval-task.js.map +1 -1
- package/dist/review.d.ts +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +5 -2
- package/dist/review.js.map +1 -1
- package/dist/runtime.d.ts +4 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +138 -91
- package/dist/runtime.js.map +1 -1
- package/dist/self-host.d.ts +1 -1
- package/dist/self-host.d.ts.map +1 -1
- package/dist/self-host.js +105 -23
- package/dist/self-host.js.map +1 -1
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +2 -1
- package/dist/share.js.map +1 -1
- package/dist/signed-snapshot.d.ts +7 -0
- package/dist/signed-snapshot.d.ts.map +1 -1
- package/dist/signed-snapshot.js +27 -0
- package/dist/signed-snapshot.js.map +1 -1
- package/dist/skill-command.d.ts +5 -2
- package/dist/skill-command.d.ts.map +1 -1
- package/dist/skill-command.js +73 -10
- package/dist/skill-command.js.map +1 -1
- package/dist/skill-guidance.js +1 -1
- package/dist/skill-guidance.js.map +1 -1
- package/dist/skills.d.ts +2 -0
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +16 -11
- package/dist/skills.js.map +1 -1
- package/dist/status-health.d.ts +26 -0
- package/dist/status-health.d.ts.map +1 -0
- package/dist/status-health.js +49 -0
- package/dist/status-health.js.map +1 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +2 -2
- package/dist/telemetry.js.map +1 -1
- package/dist/terminal-output.d.ts +76 -0
- package/dist/terminal-output.d.ts.map +1 -0
- package/dist/terminal-output.js +151 -0
- package/dist/terminal-output.js.map +1 -0
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +14 -32
- package/dist/uninstall.js.map +1 -1
- package/dist/update.d.ts +17 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +150 -51
- package/dist/update.js.map +1 -1
- package/dist/windows-permissions.d.ts +6 -0
- package/dist/windows-permissions.d.ts.map +1 -1
- package/dist/windows-permissions.js +22 -2
- package/dist/windows-permissions.js.map +1 -1
- package/dist/windows-pty.d.ts.map +1 -1
- package/dist/windows-pty.js +4 -3
- package/dist/windows-pty.js.map +1 -1
- package/package.json +4 -4
package/dist/owned-files.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { lstat, mkdir, readFile, rename, rm, rmdir, writeFile } from "node:fs/promises";
|
|
3
|
-
import { dirname } from "node:path";
|
|
3
|
+
import { dirname, resolve, sep } from "node:path";
|
|
4
4
|
/**
|
|
5
5
|
* Files Lore writes into an agent's own directories (skills, agent
|
|
6
6
|
* definitions) and must later remove without touching the customer's edits.
|
|
@@ -8,10 +8,25 @@ import { dirname } from "node:path";
|
|
|
8
8
|
* rewritten or deleted while its content still matches the recorded digest.
|
|
9
9
|
*/
|
|
10
10
|
export const digest = (text) => createHash("sha256").update(text).digest("hex");
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
/**
|
|
12
|
+
* True when no component of the path inside the home folder is a symlink:
|
|
13
|
+
* Lore never follows links into other files. The home folder and its
|
|
14
|
+
* ancestors are the machine's layout, not files Lore writes, so a link there
|
|
15
|
+
* (macOS /var -> /private/var, /home -> /usr/home) is allowed.
|
|
16
|
+
*
|
|
17
|
+
* `configFolder` is the agent folder Lore writes into (for example a
|
|
18
|
+
* CLAUDE_CONFIG_DIR or COPILOT_HOME outside the home folder). Only the folders
|
|
19
|
+
* above it are treated as machine layout (macOS /tmp -> /private/tmp); the
|
|
20
|
+
* folder itself and everything inside it are still checked.
|
|
21
|
+
*/
|
|
22
|
+
export async function regularPath(path, home, configFolder) {
|
|
23
|
+
const root = resolve(home);
|
|
24
|
+
const folder = configFolder === undefined ? undefined : resolve(configFolder);
|
|
25
|
+
const machineLayout = (candidate) => candidate === root || root.startsWith(`${candidate}${sep}`) ||
|
|
26
|
+
// Folders above an agent folder outside home; inside home, the home rule alone applies.
|
|
27
|
+
(folder !== undefined && folder.startsWith(`${candidate}${sep}`) && !candidate.startsWith(`${root}${sep}`));
|
|
28
|
+
let current = resolve(path);
|
|
29
|
+
while (dirname(current) !== current && !machineLayout(current)) {
|
|
15
30
|
const stat = await lstat(current).catch((error) => {
|
|
16
31
|
if (error.code !== "ENOENT")
|
|
17
32
|
throw error;
|
|
@@ -23,8 +38,8 @@ export async function regularPath(path) {
|
|
|
23
38
|
}
|
|
24
39
|
return true;
|
|
25
40
|
}
|
|
26
|
-
export async function readOwnedManifest(file, subject) {
|
|
27
|
-
if (!await regularPath(file))
|
|
41
|
+
export async function readOwnedManifest(file, subject, home) {
|
|
42
|
+
if (!await regularPath(file, home))
|
|
28
43
|
throw new Error(`${subject} ownership file is a symlink.`);
|
|
29
44
|
try {
|
|
30
45
|
const value = JSON.parse(await readFile(file, "utf8"));
|
|
@@ -61,8 +76,8 @@ export async function readIfPresent(file) {
|
|
|
61
76
|
* then drop an empty parent directory and the manifest entry. Returns false
|
|
62
77
|
* when the file was left alone.
|
|
63
78
|
*/
|
|
64
|
-
export async function removeOwnedFile(file, manifest, removeEmptyDirectory = true) {
|
|
65
|
-
if (!manifest[file] || !await regularPath(file))
|
|
79
|
+
export async function removeOwnedFile(file, manifest, home, removeEmptyDirectory = true, configFolder) {
|
|
80
|
+
if (!manifest[file] || !await regularPath(file, home, configFolder))
|
|
66
81
|
return false;
|
|
67
82
|
const existing = await readIfPresent(file);
|
|
68
83
|
if (existing !== null && digest(existing) !== manifest[file])
|
package/dist/owned-files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owned-files.js","sourceRoot":"","sources":["../src/owned-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"owned-files.js","sourceRoot":"","sources":["../src/owned-files.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import { spawn as nativeSpawn } from "node:child_process";
|
|
2
|
-
export declare const spawn: typeof nativeSpawn;
|
|
3
2
|
export declare const isWindows: () => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* cmd.exe ends a command at a line break, so a batch file (such as the
|
|
5
|
+
* codex.cmd an npm or pnpm global install creates) gets only the first line
|
|
6
|
+
* of a multi-line argument like a handoff brief. For npm and pnpm shims, start
|
|
7
|
+
* the program they wrap without cmd.exe; any other batch file gets the line
|
|
8
|
+
* breaks as spaces, which keeps the text.
|
|
9
|
+
*/
|
|
10
|
+
export declare function windowsMultilineLaunch(command: string, args: readonly string[], env?: NodeJS.ProcessEnv): {
|
|
11
|
+
command: string;
|
|
12
|
+
args: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare const spawn: typeof nativeSpawn;
|
|
4
15
|
export declare const posixQuote: (value: string) => string;
|
|
16
|
+
export { powershellExecutable } from "./windows-permissions.js";
|
|
5
17
|
export declare const powershellQuote: (value: string) => string;
|
|
6
18
|
/** Windows CRT quoting, for direct executable invocation (never cmd.exe). */
|
|
7
19
|
export declare function windowsArgument(value: string): string;
|
|
8
20
|
export declare function powershellArgs(script: string): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Windows PowerShell at the head of a command line that a host runs through
|
|
23
|
+
* cmd.exe, Git Bash or PowerShell. All three accept an unquoted path with
|
|
24
|
+
* forward slashes; Git Bash drops unquoted backslashes, and a bare name lets
|
|
25
|
+
* cmd.exe start a powershell.exe from the current folder (the repository).
|
|
26
|
+
*/
|
|
27
|
+
export declare function hookPowershell(env?: NodeJS.ProcessEnv): string;
|
|
28
|
+
/** A host command line that runs a PowerShell script, safe from every host shell. */
|
|
29
|
+
export declare function windowsScriptCommand(script: string): string;
|
|
9
30
|
/** Encode script data so cmd, PowerShell and Git Bash cannot expand paths. */
|
|
10
31
|
export declare function windowsCommand(command: readonly string[], env?: Record<string, string | undefined>): string;
|
|
11
32
|
export declare function commandText(command: unknown): string;
|
|
12
33
|
export declare function localCommand(command: readonly string[], env?: Record<string, string | undefined>): string;
|
|
13
|
-
export
|
|
14
|
-
|
|
34
|
+
export { executableCandidates, system32Executable, systemCommand } from "@lore-co/core/system-command";
|
|
35
|
+
/** A program on PATH, never from the current folder or `exclude` on Windows (see executableDirectories). */
|
|
36
|
+
export declare function findExecutable(command: string, env?: NodeJS.ProcessEnv, exclude?: readonly (string | undefined)[]): Promise<string | null>;
|
|
37
|
+
/** Opens a web page. Anything but http(s) is refused: the OS would hand it to a file, share or app handler. */
|
|
15
38
|
export declare function openBrowser(url: string): void;
|
|
16
39
|
export declare function windowsProfiles(home: string): Promise<string[]>;
|
|
17
40
|
export declare function powershellFunction(name: string, command: readonly string[], home: string): string;
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOpE,eAAO,MAAM,SAAS,eAAqC,CAAC;AAsB5D;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAOrC;AAQD,eAAO,MAAM,KAAK,EAAE,OAAO,WAA6F,CAAC;AACzH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAA0C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,WAAuC,CAAC;AAErF,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAG3E;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAAG,MAAM,CAU/G;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIpD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAAG,MAAM,CAK7G;AAED,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEvG,4GAA4G;AAC5G,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAc,EAAE,OAAO,GAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU9I;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAS7C;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjG;AAED,uEAAuE;AACvE;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKlD"}
|
package/dist/platform.js
CHANGED
|
@@ -1,15 +1,68 @@
|
|
|
1
1
|
import crossSpawn from "cross-spawn";
|
|
2
2
|
import { access, realpath, rename, stat } from "node:fs/promises";
|
|
3
|
-
import { constants } from "node:fs";
|
|
4
|
-
import {
|
|
3
|
+
import { constants, existsSync, readFileSync, statSync } from "node:fs";
|
|
4
|
+
import { dirname, extname, resolve } from "node:path";
|
|
5
|
+
import { executableCandidates, executableDirectories, findExecutablePath } from "@lore-co/core/system-command";
|
|
6
|
+
import { powershellExecutable } from "./windows-permissions.js";
|
|
5
7
|
import { execFile, spawn as nativeSpawn } from "node:child_process";
|
|
6
8
|
import { setTimeout as delay } from "node:timers/promises";
|
|
7
9
|
import { promisify } from "node:util";
|
|
8
10
|
const WINDOWS_RENAME_ATTEMPTS = 40;
|
|
9
11
|
const WINDOWS_RENAME_DELAY_MS = 250;
|
|
10
|
-
export const spawn = process.platform === "win32" ? crossSpawn : nativeSpawn;
|
|
11
12
|
export const isWindows = () => process.platform === "win32";
|
|
13
|
+
// The script an npm (`"%dp0%\pkg\cli.js" %*`) or pnpm (`"%~dp0\..\pkg\cli.js" %*`) shim runs.
|
|
14
|
+
const SHIM_TARGET = /"%(?:~dp0|dp0%)\\([^"%\r\n]+)"\s+%\*/iu;
|
|
15
|
+
function shimLaunch(file, env) {
|
|
16
|
+
let text;
|
|
17
|
+
try {
|
|
18
|
+
if (statSync(file).size > 64 * 1024)
|
|
19
|
+
return null;
|
|
20
|
+
text = readFileSync(file, "utf8");
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const relative = SHIM_TARGET.exec(text)?.[1];
|
|
26
|
+
if (!relative)
|
|
27
|
+
return null;
|
|
28
|
+
const target = resolve(dirname(file), relative);
|
|
29
|
+
if (!existsSync(target))
|
|
30
|
+
return null;
|
|
31
|
+
if (extname(target).toLowerCase() === ".exe")
|
|
32
|
+
return [target];
|
|
33
|
+
if (!/^\.[cm]?js$/iu.test(extname(target)))
|
|
34
|
+
return null;
|
|
35
|
+
// The shims prefer a node.exe next to them, then node on PATH.
|
|
36
|
+
const node = existsSync(resolve(dirname(file), "node.exe")) ? resolve(dirname(file), "node.exe") : findExecutablePath("node", { env });
|
|
37
|
+
return node ? [node, target] : null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* cmd.exe ends a command at a line break, so a batch file (such as the
|
|
41
|
+
* codex.cmd an npm or pnpm global install creates) gets only the first line
|
|
42
|
+
* of a multi-line argument like a handoff brief. For npm and pnpm shims, start
|
|
43
|
+
* the program they wrap without cmd.exe; any other batch file gets the line
|
|
44
|
+
* breaks as spaces, which keeps the text.
|
|
45
|
+
*/
|
|
46
|
+
export function windowsMultilineLaunch(command, args, env = process.env) {
|
|
47
|
+
if (!isWindows() || !args.some(arg => /[\r\n]/u.test(arg)))
|
|
48
|
+
return { command, args: [...args] };
|
|
49
|
+
const file = findExecutablePath(command, { env });
|
|
50
|
+
if (!file || ![".cmd", ".bat"].includes(extname(file).toLowerCase()))
|
|
51
|
+
return { command, args: [...args] };
|
|
52
|
+
const launch = shimLaunch(file, env);
|
|
53
|
+
if (launch)
|
|
54
|
+
return { command: launch[0], args: [...launch.slice(1), ...args] };
|
|
55
|
+
return { command, args: args.map(arg => arg.replace(/\r\n|[\r\n]/gu, " ")) };
|
|
56
|
+
}
|
|
57
|
+
function windowsSpawn(command, args, options) {
|
|
58
|
+
if (!Array.isArray(args))
|
|
59
|
+
return crossSpawn(command, args, options);
|
|
60
|
+
const launch = windowsMultilineLaunch(command, args, options?.env ?? process.env);
|
|
61
|
+
return crossSpawn(launch.command, launch.args, options);
|
|
62
|
+
}
|
|
63
|
+
export const spawn = process.platform === "win32" ? windowsSpawn : nativeSpawn;
|
|
12
64
|
export const posixQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
65
|
+
export { powershellExecutable } from "./windows-permissions.js";
|
|
13
66
|
export const powershellQuote = (value) => `'${value.replaceAll("'", "''")}'`;
|
|
14
67
|
/** Windows CRT quoting, for direct executable invocation (never cmd.exe). */
|
|
15
68
|
export function windowsArgument(value) {
|
|
@@ -20,6 +73,20 @@ export function windowsArgument(value) {
|
|
|
20
73
|
export function powershellArgs(script) {
|
|
21
74
|
return ["-NoLogo", "-NoProfile", "-NonInteractive", "-EncodedCommand", Buffer.from(`$ProgressPreference = 'SilentlyContinue'; ${script}`, "utf16le").toString("base64")];
|
|
22
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Windows PowerShell at the head of a command line that a host runs through
|
|
78
|
+
* cmd.exe, Git Bash or PowerShell. All three accept an unquoted path with
|
|
79
|
+
* forward slashes; Git Bash drops unquoted backslashes, and a bare name lets
|
|
80
|
+
* cmd.exe start a powershell.exe from the current folder (the repository).
|
|
81
|
+
*/
|
|
82
|
+
export function hookPowershell(env = process.env) {
|
|
83
|
+
const path = powershellExecutable(env).replaceAll("\\", "/");
|
|
84
|
+
return /^[A-Za-z]:[\w./-]+$/u.test(path) ? path : "powershell.exe";
|
|
85
|
+
}
|
|
86
|
+
/** A host command line that runs a PowerShell script, safe from every host shell. */
|
|
87
|
+
export function windowsScriptCommand(script) {
|
|
88
|
+
return [hookPowershell(), ...powershellArgs(script)].join(" ");
|
|
89
|
+
}
|
|
23
90
|
/** Encode script data so cmd, PowerShell and Git Bash cannot expand paths. */
|
|
24
91
|
export function windowsCommand(command, env = {}) {
|
|
25
92
|
const setup = Object.entries(env).map(([key, value]) => {
|
|
@@ -29,8 +96,9 @@ export function windowsCommand(command, env = {}) {
|
|
|
29
96
|
}).join(" ");
|
|
30
97
|
// ProcessStartInfo inherits the original standard handles, preserving hook
|
|
31
98
|
// JSON and UTF-8 output without a PowerShell text pipeline or a second shell.
|
|
32
|
-
|
|
33
|
-
|
|
99
|
+
// ::new() loads no module; New-Object stalled 25-40 s without PSModulePath.
|
|
100
|
+
const script = `${setup} $s = [System.Diagnostics.ProcessStartInfo]::new(); $s.UseShellExecute = $false; $s.FileName = ${powershellQuote(command[0])}; $s.Arguments = ${powershellQuote(command.slice(1).map(windowsArgument).join(" "))}; $p = [System.Diagnostics.Process]::Start($s); $p.WaitForExit(); exit $p.ExitCode`;
|
|
101
|
+
return windowsScriptCommand(script);
|
|
34
102
|
}
|
|
35
103
|
export function commandText(command) {
|
|
36
104
|
if (typeof command !== "string")
|
|
@@ -45,19 +113,13 @@ export function localCommand(command, env = {}) {
|
|
|
45
113
|
const set = Object.entries(env).filter(([, value]) => value !== undefined).map(([key, value]) => `${key}=${posixQuote(value)}`);
|
|
46
114
|
return ["env", ...unset, ...set, ...command.map(posixQuote)].join(" ");
|
|
47
115
|
}
|
|
48
|
-
export
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
return extensions.some(ext => command.toLowerCase().endsWith(ext.toLowerCase()))
|
|
53
|
-
? [command] : extensions.map(ext => command + ext.toLowerCase());
|
|
54
|
-
}
|
|
55
|
-
export async function findExecutable(command, env = process.env) {
|
|
56
|
-
const path = Object.entries(env).find(([key]) => key.toUpperCase() === "PATH")?.[1] ?? "";
|
|
57
|
-
const directories = /[\\/]/u.test(command) ? [""] : path.split(delimiter).filter(Boolean);
|
|
116
|
+
export { executableCandidates, system32Executable, systemCommand } from "@lore-co/core/system-command";
|
|
117
|
+
/** A program on PATH, never from the current folder or `exclude` on Windows (see executableDirectories). */
|
|
118
|
+
export async function findExecutable(command, env = process.env, exclude = []) {
|
|
119
|
+
const directories = /[\\/]/u.test(command) ? [""] : executableDirectories({ env, exclude });
|
|
58
120
|
for (const directory of directories)
|
|
59
121
|
for (const candidate of executableCandidates(command, env)) {
|
|
60
|
-
const file = resolve(directory
|
|
122
|
+
const file = resolve(directory, candidate);
|
|
61
123
|
try {
|
|
62
124
|
await access(file, isWindows() ? constants.F_OK : constants.X_OK);
|
|
63
125
|
if ((await stat(file)).isFile())
|
|
@@ -67,16 +129,21 @@ export async function findExecutable(command, env = process.env) {
|
|
|
67
129
|
}
|
|
68
130
|
return null;
|
|
69
131
|
}
|
|
132
|
+
/** Opens a web page. Anything but http(s) is refused: the OS would hand it to a file, share or app handler. */
|
|
70
133
|
export function openBrowser(url) {
|
|
134
|
+
// URL.parse needs Node 22.1; the CLI supports 22.0.
|
|
135
|
+
const protocol = URL.canParse(url) ? new URL(url).protocol : "";
|
|
136
|
+
if (!["http:", "https:"].includes(protocol))
|
|
137
|
+
throw new Error("Lore only opens http and https links in a browser");
|
|
71
138
|
const child = isWindows()
|
|
72
|
-
? spawn(
|
|
139
|
+
? spawn(powershellExecutable(), powershellArgs(`Start-Process -FilePath ${powershellQuote(url)}`), { stdio: "ignore", windowsHide: true })
|
|
73
140
|
: spawn(process.platform === "darwin" ? "open" : "xdg-open", [url], { detached: true, stdio: "ignore" });
|
|
74
141
|
child.once("error", () => { });
|
|
75
142
|
child.unref();
|
|
76
143
|
}
|
|
77
144
|
export async function windowsProfiles(home) {
|
|
78
145
|
// Ask PowerShell for Documents so redirected/OneDrive folders work too.
|
|
79
|
-
const { stdout } = await promisify(execFile)(
|
|
146
|
+
const { stdout } = await promisify(execFile)(powershellExecutable(), powershellArgs("[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding; @([Environment]::GetFolderPath('UserProfile'), [Environment]::GetFolderPath('MyDocuments')) | ConvertTo-Json -Compress"), { encoding: "utf8", windowsHide: true });
|
|
80
147
|
const [profile, redirectedDocuments] = JSON.parse(stdout);
|
|
81
148
|
const documents = profile && resolve(profile).toLowerCase() === resolve(home).toLowerCase()
|
|
82
149
|
? redirectedDocuments || resolve(home, "Documents") : resolve(home, "Documents");
|
|
@@ -89,7 +156,7 @@ export function powershellFunction(name, command, home) {
|
|
|
89
156
|
}
|
|
90
157
|
export async function openWindowsTerminal(command, home) {
|
|
91
158
|
const launch = windowsCommand(command, { LORE_HOME: home, BUN_OPTIONS: undefined, BUN_BE_BUN: undefined });
|
|
92
|
-
const child = spawn(
|
|
159
|
+
const child = spawn(powershellExecutable(), powershellArgs(`Start-Process ${powershellQuote(powershellExecutable())} -ArgumentList ${powershellQuote(launch.slice(launch.indexOf(" ") + 1))} -WorkingDirectory ${powershellQuote(home)}`), { stdio: "ignore", windowsHide: true });
|
|
93
160
|
await new Promise((done, reject) => {
|
|
94
161
|
child.once("error", reject);
|
|
95
162
|
child.once("exit", code => code === 0 ? done() : reject(new Error("Could not open the recovery terminal")));
|
|
@@ -119,7 +186,7 @@ export async function renameWindowsBinary(source, destination) {
|
|
|
119
186
|
}
|
|
120
187
|
export function removeAfterExit(path) {
|
|
121
188
|
const script = `Wait-Process -Id ${process.pid} -ErrorAction SilentlyContinue; Remove-Item -LiteralPath ${powershellQuote(path)} -Force -ErrorAction SilentlyContinue`;
|
|
122
|
-
const child = spawn(
|
|
189
|
+
const child = spawn(powershellExecutable(), powershellArgs(script), { detached: true, stdio: "ignore", windowsHide: true });
|
|
123
190
|
child.once("error", () => { });
|
|
124
191
|
child.unref();
|
|
125
192
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/pty.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export interface OpenPtyOptions {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Opens the command inside a pseudo-terminal. Prefers node-pty when it is
|
|
19
|
-
* installed (full resize support); otherwise falls back to the
|
|
19
|
+
* installed next to Lore (full resize support); otherwise falls back to the
|
|
20
|
+
* python3 shim.
|
|
20
21
|
*/
|
|
21
22
|
export declare function openPty(command: string, args: string[], options?: OpenPtyOptions): Promise<PtyProcess>;
|
|
22
23
|
//# sourceMappingURL=pty.d.ts.map
|
package/dist/pty.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AA2KD;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA4CrB"}
|
package/dist/pty.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { IS_STANDALONE_BINARY } from "./version.js";
|
|
4
|
+
// Not a literal require, so `bun build --compile` does not try to bundle it.
|
|
5
|
+
const NODE_PTY = "node-pty";
|
|
2
6
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* node-pty is not a dependency of the CLI, only an optional enhancement when it
|
|
8
|
+
* is installed alongside Lore. Resolve it from Lore's own install location,
|
|
9
|
+
* never the working directory: that is the user's project, and a node-pty it
|
|
10
|
+
* ships would run inside Lore. The standalone binary never loads it: it cannot
|
|
11
|
+
* load native addons, and Bun resolves a runtime bare import against the
|
|
12
|
+
* working directory and its parents.
|
|
6
13
|
*/
|
|
7
14
|
async function loadNodePty() {
|
|
15
|
+
if (IS_STANDALONE_BINARY)
|
|
16
|
+
return null;
|
|
8
17
|
try {
|
|
9
|
-
const
|
|
10
|
-
const module = (await dynamicImport("node-pty"));
|
|
18
|
+
const module = createRequire(import.meta.url)(NODE_PTY);
|
|
11
19
|
return typeof module.spawn === "function"
|
|
12
20
|
? module
|
|
13
21
|
: null;
|
|
@@ -69,7 +77,11 @@ sys.exit(os.waitstatus_to_exitcode(status))
|
|
|
69
77
|
* propagate terminal resizes: the inner terminal keeps its initial size.
|
|
70
78
|
*/
|
|
71
79
|
function pythonFallback(command, args, options) {
|
|
72
|
-
const child = spawn("python3",
|
|
80
|
+
const child = spawn("python3",
|
|
81
|
+
// -I (isolated mode): the cwd is the user's project, so keep it and its
|
|
82
|
+
// files (a committed pty.py, struct.py, ...) off sys.path, and ignore
|
|
83
|
+
// PYTHON* variables and user site-packages. The command still runs there.
|
|
84
|
+
["-I", "-c", PYTHON_PTY_SHIM, command, ...args], {
|
|
73
85
|
cwd: options.cwd,
|
|
74
86
|
env: {
|
|
75
87
|
...(options.env ?? process.env),
|
|
@@ -140,7 +152,8 @@ function pythonFallback(command, args, options) {
|
|
|
140
152
|
}
|
|
141
153
|
/**
|
|
142
154
|
* Opens the command inside a pseudo-terminal. Prefers node-pty when it is
|
|
143
|
-
* installed (full resize support); otherwise falls back to the
|
|
155
|
+
* installed next to Lore (full resize support); otherwise falls back to the
|
|
156
|
+
* python3 shim.
|
|
144
157
|
*/
|
|
145
158
|
export async function openPty(command, args, options = {}) {
|
|
146
159
|
if (process.platform === "win32") {
|
package/dist/pty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-cloud-receipt.d.ts","sourceRoot":"","sources":["../src/recovery-cloud-receipt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"recovery-cloud-receipt.d.ts","sourceRoot":"","sources":["../src/recovery-cloud-receipt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA8BpD,8FAA8F;AAC9F,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACjG,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;;;;;;;;;GAsDA"}
|
|
@@ -4,6 +4,7 @@ import { chmod, lstat, mkdir, realpath } from "node:fs/promises";
|
|
|
4
4
|
import { resolve, sep } from "node:path";
|
|
5
5
|
import { promisify } from "node:util";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
+
import { systemCommand } from "@lore-co/core/system-command";
|
|
7
8
|
import { importRecoveryPacket } from "./recovery-transfer.js";
|
|
8
9
|
import { atomicWriteJson, readBoundedJsonFile, withDirectoryLock } from "./reliability-store.js";
|
|
9
10
|
const execFile = promisify(callback);
|
|
@@ -18,7 +19,7 @@ const Receipt = z.object({
|
|
|
18
19
|
const MAX_RECEIPT_BYTES = 1024 * 1024;
|
|
19
20
|
const MISSING_WORKTREE = "The restored worktree is missing or was replaced; no files were changed";
|
|
20
21
|
async function gitPath(cwd, flag) {
|
|
21
|
-
const { stdout } = await execFile("git", ["rev-parse", flag], { cwd, timeout: 5000 });
|
|
22
|
+
const { stdout } = await execFile(systemCommand("git", { exclude: [cwd] }), ["rev-parse", flag], { cwd, timeout: 5000 });
|
|
22
23
|
return realpath(resolve(cwd, stdout.trim()));
|
|
23
24
|
}
|
|
24
25
|
async function worktreeIdentity(destination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-cloud-receipt.js","sourceRoot":"","sources":["../src/recovery-cloud-receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEjG,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9E,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI;IACrF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjF,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;CACrF,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,gBAAgB,GAAG,yEAAyE,CAAC;AACnG,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"recovery-cloud-receipt.js","sourceRoot":"","sources":["../src/recovery-cloud-receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEjG,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9E,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI;IACrF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjF,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;CACrF,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,gBAAgB,GAAG,yEAAyE,CAAC;AACnG,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzH,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AACD,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QAC7F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3D,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAG3C;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IACrE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAChH,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;IAClD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE;QACxE,IAAI,KAA0C,CAAC;QAC/C,IAAI,CAAC;YAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAAC,CAAC;QACzF,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;QACtF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnH,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;gBACvF,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;YACrH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ;wBACnC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;wBACzF,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG;wBACzD,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,WAAW;wBACpE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,eAAe;wBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACnH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC1F,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,+GAA+G;gBAC/G,OAAO,KAAK,CAAC;YACf,CAAC;YACD,uEAAuE;YACvE,0EAA0E;YAC1E,wEAAwE;YACxE,4EAA4E;QAC9E,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QAC3J,IAAI,SAAmC,CAAC;QACxC,MAAM,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;YAC1E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACzD,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;gBACxF,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe;gBAC/E,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,MAAM,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;QACtG,WAAW,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC;KACvG,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-cloud-workspace.d.ts","sourceRoot":"","sources":["../src/recovery-cloud-workspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"recovery-cloud-workspace.d.ts","sourceRoot":"","sources":["../src/recovery-cloud-workspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAYpI,eAAO,MAAM,aAAa;;;;;iBAAwK,CAAC;AAInM,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAclJ;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEnG"}
|
|
@@ -6,6 +6,7 @@ import { restoreCloudWorkspace } from "./recovery-cloud-receipt.js";
|
|
|
6
6
|
import { createRecoveryRun, workspaceSnapshot } from "./recovery-state.js";
|
|
7
7
|
import { execFile as callback } from "node:child_process";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
|
+
import { systemCommand } from "@lore-co/core/system-command";
|
|
9
10
|
const execFile = promisify(callback);
|
|
10
11
|
const ok = z.object({ ok: z.literal(true) });
|
|
11
12
|
class WorkspaceHttpError extends Error {
|
|
@@ -17,7 +18,7 @@ class WorkspaceHttpError extends Error {
|
|
|
17
18
|
}
|
|
18
19
|
export const SnapshotChunk = z.object({ index: z.number().int().nonnegative(), total: z.number().int().min(1).max(32), digest: z.string().regex(/^[a-f0-9]{64}$/), data: z.string().max(524288) });
|
|
19
20
|
const digest = (v) => createHash("sha256").update(v).digest("hex");
|
|
20
|
-
const repo = async (cwd) => CloudRepositorySchema.parse((await execFile("git", ["remote", "get-url", "origin"], { cwd, timeout: 5000 })).stdout.trim().replace(/^git@github\.com:/, "https://github.com/").replace(/\.git$/, ""));
|
|
21
|
+
const repo = async (cwd) => CloudRepositorySchema.parse((await execFile(systemCommand("git", { exclude: [cwd] }), ["remote", "get-url", "origin"], { cwd, timeout: 5000 })).stdout.trim().replace(/^git@github\.com:/, "https://github.com/").replace(/\.git$/, ""));
|
|
21
22
|
export async function readCloudSnapshot(offer, get) {
|
|
22
23
|
if (!offer.snapshot)
|
|
23
24
|
throw new Error("No workspace snapshot is available");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-cloud-workspace.js","sourceRoot":"","sources":["../src/recovery-cloud-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAwC,MAAM,eAAe,CAAC;AACpI,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,MAAM,kBAAmB,SAAQ,KAAK;IACf;IAArB,YAAqB,MAAc;QAAI,KAAK,CAAC,2BAA2B,MAAM,iCAAiC,CAAC,CAAC;QAA5F,WAAM,GAAN,MAAM,CAAQ;IAA+E,CAAC;CACpH;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnM,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"recovery-cloud-workspace.js","sourceRoot":"","sources":["../src/recovery-cloud-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-cloud.d.ts","sourceRoot":"","sources":["../src/recovery-cloud.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACnI,OAAO,EAAqC,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"recovery-cloud.d.ts","sourceRoot":"","sources":["../src/recovery-cloud.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACnI,OAAO,EAAqC,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAanG,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;iBAA4P,CAAC;AACzQ,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAyBrC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AACD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAJ1E,MAAM,QAAQ,MAAM,EAAE,oBAI0D,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlJ;AAeD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,8BAAuB,iBAuD3I;AACD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DlE;AACD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCtI"}
|