@jobshimo/browser-link 0.7.6 → 0.7.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 (40) hide show
  1. package/dist/auth/process-identity.js.map +1 -1
  2. package/dist/bridge/client.js +72 -45
  3. package/dist/bridge/client.js.map +1 -1
  4. package/dist/bridge/events.js +2 -1
  5. package/dist/bridge/events.js.map +1 -1
  6. package/dist/bridge/server.js +14 -2
  7. package/dist/bridge/server.js.map +1 -1
  8. package/dist/cli.js +5 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/doctor.js +3 -1
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/install.js +3 -2
  13. package/dist/commands/install.js.map +1 -1
  14. package/dist/commands/self-update.js +4 -2
  15. package/dist/commands/self-update.js.map +1 -1
  16. package/dist/commands/updates.js +3 -1
  17. package/dist/commands/updates.js.map +1 -1
  18. package/dist/config.js.map +1 -1
  19. package/dist/extension/background.js +106 -48
  20. package/dist/extension/background.js.map +1 -1
  21. package/dist/extension/manifest.json +1 -1
  22. package/dist/extension/popup.d.ts +11 -1
  23. package/dist/extension/popup.js +14 -5
  24. package/dist/extension/popup.js.map +1 -1
  25. package/dist/installers/claude.js +8 -6
  26. package/dist/installers/claude.js.map +1 -1
  27. package/dist/installers/copilot.js +6 -4
  28. package/dist/installers/copilot.js.map +1 -1
  29. package/dist/installers/opencode.js +6 -4
  30. package/dist/installers/opencode.js.map +1 -1
  31. package/dist/server.js +17 -3
  32. package/dist/server.js.map +1 -1
  33. package/dist/tools/browser-dispatch.js +3 -3
  34. package/dist/tools/browser-dispatch.js.map +1 -1
  35. package/dist/tools/server-instructions.js +2 -2
  36. package/dist/ui/app.js +9 -3
  37. package/dist/ui/app.js.map +1 -1
  38. package/dist/ui/screens.js +13 -5
  39. package/dist/ui/screens.js.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,14 @@ const WS_URL = 'ws://127.0.0.1:17529';
2
2
  const CDP_VERSION = '1.3';
3
3
  const CONSOLE_BUFFER_MAX = 200;
4
4
  const NETWORK_BUFFER_MAX = 200;
5
+ function isRuntimeMessage(msg) {
6
+ if (typeof msg !== 'object' || msg === null)
7
+ return false;
8
+ const m = msg;
9
+ if (typeof m.tabId !== 'number')
10
+ return false;
11
+ return m.action === 'connect' || m.action === 'disconnect' || m.action === 'status';
12
+ }
5
13
  const tabStates = new Map();
