@opentabs-dev/browser-extension 0.0.37 → 0.0.39

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 (36) hide show
  1. package/dist/side-panel/App.d.ts.map +1 -1
  2. package/dist/side-panel/App.js +84 -8
  3. package/dist/side-panel/App.js.map +1 -1
  4. package/dist/side-panel/bridge.d.ts +34 -2
  5. package/dist/side-panel/bridge.d.ts.map +1 -1
  6. package/dist/side-panel/bridge.js +13 -1
  7. package/dist/side-panel/bridge.js.map +1 -1
  8. package/dist/side-panel/components/EmptyStates.js +1 -1
  9. package/dist/side-panel/components/EmptyStates.js.map +1 -1
  10. package/dist/side-panel/components/NpmPluginCard.d.ts +14 -0
  11. package/dist/side-panel/components/NpmPluginCard.d.ts.map +1 -0
  12. package/dist/side-panel/components/NpmPluginCard.js +19 -0
  13. package/dist/side-panel/components/NpmPluginCard.js.map +1 -0
  14. package/dist/side-panel/components/PluginCard.d.ts +5 -1
  15. package/dist/side-panel/components/PluginCard.d.ts.map +1 -1
  16. package/dist/side-panel/components/PluginCard.js +3 -2
  17. package/dist/side-panel/components/PluginCard.js.map +1 -1
  18. package/dist/side-panel/components/PluginList.d.ts +4 -1
  19. package/dist/side-panel/components/PluginList.d.ts.map +1 -1
  20. package/dist/side-panel/components/PluginList.js +2 -2
  21. package/dist/side-panel/components/PluginList.js.map +1 -1
  22. package/dist/side-panel/components/PluginMenu.d.ts +16 -0
  23. package/dist/side-panel/components/PluginMenu.d.ts.map +1 -0
  24. package/dist/side-panel/components/PluginMenu.js +31 -0
  25. package/dist/side-panel/components/PluginMenu.js.map +1 -0
  26. package/dist/side-panel/components/SearchResults.d.ts +24 -0
  27. package/dist/side-panel/components/SearchResults.d.ts.map +1 -0
  28. package/dist/side-panel/components/SearchResults.js +28 -0
  29. package/dist/side-panel/components/SearchResults.js.map +1 -0
  30. package/dist/side-panel/components/retro/Menu.d.ts +1 -0
  31. package/dist/side-panel/components/retro/Menu.d.ts.map +1 -1
  32. package/dist/side-panel/components/retro/Menu.js +3 -0
  33. package/dist/side-panel/components/retro/Menu.js.map +1 -1
  34. package/dist/side-panel/side-panel.js +522 -249
  35. package/dist/side-panel/styles.css +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/side-panel/App.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,GAAG,+CAmOR,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/side-panel/App.tsx"],"names":[],"mappings":"AA0BA,QAAA,MAAM,GAAG,+CAwUR,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getConnectionState, fetchConfigState, handleServerResponse, rejectAllPending, sendConfirmationResponse, } from './bridge.js';
2
+ import { getConnectionState, fetchConfigState, handleServerResponse, rejectAllPending, sendConfirmationResponse, searchPlugins, installPlugin, removePlugin, updatePlugin, } from './bridge.js';
3
3
  import { ConfirmationDialog } from './components/ConfirmationDialog.js';
4
4
  import { DisconnectedState, NoPluginsState, LoadingState } from './components/EmptyStates.js';
5
5
  import { Footer } from './components/Footer.js';
6
6
  import { PluginList } from './components/PluginList.js';
7
7
  import { Input } from './components/retro/Input.js';
8
8
  import { Tooltip } from './components/retro/Tooltip.js';
9
+ import { SearchResults } from './components/SearchResults.js';
9
10
  import { useServerNotifications } from './hooks/useServerNotifications.js';
10
11
  import { Search, X } from 'lucide-react';
11
12
  import { useState, useEffect, useCallback, useRef } from 'react';
@@ -16,10 +17,16 @@ const App = () => {
16
17
  const [failedPlugins, setFailedPlugins] = useState([]);
17
18
  const [loading, setLoading] = useState(true);
18
19
  const [activeTools, setActiveTools] = useState(new Set());
19
- const [toolFilter, setToolFilter] = useState('');
20
+ const [searchQuery, setSearchQuery] = useState('');
20
21
  const [pendingConfirmations, setPendingConfirmations] = useState([]);
22
+ const [npmResults, setNpmResults] = useState([]);
23
+ const [npmSearching, setNpmSearching] = useState(false);
24
+ const [installingPlugins, setInstallingPlugins] = useState(new Set());
25
+ const [removingPlugins, setRemovingPlugins] = useState(new Set());
26
+ const [installErrors, setInstallErrors] = useState(new Map());
21
27
  const lastFetchRef = useRef(0);
22
28
  const pendingTabStates = useRef(new Map());
29
+ const npmSearchTimer = useRef(undefined);
23
30
  const connectedRef = useRef(connected);
24
31
  const loadingRef = useRef(loading);
25
32
  const pluginsRef = useRef(plugins);
@@ -65,6 +72,76 @@ const App = () => {
65
72
  setPendingConfirmations,
66
73
  pendingTabStates,
67
74
  });
