@intentic/machine 1.326.0 → 1.327.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 (271) hide show
  1. package/README.md +387 -33
  2. package/dist/commands.d.ts.map +1 -1
  3. package/dist/commands.js +2 -0
  4. package/dist/commands.js.map +1 -1
  5. package/dist/daemon-base.d.ts.map +1 -1
  6. package/dist/daemon-base.js +2 -3
  7. package/dist/daemon-base.js.map +1 -1
  8. package/dist/device/audit.d.ts +2 -0
  9. package/dist/device/audit.d.ts.map +1 -1
  10. package/dist/device/audit.js +23 -3
  11. package/dist/device/audit.js.map +1 -1
  12. package/dist/device/commands.d.ts +4 -0
  13. package/dist/device/commands.d.ts.map +1 -1
  14. package/dist/device/commands.js +7 -2
  15. package/dist/device/commands.js.map +1 -1
  16. package/dist/device/connection.d.ts +12 -1
  17. package/dist/device/connection.d.ts.map +1 -1
  18. package/dist/device/connection.js +77 -3
  19. package/dist/device/connection.js.map +1 -1
  20. package/dist/device/grant.d.ts +52 -0
  21. package/dist/device/grant.d.ts.map +1 -1
  22. package/dist/device/loopback-catch.d.ts +1 -1
  23. package/dist/device/loopback-catch.d.ts.map +1 -1
  24. package/dist/device/loopback-catch.js +5 -30
  25. package/dist/device/loopback-catch.js.map +1 -1
  26. package/dist/device/mcp.d.ts.map +1 -1
  27. package/dist/device/mcp.js +190 -30
  28. package/dist/device/mcp.js.map +1 -1
  29. package/dist/device/router.d.ts +52 -0
  30. package/dist/device/router.d.ts.map +1 -1
  31. package/dist/device/router.js +21 -0
  32. package/dist/device/router.js.map +1 -1
  33. package/dist/device/sandbox-rounds/auto-backup.d.ts +3 -1
  34. package/dist/device/sandbox-rounds/auto-backup.d.ts.map +1 -1
  35. package/dist/device/sandbox-rounds/auto-backup.js +14 -5
  36. package/dist/device/sandbox-rounds/auto-backup.js.map +1 -1
  37. package/dist/device/sandbox-rounds/auto-prepare.d.ts +3 -1
  38. package/dist/device/sandbox-rounds/auto-prepare.d.ts.map +1 -1
  39. package/dist/device/sandbox-rounds/auto-prepare.js +3 -3
  40. package/dist/device/sandbox-rounds/auto-prepare.js.map +1 -1
  41. package/dist/device/sandbox-rounds/in-flight.d.ts.map +1 -0
  42. package/dist/device/sandbox-rounds/in-flight.js.map +1 -0
  43. package/dist/device/sandbox-rounds/keeper.d.ts +26 -4
  44. package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -1
  45. package/dist/device/sandbox-rounds/keeper.js +129 -31
  46. package/dist/device/sandbox-rounds/keeper.js.map +1 -1
  47. package/dist/device/sandbox-rounds/probation-watch.d.ts.map +1 -1
  48. package/dist/device/sandbox-rounds/probation-watch.js.map +1 -1
  49. package/dist/device/tools/android-parse.d.ts +69 -0
  50. package/dist/device/tools/android-parse.d.ts.map +1 -0
  51. package/dist/device/tools/android-parse.js +391 -0
  52. package/dist/device/tools/android-parse.js.map +1 -0
  53. package/dist/device/tools/android.d.ts +71 -0
  54. package/dist/device/tools/android.d.ts.map +1 -0
  55. package/dist/device/tools/android.js +534 -0
  56. package/dist/device/tools/android.js.map +1 -0
  57. package/dist/device/tools/apps.d.ts +3 -3
  58. package/dist/device/tools/apps.d.ts.map +1 -1
  59. package/dist/device/tools/apps.js +16 -6
  60. package/dist/device/tools/apps.js.map +1 -1
  61. package/dist/device/tools/describe.d.ts.map +1 -1
  62. package/dist/device/tools/describe.js +10 -5
  63. package/dist/device/tools/describe.js.map +1 -1
  64. package/dist/device/tools/device.d.ts +9 -15
  65. package/dist/device/tools/device.d.ts.map +1 -1
  66. package/dist/device/tools/device.js +34 -58
  67. package/dist/device/tools/device.js.map +1 -1
  68. package/dist/device/tools/elements.d.ts +13 -0
  69. package/dist/device/tools/elements.d.ts.map +1 -0
  70. package/dist/device/tools/elements.js +84 -0
  71. package/dist/device/tools/elements.js.map +1 -0
  72. package/dist/device/tools/ic-binary.d.ts +1 -0
  73. package/dist/device/tools/ic-binary.d.ts.map +1 -1
  74. package/dist/device/tools/ic-binary.js +40 -17
  75. package/dist/device/tools/ic-binary.js.map +1 -1
  76. package/dist/device/tools/sandboxes.d.ts +1 -1
  77. package/dist/device/tools/sandboxes.d.ts.map +1 -1
  78. package/dist/device/tools/sandboxes.js +9 -8
  79. package/dist/device/tools/sandboxes.js.map +1 -1
  80. package/dist/device/tools/shell.js +1 -1
  81. package/dist/device/tools/shell.js.map +1 -1
  82. package/dist/device/tools/view.d.ts +4 -0
  83. package/dist/device/tools/view.d.ts.map +1 -0
  84. package/dist/device/tools/view.js +4 -0
  85. package/dist/device/tools/view.js.map +1 -0
  86. package/dist/environments/children.js +1 -1
  87. package/dist/environments/children.js.map +1 -1
  88. package/dist/environments/commands.js +1 -1
  89. package/dist/environments/commands.js.map +1 -1
  90. package/dist/environments/crossing.d.ts +1 -1
  91. package/dist/environments/crossing.d.ts.map +1 -1
  92. package/dist/environments/machine.js +1 -1
  93. package/dist/environments/machine.js.map +1 -1
  94. package/dist/environments/wsl.d.ts.map +1 -0
  95. package/dist/environments/wsl.js.map +1 -0
  96. package/dist/resident.d.ts.map +1 -1
  97. package/dist/resident.js +14 -8
  98. package/dist/resident.js.map +1 -1
  99. package/dist/status.d.ts.map +1 -1
  100. package/dist/status.js +16 -13
  101. package/dist/status.js.map +1 -1
  102. package/dist/sync/attach-commands.d.ts +39 -0
  103. package/dist/sync/attach-commands.d.ts.map +1 -0
  104. package/dist/sync/attach-commands.js +152 -0
  105. package/dist/sync/attach-commands.js.map +1 -0
  106. package/dist/sync/commands.d.ts +8 -4
  107. package/dist/sync/commands.d.ts.map +1 -1
  108. package/dist/sync/commands.js +137 -79
  109. package/dist/sync/commands.js.map +1 -1
  110. package/dist/sync/config.d.ts +43 -9
  111. package/dist/sync/config.d.ts.map +1 -1
  112. package/dist/sync/config.js +86 -41
  113. package/dist/sync/config.js.map +1 -1
  114. package/dist/sync/endpoint.d.ts +8 -1
  115. package/dist/sync/endpoint.d.ts.map +1 -1
  116. package/dist/sync/endpoint.js +41 -1
  117. package/dist/sync/endpoint.js.map +1 -1
  118. package/dist/sync/environment.d.ts +11 -0
  119. package/dist/sync/environment.d.ts.map +1 -0
  120. package/dist/sync/environment.js +48 -0
  121. package/dist/sync/environment.js.map +1 -0
  122. package/dist/sync/exec.d.ts +1 -0
  123. package/dist/sync/exec.d.ts.map +1 -1
  124. package/dist/sync/exec.js +4 -5
  125. package/dist/sync/exec.js.map +1 -1
  126. package/dist/sync/folders.d.ts +3 -2
  127. package/dist/sync/folders.d.ts.map +1 -1
  128. package/dist/sync/folders.js +55 -2
  129. package/dist/sync/folders.js.map +1 -1
  130. package/dist/sync/forget-command.d.ts +22 -0
  131. package/dist/sync/forget-command.d.ts.map +1 -0
  132. package/dist/sync/forget-command.js +95 -0
  133. package/dist/sync/forget-command.js.map +1 -0
  134. package/dist/sync/git-bridge.d.ts +6 -0
  135. package/dist/sync/git-bridge.d.ts.map +1 -1
  136. package/dist/sync/git-bridge.js +64 -1
  137. package/dist/sync/git-bridge.js.map +1 -1
  138. package/dist/sync/gone-watch.d.ts +18 -0
  139. package/dist/sync/gone-watch.d.ts.map +1 -0
  140. package/dist/sync/gone-watch.js +142 -0
  141. package/dist/sync/gone-watch.js.map +1 -0
  142. package/dist/sync/gone.d.ts +22 -0
  143. package/dist/sync/gone.d.ts.map +1 -0
  144. package/dist/sync/gone.js +60 -0
  145. package/dist/sync/gone.js.map +1 -0
  146. package/dist/sync/local-sandboxes.d.ts +6 -0
  147. package/dist/sync/local-sandboxes.d.ts.map +1 -0
  148. package/dist/sync/local-sandboxes.js +26 -0
  149. package/dist/sync/local-sandboxes.js.map +1 -0
  150. package/dist/sync/mirror.d.ts +7 -0
  151. package/dist/sync/mirror.d.ts.map +1 -1
  152. package/dist/sync/mirror.js +434 -111
  153. package/dist/sync/mirror.js.map +1 -1
  154. package/dist/sync/mutagen.d.ts +50 -18
  155. package/dist/sync/mutagen.d.ts.map +1 -1
  156. package/dist/sync/mutagen.js +294 -80
  157. package/dist/sync/mutagen.js.map +1 -1
  158. package/dist/sync/project/adopt.d.ts +18 -0
  159. package/dist/sync/project/adopt.d.ts.map +1 -0
  160. package/dist/sync/project/adopt.js +86 -0
  161. package/dist/sync/project/adopt.js.map +1 -0
  162. package/dist/sync/{project-commands.d.ts → project/project-commands.d.ts} +4 -1
  163. package/dist/sync/project/project-commands.d.ts.map +1 -0
  164. package/dist/sync/{project-commands.js → project/project-commands.js} +10 -10
  165. package/dist/sync/project/project-commands.js.map +1 -0
  166. package/dist/sync/project/project-delivery.d.ts +23 -0
  167. package/dist/sync/project/project-delivery.d.ts.map +1 -0
  168. package/dist/sync/project/project-delivery.js +315 -0
  169. package/dist/sync/project/project-delivery.js.map +1 -0
  170. package/dist/sync/{project-files.d.ts → project/project-files.d.ts} +1 -1
  171. package/dist/sync/project/project-files.d.ts.map +1 -0
  172. package/dist/sync/{project-files.js → project/project-files.js} +5 -2
  173. package/dist/sync/project/project-files.js.map +1 -0
  174. package/dist/sync/{project-local.d.ts → project/project-local.d.ts} +1 -1
  175. package/dist/sync/project/project-local.d.ts.map +1 -0
  176. package/dist/sync/{project-local.js → project/project-local.js} +1 -1
  177. package/dist/sync/project/project-local.js.map +1 -0
  178. package/dist/sync/{project-remote.d.ts → project/project-remote.d.ts} +1 -1
  179. package/dist/sync/project/project-remote.d.ts.map +1 -0
  180. package/dist/sync/{project-remote.js → project/project-remote.js} +1 -1
  181. package/dist/sync/project/project-remote.js.map +1 -0
  182. package/dist/sync/{project-transfer.d.ts → project/project-transfer.d.ts} +20 -6
  183. package/dist/sync/project/project-transfer.d.ts.map +1 -0
  184. package/dist/sync/{project-transfer.js → project/project-transfer.js} +26 -23
  185. package/dist/sync/project/project-transfer.js.map +1 -0
  186. package/dist/sync/report.d.ts.map +1 -1
  187. package/dist/sync/report.js +13 -7
  188. package/dist/sync/report.js.map +1 -1
  189. package/dist/sync/restore-points.d.ts +15 -11
  190. package/dist/sync/restore-points.d.ts.map +1 -1
  191. package/dist/sync/restore-points.js +25 -24
  192. package/dist/sync/restore-points.js.map +1 -1
  193. package/dist/sync/retire.d.ts +14 -0
  194. package/dist/sync/retire.d.ts.map +1 -0
  195. package/dist/sync/retire.js +66 -0
  196. package/dist/sync/retire.js.map +1 -0
  197. package/dist/sync/siblings.d.ts +27 -0
  198. package/dist/sync/siblings.d.ts.map +1 -0
  199. package/dist/sync/siblings.js +112 -0
  200. package/dist/sync/siblings.js.map +1 -0
  201. package/dist/sync/ssh.d.ts +1 -0
  202. package/dist/sync/ssh.d.ts.map +1 -1
  203. package/dist/sync/ssh.js +37 -23
  204. package/dist/sync/ssh.js.map +1 -1
  205. package/dist/sync/tunnel.d.ts +6 -2
  206. package/dist/sync/tunnel.d.ts.map +1 -1
  207. package/dist/sync/tunnel.js +45 -48
  208. package/dist/sync/tunnel.js.map +1 -1
  209. package/dist/upkeep/doctor.d.ts +5 -0
  210. package/dist/upkeep/doctor.d.ts.map +1 -0
  211. package/dist/upkeep/doctor.js +73 -0
  212. package/dist/upkeep/doctor.js.map +1 -0
  213. package/dist/upkeep/entry.d.ts +26 -0
  214. package/dist/upkeep/entry.d.ts.map +1 -0
  215. package/dist/upkeep/entry.js +2 -0
  216. package/dist/upkeep/entry.js.map +1 -0
  217. package/dist/upkeep/login.d.ts +15 -0
  218. package/dist/upkeep/login.d.ts.map +1 -0
  219. package/dist/upkeep/login.js +128 -0
  220. package/dist/upkeep/login.js.map +1 -0
  221. package/dist/upkeep/manifest.d.ts +3 -0
  222. package/dist/upkeep/manifest.d.ts.map +1 -0
  223. package/dist/upkeep/manifest.js +6 -0
  224. package/dist/upkeep/manifest.js.map +1 -0
  225. package/dist/upkeep/reconcile.d.ts +45 -0
  226. package/dist/upkeep/reconcile.d.ts.map +1 -0
  227. package/dist/upkeep/reconcile.js +159 -0
  228. package/dist/upkeep/reconcile.js.map +1 -0
  229. package/dist/upkeep/retention.d.ts +10 -0
  230. package/dist/upkeep/retention.d.ts.map +1 -0
  231. package/dist/upkeep/retention.js +71 -0
  232. package/dist/upkeep/retention.js.map +1 -0
  233. package/dist/upkeep/retired.d.ts +12 -0
  234. package/dist/upkeep/retired.d.ts.map +1 -0
  235. package/dist/upkeep/retired.js +125 -0
  236. package/dist/upkeep/retired.js.map +1 -0
  237. package/dist/upkeep/second-ic.d.ts +4 -0
  238. package/dist/upkeep/second-ic.d.ts.map +1 -0
  239. package/dist/upkeep/second-ic.js +36 -0
  240. package/dist/upkeep/second-ic.js.map +1 -0
  241. package/dist/upkeep/trash.d.ts +9 -0
  242. package/dist/upkeep/trash.d.ts.map +1 -0
  243. package/dist/upkeep/trash.js +77 -0
  244. package/dist/upkeep/trash.js.map +1 -0
  245. package/dist/watchdog.d.ts +13 -0
  246. package/dist/watchdog.d.ts.map +1 -0
  247. package/dist/watchdog.js +38 -0
  248. package/dist/watchdog.js.map +1 -0
  249. package/package.json +9 -9
  250. package/dist/autostart/legacy-autostart.d.ts +0 -4
  251. package/dist/autostart/legacy-autostart.d.ts.map +0 -1
  252. package/dist/autostart/legacy-autostart.js +0 -33
  253. package/dist/autostart/legacy-autostart.js.map +0 -1
  254. package/dist/device/tools/in-flight.d.ts.map +0 -1
  255. package/dist/device/tools/in-flight.js.map +0 -1
  256. package/dist/sync/project-commands.d.ts.map +0 -1
  257. package/dist/sync/project-commands.js.map +0 -1
  258. package/dist/sync/project-files.d.ts.map +0 -1
  259. package/dist/sync/project-files.js.map +0 -1
  260. package/dist/sync/project-local.d.ts.map +0 -1
  261. package/dist/sync/project-local.js.map +0 -1
  262. package/dist/sync/project-remote.d.ts.map +0 -1
  263. package/dist/sync/project-remote.js.map +0 -1
  264. package/dist/sync/project-transfer.d.ts.map +0 -1
  265. package/dist/sync/project-transfer.js.map +0 -1
  266. package/dist/wsl.d.ts.map +0 -1
  267. package/dist/wsl.js.map +0 -1
  268. /package/dist/device/{tools → sandbox-rounds}/in-flight.d.ts +0 -0
  269. /package/dist/device/{tools → sandbox-rounds}/in-flight.js +0 -0
  270. /package/dist/{wsl.d.ts → environments/wsl.d.ts} +0 -0
  271. /package/dist/{wsl.js → environments/wsl.js} +0 -0
