Changelog
#0.0.19
#Reasoning
- New
<chat-reasoning>primitive renders model reasoning content as a "Thinking…" / "Thought for Ns" pill, default-collapsed once streaming completes. Auto-rendered by<chat>whenMessage.reasoningis populated. - New
Message.reasoningandMessage.reasoningDurationMsoptional fields on the shared agent contract. Both adapters populate them:@ngaf/langgraphfrom{type:'reasoning'}/{type:'thinking'}content blocks,@ngaf/ag-uifromREASONING_MESSAGE_*events.
#Tool-call templates
- New
chatToolCallTemplatedirective registers per-tool-name templates inside<chat-tool-calls>. A literal"*"registers a wildcard catch-all. <chat-tool-calls>[grouping]="'auto'"(the default) auto-collapses sequential same-name tool calls into a labeled strip ("Searched 5 sites"). Pass[grouping]="'none'"to opt out.- The legacy single-
<ng-template>fallback inside<chat-tool-calls>is removed in favor of the named-template registry. Consumers wanting a catch-all usechatToolCallTemplate="*". <chat-tool-call-card>defaults to collapsed whencomplete. Pass[defaultCollapsed]="false"for always-expanded.- New status pill (running spinner / done check / error glyph) with consistent visual chrome.