@opentabs-dev/browser-extension 0.0.66 → 0.0.67

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-message-handlers.d.ts +3 -1
  2. package/dist/background-message-handlers.d.ts.map +1 -1
  3. package/dist/background-message-handlers.js +35 -3
  4. package/dist/background-message-handlers.js.map +1 -1
  5. package/dist/background.js +113 -34
  6. package/dist/background.js.map +1 -1
  7. package/dist/constants.d.ts +1 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +1 -0
  10. package/dist/constants.js.map +1 -1
  11. package/dist/extension-messages.d.ts +6 -1
  12. package/dist/extension-messages.d.ts.map +1 -1
  13. package/dist/last-seen-urls.d.ts +6 -0
  14. package/dist/last-seen-urls.d.ts.map +1 -0
  15. package/dist/last-seen-urls.js +45 -0
  16. package/dist/last-seen-urls.js.map +1 -0
  17. package/dist/message-router.d.ts.map +1 -1
  18. package/dist/message-router.js +3 -0
  19. package/dist/message-router.js.map +1 -1
  20. package/dist/server-state-cache.d.ts +1 -0
  21. package/dist/server-state-cache.d.ts.map +1 -1
  22. package/dist/server-state-cache.js +2 -0
  23. package/dist/server-state-cache.js.map +1 -1
  24. package/dist/side-panel/App.d.ts.map +1 -1
  25. package/dist/side-panel/App.js +4 -1
  26. package/dist/side-panel/App.js.map +1 -1
  27. package/dist/side-panel/bridge.d.ts +7 -1
  28. package/dist/side-panel/bridge.d.ts.map +1 -1
  29. package/dist/side-panel/bridge.js +3 -1
  30. package/dist/side-panel/bridge.js.map +1 -1
  31. package/dist/side-panel/components/BrowserToolsCard.d.ts +2 -1
  32. package/dist/side-panel/components/BrowserToolsCard.d.ts.map +1 -1
  33. package/dist/side-panel/components/BrowserToolsCard.js +2 -2
  34. package/dist/side-panel/components/BrowserToolsCard.js.map +1 -1
  35. package/dist/side-panel/components/BrowserToolsMenu.d.ts +2 -1
  36. package/dist/side-panel/components/BrowserToolsMenu.d.ts.map +1 -1
  37. package/dist/side-panel/components/BrowserToolsMenu.js +16 -3
  38. package/dist/side-panel/components/BrowserToolsMenu.js.map +1 -1
  39. package/dist/side-panel/components/EmptyStates.js +2 -2
  40. package/dist/side-panel/components/EmptyStates.js.map +1 -1
  41. package/dist/side-panel/components/PluginCard.d.ts.map +1 -1
  42. package/dist/side-panel/components/PluginCard.js +14 -8
  43. package/dist/side-panel/components/PluginCard.js.map +1 -1
  44. package/dist/side-panel/components/PluginMenu.d.ts.map +1 -1
  45. package/dist/side-panel/components/PluginMenu.js +13 -2
  46. package/dist/side-panel/components/PluginMenu.js.map +1 -1
  47. package/dist/side-panel/components/SearchResults.d.ts.map +1 -1
  48. package/dist/side-panel/components/SearchResults.js +1 -1
  49. package/dist/side-panel/components/SearchResults.js.map +1 -1
  50. package/dist/side-panel/components/retro/Empty.js +1 -1
  51. package/dist/side-panel/components/retro/Empty.js.map +1 -1
  52. package/dist/side-panel/components/retro/Menu.d.ts +3 -2
  53. package/dist/side-panel/components/retro/Menu.d.ts.map +1 -1
  54. package/dist/side-panel/components/retro/Menu.js +3 -4
  55. package/dist/side-panel/components/retro/Menu.js.map +1 -1
  56. package/dist/side-panel/side-panel.js +684 -541
  57. package/dist/side-panel/styles.css +1 -1
  58. package/dist/tab-state.d.ts.map +1 -1
  59. package/dist/tab-state.js +10 -0
  60. package/dist/tab-state.js.map +1 -1
  61. package/manifest.json +1 -1
  62. package/package.json +2 -1
@@ -55,6 +55,8 @@ declare const handleBgRemovePlugin: MessageHandler;
55
55
  declare const handleBgRemoveFailedPlugin: MessageHandler;
56
56
  /** Handle bg:updatePlugin — update a plugin to the latest registry version */
57
57
  declare const handleBgUpdatePlugin: MessageHandler;
58
+ /** Handle bg:openFolder — relay folder open request to MCP server */
59
+ declare const handleBgOpenFolder: MessageHandler;
58
60
  /** Handle port-changed — relay port change to offscreen document for reconnect */
59
61
  declare const handlePortChanged: MessageHandler;
60
62
  /** Handle bg:openPluginTab — focus an existing matching tab or open the plugin's homepage */
@@ -66,5 +68,5 @@ declare const handleBgOpenPluginTab: MessageHandler;
66
68
  declare const initBackgroundMessageHandlers: () => void;
67
69
  /** Exported handler names for testing (mirrors methodHandlerNames in message-router.ts) */
68
70
  declare const backgroundHandlerNames: readonly string[];
