@industry-theme/agent-panels 0.2.30 → 0.2.32
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/panels/SkillsBrowsePanel.d.ts.map +1 -1
- package/dist/panels/skills/components/SkillCard.d.ts +5 -0
- package/dist/panels/skills/components/SkillCard.d.ts.map +1 -1
- package/dist/panels/skills/components/SkillMarkdown.d.ts +19 -0
- package/dist/panels/skills/components/SkillMarkdown.d.ts.map +1 -1
- package/dist/panels.bundle.js +178 -28
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillsBrowsePanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillsBrowsePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKpD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"SkillsBrowsePanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillsBrowsePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKpD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuZ9D,CAAC"}
|
|
@@ -9,6 +9,11 @@ interface SkillCardProps {
|
|
|
9
9
|
* Used to determine which path to copy when skill has multiple installations
|
|
10
10
|
*/
|
|
11
11
|
filterContext?: 'project' | 'global';
|
|
12
|
+
/**
|
|
13
|
+
* Whether this skill is already installed globally
|
|
14
|
+
* Used in browse mode to show installation status
|
|
15
|
+
*/
|
|
16
|
+
isInstalled?: boolean;
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
19
|
* SkillCard - Displays a single skill with its metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillCard.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAEjE,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillCard.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAEjE,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA0a9C,CAAC"}
|
|
@@ -38,6 +38,25 @@ export interface SkillMarkdownProps {
|
|
|
38
38
|
actions?: PanelActions;
|
|
39
39
|
/** Optional event emitter for panel communication */
|
|
40
40
|
events?: PanelEventEmitter;
|
|
41
|
+
/** Install button configuration */
|
|
42
|
+
installConfig?: {
|
|
43
|
+
/** Whether the skill is currently installed */
|
|
44
|
+
isInstalled: boolean;
|
|
45
|
+
/** Directory IDs where the skill is installed */
|
|
46
|
+
installedDirectoryIds?: string[];
|
|
47
|
+
/** GitHub source information for the skill */
|
|
48
|
+
githubSource?: {
|
|
49
|
+
owner: string;
|
|
50
|
+
repo: string;
|
|
51
|
+
branch: string;
|
|
52
|
+
skillPath: string;
|
|
53
|
+
currentSha?: string;
|
|
54
|
+
};
|
|
55
|
+
/** Callback when install button is clicked */
|
|
56
|
+
onInstall: () => void;
|
|
57
|
+
/** Optional callback when uninstall is requested */
|
|
58
|
+
onUninstall?: () => void;
|
|
59
|
+
};
|
|
41
60
|
}
|
|
42
61
|
/**
|
|
43
62
|
* SkillMarkdown component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillMarkdown.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,kDAAkD;IAClD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACrD,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,uEAAuE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qDAAqD;IACrD,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/panels/skills/components/SkillMarkdown.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,kDAAkD;IAClD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACrD,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,uEAAuE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qDAAqD;IACrD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,mCAAmC;IACnC,aAAa,CAAC,EAAE;QACd,+CAA+C;QAC/C,WAAW,EAAE,OAAO,CAAC;QACrB,iDAAiD;QACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,8CAA8C;QAC9C,YAAY,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,8CAA8C;QAC9C,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,oDAAoD;QACpD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;CACH;AA+lBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyXtD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -2201,7 +2201,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
2201
2201
|
* This source code is licensed under the ISC license.
|
|
2202
2202
|
* See the LICENSE file in the root directory of this source tree.
|
|
2203
2203
|
*/
|
|
2204
|
-
const __iconNode$
|
|
2204
|
+
const __iconNode$u = [
|
|
2205
2205
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
2206
2206
|
[
|
|
2207
2207
|
"path",
|
|
@@ -2211,14 +2211,14 @@ const __iconNode$t = [
|
|
|
2211
2211
|
}
|
|
2212
2212
|
]
|
|
2213
2213
|
];
|
|
2214
|
-
const BookOpen = createLucideIcon("book-open", __iconNode$
|
|
2214
|
+
const BookOpen = createLucideIcon("book-open", __iconNode$u);
|
|
2215
2215
|
/**
|
|
2216
2216
|
* @license lucide-react v0.552.0 - ISC
|
|
2217
2217
|
*
|
|
2218
2218
|
* This source code is licensed under the ISC license.
|
|
2219
2219
|
* See the LICENSE file in the root directory of this source tree.
|
|
2220
2220
|
*/
|
|
2221
|
-
const __iconNode$
|
|
2221
|
+
const __iconNode$t = [
|
|
2222
2222
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
2223
2223
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
2224
2224
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -2226,93 +2226,105 @@ const __iconNode$s = [
|
|
|
2226
2226
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
2227
2227
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
2228
2228
|
];
|
|
2229
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
2229
|
+
const Bot = createLucideIcon("bot", __iconNode$t);
|
|
2230
2230
|
/**
|
|
2231
2231
|
* @license lucide-react v0.552.0 - ISC
|
|
2232
2232
|
*
|
|
2233
2233
|
* This source code is licensed under the ISC license.
|
|
2234
2234
|
* See the LICENSE file in the root directory of this source tree.
|
|
2235
2235
|
*/
|
|
2236
|
-
const __iconNode$
|
|
2237
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
2236
|
+
const __iconNode$s = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
2237
|
+
const Check = createLucideIcon("check", __iconNode$s);
|
|
2238
2238
|
/**
|
|
2239
2239
|
* @license lucide-react v0.552.0 - ISC
|
|
2240
2240
|
*
|
|
2241
2241
|
* This source code is licensed under the ISC license.
|
|
2242
2242
|
* See the LICENSE file in the root directory of this source tree.
|
|
2243
2243
|
*/
|
|
2244
|
-
const __iconNode$
|
|
2245
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
2244
|
+
const __iconNode$r = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
2245
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$r);
|
|
2246
2246
|
/**
|
|
2247
2247
|
* @license lucide-react v0.552.0 - ISC
|
|
2248
2248
|
*
|
|
2249
2249
|
* This source code is licensed under the ISC license.
|
|
2250
2250
|
* See the LICENSE file in the root directory of this source tree.
|
|
2251
2251
|
*/
|
|
2252
|
-
const __iconNode$
|
|
2253
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
2252
|
+
const __iconNode$q = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
2253
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$q);
|
|
2254
2254
|
/**
|
|
2255
2255
|
* @license lucide-react v0.552.0 - ISC
|
|
2256
2256
|
*
|
|
2257
2257
|
* This source code is licensed under the ISC license.
|
|
2258
2258
|
* See the LICENSE file in the root directory of this source tree.
|
|
2259
2259
|
*/
|
|
2260
|
-
const __iconNode$
|
|
2261
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
2260
|
+
const __iconNode$p = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
2261
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$p);
|
|
2262
2262
|
/**
|
|
2263
2263
|
* @license lucide-react v0.552.0 - ISC
|
|
2264
2264
|
*
|
|
2265
2265
|
* This source code is licensed under the ISC license.
|
|
2266
2266
|
* See the LICENSE file in the root directory of this source tree.
|
|
2267
2267
|
*/
|
|
2268
|
-
const __iconNode$
|
|
2269
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
2268
|
+
const __iconNode$o = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
2269
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$o);
|
|
2270
2270
|
/**
|
|
2271
2271
|
* @license lucide-react v0.552.0 - ISC
|
|
2272
2272
|
*
|
|
2273
2273
|
* This source code is licensed under the ISC license.
|
|
2274
2274
|
* See the LICENSE file in the root directory of this source tree.
|
|
2275
2275
|
*/
|
|
2276
|
-
const __iconNode$
|
|
2276
|
+
const __iconNode$n = [
|
|
2277
2277
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
2278
2278
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
2279
2279
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
2280
2280
|
];
|
|
2281
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
2281
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$n);
|
|
2282
2282
|
/**
|
|
2283
2283
|
* @license lucide-react v0.552.0 - ISC
|
|
2284
2284
|
*
|
|
2285
2285
|
* This source code is licensed under the ISC license.
|
|
2286
2286
|
* See the LICENSE file in the root directory of this source tree.
|
|
2287
2287
|
*/
|
|
2288
|
-
const __iconNode$
|
|
2288
|
+
const __iconNode$m = [
|
|
2289
2289
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
2290
2290
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
2291
2291
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
2292
2292
|
];
|
|
2293
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
2293
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$m);
|
|
2294
2294
|
/**
|
|
2295
2295
|
* @license lucide-react v0.552.0 - ISC
|
|
2296
2296
|
*
|
|
2297
2297
|
* This source code is licensed under the ISC license.
|
|
2298
2298
|
* See the LICENSE file in the root directory of this source tree.
|
|
2299
2299
|
*/
|
|
2300
|
-
const __iconNode$
|
|
2300
|
+
const __iconNode$l = [
|
|
2301
2301
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
2302
2302
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
2303
2303
|
];
|
|
2304
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
2304
|
+
const Code = createLucideIcon("code", __iconNode$l);
|
|
2305
2305
|
/**
|
|
2306
2306
|
* @license lucide-react v0.552.0 - ISC
|
|
2307
2307
|
*
|
|
2308
2308
|
* This source code is licensed under the ISC license.
|
|
2309
2309
|
* See the LICENSE file in the root directory of this source tree.
|
|
2310
2310
|
*/
|
|
2311
|
-
const __iconNode$
|
|
2311
|
+
const __iconNode$k = [
|
|
2312
2312
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
2313
2313
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
2314
2314
|
];
|
|
2315
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
2315
|
+
const Copy = createLucideIcon("copy", __iconNode$k);
|
|
2316
|
+
/**
|
|
2317
|
+
* @license lucide-react v0.552.0 - ISC
|
|
2318
|
+
*
|
|
2319
|
+
* This source code is licensed under the ISC license.
|
|
2320
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2321
|
+
*/
|
|
2322
|
+
const __iconNode$j = [
|
|
2323
|
+
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
2324
|
+
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
2325
|
+
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
2326
|
+
];
|
|
2327
|
+
const Download = createLucideIcon("download", __iconNode$j);
|
|
2316
2328
|
/**
|
|
2317
2329
|
* @license lucide-react v0.552.0 - ISC
|
|
2318
2330
|
*
|
|
@@ -3003,7 +3015,8 @@ const SkillCard = ({
|
|
|
3003
3015
|
skill,
|
|
3004
3016
|
onClick,
|
|
3005
3017
|
isSelected = false,
|
|
3006
|
-
filterContext
|
|
3018
|
+
filterContext,
|
|
3019
|
+
isInstalled = false
|
|
3007
3020
|
}) => {
|
|
3008
3021
|
var _a, _b, _c, _d, _e2, _f, _g, _h;
|
|
3009
3022
|
const { theme: theme2 } = useTheme();
|
|
@@ -3110,6 +3123,30 @@ const SkillCard = ({
|
|
|
3110
3123
|
]
|
|
3111
3124
|
}
|
|
3112
3125
|
),
|
|
3126
|
+
isInstalled && /* @__PURE__ */ jsxs(
|
|
3127
|
+
"div",
|
|
3128
|
+
{
|
|
3129
|
+
style: {
|
|
3130
|
+
display: "inline-flex",
|
|
3131
|
+
alignItems: "center",
|
|
3132
|
+
gap: "4px",
|
|
3133
|
+
padding: "2px 6px",
|
|
3134
|
+
borderRadius: theme2.radii[1],
|
|
3135
|
+
backgroundColor: "#16a34a15",
|
|
3136
|
+
// green
|
|
3137
|
+
border: `1px solid #16a34a30`,
|
|
3138
|
+
fontSize: theme2.fontSizes[0],
|
|
3139
|
+
color: "#16a34a",
|
|
3140
|
+
fontWeight: 500,
|
|
3141
|
+
width: "fit-content"
|
|
3142
|
+
},
|
|
3143
|
+
title: "This skill is already installed globally",
|
|
3144
|
+
children: [
|
|
3145
|
+
/* @__PURE__ */ jsx(Package, { size: 10 }),
|
|
3146
|
+
/* @__PURE__ */ jsx("span", { children: "Installed" })
|
|
3147
|
+
]
|
|
3148
|
+
}
|
|
3149
|
+
),
|
|
3113
3150
|
((_a = skill.metadata) == null ? void 0 : _a.owner) && ((_b = skill.metadata) == null ? void 0 : _b.repo) && /* @__PURE__ */ jsxs(
|
|
3114
3151
|
"a",
|
|
3115
3152
|
{
|
|
@@ -3898,7 +3935,7 @@ const SkillsBrowsePanel = ({
|
|
|
3898
3935
|
events,
|
|
3899
3936
|
supportsRefresh = false
|
|
3900
3937
|
}) => {
|
|
3901
|
-
var _a;
|
|
3938
|
+
var _a, _b;
|
|
3902
3939
|
const { theme: theme2 } = useTheme();
|
|
3903
3940
|
const panelRef = useRef(null);
|
|
3904
3941
|
const [selectedSkillId, setSelectedSkillId] = useState(null);
|
|
@@ -3910,6 +3947,11 @@ const SkillsBrowsePanel = ({
|
|
|
3910
3947
|
const sourceInfo = (_a = fileTree == null ? void 0 : fileTree.metadata) == null ? void 0 : _a.sourceInfo;
|
|
3911
3948
|
const owner = sourceInfo == null ? void 0 : sourceInfo.owner;
|
|
3912
3949
|
const repo = sourceInfo == null ? void 0 : sourceInfo.repo;
|
|
3950
|
+
const globalSkillsSlice = context.getSlice("globalSkills");
|
|
3951
|
+
const globalSkills = ((_b = globalSkillsSlice == null ? void 0 : globalSkillsSlice.data) == null ? void 0 : _b.skills) || [];
|
|
3952
|
+
const installedSkillNames = useMemo(() => {
|
|
3953
|
+
return new Set(globalSkills.map((skill) => skill.name));
|
|
3954
|
+
}, [globalSkills]);
|
|
3913
3955
|
gt("skills-browse", events, () => {
|
|
3914
3956
|
var _a2;
|
|
3915
3957
|
return (_a2 = panelRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -3933,10 +3975,10 @@ const SkillsBrowsePanel = ({
|
|
|
3933
3975
|
if (searchQuery.trim()) {
|
|
3934
3976
|
const query = searchQuery.toLowerCase().trim();
|
|
3935
3977
|
filtered = filtered.filter((skill) => {
|
|
3936
|
-
var _a2,
|
|
3978
|
+
var _a2, _b2;
|
|
3937
3979
|
if (skill.name.toLowerCase().includes(query)) return true;
|
|
3938
3980
|
if ((_a2 = skill.description) == null ? void 0 : _a2.toLowerCase().includes(query)) return true;
|
|
3939
|
-
if ((
|
|
3981
|
+
if ((_b2 = skill.capabilities) == null ? void 0 : _b2.some((cap2) => cap2.toLowerCase().includes(query)))
|
|
3940
3982
|
return true;
|
|
3941
3983
|
if (skill.path.toLowerCase().includes(query)) return true;
|
|
3942
3984
|
return false;
|
|
@@ -4269,7 +4311,8 @@ const SkillsBrowsePanel = ({
|
|
|
4269
4311
|
{
|
|
4270
4312
|
skill,
|
|
4271
4313
|
onClick: handleSkillClick,
|
|
4272
|
-
isSelected: selectedSkillId === skill.id
|
|
4314
|
+
isSelected: selectedSkillId === skill.id,
|
|
4315
|
+
isInstalled: installedSkillNames.has(skill.name)
|
|
4273
4316
|
},
|
|
4274
4317
|
skill.id
|
|
4275
4318
|
))
|
|
@@ -49855,7 +49898,8 @@ const SkillMarkdown = ({
|
|
|
49855
49898
|
structure,
|
|
49856
49899
|
skill,
|
|
49857
49900
|
actions,
|
|
49858
|
-
events
|
|
49901
|
+
events,
|
|
49902
|
+
installConfig
|
|
49859
49903
|
}) => {
|
|
49860
49904
|
const [parsed, setParsed] = React2__default.useState(null);
|
|
49861
49905
|
const [headers, setHeaders] = React2__default.useState([]);
|
|
@@ -50049,6 +50093,112 @@ const SkillMarkdown = ({
|
|
|
50049
50093
|
onClose: handleCloseSearch
|
|
50050
50094
|
}
|
|
50051
50095
|
),
|
|
50096
|
+
installConfig && /* @__PURE__ */ jsxs(
|
|
50097
|
+
"div",
|
|
50098
|
+
{
|
|
50099
|
+
style: {
|
|
50100
|
+
padding: "12px 16px",
|
|
50101
|
+
background: theme2.colors.backgroundSecondary,
|
|
50102
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
50103
|
+
display: "flex",
|
|
50104
|
+
alignItems: "center",
|
|
50105
|
+
justifyContent: "space-between",
|
|
50106
|
+
gap: "12px",
|
|
50107
|
+
flexShrink: 0
|
|
50108
|
+
},
|
|
50109
|
+
children: [
|
|
50110
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "12px", flex: 1 }, children: installConfig.githubSource && /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px", fontSize: theme2.fontSizes[1], color: theme2.colors.textSecondary }, children: [
|
|
50111
|
+
/* @__PURE__ */ jsx(Globe, { size: 14 }),
|
|
50112
|
+
/* @__PURE__ */ jsxs("span", { style: { fontFamily: theme2.fonts.monospace }, children: [
|
|
50113
|
+
installConfig.githubSource.owner,
|
|
50114
|
+
"/",
|
|
50115
|
+
installConfig.githubSource.repo
|
|
50116
|
+
] }),
|
|
50117
|
+
/* @__PURE__ */ jsx("span", { style: { color: theme2.colors.border }, children: "•" }),
|
|
50118
|
+
/* @__PURE__ */ jsx("span", { children: installConfig.githubSource.branch })
|
|
50119
|
+
] }) }),
|
|
50120
|
+
installConfig.isInstalled ? /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
50121
|
+
/* @__PURE__ */ jsxs(
|
|
50122
|
+
"div",
|
|
50123
|
+
{
|
|
50124
|
+
style: {
|
|
50125
|
+
display: "flex",
|
|
50126
|
+
alignItems: "center",
|
|
50127
|
+
gap: "6px",
|
|
50128
|
+
padding: "6px 12px",
|
|
50129
|
+
borderRadius: theme2.radii[1],
|
|
50130
|
+
background: "#16a34a15",
|
|
50131
|
+
border: "1px solid #16a34a30",
|
|
50132
|
+
color: "#16a34a",
|
|
50133
|
+
fontSize: theme2.fontSizes[1],
|
|
50134
|
+
fontWeight: 500
|
|
50135
|
+
},
|
|
50136
|
+
children: [
|
|
50137
|
+
/* @__PURE__ */ jsx(Check, { size: 14 }),
|
|
50138
|
+
/* @__PURE__ */ jsx("span", { children: "Installed" })
|
|
50139
|
+
]
|
|
50140
|
+
}
|
|
50141
|
+
),
|
|
50142
|
+
installConfig.onUninstall && /* @__PURE__ */ jsx(
|
|
50143
|
+
"button",
|
|
50144
|
+
{
|
|
50145
|
+
onClick: installConfig.onUninstall,
|
|
50146
|
+
style: {
|
|
50147
|
+
padding: "6px 12px",
|
|
50148
|
+
borderRadius: theme2.radii[1],
|
|
50149
|
+
background: "transparent",
|
|
50150
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
50151
|
+
color: theme2.colors.textSecondary,
|
|
50152
|
+
fontSize: theme2.fontSizes[1],
|
|
50153
|
+
cursor: "pointer",
|
|
50154
|
+
transition: "all 0.2s"
|
|
50155
|
+
},
|
|
50156
|
+
onMouseEnter: (e) => {
|
|
50157
|
+
e.currentTarget.style.background = theme2.colors.backgroundSecondary;
|
|
50158
|
+
e.currentTarget.style.borderColor = theme2.colors.error;
|
|
50159
|
+
e.currentTarget.style.color = theme2.colors.error;
|
|
50160
|
+
},
|
|
50161
|
+
onMouseLeave: (e) => {
|
|
50162
|
+
e.currentTarget.style.background = "transparent";
|
|
50163
|
+
e.currentTarget.style.borderColor = theme2.colors.border;
|
|
50164
|
+
e.currentTarget.style.color = theme2.colors.textSecondary;
|
|
50165
|
+
},
|
|
50166
|
+
children: "Uninstall"
|
|
50167
|
+
}
|
|
50168
|
+
)
|
|
50169
|
+
] }) : /* @__PURE__ */ jsxs(
|
|
50170
|
+
"button",
|
|
50171
|
+
{
|
|
50172
|
+
onClick: installConfig.onInstall,
|
|
50173
|
+
style: {
|
|
50174
|
+
display: "flex",
|
|
50175
|
+
alignItems: "center",
|
|
50176
|
+
gap: "6px",
|
|
50177
|
+
padding: "8px 16px",
|
|
50178
|
+
borderRadius: theme2.radii[1],
|
|
50179
|
+
background: theme2.colors.primary,
|
|
50180
|
+
border: "none",
|
|
50181
|
+
color: theme2.colors.background,
|
|
50182
|
+
fontSize: theme2.fontSizes[1],
|
|
50183
|
+
fontWeight: 500,
|
|
50184
|
+
cursor: "pointer",
|
|
50185
|
+
transition: "all 0.2s"
|
|
50186
|
+
},
|
|
50187
|
+
onMouseEnter: (e) => {
|
|
50188
|
+
e.currentTarget.style.opacity = "0.85";
|
|
50189
|
+
},
|
|
50190
|
+
onMouseLeave: (e) => {
|
|
50191
|
+
e.currentTarget.style.opacity = "1";
|
|
50192
|
+
},
|
|
50193
|
+
children: [
|
|
50194
|
+
/* @__PURE__ */ jsx(Download, { size: 14 }),
|
|
50195
|
+
/* @__PURE__ */ jsx("span", { children: "Install Skill" })
|
|
50196
|
+
]
|
|
50197
|
+
}
|
|
50198
|
+
)
|
|
50199
|
+
]
|
|
50200
|
+
}
|
|
50201
|
+
),
|
|
50052
50202
|
/* @__PURE__ */ jsx("div", { style: { padding: theme2.space[3], paddingBottom: 0 }, children: /* @__PURE__ */ jsx(SkillMetadataSection, { metadata: parsed.metadata, theme: theme2, structure, skill, actions, events }) }),
|
|
50053
50203
|
/* @__PURE__ */ jsxs("div", { style: { flex: 1, display: "flex", overflow: "hidden" }, children: [
|
|
50054
50204
|
/* @__PURE__ */ jsx(
|