@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 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
- export type { SkillsListPanelProps };
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.
@@ -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;AAItF,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAGlE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC;;;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
+ {"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;AAOpD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqL5D,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,KAAoC,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAMpD,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,CAwa1D,CAAC"}
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"}
@@ -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 [skill, setSkill] = useState(null);
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
- setSkill(foundSkill || null);
48799
+ setSkillState(foundSkill || null);
48781
48800
  } else if (!selectedSkillId) {
48782
- setSkill(null);
48801
+ setSkillState(null);
48783
48802
  }
48784
- }, [selectedSkillId, skills]);
48803
+ }, [selectedSkillId, skills, skillProp]);
48785
48804
  if (error) {
48786
48805
  return /* @__PURE__ */ jsx(
48787
48806
  "div",