forward_last_turns

Send another agent's newest turns to a third agent as mail komrad composes itself, so what that agent concluded reaches the recipient without passing through your own context.

Agentwritesnot idempotentMCP tool

Name the source as fromAgentId and the recipient as toAgentId, both by id. It forwards the source's last turn by default, or its newest turns when turns is set, with the prompts between them, each cut from the head to fit maxBytes so the conclusion survives, exactly as get_last_turns would return them. The body opens with a header naming the source, its branch, the turns forwarded and when they were read, then your note when you give one, then the turns; the recipient is told to read them as quoted material. The response says what was sent and how big it was, and never carries the text, since keeping it out of your context is the point. It carries a warning when the recipient is dormant, since nothing runs behind it and the mail waits until it is resumed. The mail is sent from you, so every rule of send_mail holds: it counts toward what you and the recipient may exchange, it is refused when the recipient is archived or its mailbox is full, and a child may only forward to its parent and its parent's other children, judged on you rather than on the source. Reading the source is recorded as a deliberate read of another agent's work, the way get_transcript is. Mail holds at most 10000 characters, and a forward that would run past that is refused as invalid_argument rather than cut, naming how long it came to; pass a smaller maxBytes or fewer turns and call again. Refused as failed_precondition when the source has no turns synced yet. Each call sends another piece of mail, so do not retry a call that may have succeeded. Use this when the recipient needs the text and you do not; use get_last_turns when you do.

Calling it#

curl -X POST http://127.0.0.1:8787/agent.v1.AgentService/ForwardLastTurns \
  -H 'Content-Type: application/json' \
  -d '{
  "fromAgentId": "<fromAgentId>",
  "toAgentId": "<toAgentId>"
}'

Request#

ForwardLastTurnsRequest#

FieldTypeDescription
fromAgentIdstring

Whose newest turns to forward.

required

toAgentIdstring

Who to send them to, addressed by id since two workflows may hold agents of one name.

required

turnsint32

How many of the source's newest turns to forward, with the prompts between them, or unset for the last one alone.

between 1 and 20

notestring

What to tell the recipient about the forward in the caller's own words, which it reads before the turns.

at most 10000 characters

maxBytesint32

The most of each turn's text to forward, cut from the head so the end survives, or unset for the default.

Response#

ForwardLastTurnsResponse#

FieldTypeDescription
mailIdstring

The id of the mail as recorded, which an answer can reply to.

toAgentIdstring

The agent it is waiting for.

createdAtstring

When it was sent, in RFC 3339.

turnsint32

How many of the source's turns went, prompts included.

charactersint32

How many characters the whole body came to.

warningstring

Why the recipient will not read this soon, set when nothing runs behind it.