69
- export { backgroundHandlerNames, handleBgGetFullState, handleBgInstallPlugin, handleBgOpenPluginTab, handleBgRemoveFailedPlugin, handleBgRemovePlugin, handleBgSearchPlugins, handleBgSetAllToolsPermission, handleBgSetPluginPermission, handleBgSetSkipPermissions, handleBgSetToolPermission, handleBgUpdatePlugin, handleOffscreenGetUrl, handlePluginLogs, handlePortChanged, handleSpConfirmationResponse, handleToolProgress, handleWsMessage, handleWsState, initBackgroundMessageHandlers, restoreWsConnectedState, waitForWsConnectedRestore, };
71
+ export { backgroundHandlerNames, handleBgGetFullState, handleBgInstallPlugin, handleBgOpenFolder, handleBgOpenPluginTab, handleBgRemoveFailedPlugin, handleBgRemovePlugin, handleBgSearchPlugins, handleBgSetAllToolsPermission, handleBgSetPluginPermission, handleBgSetSkipPermissions, handleBgSetToolPermission, handleBgUpdatePlugin, handleOffscreenGetUrl, handlePluginLogs, handlePortChanged, handleSpConfirmationResponse, handleToolProgress, handleWsMessage, handleWsState, initBackgroundMessageHandlers, restoreWsConnectedState, waitForWsConnectedRestore, };
70
72
  //# sourceMappingURL=background-message-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"background-message-handlers.d.ts","sourceRoot":"","sources":["../src/background-message-handlers.ts"],"names":[],"mappings":"AAkDA;;;GAGG;AACH,QAAA,MAAM,uBAAuB,QAAO,IAYnC,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,yBAAyB,QAAO,OAAO,CAAC,IAAI,CAAmD,CAAC;AActG,wDAAwD;AACxD,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;AAE5G,2FAA2F;AAC3F,QAAA,MAAM,qBAAqB,EAAE,cAY5B,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,aAAa,EAAE,cAmBpB,CAAC;AAEF,uEAAuE;AACvE,QAAA,MAAM,eAAe,EAAE,cAOtB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,cAgH3B,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,EAAE,cAqBvB,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,EAAE,cAoBzB,CAAC;AAEF,uFAAuF;AACvF,QAAA,MAAM,4BAA4B,EAAE,cAYnC,CAAC;AAEF,sFAAsF;AACtF,QAAA,MAAM,yBAAyB,EAAE,cAkEhC,CAAC;AAEF,kGAAkG;AAClG,QAAA,MAAM,6BAA6B,EAAE,cA+EpC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,2BAA2B,EAAE,cAqClC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,0BAA0B,EAAE,cAmBjC,CAAC;AAEF,gEAAgE;AAChE,QAAA,MAAM,qBAAqB,EAAE,cAS5B,CAAC;AAEF,iEAAiE;AACjE,QAAA,MAAM,qBAAqB,EAAE,cAS5B,CAAC;AAEF,0DAA0D;AAC1D,QAAA,MAAM,oBAAoB,EAAE,cAS3B,CAAC;AAEF,oFAAoF;AACpF,QAAA,MAAM,0BAA0B,EAAE,cASjC,CAAC;AAEF,8EAA8E;AAC9E,QAAA,MAAM,oBAAoB,EAAE,cAS3B,CAAC;AAEF,kFAAkF;AAClF,QAAA,MAAM,iBAAiB,EAAE,cAKxB,CAAC;AAoBF,6FAA6F;AAC7F,QAAA,MAAM,qBAAqB,EAAE,cAyC5B,CAAC;AAiDF;;;GAGG;AACH,QAAA,MAAM,6BAA6B,QAAO,IAoBzC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAmC,CAAC;AAEjF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"background-message-handlers.d.ts","sourceRoot":"","sources":["../src/background-message-handlers.ts"],"names":[],"mappings":"AAmDA;;;GAGG;AACH,QAAA,MAAM,uBAAuB,QAAO,IAYnC,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,yBAAyB,QAAO,OAAO,CAAC,IAAI,CAAmD,CAAC;AActG,wDAAwD;AACxD,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;AAE5G,2FAA2F;AAC3F,QAAA,MAAM,qBAAqB,EAAE,cAY5B,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,aAAa,EAAE,cAmBpB,CAAC;AAEF,uEAAuE;AACvE,QAAA,MAAM,eAAe,EAAE,cAOtB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,cAqH3B,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,EAAE,cAqBvB,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,EAAE,cAoBzB,CAAC;AAEF,uFAAuF;AACvF,QAAA,MAAM,4BAA4B,EAAE,cAYnC,CAAC;AAEF,sFAAsF;AACtF,QAAA,MAAM,yBAAyB,EAAE,cAkEhC,CAAC;AAEF,kGAAkG;AAClG,QAAA,MAAM,6BAA6B,EAAE,cA+EpC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,2BAA2B,EAAE,cAqClC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,0BAA0B,EAAE,cAmBjC,CAAC;AAEF,gEAAgE;AAChE,QAAA,MAAM,qBAAqB,EAAE,cAS5B,CAAC;AAEF,iEAAiE;AACjE,QAAA,MAAM,qBAAqB,EAAE,cAS5B,CAAC;AAEF,0DAA0D;AAC1D,QAAA,MAAM,oBAAoB,EAAE,cAS3B,CAAC;AAEF,oFAAoF;AACpF,QAAA,MAAM,0BAA0B,EAAE,cASjC,CAAC;AAEF,8EAA8E;AAC9E,QAAA,MAAM,oBAAoB,EAAE,cAS3B,CAAC;AAEF,qEAAqE;AACrE,QAAA,MAAM,kBAAkB,EAAE,cASzB,CAAC;AAEF,kFAAkF;AAClF,QAAA,MAAM,iBAAiB,EAAE,cAKxB,CAAC;AAoBF,6FAA6F;AAC7F,QAAA,MAAM,qBAAqB,EAAE,cAgD5B,CAAC;AAmDF;;;GAGG;AACH,QAAA,MAAM,6BAA6B,QAAO,IAoBzC,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAmC,CAAC;AAEjF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,GAC1B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { clearAllConfirmationBadges, clearConfirmationBadge, getPendingConfirmations } from './confirmation-badge.js';
