@industry-theme/agent-panels 0.2.16 → 0.2.18
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 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/panels/SkillDetailPanel.d.ts +7 -0
- package/dist/panels/SkillDetailPanel.d.ts.map +1 -1
- package/dist/panels/SkillsListPanel.d.ts.map +1 -1
- package/dist/panels.bundle.js +25 -6
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type SkillsListPanelProps } from './panels/SkillsListPanel';
|
|
2
|
+
import { type SkillDetailPanelProps } from './panels/SkillDetailPanel';
|
|
2
3
|
import type { PanelDefinition } from './types';
|
|
3
|
-
|
|
4
|
+
import type { Skill } from './panels/skills/hooks/useSkillsData';
|
|
5
|
+
export type { SkillsListPanelProps, SkillDetailPanelProps, Skill };
|
|
4
6
|
/**
|
|
5
7
|
* Export array of panel definitions.
|
|
6
8
|
* 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;
|
|
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,EAAoB,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGzF,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;AAEnE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,eAAe,EA6GnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,qBAGzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAG3B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { PanelComponentProps } from '../types';
|
|
3
|
+
import type { Skill } from './skills/hooks/useSkillsData';
|
|
3
4
|
import './SkillDetailPanel.css';
|
|
4
5
|
export interface SkillDetailPanelProps extends PanelComponentProps {
|
|
5
6
|
/**
|
|
@@ -8,6 +9,12 @@ export interface SkillDetailPanelProps extends PanelComponentProps {
|
|
|
8
9
|
* This allows the host to control panel state via props instead of events.
|
|
9
10
|
*/
|
|
10
11
|
selectedSkillId?: string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Optional skill object to display.
|
|
14
|
+
* If provided, bypasses useSkillsData loading for instant display.
|
|
15
|
+
* This provides better performance when the skill data is already available.
|
|
16
|
+
*/
|
|
17
|
+
skill?: Skill | null;
|
|
11
18
|
}
|
|
12
19
|
export declare const SkillDetailPanel: React.FC<SkillDetailPanelProps>;
|
|
13
20
|
//# sourceMappingURL=SkillDetailPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAK1D,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+L5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillsListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillsListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SkillsListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/SkillsListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOpD,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0b1D,CAAC"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -2579,7 +2579,7 @@ const findSkillFiles = (fileTree, isBrowserMode = false) => {
|
|
|
2579
2579
|
if (isBrowserMode) {
|
|
2580
2580
|
return file.name === "SKILL.md" || file.name.toLowerCase() === "skill.md";
|
|
2581
2581
|
}
|
|
2582
|
-
const isInSkillDir = path2.includes(".agent/skills/") || path2.includes(".claude/skills/");
|
|
2582
|
+
const isInSkillDir = path2.includes(".agent/skills/") || path2.includes(".claude/skills/") || path2.includes("/skills/");
|
|
2583
2583
|
return isMarkdown && isInSkillDir;
|
|
2584
2584
|
});
|
|
2585
2585
|
return skillFiles.map((file) => file.relativePath);
|
|
@@ -3295,6 +3295,20 @@ const SkillsListPanel = ({
|
|
|
3295
3295
|
var _a;
|
|
3296
3296
|
return (_a = panelRef.current) == null ? void 0 : _a.focus();
|
|
3297
3297
|
});
|
|
3298
|
+
useEffect(() => {
|
|
3299
|
+
const unsubscribeInstalled = events.on("skill:installed", () => {
|
|
3300
|
+
console.log("[SkillsListPanel] Skill installed, refreshing...");
|
|
3301
|
+
refreshSkills();
|
|
3302
|
+
});
|
|
3303
|
+
const unsubscribeUninstalled = events.on("skill:uninstalled", () => {
|
|
3304
|
+
console.log("[SkillsListPanel] Skill uninstalled, refreshing...");
|
|
3305
|
+
refreshSkills();
|
|
3306
|
+
});
|
|
3307
|
+
return () => {
|
|
3308
|
+
unsubscribeInstalled();
|
|
3309
|
+
unsubscribeUninstalled();
|
|
3310
|
+
};
|
|
3311
|
+
}, [events, refreshSkills]);
|
|
3298
3312
|
const hasRepository = useMemo(() => {
|
|
3299
3313
|
const fileTreeSlice = context.getSlice("fileTree");
|
|
3300
3314
|
return !!(fileTreeSlice == null ? void 0 : fileTreeSlice.data);
|
|
@@ -48745,14 +48759,16 @@ const SkillDetailPanel = ({
|
|
|
48745
48759
|
context,
|
|
48746
48760
|
events,
|
|
48747
48761
|
actions,
|
|
48748
|
-
selectedSkillId: selectedSkillIdProp
|
|
48762
|
+
selectedSkillId: selectedSkillIdProp,
|
|
48763
|
+
skill: skillProp
|
|
48749
48764
|
}) => {
|
|
48750
48765
|
const { theme: theme2 } = useTheme();
|
|
48751
48766
|
const { skills, isLoading, error } = useSkillsData({ context });
|
|
48752
48767
|
const [selectedSkillIdState, setSelectedSkillIdState] = useState(null);
|
|
48753
|
-
const [
|
|
48768
|
+
const [skillState, setSkillState] = useState(null);
|
|
48754
48769
|
const panelRef = useRef(null);
|
|
48755
48770
|
const selectedSkillId = selectedSkillIdProp !== void 0 ? selectedSkillIdProp : selectedSkillIdState;
|
|
48771
|
+
const skill = skillProp !== void 0 ? skillProp : skillState;
|
|
48756
48772
|
gt(
|
|
48757
48773
|
"skill-detail",
|
|
48758
48774
|
events,
|
|
@@ -48775,13 +48791,16 @@ const SkillDetailPanel = ({
|
|
|
48775
48791
|
return unsubscribe;
|
|
48776
48792
|
}, [events, selectedSkillIdProp]);
|
|
48777
48793
|
useEffect(() => {
|
|
48794
|
+
if (skillProp !== void 0) {
|
|
48795
|
+
return;
|
|
48796
|
+
}
|
|
48778
48797
|
if (selectedSkillId && skills.length > 0) {
|
|
48779
48798
|
const foundSkill = skills.find((s2) => s2.id === selectedSkillId);
|
|
48780
|
-
|
|
48799
|
+
setSkillState(foundSkill || null);
|
|
48781
48800
|
} else if (!selectedSkillId) {
|
|
48782
|
-
|
|
48801
|
+
setSkillState(null);
|
|
48783
48802
|
}
|
|
48784
|
-
}, [selectedSkillId, skills]);
|
|
48803
|
+
}, [selectedSkillId, skills, skillProp]);
|
|
48785
48804
|
if (error) {
|
|
48786
48805
|
return /* @__PURE__ */ jsx(
|
|
48787
48806
|
"div",
|