@intentic/machine 1.345.0 → 1.346.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.
- package/README.md +100 -135
- package/dist/device/commands.d.ts +6 -1
- package/dist/device/commands.d.ts.map +1 -1
- package/dist/device/commands.js +19 -7
- package/dist/device/commands.js.map +1 -1
- package/dist/device/grant.d.ts +2 -1
- package/dist/device/grant.d.ts.map +1 -1
- package/dist/device/router.d.ts +2 -1
- package/dist/device/router.d.ts.map +1 -1
- package/dist/device/sandbox-rounds/keeper.js +1 -1
- package/dist/device/sandbox-rounds/keeper.js.map +1 -1
- package/dist/device/tools/agent.d.ts.map +1 -1
- package/dist/device/tools/agent.js +7 -7
- package/dist/device/tools/agent.js.map +1 -1
- package/dist/device/tools/ic-binary.d.ts +1 -0
- package/dist/device/tools/ic-binary.d.ts.map +1 -1
- package/dist/device/tools/ic-binary.js +29 -1
- package/dist/device/tools/ic-binary.js.map +1 -1
- package/dist/device/tools/os/settings.js +3 -3
- package/dist/device/tools/os/settings.js.map +1 -1
- package/dist/device/tools/sandboxes.d.ts +1 -0
- package/dist/device/tools/sandboxes.d.ts.map +1 -1
- package/dist/device/tools/sandboxes.js +7 -2
- package/dist/device/tools/sandboxes.js.map +1 -1
- package/dist/install.d.ts +9 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +28 -4
- package/dist/install.js.map +1 -1
- package/dist/resident/resident.d.ts.map +1 -1
- package/dist/resident/resident.js +1 -2
- package/dist/resident/resident.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +1 -8
- package/dist/status.js.map +1 -1
- package/dist/sync/commands.d.ts +1 -9
- package/dist/sync/commands.d.ts.map +1 -1
- package/dist/sync/commands.js +48 -89
- package/dist/sync/commands.js.map +1 -1
- package/dist/sync/config.d.ts +21 -25
- package/dist/sync/config.d.ts.map +1 -1
- package/dist/sync/config.js +76 -35
- package/dist/sync/config.js.map +1 -1
- package/dist/sync/endpoint.d.ts +1 -1
- package/dist/sync/endpoint.d.ts.map +1 -1
- package/dist/sync/endpoint.js +2 -3
- package/dist/sync/endpoint.js.map +1 -1
- package/dist/sync/folders.d.ts.map +1 -1
- package/dist/sync/folders.js.map +1 -1
- package/dist/sync/gone-watch.d.ts +0 -1
- package/dist/sync/gone-watch.d.ts.map +1 -1
- package/dist/sync/gone-watch.js +16 -53
- package/dist/sync/gone-watch.js.map +1 -1
- package/dist/sync/holds.d.ts +30 -0
- package/dist/sync/holds.d.ts.map +1 -0
- package/dist/sync/holds.js +117 -0
- package/dist/sync/holds.js.map +1 -0
- package/dist/sync/low-disk.d.ts +2 -9
- package/dist/sync/low-disk.d.ts.map +1 -1
- package/dist/sync/low-disk.js +10 -38
- package/dist/sync/low-disk.js.map +1 -1
- package/dist/sync/mirror.d.ts +1 -4
- package/dist/sync/mirror.d.ts.map +1 -1
- package/dist/sync/mirror.js +57 -161
- package/dist/sync/mirror.js.map +1 -1
- package/dist/sync/mutagen-env.d.ts +1 -3
- package/dist/sync/mutagen-env.d.ts.map +1 -1
- package/dist/sync/mutagen-env.js +2 -12
- package/dist/sync/mutagen-env.js.map +1 -1
- package/dist/sync/mutagen-move.d.ts +3 -1
- package/dist/sync/mutagen-move.d.ts.map +1 -1
- package/dist/sync/mutagen-move.js +30 -22
- package/dist/sync/mutagen-move.js.map +1 -1
- package/dist/sync/mutagen.d.ts +4 -9
- package/dist/sync/mutagen.d.ts.map +1 -1
- package/dist/sync/mutagen.js +11 -71
- package/dist/sync/mutagen.js.map +1 -1
- package/dist/sync/project/project-commands.d.ts +0 -3
- package/dist/sync/project/project-commands.d.ts.map +1 -1
- package/dist/sync/project/project-commands.js +3 -2
- package/dist/sync/project/project-commands.js.map +1 -1
- package/dist/sync/project/project-delivery.d.ts.map +1 -1
- package/dist/sync/project/project-delivery.js +3 -3
- package/dist/sync/project/project-delivery.js.map +1 -1
- package/dist/sync/project/project-transfer.d.ts +4 -0
- package/dist/sync/project/project-transfer.d.ts.map +1 -1
- package/dist/sync/project/project-transfer.js +9 -2
- package/dist/sync/project/project-transfer.js.map +1 -1
- package/dist/sync/report.d.ts.map +1 -1
- package/dist/sync/report.js +16 -10
- package/dist/sync/report.js.map +1 -1
- package/dist/sync/retire.d.ts.map +1 -1
- package/dist/sync/retire.js +1 -2
- package/dist/sync/retire.js.map +1 -1
- package/dist/sync/tunnel.d.ts +4 -3
- package/dist/sync/tunnel.d.ts.map +1 -1
- package/dist/sync/tunnel.js +107 -42
- package/dist/sync/tunnel.js.map +1 -1
- package/dist/sync/uninstall.d.ts.map +1 -1
- package/dist/sync/uninstall.js +1 -1
- package/dist/sync/uninstall.js.map +1 -1
- package/dist/sync/wake.d.ts +3 -0
- package/dist/sync/wake.d.ts.map +1 -0
- package/dist/sync/wake.js +43 -0
- package/dist/sync/wake.js.map +1 -0
- package/package.json +9 -9
- package/dist/sync/attach-commands.d.ts +0 -39
- package/dist/sync/attach-commands.d.ts.map +0 -1
- package/dist/sync/attach-commands.js +0 -164
- package/dist/sync/attach-commands.js.map +0 -1
- package/dist/sync/swap-pause.d.ts +0 -10
- package/dist/sync/swap-pause.d.ts.map +0 -1
- package/dist/sync/swap-pause.js +0 -29
- package/dist/sync/swap-pause.js.map +0 -1
|
@@ -3,7 +3,5 @@ export declare const mutagenEnv: (base?: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
|
3
3
|
export declare const isMutagenCommand: (command: string) => boolean;
|
|
4
4
|
export declare const childEnv: (command: string, env?: NodeJS.ProcessEnv) => NodeJS.ProcessEnv | undefined;
|
|
5
5
|
export declare const movedAlready: () => Promise<boolean>;
|
|
6
|
-
export declare const recordMove: (
|
|
7
|
-
export declare const carriedPause: (name: string) => Promise<boolean>;
|
|
8
|
-
export declare const dropCarriedPause: (name: string) => Promise<void>;
|
|
6
|
+
export declare const recordMove: () => Promise<void>;
|
|
9
7
|
//# sourceMappingURL=mutagen-env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen-env.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutagen-env.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen-env.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc,QAA2B,CAAC;AAGvD,eAAO,MAAM,UAAU,UAAU,MAAM,CAAC,UAAU,KAAiB,MAAM,CAAC,UAIxE,CAAC;AAIH,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,OAA+E,CAAC;AAKnI,eAAO,MAAM,QAAQ,YAAa,MAAM,QAAQ,MAAM,CAAC,UAAU,KAAG,MAAM,CAAC,UAAU,GAAG,SACvB,CAAC;AAOlE,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,OAAO,CAAgC,CAAC;AAEtF,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAAmG,CAAC"}
|
package/dist/sync/mutagen-env.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { basename, join } from "node:path";
|
|
2
|
-
import { pathExists,
|
|
3
|
-
import { z } from "zod";
|
|
2
|
+
import { pathExists, writeFileAtomic } from "@intentic/base/fs";
|
|
4
3
|
import { baseDir } from "../config.js";
|
|
5
4
|
export const mutagenDataDir = join(baseDir, "mutagen");
|
|
6
5
|
export const mutagenEnv = (base = process.env) => ({
|
|
@@ -11,15 +10,6 @@ export const mutagenEnv = (base = process.env) => ({
|
|
|
11
10
|
export const isMutagenCommand = (command) => /^mutagen(?:\.exe)?$/i.test(basename(command.replaceAll("\\", "/")));
|
|
12
11
|
export const childEnv = (command, env) => env ?? (isMutagenCommand(command) ? mutagenEnv() : undefined);
|
|
13
12
|
const movedPath = join(baseDir, "mutagen-moved.json");
|
|
14
|
-
const MovedSchema = z.object({ movedAt: z.string(), paused: z.array(z.string()) });
|
|
15
|
-
const writeMoved = async (moved) => await writeFileAtomic(movedPath, `${JSON.stringify(moved)}\n`);
|
|
16
13
|
export const movedAlready = async () => await pathExists(movedPath);
|
|
17
|
-
export const recordMove = async (
|
|
18
|
-
export const carriedPause = async (name) => (await readJsonIfExists(movedPath, MovedSchema))?.paused.includes(name) === true;
|
|
19
|
-
export const dropCarriedPause = async (name) => {
|
|
20
|
-
const moved = await readJsonIfExists(movedPath, MovedSchema);
|
|
21
|
-
if (moved?.paused.includes(name) === true) {
|
|
22
|
-
await writeMoved({ ...moved, paused: moved.paused.filter((held) => held !== name) });
|
|
23
|
-
}
|
|
24
|
-
};
|
|
14
|
+
export const recordMove = async () => await writeFileAtomic(movedPath, `${JSON.stringify({ movedAt: new Date().toISOString() })}\n`);
|
|
25
15
|
//# sourceMappingURL=mutagen-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen-env.js","sourceRoot":"","sources":["../../src/sync/mutagen-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"mutagen-env.js","sourceRoot":"","sources":["../../src/sync/mutagen-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAgBvC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAGvD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,GAAsB,OAAO,CAAC,GAAG,EAAqB,EAAE,CAAC,CAAC;IACrF,GAAG,IAAI;IACP,sBAAsB,EAAE,cAAc;IACtC,yBAAyB,EAAE,GAAG;CACjC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAKnI,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,GAAuB,EAAiC,EAAE,CAChG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAKlE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAsB,EAAE,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE,CAAC,MAAM,eAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -29,6 +29,8 @@ export interface MoveSeams {
|
|
|
29
29
|
readonly startOwn: () => boolean;
|
|
30
30
|
readonly ownSessions: (names: readonly string[]) => readonly string[] | undefined;
|
|
31
31
|
readonly carry: (identifier: string) => Promise<boolean>;
|
|
32
|
+
readonly pausedBefore: (names: readonly string[]) => Promise<readonly string[]>;
|
|
33
|
+
readonly declarePaused: (names: readonly string[]) => Promise<void>;
|
|
32
34
|
readonly restartTheirs: () => boolean;
|
|
33
35
|
readonly settle: () => Promise<void>;
|
|
34
36
|
}
|
|
@@ -43,11 +45,11 @@ export interface Moved {
|
|
|
43
45
|
readonly carried: readonly MovingSession[];
|
|
44
46
|
readonly remade: readonly MovingSession[];
|
|
45
47
|
readonly ended: boolean;
|
|
46
|
-
readonly resumed: boolean;
|
|
47
48
|
}
|
|
48
49
|
export declare const moveSessions: (seams: MoveSeams, plan: MovePlan) => Promise<Moved>;
|
|
49
50
|
export declare const registrationIsOurs: (registration: string | undefined, own: string, platform: NodeJS.Platform) => boolean;
|
|
50
51
|
export declare const carryState: (from: string, to: string, identifier: string) => Promise<boolean>;
|
|
52
|
+
export declare const firstSighting: (path: string, names: readonly string[]) => Promise<readonly string[]>;
|
|
51
53
|
export declare const moveOffSharedMutagen: (mutagen: string, log: Log, seams?: MoveSeams) => Promise<void>;
|
|
52
54
|
export {};
|
|
53
55
|
//# sourceMappingURL=mutagen-move.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen-move.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen-move.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"mutagen-move.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen-move.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,17 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { copyFile, mkdir, rm } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
5
|
-
import { readTextIfExists } from "@intentic/base/fs";
|
|
5
|
+
import { readTextIfExists, writeFileAtomic } from "@intentic/base/fs";
|
|
6
6
|
import { parseJsonOr } from "@intentic/base/json";
|
|
7
7
|
import { clearWindowsRunValue, homeDir } from "@intentic/local-agent";
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import { baseDir } from "../config.js";
|
|
8
10
|
import { readRegistryValue } from "../windows-registry.js";
|
|
9
11
|
import { sessionOwner } from "./environment.js";
|
|
10
12
|
import { runProcessSync } from "./exec.js";
|
|
11
|
-
import {
|
|
13
|
+
import { pairingKey, readState } from "./config.js";
|
|
14
|
+
import { declareOwnerPauses, markOwnerPausesAdopted, syncHeld } from "./holds.js";
|
|
15
|
+
import { existingSyncSessions, MUTAGEN_CALL_TIMEOUT_MS, MUTAGEN_RUN_VALUE, ownershipOf, saysDaemonDown, saysVersionMismatch, SESSION_PREFIX, startMutagenDaemon, syncSessionNames, } from "./mutagen.js";
|
|
12
16
|
import { ownMutagenPath, resolveOnPath } from "./binary/mutagen-binary.js";
|
|
13
17
|
import { movedAlready, mutagenDataDir, recordMove } from "./mutagen-env.js";
|
|
14
18
|
const ours = (session, owner) => session.name?.startsWith(SESSION_PREFIX) === true && ownershipOf(session.labels, owner) !== "theirs";
|
|
@@ -69,32 +73,21 @@ const carrySessions = async (seams, plan) => {
|
|
|
69
73
|
const RELOAD_TRIES = 20;
|
|
70
74
|
const loadCarried = async (seams, carried) => {
|
|
71
75
|
if (carried.length === 0) {
|
|
72
|
-
return
|
|
76
|
+
return;
|
|
73
77
|
}
|
|
74
78
|
seams.own(["daemon", "stop"]);
|
|
75
79
|
for (let tries = 0; tries < RELOAD_TRIES && seams.own(["sync", "list"]); tries += 1) {
|
|
76
80
|
await seams.settle();
|
|
77
81
|
}
|
|
78
82
|
seams.startOwn();
|
|
79
|
-
const resume = carried.filter((session) => !session.paused).map((session) => session.name);
|
|
80
|
-
if (resume.length === 0) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
for (let tries = 0; tries < RELOAD_TRIES; tries += 1) {
|
|
84
|
-
if (seams.own(["sync", "resume", ...resume])) {
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
await seams.settle();
|
|
88
|
-
seams.startOwn();
|
|
89
|
-
}
|
|
90
|
-
return false;
|
|
91
83
|
};
|
|
92
84
|
export const moveSessions = async (seams, plan) => {
|
|
85
|
+
await seams.declarePaused(await seams.pausedBefore(plan.sync.filter((session) => session.paused).map((session) => session.name)));
|
|
93
86
|
const carried = await carrySessions(seams, plan);
|
|
94
87
|
const ended = (plan.sync.length === 0 || seams.shared(["sync", "terminate", ...plan.sync.map((session) => session.target)]).ok) &&
|
|
95
88
|
(plan.terminateForwards.length === 0 || seams.shared(["forward", "terminate", ...plan.terminateForwards]).ok);
|
|
96
|
-
|
|
97
|
-
return { carried, remade: plan.sync.filter((session) => !carried.includes(session)), ended
|
|
89
|
+
await loadCarried(seams, carried);
|
|
90
|
+
return { carried, remade: plan.sync.filter((session) => !carried.includes(session)), ended };
|
|
98
91
|
};
|
|
99
92
|
export const registrationIsOurs = (registration, own, platform) => {
|
|
100
93
|
if (registration === undefined) {
|
|
@@ -127,6 +120,16 @@ export const carryState = async (from, to, identifier) => {
|
|
|
127
120
|
return false;
|
|
128
121
|
}
|
|
129
122
|
};
|
|
123
|
+
const pausedBeforePath = join(baseDir, "mutagen-move-paused.json");
|
|
124
|
+
const SightingSchema = z.array(z.string());
|
|
125
|
+
export const firstSighting = async (path, names) => {
|
|
126
|
+
const kept = SightingSchema.safeParse(parseJsonOr((await readTextIfExists(path)) ?? "", undefined));
|
|
127
|
+
if (kept.success) {
|
|
128
|
+
return kept.data;
|
|
129
|
+
}
|
|
130
|
+
await writeFileAtomic(path, `${JSON.stringify(names)}\n`);
|
|
131
|
+
return names;
|
|
132
|
+
};
|
|
130
133
|
const realSeams = (mutagen, from) => ({
|
|
131
134
|
shared: (args, autostart = false) => {
|
|
132
135
|
const ran = runProcessSync(mutagen, args, { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS, env: sharedEnv(autostart) });
|
|
@@ -136,6 +139,13 @@ const realSeams = (mutagen, from) => ({
|
|
|
136
139
|
startOwn: () => startMutagenDaemon(mutagen),
|
|
137
140
|
ownSessions: (names) => existingSyncSessions(mutagen, names),
|
|
138
141
|
carry: async (identifier) => await carryState(from, mutagenDataDir, identifier),
|
|
142
|
+
pausedBefore: async (names) => await firstSighting(pausedBeforePath, names),
|
|
143
|
+
declarePaused: async (names) => {
|
|
144
|
+
const now = Date.now();
|
|
145
|
+
const owned = (await readState()).pairings.filter((pairing) => !syncHeld(pairing, now) && syncSessionNames(pairing).some((name) => names.includes(name)));
|
|
146
|
+
await declareOwnerPauses(new Set(owned.map(pairingKey)), now);
|
|
147
|
+
await markOwnerPausesAdopted();
|
|
148
|
+
},
|
|
139
149
|
settle: async () => await sleep(500),
|
|
140
150
|
restartTheirs: () => {
|
|
141
151
|
const theirs = resolveOnPath("mutagen");
|
|
@@ -168,7 +178,7 @@ export const moveOffSharedMutagen = async (mutagen, log, seams) => {
|
|
|
168
178
|
}
|
|
169
179
|
const from = sharedDataDir();
|
|
170
180
|
if (!existsSync(from) || from === mutagenDataDir) {
|
|
171
|
-
await recordMove(
|
|
181
|
+
await recordMove();
|
|
172
182
|
return;
|
|
173
183
|
}
|
|
174
184
|
const acts = seams ?? realSeams(mutagen, from);
|
|
@@ -191,9 +201,6 @@ export const moveOffSharedMutagen = async (mutagen, log, seams) => {
|
|
|
191
201
|
else if (process.platform === "win32") {
|
|
192
202
|
clearWindowsRunValue(MUTAGEN_RUN_VALUE);
|
|
193
203
|
}
|
|
194
|
-
if (!moved.resumed) {
|
|
195
|
-
log(`this agent's Mutagen daemon did not resume the carried sessions that were running, so they are paused: \`intentic-machine sync resume\` resumes them.`);
|
|
196
|
-
}
|
|
197
204
|
if (!moved.ended) {
|
|
198
205
|
log(`this agent's sessions in ${from} did not all end, so moving off it is tried again at the next start.`);
|
|
199
206
|
return;
|
|
@@ -202,6 +209,7 @@ export const moveOffSharedMutagen = async (mutagen, log, seams) => {
|
|
|
202
209
|
if (count > 0) {
|
|
203
210
|
log(`moved off Mutagen's shared data directory (${from}): carried ${moved.carried.length} of this agent's ${plan.sync.length} sync session(s) to ${mutagenDataDir} with what they had synced${moved.remade.length > 0 ? `, the rest are made again there` : ""}, and ended its ${plan.terminateForwards.length} forward(s), which are made again${plan.othersRemain ? ". Everything else in it is left running" : ""}.`);
|
|
204
211
|
}
|
|
205
|
-
await recordMove(
|
|
212
|
+
await recordMove();
|
|
213
|
+
await rm(pausedBeforePath, { force: true });
|
|
206
214
|
};
|
|
207
215
|
//# sourceMappingURL=mutagen-move.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen-move.js","sourceRoot":"","sources":["../../src/sync/mutagen-move.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutagen-move.js","sourceRoot":"","sources":["../../src/sync/mutagen-move.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/mutagen.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export type Ownership = "ours" | "theirs" | "unlabelled";
|
|
|
21
21
|
export declare const ownershipOf: (labels: Readonly<Record<string, string>> | undefined, owner: string) => Ownership;
|
|
22
22
|
export declare const sessionName: (key: string) => string;
|
|
23
23
|
export declare const backupSessionName: (key: string) => string;
|
|
24
|
-
export declare const syncSessionNames: (pairing: Pick<Pairing, "sandboxId" | "project"
|
|
24
|
+
export declare const syncSessionNames: (pairing: Pick<Pairing, "sandboxId" | "project">) => readonly string[];
|
|
25
25
|
export declare const forwardSessionName: (sandboxId: string, port: number) => string;
|
|
26
26
|
export interface ListedSession {
|
|
27
27
|
readonly name: string;
|
|
@@ -135,13 +135,8 @@ export interface SessionState {
|
|
|
135
135
|
export declare const readSessionState: (mutagen: string, name: string) => SessionState;
|
|
136
136
|
export declare const sessionStateOf: (session: LiveSession | undefined) => SessionState;
|
|
137
137
|
export declare const existingSyncSessions: (mutagen: string, names: readonly string[]) => string[] | undefined;
|
|
138
|
-
export declare const
|
|
139
|
-
export declare const pauseRunningSessions: (mutagen: string, pairing: Pairing) => readonly string[] | undefined;
|
|
138
|
+
export declare const pauseSessions: (mutagen: string, names: readonly string[]) => boolean;
|
|
140
139
|
export declare const resumeSessions: (mutagen: string, names: readonly string[]) => Promise<boolean>;
|
|
141
|
-
export declare const resumeNamedSessions: (mutagen: string, names: readonly string[]) => Promise<boolean>;
|
|
142
|
-
export declare const resumeSwapPausedSync: (mutagen: string, pairing: Pairing) => Promise<boolean>;
|
|
143
|
-
export declare const resumeAutoPausedSync: (mutagen: string, pairing: Pairing) => Promise<boolean>;
|
|
144
|
-
export declare const resumeWatcherPausedSync: (mutagen: string, pairing: Pairing) => Promise<boolean>;
|
|
145
140
|
export declare const sameEnds: (session: Pick<LiveSession, "alpha" | "beta">, spec: SyncSessionSpec) => boolean;
|
|
146
141
|
export declare const liveMode: (session: Pick<LiveSession, "mode">) => string;
|
|
147
142
|
export declare const liveWatchMode: (session: Pick<LiveSession, "alpha" | "beta" | "watch">, from: SyncSessionSpec["from"]) => string;
|
|
@@ -151,11 +146,11 @@ export interface RelabelBudget {
|
|
|
151
146
|
readonly take: () => boolean;
|
|
152
147
|
}
|
|
153
148
|
export declare const relabelBudget: (count: number) => RelabelBudget;
|
|
154
|
-
export declare const ensureSyncSession: (mutagen: string, pairing: Pairing, log: Log, relabels?: RelabelBudget) => Promise<boolean>;
|
|
149
|
+
export declare const ensureSyncSession: (mutagen: string, pairing: Pairing, log: Log, held: boolean, relabels?: RelabelBudget) => Promise<boolean>;
|
|
155
150
|
export declare const sessionSpecs: (pairing: Pairing & {
|
|
156
151
|
readonly localDir: string;
|
|
157
152
|
}, symlinks: SymlinkMode, owner?: string) => readonly SyncSessionSpec[];
|
|
158
|
-
export declare const strayBackupSessions: (pairing: Pick<Pairing, "sandboxId" | "project"
|
|
153
|
+
export declare const strayBackupSessions: (pairing: Pick<Pairing, "sandboxId" | "project">, live: readonly string[]) => string[];
|
|
159
154
|
export declare const surplusSessions: (sessions: readonly LiveSession[]) => string[];
|
|
160
155
|
export declare const convergePlan: (sessions: readonly LiveSession[], spec: SyncSessionSpec) => "keep" | "create" | "replace" | "relabel";
|
|
161
156
|
export declare const settlesFirst: (spec: Pick<SyncSessionSpec, "mode">, live: readonly Pick<LiveSession, "mode">[]) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,oBAAoB,CAAC;AAMtE,OAAO,KAAK,EAAE,cAAc,EAA8C,MAAM,4CAA4C,CAAC;AAC7H,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAsC,KAAK,OAAO,EAAkD,MAAM,aAAa,CAAC;AAC/H,OAAO,EAAuF,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAK1I,OAAO,EAAwB,KAAK,cAAc,EAAuB,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAK9C,eAAO,MAAM,yBAAyB,QAAa,CAAC;AAGpD,eAAO,MAAM,cAAc,cAAc,CAAC;AAQ1C,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAK5C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,cAAe,MAAM,QAAQ,WAAW,UAAS,MAAM,KAAoB,aAInG,CAAC;AAIH,eAAO,MAAM,SAAS,WAAY,aAAa,GAAG,SAAS,KAAG,MAAM,EAG+E,CAAC;AAIpJ,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AACzD,eAAO,MAAM,WAAW,WAAY,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,SAAS,MAAM,KAAG,SAGjG,CAAC;AAKF,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAA+C,CAAC;AAI1F,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,MAAqC,CAAC;AAMtF,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,SAAS,MAAM,EAGjG,CAAC;AAKF,eAAO,MAAM,kBAAkB,cAAe,MAAM,QAAQ,MAAM,KAAG,MAA6D,CAAC;AAMnI,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAID,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,aAAa,EAOnD,CAAC;AAmBX,eAAO,MAAM,kBAAkB,WAAY,MAAM,SAAS,SAAS,MAAM,EAAE,UAAU,MAAM,SAAS,MAAM,KAAG,MAAM,EAMlH,CAAC;AAOF,eAAO,MAAM,iBAAiB,WAAY,MAAM,cAAc,MAAM,UAAU,MAAM,KAAG,MAAM,EAO5F,CAAC;AAIF,eAAO,MAAM,uBAAuB,WAAY,MAAM,kBAAkB,SAAS,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAMjH,CAAC;AAKF,eAAO,MAAM,oBAAoB,WAAY,MAAM,QAAQ,SAAS,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAGpG,CAAC;AA4BF,eAAO,MAAM,iBAAiB,QAAS,GAAG,GAAG,SAAS,KAAG,IAExD,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,GAAG,GAAG,SAAsB,CAAC;AAK/D,eAAO,MAAM,mBAAmB,WAAY,MAAM,KAAG,OAAwC,CAAC;AAE9F,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,OAAmE,CAAC;AAIpH,eAAO,MAAM,iBAAiB,WAAY,MAAM,OAAO,MAAM,eAAe,MAAM,KAAG,OACZ,CAAC;AAI1E,eAAO,MAAM,eAAe,WAAY,MAAM,WAAW,OAAO,OAAO,MAAM,aAAa,MAAM,KAAG,OACxB,CAAC;AAI5E,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAC6D,CAAC;AA4CnH,eAAO,MAAM,kBAAkB,YAAa,MAAM,cAAc,MAAM,KAAG,MAAM,EAAE,GAAG,SAGnF,CAAC;AAIF,eAAO,MAAM,iBAAiB,WAAY,MAAM,aAAa,MAAM,UAAU,MAAM,KAAG,MAAM,EAItF,CAAC;AAGP,eAAO,MAAM,cAAc,YAAa,MAAM,aAAa,MAAM,KAAG,MAAM,EAAE,GAAG,SAG9E,CAAC;AAKF,eAAO,MAAM,kBAAkB,SAAU;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC/C,KAAG,MAAM,EAQT,CAAC;AAKF,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAG3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAIpC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAGnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAI/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC/C;AAGD,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAOlF,eAAO,MAAM,QAAQ,YAAa,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC,KAAG,cAAc,GAAG,cACiB,CAAC;AAI9G,eAAO,MAAM,WAAW,YAAa,OAAO,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,YAAY,WAAW,UAAU,MAAM,KAAG,eAWpH,CAAC;AA8CH,eAAO,MAAM,iBAAiB,SAAU,eAAe,UAAU,OAAO,KAAG,MAAM,EA6BhF,CAAC;AAWF,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,UAAU,UAAU;IAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAGD,UAAU,YAAY;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAChD;AAID,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAGD,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC9B;AAKD,eAAO,MAAM,YAAY,QAAS,YAAY,KAAG,MAAoE,CAAC;AAEtH,MAAM,WAAW,WAAW;IAGxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAE3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAI7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAEhF,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAE7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AAcD,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,WAAW,EAAE,GAAG,SAAsC,CAAC;AAuBzG,eAAO,MAAM,cAAc,aAAc,SAAS,WAAW,EAAE,KAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAQhG,CAAC;AAKF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAgErC,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD;AAID,eAAO,MAAM,oBAAoB,YAAa,MAAM,QAAQ,MAAM,KAAG,gBAAgB,GAAG,YAAY,GAAG,SAOtG,CAAC;AAKF,eAAO,MAAM,YAAY,YAAmB,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAE9E,CAAC;AAEF,eAAO,MAAM,aAAa,YACb,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,KAC9D;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,SAM/C,CAAC;AAIF,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC3D;AAED,eAAO,MAAM,gBAAgB,YAAa,MAAM,QAAQ,MAAM,KAAG,YAGb,CAAC;AAGrD,eAAO,MAAM,cAAc,YAAa,WAAW,GAAG,SAAS,KAAG,YAajE,CAAC;AAMF,eAAO,MAAM,oBAAoB,YAAa,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,MAAM,EAAE,GAAG,SAO3F,CAAC;AAGF,eAAO,MAAM,aAAa,YAAa,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,OACsE,CAAC;AAMjJ,eAAO,MAAM,cAAc,YAAmB,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAO/F,CAAC;AAOF,eAAO,MAAM,QAAQ,YAAa,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,eAAe,KAAG,OAW9F,CAAC;AAIF,eAAO,MAAM,QAAQ,YAAa,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAAG,MAAwC,CAAC;AAQvG,eAAO,MAAM,aAAa,YAAa,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,eAAe,CAAC,MAAM,CAAC,KAAG,MAC5C,CAAC;AAE3E,eAAO,MAAM,eAAe,YAAa,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,eAAe,CAAC,MAAM,CAAC,KAAG,MACN,CAAC;AAOnH,eAAO,MAAM,kBAAkB,YAAa,WAAW,QAAQ,eAAe,KAAG,OAYhF,CAAC;AASF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,aAW7C,CAAC;AASF,eAAO,MAAM,iBAAiB,YACjB,MAAM,WACN,OAAO,OACX,GAAG,QACF,OAAO,aACH,aAAa,KACxB,OAAO,CAAC,OAAO,CAuBjB,CAAC;AAkCF,eAAO,MAAM,YAAY,YAAa,OAAO,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,YAAY,WAAW,UAAU,MAAM,KAAG,SAAS,eAAe,EAGxD,CAAC;AAKxF,eAAO,MAAM,mBAAmB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,EACV,CAAC;AAkB5G,eAAO,MAAM,eAAe,aAAc,SAAS,WAAW,EAAE,KAAG,MAAM,EACiC,CAAC;AAuB3G,eAAO,MAAM,YAAY,aAAc,SAAS,WAAW,EAAE,QAAQ,eAAe,KAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAStH,CAAC;AAeF,eAAO,MAAM,YAAY,SAAU,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,SAAS,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAG,OACd,CAAC;AA0DlG,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,KAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAKxI,CAAC;AAIF,eAAO,MAAM,kBAAkB,aAAc,SAAS,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,QAAQ,MAAM,KAAG,MAAM,EAG9F,CAAC;AA6EjB,eAAO,MAAM,oBAAoB,YAAmB,MAAM,WAAW,OAAO,OAAO,GAAG,sBAAkB,OAAO,CAAC,cAAc,CAmB7H,CAAC;AAQF,eAAO,MAAM,oBAAoB,YAAa,MAAM,YAAY,SAAS,OAAO,EAAE,OAAO,GAAG,UAAS,MAAM,KAAoB,IAiC9H,CAAC;AAKF,eAAO,MAAM,eAAe,YAAmB,MAAM,QAAQ,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,OAAO,CAAC,IAAI,CAUtG,CAAC;AAMF,eAAO,MAAM,UAAU,YAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,gBAAgB,CAAC,MAAM,CASnF,CAAC;AAOF,eAAO,MAAM,iBAAiB,0BAA0B,CAAC"}
|
package/dist/sync/mutagen.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
-
import { createHash } from "node:crypto";
|
|
3
2
|
import { join } from "node:path";
|
|
4
3
|
import { errorMessage } from "@intentic/base/errors";
|
|
5
4
|
import { plural } from "@intentic/base/format";
|
|
@@ -10,7 +9,7 @@ import { clearAdoptFolder, isProjectPairing, pairingKey, pairingRemoteDir, proje
|
|
|
10
9
|
import { dockerEndpointAnswers, liveIdentity, mutagenForwardUrl, mutagenUrl, pairingEndpoint } from "./endpoint.js";
|
|
11
10
|
import { labelValue, sessionOwner } from "./environment.js";
|
|
12
11
|
import { runProcess, runProcessSync } from "./exec.js";
|
|
13
|
-
import {
|
|
12
|
+
import { mutagenEnv } from "./mutagen-env.js";
|
|
14
13
|
import { projectShell, realProjectRunner, sandboxCopy } from "./project/project-remote.js";
|
|
15
14
|
import { clearConflictResidue, sweepDerivedResidue } from "./residue.js";
|
|
16
15
|
import { BACKUP_IGNORES, ignoresFor, mutagenSshPath, sanitizeId, sshTransportAnswers } from "./ssh.js";
|
|
@@ -33,20 +32,9 @@ export const ownershipOf = (labels, owner) => {
|
|
|
33
32
|
const said = labels?.[OWNER_LABEL];
|
|
34
33
|
return said === undefined || said === "" ? "unlabelled" : said === owner ? "ours" : "theirs";
|
|
35
34
|
};
|
|
36
|
-
export const sessionName = (key) => {
|
|
37
|
-
const at = key.lastIndexOf("~");
|
|
38
|
-
if (at === -1) {
|
|
39
|
-
return `${SESSION_PREFIX}${sanitizeId(key)}`;
|
|
40
|
-
}
|
|
41
|
-
const name = key.slice(at + 1);
|
|
42
|
-
const hash = createHash("sha256").update(name).digest("hex").slice(0, 8);
|
|
43
|
-
return `${SESSION_PREFIX}${sanitizeId(key.slice(0, at))}--${sanitizeId(name)}-${hash}`;
|
|
44
|
-
};
|
|
35
|
+
export const sessionName = (key) => `${SESSION_PREFIX}${sanitizeId(key)}`;
|
|
45
36
|
export const backupSessionName = (key) => `${sessionName(key)}-state`;
|
|
46
37
|
export const syncSessionNames = (pairing) => {
|
|
47
|
-
if (pairing.projectsHost === true) {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
38
|
const key = pairingKey(pairing);
|
|
51
39
|
return isProjectPairing(pairing) ? [sessionName(key)] : [sessionName(key), backupSessionName(key)];
|
|
52
40
|
};
|
|
@@ -315,31 +303,7 @@ export const existingSyncSessions = (mutagen, names) => {
|
|
|
315
303
|
const held = new Set(oursIn(listed, SESSION_PREFIX, sessionOwner()));
|
|
316
304
|
return names.filter((name) => held.has(name));
|
|
317
305
|
};
|
|
318
|
-
export const
|
|
319
|
-
if (pairing.mode !== "sync") {
|
|
320
|
-
return false;
|
|
321
|
-
}
|
|
322
|
-
const names = existingSyncSessions(mutagen, syncSessionNames(pairing));
|
|
323
|
-
if (names === undefined || names.every((name) => readSessionState(mutagen, name).paused === true)) {
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
const result = runProcessSync(mutagen, ["sync", "pause", ...names], { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS, quiet: true });
|
|
327
|
-
return result.status === 0;
|
|
328
|
-
};
|
|
329
|
-
export const pauseRunningSessions = (mutagen, pairing) => {
|
|
330
|
-
if (pairing.mode !== "sync") {
|
|
331
|
-
return [];
|
|
332
|
-
}
|
|
333
|
-
const names = existingSyncSessions(mutagen, syncSessionNames(pairing));
|
|
334
|
-
if (names === undefined) {
|
|
335
|
-
return undefined;
|
|
336
|
-
}
|
|
337
|
-
const running = names.filter((name) => readSessionState(mutagen, name).paused !== true);
|
|
338
|
-
if (running.length === 0) {
|
|
339
|
-
return [];
|
|
340
|
-
}
|
|
341
|
-
return runProcessSync(mutagen, ["sync", "pause", ...running], { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS, quiet: true }).status === 0 ? running : undefined;
|
|
342
|
-
};
|
|
306
|
+
export const pauseSessions = (mutagen, names) => names.length === 0 || runProcessSync(mutagen, ["sync", "pause", ...names], { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS, quiet: true }).status === 0;
|
|
343
307
|
export const resumeSessions = async (mutagen, names) => {
|
|
344
308
|
for (const name of names) {
|
|
345
309
|
await runProcess(mutagen, ["sync", "resume", name], { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS });
|
|
@@ -347,22 +311,6 @@ export const resumeSessions = async (mutagen, names) => {
|
|
|
347
311
|
const after = names.length === 0 ? [] : listSessions(mutagen, names);
|
|
348
312
|
return after !== undefined && !after.some((session) => session.paused === true);
|
|
349
313
|
};
|
|
350
|
-
export const resumeNamedSessions = async (mutagen, names) => {
|
|
351
|
-
const held = names.length === 0 ? [] : existingSyncSessions(mutagen, names);
|
|
352
|
-
return held !== undefined && (await resumeSessions(mutagen, held));
|
|
353
|
-
};
|
|
354
|
-
export const resumeSwapPausedSync = async (mutagen, pairing) => {
|
|
355
|
-
const names = pairing.fileSyncLowDisk === undefined ? existingSyncSessions(mutagen, syncSessionNames(pairing)) : undefined;
|
|
356
|
-
return names !== undefined && (await resumeSessions(mutagen, names));
|
|
357
|
-
};
|
|
358
|
-
export const resumeAutoPausedSync = async (mutagen, pairing) => {
|
|
359
|
-
if (pairing.mode !== "sync" || pairing.fileSyncAutoPaused !== true || pairing.fileSyncLowDisk !== undefined) {
|
|
360
|
-
return false;
|
|
361
|
-
}
|
|
362
|
-
const names = existingSyncSessions(mutagen, syncSessionNames(pairing));
|
|
363
|
-
return names !== undefined && names.length > 0 && (await resumeSessions(mutagen, names));
|
|
364
|
-
};
|
|
365
|
-
export const resumeWatcherPausedSync = async (mutagen, pairing) => await resumeSwapPausedSync(mutagen, pairing);
|
|
366
314
|
export const sameEnds = (session, spec) => {
|
|
367
315
|
const local = {
|
|
368
316
|
protocol: "local",
|
|
@@ -400,12 +348,12 @@ export const relabelBudget = (count) => {
|
|
|
400
348
|
};
|
|
401
349
|
};
|
|
402
350
|
const NO_RELABELS = { take: () => false };
|
|
403
|
-
export const ensureSyncSession = async (mutagen, pairing, log, relabels = NO_RELABELS) => {
|
|
351
|
+
export const ensureSyncSession = async (mutagen, pairing, log, held, relabels = NO_RELABELS) => {
|
|
404
352
|
if (pairing.mode !== "sync" || pairing.localDir === undefined) {
|
|
405
353
|
return true;
|
|
406
354
|
}
|
|
407
|
-
const
|
|
408
|
-
if (pairing.adoptFolder === true && !(await adoptBeforeFirstSession(mutagen,
|
|
355
|
+
const placed = { ...pairing, localDir: pairing.localDir };
|
|
356
|
+
if (pairing.adoptFolder === true && !(await adoptBeforeFirstSession(mutagen, placed, log))) {
|
|
409
357
|
return false;
|
|
410
358
|
}
|
|
411
359
|
const symlinks = await deviceSymlinks();
|
|
@@ -414,8 +362,8 @@ export const ensureSyncSession = async (mutagen, pairing, log, relabels = NO_REL
|
|
|
414
362
|
}
|
|
415
363
|
let converged = true;
|
|
416
364
|
const answers = transportAnswers(pairing);
|
|
417
|
-
for (const spec of sessionSpecs(
|
|
418
|
-
converged = (await convergeSession(mutagen, spec, log, answers, relabels)) && converged;
|
|
365
|
+
for (const spec of sessionSpecs(placed, symlinks.mode, sessionOwner())) {
|
|
366
|
+
converged = (await convergeSession(mutagen, spec, { log, answers, relabels, held })) && converged;
|
|
419
367
|
}
|
|
420
368
|
retireStrayBackup(mutagen, pairing, log);
|
|
421
369
|
return converged;
|
|
@@ -520,7 +468,7 @@ export const transportAnswers = (pairing) => {
|
|
|
520
468
|
export const terminationTargets = (sessions, name) => sessions.length > 0 && sessions.every((session) => session.identifier !== undefined)
|
|
521
469
|
? sessions.flatMap((session) => session.identifier ?? [])
|
|
522
470
|
: [name];
|
|
523
|
-
const convergeSession = async (mutagen, spec, log, answers, relabels) => {
|
|
471
|
+
const convergeSession = async (mutagen, spec, { log, answers, relabels, held }) => {
|
|
524
472
|
const listed = readSessions(mutagen, spec.name);
|
|
525
473
|
if (listed === undefined) {
|
|
526
474
|
log(`${spec.name}: Mutagen did not answer a listing, so this session is left as it is this pass. Retrying later.`);
|
|
@@ -542,7 +490,6 @@ const convergeSession = async (mutagen, spec, log, answers, relabels) => {
|
|
|
542
490
|
if (plan === "relabel" && !relabels.take()) {
|
|
543
491
|
return false;
|
|
544
492
|
}
|
|
545
|
-
const live = sessions.length === 1 ? sessions[0] : undefined;
|
|
546
493
|
if (sessions.length > 1) {
|
|
547
494
|
log(`${spec.name}: ${sessions.length} sync sessions share this name, which conflict with each other; replacing them with one.`);
|
|
548
495
|
}
|
|
@@ -563,23 +510,16 @@ const convergeSession = async (mutagen, spec, log, answers, relabels) => {
|
|
|
563
510
|
: `${spec.name}: the running sync session does not match this build's rules (its ignores, its folder, which way it syncs, or what it does with symbolic links): recreating it so they apply, as ${spec.mode}. This starts the comparison from scratch.`);
|
|
564
511
|
await runProcess(mutagen, ["sync", "terminate", ...terminationTargets(sessions, spec.name)], { timeoutMs: MUTAGEN_CALL_TIMEOUT_MS });
|
|
565
512
|
}
|
|
566
|
-
await
|
|
513
|
+
await runMutagenAsync(mutagen, mutagenCreateArgs(spec, held), log);
|
|
567
514
|
return true;
|
|
568
515
|
};
|
|
569
|
-
const createSession = async (mutagen, spec, replaced, log) => {
|
|
570
|
-
const carried = replaced === undefined && (await carriedPause(spec.name));
|
|
571
|
-
await runMutagenAsync(mutagen, mutagenCreateArgs(spec, replaced?.paused === true || carried), log);
|
|
572
|
-
if (carried) {
|
|
573
|
-
await dropCarriedPause(spec.name);
|
|
574
|
-
}
|
|
575
|
-
};
|
|
576
516
|
const SWEEP_TIMEOUT_MS = 60_000;
|
|
577
517
|
export const healDerivedConflicts = async (mutagen, pairing, log, asked = false) => {
|
|
578
518
|
const idle = { removed: [], standing: 0 };
|
|
579
519
|
if (pairing.mode !== "sync" || pairing.localDir === undefined || syncMode(pairing) !== "two-way-safe") {
|
|
580
520
|
return idle;
|
|
581
521
|
}
|
|
582
|
-
if (!asked &&
|
|
522
|
+
if (!asked && pairing.autoHealOff === true) {
|
|
583
523
|
return idle;
|
|
584
524
|
}
|
|
585
525
|
const held = readSessionConflicts(mutagen, sessionName(pairingKey(pairing)));
|