@@ -1,46 +1,49 @@
1
1
  import { spawnSync } from "node:child_process";
2
- import { mkdir } from "node:fs/promises";
2
+ import { mkdir, readdir } from "node:fs/promises";
3
3
  import { join, resolve } from "node:path";
4
4
  import { setTimeout as sleep } from "node:timers/promises";
5
- import { errorMessage } from "@intentic/base/errors";
5
+ import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
6
6
  import { plural } from "@intentic/base/format";
7
7
  import { WORKSPACE_ROOT } from "@intentic/constants";
8
- import { createUi, homeDir } from "@intentic/local-agent";
9
- import { environmentKeyOf, projectDirNameOf, sandboxIdFromUrl, SyncEnrollmentAnswerSchema } from "@intentic/sandbox-contract";
8
+ import { clearWindowsRunValue, createUi, homeDir } from "@intentic/local-agent";
9
+ import { environmentKeyOf, projectDirNameOf, sandboxIdFromUrl, SyncEnrollmentAnswerSchema, } from "@intentic/sandbox-contract";
10
10
  import { buildCommand, buildRouteMap } from "@stricli/core";
11
11
  import { z } from "zod";
12
12
  import { postWhileWarming } from "../daemon-base.js";
13
13
  import { completeSetup, prepareSetup } from "../install.js";
