最小実装
from hydrangea.context.area import Area, AreaInvokeTiming
from hydrangea.message import Message, Role
class OneShotArea(Area):
def __init__(self, text: str) -> None:
super().__init__(
invoke_timing=AreaInvokeTiming.immediate,
)
self._text = text
def tick(self) -> list[Message] | None:
self._retire()
return [
Message(
role=Role.user,
content=self._text,
)
]
この Area はメッセージを 1 つ出力した後、retire します。