@intentic/machine 1.321.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.
Files changed (49) hide show
  1. package/README.md +77 -8
  2. package/dist/sync/commands.d.ts +4 -1
  3. package/dist/sync/commands.d.ts.map +1 -1
  4. package/dist/sync/commands.js +67 -14
  5. package/dist/sync/commands.js.map +1 -1
  6. package/dist/sync/config.d.ts +8 -1
  7. package/dist/sync/config.d.ts.map +1 -1
  8. package/dist/sync/config.js +13 -0
  9. package/dist/sync/config.js.map +1 -1
  10. package/dist/sync/docker-ports.d.ts +10 -0
  11. package/dist/sync/docker-ports.d.ts.map +1 -0
  12. package/dist/sync/docker-ports.js +88 -0
  13. package/dist/sync/docker-ports.js.map +1 -0
  14. package/dist/sync/endpoint.d.ts +34 -0
  15. package/dist/sync/endpoint.d.ts.map +1 -0
  16. package/dist/sync/endpoint.js +47 -0
  17. package/dist/sync/endpoint.js.map +1 -0
  18. package/dist/sync/mirror.d.ts +13 -1
  19. package/dist/sync/mirror.d.ts.map +1 -1
  20. package/dist/sync/mirror.js +68 -13
  21. package/dist/sync/mirror.js.map +1 -1
  22. package/dist/sync/mutagen.d.ts +33 -17
  23. package/dist/sync/mutagen.d.ts.map +1 -1
  24. package/dist/sync/mutagen.js +57 -26
  25. package/dist/sync/mutagen.js.map +1 -1
  26. package/dist/sync/project-commands.d.ts.map +1 -1
  27. package/dist/sync/project-commands.js +4 -3
  28. package/dist/sync/project-commands.js.map +1 -1
  29. package/dist/sync/project-remote.d.ts +3 -1
  30. package/dist/sync/project-remote.d.ts.map +1 -1
  31. package/dist/sync/project-remote.js +14 -8
  32. package/dist/sync/project-remote.js.map +1 -1
  33. package/dist/sync/report.d.ts +3 -1
  34. package/dist/sync/report.d.ts.map +1 -1
  35. package/dist/sync/report.js +10 -8
  36. package/dist/sync/report.js.map +1 -1
  37. package/dist/sync/residue.d.ts +7 -2
  38. package/dist/sync/residue.d.ts.map +1 -1
  39. package/dist/sync/residue.js +9 -4
  40. package/dist/sync/residue.js.map +1 -1
  41. package/dist/sync/ssh.d.ts +1 -3
  42. package/dist/sync/ssh.d.ts.map +1 -1
  43. package/dist/sync/ssh.js +2 -1
  44. package/dist/sync/ssh.js.map +1 -1
  45. package/dist/sync/tunnel.d.ts +1 -1
  46. package/dist/sync/tunnel.d.ts.map +1 -1
  47. package/dist/sync/tunnel.js +2 -1
  48. package/dist/sync/tunnel.js.map +1 -1
  49. package/package.json +9 -9
package/README.md CHANGED
@@ -8,7 +8,7 @@ flowchart LR
8
8
  machine -->|"outbound WebSocket"| daemon["Sandbox daemon"]
9
9
  daemon -->|"MCP tool calls"| policy["Scope check<br/>device/policy.ts"]
10
10
  policy --> local["Shell, files, screen,<br/>browser, local sandboxes"]
11
- machine -->|"Mutagen over tunnelled SSH"| daemon
11
+ machine -->|"Mutagen over tunnelled SSH,<br/>or through Docker on this machine"| daemon
12
12
  machine --> folder["Local folder<br/>and mirrored ports"]
13
13
  machine -->|"Windows only"| distros["Agent in each<br/>WSL distro"]
