@industry-theme/agent-panels 0.2.26 → 0.2.28
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/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/panels/GlobalSkillsPanel.d.ts +23 -0
- package/dist/panels/GlobalSkillsPanel.d.ts.map +1 -0
- package/dist/panels/SkillsBrowsePanel.d.ts.map +1 -1
- package/dist/panels.bundle.js +403 -5
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type SkillsListPanelProps } from './panels/SkillsListPanel';
|
|
2
2
|
import { SkillsBrowsePanel } from './panels/SkillsBrowsePanel';
|
|
3
|
+
import { GlobalSkillsPanel, type GlobalSkillsPanelProps } from './panels/GlobalSkillsPanel';
|
|
3
4
|
import { type SkillDetailPanelProps } from './panels/SkillDetailPanel';
|
|
4
5
|
import { AgenticResourcesPanel } from './panels/AgenticResourcesPanel';
|
|
5
6
|
import type { PanelDefinition } from './types';
|
|
6
7
|
import type { Skill } from './panels/skills/hooks/useSkillsData';
|
|
7
|
-
export type { SkillsListPanelProps, SkillDetailPanelProps, Skill };
|
|
8
|
-
export { SkillsBrowsePanel, AgenticResourcesPanel };
|
|
8
|
+
export type { SkillsListPanelProps, SkillDetailPanelProps, GlobalSkillsPanelProps, Skill };
|
|
9
|
+
export { SkillsBrowsePanel, GlobalSkillsPanel, AgenticResourcesPanel };
|
|
9
10
|
/**
|
|
10
11
|
* Export array of panel definitions.
|
|
11
12
|
* This is the required export for panel extensions.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAGjE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAGjE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,eAAe,EA8LnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,qBAGzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAG3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PanelComponentProps } from '../types';
|
|
3
|
+
export interface GlobalSkillsPanelProps extends PanelComponentProps {
|
|
4
|
+
/**
|
|
5
|
+
* When true, shows the refresh button and enables refresh functionality.
|
|
6
|
+
* The host must support handling 'skills:refresh' events.
|
|
7
|
+
*/
|
|
8
|
+
supportsRefresh?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* GlobalSkillsPanel - A panel for displaying ONLY global Agent Skills
|
|
12
|
+
*
|
|
13
|
+
* This panel shows:
|
|
14
|
+
* - List/grid of global skills only (no project skills)
|
|
15
|
+
* - Search functionality to filter skills
|
|
16
|
+
* - Skill metadata (name, description, capabilities)
|
|
17
|
+
* - Click to select and emit events for detail views
|
|
18
|
+
*
|
|
19
|
+
* Use this panel when you want to show only global skills without a project/global filter toggle.
|
|
20
|
+
* This is ideal for views that are specifically about browsing and managing global skill installations.
|
|
21
|
+
*/
|
|
22
|
+
export declare const GlobalSkillsPanel: React.FC<GlobalSkillsPanelProps>;
|
|
23
|
+
//# sourceMappingURL=GlobalSkillsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalSkillsPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GlobalSkillsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0W9D,CAAC"}
|
|
@@ -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,CAwX9D,CAAC"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -3898,15 +3898,20 @@ const SkillsBrowsePanel = ({
|
|
|
3898
3898
|
events,
|
|
3899
3899
|
supportsRefresh = false
|
|
3900
3900
|
}) => {
|
|
3901
|
+
var _a;
|
|
3901
3902
|
const { theme: theme2 } = useTheme();
|
|
3902
3903
|
const panelRef = useRef(null);
|
|
3903
3904
|
const [selectedSkillId, setSelectedSkillId] = useState(null);
|
|
3904
3905
|
const [searchQuery, setSearchQuery] = useState("");
|
|
3905
3906
|
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
3906
3907
|
const { skills, isLoading, error, refreshSkills } = useSkillsBrowseData({ context });
|
|
3908
|
+
const fileTreeSlice = context.getSlice("fileTree");
|
|
3909
|
+
const fileTree = fileTreeSlice == null ? void 0 : fileTreeSlice.data;
|
|
3910
|
+
const sourceInfo = (_a = fileTree == null ? void 0 : fileTree.metadata) == null ? void 0 : _a.sourceInfo;
|
|
3911
|
+
const repoDisplayName = (sourceInfo == null ? void 0 : sourceInfo.owner) && (sourceInfo == null ? void 0 : sourceInfo.repo) ? `${sourceInfo.owner}/${sourceInfo.repo}` : null;
|
|
3907
3912
|
gt("skills-browse", events, () => {
|
|
3908
|
-
var
|
|
3909
|
-
return (
|
|
3913
|
+
var _a2;
|
|
3914
|
+
return (_a2 = panelRef.current) == null ? void 0 : _a2.focus();
|
|
3910
3915
|
});
|
|
3911
3916
|
useEffect(() => {
|
|
3912
3917
|
const unsubscribeInstalled = events.on("skill:installed", () => {
|
|
@@ -3927,9 +3932,9 @@ const SkillsBrowsePanel = ({
|
|
|
3927
3932
|
if (searchQuery.trim()) {
|
|
3928
3933
|
const query = searchQuery.toLowerCase().trim();
|
|
3929
3934
|
filtered = filtered.filter((skill) => {
|
|
3930
|
-
var
|
|
3935
|
+
var _a2, _b;
|
|
3931
3936
|
if (skill.name.toLowerCase().includes(query)) return true;
|
|
3932
|
-
if ((
|
|
3937
|
+
if ((_a2 = skill.description) == null ? void 0 : _a2.toLowerCase().includes(query)) return true;
|
|
3933
3938
|
if ((_b = skill.capabilities) == null ? void 0 : _b.some((cap2) => cap2.toLowerCase().includes(query)))
|
|
3934
3939
|
return true;
|
|
3935
3940
|
if (skill.path.toLowerCase().includes(query)) return true;
|
|
@@ -4005,7 +4010,22 @@ const SkillsBrowsePanel = ({
|
|
|
4005
4010
|
fontSize: theme2.fontSizes[4],
|
|
4006
4011
|
color: theme2.colors.text
|
|
4007
4012
|
},
|
|
4008
|
-
children: /* @__PURE__ */ jsx(
|
|
4013
|
+
children: repoDisplayName ? /* @__PURE__ */ jsx(
|
|
4014
|
+
"a",
|
|
4015
|
+
{
|
|
4016
|
+
href: `https://github.com/${repoDisplayName}`,
|
|
4017
|
+
target: "_blank",
|
|
4018
|
+
rel: "noopener noreferrer",
|
|
4019
|
+
style: {
|
|
4020
|
+
color: "inherit",
|
|
4021
|
+
textDecoration: "none",
|
|
4022
|
+
fontFamily: theme2.fonts.monospace
|
|
4023
|
+
},
|
|
4024
|
+
onMouseEnter: (e) => e.currentTarget.style.textDecoration = "underline",
|
|
4025
|
+
onMouseLeave: (e) => e.currentTarget.style.textDecoration = "none",
|
|
4026
|
+
children: repoDisplayName
|
|
4027
|
+
}
|
|
4028
|
+
) : /* @__PURE__ */ jsx(
|
|
4009
4029
|
"a",
|
|
4010
4030
|
{
|
|
4011
4031
|
href: "https://agentskills.io/",
|
|
@@ -4237,6 +4257,358 @@ const SkillsBrowsePanel = ({
|
|
|
4237
4257
|
}
|
|
4238
4258
|
);
|
|
4239
4259
|
};
|
|
4260
|
+
const GlobalSkillsPanel = ({
|
|
4261
|
+
context,
|
|
4262
|
+
events,
|
|
4263
|
+
supportsRefresh = false
|
|
4264
|
+
}) => {
|
|
4265
|
+
const { theme: theme2 } = useTheme();
|
|
4266
|
+
const panelRef = useRef(null);
|
|
4267
|
+
const [selectedSkillId, setSelectedSkillId] = useState(null);
|
|
4268
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
4269
|
+
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
4270
|
+
const { skills, isLoading, error, refreshSkills } = useSkillsData({ context });
|
|
4271
|
+
gt("global-skills", events, () => {
|
|
4272
|
+
var _a;
|
|
4273
|
+
return (_a = panelRef.current) == null ? void 0 : _a.focus();
|
|
4274
|
+
});
|
|
4275
|
+
useEffect(() => {
|
|
4276
|
+
const unsubscribeInstalled = events.on("skill:installed", () => {
|
|
4277
|
+
console.log("[GlobalSkillsPanel] Skill installed, refreshing...");
|
|
4278
|
+
refreshSkills();
|
|
4279
|
+
});
|
|
4280
|
+
const unsubscribeUninstalled = events.on("skill:uninstalled", () => {
|
|
4281
|
+
console.log("[GlobalSkillsPanel] Skill uninstalled, refreshing...");
|
|
4282
|
+
refreshSkills();
|
|
4283
|
+
});
|
|
4284
|
+
return () => {
|
|
4285
|
+
unsubscribeInstalled();
|
|
4286
|
+
unsubscribeUninstalled();
|
|
4287
|
+
};
|
|
4288
|
+
}, [events, refreshSkills]);
|
|
4289
|
+
const filteredSkills = useMemo(() => {
|
|
4290
|
+
let filtered = skills.filter((skill) => {
|
|
4291
|
+
if (skill.installedLocations && skill.installedLocations.length > 0) {
|
|
4292
|
+
return skill.installedLocations.some(
|
|
4293
|
+
(loc) => loc.source === "global-universal" || loc.source === "global-claude"
|
|
4294
|
+
);
|
|
4295
|
+
}
|
|
4296
|
+
return skill.source === "global-universal" || skill.source === "global-claude";
|
|
4297
|
+
});
|
|
4298
|
+
if (searchQuery.trim()) {
|
|
4299
|
+
const query = searchQuery.toLowerCase().trim();
|
|
4300
|
+
filtered = filtered.filter((skill) => {
|
|
4301
|
+
var _a, _b;
|
|
4302
|
+
if (skill.name.toLowerCase().includes(query)) return true;
|
|
4303
|
+
if ((_a = skill.description) == null ? void 0 : _a.toLowerCase().includes(query)) return true;
|
|
4304
|
+
if ((_b = skill.capabilities) == null ? void 0 : _b.some((cap2) => cap2.toLowerCase().includes(query)))
|
|
4305
|
+
return true;
|
|
4306
|
+
if (skill.path.toLowerCase().includes(query)) return true;
|
|
4307
|
+
return false;
|
|
4308
|
+
});
|
|
4309
|
+
}
|
|
4310
|
+
return filtered;
|
|
4311
|
+
}, [skills, searchQuery]);
|
|
4312
|
+
const handleSkillClick = (skill) => {
|
|
4313
|
+
setSelectedSkillId(skill.id);
|
|
4314
|
+
if (events) {
|
|
4315
|
+
events.emit({
|
|
4316
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4317
|
+
type: "skill:selected",
|
|
4318
|
+
source: "global-skills-panel",
|
|
4319
|
+
timestamp: Date.now(),
|
|
4320
|
+
payload: { skillId: skill.id, skill }
|
|
4321
|
+
});
|
|
4322
|
+
}
|
|
4323
|
+
};
|
|
4324
|
+
const handleRefresh = () => {
|
|
4325
|
+
setIsRefreshing(true);
|
|
4326
|
+
if (events) {
|
|
4327
|
+
events.emit({
|
|
4328
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4329
|
+
type: "skills:refresh",
|
|
4330
|
+
source: "global-skills-panel",
|
|
4331
|
+
timestamp: Date.now(),
|
|
4332
|
+
payload: {}
|
|
4333
|
+
});
|
|
4334
|
+
}
|
|
4335
|
+
setTimeout(() => {
|
|
4336
|
+
setIsRefreshing(false);
|
|
4337
|
+
}, 800);
|
|
4338
|
+
};
|
|
4339
|
+
return /* @__PURE__ */ jsxs(
|
|
4340
|
+
"div",
|
|
4341
|
+
{
|
|
4342
|
+
ref: panelRef,
|
|
4343
|
+
tabIndex: -1,
|
|
4344
|
+
style: {
|
|
4345
|
+
padding: "clamp(12px, 3vw, 20px)",
|
|
4346
|
+
fontFamily: theme2.fonts.body,
|
|
4347
|
+
height: "100%",
|
|
4348
|
+
boxSizing: "border-box",
|
|
4349
|
+
display: "flex",
|
|
4350
|
+
flexDirection: "column",
|
|
4351
|
+
gap: "16px",
|
|
4352
|
+
overflow: "hidden",
|
|
4353
|
+
backgroundColor: theme2.colors.background,
|
|
4354
|
+
color: theme2.colors.text,
|
|
4355
|
+
outline: "none"
|
|
4356
|
+
},
|
|
4357
|
+
children: [
|
|
4358
|
+
/* @__PURE__ */ jsxs(
|
|
4359
|
+
"div",
|
|
4360
|
+
{
|
|
4361
|
+
style: {
|
|
4362
|
+
flexShrink: 0,
|
|
4363
|
+
display: "flex",
|
|
4364
|
+
alignItems: "center",
|
|
4365
|
+
justifyContent: "space-between",
|
|
4366
|
+
gap: "12px",
|
|
4367
|
+
flexWrap: "wrap"
|
|
4368
|
+
},
|
|
4369
|
+
children: [
|
|
4370
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "12px" }, children: [
|
|
4371
|
+
/* @__PURE__ */ jsx(
|
|
4372
|
+
"h2",
|
|
4373
|
+
{
|
|
4374
|
+
style: {
|
|
4375
|
+
margin: 0,
|
|
4376
|
+
fontSize: theme2.fontSizes[4],
|
|
4377
|
+
color: theme2.colors.text
|
|
4378
|
+
},
|
|
4379
|
+
children: /* @__PURE__ */ jsx(
|
|
4380
|
+
"a",
|
|
4381
|
+
{
|
|
4382
|
+
href: "https://agentskills.io/",
|
|
4383
|
+
target: "_blank",
|
|
4384
|
+
rel: "noopener noreferrer",
|
|
4385
|
+
style: {
|
|
4386
|
+
color: "inherit",
|
|
4387
|
+
textDecoration: "none"
|
|
4388
|
+
},
|
|
4389
|
+
onMouseEnter: (e) => e.currentTarget.style.textDecoration = "underline",
|
|
4390
|
+
onMouseLeave: (e) => e.currentTarget.style.textDecoration = "none",
|
|
4391
|
+
children: "Global Skills"
|
|
4392
|
+
}
|
|
4393
|
+
)
|
|
4394
|
+
}
|
|
4395
|
+
),
|
|
4396
|
+
!isLoading && /* @__PURE__ */ jsxs(
|
|
4397
|
+
"span",
|
|
4398
|
+
{
|
|
4399
|
+
style: {
|
|
4400
|
+
fontSize: theme2.fontSizes[1],
|
|
4401
|
+
color: theme2.colors.textSecondary,
|
|
4402
|
+
background: theme2.colors.backgroundSecondary,
|
|
4403
|
+
padding: "4px 10px",
|
|
4404
|
+
borderRadius: theme2.radii[1]
|
|
4405
|
+
},
|
|
4406
|
+
children: [
|
|
4407
|
+
filteredSkills.length,
|
|
4408
|
+
" ",
|
|
4409
|
+
filteredSkills.length === 1 ? "skill" : "skills"
|
|
4410
|
+
]
|
|
4411
|
+
}
|
|
4412
|
+
)
|
|
4413
|
+
] }),
|
|
4414
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "12px", flex: "1 1 200px", maxWidth: "400px" }, children: [
|
|
4415
|
+
/* @__PURE__ */ jsxs(
|
|
4416
|
+
"div",
|
|
4417
|
+
{
|
|
4418
|
+
style: {
|
|
4419
|
+
position: "relative",
|
|
4420
|
+
flex: 1,
|
|
4421
|
+
minWidth: "150px"
|
|
4422
|
+
},
|
|
4423
|
+
children: [
|
|
4424
|
+
/* @__PURE__ */ jsx(
|
|
4425
|
+
Search,
|
|
4426
|
+
{
|
|
4427
|
+
size: 16,
|
|
4428
|
+
color: theme2.colors.textSecondary,
|
|
4429
|
+
style: {
|
|
4430
|
+
position: "absolute",
|
|
4431
|
+
left: "10px",
|
|
4432
|
+
top: "50%",
|
|
4433
|
+
transform: "translateY(-50%)",
|
|
4434
|
+
pointerEvents: "none"
|
|
4435
|
+
}
|
|
4436
|
+
}
|
|
4437
|
+
),
|
|
4438
|
+
/* @__PURE__ */ jsx(
|
|
4439
|
+
"input",
|
|
4440
|
+
{
|
|
4441
|
+
type: "text",
|
|
4442
|
+
placeholder: "Search global skills...",
|
|
4443
|
+
value: searchQuery,
|
|
4444
|
+
onChange: (e) => setSearchQuery(e.target.value),
|
|
4445
|
+
style: {
|
|
4446
|
+
width: "100%",
|
|
4447
|
+
padding: "8px 32px 8px 32px",
|
|
4448
|
+
fontSize: theme2.fontSizes[1],
|
|
4449
|
+
fontFamily: theme2.fonts.body,
|
|
4450
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
4451
|
+
borderRadius: theme2.radii[2],
|
|
4452
|
+
background: theme2.colors.backgroundSecondary,
|
|
4453
|
+
color: theme2.colors.text,
|
|
4454
|
+
outline: "none",
|
|
4455
|
+
boxSizing: "border-box"
|
|
4456
|
+
}
|
|
4457
|
+
}
|
|
4458
|
+
),
|
|
4459
|
+
searchQuery && /* @__PURE__ */ jsx(
|
|
4460
|
+
"button",
|
|
4461
|
+
{
|
|
4462
|
+
onClick: () => setSearchQuery(""),
|
|
4463
|
+
style: {
|
|
4464
|
+
position: "absolute",
|
|
4465
|
+
right: "6px",
|
|
4466
|
+
top: "50%",
|
|
4467
|
+
transform: "translateY(-50%)",
|
|
4468
|
+
background: "transparent",
|
|
4469
|
+
border: "none",
|
|
4470
|
+
padding: "4px",
|
|
4471
|
+
cursor: "pointer",
|
|
4472
|
+
display: "flex",
|
|
4473
|
+
alignItems: "center",
|
|
4474
|
+
justifyContent: "center",
|
|
4475
|
+
color: theme2.colors.textSecondary
|
|
4476
|
+
},
|
|
4477
|
+
"aria-label": "Clear search",
|
|
4478
|
+
children: /* @__PURE__ */ jsx(X, { size: 14 })
|
|
4479
|
+
}
|
|
4480
|
+
)
|
|
4481
|
+
]
|
|
4482
|
+
}
|
|
4483
|
+
),
|
|
4484
|
+
supportsRefresh && /* @__PURE__ */ jsx(
|
|
4485
|
+
"button",
|
|
4486
|
+
{
|
|
4487
|
+
onClick: handleRefresh,
|
|
4488
|
+
disabled: isRefreshing || isLoading,
|
|
4489
|
+
style: {
|
|
4490
|
+
background: theme2.colors.backgroundSecondary,
|
|
4491
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
4492
|
+
borderRadius: theme2.radii[1],
|
|
4493
|
+
padding: "8px",
|
|
4494
|
+
cursor: isRefreshing || isLoading ? "default" : "pointer",
|
|
4495
|
+
display: "flex",
|
|
4496
|
+
alignItems: "center",
|
|
4497
|
+
justifyContent: "center",
|
|
4498
|
+
transition: "all 0.2s ease"
|
|
4499
|
+
},
|
|
4500
|
+
title: "Refresh skills",
|
|
4501
|
+
children: /* @__PURE__ */ jsx(
|
|
4502
|
+
RefreshCw,
|
|
4503
|
+
{
|
|
4504
|
+
size: 16,
|
|
4505
|
+
color: theme2.colors.textSecondary,
|
|
4506
|
+
style: {
|
|
4507
|
+
animation: isRefreshing ? "spin 1s linear infinite" : "none"
|
|
4508
|
+
}
|
|
4509
|
+
}
|
|
4510
|
+
)
|
|
4511
|
+
}
|
|
4512
|
+
)
|
|
4513
|
+
] })
|
|
4514
|
+
]
|
|
4515
|
+
}
|
|
4516
|
+
),
|
|
4517
|
+
error && /* @__PURE__ */ jsxs(
|
|
4518
|
+
"div",
|
|
4519
|
+
{
|
|
4520
|
+
style: {
|
|
4521
|
+
flexShrink: 0,
|
|
4522
|
+
padding: "12px",
|
|
4523
|
+
background: `${theme2.colors.error}20`,
|
|
4524
|
+
border: `1px solid ${theme2.colors.error}`,
|
|
4525
|
+
borderRadius: theme2.radii[2],
|
|
4526
|
+
display: "flex",
|
|
4527
|
+
alignItems: "center",
|
|
4528
|
+
gap: "8px",
|
|
4529
|
+
color: theme2.colors.error,
|
|
4530
|
+
fontSize: theme2.fontSizes[1]
|
|
4531
|
+
},
|
|
4532
|
+
children: [
|
|
4533
|
+
/* @__PURE__ */ jsx(CircleAlert, { size: 16 }),
|
|
4534
|
+
/* @__PURE__ */ jsx("span", { children: error })
|
|
4535
|
+
]
|
|
4536
|
+
}
|
|
4537
|
+
),
|
|
4538
|
+
/* @__PURE__ */ jsx(
|
|
4539
|
+
"div",
|
|
4540
|
+
{
|
|
4541
|
+
style: {
|
|
4542
|
+
flex: 1,
|
|
4543
|
+
overflowY: "auto",
|
|
4544
|
+
minHeight: 0
|
|
4545
|
+
},
|
|
4546
|
+
children: isLoading ? /* @__PURE__ */ jsx(
|
|
4547
|
+
"div",
|
|
4548
|
+
{
|
|
4549
|
+
style: {
|
|
4550
|
+
height: "100%",
|
|
4551
|
+
display: "flex",
|
|
4552
|
+
alignItems: "center",
|
|
4553
|
+
justifyContent: "center",
|
|
4554
|
+
color: theme2.colors.textSecondary,
|
|
4555
|
+
fontSize: theme2.fontSizes[2]
|
|
4556
|
+
},
|
|
4557
|
+
children: "Loading global skills..."
|
|
4558
|
+
}
|
|
4559
|
+
) : filteredSkills.length === 0 ? /* @__PURE__ */ jsxs(
|
|
4560
|
+
"div",
|
|
4561
|
+
{
|
|
4562
|
+
style: {
|
|
4563
|
+
height: "100%",
|
|
4564
|
+
display: "flex",
|
|
4565
|
+
flexDirection: "column",
|
|
4566
|
+
alignItems: "center",
|
|
4567
|
+
justifyContent: "center",
|
|
4568
|
+
gap: "16px",
|
|
4569
|
+
color: theme2.colors.textSecondary,
|
|
4570
|
+
padding: "24px"
|
|
4571
|
+
},
|
|
4572
|
+
children: [
|
|
4573
|
+
/* @__PURE__ */ jsx(FileCode, { size: 48, color: theme2.colors.border }),
|
|
4574
|
+
/* @__PURE__ */ jsxs("div", { style: { textAlign: "center" }, children: [
|
|
4575
|
+
/* @__PURE__ */ jsx("p", { style: { margin: 0, fontSize: theme2.fontSizes[2] }, children: searchQuery ? "No global skills match your search" : "No global skills found" }),
|
|
4576
|
+
/* @__PURE__ */ jsx("p", { style: { margin: "8px 0 0 0", fontSize: theme2.fontSizes[1] }, children: searchQuery ? "Try a different search term" : "Install skills from repositories to see them here" })
|
|
4577
|
+
] })
|
|
4578
|
+
]
|
|
4579
|
+
}
|
|
4580
|
+
) : /* @__PURE__ */ jsx(
|
|
4581
|
+
"div",
|
|
4582
|
+
{
|
|
4583
|
+
style: {
|
|
4584
|
+
display: "grid",
|
|
4585
|
+
gridTemplateColumns: "repeat(auto-fill, minmax(250px, 1fr))",
|
|
4586
|
+
gap: "16px",
|
|
4587
|
+
padding: "4px"
|
|
4588
|
+
},
|
|
4589
|
+
children: filteredSkills.map((skill) => /* @__PURE__ */ jsx(
|
|
4590
|
+
SkillCard,
|
|
4591
|
+
{
|
|
4592
|
+
skill,
|
|
4593
|
+
onClick: handleSkillClick,
|
|
4594
|
+
isSelected: selectedSkillId === skill.id,
|
|
4595
|
+
filterContext: "global"
|
|
4596
|
+
},
|
|
4597
|
+
skill.id
|
|
4598
|
+
))
|
|
4599
|
+
}
|
|
4600
|
+
)
|
|
4601
|
+
}
|
|
4602
|
+
),
|
|
4603
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
4604
|
+
@keyframes spin {
|
|
4605
|
+
to { transform: rotate(360deg); }
|
|
4606
|
+
}
|
|
4607
|
+
` })
|
|
4608
|
+
]
|
|
4609
|
+
}
|
|
4610
|
+
);
|
|
4611
|
+
};
|
|
4240
4612
|
var MarkdownSourceType$1;
|
|
4241
4613
|
((MarkdownSourceType2) => {
|
|
4242
4614
|
MarkdownSourceType2["WORKSPACE_FILE"] = "workspace_file";
|
|
@@ -52214,6 +52586,31 @@ const panels = [
|
|
|
52214
52586
|
console.log("Skills Browse Panel unmounting");
|
|
52215
52587
|
}
|
|
52216
52588
|
},
|
|
52589
|
+
{
|
|
52590
|
+
metadata: {
|
|
52591
|
+
id: "industry-theme.global-skills",
|
|
52592
|
+
name: "Global Skills",
|
|
52593
|
+
icon: "🌐",
|
|
52594
|
+
version: "0.1.0",
|
|
52595
|
+
author: "Principal ADE",
|
|
52596
|
+
description: "Display only global Agent Skills (no project skills)",
|
|
52597
|
+
slices: ["fileTree", "globalSkills"]
|
|
52598
|
+
// Depends on fileTree and globalSkills
|
|
52599
|
+
},
|
|
52600
|
+
component: GlobalSkillsPanel,
|
|
52601
|
+
// Optional: Called when this specific panel is mounted
|
|
52602
|
+
onMount: async (context) => {
|
|
52603
|
+
var _a;
|
|
52604
|
+
console.log(
|
|
52605
|
+
"Global Skills Panel mounted",
|
|
52606
|
+
(_a = context.currentScope.repository) == null ? void 0 : _a.path
|
|
52607
|
+
);
|
|
52608
|
+
},
|
|
52609
|
+
// Optional: Called when this specific panel is unmounted
|
|
52610
|
+
onUnmount: async (_context) => {
|
|
52611
|
+
console.log("Global Skills Panel unmounting");
|
|
52612
|
+
}
|
|
52613
|
+
},
|
|
52217
52614
|
{
|
|
52218
52615
|
metadata: {
|
|
52219
52616
|
id: "industry-theme.skill-detail",
|
|
@@ -52323,6 +52720,7 @@ const onPackageUnload = async () => {
|
|
|
52323
52720
|
};
|
|
52324
52721
|
export {
|
|
52325
52722
|
AgenticResourcesPanel,
|
|
52723
|
+
GlobalSkillsPanel,
|
|
52326
52724
|
SkillsBrowsePanel,
|
|
52327
52725
|
onPackageLoad,
|
|
52328
52726
|
onPackageUnload,
|