lockin-mcp 1.0.4 → 1.0.7

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 (66) hide show
  1. package/README.md +1 -1
  2. package/dist/http-auth.d.ts +4 -3
  3. package/dist/http-auth.d.ts.map +1 -1
  4. package/dist/http-auth.js +7 -3
  5. package/dist/http-auth.js.map +1 -1
  6. package/dist/http-auth.test.js +9 -3
  7. package/dist/http-auth.test.js.map +1 -1
  8. package/dist/index.js +64 -41
  9. package/dist/index.js.map +1 -1
  10. package/dist/install.js +9 -0
  11. package/dist/install.js.map +1 -1
  12. package/dist/installer/agent-instructions.d.ts.map +1 -1
  13. package/dist/installer/agent-instructions.js +0 -1
  14. package/dist/installer/agent-instructions.js.map +1 -1
  15. package/dist/installer/agents.d.ts +1 -1
  16. package/dist/installer/agents.d.ts.map +1 -1
  17. package/dist/installer/agents.js +11 -89
  18. package/dist/installer/agents.js.map +1 -1
  19. package/dist/installer/background-service.d.ts +8 -1
  20. package/dist/installer/background-service.d.ts.map +1 -1
  21. package/dist/installer/background-service.js +22 -2
  22. package/dist/installer/background-service.js.map +1 -1
  23. package/dist/installer/dev-reset.d.ts +16 -0
  24. package/dist/installer/dev-reset.d.ts.map +1 -0
  25. package/dist/installer/dev-reset.js +239 -0
  26. package/dist/installer/dev-reset.js.map +1 -0
  27. package/dist/installer/dev-reset.test.d.ts +2 -0
  28. package/dist/installer/dev-reset.test.d.ts.map +1 -0
  29. package/dist/installer/dev-reset.test.js +23 -0
  30. package/dist/installer/dev-reset.test.js.map +1 -0
  31. package/dist/installer/port.d.ts +8 -0
  32. package/dist/installer/port.d.ts.map +1 -1
  33. package/dist/installer/port.js +76 -4
  34. package/dist/installer/port.js.map +1 -1
  35. package/dist/installer/port.test.d.ts +2 -0
  36. package/dist/installer/port.test.d.ts.map +1 -0
  37. package/dist/installer/port.test.js +55 -0
  38. package/dist/installer/port.test.js.map +1 -0
  39. package/dist/installer/run.js +34 -18
  40. package/dist/installer/run.js.map +1 -1
  41. package/dist/license-check.d.ts +3 -1
  42. package/dist/license-check.d.ts.map +1 -1
  43. package/dist/license-check.js +18 -9
  44. package/dist/license-check.js.map +1 -1
  45. package/dist/license-check.test.d.ts +2 -0
  46. package/dist/license-check.test.d.ts.map +1 -0
  47. package/dist/license-check.test.js +64 -0
  48. package/dist/license-check.test.js.map +1 -0
  49. package/dist/license-guard.d.ts.map +1 -1
  50. package/dist/license-guard.js +38 -1
  51. package/dist/license-guard.js.map +1 -1
  52. package/dist/license-guard.test.js +48 -1
  53. package/dist/license-guard.test.js.map +1 -1
  54. package/dist/relay-client.d.ts +7 -0
  55. package/dist/relay-client.d.ts.map +1 -1
  56. package/dist/relay-client.js +87 -4
  57. package/dist/relay-client.js.map +1 -1
  58. package/dist/relay-manager.d.ts +32 -0
  59. package/dist/relay-manager.d.ts.map +1 -0
  60. package/dist/relay-manager.js +168 -0
  61. package/dist/relay-manager.js.map +1 -0
  62. package/dist/relay-manager.test.d.ts +2 -0
  63. package/dist/relay-manager.test.d.ts.map +1 -0
  64. package/dist/relay-manager.test.js +120 -0
  65. package/dist/relay-manager.test.js.map +1 -0
  66. package/package.json +6 -1
