@intentic/machine 1.320.0 → 1.322.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 (40) hide show
  1. package/README.md +27 -5
  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/endpoint.d.ts +34 -0
  11. package/dist/sync/endpoint.d.ts.map +1 -0
  12. package/dist/sync/endpoint.js +47 -0
  13. package/dist/sync/endpoint.js.map +1 -0
  14. package/dist/sync/mirror.d.ts.map +1 -1
  15. package/dist/sync/mirror.js +3 -2
  16. package/dist/sync/mirror.js.map +1 -1
  17. package/dist/sync/mutagen.d.ts +12 -10
  18. package/dist/sync/mutagen.d.ts.map +1 -1
  19. package/dist/sync/mutagen.js +29 -21
  20. package/dist/sync/mutagen.js.map +1 -1
  21. package/dist/sync/project-commands.d.ts.map +1 -1
  22. package/dist/sync/project-commands.js +4 -3
  23. package/dist/sync/project-commands.js.map +1 -1
  24. package/dist/sync/project-remote.d.ts +3 -1
  25. package/dist/sync/project-remote.d.ts.map +1 -1
  26. package/dist/sync/project-remote.js +14 -8
  27. package/dist/sync/project-remote.js.map +1 -1
  28. package/dist/sync/residue.d.ts +7 -2
  29. package/dist/sync/residue.d.ts.map +1 -1
  30. package/dist/sync/residue.js +9 -4
  31. package/dist/sync/residue.js.map +1 -1
  32. package/dist/sync/ssh.d.ts +1 -3
  33. package/dist/sync/ssh.d.ts.map +1 -1
  34. package/dist/sync/ssh.js +2 -1
  35. package/dist/sync/ssh.js.map +1 -1
  36. package/dist/sync/tunnel.d.ts +1 -1
  37. package/dist/sync/tunnel.d.ts.map +1 -1
  38. package/dist/sync/tunnel.js +2 -1
  39. package/dist/sync/tunnel.js.map +1 -1
  40. 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, and fast-forwards local git clones
42
+ 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,6 +47,22 @@ 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,
@@ -129,6 +147,10 @@ driving this agent's own session code and CLI (alpha is this device, beta the sa
129
147
  | edits, creates or deletes a file | carries it to the sandbox, except over a file the sandbox changed, which is kept |
130
148
  | deletes a file the sandbox changed | the sandbox keeps its version, and the conflict clears |
131
149
 
150
+ Through Docker the transport changes and these rules do not. Re-measured on Docker Desktop, from Windows and from WSL:
151
+ 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
152
+ reported as a conflict, with the agent's copy kept.
153
+
132
154
  A fresh session over two copies that already differ (what any replacement starts from) deletes nothing on either side.
133
155
  One-way-safe copies what only this folder has into the sandbox and keeps every sandbox file that differs, as a conflict.
134
156
  Two-way-safe also copies what only the sandbox has into this folder, and reports what differs on both as a conflict.
@@ -298,7 +320,7 @@ clock.
298
320
  - [src/resident.ts](src/resident.ts) — the resident process that holds links, pairings and WSL distros.
299
321
  - [src/device/mcp.ts](src/device/mcp.ts) — every tool a sandbox can call on this device.