14
14
  ```
@@ -35,9 +35,11 @@ flowchart LR
35
35
  is not ([`tools/ic-binary.ts`](src/device/tools/ic-binary.ts)), since a new verb here arrives with a new verb there.
36
36
  A fetch that fails is logged with its reason and reported in the device's facts (`icOutOfDate`, beside `features`),
37
37
  so a stale `ic` explains why logs and saving a shape are missing; the next sandbox action tries again.
38
- - **sync** (`src/sync/`): `sync setup` enrolls an SSH key and runs Mutagen against the sandbox's sshd, reached
39
- through a loopback port tunnelled over a WebSocket. It keeps a folder two-way synced (a project copy-first, below),
40
- forwards every workspace port to the same localhost port, and fast-forwards local git clones from the sandbox.
38
+ - **sync** (`src/sync/`): `sync setup` enrolls this machine and runs Mutagen against the sandbox: over ssh to its
39
+ sshd, reached through a loopback port tunnelled over a WebSocket, or, for a project whose sandbox container runs on
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 (see [Mirrored ports](#mirrored-ports)),
42
+ and fast-forwards local git clones from the sandbox.
41
43
  - A **project pairing** (`sync setup --remote-dir /work/<name> --project`, what the desktop app asks for when it
42
44
  makes a sandbox for a folder the owner picked) syncs that folder with `/work/<name>` rather than `/work`, and nothing
43
45
  of the sandbox's is written into it: no state backup session, no git bridge, and an ignore list that keeps a
@@ -45,12 +47,49 @@ flowchart LR
45
47
  shapes, and refuses `sync.json` whole otherwise). `setup` refuses a folder that is, holds or sits inside another
46
48
  sandbox's, and a set-up-again that would change where a paired sandbox's folder syncs. It is **copy-first** unless
47
49
  its owner opted into two-way: see [Copy-first projects](#copy-first-projects).
50
+ - **Through Docker** ([`sync/endpoint.ts`](src/sync/endpoint.ts)): with `setup --transport auto`, the default, a
51
+ project's sandbox is reached through this machine's own Docker engine when the container `ic` named after the
52
+ pairing URL's slug is running there with that URL as its `SANDBOX_PUBLIC_URL`. Anything else stays on ssh: a hosted
53
+ sandbox, one on another computer, a workspace pairing (its git bridge and state backup ride ssh).
54
+ - The session is `docker://<container>/work/<name>` and the forwards are `docker://<container>:tcp:…`. The
55
+ bring-back's listing and fetch and the residue probe run through `docker exec`, with the same programs ssh carries.
56
+ - Setup therefore skips `known_hosts`, the ssh-config block, the tunnel listener and the ssh probes.
57
+ - The pairing records `transport: "docker"` and its `container`. `sync.json` holds that name to a sandbox
58
+ container's, and the container is checked to still be this sandbox before any session is made through it.
59
+ - Enrollment, the ports read and the report still go to the sandbox's own address, so the tunnel is untouched.
60
+ - Existing ssh pairings keep ssh until they are set up again.
61
+
62
+ (2026-10-01) Measured on Docker Desktop from Windows and from WSL: a session was up in 2–4 s, against up to 90 s
63
+ through the tunnel. Bind-mounting the folder into the container was rejected: a land or an agent's `rm -rf` would
64
+ write straight into the owner's folder, the daemon would move its `.git` onto `/history`, and on Windows and macOS
65
+ every read would cross 9p or virtiofs, with no inotify for the owner's own edits.
48
66
  - Only the resident agent creates Mutagen sessions: `setup` records the pairing and waits for the session to
49
67
  appear, since two creators racing left one name holding two identical sessions. The agent keeps one session per
