Skip to content

FullTranscript

autogen.beta.network.views.builtin.FullTranscript #

Translate every envelope visible to participant_id.

Projects whichever envelope types render_envelope returns a string for; other protocol-level events (EV_CHANNEL_*, EV_TASK_*, expectation violations) are hub bookkeeping that the LLM doesn't need to reason about. The NetworkContextPolicy renders channel expectations / active task metadata into the prompt prefix instead.

Inbound envelopes (sender != participant) become ModelRequest (a "user turn"); own past envelopes become ModelMessage. The assistant/user role bit is the speaker disambiguator — sufficient for 2-party channels where there's only one possible "other". Use :class:NamedTranscript for N-party channels.

name class-attribute instance-attribute #

name = 'full_transcript'

project async #

project(wal, *, participant_id, channel, render_envelope, name_for=default_name_resolver)
Source code in autogen/beta/network/views/builtin.py
async def project(
    self,
    wal: list[Envelope],
    *,
    participant_id: str,
    channel: ChannelMetadata,
    render_envelope: EnvelopeRenderer,
    name_for: NameResolver = default_name_resolver,  # noqa: ARG002
) -> list[BaseEvent]:
    events: list[BaseEvent] = []
    for envelope in wal:
        if not visible_to(envelope, participant_id):
            continue
        text = render_envelope(envelope)
        if text is None:
            continue
        events.append(_to_event(envelope, text, participant_id))
    return events