openchrome-mcp 1.2.4 → 1.2.5

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 (104) hide show
  1. package/dist/cdp/client.d.ts.map +1 -1
  2. package/dist/cdp/client.js +9 -0
  3. package/dist/cdp/client.js.map +1 -1
  4. package/dist/chrome/launcher.d.ts +32 -15
  5. package/dist/chrome/launcher.d.ts.map +1 -1
  6. package/dist/chrome/launcher.js +136 -116
  7. package/dist/chrome/launcher.js.map +1 -1
  8. package/dist/chrome/profile-manager.d.ts +108 -0
  9. package/dist/chrome/profile-manager.d.ts.map +1 -0
  10. package/dist/chrome/profile-manager.js +372 -0
  11. package/dist/chrome/profile-manager.js.map +1 -0
  12. package/dist/chrome/sqlite-cookie-copy.d.ts +46 -0
  13. package/dist/chrome/sqlite-cookie-copy.d.ts.map +1 -0
  14. package/dist/chrome/sqlite-cookie-copy.js +145 -0
  15. package/dist/chrome/sqlite-cookie-copy.js.map +1 -0
  16. package/dist/cli/claude-session.js +0 -0
  17. package/dist/cli/index.js +0 -0
  18. package/dist/config/defaults.d.ts +4 -0
  19. package/dist/config/defaults.d.ts.map +1 -1
  20. package/dist/config/defaults.js +5 -1
  21. package/dist/config/defaults.js.map +1 -1
  22. package/dist/config/global.d.ts +2 -0
  23. package/dist/config/global.d.ts.map +1 -1
  24. package/dist/config/global.js.map +1 -1
  25. package/dist/hints/hint-engine.d.ts +36 -2
  26. package/dist/hints/hint-engine.d.ts.map +1 -1
  27. package/dist/hints/hint-engine.js +96 -27
  28. package/dist/hints/hint-engine.js.map +1 -1
  29. package/dist/hints/index.d.ts +1 -1
  30. package/dist/hints/index.d.ts.map +1 -1
  31. package/dist/hints/rules/repetition-detection.d.ts.map +1 -1
  32. package/dist/hints/rules/repetition-detection.js +21 -0
  33. package/dist/hints/rules/repetition-detection.js.map +1 -1
  34. package/dist/index.js +17 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/mcp-server.d.ts +12 -1
  37. package/dist/mcp-server.d.ts.map +1 -1
  38. package/dist/mcp-server.js +162 -20
  39. package/dist/mcp-server.js.map +1 -1
  40. package/dist/resources/usage-guide.d.ts +1 -1
  41. package/dist/resources/usage-guide.d.ts.map +1 -1
  42. package/dist/resources/usage-guide.js +22 -0
  43. package/dist/resources/usage-guide.js.map +1 -1
  44. package/dist/session-manager.d.ts +4 -0
  45. package/dist/session-manager.d.ts.map +1 -1
  46. package/dist/session-manager.js +56 -0
  47. package/dist/session-manager.js.map +1 -1
  48. package/dist/tools/click-element.d.ts.map +1 -1
  49. package/dist/tools/click-element.js +6 -2
  50. package/dist/tools/click-element.js.map +1 -1
  51. package/dist/tools/computer.d.ts.map +1 -1
  52. package/dist/tools/computer.js +32 -3
  53. package/dist/tools/computer.js.map +1 -1
  54. package/dist/tools/find.d.ts.map +1 -1
  55. package/dist/tools/find.js +16 -6
  56. package/dist/tools/find.js.map +1 -1
  57. package/dist/tools/form-input.d.ts.map +1 -1
  58. package/dist/tools/form-input.js +20 -0
  59. package/dist/tools/form-input.js.map +1 -1
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/index.js +2 -0
  62. package/dist/tools/index.js.map +1 -1
  63. package/dist/tools/javascript.d.ts.map +1 -1
  64. package/dist/tools/javascript.js +38 -2
  65. package/dist/tools/javascript.js.map +1 -1
  66. package/dist/tools/navigate.d.ts.map +1 -1
  67. package/dist/tools/navigate.js +27 -0
  68. package/dist/tools/navigate.js.map +1 -1
  69. package/dist/tools/profile-status.d.ts +10 -0
  70. package/dist/tools/profile-status.d.ts.map +1 -0
  71. package/dist/tools/profile-status.js +101 -0
  72. package/dist/tools/profile-status.js.map +1 -0
  73. package/dist/tools/wait-and-click.d.ts.map +1 -1
  74. package/dist/tools/wait-and-click.js +3 -1
  75. package/dist/tools/wait-and-click.js.map +1 -1
  76. package/dist/utils/format-age.d.ts +5 -0
  77. package/dist/utils/format-age.d.ts.map +1 -0
  78. package/dist/utils/format-age.js +15 -0
  79. package/dist/utils/format-age.js.map +1 -0
  80. package/dist/utils/index.d.ts +1 -0
  81. package/dist/utils/index.d.ts.map +1 -1
  82. package/dist/utils/index.js +1 -0
  83. package/dist/utils/index.js.map +1 -1
  84. package/dist/utils/pid-manager.d.ts +6 -0
  85. package/dist/utils/pid-manager.d.ts.map +1 -0
  86. package/dist/utils/pid-manager.js +132 -0
  87. package/dist/utils/pid-manager.js.map +1 -0
  88. package/dist/utils/ref-id-manager.d.ts +19 -1
  89. package/dist/utils/ref-id-manager.d.ts.map +1 -1
  90. package/dist/utils/ref-id-manager.js +49 -2
  91. package/dist/utils/ref-id-manager.js.map +1 -1
  92. package/package.json +4 -1
  93. package/dist/chrome/profile-detector.d.ts +0 -52
  94. package/dist/chrome/profile-detector.d.ts.map +0 -1
  95. package/dist/chrome/profile-detector.js +0 -246
  96. package/dist/chrome/profile-detector.js.map +0 -1
  97. package/dist/hints/rules/dom-mode-suggestion.d.ts +0 -6
  98. package/dist/hints/rules/dom-mode-suggestion.d.ts.map +0 -1
  99. package/dist/hints/rules/dom-mode-suggestion.js +0 -24
  100. package/dist/hints/rules/dom-mode-suggestion.js.map +0 -1
  101. package/dist/types/profile.d.ts +0 -76
  102. package/dist/types/profile.d.ts.map +0 -1
  103. package/dist/types/profile.js +0 -35
  104. package/dist/types/profile.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkB9F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAE3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,wBAAwB,CAAsC;IACtE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,iBAAiB,CAAmE;IAC5F,OAAO,CAAC,eAAe,CAAyE;IAChG,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,mBAAmB,CAAkD;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;gBAEtC,OAAO,GAAE,gBAAqB;IAU1C;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIvE;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAO1E;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAItE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;YACW,eAAe;IAoB7B;;OAEG;YACW,gBAAgB;IA6D9B;;OAEG;YACW,eAAe;IAsC7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B9B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC;;OAEG;IACH,UAAU,IAAI,OAAO;IAQrB,MAAM,CAAC,QAAQ,CAAC,gBAAgB;;;MAAoB;IAEpD;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC;IAOrD;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;;;;;;;OAQG;IACG,6BAA6B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0BlF;;;;OAIG;YACW,gCAAgC;IAoF9C;;;;OAIG;IACG,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAqGhF;;;;;OAKG;IACG,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD1G;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjC;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA2B/D;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAapD;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAKb;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;CAG1E;AAKD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAKlE;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAqC;IAEpD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAShE;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC;;OAEG;IACH,MAAM,IAAI,SAAS,EAAE;IAIrB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CASrC;AAKD,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD"}