package/README.md CHANGED
@@ -517,7 +517,7 @@ CI (`.github/workflows/ci.yml`) runs lint, test, build, and `npm audit --audit-l
517
517
  | `EACCES` on block/unblock | Run with `sudo` or configure passwordless sudo (see above) |
518
518
  | Site still loads | Hard-refresh browser; DNS cache may take a moment. Try private window. |
519
519
  | Temp unblock didn't re-block | Keep the MCP server process running (expiry watcher runs in-process) |
520
- | Poke can't connect | Check manifest relay URL + `/health` returns `lockin-mcp`; verify relay device is online |
520
+ | Poke can't connect | Check manifest relay URL + `/health` returns `lockin-mcp` with `relay.connected: true`. If offline, re-run `npx lockin-mcp install` once — the daemon self-heals reconnects automatically. |
521
521
  | Wrong platform | macOS, Linux, and Windows are supported; DNS flush behavior differs by OS |
522
522
 
523
523
  ## License
@@ -4,9 +4,10 @@ export interface HttpMcpAuthConfig {
4
4
  relayUrl?: string;
5
5
  deviceId?: string;
6
6
  }
7
+ export declare function generateHttpMcpAuthToken(): string;
7
8
  /**
8
- * Resolves HTTP MCP bearer auth. Fails closed when relay credentials exist
9
- * without a matching MCP auth token.
9
+ * Resolves HTTP MCP bearer auth. HTTP mode always requires a token; relay-backed
10
+ * installs must supply one from the installer manifest.
10
11
  */
11
- export declare function resolveHttpMcpAuth(config: HttpMcpAuthConfig): string | undefined;
12
+ export declare function resolveHttpMcpAuth(config: HttpMcpAuthConfig): string;
12
13
  //# sourceMappingURL=http-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-auth.d.ts","sourceRoot":"","sources":["../src/http-auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAMT;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAYhF"}
1
+ {"version":3,"file":"http-auth.d.ts","sourceRoot":"","sources":["../src/http-auth.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAMT;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAcpE"}
package/dist/http-auth.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { randomBytes } from "node:crypto";
1
2
  export function bearerTokenMatches(header, authToken) {
2
3
  if (!header) {
3
4
  return false;
@@ -5,9 +6,12 @@ export function bearerTokenMatches(header, authToken) {
5
6
  const match = header.match(/^Bearer\s+(.+)$/i);
6
7
  return match?.[1] === authToken;
7
8
  }
9
+ export function generateHttpMcpAuthToken() {
10
+ return `mdb_${randomBytes(24).toString("hex")}`;
11
+ }
8
12
  /**
9
- * Resolves HTTP MCP bearer auth. Fails closed when relay credentials exist
10
- * without a matching MCP auth token.
13
+ * Resolves HTTP MCP bearer auth. HTTP mode always requires a token; relay-backed
14
+ * installs must supply one from the installer manifest.
11
15
  */
12
16
  export function resolveHttpMcpAuth(config) {
13
17
  if (config.authToken) {
@@ -16,6 +20,6 @@ export function resolveHttpMcpAuth(config) {
16
20
  if (config.relayUrl || config.deviceId) {
17
21
  throw new Error("Refusing to start relay-backed HTTP MCP without MDB_MCP_AUTH_TOKEN. Re-run the installer to generate credentials.");
18
22
  }
19
- return undefined;
23
+ throw new Error("Refusing to start HTTP MCP without MDB_MCP_AUTH_TOKEN. Run the installer or set MDB_MCP_AUTH_TOKEN.");
20
24
  }
21
25
  //# sourceMappingURL=http-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-auth.js","sourceRoot":"","sources":["../src/http-auth.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,SAAiB;IAEjB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC/C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;AAClC,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"http-auth.js","sourceRoot":"","sources":["../src/http-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,SAAiB;IAEjB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC/C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;AAClC,CAAC;AAQD,MAAM,UAAU,wBAAwB;IACtC,OAAO,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { bearerTokenMatches, resolveHttpMcpAuth } from "./http-auth.js";
2
+ import { bearerTokenMatches, generateHttpMcpAuthToken, resolveHttpMcpAuth, } from "./http-auth.js";
3
3
  describe("bearerTokenMatches", () => {
4
4
  it("accepts a valid bearer token", () => {
5
5
  expect(bearerTokenMatches("Bearer secret-token", "secret-token")).toBe(true);
@@ -11,12 +11,18 @@ describe("bearerTokenMatches", () => {
11
11
  expect(bearerTokenMatches("Bearer other", "secret-token")).toBe(false);
12
12
  });
13
13
  });
14
+ describe("generateHttpMcpAuthToken", () => {
15
+ it("returns a prefixed hex token", () => {
16
+ const token = generateHttpMcpAuthToken();
17
+ expect(token).toMatch(/^mdb_[0-9a-f]{48}$/);
18
+ });
19
+ });
14
20
  describe("resolveHttpMcpAuth", () => {
15
21
  it("returns the configured auth token", () => {
16
22
  expect(resolveHttpMcpAuth({ authToken: "token-123" })).toBe("token-123");
17
23
  });
18
- it("allows local HTTP mode without relay credentials", () => {
19
- expect(resolveHttpMcpAuth({})).toBeUndefined();
24
+ it("requires an auth token for local HTTP mode", () => {
25
+ expect(() => resolveHttpMcpAuth({})).toThrow(/Refusing to start HTTP MCP without MDB_MCP_AUTH_TOKEN/);
20
26
  });
21
27
  it("fails closed when relay credentials exist without MCP auth", () => {
22
28
  expect(() => resolveHttpMcpAuth({ relayUrl: "wss://relay.example.com" })).toThrow(/Refusing to start relay-backed HTTP MCP/);
@@ -1 +1 @@
1
- {"version":3,"file":"http-auth.test.js","sourceRoot":"","sources":["../src/http-auth.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAExE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CACV,kBAAkB,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAC5D,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,yCAAyC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"http-auth.test.js","sourceRoot":"","sources":["../src/http-auth.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1C,uDAAuD,CACxD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CACV,kBAAkB,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAC5D,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,yCAAyC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -9,14 +9,14 @@ import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
9
9
  import express from "express";
10
10
  import { APP_SLUG } from "./brand.js";
11
11
  import { startExpiryWatcher } from "./blocker.js";
12
- import { startLicenseVerificationWatcher, verifyTokenWithBackend, } from "./license-check.js";
13
- import { invalidateLicenseCache } from "./license-guard.js";
14
- import { loadCachedLicense } from "./installer/license.js";
12
+ import { verifyTokenWithBackend, } from "./license-check.js";
15
13
  import { readMcpAuthTokenFromManifest } from "./installer/setup-manifest.js";
14
+ import { describePortConflict, fetchLockInHealthSnapshot, stopLockInListenersOnPort, } from "./installer/port.js";
16
15
  import { reconcileHostsOnStartup } from "./hosts-manager.js";
17
- import { bearerTokenMatches, resolveHttpMcpAuth, } from "./http-auth.js";
16
+ import { bearerTokenMatches, generateHttpMcpAuthToken, resolveHttpMcpAuth, } from "./http-auth.js";
18
17
  import { RELAY_PUBLIC_ORIGIN } from "./relay-urls.js";
19
18
  import { createMcpServer } from "./server.js";
19
+ import { startRelayManager } from "./relay-manager.js";
20
20
  const DEFAULT_HTTP_PORT = 3847;
21
21
  const streamSessions = new Map();
22
22
  const sseSessions = new Map();
@@ -116,8 +116,24 @@ function createBearerAuthMiddleware(authToken, oauthResourceMetadataUrl) {
116
116
  });
117
117
  };
118
118
  }
119
+ async function assertHttpPortAvailable(port) {
120
+ const existing = await fetchLockInHealthSnapshot(port);
121
+ if (existing) {
122
+ if (existing.relayConnected) {
123
+ log(`LockIn MCP already running on port ${port} with relay connected — not starting a second copy`);
124
+ process.exit(0);
125
+ }
126
+ log(`Replacing stale LockIn MCP on port ${port} (relay offline) so this instance can connect`);
127
+ await stopLockInListenersOnPort(port);
128
+ }
129
+ const conflict = await describePortConflict(port);
130
+ if (conflict) {
131
+ throw new Error(`${conflict}. Free port ${port} or run with --port <number>. Check: lsof -i :${port}`);
132
+ }
133
+ }
119
134
  async function runHttp(port) {
120
135
  process.env.MDB_HTTP_PORT = String(port);
136
+ await assertHttpPortAvailable(port);
121
137
  try {
122
138
  await reconcileHostsOnStartup();
123
139
  log("Hosts file reconciled with saved state");
@@ -143,58 +159,48 @@ async function runHttp(port) {
143
159
  // installer module may be unavailable in minimal builds
144
160
  }
145
161
  }
146
- const { startRelayClientFromEnv } = await import("./relay-client.js");
147
- let relayClient = null;
162
+ let relayManager = null;
148
163
  const app = express();
149
164
  const manifestAuthToken = await readMcpAuthTokenFromManifest();
165
+ let mcpAuthToken = process.env.MDB_MCP_AUTH_TOKEN ?? manifestAuthToken ?? undefined;
166
+ if (!mcpAuthToken) {
167
+ mcpAuthToken = generateHttpMcpAuthToken();
168
+ log("Generated ephemeral MCP auth token for this session. Set MDB_MCP_AUTH_TOKEN to persist it across restarts.");
169
+ }
170
+ process.env.MDB_MCP_AUTH_TOKEN = mcpAuthToken;
150
171
  const authToken = resolveHttpMcpAuth({
151
- authToken: process.env.MDB_MCP_AUTH_TOKEN ?? manifestAuthToken ?? undefined,
172
+ authToken: mcpAuthToken,
152
173
  relayUrl: process.env.MDB_RELAY_URL,
153
174
  deviceId: process.env.MDB_DEVICE_ID,
154
175
  });
155
- if (!process.env.MDB_MCP_AUTH_TOKEN && authToken) {
156
- process.env.MDB_MCP_AUTH_TOKEN = authToken;
157
- }
158
- let proVerified = false;
159
- const cachedLicense = await loadCachedLicense();
160
- if (cachedLicense?.tier === "pro" && cachedLicense.token) {
161
- const status = await verifyTokenWithBackend(cachedLicense.token);
162
- proVerified = status.valid;
163
- if (status.valid) {
164
- log(`Pro license active (${status.email ?? "verified"})`);
165
- relayClient = startRelayClientFromEnv((message) => log(`[relay] ${message}`));
166
- }
167
- else {
168
- log(`Pro license invalid: ${status.error ?? "verification failed"} — relay features disabled`);
169
- }
170
- startLicenseVerificationWatcher(() => cachedLicense.token, (result) => {
171
- log(`Pro license check failed: ${result.error ?? "invalid"}`);
172
- proVerified = false;
173
- invalidateLicenseCache();
174
- relayClient?.stop();
175
- relayClient = null;
176
- });
177
- }
178
- else {
179
- log("No Pro license — relay disabled. Purchase at signup?redirect=checkout");
180
- }
176
+ const shutdown = () => {
177
+ relayManager?.stop();
178
+ };
179
+ process.once("SIGTERM", shutdown);
180
+ process.once("SIGINT", shutdown);
181
181
  app.use(express.json({ limit: "4mb" }));
182
182
  const protectedPaths = ["/mcp", "/sse", "/message"];
183
183
  const deviceId = process.env.MDB_DEVICE_ID;
184
184
  const oauthResourceMetadataUrl = deviceId
185
185
  ? `${RELAY_PUBLIC_ORIGIN}/.well-known/oauth-protected-resource/device/${deviceId}/mcp`
186
186
  : undefined;
187
- if (authToken) {
188
- for (const path of protectedPaths) {
189
- app.use(path, createBearerAuthMiddleware(authToken, oauthResourceMetadataUrl));
190
- }
191
- log("HTTP MCP auth enabled (Bearer token required)");
187
+ for (const path of protectedPaths) {
188
+ app.use(path, createBearerAuthMiddleware(authToken, oauthResourceMetadataUrl));
192
189
  }
190
+ log("HTTP MCP auth enabled (Bearer token required)");
193
191
  app.get("/health", (_req, res) => {
192
+ const relay = relayManager?.snapshot();
194
193
  res.json({
195
194
  service: APP_SLUG,
196
195
  status: "ok",
197
- tier: proVerified ? "pro" : "free",
196
+ tier: relay?.proVerified ? "pro" : "free",
197
+ relay: relay
198
+ ? {
199
+ enabled: relay.relayEnabled,
200
+ connected: relay.relayConnected,
201
+ reconnecting: relay.relayReconnecting,
202
+ }
203
+ : undefined,
198
204
  });
199
205
  });
200
206
  app.get("/icon.png", async (_req, res) => {
@@ -285,12 +291,20 @@ async function runHttp(port) {
285
291
  res.status(200).json({ closed: true });
286
292
  });
287
293
  const listenHost = process.env.MDB_HTTP_HOST ?? "127.0.0.1";
288
- await new Promise((resolve) => {
289
- app.listen(port, listenHost, () => {
294
+ await new Promise((resolve, reject) => {
295
+ const server = app.listen(port, listenHost, () => {
290
296
  log(`Running on HTTP at http://${listenHost}:${port}/mcp`);
