@opentabs-dev/browser-extension 0.0.40 → 0.0.42

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 (62) hide show
  1. package/dist/background.js +188 -64
  2. package/dist/browser-commands/extension-commands.d.ts.map +1 -1
  3. package/dist/browser-commands/extension-commands.js +25 -9
  4. package/dist/browser-commands/extension-commands.js.map +1 -1
  5. package/dist/dispatch-helpers.d.ts +21 -1
  6. package/dist/dispatch-helpers.d.ts.map +1 -1
  7. package/dist/dispatch-helpers.js +68 -2
  8. package/dist/dispatch-helpers.js.map +1 -1
  9. package/dist/extension-messages.d.ts +2 -3
  10. package/dist/extension-messages.d.ts.map +1 -1
  11. package/dist/json-rpc-errors.d.ts +1 -0
  12. package/dist/json-rpc-errors.d.ts.map +1 -1
  13. package/dist/json-rpc-errors.js +1 -0
  14. package/dist/json-rpc-errors.js.map +1 -1
  15. package/dist/message-router.js +1 -1
  16. package/dist/message-router.js.map +1 -1
  17. package/dist/messaging.d.ts.map +1 -1
  18. package/dist/messaging.js +1 -2
  19. package/dist/messaging.js.map +1 -1
  20. package/dist/resource-prompt-dispatch.d.ts.map +1 -1
  21. package/dist/resource-prompt-dispatch.js +43 -15
  22. package/dist/resource-prompt-dispatch.js.map +1 -1
  23. package/dist/side-panel/App.d.ts.map +1 -1
  24. package/dist/side-panel/App.js +23 -13
  25. package/dist/side-panel/App.js.map +1 -1
  26. package/dist/side-panel/bridge.d.ts +13 -7
  27. package/dist/side-panel/bridge.d.ts.map +1 -1
  28. package/dist/side-panel/bridge.js +4 -2
  29. package/dist/side-panel/bridge.js.map +1 -1
  30. package/dist/side-panel/components/BrowserToolsCard.d.ts +12 -0
  31. package/dist/side-panel/components/BrowserToolsCard.d.ts.map +1 -0
  32. package/dist/side-panel/components/BrowserToolsCard.js +66 -0
  33. package/dist/side-panel/components/BrowserToolsCard.js.map +1 -0
  34. package/dist/side-panel/components/PluginCard.d.ts.map +1 -1
  35. package/dist/side-panel/components/PluginCard.js +7 -6
  36. package/dist/side-panel/components/PluginCard.js.map +1 -1
  37. package/dist/side-panel/components/PluginList.d.ts.map +1 -1
  38. package/dist/side-panel/components/PluginList.js +3 -1
  39. package/dist/side-panel/components/PluginList.js.map +1 -1
  40. package/dist/side-panel/components/PluginMenu.d.ts.map +1 -1
  41. package/dist/side-panel/components/PluginMenu.js +9 -17
  42. package/dist/side-panel/components/PluginMenu.js.map +1 -1
  43. package/dist/side-panel/components/SearchResults.d.ts +4 -2
  44. package/dist/side-panel/components/SearchResults.d.ts.map +1 -1
  45. package/dist/side-panel/components/SearchResults.js +14 -3
  46. package/dist/side-panel/components/SearchResults.js.map +1 -1
  47. package/dist/side-panel/components/retro/Button.d.ts +1 -1
  48. package/dist/side-panel/components/retro/Dialog.d.ts +13 -0
  49. package/dist/side-panel/components/retro/Dialog.d.ts.map +1 -0
  50. package/dist/side-panel/components/retro/Dialog.js +31 -0
  51. package/dist/side-panel/components/retro/Dialog.js.map +1 -0
  52. package/dist/side-panel/components/retro/Loader.d.ts +1 -1
  53. package/dist/side-panel/side-panel.js +16431 -26805
  54. package/dist/side-panel/styles.css +1 -1
  55. package/dist/tab-state.d.ts +12 -5
  56. package/dist/tab-state.d.ts.map +1 -1
  57. package/dist/tab-state.js +67 -38
  58. package/dist/tab-state.js.map +1 -1
  59. package/dist/tool-dispatch.d.ts.map +1 -1
  60. package/dist/tool-dispatch.js +31 -17
  61. package/dist/tool-dispatch.js.map +1 -1
  62. package/package.json +1 -1