50
68
  name, terminating any extras, and recreates a session whose rules drifted (its ignores, its folders, its sync mode,
51
- its symlink mode). A two-way session replaced by another waits until no conflicts are left and has its derived
52
- residue swept first; every other replacement happens as soon as the sandbox answers (`settlesFirst` in
53
- [`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.
54
93
  - `setup` replaces what this agent's `known_hosts` holds for the pairing's alias (hashed entries included): with the
55
94
  host key the enrollment carries when it carries one (a sandbox reads its sshd's public key off its history volume and
56
95
  answers with it, `SyncEnrollmentAnswerSchema` in the contract), else with nothing, so `accept-new` records the key
@@ -96,6 +135,32 @@ flowchart LR
96
135
  - The install shims only put a first binary down and run `setup`; `install.ts` decides the rest. `status --json`
97
136
  is what the desktop app's tray reads.
98
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
+
99
164
  ### Copy-first projects
100
165
 
101
166
  A project's folder flows **one way**, this device to the sandbox, so nothing an agent does in `/work/<name>` (an
@@ -129,6 +194,10 @@ driving this agent's own session code and CLI (alpha is this device, beta the sa
129
194
  | edits, creates or deletes a file | carries it to the sandbox, except over a file the sandbox changed, which is kept |
130
195
  | deletes a file the sandbox changed | the sandbox keeps its version, and the conflict clears |
131
196
 
197
+ Through Docker the transport changes and these rules do not. Re-measured on Docker Desktop, from Windows and from WSL:
198
+ an agent's edit and an agent's new file stayed in the sandbox, and the owner's later edit of the same file was
199
+ reported as a conflict, with the agent's copy kept.
200
+
132
201
  A fresh session over two copies that already differ (what any replacement starts from) deletes nothing on either side.
133
202
  One-way-safe copies what only this folder has into the sandbox and keeps every sandbox file that differs, as a conflict.
134
203
  Two-way-safe also copies what only the sandbox has into this folder, and reports what differs on both as a conflict.
@@ -298,7 +367,7 @@ clock.
298
367
  - [src/resident.ts](src/resident.ts) — the resident process that holds links, pairings and WSL distros.
299
368
  - [src/device/mcp.ts](src/device/mcp.ts) — every tool a sandbox can call on this device.
300
369
  - [src/device/policy.ts](src/device/policy.ts) — scope checks and the file-root boundary.
301
- - [src/sync/tunnel.ts](src/sync/tunnel.ts) — the loopback SSH port that fronts the sandbox's sshd.
370
+ - [src/sync/endpoint.ts](src/sync/endpoint.ts) — how a pairing reaches its sandbox: the tunnelled sshd (`tunnel.ts`), or Docker for a project on this machine.
302
371
  - [src/environments/machine.ts](src/environments/machine.ts) — the Windows root and its WSL children.
303
372
 
304
373
  ## Commands
@@ -1,6 +1,6 @@
1
1
  import { type Log } from "@intentic/local-agent";
2
2
  import { type CommandContext } from "@stricli/core";
3
- import { type Pairing, type SyncMode, type SyncState } from "./config.js";
3
+ import { type Pairing, type SyncMode, type SyncState, type SyncTransport } from "./config.js";
4
4
  export declare const selectPairings: (state: SyncState, selector: string | undefined) => readonly Pairing[];
5
5
  export declare const enrollKey: (sandboxUrl: string, pairToken: string, key: string, { attempts, delayMs, takeover, identity, }?: {
6
6
  attempts?: number;
@@ -23,7 +23,10 @@ interface SetupFlags {
23
23
  readonly takeover: boolean;
24
24
  readonly remoteDir?: string;
25
25
  readonly project: boolean;
26
+ readonly transport?: TransportAsk;
26
27
  }
28
+ type TransportAsk = "auto" | SyncTransport;
29
+ export declare const transportFor: (asked: TransportAsk, placement: Pick<Pairing, "project">, sandboxUrl: string, locate?: (sandboxUrl: string) => Promise<string | undefined>) => Promise<Pick<Pairing, "transport" | "container">>;
27
30
  export declare const placementOf: (flags: Pick<SetupFlags, "remoteDir" | "project">) => Pick<Pairing, "remoteDir" | "project">;
28
31
  export declare const placementChange: (held: Pairing | undefined, placement: Pick<Pairing, "remoteDir" | "project">) => string | undefined;
29
32
  export declare const projectAskedWithoutFlag: (flags: Pick<SetupFlags, "project">, env?: NodeJS.ProcessEnv) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/sync/commands.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAA+B,KAAK,cAAc,EAA8B,MAAM,eAAe,CAAC;AAS7G,OAAO,EAEH,KAAK,OAAO,EAOZ,KAAK,QAAQ,EACb,KAAK,SAAS,EAEjB,MAAM,aAAa,CAAC;AAkCrB,eAAO,MAAM,cAAc,UAAW,SAAS,YAAY,MAAM,GAAG,SAAS,KAAG,SAAS,OAAO,EAkB/F,CAAC;AAGF,eAAO,MAAM,SAAS,eACN,MAAM,aACP,MAAM,OACZ,MAAM,+CAMR;IACC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E,KACF,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CA0C5E,CAAC;AAcF,UAAU,UAAU;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B;AAcD,eAAO,MAAM,WAAW,UAAW,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAanH,CAAC;AAuEF,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,SAAS,aAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,MAAM,GAAG,SAQvH,CAAC;AAMF,eAAO,MAAM,uBAAuB,UAAW,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,QAAO,MAAM,CAAC,UAAU,KAAiB,MAAM,GAAG,SAM3H,CAAC;AA6LF,eAAO,MAAM,cAAc,YACd,SAAS,OAAO,EAAE,QACrB,SAAS,MAAM,EAAE,KACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CAK5G,CAAC;AAiNF,eAAO,MAAM,aAAa,QAAe,GAAG,YAAY,MAAM,gBAAuB;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,OAAO,CAAC,IAAI,CA0DtI,CAAC;AAcF,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAAmF,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/sync/commands.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAA+B,KAAK,cAAc,EAA8B,MAAM,eAAe,CAAC;AAS7G,OAAO,EAEH,KAAK,OAAO,EAOZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,aAAa,EAErB,MAAM,aAAa,CAAC;AAmCrB,eAAO,MAAM,cAAc,UAAW,SAAS,YAAY,MAAM,GAAG,SAAS,KAAG,SAAS,OAAO,EAkB/F,CAAC;AAGF,eAAO,MAAM,SAAS,eACN,MAAM,aACP,MAAM,OACZ,MAAM,+CAMR;IACC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E,KACF,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CA0C5E,CAAC;AAcF,UAAU,UAAU;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;CACrC;AAGD,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAa3C,eAAO,MAAM,YAAY,UACd,YAAY,aACR,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,cACvB,MAAM,WACV,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,KAC5D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC,CAkBlD,CAAC;AAcF,eAAO,MAAM,WAAW,UAAW,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAanH,CAAC;AA+EF,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,SAAS,aAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,KAAG,MAAM,GAAG,SAQvH,CAAC;AAMF,eAAO,MAAM,uBAAuB,UAAW,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,QAAO,MAAM,CAAC,UAAU,KAAiB,MAAM,GAAG,SAM3H,CAAC;AA4NF,eAAO,MAAM,cAAc,YACd,SAAS,OAAO,EAAE,QACrB,SAAS,MAAM,EAAE,KACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CAK5G,CAAC;AAiNF,eAAO,MAAM,aAAa,QAAe,GAAG,YAAY,MAAM,gBAAuB;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,OAAO,CAAC,IAAI,CA0DtI,CAAC;AAcF,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAAmF,CAAC"}
@@ -17,6 +17,7 @@ import { ensureResident, readResidentBuild, readResidentPid } from "../resident.
17
17
  import { MACHINE_VERSION } from "../version.js";
18
18
  import { machineLauncher } from "../supervision.js";
19
19
  import { isProjectPairing, pairingRemoteDir, readState, removePairing, setAutoHealOff, setMirrorOff, setPortIgnored, upsertPairing, } from "./config.js";
20
+ import { localSandboxContainer } from "./endpoint.js";
20
21
  import { overlappingPairing } from "./folders.js";
21
22
  import { realBridgeExec, runGitBridge } from "./git-bridge.js";
22
23
  import { retireMirroredPort, retirePairingMirror, teardownAllForwards } from "./mirror.js";
@@ -82,6 +83,31 @@ const revokeEnrollment = async (sandboxUrl, syncToken) => {
82
83
  throw new Error(`HTTP ${response.status}`);
83
84
  }
84
85
  };
86
+ const parseTransport = (value) => {
87
+ if (value !== "auto" && value !== "ssh" && value !== "docker") {
88
+ throw new Error(`"${value}" is not a transport: auto (the default), ssh or docker.`);
89
+ }
90
+ return value;
91
+ };
92
+ export const transportFor = async (asked, placement, sandboxUrl, locate = localSandboxContainer) => {
93
+ if (asked === "ssh") {
94
+ return {};
95
+ }
96
+ if (!isProjectPairing(placement)) {
97
+ if (asked === "docker") {
98
+ throw new Error("--transport docker is for a project folder (--project): a workspace pairing's git bridge and state backup ride ssh.");
99
+ }
100
+ return {};
101
+ }
102
+ const container = await locate(sandboxUrl);
103
+ if (container === undefined) {
104
+ if (asked === "docker") {
105
+ throw new Error(`--transport docker needs this sandbox's container running on this machine's Docker engine, and none here serves ${sandboxUrl}.`);
106
+ }
107
+ return {};
108
+ }
109
+ return { transport: "docker", container };
110
+ };
85
111
  const parseRemoteDir = (value) => {
86
112
  if (value !== WORKSPACE_ROOT && projectDirNameOf(value) === undefined) {
87
113
  throw new Error(`"${value}" is neither ${WORKSPACE_ROOT} nor ${WORKSPACE_ROOT}/<name> (a name starting with a letter or digit, of letters, digits, ".", "_" and "-", and not one the sandbox keeps for itself).`);
@@ -102,7 +128,9 @@ const wantedFolder = (flags, sandboxId) => resolve(flags.dir === undefined
102
128
  ? join(homeDir(), "intentic", sandboxIdFromUrl(flags.url) ?? sandboxId)
103
129
  : flags.dir.replace(/^~(?=[\\/]|$)/, homeDir()));
104
130
  const setup = buildCommand({
105
- docs: { brief: "Enroll an SSH key with a pairing token and start a Mutagen sync of the local dir ↔ sandbox /work (or a project folder in it)" },
131
+ docs: {
132
+ brief: "Enroll this machine with a pairing token and start a Mutagen sync of the local dir ↔ sandbox /work (or a project folder in it), over ssh or, for a project on this machine's Docker engine, through Docker",
133
+ },
106
134
  parameters: {
107
135
  flags: {
108
136
  url: { kind: "parsed", parse: String, brief: "The sandbox's public URL (e.g. https://sandbox-xxx.example.dev)" },
@@ -125,6 +153,12 @@ const setup = buildCommand({
125
153
  kind: "boolean",
126
154
  brief: "The local dir is your own project: sync it into --remote-dir with no state backup and no git bridge writing into it",
127
155
  },
156
+ transport: {
157
+ kind: "parsed",
158
+ parse: parseTransport,
159
+ optional: true,
160
+ brief: "How the sandbox is reached: auto (the default: Docker for a project whose sandbox runs on this machine's engine, ssh otherwise), ssh or docker",
161
+ },
128
162
  },
129
163
  },
130
164
  async func(flags) {
@@ -178,11 +212,12 @@ const planSetup = async (flags) => {
178
212
  if (clash !== undefined) {
179
213
  throw new Error(`${folder} overlaps ${clash.localDir}, which already syncs with ${clash.sandboxId}: two syncs over one folder overwrite each other's files. Choose a folder that neither is, holds nor sits inside one this machine syncs (\`intentic-machine status\` lists them).`);
180
214
  }
181
- return { sandboxId, placement, folder };
215
+ const reach = await transportFor(flags.transport ?? "auto", placement, flags.url);
216
+ return { sandboxId, placement, folder, reach };
182
217
  };
