ChatActivityTemplateDirective

Registers a per-message activity renderer on <chat>. When present, the template replaces the reasoning pill and the tool-call region (<chat-reasoning> + <chat-tool-calls>) of every assistant message. Markdown, tool views, generative UI and message actions still render.

The template renders at message level, so tall activity (nested subagent turns, approval cards) is never clipped by a trace body.

Precedence: the activity template owns the whole region, so any chatToolCallTemplate projected into <chat> is not used while an activity template is present. Render <chat-tool-calls> inside the activity template to keep per-tool templates.

Usage:

<chat [agent]="agent"> <ng-template chatActivityTemplate let-message let-toolCalls="toolCalls" let-subagents="subagents"> <my-activity-summary [message]="message" [calls]="toolCalls" [subagents]="subagents" /> </ng-template> </chat>

import { ChatActivityTemplateDirective } from '@threadplane/chat';

Declaration

export declare class ChatActivityTemplateDirective  {
  static ngTemplateContextGuard(_directive: ChatActivityTemplateDirective, context: unknown): context is ChatActivityTemplateContext;
  readonly templateRef: TemplateRef<ChatActivityTemplateContext>;
}

Angular template API

Selector: ng-template[chatActivityTemplate]

Members

ngTemplateContextGuard · overload 1

static ngTemplateContextGuard(_directive: ChatActivityTemplateDirective, context: unknown): context is ChatActivityTemplateContext;

Parameters

_directive · required
ChatActivityTemplateDirective
context · required
unknown

Returns

context is ChatActivityTemplateContext

templateRef

readonly templateRef: TemplateRef<ChatActivityTemplateContext>;