6
14
  function send(ws, msg) {
7
15
  ws.send(JSON.stringify(msg));
@@ -17,6 +25,23 @@ function safeParse(raw) {
17
25
  function cdp(tabId, method, params = {}) {
18
26
  return chrome.debugger.sendCommand({ tabId }, method, params);
19
27
  }
28
+ // Convert an arbitrary console arg (`unknown`) into something printable
29
+ // without leaking `[object Object]`. Used by the console buffer when CDP
30
+ // hands us values we don't statically know.
31
+ function stringifyConsoleArg(v) {
32
+ if (typeof v === 'string')
33
+ return v;
34
+ if (v === null || v === undefined)
35
+ return String(v);
36
+ if (typeof v === 'number' || typeof v === 'boolean' || typeof v === 'bigint')
37
+ return String(v);
38
+ try {
39
+ return JSON.stringify(v);
40
+ }
41
+ catch {
42
+ return Object.prototype.toString.call(v);
43
+ }
44
+ }
20
45
  function pushConsole(state, entry) {
21
46
  state.consoleBuffer.push(entry);
22
47
  if (state.consoleBuffer.length > CONSOLE_BUFFER_MAX) {
@@ -31,18 +56,19 @@ function ensureNetworkEntry(state, requestId) {
31
56
  state.networkOrder.push(requestId);
32
57
  while (state.networkOrder.length > NETWORK_BUFFER_MAX) {
33
58
  const oldId = state.networkOrder.shift();
34
- state.networkBuffer.delete(oldId);
59
+ if (oldId !== undefined)
60
+ state.networkBuffer.delete(oldId);
35
61
  }
36
62
  }
37
63
  return entry;
38
64
  }
39
65
  function attachDebuggerListener(state) {
40
66
  const listener = (method, params) => {
41
- const p = params;
42
67
  if (method === 'Runtime.consoleAPICalled') {
43
- const args = (p.args ?? []);
68
+ const p = params;
69
+ const args = p.args ?? [];
44
70
  const text = args
45
- .map((a) => (a.value !== undefined ? String(a.value) : (a.description ?? '')))
71
+ .map((a) => (a.value !== undefined ? stringifyConsoleArg(a.value) : (a.description ?? '')))
46
72
  .join(' ');
47
73
  pushConsole(state, {
48
74
  timestamp: p.timestamp ?? Date.now(),
@@ -53,7 +79,8 @@ function attachDebuggerListener(state) {
53
79
  return;
54
80
  }
55
81
  if (method === 'Log.entryAdded') {
56
- const e = p.entry;
82
+ const p = params;
83
+ const e = p.entry ?? {};
57
84
  pushConsole(state, {
58
85
  timestamp: e.timestamp ?? Date.now(),
59
86
  level: e.level ?? 'log',
@@ -65,6 +92,7 @@ function attachDebuggerListener(state) {
65
92
  return;
66
93
  }
67
94
  if (method === 'Network.requestWillBeSent') {
95
+ const p = params;
68
96
  const entry = ensureNetworkEntry(state, p.requestId);
69
97
  entry.url = p.request?.url ?? entry.url;
70
98
  entry.method = p.request?.method ?? entry.method;
@@ -74,6 +102,7 @@ function attachDebuggerListener(state) {
74
102
  return;
75
103
  }
76
104
  if (method === 'Network.responseReceived') {
105
+ const p = params;
77
106
  const entry = ensureNetworkEntry(state, p.requestId);
78
107
  entry.status = p.response?.status;
79
108
  entry.status_text = p.response?.statusText;
@@ -82,12 +111,14 @@ function attachDebuggerListener(state) {
82
111
  return;
83
112
  }
84
113
  if (method === 'Network.loadingFinished') {
114
+ const p = params;
85
115
  const entry = ensureNetworkEntry(state, p.requestId);
86
116
  entry.finished_at = Date.now();
87
117
  entry.encoded_data_length = p.encodedDataLength;
88
118
  return;
89
119
  }
90
120
  if (method === 'Network.loadingFailed') {
121
+ const p = params;
91
122
  const entry = ensureNetworkEntry(state, p.requestId);
92
123
  entry.finished_at = Date.now();
93
124
  entry.failed = p.errorText ?? 'failed';
@@ -174,12 +205,12 @@ const SNAPSHOT_JS = `
174
205
  })()
175
206
  `;
176
207
  async function evaluateInTab(tabId, expression) {
177
- const result = (await cdp(tabId, 'Runtime.evaluate', {
208
+ const result = await cdp(tabId, 'Runtime.evaluate', {
178
209
  expression,
179
210
  returnByValue: true,
180
211
  awaitPromise: true,
181
212
  userGesture: true,
182
- }));
213
+ });
183
214
  if (result.exceptionDetails) {
184
215
  const ex = result.exceptionDetails;
185
216
  throw new Error(ex.exception?.description ?? ex.text ?? 'Evaluation failed');
@@ -204,7 +235,12 @@ async function waitForLoad(tabId, timeoutMs = 20_000) {
204
235
  }
205
236
  async function handleTool(state, msg) {
206
237
  const tabId = state.tabId;
238
+ // Params come over the wire as JSON: each field is unknown until we
239
+ // narrow it. The local helpers below give one-line, type-safe reads
240
+ // for the shapes we accept.
207
241
  const p = (msg.params ?? {});
242
+ const str = (key) => (typeof p[key] === 'string' ? p[key] : String(p[key]));
243
+ const optStr = (key) => typeof p[key] === 'string' ? p[key] : undefined;
208
244
  try {
209
245
  switch (msg.tool) {
210
246
  case 'ping': {
@@ -217,7 +253,7 @@ async function handleTool(state, msg) {
217
253
  };
218
254
  }
219
255
  case 'navigate': {
220
- const url = String(p.url);
256
+ const url = str('url');
221
257
  const waitForLoadFlag = p.wait_for_load !== false;
222
258
  await cdp(tabId, 'Page.navigate', { url });
223
259
  if (waitForLoadFlag)
@@ -235,26 +271,29 @@ async function handleTool(state, msg) {
235
271
  return { kind: 'tool.response', id: msg.id, ok: true, result: value };
236
272
  }
237
273
  case 'console': {
238
- const level = p.level;
274
+ const level = optStr('level');
239
275
  const entries = level
240
276
  ? state.consoleBuffer.filter((e) => e.level === level)
241
277
  : state.consoleBuffer;
242
278
  return { kind: 'tool.response', id: msg.id, ok: true, result: entries };
243
279
  }
244
280
  case 'network': {
245
- const filter = p.url_filter?.toLowerCase();
281
+ const filter = optStr('url_filter')?.toLowerCase();
246
282
  const list = state.networkOrder
247
283
  .map((id) => state.networkBuffer.get(id))
284
+ .filter((e) => e !== undefined)
248
285
  .filter((e) => (filter ? e.url.toLowerCase().includes(filter) : true));
249
286
  return { kind: 'tool.response', id: msg.id, ok: true, result: list };
250
287
  }
251
288
  case 'network_body': {
252
- const requestId = String(p.request_id);
253
- const body = (await cdp(tabId, 'Network.getResponseBody', { requestId }));
289
+ const requestId = str('request_id');
290
+ const body = await cdp(tabId, 'Network.getResponseBody', {
291
+ requestId,
292
+ });
254
293
  return { kind: 'tool.response', id: msg.id, ok: true, result: body };
255
294
  }
256
295
  case 'click': {
257
- const selector = String(p.selector);
296
+ const selector = str('selector');
258
297
  const expr = `
259
298
  (() => {
260
299
  const el = document.querySelector(${JSON.stringify(selector)});
@@ -263,7 +302,7 @@ async function handleTool(state, msg) {
263
302
  const r = el.getBoundingClientRect();
264
303
  return { x: r.left + r.width / 2, y: r.top + r.height / 2, tag: el.tagName.toLowerCase() };
265
304
  })()`;
266
- const coords = (await evaluateInTab(tabId, expr));
305
+ const coords = await evaluateInTab(tabId, expr);
267
306
  if (!coords) {
268
307
  return {
269
308
  kind: 'tool.response',
@@ -299,9 +338,9 @@ async function handleTool(state, msg) {
299
338
  };
300
339
  }
301
340
  case 'type': {
302
- const selector = String(p.selector);
303
- const text = String(p.text);
304
- const clear = !!p.clear;
341
+ const selector = str('selector');
342
+ const text = str('text');
343
+ const clear = p.clear === true;
305
344
  const focusExpr = `
306
345
  (() => {
307
346
  const el = document.querySelector(${JSON.stringify(selector)});
@@ -328,7 +367,7 @@ async function handleTool(state, msg) {
328
367
  };
329
368
  }
330
369
  case 'evaluate': {
331
- const expression = String(p.expression);
370
+ const expression = str('expression');
332
371
  const value = await evaluateInTab(tabId, expression);
333
372
  return { kind: 'tool.response', id: msg.id, ok: true, result: value };
334
373
  }
@@ -353,13 +392,17 @@ async function cleanup(tabId) {
353
392
  try {
354
393
  state.ws.close();
355
394
  }
356
- catch { }
395
+ catch {
396
+ // Best effort — the resource may already be detached/closed.
397
+ }
357
398
  }
358
399
  if (state.debuggerAttached) {
359
400
  try {
360
401
  await chrome.debugger.detach({ tabId });
361
402
  }
362
- catch { }
403
+ catch {
404
+ // Best effort — the resource may already be detached/closed.
405
+ }
363
406
  }
364
407
  tabStates.delete(tabId);
365
408
  }
@@ -450,6 +493,11 @@ async function connectTab(tabId) {
450
493
  }
451
494
  const ws = new WebSocket(WS_URL);
452
495
  state.ws = ws;
496
+ // Capture the fields we'll send over the wire NOW that we've already
497
+ // null-checked them above. This avoids `!` non-null assertions in the
498
+ // event handler closure where TS can't re-prove the narrowing.
499
+ const registerUrl = tab.url;
500
+ const registerTitle = tab.title;
453
501
  return new Promise((resolve) => {
454
502
  let settled = false;
455
503
  const settle = (result) => {
@@ -461,34 +509,40 @@ async function connectTab(tabId) {
461
509
  ws.addEventListener('open', () => {
462
510
  send(ws, {
463
511
  kind: 'tab.register',
464
- payload: { url: tab.url, title: tab.title, previousTabId },
512
+ payload: { url: registerUrl, title: registerTitle, previousTabId },
465
513
  });
466
514
  });
467
- ws.addEventListener('message', async (ev) => {
468
- const msg = safeParse(typeof ev.data === 'string' ? ev.data : '');
469
- if (!msg)
470
- return;
471
- if (msg.kind === 'tab.registered') {
472
- state.serverTabId = msg.payload.tabId;
473
- // Remember this id so the next reconnect (after a primary swap)
474
- // asks the new primary to honour it. The primary emits
475
- // `tab-renamed` in the bridge event log if it can't.
476
- void storeTabId(tabId, msg.payload.tabId);
477
- settle({ ok: true, serverTabId: msg.payload.tabId });
478
- return;
479
- }
480
- if (msg.kind === 'tool.request') {
515
+ ws.addEventListener('message', (ev) => {
516
+ void (async () => {
517
+ const msg = safeParse(typeof ev.data === 'string' ? ev.data : '');
518
+ if (!msg)
519
+ return;
520
+ if (msg.kind === 'tab.registered') {
521
+ state.serverTabId = msg.payload.tabId;
522
+ // Remember this id so the next reconnect (after a primary swap)
523
+ // asks the new primary to honour it. The primary emits
524
+ // `tab-renamed` in the bridge event log if it can't.
525
+ void storeTabId(tabId, msg.payload.tabId);
526
+ settle({ ok: true, serverTabId: msg.payload.tabId });
527
+ return;
528
+ }
529
+ // ServerToExtension is the union { tab.registered | tool.request },
530
+ // so by elimination this branch handles the tool.request case.
481
531
  const response = await handleTool(state, msg);
482
532
  if (ws.readyState === WebSocket.OPEN)
483
533
  send(ws, response);
484
- }
534
+ })();
485
535
  });
486
536
  ws.addEventListener('error', () => {
487
- cleanup(tabId).catch(() => { });
537
+ void cleanup(tabId).catch(() => {
538
+ // Best effort — already-detached state is fine.
539
+ });
488
540
  settle({ ok: false, error: 'WebSocket connection failed. Is the MCP server running?' });
489
541
  });
490
542
  ws.addEventListener('close', () => {
491
- cleanup(tabId).catch(() => { });
543
+ void cleanup(tabId).catch(() => {
544
+ // Best effort — already-detached state is fine.
545
+ });
492
546
  settle({ ok: false, error: 'WebSocket closed before registration' });
493
547
  });
494
548
  });
@@ -508,22 +562,24 @@ function getTabStatus(tabId) {
508
562
  return { connected: true, serverTabId: state.serverTabId };
509
563
  }
510
564
  chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
511
- if (msg?.action === 'connect' && typeof msg.tabId === 'number') {
512
- connectTab(msg.tabId).then(sendResponse);
565
+ if (!isRuntimeMessage(msg))
566
+ return false;
567
+ if (msg.action === 'connect') {
568
+ void connectTab(msg.tabId).then(sendResponse);
513
569
  return true;
514
570
  }
515
- if (msg?.action === 'disconnect' && typeof msg.tabId === 'number') {
516
- disconnectTab(msg.tabId).then(sendResponse);
571
+ if (msg.action === 'disconnect') {
572
+ void disconnectTab(msg.tabId).then(sendResponse);
517
573
  return true;
518
574
  }
519
- if (msg?.action === 'status' && typeof msg.tabId === 'number') {
520
- sendResponse(getTabStatus(msg.tabId));
521
- return false;
522
- }
575
+ // 'status'
576
+ sendResponse(getTabStatus(msg.tabId));
523
577
  return false;
524
578
  });
525
579
  chrome.tabs.onRemoved.addListener((tabId) => {
526
- cleanup(tabId).catch(() => { });
580
+ void cleanup(tabId).catch(() => {
581
+ // Best effort.
582
+ });
527
583
  // The Chrome tab is gone — drop any cached browser-link id for it.
528
584
  void forgetTabId(tabId);
529
585
  });
@@ -534,7 +590,9 @@ chrome.debugger.onDetach.addListener((source) => {
534
590
  if (!state)
535
591
  return;
536
592
  state.debuggerAttached = false;
537
- cleanup(source.tabId).catch(() => { });
593
+ void cleanup(source.tabId).catch(() => {
594
+ // Best effort.
595
+ });
538
596
  });
539
597
  export {};
540
598
  //# sourceMappingURL=background.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "browser-link",
4
- "version": "0.7.6",
4
+ "version": "0.7.7",
5
5
  "description": "Bridge between Chrome and an MCP client (Claude Code, OpenCode, GitHub Copilot CLI, …). Per-tab manual activation.",
6
6
  "permissions": [
7
7
  "debugger",
@@ -1,5 +1,15 @@
1
+ interface ConnectResult {
2
+ ok: boolean;
3
+ error?: string;
4
+ serverTabId?: string;
5
+ }
6
+ interface StatusResult {
7
+ connected: boolean;
8
+ serverTabId?: string;
9
+ }
1
10
  type CardState = 'connected' | 'idle' | 'error';
2
- declare function getCurrentTab(): Promise<chrome.tabs.Tab | null>;
11
+ declare function getCurrentTab(): Promise<chrome.tabs.Tab | undefined>;
12
+ declare function send<T>(payload: unknown): Promise<T>;
3
13
  declare function $(id: string): HTMLElement;
4
14
  declare function setCardState(state: CardState): void;
5
15
  declare function setStatus(state: CardState, label: string, tabId?: string): void;
@@ -1,7 +1,16 @@
1
1
  "use strict";
2
2
  async function getCurrentTab() {
3
3
  const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
4
- return tab ?? null;
4
+ return tab;
5
+ }
6
+ // chrome.runtime.sendMessage returns `Promise<any>` in the @types/chrome
7
+ // surface — wrap it so each caller declares the expected result shape
8
+ // once and keeps that type info downstream. The local `: unknown`
9
+ // re-binding strips the inbound `any` so the final `as T` is a real,
10
+ // auditable narrowing.
11
+ async function send(payload) {
12
+ const raw = await chrome.runtime.sendMessage(payload);
13
+ return raw;
5
14
  }
6
15
  function $(id) {
7
16
  const el = document.getElementById(id);
@@ -41,7 +50,7 @@ async function refresh() {
41
50
  return;
42
51
  }
43
52
  urlEl.textContent = tab.url ?? '';
44
- const status = await chrome.runtime.sendMessage({
53
+ const status = await send({
45
54
  action: 'status',
46
55
  tabId: tab.id,
47
56
  });
@@ -59,15 +68,15 @@ async function onAction() {
59
68
  if (!tab?.id)
60
69
  return;
61
70
  setAction('Working…', 'primary', true);
62
- const status = await chrome.runtime.sendMessage({
71
+ const status = await send({
63
72
  action: 'status',
64
73
  tabId: tab.id,
65
74
  });
66
75
  if (status.connected) {
67
- await chrome.runtime.sendMessage({ action: 'disconnect', tabId: tab.id });
76
+ await send({ action: 'disconnect', tabId: tab.id });
68
77
  }
69
78
  else {
70
- const result = await chrome.runtime.sendMessage({
79
+ const result = await send({
71
80
  action: 'connect',
72
81
  tabId: tab.id,
73
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"popup.js","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popup.js","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":";AAiBA,KAAK,UAAU,aAAa;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yEAAyE;AACzE,sEAAsE;AACtE,kEAAkE;AAClE,qEAAqE;AACrE,uBAAuB;AACvB,KAAK,UAAU,IAAI,CAAI,OAAgB;IACrC,MAAM,GAAG,GAAY,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,SAAS,CAAC,CAAC,EAAU;IACnB,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB,EAAE,KAAa,EAAE,KAAc;IAChE,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,OAA6B,EAAE,QAAQ,GAAG,KAAK;IAC/E,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAsB,CAAC;IAC7C,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IACxB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;IACxB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;QACb,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpC,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAe;QACtC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,GAAG,CAAC,EAAE;KACd,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,EAAE;QAAE,OAAO;IAErB,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAe;QACtC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,GAAG,CAAC,EAAE;KACd,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,CAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAgB;YACvC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,GAAG,CAAC,EAAE;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,CAAC,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;IACzC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAChC,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC/B,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC"}
@@ -44,10 +44,10 @@ export const claudeInstaller = {
44
44
  const path = configFile();
45
45
  const cfg = readConfig(path);
46
46
  cfg.mcpServers = cfg.mcpServers ?? {};
47
- const existing = cfg.mcpServers[SERVER_NAME];
47
+ const existed = SERVER_NAME in cfg.mcpServers;
48
48
  cfg.mcpServers[SERVER_NAME] = { type: 'stdio', command, args };
49
49
  writeConfig(path, cfg);
50
- return existing
50
+ return existed
51
51
  ? `Updated ${SERVER_NAME} entry (user scope) in ${path}.`
52
52
  : `Added ${SERVER_NAME} entry (user scope) to ${path}.`;
53
53
  },
@@ -57,14 +57,16 @@ export const claudeInstaller = {
57
57
  return `No Claude config at ${path}; nothing to remove.`;
58
58
  const cfg = readConfig(path);
59
59
  let removed = false;
60
- if (cfg.mcpServers?.[SERVER_NAME]) {
61
- delete cfg.mcpServers[SERVER_NAME];
60
+ if (cfg.mcpServers && SERVER_NAME in cfg.mcpServers) {
61
+ const { [SERVER_NAME]: _removed, ...rest } = cfg.mcpServers;
62
+ cfg.mcpServers = rest;
62
63
  removed = true;
63
64
  }
64
65
  const projects = cfg.projects ?? {};
65
66
  for (const proj of Object.values(projects)) {
66
- if (proj.mcpServers?.[SERVER_NAME]) {
67
- delete proj.mcpServers[SERVER_NAME];
67
+ if (proj.mcpServers && SERVER_NAME in proj.mcpServers) {
68
+ const { [SERVER_NAME]: _removed, ...rest } = proj.mcpServers;
69
+ proj.mcpServers = rest;
68
70
  removed = true;
69
71
  }
70
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/installers/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/installers/claude.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export const copilotInstaller = {
43
43
  const path = configFile();
44
44
  const cfg = readConfig(path);
45
45
  cfg.mcpServers = cfg.mcpServers ?? {};
46
- const existing = cfg.mcpServers[SERVER_NAME];
46
+ const existed = SERVER_NAME in cfg.mcpServers;
47
47
  // Copilot requires `env` and `tools` even when empty/wildcard.
48
48
  cfg.mcpServers[SERVER_NAME] = {
49
49
  type: 'local',
@@ -53,7 +53,7 @@ export const copilotInstaller = {
53
53
  tools: ['*'],
54
54
  };
55
55
  writeConfig(path, cfg);
56
- return existing
56
+ return existed
57
57
  ? `Updated ${SERVER_NAME} entry in ${path}.`
58
58
  : `Added ${SERVER_NAME} entry to ${path}.`;
59
59
  },
@@ -62,9 +62,11 @@ export const copilotInstaller = {
62
62
  if (!existsSync(path))
63
63
  return `No Copilot CLI config at ${path}; nothing to remove.`;
64
64
  const cfg = readConfig(path);
65
- if (!cfg.mcpServers?.[SERVER_NAME])
65
+ if (!cfg.mcpServers || !(SERVER_NAME in cfg.mcpServers)) {
66
66
  return `${SERVER_NAME} was not registered in ${path}.`;
67
- delete cfg.mcpServers[SERVER_NAME];
67
+ }
68
+ const { [SERVER_NAME]: _removed, ...rest } = cfg.mcpServers;
69
+ cfg.mcpServers = rest;
68
70
  writeConfig(path, cfg);
69
71
  return `Removed ${SERVER_NAME} entry from ${path}.`;
70
72
  },
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/installers/copilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/installers/copilot.ts"],"names":[],"mappings":"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"}