@opentabs-dev/mcp-server 0.0.60 → 0.0.62

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 (184) hide show
  1. package/dist/adapter-files.js +1 -1
  2. package/dist/adapter-files.js.map +1 -1
  3. package/dist/browser-tools/analyze-site.d.ts.map +1 -1
  4. package/dist/browser-tools/analyze-site.js +2 -0
  5. package/dist/browser-tools/analyze-site.js.map +1 -1
  6. package/dist/browser-tools/clear-console-logs.d.ts.map +1 -1
  7. package/dist/browser-tools/clear-console-logs.js +2 -0
  8. package/dist/browser-tools/clear-console-logs.js.map +1 -1
  9. package/dist/browser-tools/click-element.d.ts.map +1 -1
  10. package/dist/browser-tools/click-element.js +2 -0
  11. package/dist/browser-tools/click-element.js.map +1 -1
  12. package/dist/browser-tools/close-tab.d.ts.map +1 -1
  13. package/dist/browser-tools/close-tab.js +2 -0
  14. package/dist/browser-tools/close-tab.js.map +1 -1
  15. package/dist/browser-tools/definition.d.ts +4 -0
  16. package/dist/browser-tools/definition.d.ts.map +1 -1
  17. package/dist/browser-tools/definition.js.map +1 -1
  18. package/dist/browser-tools/delete-cookies.d.ts.map +1 -1
  19. package/dist/browser-tools/delete-cookies.js +2 -0
  20. package/dist/browser-tools/delete-cookies.js.map +1 -1
  21. package/dist/browser-tools/disable-network-capture.d.ts.map +1 -1
  22. package/dist/browser-tools/disable-network-capture.js +2 -0
  23. package/dist/browser-tools/disable-network-capture.js.map +1 -1
  24. package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
  25. package/dist/browser-tools/enable-network-capture.js +2 -0
  26. package/dist/browser-tools/enable-network-capture.js.map +1 -1
  27. package/dist/browser-tools/execute-script.d.ts.map +1 -1
  28. package/dist/browser-tools/execute-script.js +2 -0
  29. package/dist/browser-tools/execute-script.js.map +1 -1
  30. package/dist/browser-tools/export-har.d.ts.map +1 -1
  31. package/dist/browser-tools/export-har.js +2 -0
  32. package/dist/browser-tools/export-har.js.map +1 -1
  33. package/dist/browser-tools/extension-check-adapter.d.ts.map +1 -1
  34. package/dist/browser-tools/extension-check-adapter.js +2 -0
  35. package/dist/browser-tools/extension-check-adapter.js.map +1 -1
  36. package/dist/browser-tools/extension-force-reconnect.d.ts.map +1 -1
  37. package/dist/browser-tools/extension-force-reconnect.js +2 -0
  38. package/dist/browser-tools/extension-force-reconnect.js.map +1 -1
  39. package/dist/browser-tools/extension-get-logs.d.ts +1 -1
  40. package/dist/browser-tools/extension-get-logs.d.ts.map +1 -1
  41. package/dist/browser-tools/extension-get-logs.js +2 -0
  42. package/dist/browser-tools/extension-get-logs.js.map +1 -1
  43. package/dist/browser-tools/extension-get-side-panel.d.ts.map +1 -1
  44. package/dist/browser-tools/extension-get-side-panel.js +2 -0
  45. package/dist/browser-tools/extension-get-side-panel.js.map +1 -1
  46. package/dist/browser-tools/extension-get-state.d.ts.map +1 -1
  47. package/dist/browser-tools/extension-get-state.js +2 -0
  48. package/dist/browser-tools/extension-get-state.js.map +1 -1
  49. package/dist/browser-tools/focus-tab.d.ts.map +1 -1
  50. package/dist/browser-tools/focus-tab.js +2 -0
  51. package/dist/browser-tools/focus-tab.js.map +1 -1
  52. package/dist/browser-tools/get-console-logs.d.ts +1 -1
  53. package/dist/browser-tools/get-console-logs.d.ts.map +1 -1
  54. package/dist/browser-tools/get-console-logs.js +2 -0
  55. package/dist/browser-tools/get-console-logs.js.map +1 -1
  56. package/dist/browser-tools/get-cookies.d.ts.map +1 -1
  57. package/dist/browser-tools/get-cookies.js +2 -0
  58. package/dist/browser-tools/get-cookies.js.map +1 -1
  59. package/dist/browser-tools/get-network-requests.d.ts.map +1 -1
  60. package/dist/browser-tools/get-network-requests.js +2 -0
  61. package/dist/browser-tools/get-network-requests.js.map +1 -1
  62. package/dist/browser-tools/get-page-html.d.ts.map +1 -1
  63. package/dist/browser-tools/get-page-html.js +2 -0
  64. package/dist/browser-tools/get-page-html.js.map +1 -1
  65. package/dist/browser-tools/get-resource-content.d.ts.map +1 -1
  66. package/dist/browser-tools/get-resource-content.js +2 -0
  67. package/dist/browser-tools/get-resource-content.js.map +1 -1
  68. package/dist/browser-tools/get-storage.d.ts.map +1 -1
  69. package/dist/browser-tools/get-storage.js +2 -0
  70. package/dist/browser-tools/get-storage.js.map +1 -1
  71. package/dist/browser-tools/get-tab-content.d.ts.map +1 -1
  72. package/dist/browser-tools/get-tab-content.js +2 -0
  73. package/dist/browser-tools/get-tab-content.js.map +1 -1
  74. package/dist/browser-tools/get-tab-info.d.ts.map +1 -1
  75. package/dist/browser-tools/get-tab-info.js +2 -0
  76. package/dist/browser-tools/get-tab-info.js.map +1 -1
  77. package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -1
  78. package/dist/browser-tools/get-websocket-frames.js +2 -0
  79. package/dist/browser-tools/get-websocket-frames.js.map +1 -1
  80. package/dist/browser-tools/handle-dialog.d.ts.map +1 -1
  81. package/dist/browser-tools/handle-dialog.js +2 -0
  82. package/dist/browser-tools/handle-dialog.js.map +1 -1
  83. package/dist/browser-tools/hover-element.d.ts.map +1 -1
  84. package/dist/browser-tools/hover-element.js +2 -0
  85. package/dist/browser-tools/hover-element.js.map +1 -1
  86. package/dist/browser-tools/index.d.ts.map +1 -1
  87. package/dist/browser-tools/index.js +5 -0
  88. package/dist/browser-tools/index.js.map +1 -1
  89. package/dist/browser-tools/list-resources.d.ts.map +1 -1
  90. package/dist/browser-tools/list-resources.js +2 -0
  91. package/dist/browser-tools/list-resources.js.map +1 -1
  92. package/dist/browser-tools/list-tabs.d.ts.map +1 -1
  93. package/dist/browser-tools/list-tabs.js +2 -0
  94. package/dist/browser-tools/list-tabs.js.map +1 -1
  95. package/dist/browser-tools/navigate-tab.d.ts.map +1 -1
  96. package/dist/browser-tools/navigate-tab.js +2 -0
  97. package/dist/browser-tools/navigate-tab.js.map +1 -1
  98. package/dist/browser-tools/open-tab.d.ts.map +1 -1
  99. package/dist/browser-tools/open-tab.js +2 -0
  100. package/dist/browser-tools/open-tab.js.map +1 -1
  101. package/dist/browser-tools/plugin-list-tabs.d.ts.map +1 -1
  102. package/dist/browser-tools/plugin-list-tabs.js +2 -0
  103. package/dist/browser-tools/plugin-list-tabs.js.map +1 -1
  104. package/dist/browser-tools/press-key.d.ts.map +1 -1
  105. package/dist/browser-tools/press-key.js +2 -0
  106. package/dist/browser-tools/press-key.js.map +1 -1
  107. package/dist/browser-tools/query-elements.d.ts.map +1 -1
  108. package/dist/browser-tools/query-elements.js +2 -0
  109. package/dist/browser-tools/query-elements.js.map +1 -1
  110. package/dist/browser-tools/reload-extension.d.ts.map +1 -1
  111. package/dist/browser-tools/reload-extension.js +2 -0
  112. package/dist/browser-tools/reload-extension.js.map +1 -1
  113. package/dist/browser-tools/screenshot-tab.d.ts.map +1 -1
  114. package/dist/browser-tools/screenshot-tab.js +2 -0
  115. package/dist/browser-tools/screenshot-tab.js.map +1 -1
  116. package/dist/browser-tools/scroll.d.ts.map +1 -1
  117. package/dist/browser-tools/scroll.js +2 -0
  118. package/dist/browser-tools/scroll.js.map +1 -1
  119. package/dist/browser-tools/select-option.d.ts.map +1 -1
  120. package/dist/browser-tools/select-option.js +2 -0
  121. package/dist/browser-tools/select-option.js.map +1 -1
  122. package/dist/browser-tools/set-cookie.d.ts.map +1 -1
  123. package/dist/browser-tools/set-cookie.js +2 -0
  124. package/dist/browser-tools/set-cookie.js.map +1 -1
  125. package/dist/browser-tools/type-text.d.ts.map +1 -1
  126. package/dist/browser-tools/type-text.js +2 -0
  127. package/dist/browser-tools/type-text.js.map +1 -1
  128. package/dist/browser-tools/wait-for-element.d.ts.map +1 -1
  129. package/dist/browser-tools/wait-for-element.js +2 -0
  130. package/dist/browser-tools/wait-for-element.js.map +1 -1
  131. package/dist/config.d.ts +16 -41
  132. package/dist/config.d.ts.map +1 -1
  133. package/dist/config.js +56 -111
  134. package/dist/config.js.map +1 -1
  135. package/dist/dev-proxy.js +101 -39
  136. package/dist/dev-proxy.js.map +1 -1
  137. package/dist/discovery.d.ts +1 -4
  138. package/dist/discovery.d.ts.map +1 -1
  139. package/dist/discovery.js +5 -17
  140. package/dist/discovery.js.map +1 -1
  141. package/dist/extension-handlers.d.ts +21 -14
  142. package/dist/extension-handlers.d.ts.map +1 -1
  143. package/dist/extension-handlers.js +108 -188
  144. package/dist/extension-handlers.js.map +1 -1
  145. package/dist/extension-protocol.d.ts +4 -9
  146. package/dist/extension-protocol.d.ts.map +1 -1
  147. package/dist/extension-protocol.js +16 -45
  148. package/dist/extension-protocol.js.map +1 -1
  149. package/dist/file-watcher.js +2 -2
  150. package/dist/file-watcher.js.map +1 -1
  151. package/dist/http-routes.d.ts.map +1 -1
  152. package/dist/http-routes.js +5 -9
  153. package/dist/http-routes.js.map +1 -1
  154. package/dist/loader.d.ts +2 -4
  155. package/dist/loader.d.ts.map +1 -1
  156. package/dist/loader.js +6 -5
  157. package/dist/loader.js.map +1 -1
  158. package/dist/mcp-setup.d.ts +9 -9
  159. package/dist/mcp-setup.d.ts.map +1 -1
  160. package/dist/mcp-setup.js +39 -26
  161. package/dist/mcp-setup.js.map +1 -1
  162. package/dist/mcp-tool-dispatch.d.ts +11 -12
  163. package/dist/mcp-tool-dispatch.d.ts.map +1 -1
  164. package/dist/mcp-tool-dispatch.js +86 -125
  165. package/dist/mcp-tool-dispatch.js.map +1 -1
  166. package/dist/plugin-management.d.ts +0 -1
  167. package/dist/plugin-management.d.ts.map +1 -1
  168. package/dist/plugin-management.js +1 -2
  169. package/dist/plugin-management.js.map +1 -1
  170. package/dist/registry.d.ts +2 -4
  171. package/dist/registry.d.ts.map +1 -1
  172. package/dist/registry.js +1 -12
  173. package/dist/registry.js.map +1 -1
  174. package/dist/reload.d.ts.map +1 -1
  175. package/dist/reload.js +40 -35
  176. package/dist/reload.js.map +1 -1
  177. package/dist/state.d.ts +18 -44
  178. package/dist/state.d.ts.map +1 -1
  179. package/dist/state.js +14 -43
  180. package/dist/state.js.map +1 -1
  181. package/dist/version-check.d.ts.map +1 -1
  182. package/dist/version-check.js +1 -1
  183. package/dist/version-check.js.map +1 -1
  184. package/package.json +1 -1
