lockin-mcp 1.0.11 → 1.0.12

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 (41) hide show
  1. package/README.md +8 -2
  2. package/dist/index.js +13 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/installer/auto-update.d.ts +2 -1
  5. package/dist/installer/auto-update.d.ts.map +1 -1
  6. package/dist/installer/auto-update.js +279 -64
  7. package/dist/installer/auto-update.js.map +1 -1
  8. package/dist/installer/auto-update.test.js +25 -3
  9. package/dist/installer/auto-update.test.js.map +1 -1
  10. package/dist/installer/background-service.js +2 -2
  11. package/dist/installer/background-service.js.map +1 -1
  12. package/dist/installer/daemon-linux.d.ts +8 -0
  13. package/dist/installer/daemon-linux.d.ts.map +1 -1
  14. package/dist/installer/daemon-linux.js +5 -1
  15. package/dist/installer/daemon-linux.js.map +1 -1
  16. package/dist/installer/daemon-windows.d.ts +8 -0
  17. package/dist/installer/daemon-windows.d.ts.map +1 -1
  18. package/dist/installer/daemon-windows.js +6 -1
  19. package/dist/installer/daemon-windows.js.map +1 -1
  20. package/dist/installer/daemon.d.ts +8 -0
  21. package/dist/installer/daemon.d.ts.map +1 -1
  22. package/dist/installer/daemon.js +6 -2
  23. package/dist/installer/daemon.js.map +1 -1
  24. package/dist/installer/npm-resolve.d.ts +5 -0
  25. package/dist/installer/npm-resolve.d.ts.map +1 -1
  26. package/dist/installer/npm-resolve.js +34 -2
  27. package/dist/installer/npm-resolve.js.map +1 -1
  28. package/dist/installer/port.d.ts.map +1 -1
  29. package/dist/installer/port.js +34 -1
  30. package/dist/installer/port.js.map +1 -1
  31. package/dist/installer/run.js +23 -3
  32. package/dist/installer/run.js.map +1 -1
  33. package/dist/installer/update-lock.d.ts +3 -0
  34. package/dist/installer/update-lock.d.ts.map +1 -0
  35. package/dist/installer/update-lock.js +37 -0
  36. package/dist/installer/update-lock.js.map +1 -0
  37. package/dist/installer/update-lock.test.d.ts +2 -0
  38. package/dist/installer/update-lock.test.d.ts.map +1 -0
  39. package/dist/installer/update-lock.test.js +56 -0
  40. package/dist/installer/update-lock.test.js.map +1 -0
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -235,7 +235,7 @@ The npm package `lockin-mcp` replaces the legacy `mac-distraction-blocker-mcp` n
235
235
  5. **Starts the MCP HTTP server** locally with an outbound relay connection (background LaunchAgent on macOS)
236
236
  6. **Provisions a stable relay URL** (`https://relay.lockinmcp.com/device/{id}/mcp`) so Poke, Claude, and ChatGPT can reach your Mac
237
237
  7. **Connects your AI agent** — Poke, Claude (web), ChatGPT, Cursor, Hermes, and OpenClaw connect via the dashboard or OAuth; Claude Desktop uses `connect-agent` CLI + mcp-remote (not on the dashboard grid)
238
- 8. **Auto-updates the daemon** — when a background service is installed, checks npm every 6 hours and restarts after upgrading
238
+ 8. **Auto-updates the daemon** — when a background service is installed, checks npm every 5 minutes and restarts after upgrading
239
239
 
240
240
  ### Installer flags (non-interactive)
241
241
 
@@ -414,7 +414,13 @@ The Chrome extension tracks page visits during active focus sessions and syncs t
414
414
 
415
415
  ## Daemon auto-update
416
416
 
417
- When the background service (LaunchAgent/systemd/Windows task) is installed, the daemon checks npm for new `lockin-mcp` releases every **6 hours** (first check after 15 seconds). Updates install to `~/.lockin/npm/` and restart the service automatically. Last check timestamp: `~/.lockin/last-update-check.json`.
417
+ When the background service (LaunchAgent/systemd/Windows task) is installed, the daemon checks npm for new `lockin-mcp` releases every **5 minutes** (first check after 5 seconds). Updates install to `~/.lockin/npm/` and restart the service automatically. Last check timestamp: `~/.lockin/last-update-check.json`.
418
+
419
+ Force an update check anytime:
420
+
421
+ ```bash
422
+ npx lockin-mcp update
423
+ ```
418
424
 
