Spaces:
Sleeping
Sleeping
File size: 723 Bytes
116524e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | """Protocol defining what steps need from a SkillManager implementation."""
from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from ..core.outputs import ReflectorOutput, SkillManagerOutput
@runtime_checkable
class SkillManagerLike(Protocol):
"""Structural interface for SkillManager-like objects.
Any object with a matching ``update_skills`` method satisfies this —
``ace.roles.SkillManager`` does.
"""
def update_skills(
self,
*,
reflections: tuple[ReflectorOutput, ...],
skillbook: Any,
question_context: str,
progress: str,
**kwargs: Any,
) -> SkillManagerOutput: ...
|