package/dist/dev-proxy.js CHANGED
@@ -99,19 +99,25 @@ const reinitializeSessions = async (port) => {
99
99
  await fetch(`http://127.0.0.1:${port}/mcp`, {
100
100
  method: 'POST',
101
101
  headers: notifHeaders,
102
- body: JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }),
102
+ body: JSON.stringify({
103
+ jsonrpc: '2.0',
104
+ method: 'notifications/initialized',
105
+ }),
103
106
  signal: AbortSignal.timeout(READY_TIMEOUT_MS),
104
107
  }).catch(() => { });
105
108
  console.log(`[proxy] Session ${session.proxySessionId} re-initialized (worker session: ${newWorkerSessionId})`);
106
- // Reconnect SSE streams for this session
109
+ // Prune dead client responses, then reconnect the single upstream SSE.
110
+ // The previous upstream died with the old worker — disconnect clears the
111
+ // reference so connectUpstreamSse opens a fresh one to the new worker.
107
112
  for (const clientRes of session.sseStreams) {
108
- if (!clientRes.destroyed && !clientRes.writableEnded) {
109
- connectUpstreamSse(session, clientRes, port);
110
- }
111
- else {
113
+ if (clientRes.destroyed || clientRes.writableEnded) {
112
114
  session.sseStreams.delete(clientRes);
113
115
  }
114
116
  }
117
+ if (session.sseStreams.size > 0) {
118
+ disconnectUpstreamSse(session);
119
+ connectUpstreamSse(session, port);
120
+ }
115
121
  }
