@jobshimo/browser-link 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +15 -8
  2. package/dist/bridge/dispatch.js +17 -7
  3. package/dist/bridge/dispatch.js.map +1 -1
  4. package/dist/bridge/ws-bridge.d.ts +28 -3
  5. package/dist/bridge/ws-bridge.js +51 -7
  6. package/dist/bridge/ws-bridge.js.map +1 -1
  7. package/dist/cli.js +6 -2
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/doctor.d.ts +24 -0
  10. package/dist/commands/doctor.js +62 -1
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/free-port.d.ts +40 -1
  13. package/dist/commands/free-port.js +72 -7
  14. package/dist/commands/free-port.js.map +1 -1
  15. package/dist/extension/background.js +100 -8
  16. package/dist/extension/background.js.map +1 -1
  17. package/dist/extension/manifest.json +1 -1
  18. package/dist/extension/popup.js +76 -1
  19. package/dist/extension/popup.js.map +1 -1
  20. package/dist/extension/repair-policy.d.ts +60 -0
  21. package/dist/extension/repair-policy.js +79 -0
  22. package/dist/extension/repair-policy.js.map +1 -0
  23. package/dist/extension/version-status.d.ts +44 -0
  24. package/dist/extension/version-status.js +60 -0
  25. package/dist/extension/version-status.js.map +1 -0
  26. package/dist/lifecycle/election.d.ts +98 -0
  27. package/dist/lifecycle/election.js +187 -0
  28. package/dist/lifecycle/election.js.map +1 -0
  29. package/dist/lifecycle/processes.d.ts +67 -0
  30. package/dist/lifecycle/processes.js +239 -0
  31. package/dist/lifecycle/processes.js.map +1 -0
  32. package/dist/lifecycle/repair.d.ts +48 -0
  33. package/dist/lifecycle/repair.js +67 -0
  34. package/dist/lifecycle/repair.js.map +1 -0
  35. package/dist/lifecycle/version-endpoint.d.ts +16 -0
  36. package/dist/lifecycle/version-endpoint.js +50 -0
  37. package/dist/lifecycle/version-endpoint.js.map +1 -0
  38. package/dist/manual/topics.js +1 -1
  39. package/dist/manual/topics.js.map +1 -1
  40. package/dist/messages.d.ts +31 -2
  41. package/dist/server.js +90 -1
  42. package/dist/server.js.map +1 -1
  43. package/dist/tools/browser-dispatch.d.ts +8 -0
  44. package/dist/tools/browser-dispatch.js +15 -1
  45. package/dist/tools/browser-dispatch.js.map +1 -1
  46. package/dist/ui/screens/free-port.js +4 -2
  47. package/dist/ui/screens/free-port.js.map +1 -1
  48. package/dist/version.d.ts +8 -0
  49. package/dist/version.js +16 -0
  50. package/dist/version.js.map +1 -1
  51. package/package.json +1 -1
@@ -12,7 +12,8 @@ const FREE_PORT_I18N = {
12
12
  'If an MCP client (Claude / OpenCode / Copilot) was closed without',
13
13
  'shutting down browser-link cleanly, the next client crashes with',
14
14
  '"port already in use". This screen finds the process holding',
15
- '127.0.0.1:17529 and stops it.',
15
+ '127.0.0.1:17529 and stops it, then every other browser-link',
16
+ 'server still running (an old version included).',
16
17
  ].join('\n'),
17
18
  safety: 'Safety: only processes whose image starts with "node" are killed. Anything else is left alone with an explanation.',
18
19
  confirmPrompt: 'Stop the process holding port 17529?',
@@ -30,7 +31,8 @@ const FREE_PORT_I18N = {
30
31
  'Si un cliente MCP (Claude / OpenCode / Copilot) cerró sin bajar',
31
32
  'browser-link de forma limpia, el próximo cliente crashea con',
32
33
  '"port already in use". Esta pantalla busca el proceso que tiene',
33
- '127.0.0.1:17529 y lo para.',
34
+ '127.0.0.1:17529 y lo para, y después todos los demás procesos de browser-link',
35
+ 'que sigan corriendo (incluida una versión vieja).',
34
36
  ].join('\n'),
35
37
  safety: 'Seguridad: sólo se matan procesos cuyo nombre empieza con "node". Cualquier otro se deja vivo con una explicación.',
36
38
  confirmPrompt: '¿Parar el proceso que tiene el puerto 17529?',
@@ -1 +1 @@
1
- {"version":3,"file":"free-port.js","sourceRoot":"","sources":["../../../src/ui/screens/free-port.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"free-port.js","sourceRoot":"","sources":["../../../src/ui/screens/free-port.tsx"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,10 @@
1
1
  export declare const PACKAGE_NAME: string;
2
2
  export declare const VERSION: string;
3
+ /**
4
+ * The version currently installed on disk, re-read from `package.json` on
5
+ * every call. `VERSION` above is read once at boot, so it is the version
6
+ * this process is RUNNING; after `npm install -g` replaces the files, the
7
+ * two differ and the server knows it is outdated. `null` when the file
8
+ * cannot be read or parsed. `pkgPath` exists for tests.
9
+ */
10
+ export declare function readInstalledVersion(pkgPath?: string): string | null;
package/dist/version.js CHANGED
@@ -12,4 +12,20 @@ const here = dirname(fileURLToPath(import.meta.url));
12
12
  const pkg = JSON.parse(readFileSync(join(here, '..', 'package.json'), 'utf8'));
13
13
  export const PACKAGE_NAME = pkg.name;
14
14
  export const VERSION = pkg.version;
15
+ /**
16
+ * The version currently installed on disk, re-read from `package.json` on
17
+ * every call. `VERSION` above is read once at boot, so it is the version
18
+ * this process is RUNNING; after `npm install -g` replaces the files, the
19
+ * two differ and the server knows it is outdated. `null` when the file
20
+ * cannot be read or parsed. `pkgPath` exists for tests.
21
+ */
22
+ export function readInstalledVersion(pkgPath = join(here, '..', 'package.json')) {
23
+ try {
24
+ const data = JSON.parse(readFileSync(pkgPath, 'utf8'));
25
+ return typeof data.version === 'string' ? data.version : null;
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
15
31
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAG5E,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAW,GAAG,CAAC,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAG5E,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAW,GAAG,CAAC,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAA0B,CAAC;QAChF,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobshimo/browser-link",
3
- "version": "0.40.0",
3
+ "version": "0.41.0",
4
4
  "description": "MCP server that bridges Claude Code, OpenCode, GitHub Copilot CLI and other MCP clients to a Chrome tab. Per-tool permissions, multi-agent mode (multiple MCP clients sharing one bridge), persistent UI map across sessions.",
5
5
  "keywords": [
6
6
  "mcp",