Agent Maturity Compass API - v1.2.0
    Preparing search index...

    Interface EncodableMessage

    Consecutive same-role parts, as the surface projection grouped them.

    role is the SURFACE role (system / user / assistant / tool). Collapsing that onto a provider's smaller role set is the encoder's job and is part of the wire shape it is versioned on.

    interface EncodableMessage {
        parts: readonly EncodablePart[];
        role: "system" | "user" | "assistant" | "tool";
    }
    Index
    parts: readonly EncodablePart[]
    role: "system" | "user" | "assistant" | "tool"