Summarize the rollout and keep the supporting evidence visible.
Sent
Customize selected message parts while preserving the default headless message structure.
Override one or two message part types while keeping the default row layout intact.
Replace only the part types that need branded or domain-specific rendering, and keep the default renderers for everything else.
The demo below uses Message.Content with getDefaultMessagePartRenderer() to override the reasoning part while preserving the default renderers for everything else:
Message.Content as the structural message-content surfacegetDefaultMessagePartRenderer() to preserve shipped rendering behaviorreasoning, tool, file, or data-*Message.Content rather than rebuilding the message from headless primitives.Use this pattern when:
This pattern fits reasoning disclosures, tool outputs, citations, files, and data-* parts that need richer domain UI than the defaults provide.
getDefaultMessagePartRenderer() to keep the default renderers for parts you don't override.