@@ -156,6 +156,7 @@ class CDPClient {
156
156
  if (this.connectionState === 'reconnecting') {
157
157
  return; // Already reconnecting
158
158
  }
159
+ this.reconnectAttempts = 0; // Reset counter on each new disconnect event
159
160
  this.connectionState = 'reconnecting';
160
161
  this.emitConnectionEvent({
161
162
  type: 'disconnected',
@@ -165,6 +166,11 @@ class CDPClient {
165
166
  this.sessions.clear();
166
167
  this.targetIdIndex.clear();
167
168
  this.inFlightCookieScans.clear();
169
+ // Remove old browser listeners before nulling reference
170
+ if (this.browser) {
171
+ this.browser.removeAllListeners('disconnected');
172
+ this.browser.removeAllListeners('targetdestroyed');
173
+ }
168
174
  this.browser = null;
169
175
  // Attempt reconnection
170
176
  while (this.reconnectAttempts < this.maxReconnectAttempts) {
@@ -271,6 +277,7 @@ class CDPClient {
271
277
  if (this.browser) {
272
278
  try {
273
279
  this.browser.removeAllListeners('disconnected');
280
+ this.browser.removeAllListeners('targetdestroyed');
274
281
  await this.browser.disconnect();
275
282
  }
276
283
  catch {
@@ -291,6 +298,8 @@ class CDPClient {
291
298
  this.stopHeartbeat();
292
299
  if (this.browser) {
293
300
  try {
301
+ this.browser.removeAllListeners('disconnected');
302
+ this.browser.removeAllListeners('targetdestroyed');
294
303
  await this.browser.disconnect();
295
304
  }
296
305
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,14 @@
2
2
  * Chrome Launcher - Manages Chrome process with remote debugging
3
3
  */
4
4
  import { ChildProcess } from 'child_process';
5
+ import type { ProfileType } from './profile-manager';
6
+ export type { ProfileType } from './profile-manager';
5
7
  export interface ChromeInstance {
6
8
  wsEndpoint: string;
7
9
  httpEndpoint: string;
8
10
  process?: ChildProcess;
9
11
  userDataDir?: string;
12
+ profileType?: ProfileType;
10
13
  }
11
14
  export interface LaunchOptions {
12
15
  port?: number;
@@ -16,11 +19,22 @@ export interface LaunchOptions {
16
19
  autoLaunch?: boolean;
17
20
  /** If true, force using a temp directory instead of real Chrome profile */
18
21
  useTempProfile?: boolean;
22
+ /** If true, quit running Chrome to reuse the real profile (default: false — uses temp profile instead) */
23
+ restartChrome?: boolean;
24
+ }
25
+ export interface ProfileState {
26
+ type: ProfileType;
27
+ cookieCopiedAt?: number;
28
+ extensionsAvailable: boolean;
29
+ sourceProfile?: string;
30
+ userDataDir?: string;
19
31
  }
20
32
  export declare class ChromeLauncher {
21
33
  private instance;
22
34
  private port;
23
- private usingRealProfile;
35
+ private profileManager;
36
+ private currentProfileType;
37
+ private profileState;
24
38
  constructor(port?: number);
25
39
  /**
26
40
  * Ensure Chrome with remote debugging is available
@@ -43,24 +57,27 @@ export declare class ChromeLauncher {
43
57
  */
44
58
  isConnected(): boolean;
45
59
  /**
46
- * Get the real Chrome profile directory for the current platform
60
+ * Get the port this launcher is configured for
47
61
  */
48
- private getRealChromeProfileDir;
62
+ getPort(): number;
63
+ /**
64
+ * Get the current profile type. Useful for MCP consumers to understand
65
+ * what capabilities are available (e.g., extensions only with 'real' profile).
66
+ */
67
+ getProfileType(): ProfileType | undefined;
49
68
  /**
50
- * Copy essential profile data (cookies, local state) from a locked real Chrome profile
51
- * to a temp profile directory. This allows the new Chrome instance to start with
52
- * the user's existing authentication and cookies.
53
- *
54
- * Cookie decryption by platform:
55
- * - macOS: Chrome uses Keychain key "Chrome Safe Storage". Same binary + same user = works.
56
- * - Linux: Chrome uses gnome-keyring or kwallet. Same user session = works.
57
- * - Windows: Chrome uses DPAPI tied to user account. Same user = works.
58
- * In all cases, launching the same Chrome binary as the same OS user allows
59
- * the new instance to decrypt the copied cookies.
69
+ * Get the current profile state.
70
+ * Describes what type of Chrome profile is in use and its capabilities.
60
71
  */
61
- private copyEssentialProfileData;
72
+ getProfileState(): ProfileState;
73
+ /**
74
+ * Get the real Chrome profile directory for the current platform
75
+ */
76
+ private getRealChromeProfileDir;
62
77
  /**
63
- * Check if a Chrome profile directory is locked by another Chrome instance
78
+ * Check if a Chrome profile directory is locked by another Chrome instance.
79
+ * On Unix, validates SingletonLock symlink targets by checking if the PID is alive,
80
+ * so stale lock files from crashed Chrome instances are correctly ignored.
64
81
  */
65
82
  private isProfileLocked;
66
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/chrome/launcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAS,YAAY,EAAY,MAAM,eAAe,CAAC;AAQ9D,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA0ID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,gBAAgB,CAAS;gBAErB,IAAI,GAAE,MAAqB;IAIvC;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqMxE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAOtC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAsDhC;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;;OAGG;YACW,iBAAiB;IAkC/B;;;OAGG;YACW,oBAAoB;CAkBnC;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAK/D"}
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/chrome/launcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAS,YAAY,EAAY,MAAM,eAAe,CAAC;AAQ9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAuJD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,YAAY,CAGlB;gBAEU,IAAI,GAAE,MAAqB;IAIvC;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAsNxE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAOtC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;OAGG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAsDvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;;OAGG;YACW,iBAAiB;IAkC/B;;;OAGG;YACW,oBAAoB;CAkBnC;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAS/D"}
@@ -45,6 +45,7 @@ const os = __importStar(require("os"));
45
45
  const http = __importStar(require("http"));
46
46
  const global_1 = require("../config/global");
47
47
  const defaults_1 = require("../config/defaults");
48
+ const profile_manager_1 = require("./profile-manager");
48
49
  const DEFAULT_PORT = 9222;
49
50
  /**
50
51
  * Find Chrome executable path based on platform
@@ -163,11 +164,17 @@ async function checkDebugPort(port) {
163
164
  });
164
165
  }
165
166
  /**
166
- * Wait for debug port to become available
167
+ * Wait for debug port to become available.
168
+ * Optionally accepts a chromeProcess to fast-fail if Chrome exits before the port opens.
167
169
  */
168
- async function waitForDebugPort(port, timeout = 30000) {
170
+ async function waitForDebugPort(port, timeout = 30000, chromeProcess) {
169
171
  const startTime = Date.now();
170
172
  while (Date.now() - startTime < timeout) {
173
+ // Fast-fail if the spawned Chrome process has already exited
174
+ if (chromeProcess && chromeProcess.exitCode !== null) {
175
+ throw new Error(`Chrome exited with code ${chromeProcess.exitCode} before debug port ${port} became available. ` +
176
+ `Likely cause: --user-data-dir is locked by another Chrome instance.`);
177
+ }
171
178
  const wsEndpoint = await checkDebugPort(port);
172
179
  if (wsEndpoint) {
173
180
  return wsEndpoint;
@@ -179,7 +186,12 @@ async function waitForDebugPort(port, timeout = 30000) {
179
186
  class ChromeLauncher {
180
187
  instance = null;
181
188
  port;
182
- usingRealProfile = false;
189
+ profileManager = new profile_manager_1.ProfileManager();
190
+ currentProfileType;
191
+ profileState = {
192
+ type: 'real',
193
+ extensionsAvailable: true,
194
+ };
183
195
  constructor(port = DEFAULT_PORT) {
184
196
  this.port = port;
185
197
  }
@@ -199,14 +211,18 @@ class ChromeLauncher {
199
211
  console.error('[ChromeLauncher] Cached instance is stale, refreshing...');
200
212
  this.instance = null;
201
213
  }
202
- // Check if Chrome is already running with debug port
203
- const existingWs = await checkDebugPort(port);
214
+ // Check if Chrome is already running with debug port.
215
+ // Use a brief retry window (5s) instead of a single-shot check, because Chrome
216
+ // may still be binding the debug port during startup (1-5s window).
217
+ const existingWs = await waitForDebugPort(port, 5000).catch(() => null);
204
218
  if (existingWs) {
205
219
  console.error(`[ChromeLauncher] Found existing Chrome on port ${port}`);
206
220
  this.instance = {
207
221
  wsEndpoint: existingWs,
208
222
  httpEndpoint: `http://127.0.0.1:${port}`,
209
223
  };
224
+ // Attached to user-started Chrome — assume real profile
225
+ this.profileState = { type: 'real', extensionsAvailable: true };
210
226
  return this.instance;
211
227
  }
212
228
  // If autoLaunch is false (default), don't start Chrome automatically
@@ -216,13 +232,13 @@ class ChromeLauncher {
216
232
  ` chrome --remote-debugging-port=${port}\n\n` +
217
233
  `Or use --auto-launch flag to start Chrome automatically.`);
218
234
  }
219
- // Graceful restart: if Chrome is running without debug port and profile is locked,
220
- // quit Chrome gracefully so it saves session state, then let the existing launch
221
- // logic detect the unlocked real profile and relaunch with --remote-debugging-port.
222
- if (!options.useTempProfile) {
235
+ // Graceful restart: only when explicitly opted in via --restart-chrome flag.
236
+ // Default behavior: skip restart, fall through to temp profile + cookie copy.
237
+ const restartChrome = options.restartChrome ?? (0, global_1.getGlobalConfig)().restartChrome ?? false;
238
+ if (!options.useTempProfile && restartChrome) {
223
239
  const realProfileDir = this.getRealChromeProfileDir();
224
240
  if (realProfileDir && this.isProfileLocked(realProfileDir) && this.isChromeRunning()) {
225
- console.error('[ChromeLauncher] Chrome running without debug port — attempting graceful restart...');
241
+ console.error('[ChromeLauncher] --restart-chrome: attempting graceful restart...');
226
242
  const unlocked = await this.quitAndUnlockProfile(realProfileDir);
227
243
  if (unlocked) {
228
244
  console.error('[ChromeLauncher] Chrome quit successfully, profile unlocked. Relaunching with debug port...');
@@ -230,8 +246,6 @@ class ChromeLauncher {
230
246
  else {
231
247
  console.error('[ChromeLauncher] Graceful restart failed, falling back to temp profile...');
232
248
  }
233
- // On success: existing launch logic below detects unlocked profile
234
- // On failure: falls through to existing temp-profile path
235
249
  }
236
250
  }
237
251
  // Launch new Chrome instance
@@ -261,44 +275,54 @@ class ChromeLauncher {
261
275
  if (!chromePath) {
262
276
  throw new Error('Chrome not found. Please install Google Chrome or set CHROME_PATH environment variable.');
263
277
  }
264
- // Determine user data directory:
265
- // 1. Explicit option from CLI/config/global
266
- // 2. Real Chrome profile (macOS: ~/Library/Application Support/Google/Chrome)
267
- // (skipped when using headless-shell, which doesn't support extensions)
268
- // 3. Fallback to temp directory
269
- let userDataDir = options.userDataDir || globalConfig.userDataDir;
270
- let usingRealProfile = false;
271
- if (!userDataDir && !options.useTempProfile && !usingHeadlessShell) {
272
- const realProfileDir = this.getRealChromeProfileDir();
273
- if (realProfileDir) {
274
- if (!this.isProfileLocked(realProfileDir)) {
275
- userDataDir = realProfileDir;
276
- usingRealProfile = true;
277
- this.usingRealProfile = true;
278
- console.error(`[ChromeLauncher] Using real Chrome profile: ${realProfileDir}`);
279
- }
280
- else {
281
- // Profile is locked by another Chrome instance.
282
- // Create temp profile but copy essential data (cookies, local state)
283
- // so the new Chrome session inherits the user's existing authentication.
284
- userDataDir = path.join(os.tmpdir(), `openchrome-${Date.now()}`);
285
- this.usingRealProfile = false;
286
- this.copyEssentialProfileData(realProfileDir, userDataDir);
287
- console.error(`[ChromeLauncher] Profile locked, using temp with copied cookies: ${userDataDir}`);
288
- }
289
- }
278
+ // Resolve which profile directory to use via ProfileManager.
279
+ // Priority: explicit > temp/headless > real unlocked > persistent (with sync) > persistent (no sync)
280
+ const realProfileDir = this.getRealChromeProfileDir();
281
+ const explicitUserDataDir = options.userDataDir || globalConfig.userDataDir;
282
+ // Skip expensive isProfileLocked check when result won't be used
283
+ const isLocked = (!explicitUserDataDir && !options.useTempProfile && !usingHeadlessShell && realProfileDir)
284
+ ? this.isProfileLocked(realProfileDir)
285
+ : false;
286
+ const resolution = this.profileManager.resolveProfile({
287
+ realProfileDir,
288
+ isProfileLocked: isLocked,
289
+ explicitUserDataDir,
290
+ useTempProfile: options.useTempProfile,
291
+ usingHeadlessShell,
292
+ });
293
+ const userDataDir = resolution.userDataDir;
294
+ const profileType = resolution.profileType;
295
+ this.currentProfileType = profileType;
296
+ // Track profile state for MCP consumers
297
+ this.profileState = {
298
+ type: profileType,
299
+ extensionsAvailable: profileType === 'real' || profileType === 'explicit',
300
+ ...(resolution.syncPerformed && { cookieCopiedAt: Date.now() }),
301
+ ...(realProfileDir && profileType === 'persistent' && { sourceProfile: realProfileDir }),
302
+ userDataDir,
303
+ };
304
+ if (resolution.syncPerformed) {
305
+ console.error(`[ChromeLauncher] Using persistent profile with fresh cookie sync: ${userDataDir}`);
290
306
  }
291
- if (!userDataDir) {
292
- userDataDir = path.join(os.tmpdir(), `openchrome-${Date.now()}`);
293
- this.usingRealProfile = false;
307
+ else if (profileType === 'persistent') {
308
+ console.error(`[ChromeLauncher] Using persistent profile (cookies fresh): ${userDataDir}`);
309
+ }
310
+ else if (profileType === 'real') {
311
+ console.error(`[ChromeLauncher] Using real Chrome profile: ${userDataDir}`);
312
+ }
313
+ else if (profileType === 'temp') {
294
314
  console.error(`[ChromeLauncher] Using temp profile: ${userDataDir}`);
295
315
  }
316
+ else {
317
+ console.error(`[ChromeLauncher] Using explicit profile: ${userDataDir}`);
318
+ }
296
319
  fs.mkdirSync(userDataDir, { recursive: true });
297
320
  const args = [
298
321
  `--remote-debugging-port=${port}`,
299
322
  `--user-data-dir=${userDataDir}`,
300
323
  '--no-first-run',
301
324
  '--no-default-browser-check',
325
+ '--no-restore-last-session',
302
326
  // IMPORTANT: Start maximized for proper debugging experience
303
327
  '--start-maximized',
304
328
  // Fallback window size if maximize doesn't work
@@ -311,8 +335,8 @@ class ChromeLauncher {
311
335
  '--disable-backgrounding-occluded-windows',
312
336
  '--disable-ipc-flooding-protection',
313
337
  ];
314
- // Only disable background features for temp profiles
315
- if (!usingRealProfile) {
338
+ // Only disable background features for non-real profiles
339
+ if (profileType !== 'real') {
316
340
  args.push('--disable-background-networking', '--disable-sync', '--disable-translate', '--metrics-recording-only', '--disable-extensions', '--disable-component-extensions-with-background-pages', '--disable-default-apps');
317
341
  }
318
342
  // Headless mode: explicit option > global config (default when auto-launch)
@@ -341,13 +365,18 @@ class ChromeLauncher {
341
365
  // Note: On Windows, detached processes create a new process group.
342
366
  // Killing the root process may not clean up child processes (renderers, GPU).
343
367
  // The oc_stop tool handles this via session/pool cleanup before process kill.
344
- // Wait for debug port
345
- const wsEndpoint = await waitForDebugPort(port);
368
+ // Log Chrome process exit for immediate diagnostics
369
+ chromeProcess.once('exit', (code, signal) => {
370
+ console.error(`[ChromeLauncher] Chrome process exited (code: ${code}, signal: ${signal})`);
371
+ });
372
+ // Wait for debug port — pass chromeProcess for fast-fail on premature exit
373
+ const wsEndpoint = await waitForDebugPort(port, 30000, chromeProcess);
346
374
  this.instance = {
347
375
  wsEndpoint,
348
376
  httpEndpoint: `http://127.0.0.1:${port}`,
349
377
  process: chromeProcess,
350
378
  userDataDir,
379
+ profileType,
351
380
  };
352
381
  console.error(`[ChromeLauncher] Chrome ready at ${wsEndpoint}`);
353
382
  return this.instance;
@@ -390,10 +419,12 @@ class ChromeLauncher {
390
419
  else {
391
420
  this.instance.process.kill();
392
421
  }
393
- // Clean up user data dir (only if using temp profile, never delete real profile)
394
- if (this.instance.userDataDir && !this.usingRealProfile) {
422
+ // Clean up user data dir only delete temp profiles.
423
+ // Persistent profiles survive across sessions; real/explicit profiles are never ours to delete.
424
+ if (this.instance.userDataDir && this.currentProfileType === 'temp') {
395
425
  try {
396
426
  fs.rmSync(this.instance.userDataDir, { recursive: true, force: true });
427
+ console.error(`[ChromeLauncher] Cleaned up temp profile: ${this.instance.userDataDir}`);
397
428
  }
398
429
  catch {
399
430
  // Ignore cleanup errors
@@ -408,6 +439,26 @@ class ChromeLauncher {
408
439
  isConnected() {
409
440
  return this.instance !== null;
410
441
  }
442
+ /**
443
+ * Get the port this launcher is configured for
444
+ */
445
+ getPort() {
446
+ return this.port;
447
+ }
448
+ /**
449
+ * Get the current profile type. Useful for MCP consumers to understand
450
+ * what capabilities are available (e.g., extensions only with 'real' profile).
451
+ */
452
+ getProfileType() {
453
+ return this.currentProfileType;
454
+ }
455
+ /**
456
+ * Get the current profile state.
457
+ * Describes what type of Chrome profile is in use and its capabilities.
458
+ */
459
+ getProfileState() {
460
+ return { ...this.profileState };
461
+ }
411
462
  /**
412
463
  * Get the real Chrome profile directory for the current platform
413
464
  */
@@ -439,71 +490,9 @@ class ChromeLauncher {
439
490
  return null;
440
491
  }
441
492
  /**
442
- * Copy essential profile data (cookies, local state) from a locked real Chrome profile
443
- * to a temp profile directory. This allows the new Chrome instance to start with
444
- * the user's existing authentication and cookies.
445
- *
446
- * Cookie decryption by platform:
447
- * - macOS: Chrome uses Keychain key "Chrome Safe Storage". Same binary + same user = works.
448
- * - Linux: Chrome uses gnome-keyring or kwallet. Same user session = works.
449
- * - Windows: Chrome uses DPAPI tied to user account. Same user = works.
450
- * In all cases, launching the same Chrome binary as the same OS user allows
451
- * the new instance to decrypt the copied cookies.
452
- */
453
- copyEssentialProfileData(sourceDir, destDir) {
454
- try {
455
- const destDefault = path.join(destDir, 'Default');
456
- fs.mkdirSync(destDefault, { recursive: true });
457
- // Copy Local State (contains OS crypt config, encryption key references)
458
- const localStateSrc = path.join(sourceDir, 'Local State');
459
- if (fs.existsSync(localStateSrc)) {
460
- fs.copyFileSync(localStateSrc, path.join(destDir, 'Local State'));
461
- }
462
- // Copy cookie database files from Default profile.
463
- // Chrome uses SQLite WAL mode, so we copy in order: main DB → WAL → SHM → journal.
464
- // If the main DB copy races with a Chrome write, the WAL file provides recovery.
465
- // This is safe for read-only consumption by the new Chrome instance.
466
- const cookieFiles = ['Cookies', 'Cookies-wal', 'Cookies-shm', 'Cookies-journal'];
467
- let copiedCount = 0;
468
- for (const file of cookieFiles) {
469
- const src = path.join(sourceDir, 'Default', file);
470
- if (fs.existsSync(src)) {
471
- try {
472
- fs.copyFileSync(src, path.join(destDefault, file));
473
- copiedCount++;
474
- }
475
- catch {
476
- // Individual file copy failure is non-fatal (e.g., WAL may not exist)
477
- }
478
- }
479
- }
480
- // Copy and patch Preferences to prevent "Chrome didn't shut down correctly" prompt.
481
- // The source Preferences has exit_type:"Crashed" while Chrome is running.
482
- const prefsSrc = path.join(sourceDir, 'Default', 'Preferences');
483
- if (fs.existsSync(prefsSrc)) {
484
- try {
485
- const prefsContent = fs.readFileSync(prefsSrc, 'utf8');
486
- const prefs = JSON.parse(prefsContent);
487
- // Patch exit_type to Normal so Chrome doesn't show recovery prompt
488
- if (prefs.profile) {
489
- prefs.profile.exit_type = 'Normal';
490
- prefs.profile.exited_cleanly = true;
491
- }
492
- fs.writeFileSync(path.join(destDefault, 'Preferences'), JSON.stringify(prefs));
493
- }
494
- catch {
495
- // JSON parse failed — skip Preferences entirely.
496
- // Chrome will create fresh defaults rather than showing a crash recovery prompt.
497
- }
498
- }
499
- console.error(`[ChromeLauncher] Copied essential profile data (${copiedCount} cookie files) from locked profile`);
500
- }
501
- catch (err) {
502
- console.error(`[ChromeLauncher] Failed to copy profile data (non-fatal):`, err);
503
- }
504
- }
505
- /**
506
- * Check if a Chrome profile directory is locked by another Chrome instance
493
+ * Check if a Chrome profile directory is locked by another Chrome instance.
494
+ * On Unix, validates SingletonLock symlink targets by checking if the PID is alive,
495
+ * so stale lock files from crashed Chrome instances are correctly ignored.
507
496
  */
508
497
  isProfileLocked(profileDir) {
509
498
  if (os.platform() === 'win32') {
@@ -515,17 +504,44 @@ class ChromeLauncher {
515
504
  }
516
505
  return false;
517
506
  }
518
- // Unix: Chrome uses SingletonLock symlinks
507
+ // Unix: Chrome uses SingletonLock (symlink to "hostname-pid"), SingletonSocket, SingletonCookie
519
508
  const lockFiles = [
520
509
  path.join(profileDir, 'SingletonLock'),
521
510
  path.join(profileDir, 'SingletonSocket'),
522
511
  path.join(profileDir, 'SingletonCookie'),
523
512
  ];
524
513
  for (const lockFile of lockFiles) {
525
- if (fs.existsSync(lockFile)) {
514
+ // Use lstatSync instead of existsSync because SingletonLock is a dangling symlink
515
+ // (target "hostname-pid" doesn't exist as a file), and existsSync follows symlinks.
516
+ try {
517
+ const stats = fs.lstatSync(lockFile);
518
+ // For symlinks (SingletonLock), validate the PID is still alive
519
+ if (stats.isSymbolicLink()) {
520
+ try {
521
+ const target = fs.readlinkSync(lockFile);
522
+ const pid = parseInt(target.split('-').pop(), 10);
523
+ if (!isNaN(pid) && pid > 0) {
524
+ try {
525
+ process.kill(pid, 0); // Signal 0: check if process exists without killing
526
+ }
527
+ catch {
528
+ // PID not alive → stale lock file left by crashed Chrome, skip it
529
+ console.error(`[ChromeLauncher] Stale lock ignored: ${lockFile} (PID ${pid} not alive)`);
530
+ continue;
531
+ }
532
+ }
533
+ }
534
+ catch {
535
+ // readlinkSync failed — can't validate, assume locked for safety
536
+ }
537
+ }
526
538
  console.error(`[ChromeLauncher] Profile locked: ${lockFile} exists`);
527
539
  return true;
528
540
  }
541
+ catch {
542
+ // lstatSync throws if file doesn't exist → not locked by this file
543
+ continue;
544
+ }
529
545
  }
530
546
  return false;
531
547
  }
@@ -626,8 +642,12 @@ exports.ChromeLauncher = ChromeLauncher;
626
642
  // Singleton instance
627
643
  let launcherInstance = null;
628
644
  function getChromeLauncher(port) {
629
- if (!launcherInstance) {
630
- launcherInstance = new ChromeLauncher(port);
645
+ const resolvedPort = port || DEFAULT_PORT;
646
+ if (!launcherInstance || launcherInstance.getPort() !== resolvedPort) {
647
+ if (launcherInstance) {
648
+ console.error(`[ChromeLauncher] Replacing singleton (port ${launcherInstance.getPort()} → ${resolvedPort})`);
649
+ }
650
+ launcherInstance = new ChromeLauncher(resolvedPort);
631
651
  }
632
652
  return launcherInstance;
633
653
  }