291
297
  resolve();
292
298
  });
299
+ server.on("error", (error) => {
300
+ if (error.code === "EADDRINUSE") {
301
+ reject(new Error(`Port ${port} is already in use. Stop the other process: lsof -i :${port}`));
302
+ return;
303
+ }
304
+ reject(error);
305
+ });
293
306
  });
307
+ relayManager = await startRelayManager((message) => log(`[relay] ${message}`));
294
308
  }
295
309
  async function main() {
296
310
  const { ensureDataDirMigrated } = await import("./installer/data-dir.js");
@@ -302,6 +316,15 @@ async function main() {
302
316
  await runInstaller(argv.slice(1));
303
317
  return;
304
318
  }
319
+ if (argv[0] === "dev-reset") {
320
+ const { runDevReset, parseDevResetArgs, printDevResetHelp } = await import("./installer/dev-reset.js");
321
+ if (argv.includes("--help") || argv.includes("-h")) {
322
+ printDevResetHelp();
323
+ return;
324
+ }
325
+ await runDevReset(parseDevResetArgs(argv.slice(1)));
326
+ return;
327
+ }
305
328
  if (process.platform !== "darwin") {
306
329
  log("Warning: this server is designed for macOS. Hosts/DNS behavior may differ on other platforms.");
307
330
  }
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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"}
package/dist/install.js CHANGED
@@ -1,9 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { installHarmlessSocketErrorHandler } from "./local-http.js";
3
3
  installHarmlessSocketErrorHandler();
4
+ import { runDevReset, parseDevResetArgs, printDevResetHelp } from "./installer/dev-reset.js";
4
5
  import { runInstaller } from "./installer/run.js";
5
6
  async function main() {
6
7
  const args = process.argv.slice(2);
8
+ if (args[0] === "dev-reset") {
9
+ if (args.includes("--help") || args.includes("-h")) {
10
+ printDevResetHelp();
11
+ return;
12
+ }
13
+ await runDevReset(parseDevResetArgs(args.slice(1)));
14
+ return;
15
+ }
7
16
  if (args[0] === "install") {
8
17
  args.shift();
9
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAEpE,iCAAiC,EAAE,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAEpE,iCAAiC,EAAE,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,iBAAiB,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-instructions.d.ts","sourceRoot":"","sources":["../../src/installer/agent-instructions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,sEAA4D,CAAC;AAEjG,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAOT;AAED,eAAO,MAAM,+BAA+B,sDACS,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,sDAAkC,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,gBAAgB,GAChB,SAAS,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAGzE;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,sBAAsB,CA4BzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAK7E"}
1
+ {"version":3,"file":"agent-instructions.d.ts","sourceRoot":"","sources":["../../src/installer/agent-instructions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,sEAA4D,CAAC;AAEjG,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAOT;AAED,eAAO,MAAM,+BAA+B,sDACS,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,sDAAkC,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,gBAAgB,GAChB,SAAS,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAGzE;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,sBAAsB,CA2BzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAK7E"}
@@ -31,7 +31,6 @@ export function agentConnectionDetails(params) {
31
31
  mcpUrl: params.remoteMcpUrl,
32
32
  mcpAddCommand: buildPokeMcpAddCommand({
33
33
  publicMcpUrl: params.remoteMcpUrl.replace(/\/mcp$/, ""),
34
- mcpAuthToken: params.authToken,
35
34
  }),
36
35
  },
37
36
  claude: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../src/installer/agent-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAElF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,yBAAyB,6BAA6B,CAAC;AAEjG,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,MAGvC;IACC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,KAAK,EAAE,sBAAsB;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;IACH,OAAO,GAAG,yBAAyB,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAC1C,mDAAmD,CAAC;AAEtD,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAQtE,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAC/D,MAAM,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC;IACjE,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAsBD,MAAM,UAAU,sBAAsB,CAAC,MAItC;IACC,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IAEnD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,aAAa,EAAE,sBAAsB,CAAC;gBACpC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACvD,YAAY,EAAE,MAAM,CAAC,SAAS;aAC/B,CAAC;SACH;QACD,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,uBAAuB,CAAC;gBACpC,aAAa,EAAE,QAAQ;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;SACH;QACD,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,WAAW,EAAE,+BAA+B;YAC5C,mBAAmB,EAAE,+BAA+B;SACrD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,mBAAmB,OAAO,CAAC,YAAY,EAAE;QACzC,mBAAmB,OAAO,CAAC,SAAS,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../src/installer/agent-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAElF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,yBAAyB,6BAA6B,CAAC;AAEjG,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,MAGvC;IACC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,KAAK,EAAE,sBAAsB;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;IACH,OAAO,GAAG,yBAAyB,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAC1C,mDAAmD,CAAC;AAEtD,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAQtE,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAC/D,MAAM,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC;IACjE,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAsBD,MAAM,UAAU,sBAAsB,CAAC,MAItC;IACC,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IAEnD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,aAAa,EAAE,sBAAsB,CAAC;gBACpC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACxD,CAAC;SACH;QACD,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,uBAAuB,CAAC;gBACpC,aAAa,EAAE,QAAQ;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;SACH;QACD,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,WAAW,EAAE,+BAA+B;YAC5C,mBAAmB,EAAE,+BAA+B;SACrD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,mBAAmB,OAAO,CAAC,YAAY,EAAE;QACzC,mBAAmB,OAAO,CAAC,SAAS,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -5,5 +5,5 @@ export interface ConnectAgentParams {
5
5
  publicTunnelVerified: boolean;
6
6
  }
7
7
  export declare function promptConnectAgent(params: ConnectAgentParams): Promise<void>;
8
- export { promptBackgroundService, installBackgroundService } from "./background-service.js";
8
+ export { promptBackgroundService, installBackgroundService, handoffToBackgroundService } from "./background-service.js";
9
9
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/installer/agents.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAuLD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/installer/agents.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAwFD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,101 +1,23 @@
1
- import { execFile } from "node:child_process";
2
- import { promisify } from "node:util";
3
1
  import * as clack from "@clack/prompts";
4
2
  import color from "picocolors";
5
- import { APP_NAME } from "../brand.js";
6
3
  import { mergeClaudeDesktopMcpConfig } from "./claude-desktop-config.js";
7
4
  import { agentConnectionDetails, CHATGPT_CONNECTORS_ADVANCED_URL, getConnectorsDocsUrl, } from "./agent-instructions.js";
8
5
  import { copyToClipboard } from "./clipboard.js";
9
6
  import { DATA_DIR_DISPLAY } from "./data-dir.js";
10
7
  import { openBrowser } from "./platform.js";
11
- import { buildPokeLoginCommand, POKE_LOCKIN_RECIPE_URL } from "./poke.js";
12
- import { isPokeLoggedIn } from "./poke.js";
13
- const execFileAsync = promisify(execFile);
14
- async function ensurePokeLogin() {
15
- if (await isPokeLoggedIn()) {
16
- return true;
17
- }
18
- const loginCmd = buildPokeLoginCommand();
19
- clack.note([
20
- "Poke needs a one-time login in your browser.",
21
- "",
22
- color.cyan(loginCmd),
23
- ].join("\n"), "Poke login");
24
- const copyLogin = await clack.confirm({
25
- message: "Copy login command to clipboard?",
26
- initialValue: true,
27
- });
28
- if (!clack.isCancel(copyLogin) && copyLogin) {
29
- const copied = await copyToClipboard(loginCmd);
30
- if (copied) {
31
- clack.log.success("Login command copied — run it, then return here");
32
- }
33
- }
34
- const loggedIn = await clack.confirm({
35
- message: "I've logged in to Poke",
36
- initialValue: false,
37
- });
38
- if (clack.isCancel(loggedIn) || !loggedIn) {
39
- clack.log.warn("Run the login command, then re-run the installer to finish Poke setup.");
40
- return false;
41
- }
42
- if (!(await isPokeLoggedIn())) {
43
- clack.log.warn("Poke login not detected yet. Check ~/.config/poke/credentials.json exists, then try again.");
44
- return false;
45
- }
46
- clack.log.success("Poke login verified");
47
- return true;
48
- }
8
+ import { POKE_INTEGRATIONS_NEW_URL } from "./poke.js";
49
9
  async function setupPoke(details, relayReady) {
50
- const loggedIn = await ensurePokeLogin();
51
- if (!loggedIn) {
52
- return;
53
- }
54
10
  if (!relayReady) {
55
11
  clack.log.info("If your AI app can't connect yet, finish the steps below and try again.");
56
12
  }
57
- clack.log.info("Opening Poke integration form (name + URL pre-filled)...");
58
- await openBrowser(details.pokeIntegrationUrl);
59
- await copyToClipboard(details.authToken);
60
- clack.log.success("API key copied — paste in Poke when prompted");
61
- const spinner = clack.spinner();
62
- spinner.start("Registering LockIn MCP with Poke CLI...");
63
- try {
64
- await execFileAsync("npx", [
65
- "-y",
66
- "poke@latest",
67
- "mcp",
68
- "add",
69
- details.poke.mcpUrl,
70
- "-n",
71
- APP_NAME,
72
- "--api-key",
73
- details.authToken,
74
- ], { timeout: 120_000 });
75
- spinner.stop(color.green("Poke integration registered via CLI"));
76
- clack.log.info("Install the LockIn recipe for best results:");
77
- clack.log.info(color.cyan(POKE_LOCKIN_RECIPE_URL));
78
- const openRecipe = await clack.confirm({
79
- message: "Open LockIn recipe in browser?",
80
- initialValue: true,
81
- });
82
- if (!clack.isCancel(openRecipe) && openRecipe) {
83
- await openBrowser(POKE_LOCKIN_RECIPE_URL);
84
- }
85
- clack.log.info("Start a new Poke chat to use LockIn tools.");
86
- return;
87
- }
88
- catch {
89
- spinner.stop(color.yellow("CLI register skipped — use the browser tab"));
90
- }
91
- clack.note([
92
- "In the Poke tab that just opened:",
93
- `1. Confirm URL: ${color.cyan(details.poke.mcpUrl)}`,
94
- "2. Paste API key when prompted (already copied to clipboard)",
95
- "3. Click Create Integration",
96
- `4. Install the LockIn recipe: ${color.cyan(POKE_LOCKIN_RECIPE_URL)}`,
97
- "5. Start a new Poke chat",
98
- ].join("\n"), "Poke setup");
13
+ await connectInstantly({
14
+ openUrl: POKE_INTEGRATIONS_NEW_URL,
15
+ clipboardText: details.poke.mcpUrl,
16
+ clipboardSuccessMessage: "Relay MCP URL copied — paste it into Poke’s URL field",
17
+ afterOpenNote: "Paste the MCP URL, name the integration LockIn, choose OAuth, and click Connect. " +
18
+ "Sign in on lockinmcp.com when prompted — Poke will send you back to the dashboard when OAuth finishes. " +
19
+ "Do not paste your API key in the integration form.",
20
+ });
99
21
  }
100
22
  async function setupClaudeDesktop(details) {
101
23
  await mergeClaudeDesktopMcpConfig({
@@ -157,7 +79,7 @@ export async function promptConnectAgent(params) {
157
79
  {
158
80
  value: "poke",
159
81
  label: "Poke",
160
- hint: "opens poke.com/integrations/new",
82
+ hint: "paste relay URL + OAuth in browser",
161
83
  },
162
84
  {
163
85
  value: "claude-web",
@@ -210,5 +132,5 @@ export async function promptConnectAgent(params) {
210
132
  break;
211
133
  }
212
134
  }
213
- export { promptBackgroundService, installBackgroundService } from "./background-service.js";
135
+ export { promptBackgroundService, installBackgroundService, handoffToBackgroundService } from "./background-service.js";
214
136
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/installer/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/installer/agents.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ChildProcess } from "node:child_process";
1
2
  export interface BackgroundServiceParams {
2
3
  port: number;
3
4
  authToken?: string;
@@ -7,5 +8,11 @@ export interface BackgroundServiceParams {
7
8
  relayDeviceToken?: string;
8
9
  }
9
10
  export declare function installBackgroundService(params: BackgroundServiceParams): Promise<boolean>;
10
- export declare function promptBackgroundService(params: BackgroundServiceParams): Promise<boolean>;
11
+ export declare function promptBackgroundService(_params: BackgroundServiceParams): Promise<boolean>;
12
+ /** Stop the installer MCP child, free the port, then start the OS background service. */
13
+ export declare function handoffToBackgroundService(params: {
14
+ mcpProcess: ChildProcess;
15
+ port: number;
16
+ service: BackgroundServiceParams;
17
+ }): Promise<void>;
11
18
  //# sourceMappingURL=background-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"background-service.d.ts","sourceRoot":"","sources":["../../src/installer/background-service.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CA2BlB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
1
+ {"version":3,"file":"background-service.d.ts","sourceRoot":"","sources":["../../src/installer/background-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CA2BlB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,yFAAyF;AACzF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,uBAAuB,CAAC;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhB"}
@@ -1,6 +1,7 @@
1
1
  import * as clack from "@clack/prompts";
2
2
  import { APP_NAME } from "../brand.js";
3
3
  import { commandExists } from "./platform.js";
4
+ import { stopLockInListenersOnPort, waitForLocalRelayHealth } from "./port.js";
4
5
  export async function installBackgroundService(params) {
5
6
  switch (process.platform) {
6
7
  case "darwin": {
@@ -29,7 +30,7 @@ export async function installBackgroundService(params) {
29
30
  return false;
30
31
  }
31
32
  }
32
- export async function promptBackgroundService(params) {
33
+ export async function promptBackgroundService(_params) {
33
34
  if (process.platform !== "darwin" &&
34
35
  process.platform !== "linux" &&
35
36
  process.platform !== "win32") {
@@ -42,6 +43,25 @@ export async function promptBackgroundService(params) {
42
43
  if (clack.isCancel(choice) || !choice) {
43
44
  return false;
44
45
  }
45
- return installBackgroundService(params);
46
+ return true;
47
+ }
48
+ /** Stop the installer MCP child, free the port, then start the OS background service. */
49
+ export async function handoffToBackgroundService(params) {
50
+ params.mcpProcess.kill("SIGTERM");
51
+ const handoffSpinner = clack.spinner();
52
+ handoffSpinner.start("Handing off to background service...");
53
+ try {
54
+ await stopLockInListenersOnPort(params.port);
55
+ const installed = await installBackgroundService(params.service);
56
+ if (!installed) {
57
+ throw new Error("Background service could not be installed on this platform");
58
+ }
59
+ await waitForLocalRelayHealth(params.port);
60
+ handoffSpinner.stop("Background service running with relay connected");
61
+ }
62
+ catch (error) {
63
+ handoffSpinner.stop("Background handoff failed");
64
+ throw error;
65
+ }
46
66
  }
47
67
  //# sourceMappingURL=background-service.js.map