14
14
  import { machineId } from "../machine-id.js";
15
- import { wslEnvironment } from "../wsl.js";
15
+ import { wslEnvironment } from "../environments/wsl.js";
16
16
  import { ensureResident, readResidentBuild, readResidentPid } from "../resident.js";
17
17
  import { MACHINE_VERSION } from "../version.js";
18
18
  import { machineLauncher } from "../supervision.js";
19
- import { isProjectPairing, pairingRemoteDir, readState, removePairing, setAutoHealOff, setMirrorOff, setPortIgnored, upsertPairing, } from "./config.js";
20
- import { localSandboxContainer } from "./endpoint.js";
19
+ import { isAttachedPairing, isProjectPairing, pairingKey, pairingRemoteDir, readState, removePairing, setAutoHealOff, setMirrorOff, setPortIgnored, upsertPairing, } from "./config.js";
20
+ import { transportFor } from "./endpoint.js";
21
21
  import { overlappingPairing } from "./folders.js";
22
22
  import { realBridgeExec, runGitBridge } from "./git-bridge.js";
23
23
  import { retireMirroredPort, retirePairingMirror, teardownAllForwards } from "./mirror.js";
24
- import { projectCommands } from "./project-commands.js";
25
- import { ensureMutagen, existingSyncSessions, healDerivedConflicts, isOwnMutagen, registerMutagenAutostart, retireOrphanSessions, runMutagen, sessionName, syncSessionNames, unregisterMutagenAutostart, } from "./mutagen.js";
24
+ import { asidePrefix } from "./project/adopt.js";
25
+ import { attachCommands } from "./attach-commands.js";
26
+ import { projectCommands } from "./project/project-commands.js";
27
+ import { ensureMutagen, existingSyncSessions, healDerivedConflicts, isOwnMutagen, MUTAGEN_CALL_TIMEOUT_MS, MUTAGEN_RUN_VALUE, registerMutagenAutostart, retireOrphanSessions, runMutagen, sessionName, syncSessionNames, unregisterMutagenAutostart, userMutagenOnPath, } from "./mutagen.js";
28
+ import { forget } from "./forget-command.js";
29
+ import { refuseAcrossPc } from "./siblings.js";
26
30
  import { syncSshPort, tunnelReady } from "./tunnel.js";