@@ -130,6 +130,7 @@ var JSONRPC_INVALID_PARAMS = -32602;
130
130
  var JSONRPC_INTERNAL_ERROR = -32603;
131
131
  var JSONRPC_NO_USABLE_TAB = -32001;
132
132
  var JSONRPC_ADAPTER_NOT_READY = -32002;
133
+ var JSONRPC_TAB_NOT_MATCHED = -32003;
133
134
 
134
135
  // dist/messaging.js
135
136
  var sendToServer = (data) => {
@@ -148,8 +149,7 @@ var sendTabStateNotification = (pluginName, stateInfo) => {
148
149
  const params = {
149
150
  plugin: pluginName,
150
151
  state: stateInfo.state,
151
- tabId: stateInfo.tabId,
152
- url: stateInfo.url
152
+ tabs: stateInfo.tabs
153
153
  };
154
154
  sendToServer({
155
155
  jsonrpc: "2.0",
@@ -1182,6 +1182,7 @@ var findAllMatchingTabs = async (plugin) => {
1182
1182
  };
1183
1183
 
1184
1184
  // dist/tab-state.js
1185
+ var serializeTabState = (info) => JSON.stringify({ state: info.state, tabs: info.tabs });
1185
1186
  var lastKnownState = /* @__PURE__ */ new Map();
1186
1187
  var pluginLocks = /* @__PURE__ */ new Map();
1187
1188
  var withPluginLock = (pluginName, fn) => {
@@ -1232,31 +1233,30 @@ var probeTabReadiness = async (tabId, pluginName) => {
1232
1233
  }
1233
1234
  };
1234
1235
  var computePluginTabState = async (plugin) => {
1235
- const tabs = await findAllMatchingTabs(plugin);
1236
- if (tabs.length === 0) {
1237
- return { state: "closed", tabId: null, url: null };
1236
+ const matchingTabs = await findAllMatchingTabs(plugin);
1237
+ if (matchingTabs.length === 0) {
1238
+ return { state: "closed", tabs: [] };
1238
1239
  }
1239
- let firstUnavailable;
1240
- for (const tab of tabs) {
1240
+ const tabInfos = [];
1241
+ for (const tab of matchingTabs) {
1241
1242
  if (tab.id === void 0)
1242
1243
  continue;
1244
+ let ready = false;
1243
1245
  try {
1244
- const ready = await probeTabReadiness(tab.id, plugin.name);
1245
- if (ready) {
1246
- return { state: "ready", tabId: tab.id, url: tab.url ?? null };
1247
- }
1248
- firstUnavailable ??= tab;
1246
+ ready = await probeTabReadiness(tab.id, plugin.name);
1249
1247
  } catch (err2) {
1250
1248
  console.warn(`[opentabs] computePluginTabState failed for plugin ${plugin.name} in tab ${tab.id}:`, err2);
1251
- firstUnavailable ??= tab;
1252
1249
  }
1250
+ tabInfos.push({
1251
+ tabId: tab.id,
1252
+ url: tab.url ?? "",
1253
+ title: tab.title ?? "",
1254
+ ready
1255
+ });
1253
1256
  }
1254
- const fallbackTab = firstUnavailable ?? tabs[0];
1255
- return {
1256
- state: "unavailable",
1257
- tabId: fallbackTab?.id ?? null,
1258
- url: fallbackTab?.url ?? null
1259
- };
1257
+ const hasReady = tabInfos.some((t) => t.ready);
1258
+ const state = hasReady ? "ready" : "unavailable";
1259
+ return { state, tabs: tabInfos };
1260
1260
  };
1261
1261
  var sendTabSyncAll = async () => {
1262
1262
  const index = await getAllPluginMeta();
@@ -1279,7 +1279,7 @@ var sendTabSyncAll = async () => {
1279
1279
  await Promise.all(entries.map(([pluginName, stateInfo]) => {
1280
1280
  pluginNamesInSync.add(pluginName);
1281
1281
  return withPluginLock(pluginName, () => {
1282
- lastKnownState.set(pluginName, stateInfo.state);
1282
+ lastKnownState.set(pluginName, serializeTabState(stateInfo));
1283
1283
  return Promise.resolve();
1284
1284
  });
1285
1285
  }));
@@ -1300,7 +1300,7 @@ var sendTabSyncAll = async () => {
1300
1300
  data: {
1301
1301
  jsonrpc: "2.0",
1302
1302
  method: "tab.stateChanged",
1303
- params: { plugin: pluginName, state: stateInfo.state, tabId: stateInfo.tabId, url: stateInfo.url }
1303
+ params: { plugin: pluginName, state: stateInfo.state, tabs: stateInfo.tabs }
1304
1304
  }
1305
1305
  });
1306
1306
  }
@@ -1313,18 +1313,27 @@ var clearPluginTabState = (pluginName) => {
1313
1313
  lastKnownState.delete(pluginName);
1314
1314
  pluginLocks.delete(pluginName);
1315
1315
  };
1316
- var updateLastKnownState = (pluginName, state) => withPluginLock(pluginName, () => {
1317
- lastKnownState.set(pluginName, state);
1316
+ var updateLastKnownState = (pluginName, stateInfo) => withPluginLock(pluginName, () => {
1317
+ lastKnownState.set(pluginName, serializeTabState(stateInfo));
1318
1318
  return Promise.resolve();
1319
1319
  });
1320
1320
  var getLastKnownStates = () => lastKnownState;
1321
+ var getAggregateState = (serialized) => {
1322
+ try {
1323
+ const parsed = JSON.parse(serialized);
1324
+ return parsed.state;
1325
+ } catch {
1326
+ return "closed";
1327
+ }
1328
+ };
1321
1329
  var notifyAffectedPlugins = async (affectedPlugins) => {
1322
1330
  await Promise.all(affectedPlugins.map((plugin) => withPluginLock(plugin.name, async () => {
1323
1331
  const newState = await computePluginTabState(plugin);
1332
+ const serialized = serializeTabState(newState);
1324
1333
  const previous = lastKnownState.get(plugin.name);
1325
- if (previous === newState.state)
1334
+ if (previous === serialized)
1326
1335
  return;
1327
- lastKnownState.set(plugin.name, newState.state);
1336
+ lastKnownState.set(plugin.name, serialized);
1328
1337
  sendTabStateNotification(plugin.name, newState);
1329
1338
  })));
1330
1339
  };
@@ -1343,7 +1352,12 @@ var checkTabChanged = async (changedTabId, changeInfo) => {
1343
1352
  let affectedPlugins;
1344
1353
  if (changeInfo.url) {
1345
1354
  const changedUrl = changeInfo.url;
1346
- affectedPlugins = plugins.filter((p) => urlMatchesPatterns(changedUrl, p.urlPatterns) || lastKnownState.has(p.name) && lastKnownState.get(p.name) !== "closed");
1355
+ affectedPlugins = plugins.filter((p) => {
1356
+ if (urlMatchesPatterns(changedUrl, p.urlPatterns))
1357
+ return true;
1358
+ const cached = lastKnownState.get(p.name);
1359
+ return cached !== void 0 && getAggregateState(cached) !== "closed";
1360
+ });
1347
1361
  } else if (changeInfo.status === "complete") {
1348
1362
  let tabUrl;
1349
1363
  try {
@@ -1354,7 +1368,12 @@ var checkTabChanged = async (changedTabId, changeInfo) => {
1354
1368
  }
1355
1369
  if (!tabUrl)
1356
1370
  return;
1357
- affectedPlugins = plugins.filter((p) => urlMatchesPatterns(tabUrl, p.urlPatterns) || lastKnownState.has(p.name) && lastKnownState.get(p.name) !== "closed");
1371
+ affectedPlugins = plugins.filter((p) => {
1372
+ if (urlMatchesPatterns(tabUrl, p.urlPatterns))
1373
+ return true;
1374
+ const cached = lastKnownState.get(p.name);
1375
+ return cached !== void 0 && getAggregateState(cached) !== "closed";
1376
+ });
1358
1377
  } else {
1359
1378
  return;
1360
1379
  }
@@ -1373,14 +1392,29 @@ var handleExtensionGetState = async (id) => {
1373
1392
  const mcpServerUrl = buildWsUrl(port);
1374
1393
  const pluginIndex = await getAllPluginMeta();
1375
1394
  const lastKnownStates = getLastKnownStates();
1376
- const plugins = Object.values(pluginIndex).map((meta) => ({
1377
- name: meta.name,
1378
- version: meta.version,
1379
- displayName: meta.displayName,
1380
- urlPatterns: meta.urlPatterns,
1381
- toolCount: meta.tools.length,
1382
- tabState: lastKnownStates.get(meta.name) ?? "closed"
1383
- }));
1395
+ const plugins = Object.values(pluginIndex).map((meta) => {
1396
+ const cached = lastKnownStates.get(meta.name);
1397
+ let tabState = "closed";
1398
+ let tabs = [];
1399
+ if (cached) {
1400
+ try {
1401
+ const parsed = JSON.parse(cached);
1402
+ tabState = parsed.state;
1403
+ tabs = parsed.tabs;
1404
+ } catch {
1405
+ tabState = getAggregateState(cached);
1406
+ }
1407
+ }
1408
+ return {
1409
+ name: meta.name,
1410
+ version: meta.version,
1411
+ displayName: meta.displayName,
1412
+ urlPatterns: meta.urlPatterns,
1413
+ toolCount: meta.tools.length,
1414
+ tabState,
1415
+ tabs
1416
+ };
1417
+ });
1384
1418
  const networkCaptures = getActiveCapturesSummary();
1385
1419
  let offscreenExists = false;
1386
1420
  try {
@@ -3029,6 +3063,57 @@ var dispatchWithTabFallback = async (config) => {
3029
3063
  });
3030
3064
  }
3031
3065
  };
3066
+ var dispatchToTargetedTab = async (config) => {
3067
+ const { id, pluginName, plugin, tabId, operationName, executeOnTab } = config;
3068
+ let tab;
3069
+ try {
3070
+ tab = await chrome.tabs.get(tabId);
3071
+ } catch {
3072
+ sendToServer({
3073
+ jsonrpc: "2.0",
3074
+ error: {
3075
+ code: JSONRPC_NO_USABLE_TAB,
3076
+ message: `Tab ${tabId} does not exist`
3077
+ },
3078
+ id
3079
+ });
3080
+ return;
3081
+ }
3082
+ if (!tab.url || !urlMatchesPatterns(tab.url, plugin.urlPatterns)) {
3083
+ sendToServer({
3084
+ jsonrpc: "2.0",
3085
+ error: {
3086
+ code: JSONRPC_TAB_NOT_MATCHED,
3087
+ message: `Tab ${tabId} does not match URL patterns for plugin "${pluginName}"`
3088
+ },
3089
+ id
3090
+ });
3091
+ return;
3092
+ }
3093
+ try {
3094
+ const result = await executeOnTab(tabId);
3095
+ if (result.type === "success") {
3096
+ sendToServer({ jsonrpc: "2.0", result: { output: result.output }, id });
3097
+ return;
3098
+ }
3099
+ sendToServer({
3100
+ jsonrpc: "2.0",
3101
+ error: { code: result.code, message: sanitizeErrorMessage(result.message), data: result.data },
3102
+ id
3103
+ });
3104
+ } catch (err2) {
3105
+ const msg = toErrorMessage(err2);
3106
+ const isTabGone = msg.includes("No tab with id") || msg.includes("Cannot access");
3107
+ sendToServer({
3108
+ jsonrpc: "2.0",
3109
+ error: {
3110
+ code: isTabGone ? JSONRPC_NO_USABLE_TAB : JSONRPC_INTERNAL_ERROR,
3111
+ message: isTabGone ? `Tab closed during ${operationName}` : `Script execution failed: ${sanitizeErrorMessage(msg)}`
3112
+ },
3113
+ id
3114
+ });
3115
+ }
3116
+ };
3032
3117
 
3033
3118
  // dist/resource-prompt-dispatch.js
3034
3119
  var executeResourceReadOnTab = async (tabId, pluginName, resourceUri) => {
@@ -3154,16 +3239,29 @@ var handleResourceRead = async (params, id) => {
3154
3239
  const resourceUri = requireStringParam(params, "uri", id);
3155
3240
  if (!resourceUri)
3156
3241
  return;
3242
+ const targetTabId = typeof params.tabId === "number" ? params.tabId : void 0;
3157
3243
  const plugin = await resolvePlugin(pluginName, id);
3158
3244
  if (!plugin)
3159
3245
  return;
3160
- await dispatchWithTabFallback({
3161
- id,
3162
- pluginName,
3163
- plugin,
3164
- operationName: "resource read",
3165
- executeOnTab: (tabId) => executeResourceReadOnTab(tabId, pluginName, resourceUri)
3166
- });
3246
+ const executeOnTab = (tid) => executeResourceReadOnTab(tid, pluginName, resourceUri);
3247
+ if (targetTabId !== void 0) {
3248
+ await dispatchToTargetedTab({
3249
+ id,
3250
+ pluginName,
3251
+ plugin,
3252
+ tabId: targetTabId,
3253
+ operationName: "resource read",
3254
+ executeOnTab
3255
+ });
3256
+ } else {
3257
+ await dispatchWithTabFallback({
3258
+ id,
3259
+ pluginName,
3260
+ plugin,
3261
+ operationName: "resource read",
3262
+ executeOnTab
3263
+ });
3264
+ }
3167
3265
  };
3168
3266
  var handlePromptGet = async (params, id) => {
3169
3267
  const pluginName = requireStringParam(params, "plugin", id);
@@ -3186,16 +3284,29 @@ var handlePromptGet = async (params, id) => {
3186
3284
  for (const [key, val] of Object.entries(rawObj)) {
3187
3285
  promptArgs[key] = String(val);
3188
3286
  }
3287
+ const targetTabId = typeof params.tabId === "number" ? params.tabId : void 0;
3189
3288
  const plugin = await resolvePlugin(pluginName, id);
3190
3289
  if (!plugin)
3191
3290
  return;
3192
- await dispatchWithTabFallback({
3193
- id,
3194
- pluginName,
3195
- plugin,
3196
- operationName: "prompt get",
3197
- executeOnTab: (tabId) => executePromptGetOnTab(tabId, pluginName, promptName, promptArgs)
3198
- });
3291
+ const executeOnTab = (tid) => executePromptGetOnTab(tid, pluginName, promptName, promptArgs);
3292
+ if (targetTabId !== void 0) {
3293
+ await dispatchToTargetedTab({
3294
+ id,
3295
+ pluginName,
3296
+ plugin,
3297
+ tabId: targetTabId,
3298
+ operationName: "prompt get",
3299
+ executeOnTab
3300
+ });
3301
+ } else {
3302
+ await dispatchWithTabFallback({
3303
+ id,
3304
+ pluginName,
3305
+ plugin,
3306
+ operationName: "prompt get",
3307
+ executeOnTab
3308
+ });
3309
+ }
3199
3310
  };
3200
3311
 
3201
3312
  // dist/tool-dispatch.js
@@ -3436,25 +3547,38 @@ var handleToolDispatch = async (params, id) => {
3436
3547
  });
3437
3548
  return;
3438
3549
  }
3550
+ const targetTabId = typeof params.tabId === "number" ? params.tabId : void 0;
3439
3551
  const plugin = await resolvePlugin(pluginName, id);
3440
3552
  if (!plugin)
3441
3553
  return;
3442
3554
  const link = getPluginLink(plugin);
3443
- await dispatchWithTabFallback({
3444
- id,
3445
- pluginName,
3446
- plugin,
3447
- operationName: "tool execution",
3448
- executeOnTab: async (tabId) => {
3449
- await injectToolInvocationLog(tabId, pluginName, toolName, link);
3450
- await injectProgressListener(tabId, dispatchId);
3451
- try {
3452
- return await executeToolOnTab(tabId, pluginName, toolName, input, dispatchId);
3453
- } finally {
3454
- removeProgressListener(tabId, dispatchId);
3455
- }
3555
+ const executeOnTab = async (tid) => {
3556
+ await injectToolInvocationLog(tid, pluginName, toolName, link);
3557
+ await injectProgressListener(tid, dispatchId);
3558
+ try {
3559
+ return await executeToolOnTab(tid, pluginName, toolName, input, dispatchId);
3560
+ } finally {
3561
+ removeProgressListener(tid, dispatchId);
3456
3562
  }
3457
- });
3563
+ };
3564
+ if (targetTabId !== void 0) {
3565
+ await dispatchToTargetedTab({
3566
+ id,
3567
+ pluginName,
3568
+ plugin,
3569
+ tabId: targetTabId,
3570
+ operationName: "tool execution",
3571
+ executeOnTab
3572
+ });
3573
+ } else {
3574
+ await dispatchWithTabFallback({
3575
+ id,
3576
+ pluginName,
3577
+ plugin,
3578
+ operationName: "tool execution",
3579
+ executeOnTab
3580
+ });
3581
+ }
3458
3582
  };
3459
3583
 
3460
3584
  // dist/message-router.js
@@ -3596,7 +3720,7 @@ var handlePluginUpdate = async (params) => {
3596
3720
  await storePluginsBatch([meta]);
3597
3721
  await injectPluginIntoMatchingTabs(meta.name, meta.urlPatterns, true, meta.version, meta.adapterHash, meta.adapterFile);
3598
3722
  const newState = await computePluginTabState(meta);
3599
- await updateLastKnownState(meta.name, newState.state);
3723
+ await updateLastKnownState(meta.name, newState);
3600
3724
  sendTabStateNotification(meta.name, newState);
3601
3725
  forwardToSidePanel({
3602
3726
  type: "sp:serverMessage",
@@ -1 +1 @@
1
- {"version":3,"file":"extension-commands.d.ts","sourceRoot":"","sources":["../../src/browser-commands/extension-commands.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,uBAAuB,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAqD/E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CA8D/G,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CA0BnF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,MAAM,GAAG,MAAM,KAClB,OAAO,CAAC,IAAI,CAkJd,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAiBrF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,MAAM,GAAG,MAAM,KAClB,OAAO,CAAC,IAAI,CA+Hd,CAAC"}
1
+ {"version":3,"file":"extension-commands.d.ts","sourceRoot":"","sources":["../../src/browser-commands/extension-commands.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,uBAAuB,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAoE/E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CA8D/G,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CA0BnF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,MAAM,GAAG,MAAM,KAClB,OAAO,CAAC,IAAI,CAkJd,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAU,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAiBrF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,MAAM,GAAG,MAAM,KAClB,OAAO,CAAC,IAAI,CA+Hd,CAAC"}
@@ -4,7 +4,7 @@ import { buildWsUrl, DEFAULT_LOG_LIMIT, DEFAULT_SERVER_PORT, EXEC_MAX_ASYNC_WAIT
4
4
  import { getActiveCapturesSummary } from '../network-capture.js';
5
5
  import { getAllPluginMeta, getPluginMeta } from '../plugin-storage.js';
6
6
  import { findAllMatchingTabs } from '../tab-matching.js';
7
- import { getLastKnownStates } from '../tab-state.js';
7
+ import { getAggregateState, getLastKnownStates } from '../tab-state.js';
8
8
  export const handleExtensionGetState = async (id) => {
9
9
  try {
10
10
  // Connection state from chrome.storage.session
@@ -23,14 +23,30 @@ export const handleExtensionGetState = async (id) => {
23
23
  // Plugin metadata with tab states
24
24
  const pluginIndex = await getAllPluginMeta();
25
25
  const lastKnownStates = getLastKnownStates();
26
- const plugins = Object.values(pluginIndex).map(meta => ({
27
- name: meta.name,
28
- version: meta.version,
29
- displayName: meta.displayName,
30
- urlPatterns: meta.urlPatterns,
31
- toolCount: meta.tools.length,
32
- tabState: lastKnownStates.get(meta.name) ?? 'closed',
33
- }));
26
+ const plugins = Object.values(pluginIndex).map(meta => {
27
+ const cached = lastKnownStates.get(meta.name);
28
+ let tabState = 'closed';
29
+ let tabs = [];
30
+ if (cached) {
31
+ try {
32
+ const parsed = JSON.parse(cached);
33
+ tabState = parsed.state;
34
+ tabs = parsed.tabs;
35
+ }
36
+ catch {
37
+ tabState = getAggregateState(cached);
38
+ }
39
+ }
40
+ return {
41
+ name: meta.name,
42
+ version: meta.version,
43
+ displayName: meta.displayName,
44
+ urlPatterns: meta.urlPatterns,
45
+ toolCount: meta.tools.length,
46
+ tabState,
47
+ tabs,
48
+ };
49
+ });
34
50
  // Active network captures
35
51
  const networkCaptures = getActiveCapturesSummary();
36
52
  // Offscreen document existence
@@ -1 +1 @@
1
- {"version":3,"file":"extension-commands.js","sourceRoot":"","sources":["../../src/browser-commands/extension-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-commands.js","sourceRoot":"","sources":["../../src/browser-commands/extension-commands.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,26 @@ interface TabFallbackConfig {
56
56
  * Sends the JSON-RPC response to the server and returns void.
57
57
  */
58
58
  declare const dispatchWithTabFallback: (config: TabFallbackConfig) => Promise<void>;
59
- export { dispatchWithTabFallback, executeWithTimeout, resolvePlugin, isAdapterNotReady };
59
+ /**
60
+ * Configuration for dispatchToTargetedTab.
61
+ */
62
+ interface TargetedDispatchConfig {
63
+ id: string | number;
64
+ pluginName: string;
65
+ plugin: PluginMeta;
66
+ tabId: number;
67
+ operationName: string;
68
+ executeOnTab: (tabId: number) => Promise<DispatchResult>;
69
+ }
70
+ /**
71
+ * Dispatch to a specific tab by ID. Validates that:
72
+ * 1. The tab exists (chrome.tabs.get succeeds)
73
+ * 2. The tab's URL matches the plugin's URL patterns (security check)
74
+ * 3. The adapter is ready (no fallback to other tabs)
75
+ *
76
+ * Sends the JSON-RPC response to the server and returns void.
77
+ */
78
+ declare const dispatchToTargetedTab: (config: TargetedDispatchConfig) => Promise<void>;
79
+ export { dispatchToTargetedTab, dispatchWithTabFallback, executeWithTimeout, resolvePlugin, isAdapterNotReady };
60
80
  export type { DispatchResult };
61
81
  //# sourceMappingURL=dispatch-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-helpers.d.ts","sourceRoot":"","sources":["../src/dispatch-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,KAAK,cAAc,GACf;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxF,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzC;;;GAGG;AACH,QAAA,MAAM,iBAAiB,GAAI,QAAQ,cAAc,KAAG,OACkB,CAAC;AAEvE;;;;GAIG;AACH,QAAA,MAAM,aAAa,GAAU,YAAY,MAAM,EAAE,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAW/F,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,kBAAkB,GACtB,eAAe,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAC1D,WAAW,MAAM,EACjB,iBAAiB,MAAM,KACtB,OAAO,CAAC,cAAc,CAwBxB,CAAC;AAEF;;GAEG;AACH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAAU,QAAQ,iBAAiB,KAAG,OAAO,CAAC,IAAI,CA4F9E,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"dispatch-helpers.d.ts","sourceRoot":"","sources":["../src/dispatch-helpers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,KAAK,cAAc,GACf;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxF,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzC;;;GAGG;AACH,QAAA,MAAM,iBAAiB,GAAI,QAAQ,cAAc,KAAG,OACkB,CAAC;AAEvE;;;;GAIG;AACH,QAAA,MAAM,aAAa,GAAU,YAAY,MAAM,EAAE,IAAI,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAW/F,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,kBAAkB,GACtB,eAAe,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAC1D,WAAW,MAAM,EACjB,iBAAiB,MAAM,KACtB,OAAO,CAAC,cAAc,CAwBxB,CAAC;AAEF;;GAEG;AACH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAAU,QAAQ,iBAAiB,KAAG,OAAO,CAAC,IAAI,CA4F9E,CAAC;AAEF;;GAEG;AACH,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC1D;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB,GAAU,QAAQ,sBAAsB,KAAG,OAAO,CAAC,IAAI,CA4DjF,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAChH,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { JSONRPC_ADAPTER_NOT_READY, JSONRPC_INTERNAL_ERROR, JSONRPC_NO_USABLE_TAB } from './json-rpc-errors.js';
1
+ import { JSONRPC_ADAPTER_NOT_READY, JSONRPC_INTERNAL_ERROR, JSONRPC_NO_USABLE_TAB, JSONRPC_TAB_NOT_MATCHED, } from './json-rpc-errors.js';
2
2
  import { sendToServer } from './messaging.js';
3
3
  import { getPluginMeta } from './plugin-storage.js';
4
4
  import { sanitizeErrorMessage } from './sanitize-error.js';
@@ -145,5 +145,71 @@ const dispatchWithTabFallback = async (config) => {
145
145
  });
146
146
  }
147
147
  };
148
- export { dispatchWithTabFallback, executeWithTimeout, resolvePlugin, isAdapterNotReady };
148
+ /**
149
+ * Dispatch to a specific tab by ID. Validates that:
150
+ * 1. The tab exists (chrome.tabs.get succeeds)
151
+ * 2. The tab's URL matches the plugin's URL patterns (security check)
152
+ * 3. The adapter is ready (no fallback to other tabs)
153
+ *
154
+ * Sends the JSON-RPC response to the server and returns void.
155
+ */
156
+ const dispatchToTargetedTab = async (config) => {
157
+ const { id, pluginName, plugin, tabId, operationName, executeOnTab } = config;
158
+ // 1. Verify the tab exists
159
+ let tab;
160
+ try {
161
+ tab = await chrome.tabs.get(tabId);
162
+ }
163
+ catch {
164
+ sendToServer({
165
+ jsonrpc: '2.0',
166
+ error: {
167
+ code: JSONRPC_NO_USABLE_TAB,
168
+ message: `Tab ${tabId} does not exist`,
169
+ },
170
+ id,
171
+ });
172
+ return;
173
+ }
174
+ // 2. Security check: verify the tab's URL matches the plugin's URL patterns
175
+ if (!tab.url || !urlMatchesPatterns(tab.url, plugin.urlPatterns)) {
176
+ sendToServer({
177
+ jsonrpc: '2.0',
178
+ error: {
179
+ code: JSONRPC_TAB_NOT_MATCHED,
180
+ message: `Tab ${tabId} does not match URL patterns for plugin "${pluginName}"`,
181
+ },
182
+ id,
183
+ });
184
+ return;
185
+ }
186
+ // 3. Execute on the targeted tab — no fallback to other tabs
187
+ try {
188
+ const result = await executeOnTab(tabId);
189
+ if (result.type === 'success') {
190
+ sendToServer({ jsonrpc: '2.0', result: { output: result.output }, id });
191
+ return;
192
+ }
193
+ sendToServer({
194
+ jsonrpc: '2.0',
195
+ error: { code: result.code, message: sanitizeErrorMessage(result.message), data: result.data },
196
+ id,
197
+ });
198
+ }
199
+ catch (err) {
200
+ const msg = toErrorMessage(err);
201
+ const isTabGone = msg.includes('No tab with id') || msg.includes('Cannot access');
202
+ sendToServer({
203
+ jsonrpc: '2.0',
204
+ error: {
205
+ code: isTabGone ? JSONRPC_NO_USABLE_TAB : JSONRPC_INTERNAL_ERROR,
206
+ message: isTabGone
207
+ ? `Tab closed during ${operationName}`
208
+ : `Script execution failed: ${sanitizeErrorMessage(msg)}`,
209
+ },
210
+ id,
211
+ });
212
+ }
213
+ };
214
+ export { dispatchToTargetedTab, dispatchWithTabFallback, executeWithTimeout, resolvePlugin, isAdapterNotReady };
149
215
  //# sourceMappingURL=dispatch-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-helpers.js","sourceRoot":"","sources":["../src/dispatch-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-helpers.js","sourceRoot":"","sources":["../src/dispatch-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TabState, TrustTier, WireToolDef } from '@opentabs-dev/shared';
1
+ import type { PluginTabInfo, TabState, TrustTier, WireToolDef } from '@opentabs-dev/shared';
2
2
  /** Offscreen → Background: request the MCP server WebSocket URL */
3
3
  export interface OffscreenGetUrlMessage {
4
4
  type: 'offscreen:getUrl';
@@ -126,8 +126,7 @@ export type InternalMessage = OffscreenGetUrlMessage | WsStateMessage | WsDataMe
126
126
  /** Tab state info for a single plugin — shared shape used by tab.stateChanged payloads */
127
127
  export interface PluginTabStateInfo {
128
128
  state: TabState;
129
- tabId: number | null;
130
- url: string | null;
129
+ tabs: PluginTabInfo[];
131
130
  }
132
131
  /** Lightweight plugin metadata stored in the `plugins_meta` index (no IIFE content) */
133
132
  export interface PluginMeta {