openchrome-mcp 1.9.0 → 1.9.2

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 (117) hide show
  1. package/README.md +55 -1
  2. package/dist/cdp/client.d.ts +6 -0
  3. package/dist/cdp/client.d.ts.map +1 -1
  4. package/dist/cdp/client.js +13 -0
  5. package/dist/cdp/client.js.map +1 -1
  6. package/dist/chrome/headed-fallback.d.ts +3 -0
  7. package/dist/chrome/headed-fallback.d.ts.map +1 -1
  8. package/dist/chrome/headed-fallback.js +4 -0
  9. package/dist/chrome/headed-fallback.js.map +1 -1
  10. package/dist/cli/index.js +0 -0
  11. package/dist/config/global.d.ts +1 -0
  12. package/dist/config/global.d.ts.map +1 -1
  13. package/dist/config/global.js.map +1 -1
  14. package/dist/config/tool-tiers.d.ts.map +1 -1
  15. package/dist/config/tool-tiers.js +3 -0
  16. package/dist/config/tool-tiers.js.map +1 -1
  17. package/dist/connect/clipboard.d.ts +6 -0
  18. package/dist/connect/clipboard.d.ts.map +1 -0
  19. package/dist/connect/clipboard.js +54 -0
  20. package/dist/connect/clipboard.js.map +1 -0
  21. package/dist/connect/config-generator.d.ts +9 -0
  22. package/dist/connect/config-generator.d.ts.map +1 -0
  23. package/dist/connect/config-generator.js +43 -0
  24. package/dist/connect/config-generator.js.map +1 -0
  25. package/dist/connect/hosts.d.ts +9 -0
  26. package/dist/connect/hosts.d.ts.map +1 -0
  27. package/dist/connect/hosts.js +81 -0
  28. package/dist/connect/hosts.js.map +1 -0
  29. package/dist/connect/index.d.ts +8 -0
  30. package/dist/connect/index.d.ts.map +1 -0
  31. package/dist/connect/index.js +15 -0
  32. package/dist/connect/index.js.map +1 -0
  33. package/dist/connect/open-url.d.ts +6 -0
  34. package/dist/connect/open-url.d.ts.map +1 -0
  35. package/dist/connect/open-url.js +42 -0
  36. package/dist/connect/open-url.js.map +1 -0
  37. package/dist/connect/types.d.ts +48 -0
  38. package/dist/connect/types.d.ts.map +1 -0
  39. package/dist/connect/types.js +7 -0
  40. package/dist/connect/types.js.map +1 -0
  41. package/dist/dashboard/index.d.ts +3 -0
  42. package/dist/dashboard/index.d.ts.map +1 -1
  43. package/dist/dashboard/index.js +47 -0
  44. package/dist/dashboard/index.js.map +1 -1
  45. package/dist/dashboard/types.d.ts +1 -1
  46. package/dist/dashboard/types.d.ts.map +1 -1
  47. package/dist/dashboard/views/connect-view.d.ts +25 -0
  48. package/dist/dashboard/views/connect-view.d.ts.map +1 -0
  49. package/dist/dashboard/views/connect-view.js +135 -0
  50. package/dist/dashboard/views/connect-view.js.map +1 -0
  51. package/dist/dashboard/views/main-view.d.ts.map +1 -1
  52. package/dist/dashboard/views/main-view.js +1 -0
  53. package/dist/dashboard/views/main-view.js.map +1 -1
  54. package/dist/desktop/chrome-detector.d.ts +58 -0
  55. package/dist/desktop/chrome-detector.d.ts.map +1 -0
  56. package/dist/desktop/chrome-detector.js +211 -0
  57. package/dist/desktop/chrome-detector.js.map +1 -0
  58. package/dist/desktop/cli-coexistence.d.ts +90 -0
  59. package/dist/desktop/cli-coexistence.d.ts.map +1 -0
  60. package/dist/desktop/cli-coexistence.js +219 -0
  61. package/dist/desktop/cli-coexistence.js.map +1 -0
  62. package/dist/desktop/dashboard-state.d.ts +50 -0
  63. package/dist/desktop/dashboard-state.d.ts.map +1 -0
  64. package/dist/desktop/dashboard-state.js +155 -0
  65. package/dist/desktop/dashboard-state.js.map +1 -0
  66. package/dist/desktop/error-log.d.ts +53 -0
  67. package/dist/desktop/error-log.d.ts.map +1 -0
  68. package/dist/desktop/error-log.js +127 -0
  69. package/dist/desktop/error-log.js.map +1 -0
  70. package/dist/desktop/sidecar-manager.d.ts +80 -0
  71. package/dist/desktop/sidecar-manager.d.ts.map +1 -0
  72. package/dist/desktop/sidecar-manager.js +222 -0
  73. package/dist/desktop/sidecar-manager.js.map +1 -0
  74. package/dist/desktop/tunnel-failure-handler.d.ts +56 -0
  75. package/dist/desktop/tunnel-failure-handler.d.ts.map +1 -0
  76. package/dist/desktop/tunnel-failure-handler.js +157 -0
  77. package/dist/desktop/tunnel-failure-handler.js.map +1 -0
  78. package/dist/desktop/tunnel-manager.d.ts +85 -0
  79. package/dist/desktop/tunnel-manager.d.ts.map +1 -0
  80. package/dist/desktop/tunnel-manager.js +363 -0
  81. package/dist/desktop/tunnel-manager.js.map +1 -0
  82. package/dist/index.js +15 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/mcp-server.d.ts.map +1 -1
  85. package/dist/mcp-server.js +4 -0
  86. package/dist/mcp-server.js.map +1 -1
  87. package/dist/session-manager.d.ts +6 -0
  88. package/dist/session-manager.d.ts.map +1 -1
  89. package/dist/session-manager.js +12 -0
  90. package/dist/session-manager.js.map +1 -1
  91. package/dist/tools/connect.d.ts +7 -0
  92. package/dist/tools/connect.d.ts.map +1 -0
  93. package/dist/tools/connect.js +125 -0
  94. package/dist/tools/connect.js.map +1 -0
  95. package/dist/tools/index.d.ts.map +1 -1
  96. package/dist/tools/index.js +4 -0
  97. package/dist/tools/index.js.map +1 -1
  98. package/dist/tools/navigate.d.ts.map +1 -1
  99. package/dist/tools/navigate.js +15 -6
  100. package/dist/tools/navigate.js.map +1 -1
  101. package/dist/transports/http.d.ts +26 -1
  102. package/dist/transports/http.d.ts.map +1 -1
  103. package/dist/transports/http.js +161 -4
  104. package/dist/transports/http.js.map +1 -1
  105. package/dist/transports/index.d.ts +1 -0
  106. package/dist/transports/index.d.ts.map +1 -1
  107. package/dist/transports/index.js +1 -1
  108. package/dist/transports/index.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/tools/click-element.d.ts +0 -8
  111. package/dist/tools/click-element.d.ts.map +0 -1
  112. package/dist/tools/click-element.js +0 -347
  113. package/dist/tools/click-element.js.map +0 -1
  114. package/dist/tools/wait-and-click.d.ts +0 -8
  115. package/dist/tools/wait-and-click.d.ts.map +0 -1
  116. package/dist/tools/wait-and-click.js +0 -208
  117. package/dist/tools/wait-and-click.js.map +0 -1
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ /**
3
+ * Tunnel Resilience Manager — manages cloudflared tunnel lifecycle with
4
+ * auto-reconnect, blip detection, and local-only fallback.
5
+ * Part of #524 Desktop App: Error handling + local fallback + CLI coexistence.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.TunnelManager = void 0;
42
+ const events_1 = require("events");
43
+ const child_process_1 = require("child_process");
44
+ const fs = __importStar(require("fs"));
45
+ const os = __importStar(require("os"));
46
+ const path = __importStar(require("path"));
47
+ /**
48
+ * TunnelManager manages the cloudflared tunnel process with:
49
+ * - Auto-reconnect on crash (up to maxReconnectAttempts)
50
+ * - Blip detection (transparent for short disconnects)
51
+ * - Local-only fallback when all reconnects fail
52
+ * - Antivirus/permission block detection
53
+ *
54
+ * Events emitted:
55
+ * - 'connected' → { tunnelUrl: string }
56
+ * - 'disconnected' → { reason: string }
57
+ * - 'reconnecting' → { attempt: number, maxAttempts: number }
58
+ * - 'reconnected' → { tunnelUrl: string }
59
+ * - 'local-only' → { reason: string, guidance: string }
60
+ * - 'status-changed' → { oldStatus: TunnelStatus, newStatus: TunnelStatus }
61
+ * - 'blocked' → { reason: string, guidance: string }
62
+ */
63
+ class TunnelManager extends events_1.EventEmitter {
64
+ options;
65
+ process = null;
66
+ state;
67
+ intentionalStop = false;
68
+ reconnectTimer = null;
69
+ constructor(options) {
70
+ super();
71
+ this.options = {
72
+ cloudflaredPath: options.cloudflaredPath ?? '',
73
+ targetPort: options.targetPort,
74
+ maxReconnectAttempts: options.maxReconnectAttempts ?? 3,
75
+ reconnectIntervalMs: options.reconnectIntervalMs ?? 10000,
76
+ blipThresholdMs: options.blipThresholdMs ?? 10000,
77
+ };
78
+ this.state = {
79
+ status: 'disconnected',
80
+ tunnelUrl: null,
81
+ reconnectAttempt: 0,
82
+ lastError: null,
83
+ disconnectedAt: null,
84
+ localModeReason: null,
85
+ };
86
+ }
87
+ /**
88
+ * Start the tunnel. Finds cloudflared binary and spawns the process.
89
+ * Resolves once the process is spawned (not once URL is received).
90
+ */
91
+ async start() {
92
+ this.intentionalStop = false;
93
+ this.state.reconnectAttempt = 0;
94
+ await this._launchTunnel();
95
+ }
96
+ /**
97
+ * Stop the tunnel gracefully. Does not trigger reconnect.
98
+ */
99
+ stop() {
100
+ this.intentionalStop = true;
101
+ this._clearReconnectTimer();
102
+ if (this.process) {
103
+ try {
104
+ this.process.kill('SIGTERM');
105
+ }
106
+ catch { /* already exited */ }
107
+ this.process = null;
108
+ }
109
+ this._setStatus('disconnected');
110
+ }
111
+ /**
112
+ * Manual retry from local-only mode.
113
+ */
114
+ async retry() {
115
+ if (this.state.status !== 'local-only')
116
+ return;
117
+ this.intentionalStop = false;
118
+ this.state.reconnectAttempt = 0;
119
+ this.state.localModeReason = null;
120
+ this.state.lastError = null;
121
+ await this._launchTunnel();
122
+ }
123
+ /**
124
+ * Get the current tunnel state snapshot.
125
+ */
126
+ getState() {
127
+ return { ...this.state };
128
+ }
129
+ /**
130
+ * Find the cloudflared binary path.
131
+ * Checks known install locations and PATH.
132
+ */
133
+ async findCloudflared() {
134
+ // If explicitly configured, verify it exists
135
+ if (this.options.cloudflaredPath) {
136
+ if (fs.existsSync(this.options.cloudflaredPath)) {
137
+ return this.options.cloudflaredPath;
138
+ }
139
+ }
140
+ const candidates = [];
141
+ const platform = os.platform();
142
+ if (platform === 'darwin') {
143
+ candidates.push('/usr/local/bin/cloudflared', '/opt/homebrew/bin/cloudflared');
144
+ }
145
+ else if (platform === 'win32') {
146
+ const localAppData = process.env.LOCALAPPDATA ?? path.join(os.homedir(), 'AppData', 'Local');
147
+ candidates.push(path.join(localAppData, 'cloudflared', 'cloudflared.exe'));
148
+ }
149
+ else {
150
+ // Linux and others
151
+ candidates.push('/usr/local/bin/cloudflared', '/usr/bin/cloudflared');
152
+ }
153
+ for (const candidate of candidates) {
154
+ if (fs.existsSync(candidate)) {
155
+ return candidate;
156
+ }
157
+ }
158
+ // Try PATH via which/where
159
+ try {
160
+ const whichCmd = platform === 'win32' ? 'where' : 'which';
161
+ const result = await this._runCommand(whichCmd, ['cloudflared']);
162
+ const resolved = result.trim().split('\n')[0].trim();
163
+ if (resolved && fs.existsSync(resolved)) {
164
+ return resolved;
165
+ }
166
+ }
167
+ catch {
168
+ // Not in PATH
169
+ }
170
+ return null;
171
+ }
172
+ // ─── Private helpers ──────────────────────────────────────────────────────
173
+ async _launchTunnel() {
174
+ this._setStatus('connecting');
175
+ let binaryPath = null;
176
+ try {
177
+ binaryPath = await this.findCloudflared();
178
+ }
179
+ catch (err) {
180
+ const msg = err instanceof Error ? err.message : String(err);
181
+ this._transitionToLocalOnly(`Failed to locate cloudflared: ${msg}`);
182
+ return;
183
+ }
184
+ if (!binaryPath) {
185
+ this._transitionToLocalOnly('cloudflared binary not found');
186
+ return;
187
+ }
188
+ this._spawnProcess(binaryPath);
189
+ }
190
+ /**
191
+ * Synchronously spawn the cloudflared process and register all event handlers.
192
+ * This is separated from _launchTunnel so handlers are registered in the same
193
+ * synchronous tick as the spawn call.
194
+ */
195
+ _spawnProcess(binaryPath) {
196
+ const args = ['tunnel', '--url', `http://localhost:${this.options.targetPort}`];
197
+ let proc;
198
+ try {
199
+ proc = (0, child_process_1.spawn)(binaryPath, args, { stdio: ['ignore', 'pipe', 'pipe'] });
200
+ }
201
+ catch (err) {
202
+ this._handleSpawnError(err);
203
+ return;
204
+ }
205
+ this.process = proc;
206
+ // Handle spawn errors (e.g. EPERM from antivirus) — must register before any emit
207
+ proc.on('error', (err) => {
208
+ if (this.process === proc) {
209
+ this.process = null;
210
+ }
211
+ this._handleSpawnError(err);
212
+ });
213
+ // Parse tunnel URL from stdout
214
+ proc.stdout?.on('data', (chunk) => {
215
+ this._parseOutput(chunk.toString());
216
+ });
217
+ // Parse tunnel URL from stderr (cloudflared uses stderr for its URL output)
218
+ proc.stderr?.on('data', (chunk) => {
219
+ this._parseOutput(chunk.toString());
220
+ });
221
+ proc.on('exit', (code, signal) => {
222
+ if (this.process === proc) {
223
+ this.process = null;
224
+ }
225
+ this._handleExit(code, signal);
226
+ });
227
+ }
228
+ _parseOutput(output) {
229
+ // cloudflared prints the tunnel URL to stderr, e.g.:
230
+ // Your quick Tunnel has been created! Visit it at https://xxx.trycloudflare.com
231
+ const urlMatch = output.match(/https:\/\/[a-z0-9-]+\.trycloudflare\.com/i);
232
+ if (urlMatch && this.state.status !== 'connected') {
233
+ const tunnelUrl = urlMatch[0];
234
+ this.state.tunnelUrl = tunnelUrl;
235
+ const wasReconnecting = this.state.reconnectAttempt > 0;
236
+ this.state.reconnectAttempt = 0;
237
+ this.state.disconnectedAt = null;
238
+ this._setStatus('connected');
239
+ if (wasReconnecting) {
240
+ this.emit('reconnected', { tunnelUrl });
241
+ }
242
+ else {
243
+ this.emit('connected', { tunnelUrl });
244
+ }
245
+ }
246
+ }
247
+ _handleSpawnError(err) {
248
+ const code = err.code;
249
+ if (code === 'EPERM' || code === 'EACCES') {
250
+ const guidance = 'cloudflared was blocked by security software. ' +
251
+ 'Please add cloudflared to your antivirus whitelist or use local-only mode.';
252
+ this.state.lastError = err.message;
253
+ this.state.localModeReason = guidance;
254
+ this._setStatus('local-only');
255
+ this.emit('blocked', { reason: err.message, guidance });
256
+ this.emit('local-only', { reason: err.message, guidance });
257
+ return;
258
+ }
259
+ const reason = err.message;
260
+ this.state.lastError = reason;
261
+ console.error('[TunnelManager] Spawn error:', err);
262
+ this._scheduleReconnect(reason);
263
+ }
264
+ _handleExit(code, signal) {
265
+ if (this.intentionalStop)
266
+ return;
267
+ const reason = signal ? `killed by signal ${signal}` : `exited with code ${code}`;
268
+ console.error(`[TunnelManager] cloudflared ${reason}`);
269
+ const wasConnected = this.state.status === 'connected';
270
+ this.state.disconnectedAt = Date.now();
271
+ this.state.tunnelUrl = null;
272
+ if (wasConnected) {
273
+ this.emit('disconnected', { reason });
274
+ }
275
+ this._scheduleReconnect(reason);
276
+ }
277
+ _scheduleReconnect(reason) {
278
+ if (this.intentionalStop)
279
+ return;
280
+ const attempt = this.state.reconnectAttempt + 1;
281
+ if (attempt > this.options.maxReconnectAttempts) {
282
+ this._transitionToLocalOnly(reason);
283
+ return;
284
+ }
285
+ this.state.reconnectAttempt = attempt;
286
+ this.state.lastError = reason;
287
+ const blip = this._isBlip();
288
+ if (!blip) {
289
+ this._setStatus('reconnecting');
290
+ this.emit('reconnecting', { attempt, maxAttempts: this.options.maxReconnectAttempts });
291
+ }
292
+ this._clearReconnectTimer();
293
+ const delay = blip ? 0 : this.options.reconnectIntervalMs;
294
+ this.reconnectTimer = setTimeout(() => {
295
+ this.reconnectTimer = null;
296
+ if (!this.intentionalStop) {
297
+ this._launchTunnel().catch((err) => {
298
+ console.error('[TunnelManager] Error during reconnect launch:', err);
299
+ });
300
+ }
301
+ }, delay);
302
+ if (this.reconnectTimer.unref) {
303
+ this.reconnectTimer.unref();
304
+ }
305
+ }
306
+ _transitionToLocalOnly(reason) {
307
+ const guidance = 'Tunnel could not be established. ' +
308
+ 'Local connections (Cursor, Claude Desktop) are still available. ' +
309
+ 'Click Retry to attempt reconnection.';
310
+ this.state.localModeReason = reason;
311
+ this.state.lastError = reason;
312
+ this.state.tunnelUrl = null;
313
+ this._setStatus('local-only');
314
+ this.emit('local-only', { reason, guidance });
315
+ }
316
+ _isBlip() {
317
+ if (this.state.disconnectedAt === null)
318
+ return false;
319
+ return Date.now() - this.state.disconnectedAt < this.options.blipThresholdMs;
320
+ }
321
+ _setStatus(newStatus) {
322
+ const oldStatus = this.state.status;
323
+ if (oldStatus === newStatus)
324
+ return;
325
+ this.state.status = newStatus;
326
+ this.emit('status-changed', { oldStatus, newStatus });
327
+ }
328
+ _clearReconnectTimer() {
329
+ if (this.reconnectTimer) {
330
+ clearTimeout(this.reconnectTimer);
331
+ this.reconnectTimer = null;
332
+ }
333
+ }
334
+ _runCommand(cmd, args) {
335
+ return new Promise((resolve, reject) => {
336
+ let settled = false;
337
+ const done = (fn) => { if (!settled) {
338
+ settled = true;
339
+ fn();
340
+ } };
341
+ const proc = (0, child_process_1.spawn)(cmd, args, { stdio: ['ignore', 'pipe', 'ignore'] });
342
+ const timer = setTimeout(() => done(() => reject(new Error(`${cmd} timed out`))), 5000);
343
+ if (timer.unref)
344
+ timer.unref();
345
+ let output = '';
346
+ proc.stdout?.on('data', (chunk) => {
347
+ output += chunk.toString();
348
+ });
349
+ proc.on('error', (err) => done(() => { clearTimeout(timer); reject(err); }));
350
+ proc.on('exit', (code) => done(() => {
351
+ clearTimeout(timer);
352
+ if (code === 0) {
353
+ resolve(output);
354
+ }
355
+ else {
356
+ reject(new Error(`${cmd} exited with code ${code}`));
357
+ }
358
+ }));
359
+ });
360
+ }
361
+ }
362
+ exports.TunnelManager = TunnelManager;
363
+ //# sourceMappingURL=tunnel-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel-manager.js","sourceRoot":"","sources":["../../src/desktop/tunnel-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -61,6 +61,7 @@ program
61
61
  .option('--server-mode', 'Server/headless mode: auto-launch headless Chrome, skip cookie bridge')
