Display Tools
AI-awareHand the agent charts, KPI stats and timelines as tools — and it answers with live DRYL components inline in the chat, not prose.
How it works
DrylDisplayTools.All is six ready-made display AIFunctions —
line, area, bar and donut charts, a KPI stat grid, and a timeline. Hand them to the agent
and the model calls them; DrylAgentAttachments picks every validated
call off the run's tool trace and glides it in. Invalid arguments never render — the model
gets a corrective tool result and retries.
Where the innovation lies: the AI's output vocabulary becomes your component library. Instead of parsing markdown tables out of a text answer, the model speaks directly in typed, animated DRYL visuals.
// Hand the six display tools to your agent — the model calls them and DRYL renders them.
var agent = new ChatClientAgent(chatClient, tools: DrylDisplayTools.All);
var run = Runner.Start(agent, session, "How did Q2 go?");<DrylMessage Ai="@run.State">
<DrylAiStream Source="run.TextStream">
<DrylMarkdown Content="@context.Text" />
</DrylAiStream>
<DrylAgentAttachments Run="run" />
</DrylMessage>Display tools — the AI answers with components
Six ready-made display AIFunctions (line/area/bar/donut chart, KPI stats, timeline). Hand them to the agent and the model answers with live DRYL components inline in the chat — DrylAgentAttachments picks every validated call off the run's tool trace and glides it in. Invalid arguments never render; the model gets a corrective tool result and retries.