17 lines
776 B
Python
17 lines
776 B
Python
from fusionagi.schemas.skill import Skill
|
|
from fusionagi.memory.procedural import ProceduralMemory
|
|
from fusionagi._logger import logger
|
|
|
|
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)
|