rohitg00/ai-engineering-from-scratch · error · ValueError

unknown performative: {self.performative}

Error message

unknown performative: {self.performative}

What it means

Error "unknown performative: {self.performative}" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/16-multi-agent-and-swarms/02-fipa-acl-heritage/code/main.py:36

    "subscribe", "cancel", "failure",
}


@dataclass
class ACLMessage:
    performative: str
    sender: str
    receiver: str
    content: Any
    language: str = "SL0"
    ontology: str = "default"
    protocol: Optional[str] = None
    conversation_id: Optional[str] = None
    reply_with: Optional[str] = None

    def __post_init__(self) -> None:
        if self.performative not in PERFORMATIVES:
            raise ValueError(f"unknown performative: {self.performative}")

    def render(self) -> str:
        fields = [
            f":sender       {self.sender}",
            f":receiver     {self.receiver}",
            f":content      {self.content!r}",
            f":language     {self.language}",
            f":ontology     {self.ontology}",
        ]
        if self.protocol:
            fields.append(f":protocol     {self.protocol}")
        if self.conversation_id:
            fields.append(f":conversation-id {self.conversation_id}")
        if self.reply_with:
            fields.append(f":reply-with   {self.reply_with}")
        inner = "\n  ".join(fields)
        return f"({self.performative}\n  {inner}\n)"

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/16-multi-agent-and-swarms/02-fipa-acl-heritage/code/main.py:36 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26). Data as JSON: /api/errors/95ba04a7750edf7d. Report an issue: GitHub.