116
122
  catch (err) {
117
123
  console.error(`[proxy] Error re-initializing session ${session.proxySessionId}:`, err instanceof Error ? err.message : err);
@@ -125,6 +131,7 @@ const cleanupSession = (proxySessionId) => {
125
131
  if (!session)
126
132
  return;
127
133
  workerToProxySession.delete(session.workerSessionId);
134
+ disconnectUpstreamSse(session);
128
135
  for (const res of session.sseStreams) {
129
136
  if (!res.destroyed && !res.writableEnded) {
130
137
  res.end();
@@ -209,7 +216,13 @@ const whenReady = (fn, onTimeout) => {
209
216
  };
210
217
  /** Forward an HTTP request to the worker via node:http. */
211
218
  const proxyHttp = (req, res, port) => {
212
- const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: req.url ?? '/', method: req.method, headers: req.headers }, proxyRes => {
219
+ const proxyReq = httpRequest({
220
+ hostname: '127.0.0.1',
221
+ port,
222
+ path: req.url ?? '/',
223
+ method: req.method,
224
+ headers: req.headers,
225
+ }, proxyRes => {
213
226
  res.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);
214
227
  proxyRes.pipe(res);
215
228
  res.on('close', () => proxyRes.destroy());
@@ -231,11 +244,29 @@ const readBody = (req) => new Promise((resolve, reject) => {
231
244
  req.on('error', reject);
232
245
  });
233
246
  /**
234
- * Connect an upstream SSE stream from the worker to a client response.
235
- * Forwards SSE events from the worker to the client, rewriting the
236
- * mcp-session-id in any headers to the proxy session ID.
247
+ * Destroy the current upstream SSE connection for a session so the worker's
248
+ * transport removes its `_GET_stream` entry and a new GET can succeed.
237
249
  */
238
- const connectUpstreamSse = (session, clientRes, port) => {
250
+ const disconnectUpstreamSse = (session) => {
251
+ if (session.upstreamSse) {
252
+ session.upstreamSse.req.destroy();
253
+ session.upstreamSse = null;
254
+ }
255
+ };
256
+ /**
257
+ * Connect a single upstream SSE stream from the worker for this session.
258
+ * The MCP SDK enforces exactly one GET SSE stream per session (returns 409
259
+ * Conflict for a second). The proxy maintains one upstream connection and
260
+ * fans out SSE data to all client responses in session.sseStreams.
261
+ *
262
+ * If an upstream SSE is already active, this is a no-op. To force a
263
+ * reconnect (e.g., after worker restart), call disconnectUpstreamSse first.
264
+ */
265
+ const connectUpstreamSse = (session, port) => {
266
+ // Already connected or connection in flight — nothing to do. Data is
267
+ // fanned out to all client responses in the 'data' handler below.
268
+ if (session.upstreamSse)
269
+ return;
239
270
  const headers = {
240
271
  Accept: 'text/event-stream',
241
272
  'mcp-session-id': session.workerSessionId,
@@ -253,33 +284,38 @@ const connectUpstreamSse = (session, clientRes, port) => {
253
284
  if (upstreamRes.statusCode !== 200) {
254
285
  console.warn(`[proxy] Upstream SSE rejected for session ${session.proxySessionId} (status ${upstreamRes.statusCode})`);
255
286
  upstreamRes.resume();
256
- session.sseStreams.delete(clientRes);
257
- if (!clientRes.destroyed && !clientRes.writableEnded) {
258
- clientRes.end();
259
- }
287
+ // Connection failed — clear so a retry can be attempted
288
+ session.upstreamSse = null;
260
289
  return;
261
290
  }
262
- // Forward SSE data chunks to the client
291
+ // Promote from "connecting" to "connected" by setting res
292
+ if (session.upstreamSse) {
293
+ session.upstreamSse.res = upstreamRes;
294
+ }
295
+ // Fan out SSE data to all active client responses
263
296
  upstreamRes.on('data', (chunk) => {
264
- if (!clientRes.destroyed && !clientRes.writableEnded) {
265
- clientRes.write(chunk);
297
+ for (const clientRes of session.sseStreams) {
298
+ if (!clientRes.destroyed && !clientRes.writableEnded) {
299
+ clientRes.write(chunk);
300
+ }
266
301
  }
267
302
  });
268
- // When upstream closes (worker restart), the proxy keeps the client
269
- // response open. The reinitializeSessions() function will reconnect
270
- // the upstream SSE stream after the new worker is ready.
303
+ // When upstream closes (worker restart), clear the reference so
304
+ // reinitializeSessions() can open a fresh connection.
271
305
  upstreamRes.on('end', () => {
272
- // Upstream ended — do NOT close the client response.
273
- // It will be reconnected after worker restart.
306
+ session.upstreamSse = null;
274
307
  });
275
308
  upstreamRes.on('error', () => {
276
- // Upstream error — keep client response open for reconnection.
309
+ session.upstreamSse = null;
277
310
  });
278
311
  });
279
312
  upstreamReq.on('error', () => {
280
- // Worker is down — keep the client response open.
281
- // reinitializeSessions() will reconnect after the worker restarts.
313
+ // Worker is down — clear the connection state so reconnection can be
314
+ // attempted after the worker restarts.
315
+ session.upstreamSse = null;
282
316
  });
317
+ // Set immediately so concurrent calls see a connection is in flight
318
+ session.upstreamSse = { req: upstreamReq, res: null };
283
319
  upstreamReq.end();
284
320
  };
285
321
  /**
@@ -333,6 +369,7 @@ const handleMcpPost = async (req, res, port) => {
333
369
  initializeBody: body,
334
370
  sseStreams: new Set(),
335
371
  authHeader: authHeader ?? null,
372
+ upstreamSse: null,
336
373
  };
337
374
  sessions.set(proxySessionId, session);
338
375
  workerToProxySession.set(workerSessionId, proxySessionId);
@@ -369,7 +406,13 @@ const handleMcpPost = async (req, res, port) => {
369
406
  forwardHeaders[key] = value;
370
407
  }
371
408
  }
372
- const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'POST', headers: forwardHeaders }, proxyRes => {
409
+ const proxyReq = httpRequest({
410
+ hostname: '127.0.0.1',
411
+ port,
412
+ path: '/mcp',
413
+ method: 'POST',
414
+ headers: forwardHeaders,
415
+ }, proxyRes => {
373
416
  // Rewrite the session ID in the response back to the proxy session ID
374
417
  const outHeaders = {};
375
418
  for (const [key, value] of Object.entries(proxyRes.headers)) {
@@ -396,7 +439,13 @@ const handleMcpPost = async (req, res, port) => {
396
439
  }
397
440
  }
398
441
  // Unknown session or no session header — forward as-is
399
- const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'POST', headers: req.headers }, proxyRes => {
442
+ const proxyReq = httpRequest({
443
+ hostname: '127.0.0.1',
444
+ port,
445
+ path: '/mcp',
446
+ method: 'POST',
447
+ headers: req.headers,
448
+ }, proxyRes => {
400
449
  res.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);
401
450
  proxyRes.pipe(res);
402
451
  res.on('close', () => proxyRes.destroy());
@@ -437,16 +486,20 @@ const handleMcpGet = (req, res, port) => {
437
486
  session.sseStreams.add(res);
438
487
  res.on('close', () => {
439
488
  session.sseStreams.delete(res);
440
- // Do NOT clean up the session when the SSE stream closes. The MCP client
441
- // (e.g., OpenCode) still holds the proxy session ID and can re-establish
442
- // an SSE stream with a new GET /mcp. Premature session cleanup causes the
443
- // proxy to forget the session mapping, making subsequent POSTs from the
444
- // client fall through as "unknown session" — the worker rejects them and
445
- // the client's tool list becomes stale. Sessions are cleaned up only via
446
- // explicit DELETE /mcp or when the proxy restarts.
489
+ // If this was the last client SSE stream, disconnect the upstream too —
490
+ // no point keeping it open with no one to fan out to.
491
+ if (session.sseStreams.size === 0) {
492
+ disconnectUpstreamSse(session);
493
+ }
494
+ // Do NOT clean up the session itself when SSE streams close. The MCP
495
+ // client (e.g., OpenCode) still holds the proxy session ID and can
496
+ // re-establish an SSE stream with a new GET /mcp. Sessions are cleaned
497
+ // up only via explicit DELETE /mcp or when the proxy restarts.
447
498
  });
448
- // Connect the upstream SSE stream from the current worker
449
- connectUpstreamSse(session, res, port);
499
+ // Connect the upstream SSE stream if not already active. The MCP SDK
500
+ // allows exactly one GET SSE stream per session the proxy maintains one
501
+ // upstream and fans out data to all client responses in sseStreams.
502
+ connectUpstreamSse(session, port);
450
503
  };
451
504
  /**
452
505
  * Handle an MCP DELETE request. Rewrites session ID and cleans up.
@@ -472,7 +525,13 @@ const handleMcpDelete = (req, res, port) => {
472
525
  forwardHeaders[key] = value;
473
526
  }
474
527
  }
475
- const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'DELETE', headers: forwardHeaders }, proxyRes => {
528
+ const proxyReq = httpRequest({
529
+ hostname: '127.0.0.1',
530
+ port,
531
+ path: '/mcp',
532
+ method: 'DELETE',
533
+ headers: forwardHeaders,
534
+ }, proxyRes => {
476
535
  res.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);
477
536
  proxyRes.pipe(res);
478
537
  res.on('close', () => proxyRes.destroy());
@@ -508,7 +567,10 @@ const handleMcpRequest = (req, res, port) => {
508
567
  // WebSocketServer in noServer mode — used only to complete client-side upgrades.
509
568
  // handleProtocols returns false to suppress ws's automatic protocol selection;
510
569
  // the 'headers' event injects the Sec-WebSocket-Protocol echo from the worker.
511
- const wss = new WebSocketServer({ noServer: true, handleProtocols: () => false });
570
+ const wss = new WebSocketServer({
571
+ noServer: true,
572
+ handleProtocols: () => false,
573
+ });
512
574
  let pendingWsProtocol = null;
513
575
  wss.on('headers', (headers) => {
514
576
  if (pendingWsProtocol !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../src/dev-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../src/dev-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  /** Plugin discovery orchestrator: resolve → load → register pipeline. */
2
- import type { TrustTier } from '@opentabs-dev/shared';
3
2
  import type { PluginRegistry } from './state.js';
4
3
  /** Outcome of plugin discovery: an immutable registry plus any errors from failed plugins. */
5
4
  interface DiscoveryResult {
@@ -11,8 +10,6 @@ interface DiscoveryError {
11
10
  readonly specifier: string;
12
11
  readonly error: string;
13
12
  }
14
- /** Determine trust tier for an npm plugin directory path based on its package name. */
15
- declare const npmTrustTier: (dir: string) => TrustTier;
16
13
  /**
17
14
  * Discover plugins from auto-discovered npm globals and explicit local paths.
18
15
  *
@@ -23,6 +20,6 @@ declare const npmTrustTier: (dir: string) => TrustTier;
23
20
  * Phase 5: Build immutable registry.
24
21
  */
25
22
  declare const discoverPlugins: (localPlugins: string[], configDir: string) => Promise<DiscoveryResult>;
26
- export { discoverPlugins, npmTrustTier };
23
+ export { discoverPlugins };
27
24
  export type { DiscoveryError, DiscoveryResult };
28
25
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQtD,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D,8FAA8F;AAC9F,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,yFAAyF;AACzF,UAAU,cAAc;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,uFAAuF;AACvF,QAAA,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,SAOnC,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAU,cAAc,MAAM,EAAE,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,eAAe,CA8FjG,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,yEAAyE;AASzE,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D,8FAA8F;AAC9F,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,yFAAyF;AACzF,UAAU,cAAc;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAU,cAAc,MAAM,EAAE,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,eAAe,CA6FjG,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
package/dist/discovery.js CHANGED
@@ -1,21 +1,10 @@
1
1
  /** Plugin discovery orchestrator: resolve → load → register pipeline. */
2
- import path from 'node:path';
3
- import { isErr, OFFICIAL_SCOPE, toErrorMessage } from '@opentabs-dev/shared';
2
+ import { isErr, toErrorMessage } from '@opentabs-dev/shared';
4
3
  import { loadPlugin } from './loader.js';
5
4
  import { log } from './logger.js';
6
5
  import { buildRegistry } from './registry.js';
7
6
  import { discoverGlobalNpmPlugins, resolvePluginPath } from './resolver.js';
8
7
  import { isSkipNpmDiscovery } from './skip-npm-discovery.js';
9
- /** Determine trust tier for an npm plugin directory path based on its package name. */
10
- const npmTrustTier = (dir) => {
11
- // Extract the immediate parent directory name (e.g. "@opentabs-dev") from a path like
12
- // "/usr/lib/node_modules/@opentabs-dev/opentabs-plugin-slack". Using basename(dirname(dir))
13
- // avoids false-positives where /@opentabs-dev/ appears elsewhere in the path (e.g. a
14
- // user's home directory) but is not the package scope.
15
- if (path.basename(path.dirname(dir)) === OFFICIAL_SCOPE)
16
- return 'official';
17
- return 'community';
18
- };
19
8
  /**
20
9
  * Discover plugins from auto-discovered npm globals and explicit local paths.
21
10
  *
@@ -38,8 +27,7 @@ const discoverPlugins = async (localPlugins, configDir) => {
38
27
  }
39
28
  // Phase 2 + 3: Resolve and load all plugins in parallel
40
29
  const loadNpm = npmDirs.map(async (dir) => {
41
- const trustTier = npmTrustTier(dir);
42
- const loadResult = await loadPlugin(dir, trustTier, 'npm');
30
+ const loadResult = await loadPlugin(dir, 'npm');
43
31
  if (isErr(loadResult)) {
44
32
  errors.push({ specifier: dir, error: loadResult.error });
45
33
  failures.push({ path: dir, error: loadResult.error });
@@ -60,7 +48,7 @@ const discoverPlugins = async (localPlugins, configDir) => {
60
48
  return null;
61
49
  }
62
50
  const dir = resolveResult.value;
63
- const loadResult = await loadPlugin(dir, 'local', 'local');
51
+ const loadResult = await loadPlugin(dir, 'local');
64
52
  if (isErr(loadResult)) {
65
53
  errors.push({ specifier, error: loadResult.error });
66
54
  failures.push({ path: dir, error: loadResult.error });
@@ -100,10 +88,10 @@ const discoverPlugins = async (localPlugins, configDir) => {
100
88
  const registry = buildRegistry(Array.from(merged.values()), failures);
101
89
  for (const plugin of registry.plugins.values()) {
102
90
  const toolNames = plugin.tools.map(t => t.name).join(', ');
103
- log.info(`Discovered plugin: ${plugin.name} v${plugin.version} (${plugin.trustTier}, ${plugin.source}) from ${plugin.sourcePath ?? '(npm)'} — tools: [${toolNames}]`);
91
+ log.info(`Discovered plugin: ${plugin.name} v${plugin.version} (${plugin.source}) from ${plugin.sourcePath ?? '(npm)'} — tools: [${toolNames}]`);
104
92
  }
105
93
  log.info(`Plugin discovery complete: ${registry.plugins.size} plugin(s) loaded, ${errors.length} error(s)`);
106
94
  return { registry, errors };
107
95
  };
108
- export { discoverPlugins, npmTrustTier };
96
+ export { discoverPlugins };
109
97
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAe7D,uFAAuF;AACvF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAa,EAAE;IAC9C,sFAAsF;IACtF,4FAA4F;IAC5F,qFAAqF;IACrF,uDAAuD;IACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,UAAU,CAAC;IAC3E,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,YAAsB,EAAE,SAAiB,EAA4B,EAAE;IACpG,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,8DAA8D;IAC9D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE;QAC/D,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1B,CAAC,CAAC,MAAM,wBAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAgC,EAAE;QACtE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAgC,EAAE;QACnF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACzB,kFAAkF;YAClF,kEAAkE;YAClE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnH,kBAAkB;IAClB,MAAM,aAAa,GAAG,CAAC,OAAoD,EAAkB,EAAE;QAC7F,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhD,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,IAAI,yCAAyC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEtE,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,CACN,sBAAsB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,UAAU,IAAI,OAAO,cAAc,SAAS,GAAG,CAC5J,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,8BAA8B,QAAQ,CAAC,OAAO,CAAC,IAAI,sBAAsB,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;IAE5G,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,13 @@
4
4
  * Exported individually so they can be unit tested independently of the
5
5
  * handleExtensionMessage router in extension-protocol.ts.
6
6
  */
7
- import type { ConfigStateResult, JsonRpcError, JsonRpcNotification, JsonRpcRequest, JsonRpcResult, PluginTabInfo, TrustTier } from '@opentabs-dev/shared';
7
+ import type { ConfigStateResult, JsonRpcError, JsonRpcNotification, JsonRpcRequest, JsonRpcResult, PluginTabInfo, ToolPermission } from '@opentabs-dev/shared';
8
8
  import type { PluginLogEntry } from './log-buffer.js';
9
9
  import type { RegisteredPlugin, ServerState, TabMapping } from './state.js';
10
10
  /** Callbacks the extension protocol can invoke on the MCP side */
11
11
  interface McpCallbacks {
12
12
  onToolConfigChanged: () => void;
13
- onToolConfigPersist: () => void;
14
- onBrowserToolPolicyPersist: () => void;
13
+ onPluginPermissionsPersist: () => void;
15
14
  onPluginLog: (entry: PluginLogEntry) => void;
16
15
  onReload: () => Promise<{
17
16
  plugins: number;
@@ -41,13 +40,16 @@ declare const sendPluginManagementError: (state: ServerState, id: string | numbe
41
40
  * Returns the common core shape shared by sync.full, plugin.update, and config.getState.
42
41
  * Callers can spread additional fields on top (e.g., sourcePath, adapterHash for sync messages,
43
42
  * or tabState, source, sdkVersion for config.getState).
43
+ *
44
+ * The plugin-level permission comes from pluginPermissions[plugin.name]?.permission ?? 'off'.
45
+ * Each tool's permission is resolved via getToolPermission() (per-tool override → plugin default → 'off').
44
46
  */
45
- declare const serializePluginForExtension: (plugin: RegisteredPlugin, state: ServerState) => {
47
+ declare const serializePluginForExtension: (state: ServerState, plugin: RegisteredPlugin) => {
46
48
  name: string;
47
49
  version: string;
48
50
  displayName: string;
49
51
  urlPatterns: string[];
50
- trustTier: TrustTier;
52
+ permission: ToolPermission;
51
53
  iconSvg?: string;
52
54
  iconInactiveSvg?: string;
53
55
  iconDarkSvg?: string;
@@ -56,11 +58,12 @@ declare const serializePluginForExtension: (plugin: RegisteredPlugin, state: Ser
56
58
  name: string;
57
59
  displayName: string;
58
60
  description: string;
61
+ summary?: string;
59
62
  icon: string;
60
63
  iconSvg?: string;
61
64
  iconInactiveSvg?: string;
62
65
  group?: string;
63
- enabled: boolean;
66
+ permission: ToolPermission;
64
67
  }[];
65
68
  };
66
69
  /** Wire shape for a single tab info entry — all fields may be absent or wrong type */
@@ -86,11 +89,16 @@ declare const handleTabStateChanged: (state: ServerState, params: Record<string,
86
89
  */
87
90
  declare const buildConfigStatePayload: (state: ServerState) => ConfigStateResult;
88
91
  declare const handleConfigGetState: (state: ServerState, id: string | number) => void;
89
- declare const handleConfigSetToolEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
90
- declare const handleConfigSetAllToolsEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
91
- declare const handleConfigSetToolsEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
92
- declare const handleConfigSetBrowserToolEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
93
- declare const handleConfigSetAllBrowserToolsEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
92
+ /**
93
+ * Handle config.setToolPermission: set a per-tool permission override.
94
+ * Works for both plugin tools (plugin=pluginName) and browser tools (plugin='browser').
95
+ */
96
+ declare const handleConfigSetToolPermission: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
97
+ /**
98
+ * Handle config.setPluginPermission: set the plugin-level default permission.
99
+ * Works for both plugins (plugin=pluginName) and browser tools (plugin='browser').
100
+ */
101
+ declare const handleConfigSetPluginPermission: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
94
102
  /**
95
103
  * Handle tool.progress notification from the extension.
96
104
  * Looks up the pending dispatch by dispatchId, invokes the onProgress callback
@@ -105,8 +113,7 @@ declare const VALID_LOG_LEVELS: Set<string>;
105
113
  declare const handlePluginLog: (params: Record<string, unknown> | undefined, callbacks: McpCallbacks) => void;
106
114
  /**
107
115
  * Handle a confirmation.response from the extension.
108
- * Resolves the pending confirmation promise with the user's decision.
109
- * For 'allow_always', also adds a session permission rule.
116
+ * Resolves the pending confirmation promise with the user's decision ('allow' or 'deny').
110
117
  */
111
118
  declare const handleConfirmationResponse: (state: ServerState, params: Record<string, unknown> | undefined) => void;
112
119
  /**
@@ -120,5 +127,5 @@ declare const handlePluginUpdateFromRegistry: (state: ServerState, params: Recor
120
127
  declare const handlePluginRemove: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => Promise<void>;
121
128
  declare const handlePluginCheckUpdates: (state: ServerState, id: string | number) => Promise<void>;
122
129
  export type { McpCallbacks, WireTabMapping, WirePluginTabInfo };
123
- export { buildConfigStatePayload, sendToExtension, sendJsonRpcError, sendPluginManagementError, serializePluginForExtension, parsePluginTabInfo, parseTabMapping, VALID_LOG_LEVELS, handleTabSyncAll, handleTabStateChanged, handleConfigGetState, handleConfigSetToolEnabled, handleConfigSetAllToolsEnabled, handleConfigSetToolsEnabled, handleConfigSetBrowserToolEnabled, handleConfigSetAllBrowserToolsEnabled, handlePluginSearch, handlePluginInstall, handlePluginUpdateFromRegistry, handlePluginRemove, handlePluginCheckUpdates, handleToolProgress, handlePluginLog, handleConfirmationResponse, rejectAllPendingConfirmations, };
130
+ export { buildConfigStatePayload, sendToExtension, sendJsonRpcError, sendPluginManagementError, serializePluginForExtension, parsePluginTabInfo, parseTabMapping, VALID_LOG_LEVELS, handleTabSyncAll, handleTabStateChanged, handleConfigGetState, handleConfigSetToolPermission, handleConfigSetPluginPermission, handlePluginSearch, handlePluginInstall, handlePluginUpdateFromRegistry, handlePluginRemove, handlePluginCheckUpdates, handleToolProgress, handlePluginLog, handleConfirmationResponse, rejectAllPendingConfirmations, };
124
131
  //# sourceMappingURL=extension-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-handlers.d.ts","sourceRoot":"","sources":["../src/extension-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-handlers.d.ts","sourceRoot":"","sources":["../src/extension-handlers.ts"],"names":[],"mappings":"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"}