27
31
  import { assertSshConfigVisible, ensureSshKey, hostKeyOf, mutagenSshPath, pairingSshConfig, probeSshTransport, removeManagedSshConfig, replaceKnownHost, sanitizeId, sshAlias, writeManagedSshConfig, } from "./ssh.js";
32
+ export { transportFor } from "./endpoint.js";
28
33
  export const selectPairings = (state, selector) => {
29
34
  if (selector === undefined) {
30
35
  return state.pairings;
31
36
  }
32
- const exact = state.pairings.filter((pairing) => pairing.sandboxId === sanitizeId(selector));
33
- if (exact.length === 1) {
34
- return exact;
35
- }
36
- const matched = state.pairings.filter((pairing) => pairing.sandboxId.includes(selector));
37
+ const ids = [...new Set(state.pairings.map((pairing) => pairing.sandboxId))];
38
+ const exact = ids.filter((id) => id === sanitizeId(selector));
39
+ const matched = exact.length === 1 ? exact : ids.filter((id) => id.includes(selector));
37
40
  if (matched.length === 0) {
38
- throw new Error(`no paired sandbox matches "${selector}". This machine pairs: ${state.pairings.map((pairing) => pairing.sandboxId).join(", ") || "none"}`);
41
+ throw new Error(`no paired sandbox matches "${selector}". This machine pairs: ${ids.join(", ") || "none"}`);
39
42
  }
40
43
  if (matched.length > 1) {
41
- throw new Error(`"${selector}" matches more than one paired sandbox: ${matched.map((pairing) => pairing.sandboxId).join(", ")}`);
44
+ throw new Error(`"${selector}" matches more than one paired sandbox: ${matched.join(", ")}`);
42
45
  }
43
- return matched;
46
+ return state.pairings.filter((pairing) => pairing.sandboxId === matched[0]);
44
47
  };
