v6.0.1
Changed
- A completed run reports the artifacts it produced (#636).
run.completed's
output: list[ContentBlock]now leads with the media the run made - a hosted
ImageGenerationToolimage, a rich tool's image or file - and closes with the final text or
structured block, so a channel can send the image and caption it from one result instead of
reassembling it from executor events. Nothing else from the transcript is promoted, and a
text-only run is byte for byte what it was. The inline cap onImageBlock/AudioBlockmoves
from 1 MB to 8 MB decoded, because a generated PNG does not fit under 1 MB.
Fixed
-
A
@workflowreturning content blocks crashed its own run (#636). Anything other than a
TextBlockorDataBlockwas wrapped in aDataBlockthat could not hold it; a body may now
return any list of blocks andrunhands back exactly those blocks. -
ctx.invoke's return shape was undocumented.await ctx.invoke(<agent>)resolves to a
TurnResult(value at.output),await ctx.invoke(<tool|workflow>)resolves to the body's
return value directly, andctx.parallel(...)resolves to a list of each handle's own result,
never to handles.build-your-deck/workflowsnow states all three, and
WorkflowCtx.invoke's docstring no longer claims the body's return value unconditionally
(#489).