183
218
  const runSetup = async (ui, out, flags) => {
184
219
  ui.step("sync-enrolling", "enrolling this machine with your sandbox…");
185
- const { sandboxId, placement, folder } = await planSetup(flags);
220
+ const { sandboxId, placement, folder, reach } = await planSetup(flags);
186
221
  const publicKey = await ensureSshKey();
187
222
  const [{ syncToken, mode, hostKey }, mutagen] = await Promise.all([
188
223
  enrollKey(flags.url, flags.pair, publicKey, {
@@ -192,8 +227,8 @@ const runSetup = async (ui, out, flags) => {
192
227
  ensureMutagen(),
193
228
  ]);
194
229
  out(`enrolled SSH key with ${flags.url}`);
195
- const alias = sshAlias(sandboxId);
196
- await replaceKnownHost(alias, syncSshPort(sandboxId), hostKey);
230
+ const container = dockerContainerOf(reach, mode);
231
+ await pinHostKey(sandboxId, hostKey, container);
197
232
  if (placement.project === true && mode !== "sync") {
198
233
  await revokeEnrollment(flags.url, syncToken).catch((error) => out(`note: ${flags.url} could not be told to forget this machine (${errorMessage(error)}), so its sync key is still authorized there. Remove this machine from that sandbox's Devices view.`));
199
234
  throw new Error("another machine holds file sync for this sandbox, so this project folder cannot sync here. Re-run with --takeover to move sync to this machine.");
@@ -207,7 +242,7 @@ const runSetup = async (ui, out, flags) => {
207
242
  sandboxId,
208
243
  mode,
209
244
  syncToken,
210
- ...(localDir === undefined ? {} : { localDir, ...placement }),
245
+ ...(localDir === undefined ? {} : { localDir, ...placement, ...reach }),
211
246
  };
212
247
  ui.step("sync-linking", "linking the folder to your sandbox…");
213
248
  await upsertPairing(pairing);
@@ -216,6 +251,27 @@ const runSetup = async (ui, out, flags) => {
216
251
  ui.step("sync-starting", "starting the sync engine…");
217
252
  await ensureResident(out);
218
253
  await completeSetup(out);
254
+ await proveTransport(out, sandboxId, container);
255
+ if (mode === "sync" && !(await syncSessionAppears(mutagen, sandboxId, SESSION_READY_MS))) {
256
+ out(await notStartedYet(localDir ?? sandboxId));
257
+ }
258
+ retireOrphanSessions(mutagen, pairings, out);
259
+ runGitBridge(realBridgeExec, pairing, out, undefined);
260
+ registerMutagenAutostart(mutagen, machineLauncher(), out);
261
+ finishSetup(ui, flags.url, pairing, pairings);
262
+ };
263
+ const dockerContainerOf = (reach, mode) => mode === "sync" && reach.transport === "docker" ? reach.container : undefined;
264
+ const pinHostKey = async (sandboxId, hostKey, container) => {
265
+ if (container === undefined) {
266
+ await replaceKnownHost(sshAlias(sandboxId), syncSshPort(sandboxId), hostKey);
267
+ }
268
+ };
269
+ const proveTransport = async (out, sandboxId, container) => {
270
+ if (container !== undefined) {
271
+ out(`reaching ${sandboxId} through Docker on this machine (${container}): no ssh key, tunnel or public address on the data path`);
272
+ return;
273
+ }
274
+ const alias = sshAlias(sandboxId);
219
275
  const port = syncSshPort(sandboxId);
220
276
  if (!(await tunnelReady(port, TUNNEL_READY_MS))) {
221
277
  out(`note: the sync transport for ${sandboxId} isn't listening on 127.0.0.1:${port} yet, syncing starts as soon as it is.`);
@@ -223,21 +279,18 @@ const runSetup = async (ui, out, flags) => {
223
279
  const ssh = mutagenSshPath(process.platform, process.env["MUTAGEN_SSH_PATH"]);
224
280
  assertSshConfigVisible(ssh, alias, port);
225
281
  await probeSshTransport(ssh, alias, out);
226
- if (mode === "sync" && !(await syncSessionAppears(mutagen, sandboxId, SESSION_READY_MS))) {
227
- out(await notStartedYet(localDir ?? sandboxId));
228
- }
229
- retireOrphanSessions(mutagen, pairings, out);
230
- runGitBridge(realBridgeExec, pairing, out, undefined);
231
- registerMutagenAutostart(mutagen, machineLauncher(), out);
282
+ };
283
+ const finishSetup = (ui, sandboxUrl, pairing, pairings) => {
232
284
  if (pairings.length > 1) {
233
285
  ui.note(`This machine now syncs ${pairings.length} sandboxes:`);
234
286
  for (const held of pairings) {
235
287
  ui.note(` ${held.sandboxId}${held.localDir === undefined ? " (ports only)" : ` → ${held.localDir}`}`);
236
288
  }
237
289
  }
238
- ui.finished(mode === "sync" ? "Desktop sync is running." : "Enrolled for port mirroring.", mode === "sync" ? localDir : undefined, mode === "sync"
290
+ const syncing = pairing.mode === "sync";
291
+ ui.finished(syncing ? "Desktop sync is running." : "Enrolled for port mirroring.", syncing ? pairing.localDir : undefined, syncing
239
292
  ? `That folder and your sandbox's ${pairingRemoteDir(pairing)} are now the same files.`
240
- : `Ports from ${flags.url} now answer on this machine's localhost (mirror-only, no file sync).`, [
293
+ : `Ports from ${sandboxUrl} now answer on this machine's localhost (mirror-only, no file sync).`, [
241
294
  ["check it", "intentic-machine status"],
242
295
  ["remove it", "intentic-machine sync uninstall"],
243
296
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/sync/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/sync/commands.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export interface SkippedPort {
20
20
  readonly command?: string | undefined;
21
21
  }
22
22
  export type SyncMode = "sync" | "mirror";
23
+ export type SyncTransport = "ssh" | "docker";
24
+ export declare const isSandboxContainerName: (name: string | undefined) => name is string;
23
25
  export interface Pairing {
24
26
  readonly sandboxUrl: string;
25
27
  readonly sandboxId: string;
@@ -36,12 +38,17 @@ export interface Pairing {
36
38
  readonly remoteDir?: string | undefined;
37
39
  readonly project?: true | undefined;
38
40
  readonly direction?: ProjectDirection | undefined;
41
+ readonly transport?: SyncTransport | undefined;
42
+ readonly container?: string | undefined;
39
43
  }
44
+ export declare const pairingTransport: (pairing: Pick<Pairing, "transport" | "container">) => SyncTransport;
40
45
  export type ProjectDirection = "to-sandbox" | "both";
41
46
  export declare const projectDirection: (pairing: Pick<Pairing, "direction">) => ProjectDirection;
42
47
  export declare const pairingRemoteDir: (pairing: Pick<Pairing, "remoteDir">) => string;
43
48
  export declare const isProjectPairing: (pairing: Pick<Pairing, "project">) => boolean;
44
- export declare const pairingProblem: (pairing: Pick<Pairing, "remoteDir" | "project">) => string | undefined;
49
+ export declare const pairingProblem: (pairing: Pick<Pairing, "remoteDir" | "project" | "container"> & {
50
+ readonly transport?: string | undefined;
51
+ }) => string | undefined;
45
52
  export interface SyncState {
46
53
  readonly pairings: readonly Pairing[];
47
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/sync/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/sync/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAoB,MAAM,4BAA4B,CAAC;AASrG,eAAO,MAAM,UAAU,QAA8B,CAAC;AACtD,eAAO,MAAM,cAAc,QAA+B,CAAC;AAK3D,eAAO,MAAM,MAAM,QAA0B,CAAC;AAC9C,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,aAAa,QAA8B,CAAC;AACzD,eAAO,MAAM,iBAAiB,QAAyB,CAAC;AAKxD,eAAO,MAAM,oBAAoB,QAAsC,CAAC;AAMxE,eAAO,MAAM,mBAAmB,QAA+B,CAAC;AAIhE,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAKD,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAID,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAOzC,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;AAK7C,eAAO,MAAM,sBAAsB,SAAU,MAAM,GAAG,SAAS,KAAG,IAAI,IAAI,MACuF,CAAC;AAkBlK,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAID,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC,KAAG,aACG,CAAC;AAKzF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,MAAM,CAAC;AAKrD,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,KAAG,gBAA0E,CAAC;AAGlJ,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,KAAG,MAA6C,CAAC;AAKrH,eAAO,MAAM,gBAAgB,YAAa,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAG,OAAmC,CAAC;AAQzG,eAAO,MAAM,cAAc,YACd,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAC5G,MAAM,GAAG,SAoBX,CAAC;AA6BF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACzC;AAID,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,SAAS,CAiBnD,CAAC;AAKF,eAAO,MAAM,WAAW,WAAkB,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,KAAG,OAAO,CAAC,IAAI,CAIvF,CAAC;AAIF,eAAO,MAAM,aAAa,YAAmB,OAAO,KAAG,OAAO,CAAC,IAAI,CACkE,CAAC;AAEtI,eAAO,MAAM,aAAa,cAAqB,MAAM,KAAG,OAAO,CAAC,IAAI,CAC2C,CAAC;AAMhH,eAAO,MAAM,YAAY,cAAqB,MAAM,OAAO,OAAO,KAAG,OAAO,CAAC,IAAI,CAG1E,CAAC;AAKR,eAAO,MAAM,cAAc,cAAqB,MAAM,QAAQ,MAAM,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAa9F,CAAC;AAIR,eAAO,MAAM,cAAc,cAAqB,MAAM,OAAO,OAAO,KAAG,OAAO,CAAC,IAAI,CAG5E,CAAC;AAER,eAAO,MAAM,qBAAqB,cAAqB,MAAM,UAAU,OAAO,KAAG,OAAO,CAAC,IAAI,CAGtF,CAAC;AAER,eAAO,MAAM,qBAAqB,cAAqB,MAAM,UAAU,OAAO,KAAG,OAAO,CAAC,IAAI,CAGtF,CAAC;AAKR,eAAO,MAAM,mBAAmB,cAAqB,MAAM,aAAa,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAGhG,CAAC"}
@@ -3,6 +3,7 @@ import { join } from "node:path";
3
3
  import { WORKSPACE_ROOT } from "@intentic/constants";
4
4
  import { homeDir, writeSecretFile } from "@intentic/local-agent";
5
5
  import { projectDirNameOf } from "@intentic/sandbox-contract";
6
+ import { SANDBOX_CONTAINER_PREFIX } from "@intentic/sandbox-run";
6
7
  import { z } from "zod";
7
8
  import { baseDir } from "../config.js";
8
9
  const configPath = join(baseDir, "sync.json");
@@ -14,10 +15,20 @@ export const sshConfigPath = join(sshDir, sshConfigName);
14
15
  export const userSshConfigPath = join(sshDir, "config");
15
16
  export const mutagenDaemonLogPath = join(baseDir, "mutagen-daemon.log");
16
17
  export const mirrorHeartbeatPath = join(baseDir, "mirror.tick");
18
+ export const isSandboxContainerName = (name) => name !== undefined && name.startsWith(SANDBOX_CONTAINER_PREFIX) && /^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(name) && name.length > SANDBOX_CONTAINER_PREFIX.length;
19
+ export const pairingTransport = (pairing) => pairing.transport === "docker" && pairing.container !== undefined ? "docker" : "ssh";
17
20
  export const projectDirection = (pairing) => (pairing.direction === "both" ? "both" : "to-sandbox");
18
21
  export const pairingRemoteDir = (pairing) => pairing.remoteDir ?? WORKSPACE_ROOT;
19
22
  export const isProjectPairing = (pairing) => pairing.project === true;
20
23
  export const pairingProblem = (pairing) => {
24
+ if (pairing.transport === "docker") {
25
+ if (!isProjectPairing(pairing)) {
26
+ return `reaches its sandbox through Docker, which only a project pairing may`;
27
+ }
28
+ if (!isSandboxContainerName(pairing.container)) {
29
+ return `reaches its sandbox through Docker but names no sandbox container (${JSON.stringify(pairing.container)})`;
30
+ }
31
+ }
21
32
  const inProject = pairing.remoteDir !== undefined && projectDirNameOf(pairing.remoteDir) !== undefined;
22
33
  if (pairing.remoteDir !== undefined && pairing.remoteDir !== WORKSPACE_ROOT && !inProject) {
23
34
  return `remoteDir ${JSON.stringify(pairing.remoteDir)} is neither ${WORKSPACE_ROOT} nor ${WORKSPACE_ROOT}/<name> (a name starting with a letter or digit, of letters, digits, ".", "_" and "-", and not one the sandbox keeps for itself)`;
@@ -34,6 +45,8 @@ const PlacementSchema = z.object({
34
45
  sandboxId: z.string(),
35
46
  remoteDir: z.string().optional(),
36
47
  project: z.literal(true).optional(),
48
+ transport: z.string().optional(),
49
+ container: z.string().optional(),
37
50
  });
38
51
  const assertPairings = (pairings) => {
39
52
  for (const raw of pairings) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/sync/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/sync/config.ts"],"names":[],"mappings":"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"}
@@ -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"}