@opentabs-dev/browser-extension 0.0.62 → 0.0.63
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.
- package/dist/background-message-handlers.d.ts.map +1 -1
- package/dist/background-message-handlers.js +8 -2
- package/dist/background-message-handlers.js.map +1 -1
- package/dist/background.js +10 -69
- package/dist/extension-messages.d.ts +2 -0
- package/dist/extension-messages.d.ts.map +1 -1
- package/dist/message-router.d.ts.map +1 -1
- package/dist/message-router.js +2 -0
- package/dist/message-router.js.map +1 -1
- package/dist/offscreen/index.js +1 -1
- package/dist/offscreen/index.js.map +1 -1
- package/dist/side-panel/App.d.ts.map +1 -1
- package/dist/side-panel/App.js +3 -4
- package/dist/side-panel/App.js.map +1 -1
- package/dist/side-panel/bridge.d.ts +2 -2
- package/dist/side-panel/bridge.d.ts.map +1 -1
- package/dist/side-panel/bridge.js +7 -2
- package/dist/side-panel/bridge.js.map +1 -1
- package/dist/side-panel/components/BrowserToolsCard.d.ts +1 -2
- package/dist/side-panel/components/BrowserToolsCard.d.ts.map +1 -1
- package/dist/side-panel/components/BrowserToolsCard.js +4 -4
- package/dist/side-panel/components/BrowserToolsCard.js.map +1 -1
- package/dist/side-panel/components/PluginCard.d.ts +2 -2
- package/dist/side-panel/components/PluginCard.d.ts.map +1 -1
- package/dist/side-panel/components/PluginCard.js +31 -8
- package/dist/side-panel/components/PluginCard.js.map +1 -1
- package/dist/side-panel/components/PluginList.d.ts +2 -3
- package/dist/side-panel/components/PluginList.d.ts.map +1 -1
- package/dist/side-panel/components/PluginList.js +100 -2
- package/dist/side-panel/components/PluginList.js.map +1 -1
- package/dist/side-panel/components/SearchResults.d.ts +1 -2
- package/dist/side-panel/components/SearchResults.d.ts.map +1 -1
- package/dist/side-panel/components/SearchResults.js +2 -2
- package/dist/side-panel/components/SearchResults.js.map +1 -1
- package/dist/side-panel/group-transitions.d.ts +55 -0
- package/dist/side-panel/group-transitions.d.ts.map +1 -0
- package/dist/side-panel/group-transitions.js +84 -0
- package/dist/side-panel/group-transitions.js.map +1 -0
- package/dist/side-panel/side-panel.js +805 -486
- package/dist/side-panel/styles.css +1 -1
- package/manifest.json +1 -1
- package/package.json +2 -2
|
@@ -1,58 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev reload client for the side panel.
|
|
3
|
-
*
|
|
4
|
-
* Connects to the dev reload WebSocket relay server and refreshes the
|
|
5
|
-
* page when a matching DO_UPDATE signal is received. Responds to both
|
|
6
|
-
* 'side-panel' (UI-only change) and 'extension' (full reload — the
|
|
7
|
-
* background script will also trigger chrome.runtime.reload(), but
|
|
8
|
-
* refreshing the side panel first is harmless and can feel faster).
|
|
9
|
-
*
|
|
10
|
-
* This file is plain JS (not TypeScript) because it is read at build
|
|
11
|
-
* time and prepended to the side panel bundle via esbuild's banner
|
|
12
|
-
* option. The 18515 placeholder is replaced by string
|
|
13
|
-
* substitution in the build script with the actual port number.
|
|
14
|
-
*/
|
|
15
|
-
(() => {
|
|
16
|
-
const port = 18515;
|
|
17
|
-
const url = `ws://localhost:${port}`;
|
|
18
|
-
const prefix = '[dev-reload]';
|
|
19
|
-
let backoff = 500;
|
|
20
|
-
const maxBackoff = 10000;
|
|
21
|
-
|
|
22
|
-
const connect = () => {
|
|
23
|
-
const ws = new WebSocket(url);
|
|
24
|
-
|
|
25
|
-
ws.onopen = () => {
|
|
26
|
-
console.log(prefix, 'Connected to', url);
|
|
27
|
-
backoff = 500;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
ws.onmessage = event => {
|
|
31
|
-
try {
|
|
32
|
-
const msg = JSON.parse(event.data);
|
|
33
|
-
if (msg.type === 'do_update' && (msg.id === 'side-panel' || msg.id === 'extension')) {
|
|
34
|
-
console.log(prefix, `Reloading side panel (${msg.id})`);
|
|
35
|
-
window.location.reload();
|
|
36
|
-
}
|
|
37
|
-
} catch (_) {
|
|
38
|
-
// Ignore malformed messages
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
ws.onclose = () => {
|
|
43
|
-
console.log(prefix, 'Disconnected — reconnecting in', `${backoff}ms`);
|
|
44
|
-
setTimeout(connect, backoff);
|
|
45
|
-
backoff = Math.min(backoff * 2, maxBackoff);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
ws.onerror = () => {
|
|
49
|
-
// onclose fires after onerror, so reconnect logic is handled there
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
connect();
|
|
54
|
-
})();
|
|
55
|
-
|
|
56
1
|
var __create = Object.create;
|
|
57
2
|
var __defProp = Object.defineProperty;
|
|
58
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -58504,7 +58449,7 @@ var require_jsx_runtime = __commonJS({
|
|
|
58504
58449
|
});
|
|
58505
58450
|
|
|
58506
58451
|
// src/side-panel/index.tsx
|
|
58507
|
-
var
|
|
58452
|
+
var import_react25 = __toESM(require_react(), 1);
|
|
58508
58453
|
var import_client = __toESM(require_client(), 1);
|
|
58509
58454
|
|
|
58510
58455
|
// src/side-panel/App.tsx
|
|
@@ -58756,6 +58701,7 @@ var BROWSER_TOOLS_CATALOG = [{
|
|
|
58756
58701
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
58757
58702
|
init_circle_arrow_up();
|
|
58758
58703
|
init_ellipsis();
|
|
58704
|
+
init_shield_question_mark();
|
|
58759
58705
|
init_triangle_alert();
|
|
58760
58706
|
init_check();
|
|
58761
58707
|
init_chevron_down();
|
|
@@ -58764,6 +58710,7 @@ init_ghost();
|
|
|
58764
58710
|
init_moon();
|
|
58765
58711
|
init_search();
|
|
58766
58712
|
init_server();
|
|
58713
|
+
init_shield_off();
|
|
58767
58714
|
init_sun();
|
|
58768
58715
|
init_trash_2();
|
|
58769
58716
|
init_wrench();
|
|
@@ -61435,7 +61382,7 @@ var q2 = (l2, o2) => {
|
|
|
61435
61382
|
var g2 = (0, import_react3.forwardRef)(q2);
|
|
61436
61383
|
|
|
61437
61384
|
// src/side-panel/App.tsx
|
|
61438
|
-
var
|
|
61385
|
+
var import_react23 = __toESM(require_react(), 1);
|
|
61439
61386
|
|
|
61440
61387
|
// src/side-panel/bridge.ts
|
|
61441
61388
|
var matchesTool = (tool, filterLower) => tool.displayName.toLowerCase().includes(filterLower) || tool.name.toLowerCase().includes(filterLower) || tool.description.toLowerCase().includes(filterLower);
|
|
@@ -61463,10 +61410,13 @@ var setToolPermission = (plugin, tool, permission) => sendBgMessage({
|
|
|
61463
61410
|
tool,
|
|
61464
61411
|
permission
|
|
61465
61412
|
});
|
|
61466
|
-
var setPluginPermission = (plugin, permission) => sendBgMessage({
|
|
61413
|
+
var setPluginPermission = (plugin, permission, reviewedVersion) => sendBgMessage({
|
|
61467
61414
|
type: "bg:setPluginPermission",
|
|
61468
61415
|
plugin,
|
|
61469
|
-
permission
|
|
61416
|
+
permission,
|
|
61417
|
+
...reviewedVersion ? {
|
|
61418
|
+
reviewedVersion
|
|
61419
|
+
} : {}
|
|
61470
61420
|
});
|
|
61471
61421
|
var searchPlugins = (query) => sendBgMessage({
|
|
61472
61422
|
type: "bg:searchPlugins",
|
|
@@ -76399,7 +76349,7 @@ var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
|
|
|
76399
76349
|
var CHROME_ICON_SVG = ['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">', "<defs>", '<linearGradient id="chrome-a" x1="3.2173" y1="15" x2="44.7812" y2="15" gradientUnits="userSpaceOnUse">', '<stop offset="0" stop-color="#d93025"/><stop offset="1" stop-color="#ea4335"/>', "</linearGradient>", '<linearGradient id="chrome-b" x1="20.7219" y1="47.6791" x2="41.5039" y2="11.6837" gradientUnits="userSpaceOnUse">', '<stop offset="0" stop-color="#fcc934"/><stop offset="1" stop-color="#fbbc04"/>', "</linearGradient>", '<linearGradient id="chrome-c" x1="26.5981" y1="46.5015" x2="5.8161" y2="10.506" gradientUnits="userSpaceOnUse">', '<stop offset="0" stop-color="#1e8e3e"/><stop offset="1" stop-color="#34a853"/>', "</linearGradient>", "</defs>", '<circle cx="24" cy="23.9947" r="12" fill="#fff"/>', '<path d="M3.2154,36A24,24,0,1,0,12,3.2154,24,24,0,0,0,3.2154,36ZM34.3923,18A12,12,0,1,1,18,13.6077,12,12,0,0,1,34.3923,18Z" fill="none"/>', '<path d="M24,12H44.7812a23.9939,23.9939,0,0,0-41.5639.0029L13.6079,30l.0093-.0024A11.9852,11.9852,0,0,1,24,12Z" fill="url(#chrome-a)"/>', '<circle cx="24" cy="24" r="9.5" fill="#1a73e8"/>', '<path d="M34.3913,30.0029,24.0007,48A23.994,23.994,0,0,0,44.78,12.0031H23.9989l-.0025.0093A11.985,11.985,0,0,1,34.3913,30.0029Z" fill="url(#chrome-b)"/>', '<path d="M13.6086,30.0031,3.218,12.006A23.994,23.994,0,0,0,24.0025,48L34.3931,30.0029l-.0067-.0068a11.9852,11.9852,0,0,1-20.7778.007Z" fill="url(#chrome-c)"/>', "</svg>"].join("");
|
|
76400
76350
|
var toDisplayName = (name) => name.replace(/^browser_/, "").split("_").map((w3) => w3.charAt(0).toUpperCase() + w3.slice(1)).join(" ");
|
|
76401
76351
|
var BrowserToolsCard = (t0) => {
|
|
76402
|
-
const $2 = (0, import_compiler_runtime12.c)(
|
|
76352
|
+
const $2 = (0, import_compiler_runtime12.c)(58);
|
|
76403
76353
|
const {
|
|
76404
76354
|
tools,
|
|
76405
76355
|
activeTools,
|
|
@@ -76407,8 +76357,7 @@ var BrowserToolsCard = (t0) => {
|
|
|
76407
76357
|
toolFilter,
|
|
76408
76358
|
serverVersion,
|
|
76409
76359
|
browserPermission: t1,
|
|
76410
|
-
onBrowserPermissionChange
|
|
76411
|
-
skipPermissions
|
|
76360
|
+
onBrowserPermissionChange
|
|
76412
76361
|
} = t0;
|
|
76413
76362
|
const browserPermission = t1 === void 0 ? "off" : t1;
|
|
76414
76363
|
const [toggleError, setToggleError] = (0, import_react12.useState)(null);
|
|
@@ -76499,25 +76448,25 @@ var BrowserToolsCard = (t0) => {
|
|
|
76499
76448
|
let t13;
|
|
76500
76449
|
let t8;
|
|
76501
76450
|
let t9;
|
|
76502
|
-
if ($2[9] !== activeTools || $2[10] !== browserPermission || $2[11] !== handleBrowserPermissionChange || $2[12] !== handleToolPermissionChange || $2[13] !== serverVersion || $2[14] !==
|
|
76451
|
+
if ($2[9] !== activeTools || $2[10] !== browserPermission || $2[11] !== handleBrowserPermissionChange || $2[12] !== handleToolPermissionChange || $2[13] !== serverVersion || $2[14] !== toggleError || $2[15] !== toolFilter || $2[16] !== tools) {
|
|
76503
76452
|
const filterLower = toolFilter?.toLowerCase() ?? "";
|
|
76504
76453
|
const visibleTools = filterLower ? tools.filter((t_0) => toDisplayName(t_0.name).toLowerCase().includes(filterLower) || t_0.name.toLowerCase().includes(filterLower) || t_0.description.toLowerCase().includes(filterLower)) : tools;
|
|
76505
76454
|
let t142;
|
|
76506
|
-
if ($2[
|
|
76455
|
+
if ($2[25] !== activeTools || $2[26] !== tools) {
|
|
76507
76456
|
let t153;
|
|
76508
|
-
if ($2[
|
|
76457
|
+
if ($2[28] !== activeTools) {
|
|
76509
76458
|
t153 = (t_1) => activeTools.has(`browser:${t_1.name}`);
|
|
76510
|
-
$2[
|
|
76511
|
-
$2[
|
|
76459
|
+
$2[28] = activeTools;
|
|
76460
|
+
$2[29] = t153;
|
|
76512
76461
|
} else {
|
|
76513
|
-
t153 = $2[
|
|
76462
|
+
t153 = $2[29];
|
|
76514
76463
|
}
|
|
76515
76464
|
t142 = tools.some(t153);
|
|
76516
|
-
$2[
|
|
76517
|
-
$2[
|
|
76518
|
-
$2[
|
|
76465
|
+
$2[25] = activeTools;
|
|
76466
|
+
$2[26] = tools;
|
|
76467
|
+
$2[27] = t142;
|
|
76519
76468
|
} else {
|
|
76520
|
-
t142 = $2[
|
|
76469
|
+
t142 = $2[27];
|
|
76521
76470
|
}
|
|
76522
76471
|
const hasActiveTool = t142;
|
|
76523
76472
|
const hasAnyGroup = visibleTools.some(_temp4);
|
|
@@ -76551,7 +76500,7 @@ var BrowserToolsCard = (t0) => {
|
|
|
76551
76500
|
T1 = AccordionComponent.Item;
|
|
76552
76501
|
t11 = "browser-tools";
|
|
76553
76502
|
let t152;
|
|
76554
|
-
if ($2[
|
|
76503
|
+
if ($2[30] !== hasActiveTool) {
|
|
76555
76504
|
t152 = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PluginIcon, {
|
|
76556
76505
|
pluginName: "browser",
|
|
76557
76506
|
displayName: "Browser",
|
|
@@ -76561,14 +76510,14 @@ var BrowserToolsCard = (t0) => {
|
|
|
76561
76510
|
iconInactiveSvg: CHROME_ICON_SVG,
|
|
76562
76511
|
active: hasActiveTool
|
|
76563
76512
|
});
|
|
76564
|
-
$2[
|
|
76565
|
-
$2[
|
|
76513
|
+
$2[30] = hasActiveTool;
|
|
76514
|
+
$2[31] = t152;
|
|
76566
76515
|
} else {
|
|
76567
|
-
t152 = $2[
|
|
76516
|
+
t152 = $2[31];
|
|
76568
76517
|
}
|
|
76569
76518
|
let t16;
|
|
76570
76519
|
let t17;
|
|
76571
|
-
if ($2[
|
|
76520
|
+
if ($2[32] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
76572
76521
|
t16 = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", {
|
|
76573
76522
|
className: "flex min-w-0 flex-1 items-center gap-1.5 truncate font-head text-foreground text-sm",
|
|
76574
76523
|
children: ["Browser", /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Badge2, {
|
|
@@ -76581,75 +76530,73 @@ var BrowserToolsCard = (t0) => {
|
|
|
76581
76530
|
t17 = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronDown, {
|
|
76582
76531
|
className: "chevron h-4 w-4 shrink-0 transition-transform duration-200"
|
|
76583
76532
|
});
|
|
76584
|
-
$2[
|
|
76585
|
-
$2[
|
|
76533
|
+
$2[32] = t16;
|
|
76534
|
+
$2[33] = t17;
|
|
76586
76535
|
} else {
|
|
76587
|
-
t16 = $2[
|
|
76588
|
-
t17 = $2[
|
|
76536
|
+
t16 = $2[32];
|
|
76537
|
+
t17 = $2[33];
|
|
76589
76538
|
}
|
|
76590
76539
|
let t18;
|
|
76591
|
-
if ($2[
|
|
76540
|
+
if ($2[34] !== t152) {
|
|
76592
76541
|
t18 = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Trigger2, {
|
|
76593
76542
|
className: "flex min-w-0 flex-1 cursor-pointer items-center gap-2 px-3 py-2 focus:outline-hidden [&[data-state=open]>svg.chevron]:rotate-180",
|
|
76594
76543
|
children: [t152, t16, t17]
|
|
76595
76544
|
});
|
|
76596
|
-
$2[
|
|
76597
|
-
$2[
|
|
76545
|
+
$2[34] = t152;
|
|
76546
|
+
$2[35] = t18;
|
|
76598
76547
|
} else {
|
|
76599
|
-
t18 = $2[
|
|
76548
|
+
t18 = $2[35];
|
|
76600
76549
|
}
|
|
76601
76550
|
let t19;
|
|
76602
|
-
if ($2[
|
|
76551
|
+
if ($2[36] !== serverVersion) {
|
|
76603
76552
|
t19 = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(BrowserToolsMenu, {
|
|
76604
76553
|
serverVersion,
|
|
76605
76554
|
className: "flex shrink-0 items-center px-1"
|
|
76606
76555
|
});
|
|
76607
|
-
$2[
|
|
76608
|
-
$2[
|
|
76556
|
+
$2[36] = serverVersion;
|
|
76557
|
+
$2[37] = t19;
|
|
76609
76558
|
} else {
|
|
76610
|
-
t19 = $2[
|
|
76559
|
+
t19 = $2[37];
|
|
76611
76560
|
}
|
|
76612
|
-
|
|
76613
|
-
|
|
76614
|
-
|
|
76615
|
-
t21 = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", {
|
|
76561
|
+
let t20;
|
|
76562
|
+
if ($2[38] !== browserPermission || $2[39] !== handleBrowserPermissionChange) {
|
|
76563
|
+
t20 = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", {
|
|
76616
76564
|
className: "flex shrink-0 items-center px-3",
|
|
76617
76565
|
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PermissionSelect, {
|
|
76618
76566
|
value: browserPermission,
|
|
76619
76567
|
onValueChange: handleBrowserPermissionChange,
|
|
76620
|
-
disabled:
|
|
76568
|
+
disabled: false,
|
|
76621
76569
|
ariaLabel: "Permission for browser tools"
|
|
76622
76570
|
})
|
|
76623
76571
|
});
|
|
76624
|
-
$2[
|
|
76625
|
-
$2[
|
|
76626
|
-
$2[
|
|
76627
|
-
$2[42] = t21;
|
|
76572
|
+
$2[38] = browserPermission;
|
|
76573
|
+
$2[39] = handleBrowserPermissionChange;
|
|
76574
|
+
$2[40] = t20;
|
|
76628
76575
|
} else {
|
|
76629
|
-
|
|
76576
|
+
t20 = $2[40];
|
|
76630
76577
|
}
|
|
76631
|
-
if ($2[
|
|
76578
|
+
if ($2[41] !== t18 || $2[42] !== t19 || $2[43] !== t20) {
|
|
76632
76579
|
t12 = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Header, {
|
|
76633
76580
|
className: "flex",
|
|
76634
|
-
children: [t18, t19,
|
|
76581
|
+
children: [t18, t19, t20]
|
|
76635
76582
|
});
|
|
76636
|
-
$2[
|
|
76637
|
-
$2[
|
|
76638
|
-
$2[
|
|
76639
|
-
$2[
|
|
76583
|
+
$2[41] = t18;
|
|
76584
|
+
$2[42] = t19;
|
|
76585
|
+
$2[43] = t20;
|
|
76586
|
+
$2[44] = t12;
|
|
76640
76587
|
} else {
|
|
76641
|
-
t12 = $2[
|
|
76588
|
+
t12 = $2[44];
|
|
76642
76589
|
}
|
|
76643
|
-
if ($2[
|
|
76590
|
+
if ($2[45] !== toggleError) {
|
|
76644
76591
|
t13 = toggleError && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AlertComponent, {
|
|
76645
76592
|
status: "error",
|
|
76646
76593
|
className: "mx-3 mb-1 px-2 py-1 text-xs",
|
|
76647
76594
|
children: toggleError
|
|
76648
76595
|
});
|
|
76649
|
-
$2[
|
|
76650
|
-
$2[
|
|
76596
|
+
$2[45] = toggleError;
|
|
76597
|
+
$2[46] = t13;
|
|
76651
76598
|
} else {
|
|
76652
|
-
t13 = $2[
|
|
76599
|
+
t13 = $2[46];
|
|
76653
76600
|
}
|
|
76654
76601
|
T0 = AccordionComponent.Content;
|
|
76655
76602
|
t8 = "border-border border-t";
|
|
@@ -76672,7 +76619,6 @@ var BrowserToolsCard = (t0) => {
|
|
|
76672
76619
|
icon: tool_0.icon ?? "globe",
|
|
76673
76620
|
permission: tool_0.permission,
|
|
76674
76621
|
active: activeTools.has(`browser:${tool_0.name}`),
|
|
76675
|
-
disabled: skipPermissions,
|
|
76676
76622
|
onPermissionChange: handleToolPermissionChange
|
|
76677
76623
|
}, tool_0.name))]
|
|
76678
76624
|
}, group.name)) : visibleTools.map((tool_1) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ToolRow, {
|
|
@@ -76683,7 +76629,6 @@ var BrowserToolsCard = (t0) => {
|
|
|
76683
76629
|
icon: tool_1.icon ?? "globe",
|
|
76684
76630
|
permission: tool_1.permission,
|
|
76685
76631
|
active: activeTools.has(`browser:${tool_1.name}`),
|
|
76686
|
-
disabled: skipPermissions,
|
|
76687
76632
|
onPermissionChange: handleToolPermissionChange
|
|
76688
76633
|
}, tool_1.name));
|
|
76689
76634
|
$2[9] = activeTools;
|
|
@@ -76691,56 +76636,55 @@ var BrowserToolsCard = (t0) => {
|
|
|
76691
76636
|
$2[11] = handleBrowserPermissionChange;
|
|
76692
76637
|
$2[12] = handleToolPermissionChange;
|
|
76693
76638
|
$2[13] = serverVersion;
|
|
76694
|
-
$2[14] =
|
|
76695
|
-
$2[15] =
|
|
76696
|
-
$2[16] =
|
|
76697
|
-
$2[17] =
|
|
76698
|
-
$2[18] =
|
|
76699
|
-
$2[19] =
|
|
76700
|
-
$2[20] =
|
|
76701
|
-
$2[21] =
|
|
76702
|
-
$2[22] =
|
|
76703
|
-
$2[23] =
|
|
76704
|
-
$2[24] =
|
|
76705
|
-
$2[25] = t9;
|
|
76639
|
+
$2[14] = toggleError;
|
|
76640
|
+
$2[15] = toolFilter;
|
|
76641
|
+
$2[16] = tools;
|
|
76642
|
+
$2[17] = T0;
|
|
76643
|
+
$2[18] = T1;
|
|
76644
|
+
$2[19] = t10;
|
|
76645
|
+
$2[20] = t11;
|
|
76646
|
+
$2[21] = t12;
|
|
76647
|
+
$2[22] = t13;
|
|
76648
|
+
$2[23] = t8;
|
|
76649
|
+
$2[24] = t9;
|
|
76706
76650
|
} else {
|
|
76707
|
-
T0 = $2[
|
|
76708
|
-
T1 = $2[
|
|
76709
|
-
t10 = $2[
|
|
76710
|
-
t11 = $2[
|
|
76711
|
-
t12 = $2[
|
|
76712
|
-
t13 = $2[
|
|
76713
|
-
t8 = $2[
|
|
76714
|
-
t9 = $2[
|
|
76651
|
+
T0 = $2[17];
|
|
76652
|
+
T1 = $2[18];
|
|
76653
|
+
t10 = $2[19];
|
|
76654
|
+
t11 = $2[20];
|
|
76655
|
+
t12 = $2[21];
|
|
76656
|
+
t13 = $2[22];
|
|
76657
|
+
t8 = $2[23];
|
|
76658
|
+
t9 = $2[24];
|
|
76715
76659
|
}
|
|
76716
76660
|
let t14;
|
|
76717
|
-
if ($2[
|
|
76661
|
+
if ($2[47] !== T0 || $2[48] !== t10 || $2[49] !== t8 || $2[50] !== t9) {
|
|
76718
76662
|
t14 = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(T0, {
|
|
76719
76663
|
className: t8,
|
|
76720
76664
|
children: [t9, t10]
|
|
76721
76665
|
});
|
|
76722
|
-
$2[
|
|
76723
|
-
$2[
|
|
76724
|
-
$2[
|
|
76725
|
-
$2[
|
|
76726
|
-
$2[
|
|
76666
|
+
$2[47] = T0;
|
|
76667
|
+
$2[48] = t10;
|
|
76668
|
+
$2[49] = t8;
|
|
76669
|
+
$2[50] = t9;
|
|
76670
|
+
$2[51] = t14;
|
|
76727
76671
|
} else {
|
|
76728
|
-
t14 = $2[
|
|
76672
|
+
t14 = $2[51];
|
|
76729
76673
|
}
|
|
76730
76674
|
let t15;
|
|
76731
|
-
if ($2[
|
|
76675
|
+
if ($2[52] !== T1 || $2[53] !== t11 || $2[54] !== t12 || $2[55] !== t13 || $2[56] !== t14) {
|
|
76732
76676
|
t15 = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(T1, {
|
|
76733
76677
|
value: t11,
|
|
76734
76678
|
children: [t12, t13, t14]
|
|
76735
76679
|
});
|
|
76736
|
-
$2[
|
|
76737
|
-
$2[
|
|
76738
|
-
$2[
|
|
76739
|
-
$2[
|
|
76740
|
-
$2[
|
|
76741
|
-
$2[
|
|
76680
|
+
$2[52] = T1;
|
|
76681
|
+
$2[53] = t11;
|
|
76682
|
+
$2[54] = t12;
|
|
76683
|
+
$2[55] = t13;
|
|
76684
|
+
$2[56] = t14;
|
|
76685
|
+
$2[57] = t15;
|
|
76742
76686
|
} else {
|
|
76743
|
-
t15 = $2[
|
|
76687
|
+
t15 = $2[57];
|
|
76744
76688
|
}
|
|
76745
76689
|
return t15;
|
|
76746
76690
|
};
|
|
@@ -78909,6 +78853,50 @@ function _temp34(value) {
|
|
|
78909
78853
|
|
|
78910
78854
|
// src/side-panel/components/PluginList.tsx
|
|
78911
78855
|
var import_compiler_runtime25 = __toESM(require_compiler_runtime(), 1);
|
|
78856
|
+
var import_react21 = __toESM(require_react(), 1);
|
|
78857
|
+
|
|
78858
|
+
// src/side-panel/group-transitions.ts
|
|
78859
|
+
var FADE_IN_MS = 200;
|
|
78860
|
+
function groupPlugins(plugins) {
|
|
78861
|
+
const ready = [];
|
|
78862
|
+
const notReady = [];
|
|
78863
|
+
for (const p3 of plugins) {
|
|
78864
|
+
if (p3.tabState === "ready") {
|
|
78865
|
+
ready.push(p3);
|
|
78866
|
+
} else {
|
|
78867
|
+
notReady.push(p3);
|
|
78868
|
+
}
|
|
78869
|
+
}
|
|
78870
|
+
return {
|
|
78871
|
+
ready,
|
|
78872
|
+
notReady
|
|
78873
|
+
};
|
|
78874
|
+
}
|
|
78875
|
+
function detectGroupChanges(prev, current) {
|
|
78876
|
+
const changed = /* @__PURE__ */ new Set();
|
|
78877
|
+
for (const plugin of current) {
|
|
78878
|
+
const prevState = prev.get(plugin.name);
|
|
78879
|
+
if (prevState === void 0) continue;
|
|
78880
|
+
const wasReady = prevState === "ready";
|
|
78881
|
+
const isReady = plugin.tabState === "ready";
|
|
78882
|
+
if (wasReady !== isReady) {
|
|
78883
|
+
changed.add(plugin.name);
|
|
78884
|
+
}
|
|
78885
|
+
}
|
|
78886
|
+
return changed;
|
|
78887
|
+
}
|
|
78888
|
+
function buildStateSnapshot(plugins) {
|
|
78889
|
+
return new Map(plugins.map((p3) => [p3.name, p3.tabState]));
|
|
78890
|
+
}
|
|
78891
|
+
function getTransitionClass(pluginName, isReadyGroup, animating) {
|
|
78892
|
+
if (!animating.has(pluginName)) return void 0;
|
|
78893
|
+
return isReadyGroup ? "animate-group-fade-in" : "animate-group-fade-in-dim";
|
|
78894
|
+
}
|
|
78895
|
+
function collapseTransitioningItems(openItems, animating) {
|
|
78896
|
+
if (animating.size === 0) return openItems;
|
|
78897
|
+
const filtered = openItems.filter((name) => !animating.has(name));
|
|
78898
|
+
return filtered.length === openItems.length ? openItems : filtered;
|
|
78899
|
+
}
|
|
78912
78900
|
|
|
78913
78901
|
// src/side-panel/components/FailedPluginCard.tsx
|
|
78914
78902
|
var import_compiler_runtime22 = __toESM(require_compiler_runtime(), 1);
|
|
@@ -79292,7 +79280,7 @@ function _temp26(e_0) {
|
|
|
79292
79280
|
// src/side-panel/components/PluginCard.tsx
|
|
79293
79281
|
var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
|
|
79294
79282
|
var PluginCard = (t0) => {
|
|
79295
|
-
const $2 = (0, import_compiler_runtime24.c)(
|
|
79283
|
+
const $2 = (0, import_compiler_runtime24.c)(77);
|
|
79296
79284
|
const {
|
|
79297
79285
|
plugin,
|
|
79298
79286
|
activeTools,
|
|
@@ -79303,9 +79291,10 @@ var PluginCard = (t0) => {
|
|
|
79303
79291
|
updatingPlugin,
|
|
79304
79292
|
removingPlugin,
|
|
79305
79293
|
actionError,
|
|
79306
|
-
|
|
79294
|
+
transitionClass
|
|
79307
79295
|
} = t0;
|
|
79308
79296
|
const [toggleError, setToggleError] = (0, import_react20.useState)(null);
|
|
79297
|
+
const [pendingPermission, setPendingPermission] = (0, import_react20.useState)(null);
|
|
79309
79298
|
const errorTimerRef = (0, import_react20.useRef)(void 0);
|
|
79310
79299
|
const toggleCounter = (0, import_react20.useRef)(0);
|
|
79311
79300
|
let t1;
|
|
@@ -79357,14 +79346,17 @@ var PluginCard = (t0) => {
|
|
|
79357
79346
|
const prePluginPermRef = (0, import_react20.useRef)("off");
|
|
79358
79347
|
let t6;
|
|
79359
79348
|
if ($2[7] !== plugin.name || $2[8] !== plugin.permission || $2[9] !== setPlugins) {
|
|
79360
|
-
t6 = (newPermission) => {
|
|
79349
|
+
t6 = (newPermission, reviewedVersion) => {
|
|
79361
79350
|
const myVersion = toggleCounter.current = toggleCounter.current + 1;
|
|
79362
79351
|
prePluginPermRef.current = plugin.permission;
|
|
79363
79352
|
setPlugins((prev_0) => prev_0.map((p_0) => p_0.name === plugin.name ? {
|
|
79364
79353
|
...p_0,
|
|
79365
|
-
permission: newPermission
|
|
79354
|
+
permission: newPermission,
|
|
79355
|
+
...reviewedVersion ? {
|
|
79356
|
+
reviewed: true
|
|
79357
|
+
} : {}
|
|
79366
79358
|
} : p_0));
|
|
79367
|
-
setPluginPermission(plugin.name, newPermission).catch(() => {
|
|
79359
|
+
setPluginPermission(plugin.name, newPermission, reviewedVersion).catch(() => {
|
|
79368
79360
|
if (toggleCounter.current === myVersion) {
|
|
79369
79361
|
setPlugins((prev_1) => prev_1.map((p_1) => p_1.name === plugin.name ? {
|
|
79370
79362
|
...p_1,
|
|
@@ -79381,44 +79373,77 @@ var PluginCard = (t0) => {
|
|
|
79381
79373
|
} else {
|
|
79382
79374
|
t6 = $2[10];
|
|
79383
79375
|
}
|
|
79384
|
-
const
|
|
79376
|
+
const applyPluginPermission = t6;
|
|
79385
79377
|
let t7;
|
|
79386
|
-
if ($2[11] !== plugin.
|
|
79387
|
-
t7 = (
|
|
79378
|
+
if ($2[11] !== applyPluginPermission || $2[12] !== plugin.permission || $2[13] !== plugin.reviewed) {
|
|
79379
|
+
t7 = (newPermission_0) => {
|
|
79380
|
+
if (!plugin.reviewed && plugin.permission === "off" && newPermission_0 !== "off") {
|
|
79381
|
+
setPendingPermission(newPermission_0);
|
|
79382
|
+
return;
|
|
79383
|
+
}
|
|
79384
|
+
applyPluginPermission(newPermission_0);
|
|
79385
|
+
};
|
|
79386
|
+
$2[11] = applyPluginPermission;
|
|
79387
|
+
$2[12] = plugin.permission;
|
|
79388
|
+
$2[13] = plugin.reviewed;
|
|
79389
|
+
$2[14] = t7;
|
|
79390
|
+
} else {
|
|
79391
|
+
t7 = $2[14];
|
|
79392
|
+
}
|
|
79393
|
+
const handlePluginPermissionChange = t7;
|
|
79394
|
+
let t8;
|
|
79395
|
+
if ($2[15] !== applyPluginPermission || $2[16] !== pendingPermission || $2[17] !== plugin.version) {
|
|
79396
|
+
t8 = () => {
|
|
79397
|
+
if (pendingPermission) {
|
|
79398
|
+
applyPluginPermission(pendingPermission, plugin.version);
|
|
79399
|
+
}
|
|
79400
|
+
setPendingPermission(null);
|
|
79401
|
+
};
|
|
79402
|
+
$2[15] = applyPluginPermission;
|
|
79403
|
+
$2[16] = pendingPermission;
|
|
79404
|
+
$2[17] = plugin.version;
|
|
79405
|
+
$2[18] = t8;
|
|
79406
|
+
} else {
|
|
79407
|
+
t8 = $2[18];
|
|
79408
|
+
}
|
|
79409
|
+
const handleEnableAnyway = t8;
|
|
79410
|
+
let t9;
|
|
79411
|
+
if ($2[19] !== plugin.name || $2[20] !== updatePluginTools) {
|
|
79412
|
+
t9 = (toolName, newPermission_1) => {
|
|
79388
79413
|
const myVersion_0 = toggleCounter.current = toggleCounter.current + 1;
|
|
79389
79414
|
updatePluginTools((prev_2) => {
|
|
79390
79415
|
preToggleRef.current = prev_2;
|
|
79391
|
-
return prev_2.map((
|
|
79392
|
-
...
|
|
79393
|
-
permission:
|
|
79394
|
-
} :
|
|
79416
|
+
return prev_2.map((t42) => t42.name === toolName ? {
|
|
79417
|
+
...t42,
|
|
79418
|
+
permission: newPermission_1
|
|
79419
|
+
} : t42);
|
|
79395
79420
|
});
|
|
79396
|
-
setToolPermission(plugin.name, toolName,
|
|
79421
|
+
setToolPermission(plugin.name, toolName, newPermission_1).catch(() => {
|
|
79397
79422
|
if (toggleCounter.current === myVersion_0) {
|
|
79398
79423
|
updatePluginTools(() => preToggleRef.current);
|
|
79399
79424
|
}
|
|
79400
79425
|
showToggleError(`Failed to update ${toolName}`);
|
|
79401
79426
|
});
|
|
79402
79427
|
};
|
|
79403
|
-
$2[
|
|
79404
|
-
$2[
|
|
79405
|
-
$2[
|
|
79428
|
+
$2[19] = plugin.name;
|
|
79429
|
+
$2[20] = updatePluginTools;
|
|
79430
|
+
$2[21] = t9;
|
|
79406
79431
|
} else {
|
|
79407
|
-
|
|
79432
|
+
t9 = $2[21];
|
|
79408
79433
|
}
|
|
79409
|
-
const handleToolPermissionChange =
|
|
79434
|
+
const handleToolPermissionChange = t9;
|
|
79410
79435
|
const filterLower = toolFilter?.toLowerCase() ?? "";
|
|
79411
79436
|
const visibleTools = filterLower ? pluginTools.filter((t_0) => matchesTool(t_0, filterLower)) : pluginTools;
|
|
79412
|
-
let
|
|
79413
|
-
if ($2[
|
|
79414
|
-
|
|
79415
|
-
$2[
|
|
79416
|
-
$2[
|
|
79417
|
-
$2[
|
|
79437
|
+
let t10;
|
|
79438
|
+
if ($2[22] !== activeTools || $2[23] !== plugin.name) {
|
|
79439
|
+
t10 = (t_1) => activeTools.has(`${plugin.name}:${t_1.name}`);
|
|
79440
|
+
$2[22] = activeTools;
|
|
79441
|
+
$2[23] = plugin.name;
|
|
79442
|
+
$2[24] = t10;
|
|
79418
79443
|
} else {
|
|
79419
|
-
|
|
79444
|
+
t10 = $2[24];
|
|
79420
79445
|
}
|
|
79421
|
-
const hasActiveTool = pluginTools.some(
|
|
79446
|
+
const hasActiveTool = pluginTools.some(t10);
|
|
79422
79447
|
const hasAnyGroup = visibleTools.some(_temp10);
|
|
79423
79448
|
const toolGroups = [];
|
|
79424
79449
|
if (hasAnyGroup) {
|
|
@@ -79447,32 +79472,32 @@ var PluginCard = (t0) => {
|
|
|
79447
79472
|
});
|
|
79448
79473
|
}
|
|
79449
79474
|
}
|
|
79450
|
-
let
|
|
79451
|
-
if ($2[
|
|
79452
|
-
|
|
79475
|
+
let t11;
|
|
79476
|
+
if ($2[25] !== plugin.version) {
|
|
79477
|
+
t11 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(TooltipObject.Content, {
|
|
79453
79478
|
children: ["v", plugin.version]
|
|
79454
79479
|
});
|
|
79455
|
-
$2[
|
|
79456
|
-
$2[
|
|
79480
|
+
$2[25] = plugin.version;
|
|
79481
|
+
$2[26] = t11;
|
|
79457
79482
|
} else {
|
|
79458
|
-
|
|
79483
|
+
t11 = $2[26];
|
|
79459
79484
|
}
|
|
79460
|
-
let
|
|
79461
|
-
if ($2[
|
|
79462
|
-
|
|
79485
|
+
let t12;
|
|
79486
|
+
if ($2[27] !== plugin.source) {
|
|
79487
|
+
t12 = plugin.source === "local" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge2, {
|
|
79463
79488
|
variant: "default",
|
|
79464
79489
|
size: "sm",
|
|
79465
79490
|
className: "align-middle",
|
|
79466
79491
|
children: "DEV"
|
|
79467
79492
|
});
|
|
79468
|
-
$2[
|
|
79469
|
-
$2[
|
|
79493
|
+
$2[27] = plugin.source;
|
|
79494
|
+
$2[28] = t12;
|
|
79470
79495
|
} else {
|
|
79471
|
-
|
|
79496
|
+
t12 = $2[28];
|
|
79472
79497
|
}
|
|
79473
|
-
let
|
|
79474
|
-
if ($2[
|
|
79475
|
-
|
|
79498
|
+
let t13;
|
|
79499
|
+
if ($2[29] !== plugin.sdkVersion) {
|
|
79500
|
+
t13 = !plugin.sdkVersion && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(TooltipObject, {
|
|
79476
79501
|
children: [/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipObject.Trigger, {
|
|
79477
79502
|
asChild: true,
|
|
79478
79503
|
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge2, {
|
|
@@ -79485,108 +79510,124 @@ var PluginCard = (t0) => {
|
|
|
79485
79510
|
children: "SDK version mismatch \u2014 rebuild plugin"
|
|
79486
79511
|
})]
|
|
79487
79512
|
});
|
|
79488
|
-
$2[
|
|
79489
|
-
$2[
|
|
79513
|
+
$2[29] = plugin.sdkVersion;
|
|
79514
|
+
$2[30] = t13;
|
|
79490
79515
|
} else {
|
|
79491
|
-
|
|
79516
|
+
t13 = $2[30];
|
|
79492
79517
|
}
|
|
79493
|
-
let
|
|
79494
|
-
if ($2[
|
|
79495
|
-
|
|
79518
|
+
let t14;
|
|
79519
|
+
if ($2[31] !== plugin.reviewed) {
|
|
79520
|
+
t14 = !plugin.reviewed && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(TooltipObject, {
|
|
79521
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipObject.Trigger, {
|
|
79522
|
+
asChild: true,
|
|
79523
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ShieldQuestionMark, {
|
|
79524
|
+
className: "inline-block h-3.5 w-3.5 align-middle text-muted-foreground"
|
|
79525
|
+
})
|
|
79526
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipObject.Content, {
|
|
79527
|
+
children: "This plugin version has not been reviewed"
|
|
79528
|
+
})]
|
|
79529
|
+
});
|
|
79530
|
+
$2[31] = plugin.reviewed;
|
|
79531
|
+
$2[32] = t14;
|
|
79532
|
+
} else {
|
|
79533
|
+
t14 = $2[32];
|
|
79534
|
+
}
|
|
79535
|
+
let t15;
|
|
79536
|
+
if ($2[33] !== plugin.displayName || $2[34] !== t12 || $2[35] !== t13 || $2[36] !== t14) {
|
|
79537
|
+
t15 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", {
|
|
79496
79538
|
className: "flex min-w-0 flex-1 items-center gap-1.5 truncate font-head text-foreground text-sm",
|
|
79497
|
-
children: [plugin.displayName,
|
|
79539
|
+
children: [plugin.displayName, t12, t13, t14]
|
|
79498
79540
|
});
|
|
79499
|
-
$2[
|
|
79500
|
-
$2[
|
|
79501
|
-
$2[
|
|
79502
|
-
$2[
|
|
79541
|
+
$2[33] = plugin.displayName;
|
|
79542
|
+
$2[34] = t12;
|
|
79543
|
+
$2[35] = t13;
|
|
79544
|
+
$2[36] = t14;
|
|
79545
|
+
$2[37] = t15;
|
|
79503
79546
|
} else {
|
|
79504
|
-
|
|
79547
|
+
t15 = $2[37];
|
|
79505
79548
|
}
|
|
79506
|
-
let
|
|
79507
|
-
if ($2[
|
|
79508
|
-
|
|
79549
|
+
let t16;
|
|
79550
|
+
if ($2[38] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79551
|
+
t16 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ChevronDown, {
|
|
79509
79552
|
className: "h-4 w-4 shrink-0 transition-transform duration-200"
|
|
79510
79553
|
});
|
|
79511
|
-
$2[
|
|
79554
|
+
$2[38] = t16;
|
|
79512
79555
|
} else {
|
|
79513
|
-
|
|
79556
|
+
t16 = $2[38];
|
|
79514
79557
|
}
|
|
79515
|
-
const
|
|
79516
|
-
const
|
|
79517
|
-
const
|
|
79518
|
-
const
|
|
79519
|
-
let
|
|
79520
|
-
if ($2[
|
|
79521
|
-
|
|
79558
|
+
const t17 = onUpdate ?? _temp27;
|
|
79559
|
+
const t18 = onRemove ?? _temp35;
|
|
79560
|
+
const t19 = updatingPlugin ?? false;
|
|
79561
|
+
const t20 = removingPlugin ?? false;
|
|
79562
|
+
let t21;
|
|
79563
|
+
if ($2[39] !== plugin || $2[40] !== t17 || $2[41] !== t18 || $2[42] !== t19 || $2[43] !== t20) {
|
|
79564
|
+
t21 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PluginMenu, {
|
|
79522
79565
|
plugin,
|
|
79523
|
-
onUpdate:
|
|
79524
|
-
onRemove:
|
|
79525
|
-
updating:
|
|
79526
|
-
removing:
|
|
79566
|
+
onUpdate: t17,
|
|
79567
|
+
onRemove: t18,
|
|
79568
|
+
updating: t19,
|
|
79569
|
+
removing: t20,
|
|
79527
79570
|
className: "flex shrink-0 items-center px-1"
|
|
79528
79571
|
});
|
|
79529
|
-
$2[
|
|
79530
|
-
$2[
|
|
79531
|
-
$2[
|
|
79532
|
-
$2[
|
|
79533
|
-
$2[
|
|
79534
|
-
$2[
|
|
79572
|
+
$2[39] = plugin;
|
|
79573
|
+
$2[40] = t17;
|
|
79574
|
+
$2[41] = t18;
|
|
79575
|
+
$2[42] = t19;
|
|
79576
|
+
$2[43] = t20;
|
|
79577
|
+
$2[44] = t21;
|
|
79535
79578
|
} else {
|
|
79536
|
-
|
|
79579
|
+
t21 = $2[44];
|
|
79537
79580
|
}
|
|
79538
|
-
const
|
|
79539
|
-
|
|
79540
|
-
|
|
79541
|
-
|
|
79542
|
-
t21 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", {
|
|
79581
|
+
const t22 = `Permission for ${plugin.name} plugin`;
|
|
79582
|
+
let t23;
|
|
79583
|
+
if ($2[45] !== handlePluginPermissionChange || $2[46] !== plugin.permission || $2[47] !== t22) {
|
|
79584
|
+
t23 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", {
|
|
79543
79585
|
className: "flex shrink-0 items-center px-3",
|
|
79544
79586
|
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PermissionSelect, {
|
|
79545
79587
|
value: plugin.permission,
|
|
79546
79588
|
onValueChange: handlePluginPermissionChange,
|
|
79547
|
-
disabled:
|
|
79548
|
-
ariaLabel:
|
|
79589
|
+
disabled: false,
|
|
79590
|
+
ariaLabel: t22
|
|
79549
79591
|
})
|
|
79550
79592
|
});
|
|
79551
|
-
$2[
|
|
79552
|
-
$2[
|
|
79553
|
-
$2[
|
|
79554
|
-
$2[
|
|
79555
|
-
$2[38] = t21;
|
|
79593
|
+
$2[45] = handlePluginPermissionChange;
|
|
79594
|
+
$2[46] = plugin.permission;
|
|
79595
|
+
$2[47] = t22;
|
|
79596
|
+
$2[48] = t23;
|
|
79556
79597
|
} else {
|
|
79557
|
-
|
|
79598
|
+
t23 = $2[48];
|
|
79558
79599
|
}
|
|
79559
|
-
let
|
|
79560
|
-
if ($2[
|
|
79561
|
-
|
|
79600
|
+
let t24;
|
|
79601
|
+
if ($2[49] !== toggleError) {
|
|
79602
|
+
t24 = toggleError && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AlertComponent, {
|
|
79562
79603
|
status: "error",
|
|
79563
79604
|
className: "mx-3 mb-1 px-2 py-1 text-xs",
|
|
79564
79605
|
children: toggleError
|
|
79565
79606
|
});
|
|
79566
|
-
$2[
|
|
79567
|
-
$2[
|
|
79607
|
+
$2[49] = toggleError;
|
|
79608
|
+
$2[50] = t24;
|
|
79568
79609
|
} else {
|
|
79569
|
-
|
|
79610
|
+
t24 = $2[50];
|
|
79570
79611
|
}
|
|
79571
|
-
let
|
|
79572
|
-
if ($2[
|
|
79573
|
-
|
|
79612
|
+
let t25;
|
|
79613
|
+
if ($2[51] !== actionError) {
|
|
79614
|
+
t25 = actionError && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AlertComponent, {
|
|
79574
79615
|
status: "error",
|
|
79575
79616
|
className: "mx-3 mb-1 px-2 py-1 text-xs",
|
|
79576
79617
|
children: actionError
|
|
79577
79618
|
});
|
|
79578
|
-
$2[
|
|
79579
|
-
$2[
|
|
79619
|
+
$2[51] = actionError;
|
|
79620
|
+
$2[52] = t25;
|
|
79580
79621
|
} else {
|
|
79581
|
-
|
|
79622
|
+
t25 = $2[52];
|
|
79582
79623
|
}
|
|
79583
|
-
const
|
|
79584
|
-
const
|
|
79585
|
-
const
|
|
79624
|
+
const t26 = AccordionComponent;
|
|
79625
|
+
const t27 = "border-border border-t";
|
|
79626
|
+
const t28 = toolFilter && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", {
|
|
79586
79627
|
className: "mb-1 px-3 pt-2 text-muted-foreground text-xs",
|
|
79587
79628
|
children: [visibleTools.length, " of ", pluginTools.length, " tools"]
|
|
79588
79629
|
});
|
|
79589
|
-
const
|
|
79630
|
+
const t29 = hasAnyGroup ? toolGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", {
|
|
79590
79631
|
children: [/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", {
|
|
79591
79632
|
className: "border-border border-b bg-muted/20 px-3 py-1",
|
|
79592
79633
|
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", {
|
|
@@ -79601,7 +79642,6 @@ var PluginCard = (t0) => {
|
|
|
79601
79642
|
icon: tool_0.icon,
|
|
79602
79643
|
permission: tool_0.permission,
|
|
79603
79644
|
active: activeTools.has(`${plugin.name}:${tool_0.name}`),
|
|
79604
|
-
disabled: skipPermissions,
|
|
79605
79645
|
onPermissionChange: handleToolPermissionChange
|
|
79606
79646
|
}, tool_0.name))]
|
|
79607
79647
|
}, group.name)) : visibleTools.map((tool_1) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToolRow, {
|
|
@@ -79612,25 +79652,138 @@ var PluginCard = (t0) => {
|
|
|
79612
79652
|
icon: tool_1.icon,
|
|
79613
79653
|
permission: tool_1.permission,
|
|
79614
79654
|
active: activeTools.has(`${plugin.name}:${tool_1.name}`),
|
|
79615
|
-
disabled: skipPermissions,
|
|
79616
79655
|
onPermissionChange: handleToolPermissionChange
|
|
79617
79656
|
}, tool_1.name));
|
|
79618
|
-
let
|
|
79619
|
-
if ($2[
|
|
79620
|
-
|
|
79621
|
-
className:
|
|
79622
|
-
children: [
|
|
79657
|
+
let t30;
|
|
79658
|
+
if ($2[53] !== t26.Content || $2[54] !== t28 || $2[55] !== t29) {
|
|
79659
|
+
t30 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(t26.Content, {
|
|
79660
|
+
className: t27,
|
|
79661
|
+
children: [t28, t29]
|
|
79623
79662
|
});
|
|
79624
|
-
$2[
|
|
79625
|
-
$2[
|
|
79626
|
-
$2[
|
|
79627
|
-
$2[
|
|
79663
|
+
$2[53] = t26.Content;
|
|
79664
|
+
$2[54] = t28;
|
|
79665
|
+
$2[55] = t29;
|
|
79666
|
+
$2[56] = t30;
|
|
79667
|
+
} else {
|
|
79668
|
+
t30 = $2[56];
|
|
79669
|
+
}
|
|
79670
|
+
const t31 = pendingPermission !== null;
|
|
79671
|
+
let t32;
|
|
79672
|
+
if ($2[57] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79673
|
+
t32 = (open) => !open && setPendingPermission(null);
|
|
79674
|
+
$2[57] = t32;
|
|
79628
79675
|
} else {
|
|
79629
|
-
|
|
79676
|
+
t32 = $2[57];
|
|
79677
|
+
}
|
|
79678
|
+
let t33;
|
|
79679
|
+
if ($2[58] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79680
|
+
t33 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogObject.Header, {
|
|
79681
|
+
children: "Unreviewed Plugin"
|
|
79682
|
+
});
|
|
79683
|
+
$2[58] = t33;
|
|
79684
|
+
} else {
|
|
79685
|
+
t33 = $2[58];
|
|
79686
|
+
}
|
|
79687
|
+
let t34;
|
|
79688
|
+
if ($2[59] !== plugin.displayName || $2[60] !== plugin.version) {
|
|
79689
|
+
t34 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("p", {
|
|
79690
|
+
className: "font-mono text-foreground text-sm",
|
|
79691
|
+
children: [plugin.displayName, " v", plugin.version]
|
|
79692
|
+
});
|
|
79693
|
+
$2[59] = plugin.displayName;
|
|
79694
|
+
$2[60] = plugin.version;
|
|
79695
|
+
$2[61] = t34;
|
|
79696
|
+
} else {
|
|
79697
|
+
t34 = $2[61];
|
|
79698
|
+
}
|
|
79699
|
+
let t35;
|
|
79700
|
+
if ($2[62] !== plugin.name) {
|
|
79701
|
+
t35 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("p", {
|
|
79702
|
+
className: "mt-2 text-foreground text-sm",
|
|
79703
|
+
children: ["This plugin version has not been reviewed. You can ask your AI agent to review the adapter code by saying \u201Creview the ", plugin.name, " plugin\u201D in your chat."]
|
|
79704
|
+
});
|
|
79705
|
+
$2[62] = plugin.name;
|
|
79706
|
+
$2[63] = t35;
|
|
79707
|
+
} else {
|
|
79708
|
+
t35 = $2[63];
|
|
79709
|
+
}
|
|
79710
|
+
let t36;
|
|
79711
|
+
if ($2[64] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79712
|
+
t36 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", {
|
|
79713
|
+
className: "mt-2 text-muted-foreground text-xs",
|
|
79714
|
+
children: "You can also enable it now without review."
|
|
79715
|
+
});
|
|
79716
|
+
$2[64] = t36;
|
|
79717
|
+
} else {
|
|
79718
|
+
t36 = $2[64];
|
|
79719
|
+
}
|
|
79720
|
+
let t37;
|
|
79721
|
+
if ($2[65] !== t34 || $2[66] !== t35) {
|
|
79722
|
+
t37 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogObject.Body, {
|
|
79723
|
+
children: [t34, t35, t36]
|
|
79724
|
+
});
|
|
79725
|
+
$2[65] = t34;
|
|
79726
|
+
$2[66] = t35;
|
|
79727
|
+
$2[67] = t37;
|
|
79728
|
+
} else {
|
|
79729
|
+
t37 = $2[67];
|
|
79730
|
+
}
|
|
79731
|
+
let t38;
|
|
79732
|
+
if ($2[68] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79733
|
+
t38 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogObject.Close, {
|
|
79734
|
+
asChild: true,
|
|
79735
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, {
|
|
79736
|
+
size: "sm",
|
|
79737
|
+
variant: "outline",
|
|
79738
|
+
children: "Cancel"
|
|
79739
|
+
})
|
|
79740
|
+
});
|
|
79741
|
+
$2[68] = t38;
|
|
79742
|
+
} else {
|
|
79743
|
+
t38 = $2[68];
|
|
79744
|
+
}
|
|
79745
|
+
let t39;
|
|
79746
|
+
if ($2[69] !== handleEnableAnyway) {
|
|
79747
|
+
t39 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogObject.Footer, {
|
|
79748
|
+
children: [t38, /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, {
|
|
79749
|
+
size: "sm",
|
|
79750
|
+
onClick: handleEnableAnyway,
|
|
79751
|
+
children: "Enable Anyway"
|
|
79752
|
+
})]
|
|
79753
|
+
});
|
|
79754
|
+
$2[69] = handleEnableAnyway;
|
|
79755
|
+
$2[70] = t39;
|
|
79756
|
+
} else {
|
|
79757
|
+
t39 = $2[70];
|
|
79758
|
+
}
|
|
79759
|
+
let t40;
|
|
79760
|
+
if ($2[71] !== t37 || $2[72] !== t39) {
|
|
79761
|
+
t40 = /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogObject.Content, {
|
|
79762
|
+
onInteractOutside: _temp43,
|
|
79763
|
+
children: [t33, t37, t39]
|
|
79764
|
+
});
|
|
79765
|
+
$2[71] = t37;
|
|
79766
|
+
$2[72] = t39;
|
|
79767
|
+
$2[73] = t40;
|
|
79768
|
+
} else {
|
|
79769
|
+
t40 = $2[73];
|
|
79770
|
+
}
|
|
79771
|
+
let t41;
|
|
79772
|
+
if ($2[74] !== t31 || $2[75] !== t40) {
|
|
79773
|
+
t41 = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogObject, {
|
|
79774
|
+
open: t31,
|
|
79775
|
+
onOpenChange: t32,
|
|
79776
|
+
children: t40
|
|
79777
|
+
});
|
|
79778
|
+
$2[74] = t31;
|
|
79779
|
+
$2[75] = t40;
|
|
79780
|
+
$2[76] = t41;
|
|
79781
|
+
} else {
|
|
79782
|
+
t41 = $2[76];
|
|
79630
79783
|
}
|
|
79631
79784
|
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(AccordionComponent.Item, {
|
|
79632
79785
|
value: plugin.name,
|
|
79633
|
-
className: removingPlugin ? "pointer-events-none opacity-60 transition-opacity" : void 0,
|
|
79786
|
+
className: transitionClass ?? (removingPlugin ? "pointer-events-none opacity-60 transition-opacity" : plugin.tabState !== "ready" ? "opacity-70 transition-opacity" : void 0),
|
|
79634
79787
|
children: [/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Header, {
|
|
79635
79788
|
className: "flex",
|
|
79636
79789
|
children: [/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Trigger2, {
|
|
@@ -79651,10 +79804,10 @@ var PluginCard = (t0) => {
|
|
|
79651
79804
|
active: hasActiveTool
|
|
79652
79805
|
})
|
|
79653
79806
|
})
|
|
79654
|
-
}),
|
|
79655
|
-
}),
|
|
79656
|
-
}),
|
|
79657
|
-
}),
|
|
79807
|
+
}), t11]
|
|
79808
|
+
}), t15, t16]
|
|
79809
|
+
}), t21, t23]
|
|
79810
|
+
}), t24, t25, t30, t41]
|
|
79658
79811
|
});
|
|
79659
79812
|
};
|
|
79660
79813
|
function _temp10(t_2) {
|
|
@@ -79664,11 +79817,127 @@ function _temp27() {
|
|
|
79664
79817
|
}
|
|
79665
79818
|
function _temp35() {
|
|
79666
79819
|
}
|
|
79820
|
+
function _temp43(e2) {
|
|
79821
|
+
return e2.preventDefault();
|
|
79822
|
+
}
|
|
79667
79823
|
|
|
79668
79824
|
// src/side-panel/components/PluginList.tsx
|
|
79669
79825
|
var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
|
|
79826
|
+
function useGroupTransitions(plugins, isFiltering) {
|
|
79827
|
+
const $2 = (0, import_compiler_runtime25.c)(14);
|
|
79828
|
+
let t0;
|
|
79829
|
+
if ($2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79830
|
+
t0 = /* @__PURE__ */ new Map();
|
|
79831
|
+
$2[0] = t0;
|
|
79832
|
+
} else {
|
|
79833
|
+
t0 = $2[0];
|
|
79834
|
+
}
|
|
79835
|
+
const prevStates = (0, import_react21.useRef)(t0);
|
|
79836
|
+
let t1;
|
|
79837
|
+
if ($2[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79838
|
+
t1 = /* @__PURE__ */ new Set();
|
|
79839
|
+
$2[1] = t1;
|
|
79840
|
+
} else {
|
|
79841
|
+
t1 = $2[1];
|
|
79842
|
+
}
|
|
79843
|
+
const [animating, setAnimating] = (0, import_react21.useState)(t1);
|
|
79844
|
+
let t2;
|
|
79845
|
+
if ($2[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79846
|
+
t2 = /* @__PURE__ */ new Map();
|
|
79847
|
+
$2[2] = t2;
|
|
79848
|
+
} else {
|
|
79849
|
+
t2 = $2[2];
|
|
79850
|
+
}
|
|
79851
|
+
const clearTimers = (0, import_react21.useRef)(t2);
|
|
79852
|
+
let t3;
|
|
79853
|
+
let t4;
|
|
79854
|
+
if ($2[3] !== isFiltering || $2[4] !== plugins) {
|
|
79855
|
+
t3 = () => {
|
|
79856
|
+
if (isFiltering) {
|
|
79857
|
+
prevStates.current = buildStateSnapshot(plugins);
|
|
79858
|
+
return;
|
|
79859
|
+
}
|
|
79860
|
+
const changed = detectGroupChanges(prevStates.current, plugins);
|
|
79861
|
+
prevStates.current = buildStateSnapshot(plugins);
|
|
79862
|
+
if (changed.size === 0) {
|
|
79863
|
+
return;
|
|
79864
|
+
}
|
|
79865
|
+
setAnimating((prev) => {
|
|
79866
|
+
const next = new Set(prev);
|
|
79867
|
+
for (const name of changed) {
|
|
79868
|
+
next.add(name);
|
|
79869
|
+
}
|
|
79870
|
+
return next;
|
|
79871
|
+
});
|
|
79872
|
+
for (const name_0 of changed) {
|
|
79873
|
+
const existing = clearTimers.current.get(name_0);
|
|
79874
|
+
if (existing) {
|
|
79875
|
+
clearTimeout(existing);
|
|
79876
|
+
}
|
|
79877
|
+
clearTimers.current.set(name_0, setTimeout(() => {
|
|
79878
|
+
clearTimers.current.delete(name_0);
|
|
79879
|
+
setAnimating((prev_0) => {
|
|
79880
|
+
if (!prev_0.has(name_0)) {
|
|
79881
|
+
return prev_0;
|
|
79882
|
+
}
|
|
79883
|
+
const next_0 = new Set(prev_0);
|
|
79884
|
+
next_0.delete(name_0);
|
|
79885
|
+
return next_0;
|
|
79886
|
+
});
|
|
79887
|
+
}, FADE_IN_MS));
|
|
79888
|
+
}
|
|
79889
|
+
};
|
|
79890
|
+
t4 = [plugins, isFiltering];
|
|
79891
|
+
$2[3] = isFiltering;
|
|
79892
|
+
$2[4] = plugins;
|
|
79893
|
+
$2[5] = t3;
|
|
79894
|
+
$2[6] = t4;
|
|
79895
|
+
} else {
|
|
79896
|
+
t3 = $2[5];
|
|
79897
|
+
t4 = $2[6];
|
|
79898
|
+
}
|
|
79899
|
+
(0, import_react21.useEffect)(t3, t4);
|
|
79900
|
+
let t5;
|
|
79901
|
+
let t6;
|
|
79902
|
+
if ($2[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79903
|
+
t5 = () => () => {
|
|
79904
|
+
for (const timer of clearTimers.current.values()) {
|
|
79905
|
+
clearTimeout(timer);
|
|
79906
|
+
}
|
|
79907
|
+
};
|
|
79908
|
+
t6 = [];
|
|
79909
|
+
$2[7] = t5;
|
|
79910
|
+
$2[8] = t6;
|
|
79911
|
+
} else {
|
|
79912
|
+
t5 = $2[7];
|
|
79913
|
+
t6 = $2[8];
|
|
79914
|
+
}
|
|
79915
|
+
(0, import_react21.useEffect)(t5, t6);
|
|
79916
|
+
let t7;
|
|
79917
|
+
if ($2[9] !== animating) {
|
|
79918
|
+
t7 = (pluginName, isReadyGroup) => getTransitionClass(pluginName, isReadyGroup, animating);
|
|
79919
|
+
$2[9] = animating;
|
|
79920
|
+
$2[10] = t7;
|
|
79921
|
+
} else {
|
|
79922
|
+
t7 = $2[10];
|
|
79923
|
+
}
|
|
79924
|
+
const resolveTransitionClass = t7;
|
|
79925
|
+
let t8;
|
|
79926
|
+
if ($2[11] !== animating || $2[12] !== resolveTransitionClass) {
|
|
79927
|
+
t8 = {
|
|
79928
|
+
animating,
|
|
79929
|
+
resolveTransitionClass
|
|
79930
|
+
};
|
|
79931
|
+
$2[11] = animating;
|
|
79932
|
+
$2[12] = resolveTransitionClass;
|
|
79933
|
+
$2[13] = t8;
|
|
79934
|
+
} else {
|
|
79935
|
+
t8 = $2[13];
|
|
79936
|
+
}
|
|
79937
|
+
return t8;
|
|
79938
|
+
}
|
|
79670
79939
|
var PluginList = (t0) => {
|
|
79671
|
-
const $2 = (0, import_compiler_runtime25.c)(
|
|
79940
|
+
const $2 = (0, import_compiler_runtime25.c)(21);
|
|
79672
79941
|
const {
|
|
79673
79942
|
plugins,
|
|
79674
79943
|
failedPlugins,
|
|
@@ -79678,123 +79947,177 @@ var PluginList = (t0) => {
|
|
|
79678
79947
|
onUpdate,
|
|
79679
79948
|
onRemove,
|
|
79680
79949
|
removingPlugins,
|
|
79681
|
-
pluginErrors
|
|
79682
|
-
skipPermissions
|
|
79950
|
+
pluginErrors
|
|
79683
79951
|
} = t0;
|
|
79684
|
-
|
|
79952
|
+
const filterLower = toolFilter.toLowerCase();
|
|
79953
|
+
const visiblePlugins = filterLower ? plugins.filter((p3) => (p3.tools ?? []).some((t9) => matchesTool(t9, filterLower))) : plugins;
|
|
79954
|
+
const visibleFailed = filterLower ? [] : failedPlugins;
|
|
79955
|
+
const {
|
|
79956
|
+
animating,
|
|
79957
|
+
resolveTransitionClass
|
|
79958
|
+
} = useGroupTransitions(plugins, !!filterLower);
|
|
79685
79959
|
let t1;
|
|
79686
|
-
if ($2[0]
|
|
79687
|
-
|
|
79688
|
-
|
|
79689
|
-
$2[0] = plugins;
|
|
79690
|
-
$2[1] = toolFilter;
|
|
79691
|
-
$2[2] = filterLower;
|
|
79692
|
-
$2[3] = t1;
|
|
79960
|
+
if ($2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79961
|
+
t1 = [];
|
|
79962
|
+
$2[0] = t1;
|
|
79693
79963
|
} else {
|
|
79694
|
-
|
|
79695
|
-
t1 = $2[3];
|
|
79964
|
+
t1 = $2[0];
|
|
79696
79965
|
}
|
|
79697
|
-
const
|
|
79966
|
+
const [openReady, setOpenReady] = (0, import_react21.useState)(t1);
|
|
79698
79967
|
let t2;
|
|
79699
|
-
if ($2[
|
|
79700
|
-
t2 =
|
|
79701
|
-
$2[
|
|
79702
|
-
$2[5] = filterLower;
|
|
79703
|
-
$2[6] = t2;
|
|
79968
|
+
if ($2[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
79969
|
+
t2 = [];
|
|
79970
|
+
$2[1] = t2;
|
|
79704
79971
|
} else {
|
|
79705
|
-
t2 = $2[
|
|
79972
|
+
t2 = $2[1];
|
|
79706
79973
|
}
|
|
79707
|
-
const
|
|
79974
|
+
const [openNotReady, setOpenNotReady] = (0, import_react21.useState)(t2);
|
|
79975
|
+
let t3;
|
|
79976
|
+
let t4;
|
|
79977
|
+
if ($2[2] !== animating) {
|
|
79978
|
+
t3 = () => {
|
|
79979
|
+
if (animating.size === 0) {
|
|
79980
|
+
return;
|
|
79981
|
+
}
|
|
79982
|
+
setOpenReady((prev) => collapseTransitioningItems(prev, animating));
|
|
79983
|
+
setOpenNotReady((prev_0) => collapseTransitioningItems(prev_0, animating));
|
|
79984
|
+
};
|
|
79985
|
+
t4 = [animating];
|
|
79986
|
+
$2[2] = animating;
|
|
79987
|
+
$2[3] = t3;
|
|
79988
|
+
$2[4] = t4;
|
|
79989
|
+
} else {
|
|
79990
|
+
t3 = $2[3];
|
|
79991
|
+
t4 = $2[4];
|
|
79992
|
+
}
|
|
79993
|
+
(0, import_react21.useEffect)(t3, t4);
|
|
79994
|
+
const {
|
|
79995
|
+
ready: readyPlugins,
|
|
79996
|
+
notReady: notReadyPlugins
|
|
79997
|
+
} = filterLower ? {
|
|
79998
|
+
ready: [],
|
|
79999
|
+
notReady: []
|
|
80000
|
+
} : groupPlugins(visiblePlugins);
|
|
80001
|
+
const hasNotReady = notReadyPlugins.length > 0;
|
|
80002
|
+
const prevHadNotReady = (0, import_react21.useRef)(false);
|
|
80003
|
+
const [labelVisible, setLabelVisible] = (0, import_react21.useState)(false);
|
|
80004
|
+
const [labelMounted, setLabelMounted] = (0, import_react21.useState)(false);
|
|
80005
|
+
(0, import_react21.useEffect)(() => {
|
|
80006
|
+
let unmountTimer;
|
|
80007
|
+
if (filterLower) {
|
|
80008
|
+
setLabelMounted(false);
|
|
80009
|
+
setLabelVisible(false);
|
|
80010
|
+
prevHadNotReady.current = false;
|
|
80011
|
+
} else {
|
|
80012
|
+
if (hasNotReady && !prevHadNotReady.current) {
|
|
80013
|
+
setLabelMounted(true);
|
|
80014
|
+
requestAnimationFrame(() => {
|
|
80015
|
+
requestAnimationFrame(() => {
|
|
80016
|
+
setLabelVisible(true);
|
|
80017
|
+
});
|
|
80018
|
+
});
|
|
80019
|
+
prevHadNotReady.current = hasNotReady;
|
|
80020
|
+
} else {
|
|
80021
|
+
if (!hasNotReady && prevHadNotReady.current) {
|
|
80022
|
+
setLabelVisible(false);
|
|
80023
|
+
unmountTimer = setTimeout(() => setLabelMounted(false), FADE_IN_MS);
|
|
80024
|
+
prevHadNotReady.current = hasNotReady;
|
|
80025
|
+
} else {
|
|
80026
|
+
if (hasNotReady) {
|
|
80027
|
+
setLabelMounted(true);
|
|
80028
|
+
setLabelVisible(true);
|
|
80029
|
+
prevHadNotReady.current = hasNotReady;
|
|
80030
|
+
}
|
|
80031
|
+
}
|
|
80032
|
+
}
|
|
80033
|
+
}
|
|
80034
|
+
return () => clearTimeout(unmountTimer);
|
|
80035
|
+
}, [hasNotReady, filterLower]);
|
|
79708
80036
|
if (filterLower && visiblePlugins.length === 0) {
|
|
79709
|
-
let
|
|
79710
|
-
if ($2[
|
|
79711
|
-
|
|
80037
|
+
let t52;
|
|
80038
|
+
if ($2[5] !== toolFilter) {
|
|
80039
|
+
t52 = /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", {
|
|
79712
80040
|
className: "py-8 text-center text-muted-foreground text-sm",
|
|
79713
80041
|
children: ["No tools matching \u201C", toolFilter, "\u201D"]
|
|
79714
80042
|
});
|
|
79715
|
-
$2[
|
|
79716
|
-
$2[
|
|
80043
|
+
$2[5] = toolFilter;
|
|
80044
|
+
$2[6] = t52;
|
|
79717
80045
|
} else {
|
|
79718
|
-
|
|
80046
|
+
t52 = $2[6];
|
|
79719
80047
|
}
|
|
79720
|
-
return
|
|
80048
|
+
return t52;
|
|
79721
80049
|
}
|
|
79722
|
-
let
|
|
79723
|
-
if ($2[9] !==
|
|
79724
|
-
|
|
80050
|
+
let t5;
|
|
80051
|
+
if ($2[7] !== activeTools || $2[8] !== onRemove || $2[9] !== onUpdate || $2[10] !== pluginErrors || $2[11] !== removingPlugins || $2[12] !== resolveTransitionClass || $2[13] !== setPlugins || $2[14] !== toolFilter) {
|
|
80052
|
+
t5 = (plugin, isReadyGroup) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PluginCard, {
|
|
80053
|
+
plugin,
|
|
80054
|
+
activeTools,
|
|
80055
|
+
setPlugins,
|
|
80056
|
+
toolFilter,
|
|
80057
|
+
onUpdate: onUpdate ? () => onUpdate(plugin.name) : void 0,
|
|
80058
|
+
onRemove: onRemove ? () => onRemove(plugin.name) : void 0,
|
|
80059
|
+
removingPlugin: removingPlugins?.has(plugin.name),
|
|
80060
|
+
actionError: pluginErrors?.get(plugin.name) ?? null,
|
|
80061
|
+
transitionClass: resolveTransitionClass(plugin.name, isReadyGroup)
|
|
80062
|
+
}, plugin.name);
|
|
80063
|
+
$2[7] = activeTools;
|
|
80064
|
+
$2[8] = onRemove;
|
|
80065
|
+
$2[9] = onUpdate;
|
|
80066
|
+
$2[10] = pluginErrors;
|
|
80067
|
+
$2[11] = removingPlugins;
|
|
80068
|
+
$2[12] = resolveTransitionClass;
|
|
80069
|
+
$2[13] = setPlugins;
|
|
80070
|
+
$2[14] = toolFilter;
|
|
80071
|
+
$2[15] = t5;
|
|
80072
|
+
} else {
|
|
80073
|
+
t5 = $2[15];
|
|
80074
|
+
}
|
|
80075
|
+
const renderCard = t5;
|
|
80076
|
+
let t6;
|
|
80077
|
+
if ($2[16] !== visibleFailed) {
|
|
80078
|
+
t6 = visibleFailed.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", {
|
|
79725
80079
|
className: "mb-3 space-y-2",
|
|
79726
80080
|
children: visibleFailed.map(_temp11)
|
|
79727
80081
|
});
|
|
79728
|
-
$2[
|
|
79729
|
-
$2[
|
|
79730
|
-
} else {
|
|
79731
|
-
t3 = $2[10];
|
|
79732
|
-
}
|
|
79733
|
-
let t4;
|
|
79734
|
-
if ($2[11] !== activeTools || $2[12] !== onRemove || $2[13] !== onUpdate || $2[14] !== pluginErrors || $2[15] !== removingPlugins || $2[16] !== setPlugins || $2[17] !== skipPermissions || $2[18] !== toolFilter || $2[19] !== visiblePlugins) {
|
|
79735
|
-
let t52;
|
|
79736
|
-
if ($2[21] !== activeTools || $2[22] !== onRemove || $2[23] !== onUpdate || $2[24] !== pluginErrors || $2[25] !== removingPlugins || $2[26] !== setPlugins || $2[27] !== skipPermissions || $2[28] !== toolFilter) {
|
|
79737
|
-
t52 = (plugin) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PluginCard, {
|
|
79738
|
-
plugin,
|
|
79739
|
-
activeTools,
|
|
79740
|
-
setPlugins,
|
|
79741
|
-
toolFilter,
|
|
79742
|
-
onUpdate: onUpdate ? () => onUpdate(plugin.name) : void 0,
|
|
79743
|
-
onRemove: onRemove ? () => onRemove(plugin.name) : void 0,
|
|
79744
|
-
removingPlugin: removingPlugins?.has(plugin.name),
|
|
79745
|
-
actionError: pluginErrors?.get(plugin.name) ?? null,
|
|
79746
|
-
skipPermissions
|
|
79747
|
-
}, plugin.name);
|
|
79748
|
-
$2[21] = activeTools;
|
|
79749
|
-
$2[22] = onRemove;
|
|
79750
|
-
$2[23] = onUpdate;
|
|
79751
|
-
$2[24] = pluginErrors;
|
|
79752
|
-
$2[25] = removingPlugins;
|
|
79753
|
-
$2[26] = setPlugins;
|
|
79754
|
-
$2[27] = skipPermissions;
|
|
79755
|
-
$2[28] = toolFilter;
|
|
79756
|
-
$2[29] = t52;
|
|
79757
|
-
} else {
|
|
79758
|
-
t52 = $2[29];
|
|
79759
|
-
}
|
|
79760
|
-
t4 = visiblePlugins.map(t52);
|
|
79761
|
-
$2[11] = activeTools;
|
|
79762
|
-
$2[12] = onRemove;
|
|
79763
|
-
$2[13] = onUpdate;
|
|
79764
|
-
$2[14] = pluginErrors;
|
|
79765
|
-
$2[15] = removingPlugins;
|
|
79766
|
-
$2[16] = setPlugins;
|
|
79767
|
-
$2[17] = skipPermissions;
|
|
79768
|
-
$2[18] = toolFilter;
|
|
79769
|
-
$2[19] = visiblePlugins;
|
|
79770
|
-
$2[20] = t4;
|
|
80082
|
+
$2[16] = visibleFailed;
|
|
80083
|
+
$2[17] = t6;
|
|
79771
80084
|
} else {
|
|
79772
|
-
|
|
80085
|
+
t6 = $2[17];
|
|
79773
80086
|
}
|
|
79774
|
-
|
|
79775
|
-
|
|
79776
|
-
|
|
80087
|
+
const t7 = filterLower ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AccordionComponent, {
|
|
80088
|
+
type: "multiple",
|
|
80089
|
+
className: "space-y-2",
|
|
80090
|
+
children: visiblePlugins.map((p_0) => renderCard(p_0, true))
|
|
80091
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, {
|
|
80092
|
+
children: [readyPlugins.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AccordionComponent, {
|
|
79777
80093
|
type: "multiple",
|
|
80094
|
+
value: openReady,
|
|
80095
|
+
onValueChange: setOpenReady,
|
|
79778
80096
|
className: "space-y-2",
|
|
79779
|
-
children:
|
|
79780
|
-
})
|
|
79781
|
-
|
|
79782
|
-
|
|
79783
|
-
|
|
79784
|
-
|
|
79785
|
-
|
|
79786
|
-
|
|
79787
|
-
|
|
79788
|
-
|
|
79789
|
-
|
|
80097
|
+
children: readyPlugins.map((p_1) => renderCard(p_1, true))
|
|
80098
|
+
}), labelMounted && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", {
|
|
80099
|
+
className: `px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground uppercase tracking-widest transition-opacity duration-200 ${labelVisible ? "opacity-100" : "opacity-0"}`,
|
|
80100
|
+
children: "NOT CONNECTED"
|
|
80101
|
+
}), notReadyPlugins.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AccordionComponent, {
|
|
80102
|
+
type: "multiple",
|
|
80103
|
+
value: openNotReady,
|
|
80104
|
+
onValueChange: setOpenNotReady,
|
|
80105
|
+
className: "space-y-2",
|
|
80106
|
+
children: notReadyPlugins.map((p_2) => renderCard(p_2, false))
|
|
80107
|
+
})]
|
|
80108
|
+
});
|
|
80109
|
+
let t8;
|
|
80110
|
+
if ($2[18] !== t6 || $2[19] !== t7) {
|
|
80111
|
+
t8 = /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, {
|
|
80112
|
+
children: [t6, t7]
|
|
79790
80113
|
});
|
|
79791
|
-
$2[
|
|
79792
|
-
$2[
|
|
79793
|
-
$2[
|
|
80114
|
+
$2[18] = t6;
|
|
80115
|
+
$2[19] = t7;
|
|
80116
|
+
$2[20] = t8;
|
|
79794
80117
|
} else {
|
|
79795
|
-
|
|
80118
|
+
t8 = $2[20];
|
|
79796
80119
|
}
|
|
79797
|
-
return
|
|
80120
|
+
return t8;
|
|
79798
80121
|
};
|
|
79799
80122
|
function _temp11(fp) {
|
|
79800
80123
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(FailedPluginCard, {
|
|
@@ -80069,7 +80392,7 @@ var SectionHeader = (t0) => {
|
|
|
80069
80392
|
};
|
|
80070
80393
|
var matchesBrowserTool = (tool, filterLower) => toDisplayName(tool.name).toLowerCase().includes(filterLower) || tool.name.toLowerCase().includes(filterLower) || tool.description.toLowerCase().includes(filterLower);
|
|
80071
80394
|
var SearchResults = (t0) => {
|
|
80072
|
-
const $2 = (0, import_compiler_runtime28.c)(
|
|
80395
|
+
const $2 = (0, import_compiler_runtime28.c)(56);
|
|
80073
80396
|
const {
|
|
80074
80397
|
plugins,
|
|
80075
80398
|
failedPlugins,
|
|
@@ -80087,8 +80410,7 @@ var SearchResults = (t0) => {
|
|
|
80087
80410
|
onRemove,
|
|
80088
80411
|
removingPlugins,
|
|
80089
80412
|
pluginErrors,
|
|
80090
|
-
serverVersion
|
|
80091
|
-
skipPermissions
|
|
80413
|
+
serverVersion
|
|
80092
80414
|
} = t0;
|
|
80093
80415
|
let failedMatches;
|
|
80094
80416
|
let installedMatches;
|
|
@@ -80124,20 +80446,20 @@ var SearchResults = (t0) => {
|
|
|
80124
80446
|
let t3;
|
|
80125
80447
|
let t4;
|
|
80126
80448
|
let t5;
|
|
80127
|
-
if ($2[9] !== activeTools || $2[10] !== browserTools || $2[11] !== failedMatches || $2[12] !== hasBrowserToolMatches || $2[13] !== installErrors || $2[14] !== installedMatches || $2[15] !== installedShortNames || $2[16] !== installingPlugins || $2[17] !== npmResults || $2[18] !== npmSearching || $2[19] !== onInstall || $2[20] !== onRemove || $2[21] !== onUpdate || $2[22] !== pluginErrors || $2[23] !== removingPlugins || $2[24] !== serverVersion || $2[25] !== setBrowserTools || $2[26] !== setPlugins || $2[27] !==
|
|
80449
|
+
if ($2[9] !== activeTools || $2[10] !== browserTools || $2[11] !== failedMatches || $2[12] !== hasBrowserToolMatches || $2[13] !== installErrors || $2[14] !== installedMatches || $2[15] !== installedShortNames || $2[16] !== installingPlugins || $2[17] !== npmResults || $2[18] !== npmSearching || $2[19] !== onInstall || $2[20] !== onRemove || $2[21] !== onUpdate || $2[22] !== pluginErrors || $2[23] !== removingPlugins || $2[24] !== serverVersion || $2[25] !== setBrowserTools || $2[26] !== setPlugins || $2[27] !== toolFilter) {
|
|
80128
80450
|
let t62;
|
|
80129
|
-
if ($2[
|
|
80451
|
+
if ($2[32] !== installedShortNames) {
|
|
80130
80452
|
t62 = (r3) => !installedShortNames.has(extractShortName(r3.name));
|
|
80131
|
-
$2[
|
|
80132
|
-
$2[
|
|
80453
|
+
$2[32] = installedShortNames;
|
|
80454
|
+
$2[33] = t62;
|
|
80133
80455
|
} else {
|
|
80134
|
-
t62 = $2[
|
|
80456
|
+
t62 = $2[33];
|
|
80135
80457
|
}
|
|
80136
80458
|
const availableResults = npmResults.filter(t62);
|
|
80137
80459
|
const hasInstalledResults = installedMatches.length > 0 || failedMatches.length > 0 || hasBrowserToolMatches;
|
|
80138
80460
|
showNoResults = toolFilter && !hasInstalledResults && !npmSearching && availableResults.length === 0;
|
|
80139
80461
|
t3 = "space-y-4";
|
|
80140
|
-
if ($2[
|
|
80462
|
+
if ($2[34] !== activeTools || $2[35] !== browserTools || $2[36] !== failedMatches || $2[37] !== hasBrowserToolMatches || $2[38] !== hasInstalledResults || $2[39] !== installedMatches || $2[40] !== onRemove || $2[41] !== onUpdate || $2[42] !== pluginErrors || $2[43] !== removingPlugins || $2[44] !== serverVersion || $2[45] !== setBrowserTools || $2[46] !== setPlugins || $2[47] !== toolFilter) {
|
|
80141
80463
|
t4 = hasInstalledResults && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", {
|
|
80142
80464
|
children: [/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SectionHeader, {
|
|
80143
80465
|
children: "Installed"
|
|
@@ -80149,8 +80471,7 @@ var SearchResults = (t0) => {
|
|
|
80149
80471
|
activeTools,
|
|
80150
80472
|
onToolsChange: setBrowserTools,
|
|
80151
80473
|
toolFilter,
|
|
80152
|
-
serverVersion
|
|
80153
|
-
skipPermissions
|
|
80474
|
+
serverVersion
|
|
80154
80475
|
})
|
|
80155
80476
|
}), /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PluginList, {
|
|
80156
80477
|
plugins: installedMatches,
|
|
@@ -80161,28 +80482,26 @@ var SearchResults = (t0) => {
|
|
|
80161
80482
|
onUpdate,
|
|
80162
80483
|
onRemove,
|
|
80163
80484
|
removingPlugins,
|
|
80164
|
-
pluginErrors
|
|
80165
|
-
skipPermissions
|
|
80485
|
+
pluginErrors
|
|
80166
80486
|
})]
|
|
80167
80487
|
});
|
|
80168
|
-
$2[
|
|
80169
|
-
$2[
|
|
80170
|
-
$2[
|
|
80171
|
-
$2[
|
|
80172
|
-
$2[
|
|
80173
|
-
$2[
|
|
80174
|
-
$2[
|
|
80175
|
-
$2[
|
|
80176
|
-
$2[
|
|
80177
|
-
$2[
|
|
80178
|
-
$2[
|
|
80179
|
-
$2[
|
|
80180
|
-
$2[
|
|
80181
|
-
$2[
|
|
80182
|
-
$2[
|
|
80183
|
-
$2[50] = t4;
|
|
80488
|
+
$2[34] = activeTools;
|
|
80489
|
+
$2[35] = browserTools;
|
|
80490
|
+
$2[36] = failedMatches;
|
|
80491
|
+
$2[37] = hasBrowserToolMatches;
|
|
80492
|
+
$2[38] = hasInstalledResults;
|
|
80493
|
+
$2[39] = installedMatches;
|
|
80494
|
+
$2[40] = onRemove;
|
|
80495
|
+
$2[41] = onUpdate;
|
|
80496
|
+
$2[42] = pluginErrors;
|
|
80497
|
+
$2[43] = removingPlugins;
|
|
80498
|
+
$2[44] = serverVersion;
|
|
80499
|
+
$2[45] = setBrowserTools;
|
|
80500
|
+
$2[46] = setPlugins;
|
|
80501
|
+
$2[47] = toolFilter;
|
|
80502
|
+
$2[48] = t4;
|
|
80184
80503
|
} else {
|
|
80185
|
-
t4 = $2[
|
|
80504
|
+
t4 = $2[48];
|
|
80186
80505
|
}
|
|
80187
80506
|
t5 = toolFilter && (npmSearching ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", {
|
|
80188
80507
|
className: "flex justify-center py-4",
|
|
@@ -80220,42 +80539,41 @@ var SearchResults = (t0) => {
|
|
|
80220
80539
|
$2[24] = serverVersion;
|
|
80221
80540
|
$2[25] = setBrowserTools;
|
|
80222
80541
|
$2[26] = setPlugins;
|
|
80223
|
-
$2[27] =
|
|
80224
|
-
$2[28] =
|
|
80225
|
-
$2[29] =
|
|
80226
|
-
$2[30] =
|
|
80227
|
-
$2[31] =
|
|
80228
|
-
$2[32] = t5;
|
|
80542
|
+
$2[27] = toolFilter;
|
|
80543
|
+
$2[28] = showNoResults;
|
|
80544
|
+
$2[29] = t3;
|
|
80545
|
+
$2[30] = t4;
|
|
80546
|
+
$2[31] = t5;
|
|
80229
80547
|
} else {
|
|
80230
|
-
showNoResults = $2[
|
|
80231
|
-
t3 = $2[
|
|
80232
|
-
t4 = $2[
|
|
80233
|
-
t5 = $2[
|
|
80548
|
+
showNoResults = $2[28];
|
|
80549
|
+
t3 = $2[29];
|
|
80550
|
+
t4 = $2[30];
|
|
80551
|
+
t5 = $2[31];
|
|
80234
80552
|
}
|
|
80235
80553
|
let t6;
|
|
80236
|
-
if ($2[
|
|
80554
|
+
if ($2[49] !== showNoResults) {
|
|
80237
80555
|
t6 = showNoResults && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", {
|
|
80238
80556
|
className: "py-8 text-center text-muted-foreground text-sm",
|
|
80239
80557
|
children: "No results"
|
|
80240
80558
|
});
|
|
80241
|
-
$2[
|
|
80242
|
-
$2[
|
|
80559
|
+
$2[49] = showNoResults;
|
|
80560
|
+
$2[50] = t6;
|
|
80243
80561
|
} else {
|
|
80244
|
-
t6 = $2[
|
|
80562
|
+
t6 = $2[50];
|
|
80245
80563
|
}
|
|
80246
80564
|
let t7;
|
|
80247
|
-
if ($2[
|
|
80565
|
+
if ($2[51] !== t3 || $2[52] !== t4 || $2[53] !== t5 || $2[54] !== t6) {
|
|
80248
80566
|
t7 = /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", {
|
|
80249
80567
|
className: t3,
|
|
80250
80568
|
children: [t4, t5, t6]
|
|
80251
80569
|
});
|
|
80252
|
-
$2[
|
|
80253
|
-
$2[
|
|
80254
|
-
$2[
|
|
80255
|
-
$2[
|
|
80256
|
-
$2[
|
|
80570
|
+
$2[51] = t3;
|
|
80571
|
+
$2[52] = t4;
|
|
80572
|
+
$2[53] = t5;
|
|
80573
|
+
$2[54] = t6;
|
|
80574
|
+
$2[55] = t7;
|
|
80257
80575
|
} else {
|
|
80258
|
-
t7 = $2[
|
|
80576
|
+
t7 = $2[55];
|
|
80259
80577
|
}
|
|
80260
80578
|
return t7;
|
|
80261
80579
|
};
|
|
@@ -80266,7 +80584,7 @@ function _temp12(p_1) {
|
|
|
80266
80584
|
|
|
80267
80585
|
// src/side-panel/hooks/useServerNotifications.ts
|
|
80268
80586
|
var import_compiler_runtime29 = __toESM(require_compiler_runtime(), 1);
|
|
80269
|
-
var
|
|
80587
|
+
var import_react22 = __toESM(require_react(), 1);
|
|
80270
80588
|
var validTabStates = /* @__PURE__ */ new Set(["closed", "unavailable", "ready"]);
|
|
80271
80589
|
var useServerNotifications = (t0) => {
|
|
80272
80590
|
const $2 = (0, import_compiler_runtime29.c)(8);
|
|
@@ -80282,7 +80600,7 @@ var useServerNotifications = (t0) => {
|
|
|
80282
80600
|
} else {
|
|
80283
80601
|
t1 = $2[0];
|
|
80284
80602
|
}
|
|
80285
|
-
const seenConfirmationIds = (0,
|
|
80603
|
+
const seenConfirmationIds = (0, import_react22.useRef)(t1);
|
|
80286
80604
|
let t2;
|
|
80287
80605
|
if ($2[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80288
80606
|
t2 = /* @__PURE__ */ new Map();
|
|
@@ -80290,7 +80608,7 @@ var useServerNotifications = (t0) => {
|
|
|
80290
80608
|
} else {
|
|
80291
80609
|
t2 = $2[1];
|
|
80292
80610
|
}
|
|
80293
|
-
const invocationTimeoutIds = (0,
|
|
80611
|
+
const invocationTimeoutIds = (0, import_react22.useRef)(t2);
|
|
80294
80612
|
let t3;
|
|
80295
80613
|
let t4;
|
|
80296
80614
|
if ($2[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -80310,7 +80628,7 @@ var useServerNotifications = (t0) => {
|
|
|
80310
80628
|
t3 = $2[2];
|
|
80311
80629
|
t4 = $2[3];
|
|
80312
80630
|
}
|
|
80313
|
-
(0,
|
|
80631
|
+
(0, import_react22.useEffect)(t3, t4);
|
|
80314
80632
|
let t5;
|
|
80315
80633
|
if ($2[4] !== setActiveTools || $2[5] !== setPendingConfirmations || $2[6] !== setPlugins) {
|
|
80316
80634
|
const handleNotification = (data) => {
|
|
@@ -80394,9 +80712,9 @@ var useServerNotifications = (t0) => {
|
|
|
80394
80712
|
// src/side-panel/App.tsx
|
|
80395
80713
|
var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
|
|
80396
80714
|
var App = () => {
|
|
80397
|
-
const $2 = (0, import_compiler_runtime30.c)(
|
|
80398
|
-
const [connected, setConnected] = (0,
|
|
80399
|
-
const [disconnectReason, setDisconnectReason] = (0,
|
|
80715
|
+
const $2 = (0, import_compiler_runtime30.c)(65);
|
|
80716
|
+
const [connected, setConnected] = (0, import_react23.useState)(false);
|
|
80717
|
+
const [disconnectReason, setDisconnectReason] = (0, import_react23.useState)();
|
|
80400
80718
|
let t0;
|
|
80401
80719
|
if ($2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80402
80720
|
t0 = [];
|
|
@@ -80404,7 +80722,7 @@ var App = () => {
|
|
|
80404
80722
|
} else {
|
|
80405
80723
|
t0 = $2[0];
|
|
80406
80724
|
}
|
|
80407
|
-
const [plugins, setPlugins] = (0,
|
|
80725
|
+
const [plugins, setPlugins] = (0, import_react23.useState)(t0);
|
|
80408
80726
|
let t1;
|
|
80409
80727
|
if ($2[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80410
80728
|
t1 = [];
|
|
@@ -80412,12 +80730,12 @@ var App = () => {
|
|
|
80412
80730
|
} else {
|
|
80413
80731
|
t1 = $2[1];
|
|
80414
80732
|
}
|
|
80415
|
-
const [failedPlugins, setFailedPlugins] = (0,
|
|
80416
|
-
const [browserTools, setBrowserTools] = (0,
|
|
80417
|
-
const [browserPermission, setBrowserPermission] = (0,
|
|
80418
|
-
const [skipPermissions, setSkipPermissions] = (0,
|
|
80419
|
-
const [serverVersion, setServerVersion] = (0,
|
|
80420
|
-
const [loading, setLoading] = (0,
|
|
80733
|
+
const [failedPlugins, setFailedPlugins] = (0, import_react23.useState)(t1);
|
|
80734
|
+
const [browserTools, setBrowserTools] = (0, import_react23.useState)(_temp28);
|
|
80735
|
+
const [browserPermission, setBrowserPermission] = (0, import_react23.useState)("off");
|
|
80736
|
+
const [skipPermissions, setSkipPermissions] = (0, import_react23.useState)(false);
|
|
80737
|
+
const [serverVersion, setServerVersion] = (0, import_react23.useState)(void 0);
|
|
80738
|
+
const [loading, setLoading] = (0, import_react23.useState)(true);
|
|
80421
80739
|
let t2;
|
|
80422
80740
|
if ($2[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80423
80741
|
t2 = /* @__PURE__ */ new Set();
|
|
@@ -80425,8 +80743,8 @@ var App = () => {
|
|
|
80425
80743
|
} else {
|
|
80426
80744
|
t2 = $2[2];
|
|
80427
80745
|
}
|
|
80428
|
-
const [activeTools, setActiveTools] = (0,
|
|
80429
|
-
const [searchQuery, setSearchQuery] = (0,
|
|
80746
|
+
const [activeTools, setActiveTools] = (0, import_react23.useState)(t2);
|
|
80747
|
+
const [searchQuery, setSearchQuery] = (0, import_react23.useState)("");
|
|
80430
80748
|
let t3;
|
|
80431
80749
|
if ($2[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80432
80750
|
t3 = [];
|
|
@@ -80434,7 +80752,7 @@ var App = () => {
|
|
|
80434
80752
|
} else {
|
|
80435
80753
|
t3 = $2[3];
|
|
80436
80754
|
}
|
|
80437
|
-
const [pendingConfirmations, setPendingConfirmations] = (0,
|
|
80755
|
+
const [pendingConfirmations, setPendingConfirmations] = (0, import_react23.useState)(t3);
|
|
80438
80756
|
let t4;
|
|
80439
80757
|
if ($2[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80440
80758
|
t4 = [];
|
|
@@ -80442,8 +80760,8 @@ var App = () => {
|
|
|
80442
80760
|
} else {
|
|
80443
80761
|
t4 = $2[4];
|
|
80444
80762
|
}
|
|
80445
|
-
const [npmResults, setNpmResults] = (0,
|
|
80446
|
-
const [npmSearching, setNpmSearching] = (0,
|
|
80763
|
+
const [npmResults, setNpmResults] = (0, import_react23.useState)(t4);
|
|
80764
|
+
const [npmSearching, setNpmSearching] = (0, import_react23.useState)(false);
|
|
80447
80765
|
let t5;
|
|
80448
80766
|
if ($2[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80449
80767
|
t5 = /* @__PURE__ */ new Set();
|
|
@@ -80451,7 +80769,7 @@ var App = () => {
|
|
|
80451
80769
|
} else {
|
|
80452
80770
|
t5 = $2[5];
|
|
80453
80771
|
}
|
|
80454
|
-
const [installingPlugins, setInstallingPlugins] = (0,
|
|
80772
|
+
const [installingPlugins, setInstallingPlugins] = (0, import_react23.useState)(t5);
|
|
80455
80773
|
let t6;
|
|
80456
80774
|
if ($2[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80457
80775
|
t6 = /* @__PURE__ */ new Set();
|
|
@@ -80459,7 +80777,7 @@ var App = () => {
|
|
|
80459
80777
|
} else {
|
|
80460
80778
|
t6 = $2[6];
|
|
80461
80779
|
}
|
|
80462
|
-
const [removingPlugins, setRemovingPlugins] = (0,
|
|
80780
|
+
const [removingPlugins, setRemovingPlugins] = (0, import_react23.useState)(t6);
|
|
80463
80781
|
let t7;
|
|
80464
80782
|
if ($2[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80465
80783
|
t7 = /* @__PURE__ */ new Map();
|
|
@@ -80467,7 +80785,7 @@ var App = () => {
|
|
|
80467
80785
|
} else {
|
|
80468
80786
|
t7 = $2[7];
|
|
80469
80787
|
}
|
|
80470
|
-
const [installErrors, setInstallErrors] = (0,
|
|
80788
|
+
const [installErrors, setInstallErrors] = (0, import_react23.useState)(t7);
|
|
80471
80789
|
let t8;
|
|
80472
80790
|
if ($2[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80473
80791
|
t8 = /* @__PURE__ */ new Map();
|
|
@@ -80475,7 +80793,7 @@ var App = () => {
|
|
|
80475
80793
|
} else {
|
|
80476
80794
|
t8 = $2[8];
|
|
80477
80795
|
}
|
|
80478
|
-
const [pluginErrors, setPluginErrors] = (0,
|
|
80796
|
+
const [pluginErrors, setPluginErrors] = (0, import_react23.useState)(t8);
|
|
80479
80797
|
let t9;
|
|
80480
80798
|
if ($2[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80481
80799
|
t9 = /* @__PURE__ */ new Map();
|
|
@@ -80483,12 +80801,12 @@ var App = () => {
|
|
|
80483
80801
|
} else {
|
|
80484
80802
|
t9 = $2[9];
|
|
80485
80803
|
}
|
|
80486
|
-
const pluginErrorTimers = (0,
|
|
80487
|
-
const npmSearchTimer = (0,
|
|
80488
|
-
const npmSearchCounter = (0,
|
|
80489
|
-
const connectedRef = (0,
|
|
80490
|
-
const loadingRef = (0,
|
|
80491
|
-
const pluginsRef = (0,
|
|
80804
|
+
const pluginErrorTimers = (0, import_react23.useRef)(t9);
|
|
80805
|
+
const npmSearchTimer = (0, import_react23.useRef)(void 0);
|
|
80806
|
+
const npmSearchCounter = (0, import_react23.useRef)(0);
|
|
80807
|
+
const connectedRef = (0, import_react23.useRef)(connected);
|
|
80808
|
+
const loadingRef = (0, import_react23.useRef)(loading);
|
|
80809
|
+
const pluginsRef = (0, import_react23.useRef)(plugins);
|
|
80492
80810
|
let t10;
|
|
80493
80811
|
let t11;
|
|
80494
80812
|
if ($2[10] !== connected || $2[11] !== loading || $2[12] !== plugins) {
|
|
@@ -80507,7 +80825,7 @@ var App = () => {
|
|
|
80507
80825
|
t10 = $2[13];
|
|
80508
80826
|
t11 = $2[14];
|
|
80509
80827
|
}
|
|
80510
|
-
(0,
|
|
80828
|
+
(0, import_react23.useEffect)(t10, t11);
|
|
80511
80829
|
let t12;
|
|
80512
80830
|
if ($2[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80513
80831
|
t12 = {
|
|
@@ -80537,7 +80855,7 @@ var App = () => {
|
|
|
80537
80855
|
t13 = $2[16];
|
|
80538
80856
|
t14 = $2[17];
|
|
80539
80857
|
}
|
|
80540
|
-
(0,
|
|
80858
|
+
(0, import_react23.useEffect)(t13, t14);
|
|
80541
80859
|
let t15;
|
|
80542
80860
|
if ($2[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80543
80861
|
t15 = (pluginName, message) => {
|
|
@@ -80693,7 +81011,7 @@ var App = () => {
|
|
|
80693
81011
|
if (result_0.browserTools.length === 0) {
|
|
80694
81012
|
return BROWSER_TOOLS_CATALOG.map(_temp36);
|
|
80695
81013
|
}
|
|
80696
|
-
const serverNames = new Set(result_0.browserTools.map(
|
|
81014
|
+
const serverNames = new Set(result_0.browserTools.map(_temp44));
|
|
80697
81015
|
const merged = [...result_0.browserTools];
|
|
80698
81016
|
for (const local of BROWSER_TOOLS_CATALOG) {
|
|
80699
81017
|
if (!serverNames.has(local.name)) {
|
|
@@ -80815,7 +81133,7 @@ var App = () => {
|
|
|
80815
81133
|
t21 = $2[25];
|
|
80816
81134
|
t22 = $2[26];
|
|
80817
81135
|
}
|
|
80818
|
-
(0,
|
|
81136
|
+
(0, import_react23.useEffect)(t21, t22);
|
|
80819
81137
|
let t23;
|
|
80820
81138
|
if ($2[27] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
80821
81139
|
t23 = (id, decision, alwaysAllow) => {
|
|
@@ -80844,17 +81162,22 @@ var App = () => {
|
|
|
80844
81162
|
}
|
|
80845
81163
|
let t25;
|
|
80846
81164
|
if ($2[31] !== skipPermissions) {
|
|
80847
|
-
t25 = skipPermissions && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
80848
|
-
|
|
80849
|
-
|
|
80850
|
-
|
|
80851
|
-
|
|
80852
|
-
|
|
80853
|
-
|
|
80854
|
-
|
|
80855
|
-
|
|
80856
|
-
children: "--dangerously-skip-permissions"
|
|
81165
|
+
t25 = skipPermissions && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", {
|
|
81166
|
+
className: "shrink-0 border-destructive border-b-2 bg-destructive/15 px-4 py-1.5",
|
|
81167
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", {
|
|
81168
|
+
className: "flex items-center gap-1.5",
|
|
81169
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ShieldOff, {
|
|
81170
|
+
className: "h-3.5 w-3.5 shrink-0 text-destructive"
|
|
81171
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", {
|
|
81172
|
+
className: "font-head text-destructive text-xs uppercase",
|
|
81173
|
+
children: "Approvals skipped"
|
|
80857
81174
|
})]
|
|
81175
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("p", {
|
|
81176
|
+
className: "mt-0.5 text-[11px] text-foreground/70 leading-tight",
|
|
81177
|
+
children: ["AI runs tools without asking. Off tools stay off. Set by", " ", /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("code", {
|
|
81178
|
+
className: "font-mono",
|
|
81179
|
+
children: "OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS"
|
|
81180
|
+
}), "."]
|
|
80858
81181
|
})]
|
|
80859
81182
|
});
|
|
80860
81183
|
$2[31] = skipPermissions;
|
|
@@ -80912,7 +81235,7 @@ var App = () => {
|
|
|
80912
81235
|
}
|
|
80913
81236
|
const t29 = `px-4 pb-4 ${showSearchBar ? "pt-2" : "pt-4"} ${showPlugins ? "" : "flex min-h-full items-center justify-center"}`;
|
|
80914
81237
|
let t30;
|
|
80915
|
-
if ($2[38] !== activeTools || $2[39] !== browserPermission || $2[40] !== browserTools || $2[41] !== connected || $2[42] !== disconnectReason || $2[43] !== failedPlugins || $2[44] !== hasContent || $2[45] !== installErrors || $2[46] !== installingPlugins || $2[47] !== loading || $2[48] !== npmResults || $2[49] !== npmSearching || $2[50] !== pluginErrors || $2[51] !== plugins || $2[52] !== removingPlugins || $2[53] !== searchQuery || $2[54] !== serverVersion
|
|
81238
|
+
if ($2[38] !== activeTools || $2[39] !== browserPermission || $2[40] !== browserTools || $2[41] !== connected || $2[42] !== disconnectReason || $2[43] !== failedPlugins || $2[44] !== hasContent || $2[45] !== installErrors || $2[46] !== installingPlugins || $2[47] !== loading || $2[48] !== npmResults || $2[49] !== npmSearching || $2[50] !== pluginErrors || $2[51] !== plugins || $2[52] !== removingPlugins || $2[53] !== searchQuery || $2[54] !== serverVersion) {
|
|
80916
81239
|
t30 = loading ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(LoadingState, {}) : !connected ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(DisconnectedState, {
|
|
80917
81240
|
reason: disconnectReason
|
|
80918
81241
|
}) : searchQuery ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SearchResults, {
|
|
@@ -80932,8 +81255,7 @@ var App = () => {
|
|
|
80932
81255
|
onRemove: handleRemove,
|
|
80933
81256
|
removingPlugins,
|
|
80934
81257
|
pluginErrors,
|
|
80935
|
-
serverVersion
|
|
80936
|
-
skipPermissions
|
|
81258
|
+
serverVersion
|
|
80937
81259
|
}) : hasContent ? /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, {
|
|
80938
81260
|
children: [browserTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AccordionComponent, {
|
|
80939
81261
|
type: "multiple",
|
|
@@ -80944,8 +81266,7 @@ var App = () => {
|
|
|
80944
81266
|
onToolsChange: setBrowserTools,
|
|
80945
81267
|
serverVersion,
|
|
80946
81268
|
browserPermission,
|
|
80947
|
-
onBrowserPermissionChange: setBrowserPermission
|
|
80948
|
-
skipPermissions
|
|
81269
|
+
onBrowserPermissionChange: setBrowserPermission
|
|
80949
81270
|
})
|
|
80950
81271
|
}), /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PluginList, {
|
|
80951
81272
|
plugins,
|
|
@@ -80956,8 +81277,7 @@ var App = () => {
|
|
|
80956
81277
|
onUpdate: handleUpdate,
|
|
80957
81278
|
onRemove: handleRemove,
|
|
80958
81279
|
removingPlugins,
|
|
80959
|
-
pluginErrors
|
|
80960
|
-
skipPermissions
|
|
81280
|
+
pluginErrors
|
|
80961
81281
|
})]
|
|
80962
81282
|
}) : null;
|
|
80963
81283
|
$2[38] = activeTools;
|
|
@@ -80977,13 +81297,12 @@ var App = () => {
|
|
|
80977
81297
|
$2[52] = removingPlugins;
|
|
80978
81298
|
$2[53] = searchQuery;
|
|
80979
81299
|
$2[54] = serverVersion;
|
|
80980
|
-
$2[55] =
|
|
80981
|
-
$2[56] = t30;
|
|
81300
|
+
$2[55] = t30;
|
|
80982
81301
|
} else {
|
|
80983
|
-
t30 = $2[
|
|
81302
|
+
t30 = $2[55];
|
|
80984
81303
|
}
|
|
80985
81304
|
let t31;
|
|
80986
|
-
if ($2[
|
|
81305
|
+
if ($2[56] !== t29 || $2[57] !== t30) {
|
|
80987
81306
|
t31 = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(g2, {
|
|
80988
81307
|
className: "flex-1",
|
|
80989
81308
|
style: t27,
|
|
@@ -80993,34 +81312,34 @@ var App = () => {
|
|
|
80993
81312
|
children: t30
|
|
80994
81313
|
})
|
|
80995
81314
|
});
|
|
80996
|
-
$2[
|
|
80997
|
-
$2[
|
|
80998
|
-
$2[
|
|
81315
|
+
$2[56] = t29;
|
|
81316
|
+
$2[57] = t30;
|
|
81317
|
+
$2[58] = t31;
|
|
80999
81318
|
} else {
|
|
81000
|
-
t31 = $2[
|
|
81319
|
+
t31 = $2[58];
|
|
81001
81320
|
}
|
|
81002
81321
|
let t32;
|
|
81003
|
-
if ($2[
|
|
81322
|
+
if ($2[59] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
81004
81323
|
t32 = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Footer, {});
|
|
81005
|
-
$2[
|
|
81324
|
+
$2[59] = t32;
|
|
81006
81325
|
} else {
|
|
81007
|
-
t32 = $2[
|
|
81326
|
+
t32 = $2[59];
|
|
81008
81327
|
}
|
|
81009
81328
|
let t33;
|
|
81010
|
-
if ($2[
|
|
81329
|
+
if ($2[60] !== t24 || $2[61] !== t25 || $2[62] !== t26 || $2[63] !== t31) {
|
|
81011
81330
|
t33 = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipObject.Provider, {
|
|
81012
81331
|
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", {
|
|
81013
81332
|
className: "flex h-screen flex-col overflow-hidden text-foreground",
|
|
81014
81333
|
children: [t24, t25, t26, t31, t32]
|
|
81015
81334
|
})
|
|
81016
81335
|
});
|
|
81017
|
-
$2[
|
|
81018
|
-
$2[
|
|
81019
|
-
$2[
|
|
81020
|
-
$2[
|
|
81021
|
-
$2[
|
|
81336
|
+
$2[60] = t24;
|
|
81337
|
+
$2[61] = t25;
|
|
81338
|
+
$2[62] = t26;
|
|
81339
|
+
$2[63] = t31;
|
|
81340
|
+
$2[64] = t33;
|
|
81022
81341
|
} else {
|
|
81023
|
-
t33 = $2[
|
|
81342
|
+
t33 = $2[64];
|
|
81024
81343
|
}
|
|
81025
81344
|
return t33;
|
|
81026
81345
|
};
|
|
@@ -81039,7 +81358,7 @@ function _temp36(t_0) {
|
|
|
81039
81358
|
permission: "auto"
|
|
81040
81359
|
};
|
|
81041
81360
|
}
|
|
81042
|
-
function
|
|
81361
|
+
function _temp44(t_1) {
|
|
81043
81362
|
return t_1.name;
|
|
81044
81363
|
}
|
|
81045
81364
|
function _temp52(p_0) {
|
|
@@ -81060,9 +81379,9 @@ function _temp82() {
|
|
|
81060
81379
|
}
|
|
81061
81380
|
|
|
81062
81381
|
// src/side-panel/components/ErrorBoundary.tsx
|
|
81063
|
-
var
|
|
81382
|
+
var import_react24 = __toESM(require_react(), 1);
|
|
81064
81383
|
var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
|
|
81065
|
-
var ErrorBoundary = class extends
|
|
81384
|
+
var ErrorBoundary = class extends import_react24.Component {
|
|
81066
81385
|
state = {
|
|
81067
81386
|
hasError: false
|
|
81068
81387
|
};
|
|
@@ -81106,7 +81425,7 @@ if (!rootEl) {
|
|
|
81106
81425
|
throw new Error("Root element not found");
|
|
81107
81426
|
}
|
|
81108
81427
|
var root = (0, import_client.createRoot)(rootEl);
|
|
81109
|
-
root.render(/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
81428
|
+
root.render(/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react25.StrictMode, {
|
|
81110
81429
|
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ErrorBoundary, {
|
|
81111
81430
|
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(App, {})
|
|
81112
81431
|
})
|