Files
FusionAGI/fusionagi/skills/library.py

18 lines
777 B
Python
Raw Normal View History

from fusionagi._logger import logger
from fusionagi.memory.procedural import ProceduralMemory
from fusionagi.schemas.skill import Skill
class SkillLibrary:
def __init__(self, procedural: ProceduralMemory | None = None) -> None:
self._proc = procedural or ProceduralMemory()
def register(self, skill: Skill) -> None:
self._proc.add_skill(skill)
logger.info("Skill registered", extra={"skill_id": skill.skill_id, "name": skill.name})
def get(self, skill_id: str) -> Skill | None:
return self._proc.get_skill(skill_id)
def get_by_name(self, name: str) -> Skill | None:
return self._proc.get_skill_by_name(name)
def list_skills(self, limit: int = 200) -> list[Skill]:
return self._proc.list_skills(limit=limit)