45
48
  export const enrollKey = async (sandboxUrl, pairToken, key, { attempts, delayMs, takeover = false, identity, } = {}) => {
46
49
  const response = await postWhileWarming(sandboxUrl, "/system/authorized-key", {
@@ -89,25 +92,6 @@ const parseTransport = (value) => {
89
92
  }
90
93
  return value;
91
94
  };
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
- };
111
95
  const parseRemoteDir = (value) => {
112
96
  if (value !== WORKSPACE_ROOT && projectDirNameOf(value) === undefined) {
113
97
  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).`);
@@ -159,6 +143,11 @@ const setup = buildCommand({
159
143
  optional: true,
160
144
  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
145
  },
146
+ projectsHost: {
147
+ kind: "boolean",
148
+ optional: true,
149
+ brief: "Enroll this computer's own sandbox with no folder of its own, for folders to attach to (`sync attach`); takes no --dir, --remote-dir or --project",
150
+ },
162
151
  },
163
152
  },
164
153
  async func(flags) {
@@ -195,16 +184,44 @@ export const projectAskedWithoutFlag = (flags, env = process.env) => {
195
184
  ? `This setup was asked to sync a project folder (SYNC_PROJECT, SYNC_REMOTE_DIR), but the install script that ran it did not pass --project: it is older than this agent. Nothing was enrolled. Run the setup again once the script is current.`
196
185
  : undefined;
197
186
  };
187
+ export const projectsHostChange = (held, flags) => {
188
+ if (flags.projectsHost === true && (flags.dir !== undefined || flags.remoteDir !== undefined || flags.project)) {
189
+ return "--projects-host enrolls this computer's sandbox with no folder of its own, so it takes no --dir, --remote-dir or --project. Attach folders to it afterwards with `intentic-machine sync attach`.";
190
+ }
191
+ if (held === undefined) {
192
+ return undefined;
193
+ }
194
+ if (flags.projectsHost === true && held.localDir !== undefined) {
195
+ return `${held.sandboxId} already syncs ${held.localDir}; setting it up as this computer's sandbox for folders would stop that. Unpair it first (\`intentic-machine sync uninstall --sandbox ${held.sandboxId}\`), then set it up again.`;
196
+ }
197
+ if (flags.projectsHost !== true && held.projectsHost === true) {
198
+ return `${held.sandboxId} is this computer's sandbox for folders, which attach to it; setting it up for a folder of its own would leave them without it. Set it up again with --projects-host, or unpair it first (\`intentic-machine sync uninstall --sandbox ${held.sandboxId}\`).`;
199
+ }
200
+ return undefined;
201
+ };
198
202
  const planSetup = async (flags) => {
199
- const skewed = projectAskedWithoutFlag(flags);
203
+ const skewed = flags.projectsHost === true ? undefined : projectAskedWithoutFlag(flags);
200
204
  if (skewed !== undefined) {
201
205
  throw new Error(skewed);
202
206
  }
203
207
  const sandboxId = flags.sandboxId ?? sanitizeId(new URL(flags.url).host);
208
+ const { pairings } = await readState();
209
+ const held = pairings.find((pairing) => pairingKey(pairing) === sandboxId);
210
+ const hostChange = projectsHostChange(held, flags);
211
+ if (hostChange !== undefined) {
212
+ throw new Error(hostChange);
213
+ }
214
+ if (flags.projectsHost === true) {
215
+ return {
216
+ sandboxId,
217
+ placement: {},
218
+ folder: undefined,
219
+ reach: await transportFor(flags.transport ?? "auto", { projectsHost: true }, flags.url),
220
+ };
221
+ }
204
222
  const placement = placementOf(flags);
205
223
  const folder = wantedFolder(flags, sandboxId);
206
- const { pairings } = await readState();
207
- const changed = placementChange(pairings.find((held) => held.sandboxId === sandboxId), placement);
224
+ const changed = placementChange(held, placement);
208
225
  if (changed !== undefined) {
209
226
  throw new Error(changed);
210
227
  }
@@ -212,12 +229,19 @@ const planSetup = async (flags) => {
212
229
  if (clash !== undefined) {
213
230
  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).`);
214
231
  }
232
+ const across = await refuseAcrossPc(folder);
233
+ if (across.refusal !== undefined) {
234
+ throw new Error(across.refusal);
235
+ }
215
236
  const reach = await transportFor(flags.transport ?? "auto", placement, flags.url);
216
- return { sandboxId, placement, folder, reach };
237
+ return { sandboxId, placement, folder, reach, unread: across.unread };
217
238
  };
218
239
  const runSetup = async (ui, out, flags) => {
219
240
  ui.step("sync-enrolling", "enrolling this machine with your sandbox…");
220
- const { sandboxId, placement, folder, reach } = await planSetup(flags);
241
+ const { sandboxId, placement, folder, reach, unread = [] } = await planSetup(flags);
242
+ if (unread.length > 0) {
243
+ out(`note: ${unread.join(", ")} could not be asked which folders ${unread.length === 1 ? "it syncs" : "they sync"}, so ${folder ?? "this folder"} was not checked against ${unread.length === 1 ? "it" : "them"}.`);
244
+ }
221
245
  const publicKey = await ensureSshKey();
222
246
  const [{ syncToken, mode, hostKey }, mutagen] = await Promise.all([
223
247
  enrollKey(flags.url, flags.pair, publicKey, {
@@ -229,21 +253,25 @@ const runSetup = async (ui, out, flags) => {
229
253
  out(`enrolled SSH key with ${flags.url}`);
230
254
  const container = dockerContainerOf(reach, mode);
231
255
  await pinHostKey(sandboxId, hostKey, container);
232
- if (placement.project === true && mode !== "sync") {
256
+ if ((placement.project === true || flags.projectsHost === true) && mode !== "sync") {
233
257
  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.`));
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.");
258
+ throw new Error(`another machine holds file sync for this sandbox, so ${flags.projectsHost === true ? "no folder can attach to it" : "this project folder cannot sync"} here. Re-run with --takeover to move sync to this machine.`);
235
259
  }
236
260
  const localDir = mode === "sync" ? folder : undefined;
261
+ const adopt = localDir !== undefined && placement.project !== true && (await holdsEntries(localDir));
237
262
  if (localDir !== undefined) {
238
263
  await mkdir(localDir, { recursive: true });
239
264
  }
240
- const pairing = {
241
- sandboxUrl: flags.url,
242
- sandboxId,
243
- mode,
244
- syncToken,
245
- ...(localDir === undefined ? {} : { localDir, ...placement, ...reach }),
246
- };
265
+ const pairing = flags.projectsHost === true
266
+ ? { sandboxUrl: flags.url, sandboxId, mode, syncToken, projectsHost: true, ...reach }
267
+ : {
268
+ sandboxUrl: flags.url,
269
+ sandboxId,
270
+ mode,
271
+ syncToken,
272
+ ...(localDir === undefined ? {} : { localDir, ...placement, ...reach }),
273
+ ...(adopt ? { adoptFolder: true } : {}),
274
+ };
247
275
  ui.step("sync-linking", "linking the folder to your sandbox…");
248
276
  await upsertPairing(pairing);
249
277
  const pairings = (await readState()).pairings;