75
+ const handleSearchChange = useCallback((query) => {
76
+ setSearchQuery(query);
77
+ clearTimeout(npmSearchTimer.current);
78
+ if (!query.trim()) {
79
+ setNpmResults([]);
80
+ setNpmSearching(false);
81
+ return;
82
+ }
83
+ setNpmSearching(true);
84
+ npmSearchTimer.current = setTimeout(() => {
85
+ searchPlugins(query)
86
+ .then(result => {
87
+ setNpmResults(result.results);
88
+ })
89
+ .catch(() => {
90
+ setNpmResults([]);
91
+ })
92
+ .finally(() => {
93
+ setNpmSearching(false);
94
+ });
95
+ }, 400);
96
+ }, []);
97
+ const handleInstall = useCallback((name) => {
98
+ setInstallingPlugins(prev => new Set(prev).add(name));
99
+ setInstallErrors(prev => {
100
+ const next = new Map(prev);
101
+ next.delete(name);
102
+ return next;
103
+ });
104
+ installPlugin(name)
105
+ .then(() => {
106
+ setInstallingPlugins(prev => {
107
+ const next = new Set(prev);
108
+ next.delete(name);
109
+ return next;
110
+ });
111
+ handleSearchChange('');
112
+ })
113
+ .catch((err) => {
114
+ setInstallingPlugins(prev => {
115
+ const next = new Set(prev);
116
+ next.delete(name);
117
+ return next;
118
+ });
119
+ setInstallErrors(prev => new Map(prev).set(name, err instanceof Error ? err.message : String(err)));
120
+ });
121
+ }, [handleSearchChange]);
122
+ const handleRemove = useCallback((pluginName) => {
123
+ setRemovingPlugins(prev => new Set(prev).add(pluginName));
124
+ removePlugin(pluginName)
125
+ .then(() => {
126
+ setRemovingPlugins(prev => {
127
+ const next = new Set(prev);
128
+ next.delete(pluginName);
129
+ return next;
130
+ });
131
+ })
132
+ .catch(() => {
133
+ setRemovingPlugins(prev => {
134
+ const next = new Set(prev);
135
+ next.delete(pluginName);
136
+ return next;
137
+ });
138
+ });
139
+ }, []);
140
+ const handleUpdate = useCallback((pluginName) => {
141
+ updatePlugin(pluginName).catch(() => {
142
+ // plugins.changed notification will refresh the list on success
143
+ });
144
+ }, []);
68
145
  useEffect(() => {
69
146
  void getConnectionState()
70
147
  .then(result => {
@@ -106,7 +183,7 @@ const App = () => {
106
183
  setFailedPlugins([]);
107
184
  setActiveTools(new Set());
108
185
  setPendingConfirmations([]);
109
- setToolFilter('');
186
+ handleSearchChange('');
110
187
  rejectAllPending();
111
188
  }
112
189
  sendResponse({ ok: true });
@@ -138,7 +215,7 @@ const App = () => {
138
215
  };
139
216
  chrome.runtime.onMessage.addListener(listener);
140
217
  return () => chrome.runtime.onMessage.removeListener(listener);
141
- }, [loadPlugins, handleNotification]);
218
+ }, [loadPlugins, handleNotification, handleSearchChange]);
142
219
  const handleConfirmationRespond = useCallback((id, decision, scope) => {
143
220
  clearConfirmationTimeout(id);
144
221
  sendConfirmationResponse(id, decision, scope);
@@ -151,11 +228,10 @@ const App = () => {
151
228
  }
152
229
  setPendingConfirmations([]);
153
230
  }, [pendingConfirmations, clearConfirmationTimeout]);
154
- const totalTools = plugins.reduce((sum, p) => sum + p.tools.length, 0);
155
231
  const hasContent = plugins.length > 0 || failedPlugins.length > 0;
