"""
This program has been developed by students from the bachelor Computer Science at Utrecht
University within the Software Project course.
© Copyright Utrecht University (Department of Information and Computing Sciences)
"""

from pydantic import BaseModel


class LLMPromptMessage(BaseModel):
    """
    Payload sent from the BDI agent to the LLM agent.

    Contains the user's text input along with the dynamic context (norms and goals)
    that the LLM should use to generate a response.

    :ivar text: The user's input text.
    :ivar norms: A list of active behavioral norms.
    :ivar goals: A list of active goals to pursue.
    """

    text: str
    norms: list[str]
    goals: list[str]
