import dspy


class ingestionSignature(dspy.Signature):
    """You are going to be given dungeon masters notes, on session plans, recaps, npcs, players.
    You must summarize these document in one sentence
    and extract as many relevant tags aspossible as a JSON list:
    {{'synopsis': '...', 'tags': [...]}}\n\nDocument:\n{content}"
    /no_think
    """

    note: str = dspy.InputField()
    answer: str = dspy.OutputField()


class IngestionAgent(dspy.Module):
    """The Ingestion Agent is responsible for Document tagging and summarising."""

    def __init__(self):
        """Initialize the Oracle with available expert tools."""
        # self.tools = []
        self.ingest = dspy.Predict(signature=ingestionSignature)