419
425
  ## Privileges & `/etc/hosts`
420
426
 
package/dist/index.js CHANGED
@@ -397,6 +397,19 @@ async function main() {
397
397
  await runInstaller(argv.slice(1));
398
398
  return;
399
399
  }
400
+ if (argv[0] === "update") {
401
+ const { checkAndApplyUpdate } = await import("./installer/auto-update.js");
402
+ const logs = [];
403
+ await checkAndApplyUpdate((message) => {
404
+ logs.push(message);
405
+ log(`[update] ${message}`);
406
+ });
407
+ if (logs.length === 0) {
408
+ log("[update] No update output");
409
+ }
410
+ process.exit(0);
411
+ return;
412
+ }
400
413
  if (argv[0] === "dev-reset") {
401
414
  const { runDevReset, parseDevResetArgs, printDevResetHelp } = await import("./installer/dev-reset.js");
402
415
  if (argv.includes("--help") || argv.includes("-h")) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  export declare function getManagedServerEntry(): string;
2
+ export declare function readManagedInstalledVersion(): Promise<string | null>;
2
3
  export declare function readInstalledVersion(): Promise<string>;
3
4
  export declare function fetchLatestVersion(): Promise<string | null>;
4
5
  export declare function compareVersions(a: string, b: string): number;
5
6
  export declare function ensureManagedInstall(version?: string): Promise<string>;
6
- /** Prefer a managed npm install; fall back to latest, then the local bundle entry. */
7
+ /** Prefer a managed npm install at @latest; fall back to the local bundle entry. */
7
8
  export declare function resolveManagedServerEntry(localEntry: string): Promise<string>;
8
9
  export declare function checkAndApplyUpdate(onLog: (message: string) => void): Promise<boolean>;
9
10
  export declare function startAutoUpdateWatcher(onLog: (message: string) => void): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/installer/auto-update.ts"],"names":[],"mappings":"AAwDA,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAa5D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5E;AAED,sFAAsF;AACtF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AA6ED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,OAAO,CAAC,CA8ClB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC/B,MAAM,IAAI,CAoCZ"}
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/installer/auto-update.ts"],"names":[],"mappings":"AAgGA,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAa1E;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAkB5D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU5D;AAyGD,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC5E;AAED,oFAAoF;AACpF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAajB;AAuJD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,OAAO,CAAC,CAiFlB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC/B,MAAM,IAAI,CAiCZ"}
@@ -1,12 +1,16 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { execFile } from "node:child_process";
2
- import { access, mkdir, readFile, writeFile } from "node:fs/promises";
3
+ import { access, cp, mkdir, mkdtemp, readFile, rename, rm, writeFile, } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
3
5
  import { dirname, join } from "node:path";
4
6
  import { fileURLToPath } from "node:url";
5
7
  import { promisify } from "node:util";
6
8
  import { getInstallDir } from "./platform.js";
7
- import { readRelayCredentials } from "./relay-credentials.js";
8
- import { fetchLatestPackageVersion, persistNpmExecutable, resolveNpmExecutable, } from "./npm-resolve.js";
9
+ import { fetchLockInHealthSnapshot, stopLockInListenersOnPort, waitForPortAvailable, } from "./port.js";
9
10
  import { readMcpAuthTokenFromManifest } from "./setup-manifest.js";
11
+ import { readRelayCredentials } from "./relay-credentials.js";
12
+ import { buildExpandedPath, fetchLatestPackageVersion, fetchPackageDistMetadata, persistNpmExecutable, resolveNpmExecutable, } from "./npm-resolve.js";
13
+ import { withUpdateLock } from "./update-lock.js";
10
14
  const execFileAsync = promisify(execFile);
11
15
  const NPM_EXEC_OPTIONS = process.platform === "win32" ? { shell: true } : undefined;
12
16
  let cachedNpmExecutable = null;
@@ -17,27 +21,50 @@ async function getNpmExecutable() {
17
21
  cachedNpmExecutable = await resolveNpmExecutable();
18
22
  return cachedNpmExecutable;
19
23
  }
24
+ function npmCommandEnv() {
25
+ return {
26
+ ...process.env,
27
+ PATH: buildExpandedPath(),
28
+ };
29
+ }
20
30
  async function runNpm(args, timeout) {
21
31
  const npmExecutable = await getNpmExecutable();
22
32
  const { stdout } = await execFileAsync(npmExecutable, args, {
23
33
  timeout,
24
- env: {
25
- ...process.env,
26
- PATH: process.env.PATH,
27
- },
34
+ env: npmCommandEnv(),
28
35
  ...NPM_EXEC_OPTIONS,
29
36
  });
30
37
  return stdout.toString();
31
38
  }
32
39
  const PACKAGE_NAME = "lockin-mcp";
33
40
  const NPM_PREFIX = join(getInstallDir(), "npm");
34
- const UPDATE_CHECK_INTERVAL_MS = 6 * 60 * 60 * 1000;
35
- const STARTUP_CHECK_DELAY_MS = 15_000;
41
+ /** Poll npm often so published releases reach users within minutes, not hours. */
42
+ const UPDATE_CHECK_INTERVAL_MS = 5 * 60 * 1000;
43
+ const STARTUP_CHECK_DELAY_MS = 5_000;
44
+ const RESTART_EXIT_DELAY_MS = 750;
45
+ const RESTART_VERIFY_TIMEOUT_MS = 30_000;
36
46
  const LAST_CHECK_FILE = join(getInstallDir(), "last-update-check.json");
47
+ function sleep(ms) {
48
+ return new Promise((resolve) => setTimeout(resolve, ms));
49
+ }
37
50
  export function getManagedServerEntry() {
38
51
  return join(NPM_PREFIX, "node_modules", PACKAGE_NAME, "dist", "index.js");
39
52
  }
53
+ export async function readManagedInstalledVersion() {
54
+ try {
55
+ const pkgPath = join(NPM_PREFIX, "node_modules", PACKAGE_NAME, "package.json");
56
+ const raw = await readFile(pkgPath, "utf8");
57
+ return JSON.parse(raw).version;
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
40
63
  export async function readInstalledVersion() {
64
+ const managed = await readManagedInstalledVersion();
65
+ if (managed) {
66
+ return managed;
67
+ }
41
68
  try {
42
69
  const pkgPath = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "package.json");
43
70
  const raw = await readFile(pkgPath, "utf8");
@@ -72,15 +99,121 @@ export function compareVersions(a, b) {
72
99
  }
73
100
  return 0;
74
101
  }
75
- export async function ensureManagedInstall(version) {
76
- await mkdir(NPM_PREFIX, { recursive: true });
77
- const target = version ? `${PACKAGE_NAME}@${version}` : `${PACKAGE_NAME}@latest`;
78
- await runNpm(["install", target, "--prefix", NPM_PREFIX, "--no-fund", "--no-audit", "--loglevel=error"], 180_000);
102
+ function verifyPackageIntegrity(archiveBytes, metadata) {
103
+ if (metadata.integrity) {
104
+ const [algorithm, expected] = metadata.integrity.split("-", 2);
105
+ if (!algorithm || !expected) {
106
+ throw new Error("Invalid npm integrity metadata");
107
+ }
108
+ const actual = createHash(algorithm).update(archiveBytes).digest("base64");
109
+ if (actual !== expected) {
110
+ throw new Error("Downloaded package failed integrity verification");
111
+ }
112
+ return;
113
+ }
114
+ if (metadata.shasum) {
115
+ const actual = createHash("sha1").update(archiveBytes).digest("hex");
116
+ if (actual !== metadata.shasum) {
117
+ throw new Error("Downloaded package failed shasum verification");
118
+ }
119
+ return;
120
+ }
121
+ throw new Error("Registry metadata missing integrity fields");
122
+ }
123
+ async function verifyManagedInstall(expectedVersion) {
124
+ const installed = await readManagedInstalledVersion();
125
+ if (!installed) {
126
+ throw new Error("Managed install missing after update");
127
+ }
128
+ if (compareVersions(installed, expectedVersion) !== 0) {
129
+ throw new Error(`Managed install version mismatch: expected ${expectedVersion}, got ${installed}`);
130
+ }
79
131
  const entry = getManagedServerEntry();
80
132
  await access(entry);
81
- return entry;
82
133
  }
83
- /** Prefer a managed npm install; fall back to latest, then the local bundle entry. */
134
+ async function swapManagedInstall(stagedDir) {
135
+ const targetDir = join(NPM_PREFIX, "node_modules", PACKAGE_NAME);
136
+ const parentDir = dirname(targetDir);
137
+ const backupDir = join(parentDir, `.${PACKAGE_NAME}.backup-${process.pid}`);
138
+ await mkdir(parentDir, { recursive: true });
139
+ await rm(backupDir, { recursive: true, force: true });
140
+ try {
141
+ await rename(targetDir, backupDir).catch(() => undefined);
142
+ await rename(stagedDir, targetDir);
143
+ await rm(backupDir, { recursive: true, force: true }).catch(() => undefined);
144
+ }
145
+ catch (error) {
146
+ await rename(backupDir, targetDir).catch(() => undefined);
147
+ throw error;
148
+ }
149
+ }
150
+ async function installFromRegistryTarball(version) {
151
+ const metadata = await fetchPackageDistMetadata(PACKAGE_NAME, version);
152
+ if (!metadata) {
153
+ throw new Error(`Could not load npm metadata for ${PACKAGE_NAME}@${version}`);
154
+ }
155
+ const tarballUrl = metadata.tarball ??
156
+ `https://registry.npmjs.org/${PACKAGE_NAME}/-/${PACKAGE_NAME}-${version}.tgz`;
157
+ const tempDir = await mkdtemp(join(tmpdir(), "lockin-update-"));
158
+ const archivePath = join(tempDir, "package.tgz");
159
+ const extractDir = join(tempDir, "extract");
160
+ const stagedDir = join(tempDir, "staged");
161
+ try {
162
+ const response = await fetch(tarballUrl, {
163
+ headers: { Accept: "application/octet-stream" },
164
+ cache: "no-store",
165
+ signal: AbortSignal.timeout(120_000),
166
+ });
167
+ if (!response.ok) {
168
+ throw new Error(`Failed to download ${tarballUrl} (${response.status})`);
169
+ }
170
+ const archiveBytes = Buffer.from(await response.arrayBuffer());
171
+ verifyPackageIntegrity(archiveBytes, metadata);
172
+ await writeFile(archivePath, archiveBytes);
173
+ await mkdir(extractDir, { recursive: true });
174
+ await execFileAsync("tar", ["-xzf", archivePath, "-C", extractDir], {
175
+ env: npmCommandEnv(),
176
+ ...NPM_EXEC_OPTIONS,
177
+ });
178
+ const packageDir = join(extractDir, "package");
179
+ await access(packageDir);
180
+ await cp(packageDir, stagedDir, { recursive: true });
181
+ await swapManagedInstall(stagedDir);
182
+ }
183
+ finally {
184
+ await rm(tempDir, { recursive: true, force: true }).catch(() => undefined);
185
+ }
186
+ }
187
+ export async function ensureManagedInstall(version) {
188
+ return withUpdateLock(async () => {
189
+ await mkdir(NPM_PREFIX, { recursive: true });
190
+ const target = version
191
+ ? `${PACKAGE_NAME}@${version}`
192
+ : `${PACKAGE_NAME}@latest`;
193
+ try {
194
+ await runNpm([
195
+ "install",
196
+ target,
197
+ "--prefix",
198
+ NPM_PREFIX,
199
+ "--no-fund",
200
+ "--no-audit",
201
+ "--loglevel=error",
202
+ "--prefer-online",
203
+ ], 180_000);
204
+ }
205
+ catch (npmError) {
206
+ if (!version) {
207
+ throw npmError;
208
+ }
209
+ await installFromRegistryTarball(version);
210
+ }
211
+ const expectedVersion = version ?? (await fetchLatestVersion()) ?? (await readInstalledVersion());
212
+ await verifyManagedInstall(expectedVersion);
213
+ return getManagedServerEntry();
214
+ });
215
+ }
216
+ /** Prefer a managed npm install at @latest; fall back to the local bundle entry. */
84
217
  export async function resolveManagedServerEntry(localEntry) {
85
218
  try {
86
219
  const npmExecutable = await resolveNpmExecutable();
@@ -89,17 +222,11 @@ export async function resolveManagedServerEntry(localEntry) {
89
222
  catch {
90
223
  // Install may still succeed via sibling-node npm during ensureManagedInstall.
91
224
  }
92
- const version = await readInstalledVersion();
93
225
  try {
94
- return await ensureManagedInstall(version);
226
+ return await ensureManagedInstall();
95
227
  }
96
228
  catch {
97
- try {
98
- return await ensureManagedInstall();
99
- }
100
- catch {
101
- return localEntry;
102
- }
229
+ return localEntry;
103
230
  }
104
231
  }
105
232
  async function writeLastCheck(record) {
@@ -108,11 +235,11 @@ async function writeLastCheck(record) {
108
235
  mode: 0o600,
109
236
  });
110
237
  }
111
- async function reinstallBackgroundService(serverEntry) {
238
+ async function getBackgroundServiceParams(serverEntry) {
112
239
  const port = Number(process.env.MDB_HTTP_PORT ?? 3847);
113
240
  const authToken = process.env.MDB_MCP_AUTH_TOKEN ?? (await readMcpAuthTokenFromManifest());
114
241
  const credentials = await readRelayCredentials();
115
- const params = {
242
+ return {
116
243
  port,
117
244
  authToken: authToken ?? undefined,
118
245
  serverEntry,
@@ -122,51 +249,110 @@ async function reinstallBackgroundService(serverEntry) {
122
249
  deviceId: credentials?.deviceId ?? process.env.MDB_DEVICE_ID,
123
250
  relayDeviceToken: credentials?.relayDeviceToken ?? process.env.MDB_RELAY_DEVICE_TOKEN,
124
251
  };
252
+ }
253
+ async function refreshBackgroundServiceConfig(serverEntry) {
254
+ const params = await getBackgroundServiceParams(serverEntry);
255
+ switch (process.platform) {
256
+ case "darwin": {
257
+ const { writeLaunchAgentPlist } = await import("./daemon.js");
258
+ await writeLaunchAgentPlist(params);
259
+ return;
260
+ }
261
+ case "linux": {
262
+ const { writeSystemdUserServiceUnit } = await import("./daemon-linux.js");
263
+ await writeSystemdUserServiceUnit(params);
264
+ return;
265
+ }
266
+ case "win32": {
267
+ const { writeWindowsScheduledTaskFiles } = await import("./daemon-windows.js");
268
+ await writeWindowsScheduledTaskFiles(params);
269
+ return;
270
+ }
271
+ default:
272
+ return;
273
+ }
274
+ }
275
+ async function isBackgroundServiceInstalled() {
276
+ switch (process.platform) {
277
+ case "darwin": {
278
+ const { isLaunchAgentInstalled } = await import("./daemon.js");
279
+ return isLaunchAgentInstalled();
280
+ }
281
+ case "linux": {
282
+ const { isSystemdServiceInstalled } = await import("./daemon-linux.js");
283
+ return isSystemdServiceInstalled();
284
+ }
285
+ case "win32": {
286
+ const { isWindowsTaskInstalled } = await import("./daemon-windows.js");
287
+ return isWindowsTaskInstalled();
288
+ }
289
+ default:
290
+ return false;
291
+ }
292
+ }
293
+ function isRunningAsHttpDaemon() {
294
+ return process.argv.includes("--http");
295
+ }
296
+ async function waitForDaemonHealthy(port) {
297
+ const deadline = Date.now() + RESTART_VERIFY_TIMEOUT_MS;
298
+ while (Date.now() < deadline) {
299
+ const snapshot = await fetchLockInHealthSnapshot(port);
300
+ if (snapshot !== null) {
301
+ const installed = await readManagedInstalledVersion();
302
+ return installed !== null;
303
+ }
304
+ await sleep(500);
305
+ }
306
+ return false;
307
+ }
308
+ async function restartBackgroundServiceExternally(port) {
309
+ await stopLockInListenersOnPort(port);
310
+ await waitForPortAvailable(port);
125
311
  switch (process.platform) {
126
312
  case "darwin": {
127
- const { installLaunchAgent, isLaunchAgentInstalled } = await import("./daemon.js");
128
- if (!(await isLaunchAgentInstalled())) {
129
- return false;
130
- }
131
- await installLaunchAgent(params);
132
313
  const guiDomain = `gui/${process.getuid?.() ?? process.env.UID ?? "501"}`;
133
314
  await execFileAsync("launchctl", [
134
315
  "kickstart",
135
316
  "-k",
136
317
  `${guiDomain}/com.lockin.mcp`,
137
- ]).catch(() => undefined);
138
- return true;
318
+ ]);
319
+ return;
139
320
  }
140
321
  case "linux": {
141
- const { isSystemdServiceInstalled, installSystemdUserService } = await import("./daemon-linux.js");
142
- if (!(await isSystemdServiceInstalled())) {
143
- return false;
144
- }
145
- await installSystemdUserService(params);
146
322
  await execFileAsync("systemctl", [
147
323
  "--user",
148
324
  "restart",
149
325
  "lockin-mcp.service",
150
- ]).catch(() => undefined);
151
- return true;
326
+ ]);
327
+ return;
152
328
  }
153
329
  case "win32": {
154
- const { installWindowsScheduledTask, isWindowsTaskInstalled, scheduleWindowsScheduledTaskStart, } = await import("./daemon-windows.js");
155
- if (!(await isWindowsTaskInstalled())) {
156
- return false;
157
- }
158
- await installWindowsScheduledTask(params);
330
+ const { scheduleWindowsScheduledTaskStart } = await import("./daemon-windows.js");
159
331
  scheduleWindowsScheduledTaskStart(2);
160
- return true;
332
+ return;
161
333
  }
162
334
  default:
163
- return false;
335
+ return;
336
+ }
337
+ }
338
+ async function restartBackgroundService(port, serverEntry) {
339
+ await refreshBackgroundServiceConfig(serverEntry);
340
+ if (!isRunningAsHttpDaemon()) {
341
+ await restartBackgroundServiceExternally(port);
342
+ return waitForDaemonHealthy(port);
343
+ }
344
+ if (process.platform === "win32") {
345
+ const { scheduleWindowsScheduledTaskStart } = await import("./daemon-windows.js");
346
+ scheduleWindowsScheduledTaskStart(3);
164
347
  }
348
+ setTimeout(() => process.exit(0), RESTART_EXIT_DELAY_MS);
349
+ return true;
165
350
  }
166
351
  export async function checkAndApplyUpdate(onLog) {
167
352
  let lastError;
168
353
  let latest = null;
169
354
  const current = await readInstalledVersion();
355
+ const port = Number(process.env.MDB_HTTP_PORT ?? 3847);
170
356
  try {
171
357
  latest = await fetchLatestVersion();
172
358
  if (!latest) {
@@ -179,28 +365,60 @@ export async function checkAndApplyUpdate(onLog) {
179
365
  onLog(`Version check failed: ${lastError}`);
180
366
  }
181
367
  const updateAvailable = latest !== null && compareVersions(latest, current) > 0;
182
- await writeLastCheck({
183
- checkedAt: Date.now(),
184
- currentVersion: current,
185
- latestVersion: latest ?? current,
186
- updateAvailable,
187
- ...(lastError ? { lastError } : {}),
188
- });
189
368
  if (!latest || !updateAvailable) {
369
+ await writeLastCheck({
370
+ checkedAt: Date.now(),
371
+ currentVersion: current,
372
+ latestVersion: latest ?? current,
373
+ updateAvailable,
374
+ ...(lastError ? { lastError } : {}),
375
+ });
190
376
  if (latest && !updateAvailable) {
191
377
  onLog(`Already on latest version (${current})`);
192
378
  }
193
379
  return false;
194
380
  }
195
381
  onLog(`Updating ${PACKAGE_NAME} ${current} → ${latest}`);
196
- const serverEntry = await ensureManagedInstall(latest);
197
- const restarted = await reinstallBackgroundService(serverEntry);
198
- if (restarted) {
199
- onLog(`Updated to ${latest} — restarting daemon`);
200
- return true;
382
+ try {
383
+ const serverEntry = await ensureManagedInstall(latest);
384
+ const hasBackgroundService = await isBackgroundServiceInstalled();
385
+ if (hasBackgroundService) {
386
+ const restarted = await restartBackgroundService(port, serverEntry);
387
+ if (!restarted) {
388
+ throw new Error("Daemon did not come back healthy after restart");
389
+ }
390
+ await writeLastCheck({
391
+ checkedAt: Date.now(),
392
+ currentVersion: latest,
393
+ latestVersion: latest,
394
+ updateAvailable: false,
395
+ updateApplied: true,
396
+ });
397
+ onLog(`Updated to ${latest} — restarting daemon`);
398
+ return true;
399
+ }
400
+ await writeLastCheck({
401
+ checkedAt: Date.now(),
402
+ currentVersion: latest,
403
+ latestVersion: latest,
404
+ updateAvailable: false,
405
+ updateApplied: true,
406
+ });
407
+ onLog(`Updated to ${latest} in managed install — no background service installed; restart manually to run the new version`);
408
+ return false;
409
+ }
410
+ catch (error) {
411
+ lastError = error instanceof Error ? error.message : String(error);
412
+ onLog(`Update failed: ${lastError}`);
413
+ await writeLastCheck({
414
+ checkedAt: Date.now(),
415
+ currentVersion: current,
416
+ latestVersion: latest,
417
+ updateAvailable: true,
418
+ lastError,
419
+ });
420
+ return false;
201
421
  }
202
- onLog(`Updated to ${latest} in managed install — no background service installed; restart manually to run the new version`);
203
- return false;
204
422
  }
205
423
  export function startAutoUpdateWatcher(onLog) {
206
424
  let running = false;
@@ -210,10 +428,7 @@ export function startAutoUpdateWatcher(onLog) {
210
428
  }
211
429
  running = true;
212
430
  try {
213
- const updated = await checkAndApplyUpdate(onLog);
214
- if (updated) {
215
- setTimeout(() => process.exit(0), 1_500);
216
- }
431
+ await checkAndApplyUpdate(onLog);
217
432
  }
218
433
  catch (error) {
219
434
  onLog(`Auto-update check failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/installer/auto-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,IAAI,EAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAExE,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAE9C,KAAK,UAAU,gBAAgB;IAC7B,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,mBAAmB,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACnD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,OAAe;IACnD,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE;QAC1D,OAAO;QACP,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;SACvB;QACD,GAAG,gBAAgB;KACpB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;AAChD,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACpD,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAUxE,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,EACJ,IAAI,EACJ,cAAc,CACf,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC,OAAO,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACnE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC3C,MAAM,CACP,CAAC;QACF,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IACzD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC;IACjF,MAAM,MAAM,CACV,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAC1F,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;QACnD,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,MAAM,oBAAoB,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAuB;IACnD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACvE,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,WAAmB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,WAAW;QACX,QAAQ,EACN,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,QAAQ;YACrB,OAAO,CAAC,GAAG,CAAC,aAAa;QAC3B,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAC5D,gBAAgB,EACd,WAAW,EAAE,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB;KACtE,CAAC;IAEF,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CACjE,aAAa,CACd,CAAC;YACF,IAAI,CAAC,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1E,MAAM,aAAa,CAAC,WAAW,EAAE;gBAC/B,WAAW;gBACX,IAAI;gBACJ,GAAG,SAAS,iBAAiB;aAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,GAC5D,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,yBAAyB,EAAE,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,aAAa,CAAC,WAAW,EAAE;gBAC/B,QAAQ;gBACR,SAAS;gBACT,oBAAoB;aACrB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EACJ,2BAA2B,EAC3B,sBAAsB,EACtB,iCAAiC,GAClC,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAC1C,iCAAiC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAgC;IAEhC,IAAI,SAA6B,CAAC;IAClC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,GAAG,sDAAsD,CAAC;YACnE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,eAAe,GACnB,MAAM,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D,MAAM,cAAc,CAAC;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,cAAc,EAAE,OAAO;QACvB,aAAa,EAAE,MAAM,IAAI,OAAO;QAChC,eAAe;QACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,KAAK,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY,YAAY,IAAI,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,cAAc,MAAM,sBAAsB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CACH,cAAc,MAAM,gGAAgG,CACrH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAgC;IAEhC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CACH,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,GAAG,EAAE;QACV,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/installer/auto-update.ts"],"names":[],"mappings":"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"}