156
- const showPlugins = !loading && connected && hasContent;
157
- const showSearchBar = connected && !loading && totalTools > 5;
158
- return (_jsx(Tooltip.Provider, { children: _jsxs("div", { className: "text-foreground flex min-h-screen flex-col", children: [connected && pendingConfirmations.length > 0 && (_jsx(ConfirmationDialog, { confirmations: pendingConfirmations, onRespond: handleConfirmationRespond, onDenyAll: handleDenyAll })), showSearchBar && (_jsx("div", { className: "pt-4 pr-5 pb-2 pl-4", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { value: toolFilter, onChange: e => setToolFilter(e.target.value), placeholder: "Filter tools...", className: "pr-8 pl-9" }), toolFilter && (_jsx("button", { type: "button", onClick: () => setToolFilter(''), className: "text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2 cursor-pointer", children: _jsx(X, { className: "h-4 w-4" }) }))] }) })), _jsx("main", { className: `flex-1 pr-5 pb-2 pl-4 ${showSearchBar ? 'pt-2' : 'pt-4'} ${showPlugins ? '' : 'flex items-center justify-center'}`, children: loading ? (_jsx(LoadingState, {})) : !connected ? (_jsx(DisconnectedState, { reason: disconnectReason })) : !hasContent ? (_jsx(NoPluginsState, {})) : (_jsx(PluginList, { plugins: plugins, failedPlugins: failedPlugins, activeTools: activeTools, setPlugins: setPlugins, toolFilter: toolFilter })) }), _jsx(Footer, {})] }) }));
232
+ const showPlugins = !loading && connected && (hasContent || !!searchQuery);
233
+ const showSearchBar = connected && !loading;
234
+ return (_jsx(Tooltip.Provider, { children: _jsxs("div", { className: "text-foreground flex min-h-screen flex-col", children: [connected && pendingConfirmations.length > 0 && (_jsx(ConfirmationDialog, { confirmations: pendingConfirmations, onRespond: handleConfirmationRespond, onDenyAll: handleDenyAll })), showSearchBar && (_jsx("div", { className: "pt-4 pr-5 pb-2 pl-4", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { value: searchQuery, onChange: e => handleSearchChange(e.target.value), placeholder: "Search plugins and tools...", className: "pr-8 pl-9" }), searchQuery && (_jsx("button", { type: "button", onClick: () => handleSearchChange(''), className: "text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2 cursor-pointer", children: _jsx(X, { className: "h-4 w-4" }) }))] }) })), _jsx("main", { className: `flex-1 pr-5 pb-2 pl-4 ${showSearchBar ? 'pt-2' : 'pt-4'} ${showPlugins ? '' : 'flex items-center justify-center'}`, children: loading ? (_jsx(LoadingState, {})) : !connected ? (_jsx(DisconnectedState, { reason: disconnectReason })) : !hasContent && !searchQuery ? (_jsx(NoPluginsState, {})) : searchQuery ? (_jsx(SearchResults, { plugins: plugins, failedPlugins: failedPlugins, activeTools: activeTools, setPlugins: setPlugins, toolFilter: searchQuery, npmResults: npmResults, npmSearching: npmSearching, installingPlugins: installingPlugins, onInstall: handleInstall, installErrors: installErrors, onUpdate: handleUpdate, onRemove: handleRemove, removingPlugins: removingPlugins })) : (_jsx(PluginList, { plugins: plugins, failedPlugins: failedPlugins, activeTools: activeTools, setPlugins: setPlugins, toolFilter: "", onUpdate: handleUpdate, onRemove: handleRemove, removingPlugins: removingPlugins })) }), _jsx(Footer, {})] }) }));
159
235
  };
160
236
  export { App };
161
237
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/side-panel/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/side-panel/App.tsx"],"names":[],"mappings":"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"}
@@ -15,8 +15,28 @@ import type { ConfigStateFailedPlugin, ConfigStatePlugin, ConfigStateResult } fr
15
15
  type PluginState = ConfigStatePlugin;
16
16
  /** Failed plugin state as displayed in the side panel */
17
17
  type FailedPluginState = ConfigStateFailedPlugin;
18
+ /** npm registry search result for a plugin package */
19
+ interface PluginSearchResult {
20
+ name: string;
21
+ description: string;
22
+ version: string;
23
+ author: string;
24
+ isOfficial: boolean;
25
+ }
26
+ /** Result returned after a successful plugin install or update */
27
+ interface PluginInstallResult {
28
+ ok: true;
29
+ plugin: {
30
+ name: string;
31
+ displayName: string;
32
+ version: string;
33
+ toolCount: number;
34
+ };
35
+ }
18
36
  /** Returns true if a tool's displayName, name, or description matches the filter string */
19
37
  declare const matchesTool: (tool: PluginState["tools"][number], filterLower: string) => boolean;
38
+ /** Returns true if a plugin's displayName, name, or any tool matches the filter string */
39
+ declare const matchesPlugin: (plugin: PluginState, filterLower: string) => boolean;
20
40
  /**
21
41
  * Reject all pending requests immediately.
22
42
  * Called on WebSocket disconnect (sp:connectionState connected=false) so the
@@ -43,8 +63,20 @@ declare const fetchConfigState: () => Promise<ConfigStateResult>;
43
63
  declare const setToolEnabled: (plugin: string, tool: string, enabled: boolean) => Promise<unknown>;
44
64
  /** Toggle all tools for a plugin */
45
65
  declare const setAllToolsEnabled: (plugin: string, enabled: boolean) => Promise<unknown>;
66
+ /** Search npm registry for plugins matching the given query */
67
+ declare const searchPlugins: (query: string) => Promise<{
68
+ results: PluginSearchResult[];
69
+ }>;
70
+ /** Install a plugin by package name */
71
+ declare const installPlugin: (name: string) => Promise<PluginInstallResult>;
72
+ /** Remove an installed plugin by name */
73
+ declare const removePlugin: (name: string) => Promise<{
74
+ ok: true;
75
+ }>;
76
+ /** Update an installed plugin to the latest registry version */
77
+ declare const updatePlugin: (name: string) => Promise<PluginInstallResult>;
46
78
  /** Send a confirmation response to the MCP server via the background script (fire-and-forget) */
47
79
  declare const sendConfirmationResponse: (id: string, decision: "allow_once" | "allow_always" | "deny", scope?: "tool_domain" | "tool_all" | "domain_all") => void;
