Production agent chat UI in days, not sprints
The batteries-included Angular chat library. Built on the agent framework, Vercel's json-render spec, and Google's A2UI spec. Every feature included โ debug, theming, generative UI, streaming โ from day one.
Every team rebuilds the same chat UI. It takes 4-6 weeks and delays the real agent work.
- โ Message rendering from scratch
- โ Streaming indicators from scratch
- โ Input handling from scratch
- โ Accessibility added as afterthought
- โ Generative UI bolted on later
- โ Debug tooling usually skipped
Fully featured from day one. No feature backlog.
- โ Pre-built accessible components
- โ Vercel json-render spec via @ngaf/render
- โ Google A2UI spec โ 18 built-in components, v0.9 CheckRule validation
- โ Consumer-extensible action handlers for both specs
- โ Debug tooling + CSS custom property theming included
- โ Every feature ships together โ not incrementally
Features
Every chat capability, production-ready
Messages
Streaming message display with token-by-token rendering. Markdown support, auto-scroll, and accessible message list.
Input
Chat input with send and interrupt controls. Keyboard shortcuts, disabled state during streaming, accessible labels.
Generative UI
Inline spec rendering in conversation. Vercel json-render specs and Google A2UI surfaces render as native Angular components โ 18 built-in A2UI components, v0.9 CheckRule validation, and consumer-extensible action handlers.
Theming
CSS custom property theming that integrates with your design system. Swap colors, fonts, spacing without touching component code.
Debug
Agent state inspector for development. View messages, tool calls, interrupts, and streaming state in real time.
Developer Experience
Full-featured chat in a few lines
import { agent } from '@ngaf/langgraph';
import { ChatComponent } from '@ngaf/chat';
@Component({
template: `
<chat
[agent]="agent"
[registry]="registry"
/>
`,
})
export class MyChatPage {
protected readonly agent = agent({ apiUrl: 'http://localhost:2024', assistantId: 'chat_agent' });
registry = inject(RenderRegistry);
}chat {
--chat-bg: #f8f9fc;
--chat-user-bg: #004090;
--chat-user-color: #ffffff;
--chat-assistant-bg: #f0f4ff;
--chat-font-family: 'Inter', sans-serif;
--chat-border-radius: 12px;
--chat-input-border: 1px solid #e4e4e7;
}Head to Head
Incrementally building chat vs @ngaf/chat
Chat Guide
The Enterprise Guide to Agent Chat Interfaces in Angular
Five chapters covering the sprint tax, batteries-included components, theming and design system integration, generative UI with Vercel json-render, Google A2UI support, and debug tooling.
Part of the Cacheplane Angular Agent Framework.
โ Download PDFOptional โ Get notified of updates
The Cacheplane Stack
This library is part of a cohesive three-layer architecture.
Ready when you are
Ready to ship your agent chat?
Production chat UI in days, not sprints. Start with a conversation.
App deployment license ยท $20,000 ยท 3-month co-pilot engagement