@@ -252,14 +280,15 @@ const runSetup = async (ui, out, flags) => {
252
280
  await ensureResident(out);
253
281
  await completeSetup(out);
254
282
  await proveTransport(out, sandboxId, container);
255
- if (mode === "sync" && !(await syncSessionAppears(mutagen, sandboxId, SESSION_READY_MS))) {
256
- out(await notStartedYet(localDir ?? sandboxId));
283
+ if (mode === "sync" && localDir !== undefined && !(await syncSessionAppears(mutagen, sandboxId, SESSION_READY_MS))) {
284
+ out(await notStartedYet(localDir));
257
285
  }
258
286
  retireOrphanSessions(mutagen, pairings, out);
259
287
  runGitBridge(realBridgeExec, pairing, out, undefined);
260
288
  registerMutagenAutostart(mutagen, machineLauncher(), out);
261
289
  finishSetup(ui, flags.url, pairing, pairings);
262
290
  };
291
+ const holdsEntries = async (dir) => ((await readdir(dir).catch(undefinedIfMissing))?.length ?? 0) > 0;
263
292
  const dockerContainerOf = (reach, mode) => mode === "sync" && reach.transport === "docker" ? reach.container : undefined;
264
293
  const pinHostKey = async (sandboxId, hostKey, container) => {
265
294
  if (container === undefined) {
@@ -280,26 +309,37 @@ const proveTransport = async (out, sandboxId, container) => {
280
309
  assertSshConfigVisible(ssh, alias, port);
281
310
  await probeSshTransport(ssh, alias, out);
282
311
  };
312
+ const syncedSentence = (pairing) => {
313
+ const kept = `That folder and your sandbox's ${pairingRemoteDir(pairing)} are kept the same from now on; the first copy can take a few minutes.`;
314
+ return pairing.adoptFolder === true && pairing.localDir !== undefined
315
+ ? `${kept}\nThe folder already held files: any that differ from the sandbox's copy are moved to ${asidePrefix(pairing.localDir)}<time> first, so the sandbox's version is the one that syncs. Nothing is deleted.`
316
+ : kept;
317
+ };
283
318
  const finishSetup = (ui, sandboxUrl, pairing, pairings) => {
284
319
  if (pairings.length > 1) {
285
- ui.note(`This machine now syncs ${pairings.length} sandboxes:`);
320
+ ui.note(`This machine now syncs ${pairings.length} pairings:`);
286
321
  for (const held of pairings) {
287
- ui.note(` ${held.sandboxId}${held.localDir === undefined ? " (ports only)" : ` → ${held.localDir}`}`);
322
+ ui.note(` ${pairingKey(held)}${held.projectsHost === true ? " (this computer's sandbox, for folders)" : held.localDir === undefined ? " (ports only)" : ` → ${held.localDir}`}`);
288
323
  }
289
324
  }
325
+ if (pairing.projectsHost === true) {
326
+ ui.finished("This computer's sandbox is ready for folders.", undefined, `Ports from ${sandboxUrl} answer on this machine's localhost, and folders attach to it as ${WORKSPACE_ROOT}/<name>.`, [
327
+ ["attach a folder", "intentic-machine sync attach --sandbox-url <url> --dir <folder> --name <name>"],
328
+ ["check it", "intentic-machine status"],
329
+ ]);
330
+ return;
331
+ }
290
332
  const syncing = pairing.mode === "sync";
291
- ui.finished(syncing ? "Desktop sync is running." : "Enrolled for port mirroring.", syncing ? pairing.localDir : undefined, syncing
292
- ? `That folder and your sandbox's ${pairingRemoteDir(pairing)} are now the same files.`
293
- : `Ports from ${sandboxUrl} now answer on this machine's localhost (mirror-only, no file sync).`, [
333
+ ui.finished(syncing ? "Desktop sync is running." : "Enrolled for port mirroring.", syncing ? pairing.localDir : undefined, syncing ? syncedSentence(pairing) : `Ports from ${sandboxUrl} now answer on this machine's localhost (mirror-only, no file sync).`, [
294
334
  ["check it", "intentic-machine status"],
295
335
  ["remove it", "intentic-machine sync uninstall"],
296
336
  ]);
297
337
  };
298
338
  const TUNNEL_READY_MS = 10_000;
299
339
  const SESSION_READY_MS = 90_000;
300
- const syncSessionAppears = async (mutagen, sandboxId, withinMs) => {
340
+ const syncSessionAppears = async (mutagen, key, withinMs) => {
301
341
  const deadline = Date.now() + withinMs;
302
- while (existingSyncSessions(mutagen, [sessionName(sandboxId)]).length === 0) {
342
+ while ((existingSyncSessions(mutagen, [sessionName(key)]) ?? []).length === 0) {
303
343
  if (Date.now() >= deadline) {
304
344
  return false;
305
345
  }
@@ -327,7 +367,7 @@ export const syncSwitchPlan = (syncing, held) => {
327
367
  const acted = syncing.filter((pairing) => covered(pairing).length > 0);
328
368
  return { names: acted.flatMap(covered), acted, idle: syncing.filter((pairing) => covered(pairing).length === 0) };
329
369
  };
330
- const named = (pairings) => pairings.map((pairing) => pairing.sandboxId).join(", ");
370
+ const named = (pairings) => pairings.map(pairingKey).join(", ");
331
371
  const pairingCommand = (brief, flags, none, act) => buildCommand({
332
372
  docs: { brief },
333
373
  parameters: { flags },
@@ -348,13 +388,17 @@ const noteIfStopped = async (out) => {
348
388
  }
349
389
  };
350
390
  const fileSyncSwitch = (brief, verb) => pairingCommand(brief, sandboxFlag, `no sandboxes are paired on this machine: nothing to ${verb}. Enable sync from a sandbox's Desktop sync card.`, async (selected, _flags, out) => {
351
- const syncing = selected.filter((pairing) => pairing.mode === "sync");
391
+ const syncing = selected.filter((pairing) => pairing.mode === "sync" && pairing.projectsHost !== true);
352
392
  if (syncing.length === 0) {
353
393
  out(`mirror-only enrollment${selected.length > 1 ? "s" : ""}, no file sync to ${verb}.`);
354
394
  return;
355
395
  }
356
396
  const mutagen = await ensureMutagen();
357
- const plan = syncSwitchPlan(syncing, existingSyncSessions(mutagen, syncing.flatMap((pairing) => syncSessionNames(pairing))));
397
+ const held = existingSyncSessions(mutagen, syncing.flatMap((pairing) => syncSessionNames(pairing)));
398
+ if (held === undefined) {
399
+ throw new Error(`Mutagen did not answer when asked which sessions it holds, so nothing was ${verb === "pause" ? "paused" : "resumed"}. Try again in a moment.`);
400
+ }
401
+ const plan = syncSwitchPlan(syncing, held);
358
402
  if (plan.names.length === 0) {
359
403
  out(`No file-sync session is running for: ${named(syncing)}. Nothing to ${verb}; syncing starts when the sandbox answers again.`);
360
404
  return;
@@ -368,9 +412,11 @@ const fileSyncSwitch = (brief, verb) => pairingCommand(brief, sandboxFlag, `no s
368
412
  const mirrorSwitch = (brief, off) => pairingCommand(brief, sandboxFlag, NONE_TO_MIRROR, async (selected, _flags, out) => {
369
413
  const mutagen = await ensureMutagen();
370
414
  for (const pairing of selected) {
371
- await setMirrorOff(pairing.sandboxId, off);
372
- if (off) {
373
- await retirePairingMirror(mutagen, pairing.sandboxId);
415
+ await setMirrorOff(pairingKey(pairing), off);
416
+ }
417
+ if (off) {
418
+ for (const sandboxId of new Set(selected.map((pairing) => pairing.sandboxId))) {
419
+ await retirePairingMirror(mutagen, sandboxId);
374
420
  }
375
421
  }
376
422
  if (off) {
@@ -390,8 +436,8 @@ const parsePort = (value) => {
390
436
  const mirrorPortSwitch = (brief, ignored) => pairingCommand(brief, { ...sandboxFlag, port: { kind: "parsed", parse: parsePort, brief: "The port number, as the sandbox serves it" } }, NONE_TO_MIRROR, async (selected, flags, out) => {
391
437
  const mutagen = await ensureMutagen();
392
438
  let taken = 0;
393
- for (const pairing of selected) {
394
- await setPortIgnored(pairing.sandboxId, flags.port, ignored);
439
+ for (const pairing of selected.filter((held) => !isAttachedPairing(held))) {
440
+ await setPortIgnored(pairingKey(pairing), flags.port, ignored);
395
441
  if (ignored) {
396
442
  taken += (await retireMirroredPort(mutagen, pairing.sandboxId, flags.port)) ? 1 : 0;
397
443
  }
@@ -440,7 +486,7 @@ const clean = buildCommand({
440
486
  });
441
487
  const autoHealSwitch = (brief, off) => pairingCommand(brief, sandboxFlag, "no sandboxes are paired on this machine: nothing to switch.", async (selected, _flags, out) => {
442
488
  for (const pairing of selected) {
443
- await setAutoHealOff(pairing.sandboxId, off);
489
+ await setAutoHealOff(pairingKey(pairing), off);
444
490
  }
445
491
  out(off
446
492
  ? `Clearing derived residue is OFF for: ${named(selected)}. A deletion the sandbox makes will now stop syncing whenever this device has build output inside it; \`intentic-machine sync clean\` clears one by hand.`
@@ -457,31 +503,43 @@ export const syncUninstall = async (out, sandbox, { forGood = false } = {}) => {
457
503
  const state = await readState();
458
504
  const dropped = selectPairings(state, sandbox);
459
505
  const mutagen = await ensureMutagen();
460
- const remaining = state.pairings.filter((held) => !dropped.some((pairing) => pairing.sandboxId === held.sandboxId));
506
+ const remaining = state.pairings.filter((held) => !dropped.some((pairing) => pairingKey(pairing) === pairingKey(held)));
507
+ const revoked = new Set();
461
508
  for (const pairing of dropped) {
462
- if (pairing.syncToken !== undefined) {
509
+ const firstOfSandbox = !revoked.has(pairing.sandboxId);
510
+ revoked.add(pairing.sandboxId);
511
+ if (pairing.syncToken !== undefined && firstOfSandbox) {
463
512
  await revokeEnrollment(pairing.sandboxUrl, pairing.syncToken).catch((error) => out(`note: ${pairing.sandboxUrl} 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.`));
464
513
  }
465
- if (pairing.mode === "sync") {
466
- spawnSync(mutagen, ["sync", "terminate", ...syncSessionNames(pairing)], { stdio: "ignore", windowsHide: true });
514
+ if (pairing.mode === "sync" && syncSessionNames(pairing).length > 0) {
515
+ spawnSync(mutagen, ["sync", "terminate", ...syncSessionNames(pairing)], {
516
+ stdio: "ignore",
517
+ windowsHide: true,
518
+ timeout: MUTAGEN_CALL_TIMEOUT_MS,
519
+ });
520
+ }
521
+ if (firstOfSandbox) {
522
+ await retirePairingMirror(mutagen, pairing.sandboxId);
467
523
  }
468
- await retirePairingMirror(mutagen, pairing.sandboxId);
469
- await removePairing(pairing.sandboxId);
470
- out(`unpaired ${pairing.sandboxId}${pairing.localDir === undefined ? "" : ` (${pairing.localDir} is no longer synced)`}.`);
524
+ await removePairing(pairingKey(pairing));
525
+ out(`unpaired ${pairingKey(pairing)}${pairing.localDir === undefined ? "" : ` (${pairing.localDir} is no longer synced)`}.`);
471
526
  }
472
527
  if (remaining.length > 0) {
473
528
  await writeManagedSshConfig(pairingSshConfig(remaining));
474
529
  await ensureResident(out, { forGood });
475
- out(`Still syncing ${plural(remaining.length, "sandbox")}: ${remaining.map((pairing) => pairing.sandboxId).join(", ")}`);
530
+ out(`Still syncing ${plural(remaining.length, "pairing")}: ${named(remaining)}`);
476
531
  return;
477
532
  }
478
533
  await ensureResident(out, { forGood });
479
534
  await teardownAllForwards(mutagen, out);
480
535
  await removeManagedSshConfig();
481
- const ownCopy = isOwnMutagen(mutagen);
536
+ const ownCopy = isOwnMutagen(mutagen) && userMutagenOnPath() === undefined;
482
537
  if (ownCopy) {
483
538
  unregisterMutagenAutostart(mutagen);
484
- spawnSync(mutagen, ["daemon", "stop"], { stdio: "ignore", windowsHide: true });
539
+ spawnSync(mutagen, ["daemon", "stop"], { stdio: "ignore", windowsHide: true, timeout: MUTAGEN_CALL_TIMEOUT_MS });
540
+ }
541
+ else if (process.platform === "win32") {
542
+ clearWindowsRunValue(MUTAGEN_RUN_VALUE);
485
543
  }
486
544
  out(ownCopy
487
545
  ? "Sync terminated; ssh-config include removed; Mutagen daemon stopped and unregistered."
@@ -497,5 +555,5 @@ const uninstall = buildCommand({
497
555
  });
498
556
  const pause = fileSyncSwitch("Pause file syncing", "pause");
499
557
  const resume = fileSyncSwitch("Resume file syncing", "resume");
500
- export const syncCommands = { setup, pause, resume, mirror, clean, autoheal, uninstall, ...projectCommands };
558
+ export const syncCommands = { setup, pause, resume, mirror, clean, autoheal, uninstall, forget, ...attachCommands, ...projectCommands };
501
559
  //# sourceMappingURL=commands.js.map
@@ -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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"}
@@ -25,6 +25,9 @@ export declare const isSandboxContainerName: (name: string | undefined) => name
25
25
  export interface Pairing {
26
26
  readonly sandboxUrl: string;
27
27
  readonly sandboxId: string;
28
+ readonly key?: string | undefined;
29
+ readonly projectsHost?: true | undefined;
30
+ readonly deliver?: DeliverMode | undefined;
28
31
  readonly mode: SyncMode;
29
32
  readonly localDir?: string;
30
33
  readonly syncToken?: string;
@@ -40,26 +43,57 @@ export interface Pairing {
40
43
  readonly direction?: ProjectDirection | undefined;
41
44
  readonly transport?: SyncTransport | undefined;
42
45
  readonly container?: string | undefined;
46
+ readonly goneSince?: number | undefined;
47
+ readonly goneCheckedAt?: number | undefined;
48
+ readonly goneBy?: GoneWitness | undefined;
49
+ readonly unreachableSince?: number | undefined;
50
+ readonly fileSyncPausedFor?: WatcherPause | undefined;
51
+ readonly icSlug?: string | undefined;
52
+ readonly adoptFolder?: true | undefined;
43
53
  }
54
+ export type GoneWitness = "edge" | "local";
55
+ export type WatcherPause = "gone" | "container-missing" | "container-trashed";
56
+ export declare const pairingKey: (pairing: Pick<Pairing, "key" | "sandboxId">) => string;
57
+ export declare const attachedKey: (sandboxId: string, name: string) => string;
58
+ export declare const isAttachedPairing: (pairing: Pick<Pairing, "key">) => boolean;
59
+ export type DeliverMode = "auto" | "off";
60
+ export declare const deliversByItself: (pairing: Pick<Pairing, "deliver">) => boolean;
44
61
  export declare const pairingTransport: (pairing: Pick<Pairing, "transport" | "container">) => SyncTransport;
45
62
  export type ProjectDirection = "to-sandbox" | "both";
46
63
  export declare const projectDirection: (pairing: Pick<Pairing, "direction">) => ProjectDirection;
47
64
  export declare const pairingRemoteDir: (pairing: Pick<Pairing, "remoteDir">) => string;
48
65
  export declare const isProjectPairing: (pairing: Pick<Pairing, "project">) => boolean;
49
- export declare const pairingProblem: (pairing: Pick<Pairing, "remoteDir" | "project" | "container"> & {
66
+ export declare const pairingProblem: (pairing: PlacementFields) => string | undefined;
67
+ type PlacementFields = Pick<Pairing, "remoteDir" | "project" | "container" | "key" | "projectsHost"> & {
68
+ readonly sandboxId?: string | undefined;
69
+ readonly localDir?: string | undefined;
50
70
  readonly transport?: string | undefined;
51
- }) => string | undefined;
71
+ };
52
72
  export interface SyncState {
53
73
  readonly pairings: readonly Pairing[];
54
74
  }
55
75
  export declare const readState: () => Promise<SyncState>;
56
76
  export declare const updateState: (mutate: (state: SyncState) => SyncState) => Promise<void>;
57
77
  export declare const upsertPairing: (pairing: Pairing) => Promise<void>;
58
- export declare const removePairing: (sandboxId: string) => Promise<void>;
59
- export declare const setMirrorOff: (sandboxId: string, off: boolean) => Promise<void>;
60
- export declare const setPortIgnored: (sandboxId: string, port: number, ignored: boolean) => Promise<void>;
61
- export declare const setAutoHealOff: (sandboxId: string, off: boolean) => Promise<void>;
62
- export declare const setFileSyncAutoPaused: (sandboxId: string, paused: boolean) => Promise<void>;
63
- export declare const setFileSyncSwapPaused: (sandboxId: string, paused: boolean) => Promise<void>;
64
- export declare const setProjectDirection: (sandboxId: string, direction: ProjectDirection) => Promise<void>;
78
+ export declare const withPairing: (pairings: readonly Pairing[], pairing: Pairing) => Pairing[];
79
+ export declare const removePairing: (key: string) => Promise<void>;
80
+ export declare const removeSandboxPairings: (sandboxId: string) => Promise<void>;
81
+ export declare const setMirrorOff: (key: string, off: boolean) => Promise<void>;
82
+ export declare const setPortIgnored: (key: string, port: number, ignored: boolean) => Promise<void>;
83
+ export declare const setAutoHealOff: (key: string, off: boolean) => Promise<void>;
84
+ export declare const setFileSyncAutoPaused: (key: string, paused: boolean) => Promise<void>;
85
+ export declare const setFileSyncSwapPaused: (key: string, paused: boolean) => Promise<void>;
86
+ export declare const clearAdoptFolder: (key: string) => Promise<void>;
87
+ export declare const setFileSyncPausedFor: (key: string, reason: WatcherPause | undefined) => Promise<void>;
88
+ export declare const updateSandboxPairings: (sandboxId: string, change: (held: Pairing) => Pairing) => Promise<void>;
89
+ export declare const setSandboxGone: (sandboxId: string, gone: {
90
+ readonly since: number;
91
+ readonly checkedAt: number;
92
+ readonly by: GoneWitness;
93
+ } | undefined) => Promise<void>;
94
+ export declare const setUnreachableSince: (sandboxId: string, since: number | undefined) => Promise<void>;
95
+ export declare const setIcSlug: (sandboxId: string, slug: string) => Promise<void>;
96
+ export declare const moveSandboxToSsh: (sandboxId: string) => Promise<void>;
97
+ export declare const setProjectDirection: (key: string, direction: ProjectDirection) => Promise<void>;
98
+ export {};
65
99
  //# sourceMappingURL=config.d.ts.map
@@ -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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"}