AI agents return heterogeneous results — a SQL agent returns a table, an analytics agent returns a chart, a document agent returns a file. The previous code path handled each shape through a separate UI component with its own rendering rules ; adding a new tool type required UI work, and consistency across tool outputs was the developer's responsibility instead of the platform's.
This release consolidates every tool output under a single result-envelope contract. The envelope carries the result type, the payload (table data, chart spec, file reference) and the metadata (source attribution, row count, column types). One canonical render pipeline reads the envelope and dispatches to the appropriate component ; the UI component library treats every tool output the same way regardless of source.
- One contract. Tables, charts and files all conform to the same outer shape. New tool types extend the inner payload without changing the envelope.
- One render pipeline. Source attribution, downloadable export, copy-to-clipboard, expand-to-full-view — all available on every tool output, not just the ones whose handler implemented them.
- One reviewer surface. The agent-session activity log captures every tool output through the same envelope, so reproduction and audit work uniformly across tool types.