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_SESSION_*, EV_TASK_*, expectation violations) are hub bookkeeping that the LLM doesn't need to reason about. The NetworkContextPolicy renders session expectations / active task metadata into the prompt prefix instead.

Inbound envelopes (sender != participant) become ModelRequest (a "user turn"); own past envelopes become ModelMessage.

name class-attribute instance-attribute #

name = 'full_transcript'

project async #

project(wal, *, participant_id, session, render_envelope)
Source code in autogen/beta/network/views/builtin.py
async def project(
    self,
    wal: list[Envelope],
    *,
    participant_id: str,
    session: SessionMetadata,
    render_envelope: EnvelopeRenderer,
) -> 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
        if envelope.sender_id == participant_id:
            events.append(ModelMessage(text))
        else:
            events.append(ModelRequest([TextInput(text)]))
    return events