lockin-mcp 1.0.2 → 1.0.4

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 (97) hide show
  1. package/README.md +156 -45
  2. package/dist/blocker.js +2 -2
  3. package/dist/blocker.js.map +1 -1
  4. package/dist/brand.d.ts +2 -1
  5. package/dist/brand.d.ts.map +1 -1
  6. package/dist/brand.js +2 -1
  7. package/dist/brand.js.map +1 -1
  8. package/dist/config.d.ts +1 -1
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +2 -2
  11. package/dist/config.js.map +1 -1
  12. package/dist/hosts-manager.d.ts.map +1 -1
  13. package/dist/hosts-manager.js +24 -11
  14. package/dist/hosts-manager.js.map +1 -1
  15. package/dist/hosts-manager.test.js +22 -3
  16. package/dist/hosts-manager.test.js.map +1 -1
  17. package/dist/index.js +37 -12
  18. package/dist/index.js.map +1 -1
  19. package/dist/install.js +3 -3
  20. package/dist/install.js.map +1 -1
  21. package/dist/installer/agent-instructions.d.ts +15 -1
  22. package/dist/installer/agent-instructions.d.ts.map +1 -1
  23. package/dist/installer/agent-instructions.js +29 -7
  24. package/dist/installer/agent-instructions.js.map +1 -1
  25. package/dist/installer/agents.d.ts.map +1 -1
  26. package/dist/installer/agents.js +70 -79
  27. package/dist/installer/agents.js.map +1 -1
  28. package/dist/installer/claude-desktop-config.d.ts +19 -0
  29. package/dist/installer/claude-desktop-config.d.ts.map +1 -0
  30. package/dist/installer/claude-desktop-config.js +70 -0
  31. package/dist/installer/claude-desktop-config.js.map +1 -0
  32. package/dist/installer/claude-desktop-config.test.d.ts +2 -0
  33. package/dist/installer/claude-desktop-config.test.d.ts.map +1 -0
  34. package/dist/installer/claude-desktop-config.test.js +49 -0
  35. package/dist/installer/claude-desktop-config.test.js.map +1 -0
  36. package/dist/installer/data-dir.d.ts +7 -0
  37. package/dist/installer/data-dir.d.ts.map +1 -0
  38. package/dist/installer/data-dir.js +38 -0
  39. package/dist/installer/data-dir.js.map +1 -0
  40. package/dist/installer/data-dir.test.d.ts +2 -0
  41. package/dist/installer/data-dir.test.d.ts.map +1 -0
  42. package/dist/installer/data-dir.test.js +59 -0
  43. package/dist/installer/data-dir.test.js.map +1 -0
  44. package/dist/installer/install-log.d.ts +14 -0
  45. package/dist/installer/install-log.d.ts.map +1 -0
  46. package/dist/installer/install-log.js +100 -0
  47. package/dist/installer/install-log.js.map +1 -0
  48. package/dist/installer/platform.d.ts.map +1 -1
  49. package/dist/installer/platform.js +2 -2
  50. package/dist/installer/platform.js.map +1 -1
  51. package/dist/installer/poke.d.ts.map +1 -1
  52. package/dist/installer/poke.js +5 -13
  53. package/dist/installer/poke.js.map +1 -1
  54. package/dist/installer/port.d.ts.map +1 -1
  55. package/dist/installer/port.js +5 -4
  56. package/dist/installer/port.js.map +1 -1
  57. package/dist/installer/relay-provision.d.ts.map +1 -1
  58. package/dist/installer/relay-provision.js +62 -25
  59. package/dist/installer/relay-provision.js.map +1 -1
  60. package/dist/installer/run.d.ts.map +1 -1
  61. package/dist/installer/run.js +37 -34
  62. package/dist/installer/run.js.map +1 -1
  63. package/dist/installer/tui.d.ts.map +1 -1
  64. package/dist/installer/tui.js +5 -3
  65. package/dist/installer/tui.js.map +1 -1
  66. package/dist/installer/tunnel.d.ts.map +1 -1
  67. package/dist/installer/tunnel.js +7 -2
  68. package/dist/installer/tunnel.js.map +1 -1
  69. package/dist/installer/user-errors.d.ts +8 -0
  70. package/dist/installer/user-errors.d.ts.map +1 -0
  71. package/dist/installer/user-errors.js +61 -0
  72. package/dist/installer/user-errors.js.map +1 -0
  73. package/dist/installer/user-errors.test.d.ts +2 -0
  74. package/dist/installer/user-errors.test.d.ts.map +1 -0
  75. package/dist/installer/user-errors.test.js +15 -0
  76. package/dist/installer/user-errors.test.js.map +1 -0
  77. package/dist/local-http.d.ts +32 -0
  78. package/dist/local-http.d.ts.map +1 -0
  79. package/dist/local-http.js +140 -0
  80. package/dist/local-http.js.map +1 -0
  81. package/dist/local-http.test.d.ts +2 -0
  82. package/dist/local-http.test.d.ts.map +1 -0
  83. package/dist/local-http.test.js +13 -0
  84. package/dist/local-http.test.js.map +1 -0
  85. package/dist/relay-client.d.ts.map +1 -1
  86. package/dist/relay-client.js +26 -23
  87. package/dist/relay-client.js.map +1 -1
  88. package/dist/state.d.ts.map +1 -1
  89. package/dist/state.js +4 -4
  90. package/dist/state.js.map +1 -1
  91. package/dist/types.d.ts +5 -2
  92. package/dist/types.d.ts.map +1 -1
  93. package/dist/types.js +5 -2
  94. package/dist/types.js.map +1 -1
  95. package/install.ps1 +1 -1
  96. package/install.sh +1 -1
  97. package/package.json +2 -1
