@intentic/machine 1.322.0 → 1.323.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 CHANGED
@@ -38,8 +38,8 @@ flowchart LR
38
38
  - **sync** (`src/sync/`): `sync setup` enrolls this machine and runs Mutagen against the sandbox: over ssh to its
39
39
  sshd, reached through a loopback port tunnelled over a WebSocket, or, for a project whose sandbox container runs on
40
40
  this machine's own Docker engine, through Docker itself (below). It keeps a folder two-way synced (a project
41
- copy-first, below), forwards every workspace port to the same localhost port, and fast-forwards local git clones
42
- from the sandbox.
41
+ copy-first, below), forwards every workspace port to the same localhost port (see [Mirrored ports](#mirrored-ports)),
42
+ and fast-forwards local git clones from the sandbox.
43
43
  - A **project pairing** (`sync setup --remote-dir /work/<name> --project`, what the desktop app asks for when it
44
44
  makes a sandbox for a folder the owner picked) syncs that folder with `/work/<name>` rather than `/work`, and nothing
45
45
  of the sandbox's is written into it: no state backup session, no git bridge, and an ignore list that keeps a
@@ -66,9 +66,30 @@ flowchart LR
66
66
  - Only the resident agent creates Mutagen sessions: `setup` records the pairing and waits for the session to
67
67
  appear, since two creators racing left one name holding two identical sessions. The agent keeps one session per
68
68
  name, terminating any extras, and recreates a session whose rules drifted (its ignores, its folders, its sync mode,
69
- its symlink mode). A two-way session replaced by another waits until no conflicts are left and has its derived
70
- residue swept first; every other replacement happens as soon as the sandbox answers (`settlesFirst` in
71
- [`sync/mutagen.ts`](src/sync/mutagen.ts) says why for each).
69
+ its symlink mode, how often it scans the sandbox). A two-way session replaced by another waits until no conflicts
70
+ are left and has its derived residue swept first; every other replacement happens as soon as the sandbox answers
71
+ (`settlesFirst` in [`sync/mutagen.ts`](src/sync/mutagen.ts) says why for each).
72
+ - **What file sync costs this device is cycles, and the sandbox's side decides how many.** Mutagen's agent in the
73
+ sandbox has no recursive watcher, and both sessions force it to poll (`--watch-mode-<side> force-poll`): every 2 s
74
+ for the workspace, which is how late an agent's edit reaches the folder, and every 60 s for the state backup, which
75
+ nobody waits on. Mutagen's own mode there (`portable`) would also rescan on every write to any of the 50 paths that
76
+ changed last, which no interval bounds. Each scan that finds a change is a cycle here, and a cycle's cost follows
77
+ the size of the tree rather than of the change: the daemon reads the sandbox's whole snapshot again and reconciles
78
+ all of it. This device's side watches for real, but Mutagen's watcher wakes on every write under the folder, ignored
79
+ paths included, so the backup landing in `.intentic` wakes the workspace session too. The report reads every session
80
+ in one `sync list`.
81
+
82
+ (2026-10-02) Measured on Windows with Mutagen 0.18.1, its daemon isolated and a container standing in for the
83
+ sandbox (a 9k-file workspace, a 15k-entry state dir with three transcripts growing by 6 KB a second, an edit every
84
+ 3 s and a build a minute, three minutes a run). Before: the daemon spent 30% of a core and the sandbox's agent 22%.
85
+ With only the transcripts growing, it was 25%, and 386 of the workspace session's cycles had been woken by the backup
86
+ with no workspace change at all. Either half alone barely moved it: a 60 s interval left 22% (312 backup cycles,
87
+ since `portable` rescans on writes), forced polling every 2 s left 20%. Both together: 2.6% and 2.5%, 6 backup
88
+ cycles, and the workspace's own edits cost exactly what they did before (120 cycles, 1.9%). Idle, the sandbox's
89
+ agent went from 5.5% to 1.6%. Moving the backup out of the folder was measured too and rejected: it removes only the
90
+ woken cycles, and the copy belongs where the owner already looks. So were `--hash xxh128` and `--compression none`
91
+ on top (5.3 s of the daemon's CPU against 5.2 s): no gain worth recreating every session for, or tying the agent to
92
+ a Mutagen build with its SSPL-licensed extras.
72
93
  - `setup` replaces what this agent's `known_hosts` holds for the pairing's alias (hashed entries included): with the
73
94
  host key the enrollment carries when it carries one (a sandbox reads its sshd's public key off its history volume and
74
95
  answers with it, `SyncEnrollmentAnswerSchema` in the contract), else with nothing, so `accept-new` records the key
@@ -114,6 +135,32 @@ flowchart LR
114
135
  - The install shims only put a first binary down and run `setup`; `install.ts` decides the rest. `status --json`
115
136
  is what the desktop app's tray reads.
116
137
 
138
+ ### Mirrored ports
139
+
140
+ Every workspace port a paired sandbox listens on is forwarded to the same port on this device's localhost
141
+ ([`sync/mirror.ts`](src/sync/mirror.ts)). The watcher reads each sandbox's ports every five seconds. A port it does not
142
+ put on localhost is still reported, with its reason:
143
+
144
+ - `busy`: something on this machine holds the number. That is a process bound to it now, a container on this
145
+ machine's Docker that publishes it, or a holder seen too recently (below).
146
+ - `held-by-sandbox`: another sandbox paired here already mirrors it.
147
+ - `ignored`: this device was told to leave the number alone, by `intentic-machine sync mirror ignore --sandbox <id>
148
+ --port <n>` (without `--sandbox`, for every pairing). `unignore` hands it back, and it is mirrored once it is free.
149
+
150
+ Two rules cover what a bind probe cannot see, a holder that is down for a moment:
151
+
152
+ - **A port any container on this machine's Docker publishes is never mirrored**: a running container's, and a stopped
153
+ one's whose restart policy (`always` or `unless-stopped`) brings it back by itself. A forward already on such a port
154
+ is taken down. Docker is asked (`docker ps`, then `docker inspect`) at most every 30 seconds; when it cannot be asked,
155
+ the next rule holds alone. A container's name appears in the agent's log, never in a report.
156
+ - **A port seen busy stays skipped until it has been free for 15 minutes**, which covers a Docker restart. Its `busy`
157
+ row in `sync.json` is the memory, so an agent restarted meanwhile still holds the port off, and starts the 15 minutes
158
+ over. A port held by another paired sandbox's forward is filed `held-by-sandbox` instead, and waits for nothing.
159
+
160
+ (2026-10-02) Both rules replaced trusting one instant's bind probe on 127.0.0.1, which handed the host's own Postgres
161
+ port to a sandbox during a Docker Desktop restart. The agent came back first and found 5440 free before Docker had
162
+ published it again; Docker's own publish then failed for good, and the host's API read the sandbox's empty database.
163
+
117
164
  ### Copy-first projects
118
165
 
119
166
  A project's folder flows **one way**, this device to the sandbox, so nothing an agent does in `/work/<name>` (an
@@ -0,0 +1,10 @@
1
+ import type { Log } from "@intentic/local-agent";
2
+ import { type ExecResult } from "./exec.js";
3
+ export type PublishedPorts = ReadonlyMap<number, string>;
4
+ export declare const INSPECT_FORMAT = "{{.Name}}|{{.State.Running}}|{{.HostConfig.RestartPolicy.Name}}|{{json .HostConfig.PortBindings}}";
5
+ export declare const parsePublishedPorts: (stdout: string) => PublishedPorts;
6
+ export type RunDocker = (args: readonly string[]) => Promise<ExecResult>;
7
+ export declare const readPublishedPorts: (docker?: RunDocker) => Promise<PublishedPorts | undefined>;
8
+ export declare const DOCKER_ANSWER_MS = 30000;
9
+ export declare const publishedPortsReader: (log: Log, read?: () => Promise<PublishedPorts | undefined>, now?: () => number) => (() => Promise<PublishedPorts | undefined>);
10
+ //# sourceMappingURL=docker-ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-ports.d.ts","sourceRoot":"","sources":["../../src/sync/docker-ports.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,WAAW,CAAC;AAWxD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAIzD,eAAO,MAAM,cAAc,sGAAsG,CAAC;AA2DlI,eAAO,MAAM,mBAAmB,WAAY,MAAM,KAAG,cAapD,CAAC;AAMF,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAQzE,eAAO,MAAM,kBAAkB,YAAkB,SAAS,KAAe,OAAO,CAAC,cAAc,GAAG,SAAS,CAW1G,CAAC;AAIF,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAIvC,eAAO,MAAM,oBAAoB,QACxB,GAAG,SACF,MAAM,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,QAC1C,MAAM,MAAM,KAClB,CAAC,MAAM,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAiB5C,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { errorMessage } from "@intentic/base/errors";
2
+ import { z } from "zod";
3
+ import { runProcess } from "./exec.js";
4
+ export const INSPECT_FORMAT = "{{.Name}}|{{.State.Running}}|{{.HostConfig.RestartPolicy.Name}}|{{json .HostConfig.PortBindings}}";
5
+ const COMES_BACK = new Set(["always", "unless-stopped"]);
6
+ const HOLDS_LOOPBACK = new Set(["", "0.0.0.0", "::", "127.0.0.1", "::1"]);
7
+ const BindingsSchema = z.record(z.string(), z.array(z.object({ HostIp: z.string().optional(), HostPort: z.string().optional() })).nullable()).nullable();
8
+ const hostPorts = (hostPort) => {
9
+ const range = /^(\d+)(?:-(\d+))?$/.exec(hostPort ?? "");
10
+ const low = Number(range?.[1]);
11
+ const high = range?.[2] === undefined ? low : Number(range[2]);
12
+ if (!(low >= 1 && high >= low && high <= 65_535)) {
13
+ return [];
14
+ }
15
+ return Array.from({ length: high - low + 1 }, (_, index) => low + index);
16
+ };
17
+ const parseBindings = (json) => {
18
+ try {
19
+ return BindingsSchema.safeParse(JSON.parse(json)).data;
20
+ }
21
+ catch {
22
+ return undefined;
23
+ }
24
+ };
25
+ const publisherOf = (line) => {
26
+ const [named, running, policy, ...json] = line.trim().split("|");
27
+ if (named === undefined || running === undefined || policy === undefined || json.length === 0) {
28
+ return undefined;
29
+ }
30
+ const name = named.replace(/^\//, "");
31
+ if (running !== "true" && !COMES_BACK.has(policy)) {
32
+ return { name, ports: new Set() };
33
+ }
34
+ const ports = Object.values(parseBindings(json.join("|")) ?? {})
35
+ .flatMap((listed) => listed ?? [])
36
+ .filter((binding) => HOLDS_LOOPBACK.has(binding.HostIp ?? ""))
37
+ .flatMap((binding) => hostPorts(binding.HostPort));
38
+ return { name, ports: new Set(ports) };
39
+ };
40
+ export const parsePublishedPorts = (stdout) => {
41
+ const published = new Map();
42
+ const publishers = stdout
43
+ .split(/\r?\n/)
44
+ .map(publisherOf)
45
+ .filter((publisher) => publisher !== undefined);
46
+ for (const { name, ports } of publishers) {
47
+ for (const port of ports) {
48
+ const named = published.get(port);
49
+ published.set(port, named === undefined ? name : `${named}, ${name}`);
50
+ }
51
+ }
52
+ return published;
53
+ };
54
+ const DOCKER_TIMEOUT_MS = 5000;
55
+ const runDocker = async (args) => await runProcess("docker", args, { timeoutMs: DOCKER_TIMEOUT_MS });
56
+ export const readPublishedPorts = async (docker = runDocker) => {
57
+ const listed = await docker(["ps", "--all", "--quiet"]);
58
+ if (listed.status !== 0) {
59
+ return undefined;
60
+ }
61
+ const ids = listed.stdout.split(/\s+/).filter((id) => id !== "");
62
+ if (ids.length === 0) {
63
+ return new Map();
64
+ }
65
+ const inspected = await docker(["inspect", "--format", INSPECT_FORMAT, ...ids]);
66
+ return inspected.status === 0 ? parsePublishedPorts(inspected.stdout) : undefined;
67
+ };
68
+ export const DOCKER_ANSWER_MS = 30_000;
69
+ export const publishedPortsReader = (log, read = readPublishedPorts, now = Date.now) => {
70
+ let held;
71
+ const ask = async () => {
72
+ try {
73
+ return await read();
74
+ }
75
+ catch (error) {
76
+ log(` asking Docker which ports it publishes failed: ${errorMessage(error)}`);
77
+ return undefined;
78
+ }
79
+ };
80
+ return async () => {
81
+ const at = now();
82
+ if (held === undefined || at - held.at >= DOCKER_ANSWER_MS) {
83
+ held = { at, answer: await ask() };
84
+ }
85
+ return held.answer;
86
+ };
87
+ };
88
+ //# sourceMappingURL=docker-ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-ports.js","sourceRoot":"","sources":["../../src/sync/docker-ports.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Log } from "@intentic/local-agent";
2
2
  import { type PortSummary } from "@intentic/sandbox-contract";
3
3
  import { type MirroredPort, type Pairing, type SkippedPort } from "./config.js";
4
+ import { type PublishedPorts } from "./docker-ports.js";
4
5
  export declare const shouldAutoPauseFileSync: (unreachableForMs: number) => boolean;
5
6
  export declare const pollBackoffMs: (unreachableForMs: number) => number;
6
7
  interface Unreachable {
@@ -16,9 +17,20 @@ export interface ForwardExecutor {
16
17
  readonly create: (summary: PortSummary) => Promise<void>;
17
18
  readonly isLocalPortFree: (port: number) => Promise<boolean>;
18
19
  }
19
- export declare const reconcileForwards: (executor: ForwardExecutor, current: readonly MirroredPort[], desired: readonly PortSummary[], claimedBy: ReadonlyMap<number, string>, ignored: ReadonlySet<number>, log: Log) => Promise<MirroredPort[]>;
20
+ export declare const BUSY_GRACE_MS: number;
21
+ export interface LocalHolds {
22
+ readonly docker: PublishedPorts | undefined;
23
+ readonly wasBusy: ReadonlySet<number>;
24
+ readonly freeSince: Map<number, number>;
25
+ readonly now: number;
26
+ }
27
+ export declare const reconcileForwards: (executor: ForwardExecutor, current: readonly MirroredPort[], desired: readonly PortSummary[], claimedBy: ReadonlyMap<number, string>, ignored: ReadonlySet<number>, holds: LocalHolds, log: Log) => Promise<MirroredPort[]>;
20
28
  export declare const strandedForwards: (held: readonly number[], mirrored: readonly MirroredPort[]) => number[];
21
29
  export declare const skippedPortsOf: (desired: readonly PortSummary[], mirrored: readonly MirroredPort[], claimedBy: ReadonlyMap<number, string>, ignored: ReadonlySet<number>) => SkippedPort[];
30
+ export declare const recordedForwards: (pairings: readonly Pick<Pairing, "sandboxId" | "mirroredPorts">[]) => Map<number, string>;
31
+ export declare const handOver: (holding: Map<number, string>, sandboxId: string, mirrored: readonly MirroredPort[]) => void;
32
+ export declare const othersHolding: (holding: ReadonlyMap<number, string>, sandboxId: string) => ReadonlyMap<number, string>;
33
+ export declare const busyLastPass: (pairing: Pick<Pairing, "skippedPorts">) => ReadonlySet<number>;
22
34
  export declare const unpreparedSetups: (pairings: readonly Pairing[], prepared: ReadonlySet<string>) => Pairing[];
23
35
  export declare const markPrepared: (prepared: Set<string>, pairing: Pairing) => void;
24
36
  export declare const runMirrorWatch: (log: Log) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"mirror.d.ts","sourceRoot":"","sources":["../../src/sync/mirror.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAuB,KAAK,WAAW,EAAmB,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,OAAO,EAKZ,KAAK,WAAW,EAEnB,MAAM,aAAa,CAAC;AAwDrB,eAAO,MAAM,uBAAuB,qBAAsB,MAAM,KAAG,OAAmD,CAAC;AAMvH,eAAO,MAAM,aAAa,qBAAsB,MAAM,KAAG,MAC+B,CAAC;AAGzF,UAAU,WAAW;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAID,eAAO,MAAM,OAAO,SAAU,WAAW,GAAG,SAAS,OAAO,MAAM,KAAG,OACY,CAAC;AAIlF,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAI3C,eAAO,MAAM,mBAAmB,SAAgB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,WAAW,EAAE,CAchG,CAAC;AAYF,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE;AAiDD,eAAO,MAAM,iBAAiB,aAChB,eAAe,WAChB,SAAS,YAAY,EAAE,WACvB,SAAS,WAAW,EAAE,aACpB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAC7B,WAAW,CAAC,MAAM,CAAC,OACvB,GAAG,KACT,OAAO,CAAC,YAAY,EAAE,CAqCxB,CAAC;AAWF,eAAO,MAAM,gBAAgB,SAAU,SAAS,MAAM,EAAE,YAAY,SAAS,YAAY,EAAE,KAAG,MAAM,EAGnG,CAAC;AAqCF,eAAO,MAAM,cAAc,YACd,SAAS,WAAW,EAAE,YACrB,SAAS,YAAY,EAAE,aACtB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAC7B,WAAW,CAAC,MAAM,CAAC,KAC7B,WAAW,EAWb,CAAC;AAoMF,eAAO,MAAM,gBAAgB,aAAc,SAAS,OAAO,EAAE,YAAY,WAAW,CAAC,MAAM,CAAC,KAAG,OAAO,EAC3C,CAAC;AAE5D,eAAO,MAAM,YAAY,aAAc,GAAG,CAAC,MAAM,CAAC,WAAW,OAAO,KAAG,IAA2C,CAAC;AAyKnH,eAAO,MAAM,cAAc,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CA+F3D,CAAC;AAqBF,eAAO,MAAM,mBAAmB,YAAmB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAA+C,CAAC;AAO7I,eAAO,MAAM,kBAAkB,YAAmB,MAAM,aAAa,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAwB1G,CAAC;AAIF,eAAO,MAAM,mBAAmB,YAAmB,MAAM,OAAO,GAAG,KAAG,OAAO,CAAC,IAAI,CAGjF,CAAC"}
1
+ {"version":3,"file":"mirror.d.ts","sourceRoot":"","sources":["../../src/sync/mirror.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { mirrorHeartbeatPath, readState, removePairing, setFileSyncAutoPaused, s
9
9
  import { pairingEndpoint } from "./endpoint.js";
10
10
  import { createDaemonBases, dialedPairings } from "../daemon-base.js";
11
11
  import { readSwapRecords } from "../device/sandbox-rounds/swap-records.js";
12
+ import { publishedPortsReader } from "./docker-ports.js";
12
13
  import { realBridgeExec, runGitBridge } from "./git-bridge.js";
13
14
  import { ensureMutagen, ensureSyncSession, existingSyncSessions, forwardedPorts, forwardSessionName, healDerivedConflicts, mutagenForwardArgs, ourForwardSessions, pauseRunningSync, pauseUnreachableSync, retireOrphanSessions, resumeAutoPausedSync, resumeSwapPausedSync, runMutagenAsync, syncMode, syncSessionNames, } from "./mutagen.js";
14
15
  import { quieted } from "./repeats.js";
@@ -56,13 +57,19 @@ const mutagenExecutor = (mutagen, pairing, log) => ({
56
57
  }), log),
57
58
  isLocalPortFree: localPortFree,
58
59
  });
59
- const retireForwards = (executor, current, desiredByPort, ignored, log) => {
60
+ export const BUSY_GRACE_MS = 15 * 60_000;
61
+ const retireForwards = (executor, current, desiredByPort, ignored, docker, log) => {
60
62
  for (const mirrored of current) {
61
63
  const match = desiredByPort.get(mirrored.port);
64
+ const publishers = docker?.get(mirrored.port);
62
65
  if (ignored.has(mirrored.port)) {
63
66
  executor.terminate(mirrored.port);
64
67
  log(` localhost:${mirrored.port}: stopped (this device is set not to mirror that port)`);
65
68
  }
69
+ else if (publishers !== undefined) {
70
+ executor.terminate(mirrored.port);
71
+ log(` localhost:${mirrored.port}: stopped (a Docker container on this machine publishes that port: ${publishers})`);
72
+ }
66
73
  else if (match === undefined) {
67
74
  executor.terminate(mirrored.port);
68
75
  log(` localhost:${mirrored.port}: stopped (no longer listening in the sandbox)`);
@@ -72,15 +79,39 @@ const retireForwards = (executor, current, desiredByPort, ignored, log) => {
72
79
  }
73
80
  }
74
81
  };
75
- export const reconcileForwards = async (executor, current, desired, claimedBy, ignored, log) => {
82
+ const mayTake = async (executor, summary, holds, log) => {
83
+ const listening = summary.command ?? "unknown process";
84
+ if (!(await executor.isLocalPortFree(summary.port))) {
85
+ holds.freeSince.delete(summary.port);
86
+ log(` localhost:${summary.port} is busy on this machine: skipped (${listening})`);
87
+ return false;
88
+ }
89
+ if (!holds.wasBusy.has(summary.port)) {
90
+ return true;
91
+ }
92
+ const since = holds.freeSince.get(summary.port) ?? holds.now;
93
+ holds.freeSince.set(summary.port, since);
94
+ if (holds.now - since >= BUSY_GRACE_MS) {
95
+ return true;
96
+ }
97
+ log(` localhost:${summary.port} was busy on this machine until recently: holding off until it has stayed free for ${BUSY_GRACE_MS / 60_000} minutes (${listening})`);
98
+ return false;
99
+ };
100
+ export const reconcileForwards = async (executor, current, desired, claimedBy, ignored, holds, log) => {
76
101
  const desiredByPort = new Map(desired.map((port) => [port.port, port]));
77
- retireForwards(executor, current, desiredByPort, ignored, log);
102
+ retireForwards(executor, current, desiredByPort, ignored, holds.docker, log);
78
103
  const currentByPort = new Map(current.map((mirrored) => [mirrored.port, mirrored]));
79
104
  const next = [];
80
105
  for (const summary of desired) {
81
106
  if (ignored.has(summary.port)) {
82
107
  continue;
83
108
  }
109
+ const publishers = holds.docker?.get(summary.port);
110
+ if (publishers !== undefined) {
111
+ holds.freeSince.delete(summary.port);
112
+ log(` localhost:${summary.port} is published by a Docker container on this machine (${publishers}): skipped (${summary.command ?? "unknown process"})`);
113
+ continue;
114
+ }
84
115
  const existing = currentByPort.get(summary.port);
85
116
  if (existing !== undefined && existing.host === summary.host) {
86
117
  next.push(existing);
@@ -94,11 +125,11 @@ export const reconcileForwards = async (executor, current, desired, claimedBy, i
94
125
  if (existing === undefined) {
95
126
  executor.terminate(summary.port);
96
127
  }
97
- if (!(await executor.isLocalPortFree(summary.port))) {
98
- log(` localhost:${summary.port} is busy on this machine: skipped (${summary.command ?? "unknown process"})`);
128
+ if (!(await mayTake(executor, summary, holds, log))) {
99
129
  continue;
100
130
  }
101
131
  await executor.create(summary);
132
+ holds.freeSince.delete(summary.port);
102
133
  next.push({ port: summary.port, host: summary.host, command: summary.command });
103
134
  log(` localhost:${summary.port} ← ${summary.command ?? "unknown process"}`);
104
135
  }
@@ -141,6 +172,18 @@ export const skippedPortsOf = (desired, mirrored, claimedBy, ignored) => {
141
172
  return { port: summary.port, host: summary.host, reason, heldBy: reason === "held-by-sandbox" ? heldBy : undefined, command: summary.command };
142
173
  });
143
174
  };
175
+ export const recordedForwards = (pairings) => new Map(pairings.flatMap((held) => (held.mirroredPorts ?? []).map((port) => [port.port, held.sandboxId])));
176
+ export const handOver = (holding, sandboxId, mirrored) => {
177
+ for (const [port, holder] of holding) {
178
+ if (holder === sandboxId) {
179
+ holding.delete(port);
180
+ }
181
+ }
182
+ for (const port of mirrored) {
183
+ holding.set(port.port, sandboxId);
184
+ }
185
+ };
186
+ export const othersHolding = (holding, sandboxId) => new Map([...holding].filter(([, holder]) => holder !== sandboxId));
144
187
  const beat = async () => await writeFileAtomic(mirrorHeartbeatPath, String(Date.now())).catch(() => { });
145
188
  const savePorts = async (sandboxId, mirroredPorts, skippedPorts) => await updateState((state) => ({
146
189
  pairings: state.pairings.map((held) => (held.sandboxId === sandboxId ? { ...held, mirroredPorts, skippedPorts } : held)),
@@ -153,7 +196,14 @@ const retireSwitchedOff = async (mutagen, pairing, log) => {
153
196
  await retirePairingMirror(mutagen, pairing.sandboxId);
154
197
  log(` ${pairing.sandboxId}: port mirroring is off on this device; took ${plural(mirrored.length, "port")} off localhost.`);
155
198
  };
156
- const servePairing = async (mutagen, pairing, base, claimedBy, log) => {
199
+ export const busyLastPass = (pairing) => new Set((pairing.skippedPorts ?? []).filter((skipped) => skipped.reason === "busy").map((skipped) => skipped.port));
200
+ const holdsFor = async (memory, pairing) => {
201
+ const freeSince = memory.freeSince.get(pairing.sandboxId) ?? new Map();
202
+ memory.freeSince.set(pairing.sandboxId, freeSince);
203
+ return { docker: await memory.dockerPorts(), wasBusy: busyLastPass(pairing), freeSince, now: Date.now() };
204
+ };
205
+ const servePairing = async (context, pairing, base) => {
206
+ const { mutagen, claimedBy, holding, holders, say: log } = context;
157
207
  const baseline = pairing.mirroredPorts ?? [];
158
208
  const ports = pairing.syncToken === undefined ? [] : await fetchWorkspacePorts(base, pairing.syncToken);
159
209
  if (pairing.mirrorOff === true) {
@@ -161,8 +211,9 @@ const servePairing = async (mutagen, pairing, base, claimedBy, log) => {
161
211
  return [];
162
212
  }
163
213
  const ignored = new Set(pairing.ignoredPorts ?? []);
164
- const next = await reconcileForwards(mutagenExecutor(mutagen, pairing, log), baseline, ports, claimedBy, ignored, log);
165
- const skipped = skippedPortsOf(ports, next, claimedBy, ignored);
214
+ const holds = await holdsFor(holders, pairing);
215
+ const next = await reconcileForwards(mutagenExecutor(mutagen, pairing, log), baseline, ports, claimedBy, ignored, holds, log);
216
+ const skipped = skippedPortsOf(ports, next, othersHolding(holding, pairing.sandboxId), ignored);
166
217
  if (!sameMirrorSet(baseline, next) || !sameSkippedSet(pairing.skippedPorts ?? [], skipped)) {
167
218
  await savePorts(pairing.sandboxId, next, skipped);
168
219
  }
@@ -311,12 +362,12 @@ const holdSyncDuringSwaps = async (mutagen, pairings, unreachable, say) => {
311
362
  return held;
312
363
  };
313
364
  const runPairingPass = async (context, pairing, base) => {
314
- const { mutagen, tick, claimedBy, tracking, bases, swapHeld, say } = context;
365
+ const { mutagen, tick, claimedBy, holding, tracking, bases, swapHeld, say } = context;
315
366
  const { rejectedPolls, unreachable, repos } = tracking;
316
367
  const swapping = swapHeld.has(pairing.sandboxId);
317
368
  let pausedThisPass = false;
318
369
  try {
319
- const mirrored = await servePairing(mutagen, pairing, base, claimedBy, say);
370
+ const mirrored = await servePairing(context, pairing, base);
320
371
  rejectedPolls.delete(pairing.sandboxId);
321
372
  unreachable.delete(pairing.sandboxId);
322
373
  if (!swapping && resumeAutoPausedSync(mutagen, pairing)) {
@@ -326,6 +377,7 @@ const runPairingPass = async (context, pairing, base) => {
326
377
  for (const port of mirrored) {
327
378
  claimedBy.set(port.port, pairing.sandboxId);
328
379
  }
380
+ handOver(holding, pairing.sandboxId, mirrored);
329
381
  if (tick % STRANDED_SWEEP_EVERY_TICKS === 0) {
330
382
  sweepStrandedForwards(mutagen, pairing.sandboxId, mirrored, say);
331
383
  }
@@ -378,6 +430,7 @@ export const runMirrorWatch = async (log) => {
378
430
  const unreachable = new Map();
379
431
  const repos = new Map();
380
432
  const tracking = { rejectedPolls, unreachable, repos, sessionsPending };
433
+ const holders = { dockerPorts: publishedPortsReader(say), freeSince: new Map() };
381
434
  const reportUnsupported = new Set();
382
435
  for (let tick = 0;; tick += 1) {
383
436
  const state = await readState().catch((error) => {
@@ -402,11 +455,12 @@ export const runMirrorWatch = async (log) => {
402
455
  swapHeld = await holdSyncDuringSwaps(mutagen, state.pairings, unreachable, say);
403
456
  });
404
457
  const claimedBy = new Map();
458
+ const holding = recordedForwards(state.pairings);
405
459
  for (const { pairing, base } of dialed) {
406
460
  if (!pollDue(unreachable.get(pairing.sandboxId), Date.now())) {
407
461
  continue;
408
462
  }
409
- await runPairingPass({ mutagen, tick, claimedBy, tracking, bases, swapHeld, say }, pairing, base);
463
+ await runPairingPass({ mutagen, tick, claimedBy, holding, tracking, bases, swapHeld, holders, say }, pairing, base);
410
464
  }
411
465
  if (tick % REPORT_EVERY_TICKS === 0) {
412
466
  await guard(say, "posting this machine's reports", async () => await postReports(dialed, mutagen, reportUnsupported, say));
@@ -1 +1 @@
1
- {"version":3,"file":"mirror.js","sourceRoot":"","sources":["../../src/sync/mirror.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mirror.js","sourceRoot":"","sources":["../../src/sync/mirror.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export interface SyncSessionSpec {
30
30
  readonly ignores: readonly string[];
31
31
  readonly from: "local" | "sandbox";
32
32
  readonly symlinks: SymlinkMode;
33
+ readonly pollSeconds: number;
33
34
  }
34
35
  export type SyncSessionMode = "two-way-safe" | "one-way-safe" | "one-way-replica";
35
36
  export declare const syncMode: (pairing: Pick<Pairing, "project" | "direction">) => "two-way-safe" | "one-way-safe";
@@ -50,14 +51,21 @@ interface LiveConflict {
50
51
  readonly alphaChanges?: readonly LiveChange[];
51
52
  readonly betaChanges?: readonly LiveChange[];
52
53
  }
54
+ interface LiveWatch {
55
+ readonly mode?: string;
56
+ readonly pollingInterval?: number;
57
+ }
53
58
  export interface LiveEndpoint {
54
59
  readonly protocol?: string;
55
60
  readonly host?: string;
56
61
  readonly path?: string;
62
+ readonly watch?: LiveWatch;
57
63
  }
58
64
  export declare const liveProtocol: (end: LiveEndpoint) => string;
59
65
  export interface LiveSession {
66
+ readonly name?: string;
60
67
  readonly mode?: string;
68
+ readonly watch?: LiveWatch;
61
69
  readonly identifier?: string;
62
70
  readonly alpha: LiveEndpoint;
63
71
  readonly beta: LiveEndpoint;
@@ -73,6 +81,8 @@ export interface LiveSession {
73
81
  readonly conflicts?: readonly LiveConflict[];
74
82
  readonly excludedConflicts?: number;
75
83
  }
84
+ export declare const readAllSessions: (mutagen: string) => LiveSession[];
85
+ export declare const sessionsByName: (sessions: readonly LiveSession[]) => ReadonlyMap<string, LiveSession>;
76
86
  export declare const CONFLICT_PATHS_MAX = 24;
77
87
  export interface SessionConflicts {
78
88
  readonly ignores: readonly string[];
@@ -84,13 +94,15 @@ export declare const conflictsFrom: (session: Pick<LiveSession, "conflicts" | "e
84
94
  count: number;
85
95
  paths: DeviceConflict[];
86
96
  } | undefined;
87
- export declare const readSessionState: (mutagen: string, name: string) => {
88
- exists: boolean;
89
- status?: string | undefined;
90
- paused?: boolean | undefined;
91
- conflicts?: number | undefined;
92
- conflictedPaths?: DeviceConflict[] | undefined;
93
- };
97
+ export interface SessionState {
98
+ readonly exists: boolean;
99
+ readonly status?: string | undefined;
100
+ readonly paused?: boolean | undefined;
101
+ readonly conflicts?: number | undefined;
102
+ readonly conflictedPaths?: DeviceConflict[] | undefined;
103
+ }
104
+ export declare const readSessionState: (mutagen: string, name: string) => SessionState;
105
+ export declare const sessionStateOf: (session: LiveSession | undefined) => SessionState;
94
106
  export declare const existingSyncSessions: (mutagen: string, names: readonly string[]) => string[];
95
107
  export declare const pauseRunningSync: (mutagen: string, pairing: Pairing) => boolean;
96
108
  export declare const pauseUnreachableSync: typeof pauseRunningSync;
@@ -98,6 +110,8 @@ export declare const resumeSwapPausedSync: (mutagen: string, pairing: Pairing) =
98
110
  export declare const resumeAutoPausedSync: (mutagen: string, pairing: Pairing) => boolean;
99
111
  export declare const sameEnds: (session: Pick<LiveSession, "alpha" | "beta">, spec: SyncSessionSpec) => boolean;
100
112
  export declare const liveMode: (session: Pick<LiveSession, "mode">) => string;
113
+ export declare const liveWatchMode: (session: Pick<LiveSession, "alpha" | "beta" | "watch">, from: SyncSessionSpec["from"]) => string;
114
+ export declare const livePollSeconds: (session: Pick<LiveSession, "alpha" | "beta" | "watch">, from: SyncSessionSpec["from"]) => number;
101
115
  export declare const sessionMatchesSpec: (session: LiveSession, spec: SyncSessionSpec) => boolean;
102
116
  export declare const ensureSyncSession: (mutagen: string, pairing: Pairing, log: Log) => Promise<boolean>;
103
117
  export declare const sessionSpecs: (pairing: Pairing & {
@@ -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;AAOtE,OAAO,KAAK,EAAE,cAAc,EAA8C,MAAM,4BAA4B,CAAC;AAC7G,OAAO,EACH,KAAK,WAAW,EAEhB,KAAK,GAAG,EAKX,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAA0C,KAAK,OAAO,EAAsC,MAAM,aAAa,CAAC;AACvH,OAAO,EAAuF,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE1I,OAAO,EAAwB,KAAK,cAAc,EAAuB,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AASjE,eAAO,MAAM,WAAW,cAAe,MAAM,KAAG,MAAqD,CAAC;AAItG,eAAO,MAAM,iBAAiB,cAAe,MAAM,KAAG,MAA2C,CAAC;AAMlG,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,SAAS,MAAM,EACuC,CAAC;AAK1I,eAAO,MAAM,kBAAkB,cAAe,MAAM,QAAQ,MAAM,KAAG,MAA6D,CAAC;AAWnI,eAAO,MAAM,iBAAiB,WAAY,MAAM,cAAc,MAAM,KAAG,MAAM,EAO5E,CAAC;AAIF,eAAO,MAAM,uBAAuB,WAAY,MAAM,kBAAkB,SAAS,MAAM,EAAE,KAAG,MAAM,EAMjG,CAAC;AAKF,eAAO,MAAM,oBAAoB,WAAY,MAAM,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,EAGpF,CAAC;AASF,eAAO,MAAM,kBAAkB,YAAa,MAAM,cAAc,MAAM,KAAG,MAAM,EACT,CAAC;AAIvE,eAAO,MAAM,iBAAiB,WAAY,MAAM,aAAa,MAAM,KAAG,MAAM,EAItE,CAAC;AAEP,eAAO,MAAM,cAAc,YAAa,MAAM,aAAa,MAAM,KAAG,MAAM,EAAwE,CAAC;AASnJ,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;CACzB,KAAG,MAAM,EAOT,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;CAClC;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,KAAG,eASpG,CAAC;AAwBH,eAAO,MAAM,iBAAiB,SAAU,eAAe,UAAU,OAAO,KAAG,MAAM,EA0BhF,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;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;CAC1B;AAKD,eAAO,MAAM,YAAY,QAAS,YAAY,KAAG,MAAoE,CAAC;AAEtH,MAAM,WAAW,WAAW;IAGxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,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;CACvC;AAgBD,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;AAED,eAAO,MAAM,oBAAoB,YAAa,MAAM,QAAQ,MAAM,KAAG,gBAAgB,GAAG,SAGvF,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,eAAO,MAAM,gBAAgB,YAChB,MAAM,QACT,MAAM,KACb;IACC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAiBlD,CAAC;AAIF,eAAO,MAAM,oBAAoB,YAAa,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,MAAM,EAGtF,CAAC;AAMF,eAAO,MAAM,gBAAgB,YAAa,MAAM,WAAW,OAAO,KAAG,OAWpE,CAAC;AAEF,eAAO,MAAM,oBAAoB,yBAAmB,CAAC;AAGrD,eAAO,MAAM,oBAAoB,YAAa,MAAM,WAAW,OAAO,KAAG,OAMxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,WAAW,OAAO,KAAG,OAUxE,CAAC;AAOF,eAAO,MAAM,QAAQ,YAAa,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,eAAe,KAAG,OAO9F,CAAC;AAIF,eAAO,MAAM,QAAQ,YAAa,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAAG,MAAwC,CAAC;AAKvG,eAAO,MAAM,kBAAkB,YAAa,WAAW,QAAQ,eAAe,KAAG,OAUhF,CAAC;AAMF,eAAO,MAAM,iBAAiB,YAAmB,MAAM,WAAW,OAAO,OAAO,GAAG,KAAG,OAAO,CAAC,OAAO,CAoBpG,CAAC;AAGF,eAAO,MAAM,YAAY,YAAa,OAAO,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,YAAY,WAAW,KAAG,SAAS,eAAe,EACG,CAAC;AAKnI,eAAO,MAAM,mBAAmB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,EACZ,CAAC;AAe1G,eAAO,MAAM,eAAe,aAAc,SAAS,WAAW,EAAE,KAAG,MAAM,EACiC,CAAC;AAmB3G,eAAO,MAAM,YAAY,aAAc,SAAS,WAAW,EAAE,QAAQ,eAAe,KAAG,MAAM,GAAG,QAAQ,GAAG,SAM1G,CAAC;AAeF,eAAO,MAAM,YAAY,SAAU,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,SAAS,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAG,OACd,CAAC;AAsDlG,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;AAkDF,eAAO,MAAM,oBAAoB,YAAmB,MAAM,WAAW,OAAO,OAAO,GAAG,sBAAkB,OAAO,CAAC,cAAc,CAmB7H,CAAC;AAIF,eAAO,MAAM,oBAAoB,YAAa,MAAM,YAAY,SAAS,OAAO,EAAE,OAAO,GAAG,KAAG,IAe9F,CAAC;AAkCF,eAAO,MAAM,cAAc,QAAO,MAAuC,CAAC;AAK1E,eAAO,MAAM,YAAY,YAAa,MAAM,QAAO,MAAM,aAA+B,MAAM,CAAC,QAAQ,KAAsB,OAG5H,CAAC;AAIF,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,CAwBpD,CAAC;AAKF,eAAO,MAAM,eAAe,YAAmB,MAAM,QAAQ,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,OAAO,CAAC,IAAI,CAUtG,CAAC;AAIF,eAAO,MAAM,UAAU,YAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,gBAAgB,CAAC,MAAM,CASnF,CAAC;AAIF,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AAIzD,eAAO,MAAM,wBAAwB,YAAa,MAAM,YAAY,WAAW,OAAO,GAAG,KAAG,IAe3F,CAAC;AAIF,eAAO,MAAM,0BAA0B,YAAa,MAAM,KAAG,IAO5D,CAAC"}
1
+ {"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export const sessionSpec = (pairing, symlinks) => ({
71
71
  ignores: ignoresFor(pairing),
72
72
  from: "local",
73
73
  symlinks,
74
+ pollSeconds: SANDBOX_POLL_SECONDS,
74
75
  });
75
76
  const backupSpec = (pairing, symlinks) => ({
76
77
  name: backupSessionName(pairing.sandboxId),
@@ -81,8 +82,12 @@ const backupSpec = (pairing, symlinks) => ({
81
82
  ignores: BACKUP_IGNORES,
82
83
  from: "sandbox",
83
84
  symlinks,
85
+ pollSeconds: BACKUP_POLL_SECONDS,
84
86
  });
85
87
  const SANDBOX_POLL_SECONDS = 2;
88
+ const SANDBOX_WATCH_MODE = "force-poll";
89
+ const BACKUP_POLL_SECONDS = 60;
90
+ const MUTAGEN_DEFAULT_POLL_SECONDS = 10;
86
91
  export const mutagenCreateArgs = (spec, paused) => {
87
92
  const local = spec.localDir;
88
93
  const remote = mutagenUrl(spec.remote, spec.remoteDir);
@@ -98,8 +103,10 @@ export const mutagenCreateArgs = (spec, paused) => {
98
103
  spec.symlinks,
99
104
  ...(paused ? ["--paused"] : []),
100
105
  ...spec.ignores.flatMap((pattern) => ["--ignore", pattern]),
106
+ `--watch-mode-${sandboxSide}`,
107
+ SANDBOX_WATCH_MODE,
101
108
  `--watch-polling-interval-${sandboxSide}`,
102
- String(SANDBOX_POLL_SECONDS),
109
+ String(spec.pollSeconds),
103
110
  "--stage-mode-beta",
104
111
  "neighboring",
105
112
  ...(spec.from === "local" ? [local, remote] : [remote, local]),
@@ -107,10 +114,21 @@ export const mutagenCreateArgs = (spec, paused) => {
107
114
  };
108
115
  const UNTRACKED = "untracked";
109
116
  export const liveProtocol = (end) => end.protocol ?? (end.host === undefined ? "local" : "ssh");
110
- const readSessions = (mutagen, name) => {
111
- const result = spawnSync(mutagen, ["sync", "list", "--template", "{{json .}}", name], { encoding: "utf8", windowsHide: true });
117
+ const readSessions = (mutagen, name) => listSessions(mutagen, [name]);
118
+ export const readAllSessions = (mutagen) => listSessions(mutagen, []);
119
+ const listSessions = (mutagen, names) => {
120
+ const result = spawnSync(mutagen, ["sync", "list", "--template", "{{json .}}", ...names], { encoding: "utf8", windowsHide: true });
112
121
  return result.status === 0 ? (JSON.parse(result.stdout) ?? []) : [];
113
122
  };
123
+ export const sessionsByName = (sessions) => {
124
+ const byName = new Map();
125
+ for (const session of sessions) {
126
+ if (session.name !== undefined && !byName.has(session.name)) {
127
+ byName.set(session.name, session);
128
+ }
129
+ }
130
+ return byName;
131
+ };
114
132
  export const CONFLICT_PATHS_MAX = 24;
115
133
  const REPOSITORY = ".git";
116
134
  const isRepository = (path) => (path ?? "").split("/").includes(REPOSITORY);
@@ -162,8 +180,8 @@ export const conflictsFrom = (session) => {
162
180
  const count = listed.length + (Number.isFinite(excluded) ? excluded : 0);
163
181
  return count === 0 ? undefined : { count, paths: listed.slice(0, CONFLICT_PATHS_MAX).map(conflictedPath) };
164
182
  };
165
- export const readSessionState = (mutagen, name) => {
166
- const session = readSessions(mutagen, name)[0];
183
+ export const readSessionState = (mutagen, name) => sessionStateOf(readSessions(mutagen, name)[0]);
184
+ export const sessionStateOf = (session) => {
167
185
  if (session === undefined) {
168
186
  return { exists: false };
169
187
  }
@@ -218,9 +236,14 @@ export const sameEnds = (session, spec) => {
218
236
  return matches(session.alpha, alpha) && matches(session.beta, beta);
219
237
  };
220
238
  export const liveMode = (session) => session.mode ?? "two-way-safe";
239
+ const sandboxWatch = (session, from) => (from === "local" ? session.beta : session.alpha).watch;
240
+ export const liveWatchMode = (session, from) => sandboxWatch(session, from)?.mode ?? session.watch?.mode ?? "portable";
241
+ export const livePollSeconds = (session, from) => sandboxWatch(session, from)?.pollingInterval ?? session.watch?.pollingInterval ?? MUTAGEN_DEFAULT_POLL_SECONDS;
221
242
  export const sessionMatchesSpec = (session, spec) => {
222
243
  return (sameEnds(session, spec) &&
223
244
  liveMode(session) === spec.mode &&
245
+ liveWatchMode(session, spec.from) === SANDBOX_WATCH_MODE &&
246
+ livePollSeconds(session, spec.from) === spec.pollSeconds &&
224
247
  session.ignore.vcs !== true &&
225
248
  (session.ignore.paths ?? []).join("\n") === spec.ignores.join("\n") &&
226
249
  (session.symlink?.mode ?? "portable") === spec.symlinks);
@@ -1 +1 @@
1
- {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { DeviceAgent, DeviceReport } from "@intentic/sandbox-contract";
2
2
  import { type SyncState } from "./config.js";
3
- export declare const buildReport: (state: SyncState, mutagen: string | undefined, agent: DeviceAgent, capturedAt: number, wsl?: {
3
+ import { type LiveSession } from "./mutagen.js";
4
+ export type LiveSessions = ReadonlyMap<string, LiveSession>;
5
+ export declare const buildReport: (state: SyncState, sessions: LiveSessions | undefined, agent: DeviceAgent, capturedAt: number, wsl?: {
4
6
  readonly distro: string;
5
7
  } | undefined, machine?: string | undefined) => DeviceReport;
6
8
  export declare const deviceReport: (mutagen: string | undefined) => Promise<DeviceReport>;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAA6B,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAKvG,OAAO,EAAkE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAiF7G,eAAO,MAAM,WAAW,UACb,SAAS,WACP,MAAM,GAAG,SAAS,SACpB,WAAW,cACN,MAAM,QACZ;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,YACnC,MAAM,GAAG,SAAS,KAC7B,YAWD,CAAC;AAGH,eAAO,MAAM,YAAY,YAAmB,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,YAAY,CAGpF,CAAC;AAIF,eAAO,MAAM,YAAY,WAAY,YAAY,aAAa,MAAM,KAAG,YAIrE,CAAC;AAGH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAkF,CAAC;AAGpJ,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,YAAY,CAA8C,CAAC"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAA6B,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAKvG,OAAO,EAAkE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAoC,KAAK,WAAW,EAAgE,MAAM,cAAc,CAAC;AAyBhJ,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AA4D5D,eAAO,MAAM,WAAW,UACb,SAAS,YACN,YAAY,GAAG,SAAS,SAC3B,WAAW,cACN,MAAM,QACZ;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,YACnC,MAAM,GAAG,SAAS,KAC7B,YAWD,CAAC;AAGH,eAAO,MAAM,YAAY,YAAmB,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,YAAY,CAMpF,CAAC;AAIF,eAAO,MAAM,YAAY,WAAY,YAAY,aAAa,MAAM,KAAG,YAIrE,CAAC;AAGH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAkF,CAAC;AAGpJ,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,YAAY,CAA8C,CAAC"}
@@ -6,7 +6,7 @@ import { installedBuild } from "../installed.js";
6
6
  import { machineId } from "../machine-id.js";
7
7
  import { wslEnvironment } from "../wsl.js";
8
8
  import { isProjectPairing, mirrorHeartbeatPath, readState } from "./config.js";
9
- import { backupSessionName, ensureMutagen, readSessionState, sessionName } from "./mutagen.js";
9
+ import { backupSessionName, ensureMutagen, readAllSessions, sessionName, sessionsByName, sessionStateOf } from "./mutagen.js";
10
10
  const lastTick = async () => {
11
11
  const raw = await readFile(mirrorHeartbeatPath, "utf8").catch(() => undefined);
12
12
  const stamped = Number(raw?.trim());
@@ -16,14 +16,14 @@ const agentState = async (installed) => {
16
16
  const [resident, lastTickAt] = await Promise.all([livePidRecord(runPidPath), lastTick()]);
17
17
  return { running: resident !== undefined, pid: resident?.pid, build: resident?.build, installed, lastTickAt };
18
18
  };
19
- const pairingReport = (mutagen, pairing) => {
19
+ const pairingReport = (sessions, pairing) => {
20
20
  const mirroring = pairing.mirrorOff === true ? "off" : "on";
21
21
  const remote = pairing.remoteDir === undefined ? {} : { remoteDir: pairing.remoteDir };
22
- if (pairing.mode !== "sync" || mutagen === undefined) {
22
+ if (pairing.mode !== "sync" || sessions === undefined) {
23
23
  return { sandboxId: pairing.sandboxId, mode: pairing.mode, localDir: pairing.localDir, ...remote, mirroring };
24
24
  }
25
- const session = readSessionState(mutagen, sessionName(pairing.sandboxId));
26
- const backup = isProjectPairing(pairing) ? undefined : readSessionState(mutagen, backupSessionName(pairing.sandboxId));
25
+ const session = sessionStateOf(sessions.get(sessionName(pairing.sandboxId)));
26
+ const backup = isProjectPairing(pairing) ? undefined : sessionStateOf(sessions.get(backupSessionName(pairing.sandboxId)));
27
27
  return {
28
28
  sandboxId: pairing.sandboxId,
29
29
  mode: pairing.mode,
@@ -54,19 +54,21 @@ const portRows = (pairing) => [
54
54
  command: port.command,
55
55
  })),
56
56
  ];
57
- export const buildReport = (state, mutagen, agent, capturedAt, wsl, machine) => ({
57
+ export const buildReport = (state, sessions, agent, capturedAt, wsl, machine) => ({
58
58
  ...(machine === undefined ? {} : { machineId: machine }),
59
59
  hostname: hostname(),
60
60
  os: platform(),
61
61
  ...(wsl === undefined ? {} : { wsl }),
62
- pairings: state.pairings.map((pairing) => pairingReport(mutagen, pairing)),
62
+ pairings: state.pairings.map((pairing) => pairingReport(sessions, pairing)),
63
63
  ports: state.pairings.flatMap(portRows),
64
64
  agent,
65
65
  capturedAt,
66
66
  });
67
67
  export const deviceReport = async (mutagen) => {
68
68
  const [state, agent, wsl] = await Promise.all([readState(), agentState(installedBuild()), wslEnvironment()]);
69
- return buildReport(state, mutagen, agent, Date.now(), wsl, machineId());
69
+ const syncing = mutagen !== undefined && state.pairings.some((pairing) => pairing.mode === "sync");
70
+ const sessions = syncing ? sessionsByName(readAllSessions(mutagen)) : undefined;
71
+ return buildReport(state, sessions, agent, Date.now(), wsl, machineId());
70
72
  };
71
73
  export const scopedReport = (report, sandboxId) => ({
72
74
  ...report,
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/machine",
3
- "version": "1.322.0",
3
+ "version": "1.323.0",
4
4
  "description": "The one agent that lives on a user's own device: lets an intentic sandbox work on it (outbound WebSocket, MCP tools, scopes enforced here) and keeps folders and ports mirrored with it (Mutagen over tunnel SSH, or through Docker for a project on this machine)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,13 +20,13 @@
20
20
  "intentic-machine": "./dist/cli.js"
21
21
  },
22
22
  "dependencies": {
23
- "@intentic/base": "1.322.0",
24
- "@intentic/browser": "1.322.0",
25
- "@intentic/constants": "1.322.0",
26
- "@intentic/desktop-automation": "1.322.0",
27
- "@intentic/local-agent": "1.322.0",
28
- "@intentic/sandbox-contract": "1.322.0",
29
- "@intentic/sandbox-run": "1.322.0",
23
+ "@intentic/base": "1.323.0",
24
+ "@intentic/browser": "1.323.0",
25
+ "@intentic/constants": "1.323.0",
26
+ "@intentic/desktop-automation": "1.323.0",
27
+ "@intentic/local-agent": "1.323.0",
28
+ "@intentic/sandbox-contract": "1.323.0",
29
+ "@intentic/sandbox-run": "1.323.0",
30
30
  "@orpc/server": "1.15.4",
31
31
  "@stricli/core": "1.3.0",
32
32
  "tslib": "2.8.1",