| from abc import ABC, abstractmethod | |
| from typing import Dict | |
| from .artifact import Artifact | |
| class Instruction(Artifact): | |
| def __call__(self) -> str: | |
| pass | |
| class TextualInstruction(Instruction): | |
| text: str | |
| def __call__(self) -> str: | |
| return self.text | |
| def __repr__(self): | |
| return self.text | |
| from .collections import ListCollection | |
| class InstructionsList(ListCollection): | |
| def verify(self): | |
| for instruction in self.items: | |
| assert isinstance(instruction, Instruction) | |
| class InstructionsDict(Dict): | |
| def verify(self): | |
| for key, instruction in self.items(): | |
| assert isinstance(instruction, Instruction) | |