sisyphi 1.1.37 → 1.1.38
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.
|
@@ -67,7 +67,13 @@ write_files:
|
|
|
67
67
|
runcmd:
|
|
68
68
|
# 1. Base packages.
|
|
69
69
|
- apt-get update
|
|
70
|
-
- DEBIAN_FRONTEND=noninteractive apt-get install -y curl git tmux fzf neovim build-essential ufw mosh ca-certificates gnupg
|
|
70
|
+
- DEBIAN_FRONTEND=noninteractive apt-get install -y curl git tmux fzf neovim build-essential ufw mosh ca-certificates gnupg pipx
|
|
71
|
+
|
|
72
|
+
# 1b. termrender — TUI markdown rendering. Without it the dashboard falls
|
|
73
|
+
# back to plain text. Install system-wide via pipx so the binary lands in
|
|
74
|
+
# /usr/local/bin and resolves on PATH for both interactive shells and
|
|
75
|
+
# systemd user services (same convention as the pbcopy/pbpaste shims).
|
|
76
|
+
- PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install termrender
|
|
71
77
|
|
|
72
78
|
# 2. Node 22 via NodeSource. /usr/bin/node, /usr/bin/npm.
|
|
73
79
|
- curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
|
package/dist/cli.js
CHANGED
|
@@ -11744,7 +11744,7 @@ function cloudStatus(provider, repo) {
|
|
|
11744
11744
|
|
|
11745
11745
|
// src/cli/cloud/handoff.ts
|
|
11746
11746
|
import { spawn as spawn5 } from "child_process";
|
|
11747
|
-
import { existsSync as existsSync32, readFileSync as readFileSync34 } from "fs";
|
|
11747
|
+
import { existsSync as existsSync32, readFileSync as readFileSync34, writeFileSync as writeFileSync18 } from "fs";
|
|
11748
11748
|
init_exec();
|
|
11749
11749
|
init_paths();
|
|
11750
11750
|
init_shell();
|
|
@@ -11877,7 +11877,7 @@ async function cloudReclaim(sessionId, opts) {
|
|
|
11877
11877
|
console.log(`\u2192 rsync session state down`);
|
|
11878
11878
|
await rsyncDown(target, `${remoteSessionDir}/`, `${sessionDir(cwd, sessionId)}/`, { withDelete: true });
|
|
11879
11879
|
console.log(`\u2192 rsync working tree down`);
|
|
11880
|
-
await rsyncDown(target, `${remoteRepoDir}/`, `${cwd}/`, { withDelete: false });
|
|
11880
|
+
await rsyncDown(target, `${remoteRepoDir}/`, `${cwd}/`, { withDelete: false, excludeSisyphus: true, update: true });
|
|
11881
11881
|
for (const name of ["config.json", "orchestrator.md", "orchestrator-settings.json"]) {
|
|
11882
11882
|
const remotePath = `${remoteRepoDir}/.sisyphus/${name}`;
|
|
11883
11883
|
const localPath = join31(projectDir(cwd), name);
|
|
@@ -11885,6 +11885,11 @@ async function cloudReclaim(sessionId, opts) {
|
|
|
11885
11885
|
if (probe.stdout.trim() !== "y") continue;
|
|
11886
11886
|
await rsyncDown(target, remotePath, localPath, { withDelete: false });
|
|
11887
11887
|
}
|
|
11888
|
+
const localStatePath = statePath(cwd, sessionId);
|
|
11889
|
+
const merged = JSON.parse(readFileSync34(localStatePath, "utf-8"));
|
|
11890
|
+
merged.cwd = cwd;
|
|
11891
|
+
merged.handoff = local.handoff;
|
|
11892
|
+
writeFileSync18(localStatePath, JSON.stringify(merged, null, 2));
|
|
11888
11893
|
const reclaimMessage = `Session reclaimed from cloud (${provider}:${repo}). Resuming locally.`;
|
|
11889
11894
|
console.log(`\u2192 local sis resume`);
|
|
11890
11895
|
const resumeResp = await sendRequest({
|
|
@@ -11941,6 +11946,8 @@ function rsyncDown(target, remotePath, localPath, opts) {
|
|
|
11941
11946
|
return new Promise((resolve12, reject) => {
|
|
11942
11947
|
const args2 = ["-avz"];
|
|
11943
11948
|
if (opts.withDelete) args2.push("--delete");
|
|
11949
|
+
if (opts.update) args2.push("--update");
|
|
11950
|
+
if (opts.excludeSisyphus) args2.push("--exclude=.sisyphus/");
|
|
11944
11951
|
args2.push("--exclude=.terraform/", "--exclude=node_modules/", "--exclude=dist/", "--exclude=.next/", "--exclude=.turbo/", "--exclude=coverage/", "--exclude=tmp/", "--exclude=.git/lfs/", "--exclude=.DS_Store");
|
|
11945
11952
|
args2.push("-e", "ssh", `${target}:${remotePath}`, localPath);
|
|
11946
11953
|
const child = spawn5("rsync", args2, { stdio: "inherit", env: EXEC_ENV });
|