@threadplane/ag-ui
One adapter. Eight backends.
Build an Angular agent UI on any AG-UI-compatible runtime โ CrewAI, Mastra, Microsoft Agent Framework, AG2, Pydantic AI, AWS Strands, CopilotKit, or LangGraph fronted by AG-UI. Same Agent contract and chat surface; runtime-specific history and checkpoint behavior stays with the backend.
Talking to LangGraph Platform directly? See Choosing an adapter.
Already on LangGraph? See @threadplane/langgraph for native streaming, checkpoints, and the typed LangGraph SDK path.
Runtime choice
Pick a backend. Keep the UI.
The AG-UI protocol decouples your agent runtime from your front-end. @threadplane/ag-ui wraps any AG-UI AbstractAgent into the runtime-neutral Agent contract that @threadplane/chat consumes โ so the same Angular components ship against eight different runtimes.
- Stream from Python, .NET, or TypeScript backends โ same chat primitives
- Swap runtimes without rewriting the UI layer
- Protocol-first: tool calls, state deltas, citations all standardized
- Future runtimes that ship AG-UI work day-one
Same primitives
Drop-in for everything @threadplane/chat ships.
provideAgent registers an AG-UI client and exposes the same Agent contract that @threadplane/langgraph provides. Chat rendering, status, tool calls, generative UI, and citations use the same Angular primitives; durable checkpointed threads and history depend on the backend protocol, so use @threadplane/langgraph when you need the native LangGraph thread API.
- provideAgent + injectAgent โ same names across adapters
- Shared Agent contract: messages() / status() / reload()
- Same A2UI surface, themes, and citations rendering
- MockAgentTransport works the same way for tests
Stop stalling on agentic Angular.
Install the framework, read the docs, and have a streaming chat in your app this afternoon.
Most packages are MIT ยท @threadplane/chat requires a production license ยท App telemetry off by default