Blog
Articles from Threadplane
Writing on agent UI for Angular — production patterns, design choices, and what we're shipping.
Why Do Agent UI Libraries Require a Runtime?
Vercel AI SDK, TanStack AI, assistant-ui, CopilotKit, and Threadplane compared: where the agent loop runs, who holds the key, and what each design trades away.
Threadplane 0.1.0: The Coffee in the Hangar Is Free
The first minor release. Six MIT packages covering the last mile of an Angular agent UI — chat, durable threads, approvals, generative UI — no paid tier.
What Changes in Your Angular Code When the Agent Runtime Changes
AG-UI and LangGraph land on the same Angular contract. Here is what actually differs — and which differences are the protocol, not the adapter.
We Measured the Runtime Swap: Three Non-LangGraph Backends, One Angular Contract
Strands, Microsoft Agent Framework, and Mastra against the neutral Agent contract. Messages, tools, and state ported. Both defects we found were ours.
What injectAgent() Actually Returns
The signals, the async methods, and the runtime-neutral Agent contract underneath — what you get from one call.
json-render vs A2UI: Choosing a Generative UI Contract
A fixed spec is easier to validate; A2UI updates over time and sends actions back. Which contract shape fits your surface.
Angular Chat App Tutorial with LangChain and LangGraph
Build a multi-thread Angular chat app on LangGraph: a conversation sidebar, server-titled threads, and bookmarkable URLs that survive a refresh.
Angular Chat App Tutorial with AG-UI
Build an Angular chat app on AG-UI where the browser owns its own tools — action, view, and ask tools rendering real components inline, plus shared state.
Build an AWS Strands Agent UI in Angular with AG-UI
Connect an AWS Strands agent to an Angular chat over AG-UI SSE with Threadplane, then prepare the same server for optional AgentCore deployment.
Agentic UI in Angular: Production Patterns After the Demo
Production patterns for agentic UI in Angular: signals, tool progress, approvals, durable threads, constrained generative UI, and recovery.