62
62
  .option('--http [port]', 'Use Streamable HTTP transport instead of stdio (default port: 3100)')
63
63
  .option('--http-host <host>', 'Bind address for HTTP transport (default: 127.0.0.1, use 0.0.0.0 for external access)')
64
+ .option('--auth-token <token>', 'Bearer token for HTTP transport authentication (also: OPENCHROME_AUTH_TOKEN env var)')
64
65
  .action(async (options) => {
65
66
  const port = parseInt(options.port, 10);
66
67
  let autoLaunch = options.autoLaunch || false;
@@ -219,11 +220,19 @@ program
219
220
  if (process.platform === 'win32') {
220
221
  process.on('SIGHUP', () => shutdown('SIGHUP'));
221
222
  }
223
+ // Resolve auth token: CLI flag takes precedence over env var
224
+ const authToken = options.authToken || process.env.OPENCHROME_AUTH_TOKEN || undefined;
225
+ if (authToken) {
226
+ console.error('[openchrome] Bearer token authentication: enabled');
227
+ }
222
228
  // Start transport (useHttp was determined above, before getMCPServer)
229
+ // Declare httpTransport at this scope so we can wire the session manager later
230
+ let httpTransport = null;
223
231
  if (useHttp) {
224
232
  const httpPort = typeof options.http === 'string' ? parseInt(options.http, 10) : parseInt(process.env.OPENCHROME_HTTP_PORT || '', 10) || 3100;
225
233
  const httpHost = options.httpHost || process.env.OPENCHROME_HTTP_HOST || '127.0.0.1';
226
- const transport = (0, index_1.createTransport)('http', { port: httpPort, host: httpHost });
234
+ const transport = (0, index_1.createTransport)('http', { port: httpPort, host: httpHost, authToken });
235
+ httpTransport = transport;
227
236
  server.start(transport);
228
237
  console.error(`[openchrome] HTTP transport enabled on ${httpHost}:${httpPort}`);
229
238
  console.error(`[openchrome] Infinite reconnection: enabled (daemon mode)`);
@@ -235,6 +244,11 @@ program
235
244
  const launcher = (0, launcher_1.getChromeLauncher)();
236
245
  const cdpClient = (0, client_1.getCDPClient)();
237
246
  const sessionManager = (0, session_manager_1.getSessionManager)();
247
+ // Wire session manager into HTTP transport for dashboard API endpoints
248
+ if (httpTransport) {
249
+ httpTransport.setSessionManager(sessionManager);
250
+ console.error('[openchrome] Dashboard API endpoints wired to session manager');
251
+ }
238
252
  // Browser State Snapshot (Gap 2: #416)
239
253
  const stateManager = (0, browser_state_1.getBrowserStateManager)();
240
254
  stateManager.setCookieProvider(async () => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ const version_1 = require("./version");
65
65
  const timeout_1 = require("./errors/timeout");
66
66
  const connection_1 = require("./errors/connection");
67
67
  const task_journal_1 = require("./journal/task-journal");
68
+ const dashboard_state_1 = require("./desktop/dashboard-state");
68
69
  /**
69
70
  * Detect if an error is a Chrome/CDP connection error that may be recoverable
70
71
  * by reconnecting to the browser.
@@ -618,6 +619,7 @@ class MCPServer {
618
619
  }
619
620
  // Start activity tracking
620
621
  const callId = this.activityTracker.startCall(toolName, sessionId || 'default', toolArgs, requestId);
622
+ (0, dashboard_state_1.getDashboardState)().recordToolStart(sessionId || 'default', toolName, toolArgs, callId);
621
623
  const toolStartTime = Date.now();
622
624
  // Adaptive heartbeat: switch to heavy mode during tool execution
623
625
  try {
@@ -757,6 +759,7 @@ class MCPServer {
757
759
  (0, audit_logger_1.logAuditEntry)(toolName, sessionId, toolArgs);
758
760
  // End activity tracking (success)
759
761
  this.activityTracker.endCall(callId, 'success');
762
+ (0, dashboard_state_1.getDashboardState)().recordToolEnd(callId, 'success');
760
763
  // Record Prometheus metrics
761
764
  try {
762
765
  const metrics = (0, collector_1.getMetricsCollector)();
@@ -891,6 +894,7 @@ class MCPServer {
891
894
  const message = (0, format_error_1.formatError)(error);
892
895
  // End activity tracking (error)
893
896
  this.activityTracker.endCall(callId, 'error', message);
897
+ (0, dashboard_state_1.getDashboardState)().recordToolEnd(callId, 'error', message);
894
898
  // Record Prometheus metrics
895
899
  try {
896
900
  const metrics = (0, collector_1.getMetricsCollector)();