Merge branch 'feature/mcp-ui' into bot_manager
This commit is contained in:
commit
96ded5e598
@ -22,6 +22,7 @@ class SkillItem(BaseModel):
|
|||||||
name: str
|
name: str
|
||||||
description: str
|
description: str
|
||||||
user_skill: bool = False
|
user_skill: bool = False
|
||||||
|
category: str = "other"
|
||||||
|
|
||||||
|
|
||||||
class SkillListResponse(BaseModel):
|
class SkillListResponse(BaseModel):
|
||||||
@ -35,6 +36,7 @@ class SkillValidationResult:
|
|||||||
valid: bool
|
valid: bool
|
||||||
name: Optional[str] = None
|
name: Optional[str] = None
|
||||||
description: Optional[str] = None
|
description: Optional[str] = None
|
||||||
|
category: Optional[str] = None
|
||||||
error_message: Optional[str] = None
|
error_message: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
@ -267,7 +269,8 @@ def parse_plugin_json(plugin_json_path: str) -> SkillValidationResult:
|
|||||||
return SkillValidationResult(
|
return SkillValidationResult(
|
||||||
valid=True,
|
valid=True,
|
||||||
name=plugin_config['name'],
|
name=plugin_config['name'],
|
||||||
description=plugin_config['description']
|
description=plugin_config['description'],
|
||||||
|
category=plugin_config.get('category'),
|
||||||
)
|
)
|
||||||
|
|
||||||
except json.JSONDecodeError as e:
|
except json.JSONDecodeError as e:
|
||||||
@ -334,7 +337,8 @@ def parse_skill_frontmatter(skill_md_path: str) -> SkillValidationResult:
|
|||||||
return SkillValidationResult(
|
return SkillValidationResult(
|
||||||
valid=True,
|
valid=True,
|
||||||
name=metadata['name'],
|
name=metadata['name'],
|
||||||
description=metadata['description']
|
description=metadata['description'],
|
||||||
|
category=metadata.get('category'),
|
||||||
)
|
)
|
||||||
|
|
||||||
except yaml.YAMLError as e:
|
except yaml.YAMLError as e:
|
||||||
@ -410,10 +414,13 @@ def get_skill_metadata_legacy(skill_path: str) -> Optional[dict]:
|
|||||||
"""
|
"""
|
||||||
result = get_skill_metadata(skill_path)
|
result = get_skill_metadata(skill_path)
|
||||||
if result.valid:
|
if result.valid:
|
||||||
return {
|
ret = {
|
||||||
'name': result.name,
|
'name': result.name,
|
||||||
'description': result.description
|
'description': result.description,
|
||||||
}
|
}
|
||||||
|
if result.category:
|
||||||
|
ret['category'] = result.category
|
||||||
|
return ret
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@ -456,7 +463,8 @@ def get_official_skills(base_dir: str) -> List[SkillItem]:
|
|||||||
skills.append(SkillItem(
|
skills.append(SkillItem(
|
||||||
name=metadata['name'],
|
name=metadata['name'],
|
||||||
description=metadata['description'],
|
description=metadata['description'],
|
||||||
user_skill=False
|
user_skill=False,
|
||||||
|
category=metadata.get('category', 'other'),
|
||||||
))
|
))
|
||||||
skill_names.add(skill_name)
|
skill_names.add(skill_name)
|
||||||
logger.debug(f"Found official skill: {metadata['name']} from {official_skills_dir}")
|
logger.debug(f"Found official skill: {metadata['name']} from {official_skills_dir}")
|
||||||
@ -489,7 +497,8 @@ def get_user_skills(base_dir: str, bot_id: str) -> List[SkillItem]:
|
|||||||
skills.append(SkillItem(
|
skills.append(SkillItem(
|
||||||
name=metadata['name'],
|
name=metadata['name'],
|
||||||
description=metadata['description'],
|
description=metadata['description'],
|
||||||
user_skill=True
|
user_skill=True,
|
||||||
|
category=metadata.get('category', 'custom'),
|
||||||
))
|
))
|
||||||
logger.debug(f"Found user skill: {metadata['name']}")
|
logger.debug(f"Found user skill: {metadata['name']}")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user