48
- export type { FailedPluginState, PluginState };
49
- export { getConnectionState, fetchConfigState, matchesTool, setToolEnabled, setAllToolsEnabled, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
80
+ export type { FailedPluginState, PluginInstallResult, PluginSearchResult, PluginState };
81
+ export { getConnectionState, fetchConfigState, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
50
82
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1G,qFAAqF;AACrF,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAErC,yDAAyD;AACzD,KAAK,iBAAiB,GAAG,uBAAuB,CAAC;AAEjD,2FAA2F;AAC3F,QAAA,MAAM,WAAW,GAAI,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,MAAM,KAAG,OAGzB,CAAC;AAevD;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,QAAO,IAM5B,CAAC;AA8BF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAmB7D,CAAC;AAEF,gFAAgF;AAChF,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,iEAAiE;AACjE,QAAA,MAAM,kBAAkB,QAAO,OAAO,CAAC,qBAAqB,CAexD,CAAC;AAEL,6DAA6D;AAC7D,QAAA,MAAM,gBAAgB,QAA2C,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5F,2CAA2C;AAC3C,QAAA,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,OAAO,CACvB,CAAC;AAElE,oCAAoC;AACpC,QAAA,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,OAAO,CACf,CAAC;AAEhE,iGAAiG;AACjG,QAAA,MAAM,wBAAwB,GAC5B,IAAI,MAAM,EACV,UAAU,YAAY,GAAG,cAAc,GAAG,MAAM,EAChD,QAAQ,aAAa,GAAG,UAAU,GAAG,YAAY,KAChD,IASF,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@
13
13
  const matchesTool = (tool, filterLower) => tool.displayName.toLowerCase().includes(filterLower) ||
14
14
  tool.name.toLowerCase().includes(filterLower) ||
15
15
  tool.description.toLowerCase().includes(filterLower);
16
+ /** Returns true if a plugin's displayName, name, or any tool matches the filter string */
17
+ const matchesPlugin = (plugin, filterLower) => plugin.displayName.toLowerCase().includes(filterLower) ||
18
+ plugin.name.toLowerCase().includes(filterLower) ||
19
+ plugin.tools.some(tool => matchesTool(tool, filterLower));
16
20
  /** Timeout for pending JSON-RPC requests relayed through the background script (ms) */
17
21
  const REQUEST_TIMEOUT_MS = 30_000;
18
22
  /** Map of request ID → pending request. Responses are matched by ID. */
@@ -98,6 +102,14 @@ const fetchConfigState = () => sendRequest('config.getState');
98
102
  const setToolEnabled = (plugin, tool, enabled) => sendRequest('config.setToolEnabled', { plugin, tool, enabled });
99
103
  /** Toggle all tools for a plugin */
100
104
  const setAllToolsEnabled = (plugin, enabled) => sendRequest('config.setAllToolsEnabled', { plugin, enabled });
105
+ /** Search npm registry for plugins matching the given query */
106
+ const searchPlugins = (query) => sendRequest('plugin.search', { query });
107
+ /** Install a plugin by package name */
108
+ const installPlugin = (name) => sendRequest('plugin.install', { name });
109
+ /** Remove an installed plugin by name */
110
+ const removePlugin = (name) => sendRequest('plugin.remove', { name });
111
+ /** Update an installed plugin to the latest registry version */
112
+ const updatePlugin = (name) => sendRequest('plugin.updateFromRegistry', { name });
101
113
  /** Send a confirmation response to the MCP server via the background script (fire-and-forget) */
102
114
  const sendConfirmationResponse = (id, decision, scope) => {
103
115
  chrome.runtime
@@ -109,5 +121,5 @@ const sendConfirmationResponse = (id, decision, scope) => {
109
121
  console.warn('[opentabs:side-panel] Failed to send confirmation response:', err);
110
122
  });
111
123
  };
112
- export { getConnectionState, fetchConfigState, matchesTool, setToolEnabled, setAllToolsEnabled, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
124
+ export { getConnectionState, fetchConfigState, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
113
125
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ const DisconnectedState = ({ reason }) => {
34
34
  return _jsx(AuthFailedState, {});
35
35
  return _jsx(ConnectionRefusedState, {});
36
36
  };
37
- const NoPluginsState = () => (_jsx(Empty, { children: _jsxs(Empty.Content, { children: [_jsx(Empty.Title, { children: "No Plugins Installed" }), _jsx(Empty.Separator, {}), _jsx(Empty.Description, { children: "Manage plugins with:" }), _jsx("code", { className: "rounded border-2 px-3 py-2 font-mono text-sm", children: "opentabs plugin" })] }) }));
37
+ const NoPluginsState = () => (_jsx(Empty, { children: _jsxs(Empty.Content, { children: [_jsx(Empty.Title, { children: "No Plugins Installed" }), _jsx(Empty.Separator, {}), _jsx(Empty.Description, { children: "Search for plugins above or install via CLI:" }), _jsx("code", { className: "rounded border-2 px-3 py-2 font-mono text-sm", children: "opentabs plugin" })] }) }));
38
38
  const LoadingState = () => _jsx(Loader, { size: "md" });
39
39
  export { DisconnectedState, NoPluginsState, LoadingState };
40
40
  //# sourceMappingURL=EmptyStates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyStates.js","sourceRoot":"","sources":["../../../src/side-panel/components/EmptyStates.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmptyStates.js","sourceRoot":"","sources":["../../../src/side-panel/components/EmptyStates.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { PluginSearchResult } from '../bridge';
2
+ interface NpmPluginCardProps {
3
+ plugin: PluginSearchResult;
4
+ installing: boolean;
5
+ error: string | null;
6
+ onInstall: () => void;
7
+ }
8
+ declare const NpmPluginCard: {
9
+ ({ plugin, installing, error, onInstall }: NpmPluginCardProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export { NpmPluginCard };
13
+ export type { NpmPluginCardProps };
14
+ //# sourceMappingURL=NpmPluginCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NpmPluginCard.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/NpmPluginCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAUD,QAAA,MAAM,aAAa;+CAA8C,kBAAkB;;CAsClF,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PluginIcon } from './PluginIcon';
3
+ import { Alert } from './retro/Alert';
4
+ import { Badge } from './retro/Badge';
5
+ import { Button } from './retro/Button';
6
+ import { Loader } from './retro/Loader';
7
+ /**
8
+ * Derives a display name from an npm package name for use as the avatar letter.
9
+ * "@opentabs-dev/opentabs-plugin-slack" → "slack"
10
+ * "some-package" → "some-package"
11
+ */
12
+ const deriveDisplayName = (packageName) => (packageName.split('/').pop() ?? packageName).replace(/^opentabs-plugin-/, '');
13
+ const NpmPluginCard = ({ plugin, installing, error, onInstall }) => {
14
+ const displayName = deriveDisplayName(plugin.name);
15
+ return (_jsxs("div", { className: "border-border bg-card space-y-2 rounded border-2 p-3 shadow-md transition-all hover:shadow-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(PluginIcon, { pluginName: plugin.name, displayName: displayName, tabState: "closed", size: 28 }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [_jsx("span", { className: "font-head text-foreground truncate text-sm", children: displayName }), _jsx(Badge, { variant: "default", size: "sm", children: plugin.version }), plugin.isOfficial && (_jsx(Badge, { size: "sm", className: "bg-primary/20 text-primary-foreground", children: "OFFICIAL" }))] }), _jsx("span", { className: "text-muted-foreground truncate font-mono text-xs", children: plugin.author })] }), _jsx(Button, { size: "sm", variant: "default", disabled: installing, onClick: onInstall, className: "shrink-0", children: installing ? _jsx(Loader, { size: "sm" }) : 'Install' })] }), _jsx("p", { className: "text-muted-foreground line-clamp-2 text-xs", children: plugin.description }), error && (_jsx(Alert, { status: "error", className: "px-3 py-2 text-xs", children: error }))] }));
16
+ };
17
+ NpmPluginCard.displayName = 'NpmPluginCard';
18
+ export { NpmPluginCard };
19
+ //# sourceMappingURL=NpmPluginCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NpmPluginCard.js","sourceRoot":"","sources":["../../../src/side-panel/components/NpmPluginCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAUxC;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAU,EAAE,CACxD,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAEjF,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAsB,EAAE,EAAE;IACrF,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnD,OAAO,CACL,eAAK,SAAS,EAAC,+FAA+F,aAE5G,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,UAAU,IAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,GAAI,EAC7F,eAAK,SAAS,EAAC,8BAA8B,aAC3C,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,4CAA4C,YAAE,WAAW,GAAQ,EACjF,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YAC/B,MAAM,CAAC,OAAO,GACT,EACP,MAAM,CAAC,UAAU,IAAI,CACpB,KAAC,KAAK,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,uCAAuC,yBAE1D,CACT,IACG,EACN,eAAM,SAAS,EAAC,kDAAkD,YAAE,MAAM,CAAC,MAAM,GAAQ,IACrF,EACN,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAC,UAAU,YAC/F,UAAU,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,GACvC,IACL,EAGN,YAAG,SAAS,EAAC,4CAA4C,YAAE,MAAM,CAAC,WAAW,GAAK,EAGjF,KAAK,IAAI,CACR,KAAC,KAAK,IAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,mBAAmB,YAChD,KAAK,GACA,CACT,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,10 +1,14 @@
1
1
  import type { PluginState } from '../bridge.js';
2
2
  import type { Dispatch, SetStateAction } from 'react';
3
- declare const PluginCard: ({ plugin, activeTools, setPlugins, toolFilter, }: {
3
+ declare const PluginCard: ({ plugin, activeTools, setPlugins, toolFilter, onUpdate, onRemove, updatingPlugin, removingPlugin, }: {
4
4
  plugin: PluginState;
5
5
  activeTools: Set<string>;
6
6
  setPlugins: Dispatch<SetStateAction<PluginState[]>>;
7
7
  toolFilter?: string;
8
+ onUpdate?: () => void;
9
+ onRemove?: () => void;
10
+ updatingPlugin?: boolean;
11
+ removingPlugin?: boolean;
8
12
  }) => import("react/jsx-runtime").JSX.Element;
9
13
  export { PluginCard };
10
14
  //# sourceMappingURL=PluginCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginCard.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginCard.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,QAAA,MAAM,UAAU,GAAI,kDAKjB;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,4CAsIA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"PluginCard.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginCard.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,QAAA,MAAM,UAAU,GAAI,sGASjB;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,4CAgJA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { PluginIcon } from './PluginIcon.js';
3
+ import { PluginMenu } from './PluginMenu.js';
3
4
  import { Accordion } from './retro/Accordion.js';
4
5
  import { Alert } from './retro/Alert.js';
5
6
  import { Badge } from './retro/Badge.js';
@@ -12,7 +13,7 @@ import { ERROR_DISPLAY_DURATION_MS } from '../constants.js';
12
13
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
13
14
  import { ChevronDown } from 'lucide-react';
14
15
  import { useState, useEffect, useRef } from 'react';
15
- const PluginCard = ({ plugin, activeTools, setPlugins, toolFilter, }) => {
16
+ const PluginCard = ({ plugin, activeTools, setPlugins, toolFilter, onUpdate, onRemove, updatingPlugin, removingPlugin, }) => {
16
17
  const [toggleError, setToggleError] = useState(null);
17
18
  const errorTimerRef = useRef(undefined);
18
19
  const toggleCounter = useRef(0);
@@ -49,7 +50,7 @@ const PluginCard = ({ plugin, activeTools, setPlugins, toolFilter, }) => {
49
50
  };
50
51
  const filterLower = toolFilter?.toLowerCase() ?? '';
51
52
  const visibleTools = filterLower ? plugin.tools.filter(t => matchesTool(t, filterLower)) : plugin.tools;
52
- return (_jsxs(Accordion.Item, { value: plugin.name, children: [_jsxs(AccordionPrimitive.Header, { className: "flex", children: [_jsxs(AccordionPrimitive.Trigger, { className: "font-head flex flex-1 cursor-pointer items-center gap-2 px-3 py-2 focus:outline-hidden [&[data-state=open]>svg]:rotate-180", children: [_jsxs(Tooltip, { children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx("div", { children: _jsx(PluginIcon, { pluginName: plugin.name, displayName: plugin.displayName, tabState: plugin.tabState, hasUpdate: !!plugin.update, size: 32, iconSvg: plugin.iconSvg, iconInactiveSvg: plugin.iconInactiveSvg }) }) }), _jsxs(Tooltip.Content, { children: ["v", plugin.version, " \u00B7 ", plugin.trustTier, plugin.update && _jsxs(_Fragment, { children: [" \u00B7 Update: ", plugin.update.latestVersion] })] })] }), _jsxs("div", { className: "font-head text-foreground flex min-w-0 flex-1 items-center gap-1.5 truncate text-sm", children: [plugin.displayName, plugin.source === 'local' && (_jsx(Badge, { variant: "default", size: "sm", className: "align-middle", children: "DEV" })), !plugin.sdkVersion && (_jsxs(Tooltip, { children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx(Badge, { variant: "outline", size: "sm", className: "border-accent bg-accent/10 text-accent-foreground align-middle", children: "SDK" }) }), _jsx(Tooltip.Content, { children: "SDK version mismatch \u2014 rebuild plugin" })] }))] }), _jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })] }), _jsx("div", { className: "flex shrink-0 items-center px-3", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => {
53
+ return (_jsxs(Accordion.Item, { value: plugin.name, className: removingPlugin ? 'pointer-events-none opacity-60 transition-opacity' : undefined, children: [_jsxs(AccordionPrimitive.Header, { className: "flex", children: [_jsxs(AccordionPrimitive.Trigger, { className: "font-head flex flex-1 cursor-pointer items-center gap-2 px-3 py-2 focus:outline-hidden [&[data-state=open]>svg]:rotate-180", children: [_jsxs(Tooltip, { children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx("div", { children: _jsx(PluginIcon, { pluginName: plugin.name, displayName: plugin.displayName, tabState: plugin.tabState, hasUpdate: !!plugin.update, size: 32, iconSvg: plugin.iconSvg, iconInactiveSvg: plugin.iconInactiveSvg }) }) }), _jsxs(Tooltip.Content, { children: ["v", plugin.version, " \u00B7 ", plugin.trustTier, plugin.update && _jsxs(_Fragment, { children: [" \u00B7 Update: ", plugin.update.latestVersion] })] })] }), _jsxs("div", { className: "font-head text-foreground flex min-w-0 flex-1 items-center gap-1.5 truncate text-sm", children: [plugin.displayName, plugin.source === 'local' && (_jsx(Badge, { variant: "default", size: "sm", className: "align-middle", children: "DEV" })), !plugin.sdkVersion && (_jsxs(Tooltip, { children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx(Badge, { variant: "outline", size: "sm", className: "border-accent bg-accent/10 text-accent-foreground align-middle", children: "SDK" }) }), _jsx(Tooltip.Content, { children: "SDK version mismatch \u2014 rebuild plugin" })] }))] }), _jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })] }), _jsx(PluginMenu, { plugin: plugin, onUpdate: onUpdate ?? (() => undefined), onRemove: onRemove ?? (() => undefined), updating: updatingPlugin ?? false, removing: removingPlugin ?? false, className: "flex shrink-0 items-center px-1" }), _jsx("div", { className: "flex shrink-0 items-center px-3", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => {
53
54
  if (e.key === 'Enter' || e.key === ' ')
54
55
  e.stopPropagation();
55
56
  }, role: "presentation", children: _jsx(Switch, { checked: allEnabled, onCheckedChange: handleToggleAll, "aria-label": `Toggle all tools for ${plugin.name}` }) })] }), toggleError && (_jsx(Alert, { status: "error", className: "mx-3 mb-1 px-2 py-1 text-[11px]", children: toggleError })), _jsxs(Accordion.Content, { className: "border-border border-t", children: [toolFilter && (_jsxs("div", { className: "text-muted-foreground mb-1 px-3 pt-2 text-xs", children: [visibleTools.length, " of ", plugin.tools.length, " tools"] })), visibleTools.map(tool => (_jsx(ToolRow, { name: tool.name, displayName: tool.displayName, description: tool.description, icon: tool.icon, enabled: tool.enabled, active: activeTools.has(`${plugin.name}:${tool.name}`), onToggle: () => handleToggleTool(tool.name, tool.enabled) }, tool.name)))] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"PluginCard.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginCard.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginCard.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import type { FailedPluginState, PluginState } from '../bridge.js';
2
2
  import type { Dispatch, SetStateAction } from 'react';
3
- declare const PluginList: ({ plugins, failedPlugins, activeTools, setPlugins, toolFilter, }: {
3
+ declare const PluginList: ({ plugins, failedPlugins, activeTools, setPlugins, toolFilter, onUpdate, onRemove, removingPlugins, }: {
4
4
  plugins: PluginState[];
5
5
  failedPlugins: FailedPluginState[];
6
6
  activeTools: Set<string>;
7
7
  setPlugins: Dispatch<SetStateAction<PluginState[]>>;
8
8
  toolFilter: string;
9
+ onUpdate?: (pluginName: string) => void;
10
+ onRemove?: (pluginName: string) => void;
11
+ removingPlugins?: Set<string>;
9
12
  }) => import("react/jsx-runtime").JSX.Element;
10
13
  export { PluginList };
11
14
  //# sourceMappingURL=PluginList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,QAAA,MAAM,UAAU,GAAI,kEAMjB;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB,4CAoCA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,QAAA,MAAM,UAAU,GAAI,uGASjB;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B,4CAuCA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -3,7 +3,7 @@ import { FailedPluginCard } from './FailedPluginCard.js';
3
3
  import { PluginCard } from './PluginCard.js';
4
4
  import { Accordion } from './retro/Accordion.js';
5
5
  import { matchesTool } from '../bridge.js';
6
- const PluginList = ({ plugins, failedPlugins, activeTools, setPlugins, toolFilter, }) => {
6
+ const PluginList = ({ plugins, failedPlugins, activeTools, setPlugins, toolFilter, onUpdate, onRemove, removingPlugins, }) => {
7
7
  const filterLower = toolFilter.toLowerCase();
8
8
  const visiblePlugins = filterLower ? plugins.filter(p => p.tools.some(t => matchesTool(t, filterLower))) : plugins;
9
9
  // Hide failed plugins when filtering tools
@@ -11,7 +11,7 @@ const PluginList = ({ plugins, failedPlugins, activeTools, setPlugins, toolFilte
11
11
  if (filterLower && visiblePlugins.length === 0) {
12
12
  return (_jsxs("div", { className: "text-muted-foreground py-8 text-center text-sm", children: ["No tools matching \u201C", toolFilter, "\u201D"] }));
13
13
  }
14
- return (_jsxs(_Fragment, { children: [visibleFailed.length > 0 && (_jsx("div", { className: "mb-3 space-y-2", children: visibleFailed.map(fp => (_jsx(FailedPluginCard, { plugin: fp }, fp.specifier))) })), _jsx(Accordion, { type: "multiple", className: "space-y-2", children: visiblePlugins.map(plugin => (_jsx(PluginCard, { plugin: plugin, activeTools: activeTools, setPlugins: setPlugins, toolFilter: toolFilter }, plugin.name))) })] }));
14
+ return (_jsxs(_Fragment, { children: [visibleFailed.length > 0 && (_jsx("div", { className: "mb-3 space-y-2", children: visibleFailed.map(fp => (_jsx(FailedPluginCard, { plugin: fp }, fp.specifier))) })), _jsx(Accordion, { type: "multiple", className: "space-y-2", children: visiblePlugins.map(plugin => (_jsx(PluginCard, { plugin: plugin, activeTools: activeTools, setPlugins: setPlugins, toolFilter: toolFilter, onUpdate: onUpdate ? () => onUpdate(plugin.name) : undefined, onRemove: onRemove ? () => onRemove(plugin.name) : undefined, removingPlugin: removingPlugins?.has(plugin.name) }, plugin.name))) })] }));
15
15
  };
16
16
  export { PluginList };
17
17
  //# sourceMappingURL=PluginList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,GAOX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEnH,2CAA2C;IAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvD,IAAI,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CACL,eAAK,SAAS,EAAC,gDAAgD,yCAA2B,UAAU,cAAc,CACnH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,gBAAgB,YAC5B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CACvB,KAAC,gBAAgB,IAAoB,MAAM,EAAE,EAAE,IAAxB,EAAE,CAAC,SAAS,CAAgB,CACpD,CAAC,GACE,CACP,EACD,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,YAC7C,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5B,KAAC,UAAU,IAET,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,IAJjB,MAAM,CAAC,IAAI,CAKhB,CACH,CAAC,GACQ,IACX,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"PluginList.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,GAUhB,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEnH,2CAA2C;IAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvD,IAAI,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CACL,eAAK,SAAS,EAAC,gDAAgD,yCAA2B,UAAU,cAAc,CACnH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,gBAAgB,YAC5B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CACvB,KAAC,gBAAgB,IAAoB,MAAM,EAAE,EAAE,IAAxB,EAAE,CAAC,SAAS,CAAgB,CACpD,CAAC,GACE,CACP,EACD,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,WAAW,YAC7C,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5B,KAAC,UAAU,IAET,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC5D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC5D,cAAc,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAP5C,MAAM,CAAC,IAAI,CAQhB,CACH,CAAC,GACQ,IACX,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { PluginState } from '../bridge';
2
+ interface PluginMenuProps {
3
+ plugin: PluginState;
4
+ onUpdate: () => void;
5
+ onRemove: () => void;
6
+ updating: boolean;
7
+ removing: boolean;
8
+ className?: string;
9
+ }
10
+ declare const PluginMenu: {
11
+ ({ plugin, onUpdate, onRemove, updating, removing, className }: PluginMenuProps): import("react/jsx-runtime").JSX.Element | null;
12
+ displayName: string;
13
+ };
14
+ export { PluginMenu };
15
+ export type { PluginMenuProps };
16
+ //# sourceMappingURL=PluginMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMenu.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,UAAU,eAAe;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,UAAU;oEAAmE,eAAe;;CAqDjG,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Loader } from './retro/Loader';
3
+ import { Menu } from './retro/Menu';
4
+ import { MoreHorizontal } from 'lucide-react';
5
+ import { useEffect, useRef, useState } from 'react';
6
+ const CONFIRM_DURATION_MS = 3000;
7
+ const PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className }) => {
8
+ const [confirmPending, setConfirmPending] = useState(false);
9
+ const confirmTimerRef = useRef(undefined);
10
+ useEffect(() => () => clearTimeout(confirmTimerRef.current), []);
11
+ if (plugin.source === 'local')
12
+ return null;
13
+ const handleUninstallClick = () => {
14
+ if (confirmPending) {
15
+ clearTimeout(confirmTimerRef.current);
16
+ setConfirmPending(false);
17
+ onRemove();
18
+ }
19
+ else {
20
+ setConfirmPending(true);
21
+ confirmTimerRef.current = setTimeout(() => setConfirmPending(false), CONFIRM_DURATION_MS);
22
+ }
23
+ };
24
+ return (_jsx("div", { className: className, onClick: e => e.stopPropagation(), onKeyDown: e => {
25
+ if (e.key === 'Enter' || e.key === ' ')
26
+ e.stopPropagation();
27
+ }, role: "presentation", children: _jsxs(Menu, { children: [_jsx(Menu.Trigger, { asChild: true, children: _jsx("button", { className: "hover:bg-muted/50 flex h-6 w-6 items-center justify-center rounded", "aria-label": "Plugin options", children: _jsx(MoreHorizontal, { className: "h-4 w-4" }) }) }), _jsxs(Menu.Content, { align: "end", children: [plugin.update && (_jsxs(Menu.Item, { onClick: onUpdate, className: "flex items-center gap-2", children: [updating && _jsx(Loader, { size: "sm" }), "Update to v", plugin.update.latestVersion] })), plugin.update && _jsx(Menu.Separator, {}), _jsxs(Menu.Item, { onClick: handleUninstallClick, className: "text-destructive hover:text-destructive data-[highlighted]:text-destructive flex items-center gap-2", children: [removing && _jsx(Loader, { size: "sm" }), confirmPending ? 'Confirm?' : 'Uninstall'] })] })] }) }));
28
+ };
29
+ PluginMenu.displayName = 'PluginMenu';
30
+ export { PluginMenu };
31
+ //# sourceMappingURL=PluginMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMenu.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGpD,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAWjC,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAmB,EAAE,EAAE;IACpG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACjC,SAAS,EAAE,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QAC9D,CAAC,EACD,IAAI,EAAC,cAAc,YACnB,MAAC,IAAI,eACH,KAAC,IAAI,CAAC,OAAO,IAAC,OAAO,kBACnB,iBACE,SAAS,EAAC,oEAAoE,gBACnE,gBAAgB,YAC3B,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,GAAG,GAC/B,GACI,EACf,MAAC,IAAI,CAAC,OAAO,IAAC,KAAK,EAAC,KAAK,aACtB,MAAM,CAAC,MAAM,IAAI,CAChB,MAAC,IAAI,CAAC,IAAI,IAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAC,yBAAyB,aAC9D,QAAQ,IAAI,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,iBACrB,MAAM,CAAC,MAAM,CAAC,aAAa,IAC7B,CACb,EACA,MAAM,CAAC,MAAM,IAAI,KAAC,IAAI,CAAC,SAAS,KAAG,EACpC,MAAC,IAAI,CAAC,IAAI,IACR,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAC,qGAAqG,aAC9G,QAAQ,IAAI,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,EAChC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,IAChC,IACC,IACV,GACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,CAAC"}