2
2
  import { buildWsUrl, SERVER_PORT_KEY, WS_CONNECTED_KEY } from './constants.js';
3
+ import { getLastSeenUrl, setLastSeenUrl } from './last-seen-urls.js';
3
4
  import { handleServerMessage } from './message-router.js';
4
5
  import { forwardToSidePanel, sendToServer } from './messaging.js';
5
6
  import { getAllPluginMeta, getPluginMeta } from './plugin-storage.js';
@@ -132,8 +133,17 @@ const handleBgGetFullState = (_message, sendResponse) => {
132
133
  for (const sp of serverCache.plugins) {
133
134
  serverPluginMap.set(sp.name, sp);
134
135
  }
136
+ // Pre-compute last-seen URL availability per plugin (in-memory cache, effectively sync after first load)
137
+ const metaEntries = Object.values(metaIndex);
138
+ const lastSeenFlags = await Promise.all(metaEntries.map(async (m) => (await getLastSeenUrl(m.name)) !== undefined));
139
+ const hasLastSeenUrlMap = new Map();
140
+ for (let i = 0; i < metaEntries.length; i++) {
141
+ const entry = metaEntries[i];
142
+ if (lastSeenFlags[i] && entry)
143
+ hasLastSeenUrlMap.set(entry.name, true);
144
+ }
135
145
  // Merge each plugin from metaCache with server state and tab state
136
- const plugins = Object.values(metaIndex).map(meta => {
146
+ const plugins = metaEntries.map(meta => {
137
147
  const serverPlugin = serverPluginMap.get(meta.name);
138
148
  // Tab state from lastKnownState cache (serialized JSON)
139
149
  let tabState = 'closed';
@@ -165,7 +175,7 @@ const handleBgGetFullState = (_message, sendResponse) => {
165
175
  // state), tabState (from live tab cache), permission (from server cache,
166
176
  // which reflects the latest user-configured value), and server-only
167
177
  // fields (source, sdkVersion, update).
168
- const { tools: _metaTools, sourcePath: _sourcePath, adapterHash: _adapterHash, adapterFile: _adapterFile, ...metaFields } = meta;
178
+ const { tools: _metaTools, adapterHash: _adapterHash, adapterFile: _adapterFile, ...metaFields } = meta;
169
179
  return {
170
180
  ...metaFields,
171
181
  permission: serverPlugin?.permission ?? meta.permission,
@@ -176,6 +186,7 @@ const handleBgGetFullState = (_message, sendResponse) => {
176
186
  reviewed: serverPlugin?.reviewed ?? false,
177
187
  sdkVersion: serverPlugin?.sdkVersion,
178
188
  update: serverPlugin?.update,
189
+ ...(hasLastSeenUrlMap.has(meta.name) && { hasLastSeenUrl: true }),
179
190
  };
180
191
  });
181
192
  sendResponse({
@@ -186,6 +197,7 @@ const handleBgGetFullState = (_message, sendResponse) => {
186
197
  browserTools: serverCache.browserTools,
187
198
  browserPermission: serverCache.browserPermission,
188
199
  serverVersion: serverCache.serverVersion,
200
+ serverSourcePath: serverCache.serverSourcePath,
189
201
  skipPermissions: serverCache.skipPermissions,
190
202
  pendingConfirmations: getPendingConfirmations(),
191
203
  });
@@ -513,6 +525,17 @@ const handleBgUpdatePlugin = (message, sendResponse) => {
513
525
  sendResponse({ error: err instanceof Error ? err.message : String(err) });
514
526
  });
515
527
  };
528
+ /** Handle bg:openFolder — relay folder open request to MCP server */
529
+ const handleBgOpenFolder = (message, sendResponse) => {
530
+ const path = message.path;
531
+ sendServerRequest('folder.open', { path })
532
+ .then((result) => {
533
+ sendResponse(result);
534
+ })
535
+ .catch((err) => {
536
+ sendResponse({ error: err instanceof Error ? err.message : String(err) });
537
+ });
538
+ };
516
539
  /** Handle port-changed — relay port change to offscreen document for reconnect */
517
540
  const handlePortChanged = (message, sendResponse) => {
518
541
  chrome.runtime.sendMessage(message).catch(() => {
@@ -562,6 +585,8 @@ const handleBgOpenPluginTab = (message, sendResponse) => {
562
585
  if (pick.tab.windowId !== undefined) {
563
586
  await chrome.windows.update(pick.tab.windowId, { focused: true });
564
587
  }
588
+ if (pick.tab.url)
589
+ void setLastSeenUrl(pluginName, pick.tab.url);
565
590
  return { opened: true, tabId: pick.id };
566
591
  }
567
592
  }
@@ -569,6 +594,11 @@ const handleBgOpenPluginTab = (message, sendResponse) => {
569
594
  const newTab = await chrome.tabs.create({ url: meta.homepage });
570
595
  return { opened: true, tabId: newTab.id };
571
596
  }
597
+ const lastUrl = await getLastSeenUrl(pluginName);
598
+ if (lastUrl) {
599
+ const newTab = await chrome.tabs.create({ url: lastUrl });
600
+ return { opened: true, tabId: newTab.id };
601
+ }
572
602
  return { opened: false };
573
603
  })()
574
604
  .then(result => sendResponse(result))
@@ -592,6 +622,7 @@ const backgroundHandlers = new Map([
592
622
  ['bg:removeFailedPlugin', handleBgRemoveFailedPlugin],
593
623
  ['bg:updatePlugin', handleBgUpdatePlugin],
594
624
  ['bg:openPluginTab', handleBgOpenPluginTab],
625
+ ['bg:openFolder', handleBgOpenFolder],
595
626
  ['plugin:logs', handlePluginLogs],
596
627
  ['tool:progress', handleToolProgress],
597
628
  ['sp:confirmationResponse', handleSpConfirmationResponse],
@@ -614,6 +645,7 @@ const EXTENSION_ONLY_TYPES = new Set([
614
645
  'bg:removeFailedPlugin',
615
646
  'bg:updatePlugin',
616
647
  'bg:openPluginTab',
648
+ 'bg:openFolder',
617
649
  'offscreen:getLogs',
618
650
  'sp:confirmationResponse',
619
651
  'port-changed',
@@ -641,5 +673,5 @@ const initBackgroundMessageHandlers = () => {
641
673
  };
642
674
  /** Exported handler names for testing (mirrors methodHandlerNames in message-router.ts) */
643
675
  const backgroundHandlerNames = [...backgroundHandlers.keys()];
644
- export { backgroundHandlerNames, handleBgGetFullState, handleBgInstallPlugin, handleBgOpenPluginTab, handleBgRemoveFailedPlugin, handleBgRemovePlugin, handleBgSearchPlugins, handleBgSetAllToolsPermission, handleBgSetPluginPermission, handleBgSetSkipPermissions, handleBgSetToolPermission, handleBgUpdatePlugin, handleOffscreenGetUrl, handlePluginLogs, handlePortChanged, handleSpConfirmationResponse, handleToolProgress, handleWsMessage, handleWsState, initBackgroundMessageHandlers, restoreWsConnectedState, waitForWsConnectedRestore, };
676
+ export { backgroundHandlerNames, handleBgGetFullState, handleBgInstallPlugin, handleBgOpenFolder, handleBgOpenPluginTab, handleBgRemoveFailedPlugin, handleBgRemovePlugin, handleBgSearchPlugins, handleBgSetAllToolsPermission, handleBgSetPluginPermission, handleBgSetSkipPermissions, handleBgSetToolPermission, handleBgUpdatePlugin, handleOffscreenGetUrl, handlePluginLogs, handlePortChanged, handleSpConfirmationResponse, handleToolProgress, handleWsMessage, handleWsState, initBackgroundMessageHandlers, restoreWsConnectedState, waitForWsConnectedRestore, };
645
677
  //# sourceMappingURL=background-message-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"background-message-handlers.js","sourceRoot":"","sources":["../src/background-message-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background-message-handlers.js","sourceRoot":"","sources":["../src/background-message-handlers.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  var KEEPALIVE_ALARM = "opentabs-keepalive";
3
3
  var KEEPALIVE_INTERVAL_MINUTES = 0.5;
4
4
  var PLUGINS_META_KEY = "plugins_meta";
5
+ var LAST_SEEN_URLS_KEY = "pluginLastSeenUrls";
5
6
  var WS_CONNECTED_KEY = "wsConnected";
6
7
  var SIDE_PANEL_OPEN_WINDOWS_KEY = "sidePanelOpenWindows";
7
8
  var SCRIPT_TIMEOUT_MS = 25e3;
@@ -181,6 +182,41 @@ var initConfirmationBadge = () => {
181
182
  };
182
183
  var getPendingConfirmations = () => [...pendingConfirmations.values()];
183
184
 
185
+ // dist/last-seen-urls.js
186
+ var cache = {};
187
+ var loaded = false;
188
+ var ensureLoaded = async () => {
189
+ if (loaded)
190
+ return;
191
+ try {
192
+ const data = await chrome.storage.local.get(LAST_SEEN_URLS_KEY);
193
+ const stored = data[LAST_SEEN_URLS_KEY];
194
+ if (stored && typeof stored === "object" && !Array.isArray(stored)) {
195
+ cache = stored;
196
+ }
197
+ } catch {
198
+ }
199
+ loaded = true;
200
+ };
201
+ var getLastSeenUrl = async (pluginName) => {
202
+ await ensureLoaded();
203
+ return cache[pluginName];
204
+ };
205
+ var setLastSeenUrl = async (pluginName, url) => {
206
+ await ensureLoaded();
207
+ if (cache[pluginName] === url)
208
+ return;
209
+ cache[pluginName] = url;
210
+ try {
211
+ await chrome.storage.local.set({ [LAST_SEEN_URLS_KEY]: { ...cache } });
212
+ } catch {
213
+ }
214
+ };
215
+ var loadLastSeenUrlsFromStorage = async () => {
216
+ loaded = false;
217
+ await ensureLoaded();
218
+ };
219
+
184
220
  // ../shared/dist/error.js
185
221
  var toErrorMessage = (err2) => err2 instanceof Error ? err2.message : String(err2);
186
222
 
@@ -1371,6 +1407,9 @@ var sendTabSyncAll = async () => {
1371
1407
  scheduleLastKnownStatePersist();
1372
1408
  return Promise.resolve();
1373
1409
  });
1410
+ const earlyUrl = partialState.state !== "closed" ? partialState.tabs[0]?.url : void 0;
1411
+ if (earlyUrl)
1412
+ void setLastSeenUrl(plugin.name, earlyUrl);
1374
1413
  forwardToSidePanel({
1375
1414
  type: "sp:serverMessage",
1376
1415
  data: {
@@ -1386,6 +1425,9 @@ var sendTabSyncAll = async () => {
1386
1425
  scheduleLastKnownStatePersist();
1387
1426
  return Promise.resolve();
1388
1427
  });
1428
+ const finalUrl = stateInfo.state !== "closed" ? stateInfo.tabs[0]?.url : void 0;
1429
+ if (finalUrl)
1430
+ void setLastSeenUrl(plugin.name, finalUrl);
1389
1431
  forwardToSidePanel({
1390
1432
  type: "sp:serverMessage",
1391
1433
  data: {
@@ -1477,6 +1519,9 @@ var notifyAffectedPlugins = async (affectedPlugins) => {
1477
1519
  return;
1478
1520
  lastKnownState.set(plugin.name, serialized);
1479
1521
  scheduleLastKnownStatePersist();
1522
+ const changedUrl = newState.state !== "closed" ? newState.tabs[0]?.url : void 0;
1523
+ if (changedUrl)
1524
+ void setLastSeenUrl(plugin.name, changedUrl);
1480
1525
  sendTabStateNotification(plugin.name, newState);
1481
1526
  })));
1482
1527
  };
@@ -3267,17 +3312,18 @@ var EMPTY_CACHE = {
3267
3312
  browserTools: [],
3268
3313
  browserPermission: void 0,
3269
3314
  serverVersion: void 0,
3315
+ serverSourcePath: void 0,
3270
3316
  skipPermissions: void 0
3271
3317
  };
3272
- var cache = { ...EMPTY_CACHE };
3318
+ var cache2 = { ...EMPTY_CACHE };
3273
3319
  var pendingPluginToolUpdates = /* @__PURE__ */ new Map();
3274
3320
  var pendingPluginPermissionUpdates = /* @__PURE__ */ new Map();
3275
3321
  var pendingBrowserToolUpdates = /* @__PURE__ */ new Map();
3276
3322
  var reapplyPendingOptimisticUpdates = () => {
3277
3323
  if (pendingPluginToolUpdates.size > 0 || pendingPluginPermissionUpdates.size > 0) {
3278
- cache = {
3279
- ...cache,
3280
- plugins: cache.plugins.map((plugin) => {
3324
+ cache2 = {
3325
+ ...cache2,
3326
+ plugins: cache2.plugins.map((plugin) => {
3281
3327
  const permOverride = pendingPluginPermissionUpdates.get(plugin.name);
3282
3328
  const toolOverrides = pendingPluginToolUpdates.get(plugin.name);
3283
3329
  if (permOverride === void 0 && !toolOverrides)
@@ -3301,12 +3347,12 @@ var reapplyPendingOptimisticUpdates = () => {
3301
3347
  }
3302
3348
  const browserPermOverride = pendingPluginPermissionUpdates.get("browser");
3303
3349
  if (browserPermOverride !== void 0) {
3304
- cache = { ...cache, browserPermission: browserPermOverride };
3350
+ cache2 = { ...cache2, browserPermission: browserPermOverride };
3305
3351
  }
3306
3352
  if (pendingBrowserToolUpdates.size > 0) {
3307
- cache = {
3308
- ...cache,
3309
- browserTools: cache.browserTools.map((bt) => {
3353
+ cache2 = {
3354
+ ...cache2,
3355
+ browserTools: cache2.browserTools.map((bt) => {
3310
3356
  const override = pendingBrowserToolUpdates.get(bt.name);
3311
3357
  return override !== void 0 ? { ...bt, permission: override } : bt;
3312
3358
  })
@@ -3374,7 +3420,7 @@ var removePendingAllBrowserToolsUpdate = (toolNames) => {
3374
3420
  var cachesInitialized = false;
3375
3421
  var persistTimer;
3376
3422
  var persistToSession = () => {
3377
- chrome.storage.session.set({ [SESSION_KEY]: cache, [CACHES_INITIALIZED_KEY]: cachesInitialized }).catch(() => {
3423
+ chrome.storage.session.set({ [SESSION_KEY]: cache2, [CACHES_INITIALIZED_KEY]: cachesInitialized }).catch(() => {
3378
3424
  });
3379
3425
  };
3380
3426
  var schedulePersist = () => {
@@ -3385,9 +3431,9 @@ var schedulePersist = () => {
3385
3431
  persistToSession();
3386
3432
  }, 500);
3387
3433
  };
3388
- var getServerStateCache = () => structuredClone(cache);
3434
+ var getServerStateCache = () => structuredClone(cache2);
3389
3435
  var updateServerStateCache = (partial) => {
3390
- cache = { ...cache, ...partial };
3436
+ cache2 = { ...cache2, ...partial };
3391
3437
  reapplyPendingOptimisticUpdates();
3392
3438
  schedulePersist();
3393
3439
  };
@@ -3399,7 +3445,7 @@ var flushServerStateCacheToSession = () => {
3399
3445
  persistToSession();
3400
3446
  };
3401
3447
  var clearServerStateCache = () => {
3402
- cache = { ...EMPTY_CACHE };
3448
+ cache2 = { ...EMPTY_CACHE };
3403
3449
  cachesInitialized = false;
3404
3450
  pendingPluginToolUpdates.clear();
3405
3451
  pendingPluginPermissionUpdates.clear();
@@ -3416,12 +3462,13 @@ var loadServerStateCacheFromSession = async () => {
3416
3462
  const data = await chrome.storage.session.get([SESSION_KEY, CACHES_INITIALIZED_KEY]);
3417
3463
  const stored = data[SESSION_KEY];
3418
3464
  if (stored && typeof stored === "object") {
3419
- cache = {
3465
+ cache2 = {
3420
3466
  plugins: Array.isArray(stored.plugins) ? stored.plugins : [],
3421
3467
  failedPlugins: Array.isArray(stored.failedPlugins) ? stored.failedPlugins : [],
3422
3468
  browserTools: Array.isArray(stored.browserTools) ? stored.browserTools : [],
3423
3469
  browserPermission: stored.browserPermission === "off" || stored.browserPermission === "ask" || stored.browserPermission === "auto" ? stored.browserPermission : void 0,
3424
3470
  serverVersion: typeof stored.serverVersion === "string" ? stored.serverVersion : void 0,
3471
+ serverSourcePath: typeof stored.serverSourcePath === "string" ? stored.serverSourcePath : void 0,
3425
3472
  skipPermissions: typeof stored.skipPermissions === "boolean" ? stored.skipPermissions : void 0
3426
3473
  };
3427
3474
  }
@@ -4019,6 +4066,7 @@ var handleSyncFull = async (params) => {
4019
4066
  const rawFailedPlugins = Array.isArray(params.failedPlugins) ? params.failedPlugins : void 0;
4020
4067
  const rawBrowserTools = Array.isArray(params.browserTools) ? params.browserTools : void 0;
4021
4068
  const rawServerVersion = typeof params.serverVersion === "string" ? params.serverVersion : void 0;
4069
+ const rawServerSourcePath = typeof params.serverSourcePath === "string" ? params.serverSourcePath : void 0;
4022
4070
  const rawBrowserPermission = params.browserPermission;
4023
4071
  const browserPermission = rawBrowserPermission === "off" || rawBrowserPermission === "ask" || rawBrowserPermission === "auto" ? rawBrowserPermission : void 0;
4024
4072
  const rawSkipPermissions = typeof params.skipPermissions === "boolean" ? params.skipPermissions : void 0;
@@ -4028,6 +4076,7 @@ var handleSyncFull = async (params) => {
4028
4076
  ...rawBrowserTools ? { browserTools: rawBrowserTools } : {},
4029
4077
  ...browserPermission !== void 0 ? { browserPermission } : {},
4030
4078
  ...rawServerVersion !== void 0 ? { serverVersion: rawServerVersion } : {},
4079
+ ...rawServerSourcePath !== void 0 ? { serverSourcePath: rawServerSourcePath } : {},
4031
4080
  ...rawSkipPermissions !== void 0 ? { skipPermissions: rawSkipPermissions } : {}
4032
4081
  });
4033
4082
  setCachesInitialized(true);
@@ -4204,6 +4253,7 @@ var handleServerMessage = (message) => {
4204
4253
  ...payload.browserTools ? { browserTools: payload.browserTools } : {},
4205
4254
  ...payload.browserPermission !== void 0 ? { browserPermission: payload.browserPermission } : {},
4206
4255
  ...payload.serverVersion !== void 0 ? { serverVersion: payload.serverVersion } : {},
4256
+ ...payload.serverSourcePath !== void 0 ? { serverSourcePath: payload.serverSourcePath } : {},
4207
4257
  ...payload.skipPermissions !== void 0 ? { skipPermissions: payload.skipPermissions } : {}
4208
4258
  });
4209
4259
  }
@@ -4323,7 +4373,15 @@ var handleBgGetFullState = (_message, sendResponse) => {
4323
4373
  for (const sp of serverCache.plugins) {
4324
4374
  serverPluginMap.set(sp.name, sp);
4325
4375
  }
4326
- const plugins = Object.values(metaIndex).map((meta) => {
4376
+ const metaEntries = Object.values(metaIndex);
4377
+ const lastSeenFlags = await Promise.all(metaEntries.map(async (m) => await getLastSeenUrl(m.name) !== void 0));
4378
+ const hasLastSeenUrlMap = /* @__PURE__ */ new Map();
4379
+ for (let i = 0; i < metaEntries.length; i++) {
4380
+ const entry = metaEntries[i];
4381
+ if (lastSeenFlags[i] && entry)
4382
+ hasLastSeenUrlMap.set(entry.name, true);
4383
+ }
4384
+ const plugins = metaEntries.map((meta) => {
4327
4385
  const serverPlugin = serverPluginMap.get(meta.name);
4328
4386
  let tabState = "closed";
4329
4387
  let tabs;
@@ -4344,7 +4402,7 @@ var handleBgGetFullState = (_message, sendResponse) => {
4344
4402
  permission: serverTool?.permission ?? metaTool.permission
4345
4403
  };
4346
4404
  });
4347
- const { tools: _metaTools, sourcePath: _sourcePath, adapterHash: _adapterHash, adapterFile: _adapterFile, ...metaFields } = meta;
4405
+ const { tools: _metaTools, adapterHash: _adapterHash, adapterFile: _adapterFile, ...metaFields } = meta;
4348
4406
  return {
4349
4407
  ...metaFields,
4350
4408
  permission: serverPlugin?.permission ?? meta.permission,
@@ -4354,7 +4412,8 @@ var handleBgGetFullState = (_message, sendResponse) => {
4354
4412
  source: serverPlugin?.source ?? "local",
4355
4413
  reviewed: serverPlugin?.reviewed ?? false,
4356
4414
  sdkVersion: serverPlugin?.sdkVersion,
4357
- update: serverPlugin?.update
4415
+ update: serverPlugin?.update,
4416
+ ...hasLastSeenUrlMap.has(meta.name) && { hasLastSeenUrl: true }
4358
4417
  };
4359
4418
  });
4360
4419
  sendResponse({
@@ -4365,6 +4424,7 @@ var handleBgGetFullState = (_message, sendResponse) => {
4365
4424
  browserTools: serverCache.browserTools,
4366
4425
  browserPermission: serverCache.browserPermission,
4367
4426
  serverVersion: serverCache.serverVersion,
4427
+ serverSourcePath: serverCache.serverSourcePath,
4368
4428
  skipPermissions: serverCache.skipPermissions,
4369
4429
  pendingConfirmations: getPendingConfirmations()
4370
4430
  });
@@ -4442,9 +4502,9 @@ var handleBgSetToolPermission = (message, sendResponse) => {
4442
4502
  const tool = message.tool;
4443
4503
  const permission = message.permission;
4444
4504
  if (plugin === "browser") {
4445
- const cache3 = getServerStateCache();
4446
- const originalPermission2 = cache3.browserTools.find((t) => t.name === tool)?.permission ?? "auto";
4447
- const updatedBrowserTools = cache3.browserTools.map((t) => t.name === tool ? { ...t, permission } : t);
4505
+ const cache4 = getServerStateCache();
4506
+ const originalPermission2 = cache4.browserTools.find((t) => t.name === tool)?.permission ?? "auto";
4507
+ const updatedBrowserTools = cache4.browserTools.map((t) => t.name === tool ? { ...t, permission } : t);
4448
4508
  addPendingBrowserToolUpdate(tool, permission);
4449
4509
  updateServerStateCache({ browserTools: updatedBrowserTools });
4450
4510
  sendServerRequest("config.setToolPermission", { plugin, tool, permission }).then((result) => {
@@ -4459,10 +4519,10 @@ var handleBgSetToolPermission = (message, sendResponse) => {
4459
4519
  });
4460
4520
  return;
4461
4521
  }
4462
- const cache2 = getServerStateCache();
4463
- const pluginEntry = cache2.plugins.find((p) => p.name === plugin);
4522
+ const cache3 = getServerStateCache();
4523
+ const pluginEntry = cache3.plugins.find((p) => p.name === plugin);
4464
4524
  const originalPermission = pluginEntry?.tools.find((t) => t.name === tool)?.permission ?? "auto";
4465
- const updatedPlugins = cache2.plugins.map((p) => {
4525
+ const updatedPlugins = cache3.plugins.map((p) => {
4466
4526
  if (p.name !== plugin)
4467
4527
  return p;
4468
4528
  return {
@@ -4494,13 +4554,13 @@ var handleBgSetAllToolsPermission = (message, sendResponse) => {
4494
4554
  const plugin = message.plugin;
4495
4555
  const permission = message.permission;
4496
4556
  if (plugin === "browser") {
4497
- const cache3 = getServerStateCache();
4498
- const toolNames2 = cache3.browserTools.map((t) => t.name);
4557
+ const cache4 = getServerStateCache();
4558
+ const toolNames2 = cache4.browserTools.map((t) => t.name);
4499
4559
  const originalToolStates2 = /* @__PURE__ */ new Map();
4500
- for (const t of cache3.browserTools) {
4560
+ for (const t of cache4.browserTools) {
4501
4561
  originalToolStates2.set(t.name, t.permission);
4502
4562
  }
4503
- const updatedBrowserTools = cache3.browserTools.map((t) => ({ ...t, permission }));
4563
+ const updatedBrowserTools = cache4.browserTools.map((t) => ({ ...t, permission }));
4504
4564
  addPendingAllBrowserToolsUpdate(toolNames2, permission);
4505
4565
  updateServerStateCache({ browserTools: updatedBrowserTools });
4506
4566
  sendServerRequest("config.setAllToolsPermission", { plugin, permission }).then((result) => {
@@ -4518,8 +4578,8 @@ var handleBgSetAllToolsPermission = (message, sendResponse) => {
4518
4578
  });
4519
4579
  return;
4520
4580
  }
4521
- const cache2 = getServerStateCache();
4522
- const pluginEntry = cache2.plugins.find((p) => p.name === plugin);
4581
+ const cache3 = getServerStateCache();
4582
+ const pluginEntry = cache3.plugins.find((p) => p.name === plugin);
4523
4583
  const toolNames = pluginEntry ? pluginEntry.tools.map((t) => t.name) : [];
4524
4584
  const originalToolStates = /* @__PURE__ */ new Map();
4525
4585
  if (pluginEntry) {
@@ -4527,7 +4587,7 @@ var handleBgSetAllToolsPermission = (message, sendResponse) => {
4527
4587
  originalToolStates.set(t.name, t.permission);
4528
4588
  }
4529
4589
  }
4530
- const updatedPlugins = cache2.plugins.map((p) => {
4590
+ const updatedPlugins = cache3.plugins.map((p) => {
4531
4591
  if (p.name !== plugin)
4532
4592
  return p;
4533
4593
  return {
@@ -4562,10 +4622,10 @@ var handleBgSetPluginPermission = (message, sendResponse) => {
4562
4622
  const plugin = message.plugin;
4563
4623
  const permission = message.permission;
4564
4624
  const reviewedVersion = typeof message.reviewedVersion === "string" ? message.reviewedVersion : void 0;
4565
- const cache2 = getServerStateCache();
4566
- const pluginEntry = cache2.plugins.find((p) => p.name === plugin);
4625
+ const cache3 = getServerStateCache();
4626
+ const pluginEntry = cache3.plugins.find((p) => p.name === plugin);
4567
4627
  const originalPermission = pluginEntry?.permission ?? "off";
4568
- const updatedPlugins = cache2.plugins.map((p) => p.name === plugin ? { ...p, permission, ...reviewedVersion ? { reviewed: true } : {} } : p);
4628
+ const updatedPlugins = cache3.plugins.map((p) => p.name === plugin ? { ...p, permission, ...reviewedVersion ? { reviewed: true } : {} } : p);
4569
4629
  addPendingPluginPermissionUpdate(plugin, permission);
4570
4630
  updateServerStateCache({ plugins: updatedPlugins });
4571
4631
  sendServerRequest("config.setPluginPermission", {
@@ -4585,8 +4645,8 @@ var handleBgSetPluginPermission = (message, sendResponse) => {
4585
4645
  };
4586
4646
  var handleBgSetSkipPermissions = (message, sendResponse) => {
4587
4647
  const skipPermissions = message.skipPermissions;
4588
- const cache2 = getServerStateCache();
4589
- const originalSkipPermissions = cache2.skipPermissions ?? false;
4648
+ const cache3 = getServerStateCache();
4649
+ const originalSkipPermissions = cache3.skipPermissions ?? false;
4590
4650
  updateServerStateCache({ skipPermissions });
4591
4651
  sendServerRequest("config.setSkipPermissions", { skipPermissions }).then((result) => {
4592
4652
  sendResponse(result);
@@ -4635,6 +4695,14 @@ var handleBgUpdatePlugin = (message, sendResponse) => {
4635
4695
  sendResponse({ error: err2 instanceof Error ? err2.message : String(err2) });
4636
4696
  });
4637
4697
  };
4698
+ var handleBgOpenFolder = (message, sendResponse) => {
4699
+ const path = message.path;
4700
+ sendServerRequest("folder.open", { path }).then((result) => {
4701
+ sendResponse(result);
4702
+ }).catch((err2) => {
4703
+ sendResponse({ error: err2 instanceof Error ? err2.message : String(err2) });
4704
+ });
4705
+ };
4638
4706
  var handlePortChanged = (message, sendResponse) => {
4639
4707
  chrome.runtime.sendMessage(message).catch(() => {
4640
4708
  });
@@ -4677,6 +4745,8 @@ var handleBgOpenPluginTab = (message, sendResponse) => {
4677
4745
  if (pick.tab.windowId !== void 0) {
4678
4746
  await chrome.windows.update(pick.tab.windowId, { focused: true });
4679
4747
  }
4748
+ if (pick.tab.url)
4749
+ void setLastSeenUrl(pluginName, pick.tab.url);
4680
4750
  return { opened: true, tabId: pick.id };
4681
4751
  }
4682
4752
  }
@@ -4684,6 +4754,11 @@ var handleBgOpenPluginTab = (message, sendResponse) => {
4684
4754
  const newTab = await chrome.tabs.create({ url: meta.homepage });
4685
4755
  return { opened: true, tabId: newTab.id };
4686
4756
  }
4757
+ const lastUrl = await getLastSeenUrl(pluginName);
4758
+ if (lastUrl) {
4759
+ const newTab = await chrome.tabs.create({ url: lastUrl });
4760
+ return { opened: true, tabId: newTab.id };
4761
+ }
4687
4762
  return { opened: false };
4688
4763
  })().then((result) => sendResponse(result)).catch(() => sendResponse({ opened: false }));
4689
4764
  };
@@ -4702,6 +4777,7 @@ var backgroundHandlers = /* @__PURE__ */ new Map([
4702
4777
  ["bg:removeFailedPlugin", handleBgRemoveFailedPlugin],
4703
4778
  ["bg:updatePlugin", handleBgUpdatePlugin],
4704
4779
  ["bg:openPluginTab", handleBgOpenPluginTab],
4780
+ ["bg:openFolder", handleBgOpenFolder],
4705
4781
  ["plugin:logs", handlePluginLogs],
4706
4782
  ["tool:progress", handleToolProgress],
4707
4783
  ["sp:confirmationResponse", handleSpConfirmationResponse],
@@ -4722,6 +4798,7 @@ var EXTENSION_ONLY_TYPES = /* @__PURE__ */ new Set([
4722
4798
  "bg:removeFailedPlugin",
4723
4799
  "bg:updatePlugin",
4724
4800
  "bg:openPluginTab",
4801
+ "bg:openFolder",
4725
4802
  "offscreen:getLogs",
4726
4803
  "sp:confirmationResponse",
4727
4804
  "port-changed"
@@ -4745,6 +4822,8 @@ var backgroundHandlerNames = [...backgroundHandlers.keys()];
4745
4822
  // dist/background.js
4746
4823
  initSidePanelToggle();
4747
4824
  restoreWsConnectedState();
4825
+ loadLastSeenUrlsFromStorage().catch(() => {
4826
+ });
4748
4827
  var creatingOffscreen = null;
4749
4828
  var ensureOffscreenDocument = async () => {
4750
4829
  if (creatingOffscreen)