300
322
  - [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.
323
+ - [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
324
  - [src/environments/machine.ts](src/environments/machine.ts) — the Windows root and its WSL children.
303
325
 
304
326
  ## 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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAoC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAA8B,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC1J,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmD,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACH,gBAAgB,EAEhB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EAGd,aAAa,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACH,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,qBAAqB,GACxB,MAAM,UAAU,CAAC;AAIlB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,QAA4B,EAAsB,EAAE;IACjG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACX,8BAA8B,QAAQ,0BAA0B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAC5I,CAAC;IACN,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,2CAA2C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC1B,UAAkB,EAClB,SAAiB,EACjB,GAAW,EACX,EACI,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GACX,GAOG,EAAE,EACqE,EAAE;IAC7E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACnC,UAAU,EACV,wBAAwB,EACxB;QACI,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,SAAS;YAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAkC,CAAC;KAC7E,EACD;QACI,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,yFAAyF;QAClG,QAAQ;QACR,OAAO;KACV,CACJ,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAyB,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACX,iDAAiD,IAAI,4FAA4F,CACpJ,CAAC;IACN,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;IACpI,CAAC;IAGD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC;AAIF,MAAM,gBAAgB,GAAG,KAAK,EAAE,UAAkB,EAAE,SAAiB,EAAiB,EAAE;IACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,EAAE;QACnF,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE;KAC5C,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC,CAAC;AAaF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IAC7C,IAAI,KAAK,KAAK,cAAc,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACX,IAAI,KAAK,gBAAgB,cAAc,QAAQ,cAAc,mIAAmI,CACnM,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgD,EAA0C,EAAE;IACpH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACnF,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACX,gCAAgC,cAAc,wEAAwE,cAAc,UAAU,CACjJ,CAAC;IACN,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACX,gBAAgB,SAAS,iIAAiI,CAC7J,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC,CAAC;AAKF,MAAM,YAAY,GAAG,CAAC,KAAsC,EAAE,SAAiB,EAAU,EAAE,CACvF,OAAO,CACH,KAAK,CAAC,GAAG,KAAK,SAAS;IACnB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACvE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,CACtD,CAAC;AAEN,MAAM,KAAK,GAAG,YAAY,CAAa;IACnC,IAAI,EAAE,EAAE,KAAK,EAAE,8HAA8H,EAAE;IAC/I,UAAU,EAAE;QACR,KAAK,EAAE;YACH,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,iEAAiE,EAAE;YAChH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,uDAAuD,EAAE;YACvG,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,6FAA6F;aACvG;YACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kDAAkD,EAAE;YACvH,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,wFAAwF,EAAE;YAC9H,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,sGAAsG;aAChH;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,qHAAqH;aAC/H;SACJ;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAiB;QAI9C,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAGvG,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAGlC,MAAM,GAAG,GAAQ,EAAE,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;gBAAS,CAAC;YAEP,EAAE,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAIH,MAAM,UAAU,GAAwB;IACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE;IACpE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE;IAC9D,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE;CACjE,CAAC;AAMF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAyB,EAAE,SAAiD,EAAsB,EAAE;IAChI,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9H,OAAO,IAAI;QACP,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,kBAAkB,IAAI,CAAC,QAAQ,aAAa,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,6BAA6B,gBAAgB,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,uGAAuG,IAAI,CAAC,SAAS,4BAA4B,CAAC;AAC5Y,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAkC,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAsB,EAAE;IACpI,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,cAAc,CAAC,CAAC;IACjG,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;QAC1B,CAAC,CAAC,8OAA8O;QAChP,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAIF,MAAM,SAAS,GAAG,KAAK,EACnB,KAAiB,EAC2G,EAAE;IAC9H,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,eAAe,CAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,EACrD,SAAS,CACZ,CAAC;IACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,GAAG,MAAM,aAAa,KAAK,CAAC,QAAQ,8BAA8B,KAAK,CAAC,SAAS,mLAAmL,CACvQ,CAAC;IACN,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAM,EAAE,GAAQ,EAAE,KAAiB,EAAiB,EAAE;IAC1E,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;IACvE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAGvC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,cAAc,EAAE,EAAE,CAAC,EAAE;SACvG,CAAC;QACF,aAAa,EAAE;KAClB,CAAC,CAAC;IACH,GAAG,CAAC,yBAAyB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAGlC,MAAM,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAI/D,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAClE,GAAG,CACC,SAAS,KAAK,CAAC,GAAG,8CAA8C,YAAY,CAAC,KAAK,CAAC,qGAAqG,CAC3L,CACJ,CAAC;QACF,MAAM,IAAI,KAAK,CACX,iJAAiJ,CACpJ,CAAC;IACN,CAAC;IAGD,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAEzB,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,OAAO,GAAY;QACrB,UAAU,EAAE,KAAK,CAAC,GAAG;QACrB,SAAS;QACT,IAAI;QACJ,SAAS;QACT,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;KAChE,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IAG/D,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC;IAG9C,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAGxD,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;IACtD,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,gCAAgC,SAAS,iCAAiC,IAAI,wCAAwC,CAAC,CAAC;IAChI,CAAC;IAID,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9E,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAMzC,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAG7C,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAGtD,wBAAwB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IAG1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,EAAE,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3G,CAAC;IACL,CAAC;IACD,EAAE,CAAC,QAAQ,CACP,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,8BAA8B,EAI7E,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACtC,IAAI,KAAK,MAAM;QACX,CAAC,CAAC,kCAAkC,gBAAgB,CAAC,OAAO,CAAC,0BAA0B;QACvF,CAAC,CAAC,cAAc,KAAK,CAAC,GAAG,sEAAsE,EACnG;QACI,CAAC,UAAU,EAAE,yBAAyB,CAAC;QACvC,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACnD,CACJ,CAAC;AACN,CAAC,CAAC;AAIF,MAAM,eAAe,GAAG,MAAM,CAAC;AAI/B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAIhC,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAoB,EAAE;IACxG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IACvC,OAAO,oBAAoB,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAIF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAmB,EAAE;IAC5D,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,eAAe;QACvD,CAAC,CAAC,mCAAmC,OAAO,gCAAgC,MAAM,sEAAsE,eAAe,OAAO;QAC9K,CAAC,CAAC,4DAA4D,MAAM,kFAAkF,CAAC;AAC/J,CAAC,CAAC;AAOF,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,iGAAiG;KAC3G;CACK,CAAC;AAMX,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,OAA2B,EAC3B,IAAuB,EACqF,EAAE;IAC9G,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAY,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,QAA4B,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAGhH,MAAM,cAAc,GAAG,CACnB,KAAa,EACb,KAA+B,EAC/B,IAAY,EACZ,GAAwE,EAC1E,EAAE,CACA,YAAY,CAAI;IACZ,IAAI,EAAE,EAAE,KAAK,EAAE;IACf,UAAU,EAAE,EAAE,KAAK,EAAE;IACrB,KAAK,CAAC,IAAI,CAAuB,KAAQ;QACrC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CACJ,CAAC,CAAC;AAEP,MAAM,cAAc,GAAG,2GAA2G,CAAC;AAGnI,MAAM,aAAa,GAAG,KAAK,EAAE,GAAQ,EAAiB,EAAE;IACpD,IAAI,CAAC,MAAM,eAAe,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1C,GAAG,CAAC,+GAA+G,CAAC,CAAC;IACzH,CAAC;AACL,CAAC,CAAC;AAGF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE,CAC/D,cAAc,CACV,KAAK,EACL,WAAW,EACX,uDAAuD,IAAI,mDAAmD,EAC9G,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,yBAAyB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,qBAAqB,IAAI,GAAG,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,cAAc,CACvB,OAAO,EACP,oBAAoB,CAChB,OAAO,EACP,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAC1D,CACJ,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE1B,GAAG,CAAC,wCAAwC,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,kDAAkD,CAAC,CAAC;QAClI,OAAO;IACX,CAAC;IACD,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mBAAmB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,2BAA2B,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CACJ,CAAC;AAGN,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,EAAE,CACjD,cAAc,CAAe,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAC7F,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAE7B,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE3C,IAAI,GAAG,EAAE,CAAC;YAEN,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACN,GAAG,CAAC,2BAA2B,KAAK,CAAC,QAAQ,CAAC,2EAA2E,CAAC,CAAC;QAC3H,OAAO;IACX,CAAC;IACD,GAAG,CAAC,0BAA0B,KAAK,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAAC;IACxG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAIP,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mCAAmC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAE,EAAE,CACzD,cAAc,CACV,KAAK,EACL,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,2CAA2C,EAAE,EAAE,EAClH,cAAc,EACd,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAE7B,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YAEV,KAAK,IAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACV,GAAG,CACC,QAAQ,KAAK,CAAC,IAAI,8BAA8B,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,IAAI,mBAAmB,iCAAiC,CAC1K,CAAC;QACF,OAAO;IACX,CAAC;IACD,GAAG,CACC,QAAQ,KAAK,CAAC,IAAI,gCAAgC,KAAK,CAAC,QAAQ,CAAC,sGAAsG,CAC1K,CAAC;IACF,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CACJ,CAAC;AAEN,MAAM,MAAM,GAAG,aAAa,CAAC;IACzB,MAAM,EAAE;QACJ,GAAG,EAAE,YAAY,CAAC,oFAAoF,EAAE,IAAI,CAAC;QAC7G,EAAE,EAAE,YAAY,CAAC,uDAAuD,EAAE,KAAK,CAAC;QAChF,MAAM,EAAE,gBAAgB,CAAC,iFAAiF,EAAE,IAAI,CAAC;QACjH,QAAQ,EAAE,gBAAgB,CAAC,mDAAmD,EAAE,KAAK,CAAC;KACzF;IACD,IAAI,EAAE,EAAE,KAAK,EAAE,wFAAwF,EAAE;CAC5G,CAAC,CAAC;AAOH,MAAM,KAAK,GAAG,YAAY,CAAe;IACrC,IAAI,EAAE,EAAE,KAAK,EAAE,qGAAqG,EAAE;IACtH,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;IAClC,KAAK,CAAC,IAAI,CAAuB,KAAmB;QAChD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC9G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,oGAAoG,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAE5B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,GAAG,CACC,OAAO,KAAK,CAAC;YACT,CAAC,CAAC,uGAAuG;YACzG,CAAC,CAAC,WAAW,OAAO,YAAY,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,mEAAmE,CACrI,CAAC;QACF,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAIf,GAAG,CACC,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,4JAA4J,CAC9L,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAGH,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,EAAE,CACnD,cAAc,CAAe,KAAK,EAAE,WAAW,EAAE,6DAA6D,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAC5I,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAE7B,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,GAAG,CACC,GAAG;QACC,CAAC,CAAC,wCAAwC,KAAK,CAAC,QAAQ,CAAC,2JAA2J;QACpN,CAAC,CAAC,uCAAuC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAClE,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,MAAM,QAAQ,GAAG,aAAa,CAAC;IAC3B,MAAM,EAAE;QACJ,GAAG,EAAE,cAAc,CAAC,kFAAkF,EAAE,IAAI,CAAC;QAC7G,EAAE,EAAE,cAAc,CAAC,0EAA0E,EAAE,KAAK,CAAC;KACxG;IACD,IAAI,EAAE,EAAE,KAAK,EAAE,mGAAmG,EAAE;CACvH,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAQ,EAAE,OAAgB,EAAE,EAAE,OAAO,GAAG,KAAK,EAAE,GAAmC,EAAE,EAAiB,EAAE;IACvI,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAIpH,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAElC,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CACnF,GAAG,CACC,SAAS,OAAO,CAAC,UAAU,8CAA8C,YAAY,CAAC,KAAK,CAAC,qGAAqG,CACpM,CACJ,CAAC;QACN,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAG1B,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,GAAG,CAAC,YAAY,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,uBAAuB,GAAG,CAAC,CAAC;IAC/H,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAKvB,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,OAAO;IACX,CAAC;IAID,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,sBAAsB,EAAE,CAAC;IAI/B,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACV,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACpC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,GAAG,CACC,OAAO;QACH,CAAC,CAAC,uFAAuF;QACzF,CAAC,CAAC,8JAA8J,CACvK,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,YAAY,CAAe;IACzC,IAAI,EAAE,EAAE,KAAK,EAAE,6EAA6E,EAAE;IAC9F,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;IAClC,KAAK,CAAC,IAAI,CAAuB,KAAmB;QAChD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC"}
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":"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"}
@@ -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,34 @@
1
+ import { type Pairing } from "./config.js";
2
+ export type SandboxEndpoint = {
3
+ readonly kind: "ssh";
4
+ readonly alias: string;
5
+ } | {
6
+ readonly kind: "docker";
7
+ readonly container: string;
8
+ };
9
+ export declare const pairingEndpoint: (pairing: Pick<Pairing, "sandboxId" | "transport" | "container">) => SandboxEndpoint;
10
+ export declare const mutagenUrl: (endpoint: SandboxEndpoint, path: string) => string;
11
+ export declare const mutagenForwardUrl: (endpoint: SandboxEndpoint, address: string) => string;
12
+ export declare const liveIdentity: (endpoint: SandboxEndpoint) => {
13
+ readonly protocol: "ssh" | "docker";
14
+ readonly host: string;
15
+ };
16
+ export interface RemoteShell {
17
+ readonly command: string;
18
+ readonly argsFor: (shellCommand: string) => readonly string[];
19
+ readonly unreachable?: {
20
+ readonly status: number;
21
+ readonly sentence: string;
22
+ } | undefined;
23
+ }
24
+ export declare const remoteShell: (endpoint: SandboxEndpoint, ssh: string, sshOptions: readonly string[]) => RemoteShell;
25
+ export interface InspectedContainer {
26
+ readonly running: boolean;
27
+ readonly env: readonly string[];
28
+ }
29
+ export type InspectContainer = (container: string) => Promise<InspectedContainer | undefined>;
30
+ export declare const inspectContainer: InspectContainer;
31
+ export declare const servesSandbox: (inspected: InspectedContainer | undefined, sandboxUrl: string) => boolean;
32
+ export declare const localSandboxContainer: (sandboxUrl: string, inspect?: InspectContainer) => Promise<string | undefined>;
33
+ export declare const dockerEndpointAnswers: (container: string, sandboxUrl: string, inspect?: InspectContainer) => Promise<boolean>;
34
+ //# sourceMappingURL=endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/sync/endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,OAAO,EAAoB,MAAM,aAAa,CAAC;AAcrF,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzI,eAAO,MAAM,eAAe,YAAa,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,KAAG,eAGrC,CAAC;AAG9D,eAAO,MAAM,UAAU,aAAc,eAAe,QAAQ,MAAM,KAAG,MAC8B,CAAC;AAGpG,eAAO,MAAM,iBAAiB,aAAc,eAAe,WAAW,MAAM,KAAG,MAC2B,CAAC;AAI3G,eAAO,MAAM,YAAY,aAAc,eAAe,KAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACK,CAAC;AAK3H,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IAG9D,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC7F;AAED,eAAO,MAAM,WAAW,aAAc,eAAe,OAAO,MAAM,cAAc,SAAS,MAAM,EAAE,KAAG,WAOoB,CAAC;AAGzH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;AAY9F,eAAO,MAAM,gBAAgB,EAAE,gBAO9B,CAAC;AASF,eAAO,MAAM,aAAa,cAAe,kBAAkB,GAAG,SAAS,cAAc,MAAM,KAAG,OAM7F,CAAC;AAMF,eAAO,MAAM,qBAAqB,eAAsB,MAAM,YAAW,gBAAgB,KAAsB,OAAO,CAAC,MAAM,GAAG,SAAS,CASxI,CAAC;AAIF,eAAO,MAAM,qBAAqB,cAAqB,MAAM,cAAc,MAAM,YAAW,gBAAgB,KAAsB,OAAO,CAAC,OAAO,CAC1F,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { sandboxNames } from "@intentic/sandbox-run";
2
+ import { isSandboxContainerName, pairingTransport } from "./config.js";
3
+ import { runProcess } from "./exec.js";
4
+ import { sshAlias } from "./ssh.js";
5
+ import { pairingSlugs } from "./swap-pause.js";
6
+ export const pairingEndpoint = (pairing) => pairingTransport(pairing) === "docker" && pairing.container !== undefined
7
+ ? { kind: "docker", container: pairing.container }
8
+ : { kind: "ssh", alias: sshAlias(pairing.sandboxId) };
9
+ export const mutagenUrl = (endpoint, path) => endpoint.kind === "ssh" ? `${endpoint.alias}:${path}` : `docker://${endpoint.container}${path}`;
10
+ export const mutagenForwardUrl = (endpoint, address) => endpoint.kind === "ssh" ? `${endpoint.alias}:${address}` : `docker://${endpoint.container}:${address}`;
11
+ export const liveIdentity = (endpoint) => endpoint.kind === "ssh" ? { protocol: "ssh", host: endpoint.alias } : { protocol: "docker", host: endpoint.container };
12
+ export const remoteShell = (endpoint, ssh, sshOptions) => endpoint.kind === "ssh"
13
+ ? {
14
+ command: ssh,
15
+ argsFor: (shellCommand) => [...sshOptions, endpoint.alias, shellCommand],
16
+ unreachable: { status: 255, sentence: "ssh could not reach the sandbox" },
17
+ }
18
+ : { command: "docker", argsFor: (shellCommand) => ["exec", "-i", endpoint.container, "sh", "-c", shellCommand] };
19
+ const INSPECT_FORMAT = "{{.State.Running}}{{range .Config.Env}}\n{{.}}{{end}}";
20
+ const INSPECT_TIMEOUT_MS = 15_000;
21
+ export const inspectContainer = async (container) => {
22
+ const result = await runProcess("docker", ["inspect", "--format", INSPECT_FORMAT, container], { timeoutMs: INSPECT_TIMEOUT_MS });
23
+ if (result.status !== 0) {
24
+ return undefined;
25
+ }
26
+ const [running, ...env] = result.stdout.replace(/\r/g, "").split("\n");
27
+ return { running: running?.trim() === "true", env: env.filter((line) => line !== "") };
28
+ };
29
+ const originOf = (url) => (URL.canParse(url) ? new URL(url).origin : undefined);
30
+ export const servesSandbox = (inspected, sandboxUrl) => {
31
+ const wanted = originOf(sandboxUrl);
32
+ if (inspected?.running !== true || wanted === undefined) {
33
+ return false;
34
+ }
35
+ return inspected.env.some((entry) => entry.startsWith("SANDBOX_PUBLIC_URL=") && originOf(entry.slice("SANDBOX_PUBLIC_URL=".length)) === wanted);
36
+ };
37
+ export const localSandboxContainer = async (sandboxUrl, inspect = inspectContainer) => {
38
+ for (const slug of pairingSlugs(sandboxUrl)) {
39
+ const { container } = sandboxNames(slug);
40
+ if (isSandboxContainerName(container) && servesSandbox(await inspect(container), sandboxUrl)) {
41
+ return container;
42
+ }
43
+ }
44
+ return undefined;
45
+ };
46
+ export const dockerEndpointAnswers = async (container, sandboxUrl, inspect = inspectContainer) => servesSandbox(await inspect(container), sandboxUrl);
47
+ //# sourceMappingURL=endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/sync/endpoint.ts"],"names":[],"mappings":"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"}
@@ -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;AAuDrB,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":"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"}