DataPartView
@Composable
Renders an agent-streamed data-* part. Built-in shapes:
data-plan{title, description?, streaming?, steps: [{label, status?}]}→ Plandata-task{title, items: [{label, status?, files?: [..]}]}→ Taskdata-chain-of-thought{title?, steps: [{label, description?, status?, badges?}]}→ ChainOfThoughtstate(AG-UISTATE_SNAPSHOT/STATE_DELTA, already patched): itsplan,taskandchain-of-thoughtkeys render as above, other keys as JSON
status is pending | active | complete. Names match case-insensitively (AG-UI ACTIVITY_* parts are named by their activityType). Anything else falls back to a JSON card; pass renderers to map your own part names.