@@ -1,9 +1,10 @@
1
1
  import { createServer } from "node:net";
2
+ import { localHttpRequest } from "../local-http.js";
2
3
  export const DEFAULT_LOCKIN_MCP_PORT = 3847;
3
4
  export async function fetchLockInHealth(port) {
4
5
  try {
5
- const response = await fetch(`http://127.0.0.1:${port}/health`, {
6
- signal: AbortSignal.timeout(2000),
6
+ const response = await localHttpRequest(`http://127.0.0.1:${port}/health`, {
7
+ timeoutMs: 2000,
7
8
  });
8
9
  if (!response.ok) {
9
10
  return false;
@@ -27,8 +28,8 @@ export async function isPortAvailable(port) {
27
28
  }
28
29
  export async function describePortConflict(port) {
29
30
  try {
30
- const response = await fetch(`http://127.0.0.1:${port}/health`, {
31
- signal: AbortSignal.timeout(2000),
31
+ const response = await localHttpRequest(`http://127.0.0.1:${port}/health`, {
32
+ timeoutMs: 2000,
32
33
  });
33
34
  if (!response.ok) {
34
35
  return `Port ${port} responds but /health failed (${response.status})`;
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/installer/port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/installer/port.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relay-provision.d.ts","sourceRoot":"","sources":["../../src/installer/relay-provision.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA6BD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiBhC;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4B9B"}
1
+ {"version":3,"file":"relay-provision.d.ts","sourceRoot":"","sources":["../../src/installer/relay-provision.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAiHD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAOhC;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B9B"}
@@ -1,8 +1,14 @@
1
1
  import { canonicalizeRelayFields } from "../relay-urls.js";
2
2
  import { getLicenseApiUrl } from "../config.js";
3
+ import { InstallError } from "./user-errors.js";
4
+ const PROVISION_TIMEOUT_MS = 30_000;
5
+ const MAX_ATTEMPTS = 3;
6
+ function sleep(ms) {
7
+ return new Promise((resolve) => setTimeout(resolve, ms));
8
+ }
3
9
  function parseRelayResponse(body) {
4
10
  if (!body.deviceId || !body.relayDeviceToken || !body.mcpUrl) {
5
- throw new Error("Relay provision returned incomplete data");
11
+ throw new InstallError("We couldn't connect your Mac to LockIn. Try running install again.", "Relay provision returned incomplete data");
6
12
  }
7
13
  return canonicalizeRelayFields({
8
14
  deviceId: body.deviceId,
@@ -14,36 +20,67 @@ function parseRelayResponse(body) {
14
20
  healthUrl: body.healthUrl ?? body.mcpUrl.replace(/\/mcp$/, "/health"),
15
21
  });
16
22
  }
17
- export async function provisionRelayDevice(params) {
18
- const response = await fetch(`${getLicenseApiUrl()}/tunnel/provision`, {
19
- method: "POST",
20
- headers: {
21
- "Content-Type": "application/json",
22
- Authorization: `Bearer ${params.licenseToken}`,
23
- },
24
- body: JSON.stringify({ port: params.port }),
25
- });
26
- const body = (await response.json());
23
+ async function readRelayJson(response) {
24
+ const text = await response.text();
25
+ if (!text.trim()) {
26
+ throw new InstallError("Something went wrong on our end. Wait a minute and try again.", `Empty response (${response.status}) from tunnel/provision`);
27
+ }
28
+ try {
29
+ return JSON.parse(text);
30
+ }
31
+ catch {
32
+ throw new InstallError("Something went wrong on our end. Wait a minute and try again.", `Invalid JSON (${response.status}): ${text.slice(0, 200)}`);
33
+ }
34
+ }
35
+ async function postProvision(body, licenseToken) {
36
+ const url = `${getLicenseApiUrl()}/tunnel/provision`;
37
+ let lastTechnical = "fetch failed";
38
+ for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt += 1) {
39
+ try {
40
+ return await fetch(url, {
41
+ method: "POST",
42
+ headers: {
43
+ "Content-Type": "application/json",
44
+ Authorization: `Bearer ${licenseToken}`,
45
+ },
46
+ body: JSON.stringify(body),
47
+ signal: AbortSignal.timeout(PROVISION_TIMEOUT_MS),
48
+ });
49
+ }
50
+ catch (error) {
51
+ lastTechnical =
52
+ error instanceof Error ? error.message : "Network request failed";
53
+ if (attempt < MAX_ATTEMPTS) {
54
+ await sleep(1000 * attempt);
55
+ }
56
+ }
57
+ }
58
+ throw new InstallError("We couldn't reach LockIn. Check your internet connection and try again.", lastTechnical);
59
+ }
60
+ async function handleProvisionResponse(response, mode) {
61
+ const body = await readRelayJson(response);
27
62
  if (!response.ok) {
28
- throw new Error(body.error ?? `Relay provision failed (${response.status})`);
63
+ const technical = body.error ?? `${mode} failed (${response.status})`;
64
+ throw new InstallError(body.error && !/MDB_|REGISTRATION|Relay registration|not configured/i.test(body.error)
65
+ ? body.error
66
+ : "We couldn't connect your Mac to LockIn. Try running install again.", technical);
29
67
  }
68
+ return body;
69
+ }
70
+ export async function provisionRelayDevice(params) {
71
+ const response = await postProvision({ port: params.port, token: params.licenseToken }, params.licenseToken);
72
+ const body = await handleProvisionResponse(response, "provision");
30
73
  return parseRelayResponse(body);
31
74
  }
32
75
  export async function refreshRelayRegistration(params) {
33
- const response = await fetch(`${getLicenseApiUrl()}/tunnel/provision`, {
34
- method: "POST",
35
- headers: {
36
- "Content-Type": "application/json",
37
- Authorization: `Bearer ${params.licenseToken}`,
38
- },
39
- body: JSON.stringify({ port: params.port, refresh: true }),
40
- });
41
- const body = (await response.json());
42
- if (!response.ok) {
43
- throw new Error(body.error ?? `Relay refresh failed (${response.status})`);
44
- }
76
+ const response = await postProvision({
77
+ port: params.port,
78
+ refresh: true,
79
+ token: params.licenseToken,
80
+ }, params.licenseToken);
81
+ const body = await handleProvisionResponse(response, "refresh");
45
82
  if (!body.deviceId || !body.mcpUrl) {
46
- throw new Error("Relay refresh returned incomplete data");
83
+ throw new InstallError("We couldn't connect your Mac to LockIn. Try running install again.", "Relay refresh returned incomplete data");
47
84
  }
48
85
  return canonicalizeRelayFields({
49
86
  deviceId: body.deviceId,
@@ -1 +1 @@
1
- {"version":3,"file":"relay-provision.js","sourceRoot":"","sources":["../../src/installer/relay-provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-provision.js","sourceRoot":"","sources":["../../src/installer/relay-provision.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/installer/run.ts"],"names":[],"mappings":"AA2IA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CA0VjE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/installer/run.ts"],"names":[],"mappings":"AAoJA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAQjE"}
@@ -21,7 +21,10 @@ import { readRelayCredentials, relayCredentialsMatchPort, relayEnvFromCredential
21
21
  import { promptSiteSelection, resolveLicenseInteractive, showSuccessOutro, } from "./tui.js";
22
22
  import { verifyPublicTunnel, waitForHttp } from "./tunnel.js";
23
23
  import { attachToTerminal } from "./tty.js";
24
+ import { DATA_DIR_DISPLAY } from "./data-dir.js";
24
25
  import { writeSetupManifest } from "./setup-manifest.js";
26
+ import { appendInstallLog, failInstall, logInstallSessionStart, } from "./install-log.js";
27
+ import { InstallError } from "./user-errors.js";
25
28
  function createMcpAuthToken(existing) {
26
29
  return existing ?? `mdb_${randomBytes(24).toString("hex")}`;
27
30
  }
@@ -53,13 +56,13 @@ async function setupRelayAccess(params) {
53
56
  };
54
57
  }
55
58
  if (!params.relayCredentials) {
56
- throw new Error("Relay credentials missing");
59
+ throw new InstallError("We couldn't connect your Mac to LockIn. Try running install again.", "Relay credentials missing");
57
60
  }
58
61
  const healthBase = params.relayCredentials.healthUrl
59
62
  ? params.relayCredentials.healthUrl.replace(/\/health$/, "")
60
63
  : `${params.relayCredentials.relayUrl.replace(/\/$/, "")}/device/${params.relayCredentials.deviceId}`;
61
64
  const verifySpinner = clack.spinner();
62
- verifySpinner.start("Verifying relay is reachable...");
65
+ verifySpinner.start("Checking connection...");
63
66
  const verification = await verifyPublicTunnel({
64
67
  publicBaseUrl: healthBase,
65
68
  authToken: params.mcpAuthToken,
@@ -67,11 +70,10 @@ async function setupRelayAccess(params) {
67
70
  delayMs: 2000,
68
71
  });
69
72
  if (verification.healthOk && verification.mcpOk) {
70
- verifySpinner.stop(color.green(verification.detail));
73
+ verifySpinner.stop(color.green("Your Mac is connected"));
71
74
  }
72
75
  else {
73
- verifySpinner.stop(color.yellow("Relay not ready yet"));
74
- clack.log.warn(verification.detail);
76
+ verifySpinner.stop(color.green("Almost there finish setup below"));
75
77
  }
76
78
  const publicMcpUrl = params.relayCredentials.mcpUrl?.replace(/\/mcp$/, "") ?? healthBase;
77
79
  return {
@@ -82,14 +84,23 @@ async function setupRelayAccess(params) {
82
84
  };
83
85
  }
84
86
  export async function runInstaller(argv) {
87
+ await logInstallSessionStart();
88
+ try {
89
+ return await runInstallerInner(argv);
90
+ }
91
+ catch (error) {
92
+ return failInstall(error);
93
+ }
94
+ }
95
+ async function runInstallerInner(argv) {
85
96
  attachToTerminal();
86
97
  await ensureNodeVersion();
87
98
  const platform = detectPlatform();
88
99
  if (platform.id === "unsupported") {
89
- throw new Error(`Unsupported platform: ${platform.name}`);
100
+ throw new InstallError("LockIn isn't supported on this device yet.", `Unsupported platform: ${platform.name}`);
90
101
  }
91
102
  if (!platform.isHostsSupported) {
92
- throw new Error("Hosts-based blocking is not supported on this platform.");
103
+ throw new InstallError("LockIn can't block sites on this device yet.", "Hosts-based blocking is not supported on this platform.");
93
104
  }
94
105
  let options = parseInstallerArgs(argv);
95
106
  let license;
@@ -110,12 +121,12 @@ export async function runInstaller(argv) {
110
121
  options = sites;
111
122
  }
112
123
  if (license.tier !== "pro") {
113
- throw new Error("Pro license required. Purchase at your dashboard.");
124
+ throw new InstallError("LockIn Pro is required. Sign in at lockinmcp.com to continue.", "Pro license required");
114
125
  }
115
126
  if (license.token) {
116
127
  const status = await verifyLicenseInfo(license);
117
128
  if (!status.valid) {
118
- throw new Error(`License verification failed: ${status.error ?? "invalid token"}`);
129
+ throw new InstallError("We couldn't verify your license. Sign in again at lockinmcp.com.", `License verification failed: ${status.error ?? "invalid token"}`);
119
130
  }
120
131
  }
121
132
  const { domains } = summarizeSelections(options);
@@ -127,10 +138,7 @@ export async function runInstaller(argv) {
127
138
  }
128
139
  const blockSpinner = needsSudo ? null : clack.spinner();
129
140
  if (blockSpinner) {
130
- blockSpinner.start(`Blocking ${domains.length} domain(s)...`);
131
- }
132
- else {
133
- clack.log.step(`Blocking ${domains.length} domain(s)...`);
141
+ blockSpinner.start(`Blocking ${domains.length} site(s)...`);
134
142
  }
135
143
  try {
136
144
  const result = await blockDomains(domains);
@@ -157,13 +165,14 @@ export async function runInstaller(argv) {
157
165
  await uninstallLegacyTunnelLaunchAgents();
158
166
  const stoppedBackground = await stopLockInMcpLaunchAgent();
159
167
  if (stoppedBackground) {
160
- clack.log.info("Stopped previous LockIn background service for a clean install.");
168
+ clack.log.info("Stopped previous LockIn session for a clean setup.");
161
169
  }
162
170
  const portConflict = await describePortConflict(options.port);
163
171
  if (portConflict) {
164
172
  const resolvedPort = await resolveMcpPort(options.port);
165
173
  if (resolvedPort !== options.port) {
166
- clack.log.warn(`${portConflict}. Using port ${resolvedPort} instead.`);
174
+ clack.log.info("Switched to an open port for LockIn.");
175
+ await appendInstallLog("INFO", `port_changed ${options.port} -> ${resolvedPort} (${portConflict})`);
167
176
  options.port = resolvedPort;
168
177
  }
169
178
  }
@@ -176,7 +185,7 @@ export async function runInstaller(argv) {
176
185
  let relay = cacheValid ? toRelayProvisionResult(cachedRelay) : null;
177
186
  if (cacheValid) {
178
187
  const refreshSpinner = clack.spinner();
179
- refreshSpinner.start("Refreshing relay registration...");
188
+ refreshSpinner.start("Refreshing connection...");
180
189
  try {
181
190
  const refreshed = await refreshRelayRegistration({
182
191
  licenseToken: license.token,
@@ -190,7 +199,7 @@ export async function runInstaller(argv) {
190
199
  sseUrl: refreshed.sseUrl,
191
200
  healthUrl: refreshed.healthUrl,
192
201
  };
193
- refreshSpinner.stop(color.green("Relay registration refreshed"));
202
+ refreshSpinner.stop(color.green("Connection ready"));
194
203
  await writeRelayCredentials({
195
204
  deviceId: cachedRelay.deviceId,
196
205
  relayDeviceToken: cachedRelay.relayDeviceToken,
@@ -203,18 +212,19 @@ export async function runInstaller(argv) {
203
212
  });
204
213
  }
205
214
  catch (error) {
206
- refreshSpinner.stop(color.yellow("Could not refresh relay reprovisioning"));
215
+ await appendInstallLog("WARN", `relay_refresh_failed: ${error instanceof Error ? error.message : String(error)}`);
216
+ refreshSpinner.stop(color.dim("Setting up a fresh connection..."));
207
217
  relay = null;
208
218
  }
209
219
  }
210
220
  if (!relay) {
211
221
  const provisionSpinner = clack.spinner();
212
- provisionSpinner.start("Provisioning relay device...");
222
+ provisionSpinner.start("Connecting your Mac...");
213
223
  relay = await provisionRelayDevice({
214
224
  licenseToken: license.token,
215
225
  port: options.port,
216
226
  });
217
- provisionSpinner.stop(color.green(`Relay device ${relay.deviceId} registered`));
227
+ provisionSpinner.stop(color.green("Connected"));
218
228
  await writeRelayCredentials({
219
229
  deviceId: relay.deviceId,
220
230
  relayDeviceToken: relay.relayDeviceToken,
@@ -283,11 +293,6 @@ export async function runInstaller(argv) {
283
293
  await writeSetupManifest(manifest);
284
294
  const hasRemoteRelay = !options.skipTunnel && remoteMcpUrl.startsWith("https://");
285
295
  const serverEntry = join(dirname(fileURLToPath(import.meta.url)), "..", "index.js");
286
- showSuccessOutro({
287
- blockedCount: domains.length,
288
- remoteMcpUrl,
289
- authToken: mcpAuthToken,
290
- });
291
296
  if (!options.nonInteractive) {
292
297
  const installedBackground = await promptBackgroundService({
293
298
  port: options.port,
@@ -309,15 +314,13 @@ export async function runInstaller(argv) {
309
314
  publicTunnelVerified: installedBackground ? true : publicTunnelVerified,
310
315
  });
311
316
  }
317
+ showSuccessOutro({
318
+ blockedCount: domains.length,
319
+ remoteMcpUrl,
320
+ authToken: mcpAuthToken,
321
+ });
312
322
  if (installedBackground) {
313
- const lines = [
314
- `LockIn MCP runs in the background on port ${options.port}.`,
315
- "Site blocks persist across restarts.",
316
- ];
317
- if (hasRemoteRelay) {
318
- lines.push(`Remote URL: ${remoteMcpUrl}`);
319
- }
320
- clack.outro(color.dim(lines.join(" · ")));
323
+ clack.outro(color.dim(`LockIn MCP runs in the background on port ${options.port}. Credentials: ${DATA_DIR_DISPLAY}/setup-manifest.json`));
321
324
  process.exit(0);
322
325
  }
323
326
  }
@@ -338,7 +341,7 @@ export async function runInstaller(argv) {
338
341
  }
339
342
  }
340
343
  if (hasRemoteRelay) {
341
- clack.outro(color.dim("Relay connection is active. Enable background MCP on next run to close this terminal."));
344
+ clack.outro(color.dim("LockIn is running. Turn on background mode next time to close this window."));
342
345
  }
343
346
  else {
344
347
  clack.outro(color.dim("Keep this terminal open · Ctrl+C to stop"));
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/installer/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/installer/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/installer/tui.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmB9C,wBAAgB,SAAS,IAAI,IAAI,CAKhC;AA6CD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,CAqD9D;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAwClC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAqBP"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/installer/tui.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqB9C,wBAAgB,SAAS,IAAI,IAAI,CAKhC;AA6CD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,CAqD9D;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAwClC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAqBP"}
@@ -4,7 +4,9 @@ import { APP_NAME } from "../brand.js";
4
4
  import { getAppUrl } from "../config.js";
5
5
  import { defaultSelectedPresetIds, SITE_PRESETS, } from "./presets.js";
6
6
  import { verifyViaBrowserLogin, verifyLicenseKey, loadCachedLicense, } from "./license.js";
7
+ import { DATA_DIR_DISPLAY } from "./data-dir.js";
7
8
  import { clearScreen } from "./tty.js";
9
+ import { getConnectorsDocsUrl } from "./agent-instructions.js";
8
10
  function parseList(value) {
9
11
  return value
10
12
  .split(",")
@@ -72,7 +74,7 @@ export async function resolveLicenseInteractive(options) {
72
74
  return { options, license };
73
75
  }
74
76
  const cached = await loadCachedLicense();
75
- if (cached?.tier === "pro") {
77
+ if (cached?.tier === "pro" && cached.token) {
76
78
  clack.log.success(`Using saved license${cached.email ? ` (${cached.email})` : ""}`);
77
79
  return { options, license: cached };
78
80
  }
@@ -141,9 +143,9 @@ export function showSuccessOutro(params) {
141
143
  if (hasRemoteRelay && params.remoteMcpUrl) {
142
144
  lines.push(`${color.green("▸")} Remote URL: ${params.remoteMcpUrl}`);
143
145
  }
144
- lines.push("", color.dim("Connect your AI agent next (Poke, Claude, or ChatGPT)."));
146
+ lines.push("", color.dim(`Setup guide: ${getConnectorsDocsUrl()}`));
145
147
  if (params.authToken) {
146
- lines.push("", color.dim("Credentials are saved in ~/.mac-distraction-blocker/setup-manifest.json"));
148
+ lines.push("", color.dim(`Credentials are saved in ${DATA_DIR_DISPLAY}/setup-manifest.json`));
147
149
  }
148
150
  clack.note(lines.join("\n"), "Done");
149
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/installer/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/installer/tui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/installer/tunnel.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,SAAK,EACb,OAAO,SAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA6EjE"}
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/installer/tunnel.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,SAAK,EACb,OAAO,SAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA+EjE"}
@@ -1,10 +1,13 @@
1
+ import { isLocalhostUrl, localHttpRequest } from "../local-http.js";
1
2
  function sleep(ms) {
2
3
  return new Promise((resolve) => setTimeout(resolve, ms));
3
4
  }
4
5
  export async function waitForHttp(url, attempts = 30, delayMs = 500) {
5
6
  for (let attempt = 0; attempt < attempts; attempt += 1) {
6
7
  try {
7
- const response = await fetch(url);
8
+ const response = isLocalhostUrl(url)
9
+ ? await localHttpRequest(url, { timeoutMs: 5_000 })
10
+ : await fetch(url);
8
11
  if (response.ok) {
9
12
  return;
10
13
  }
@@ -41,7 +44,9 @@ export async function verifyPublicTunnel(params) {
41
44
  "Relay is up but your Mac is not connected. Keep the installer running until this step passes.";
42
45
  }
43
46
  else {
44
- healthOk = health.ok && healthBody.service === "lockin-mcp";
47
+ healthOk =
48
+ health.ok &&
49
+ (healthBody.service === "lockin-mcp" || healthBody.status === "ok");
45
50
  if (!health.ok) {
46
51
  detail = `GET /health returned ${health.status}`;
47
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/installer/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/installer/tunnel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Error with a clean user message and optional technical detail for install.log only. */
2
+ export declare class InstallError extends Error {
3
+ readonly technicalDetail?: string;
4
+ constructor(userMessage: string, technicalDetail?: string);
5
+ }
6
+ export declare function toUserInstallMessage(error: unknown): string;
7
+ export declare function toTechnicalDetail(error: unknown): string;
8
+ //# sourceMappingURL=user-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-errors.d.ts","sourceRoot":"","sources":["../../src/installer/user-errors.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEtB,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;CAK1D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmD3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQxD"}
@@ -0,0 +1,61 @@
1
+ import { CANONICAL_ORIGIN } from "../brand.js";
2
+ /** Error with a clean user message and optional technical detail for install.log only. */
3
+ export class InstallError extends Error {
4
+ technicalDetail;
5
+ constructor(userMessage, technicalDetail) {
6
+ super(userMessage);
7
+ this.name = "InstallError";
8
+ this.technicalDetail = technicalDetail ?? userMessage;
9
+ }
10
+ }
11
+ const TECHNICAL_PATTERN = /MDB_|REGISTRATION|Convex|not configured|Relay registration|Relay provision|Unexpected end of JSON|fetch failed|ENOTFOUND|ECONNREFUSED|ETIMEDOUT|status\)|\/api\/v1/i;
12
+ export function toUserInstallMessage(error) {
13
+ if (error instanceof InstallError) {
14
+ return error.message;
15
+ }
16
+ if (!(error instanceof Error)) {
17
+ return "Setup didn't finish. Please try again.";
18
+ }
19
+ const msg = error.message;
20
+ if (msg === "fetch failed" || /ENOTFOUND|ECONNREFUSED|ETIMEDOUT/i.test(msg)) {
21
+ return "We couldn't reach LockIn. Check your internet connection and try again.";
22
+ }
23
+ if (msg.includes("Unexpected end of JSON")) {
24
+ return "Something went wrong on our end. Wait a minute and try again.";
25
+ }
26
+ if (/invalid or expired token/i.test(msg)) {
27
+ return "Your sign-in expired. Run install again and sign in when prompted.";
28
+ }
29
+ if (/pro license required/i.test(msg)) {
30
+ return `LockIn Pro is required. Sign in at ${CANONICAL_ORIGIN} to continue.`;
31
+ }
32
+ if (/license verification failed/i.test(msg)) {
33
+ return "We couldn't verify your license. Sign in again at lockinmcp.com.";
34
+ }
35
+ if (TECHNICAL_PATTERN.test(msg)) {
36
+ if (/relay|tunnel|provision|connection/i.test(msg)) {
37
+ return "We couldn't connect your Mac to LockIn. Try running install again.";
38
+ }
39
+ return "Something went wrong. Wait a minute and try again.";
40
+ }
41
+ if (msg.includes("No free port")) {
42
+ return "Couldn't find an open port for LockIn. Quit other LockIn instances and try again.";
43
+ }
44
+ if (msg.includes("Cancelled") || msg === "Cancelled.") {
45
+ return msg;
46
+ }
47
+ if (msg.length <= 100 && !msg.includes("http") && !msg.includes("_")) {
48
+ return msg;
49
+ }
50
+ return "Setup didn't finish. Try again, or visit lockinmcp.com/report for help.";
51
+ }
52
+ export function toTechnicalDetail(error) {
53
+ if (error instanceof InstallError) {
54
+ return error.technicalDetail ?? error.message;
55
+ }
56
+ if (error instanceof Error) {
57
+ return error.message;
58
+ }
59
+ return String(error);
60
+ }
61
+ //# sourceMappingURL=user-errors.js.map