@tanstack/ai-angular has 351 recorded weekly downloads on npm, a decrease of 41.2% over the past 30 days.
It ranks #1531 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by +10.4%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About @tanstack/ai-angular
TanStack AI — Angular
Angular signal-based bindings for TanStack AI — streaming chat, tool-calling agents, and media generation built on Angular's native reactivity model.
Read the docs ->
Install
Minimal Usage
Important: All inject* functions use Angular's dependency injection system and must be called within an Angular injection context — a component or directive class field initializer, the constructor, or inside runInInjectionContext. Calling them outside an injection context will throw a runtime error.
The example below shows a standalone component that streams chat messages from a server endpoint via SSE:
All state is exposed as Angular Signals. Read them by calling them as functions:
| Signal | Type | Description |
| chat.messages() | UIMessage[] | Current message list | | chat.isLoading() | boolean | Whether a response is streaming | | chat.error() | Error \| undefined | Last error, if any | | chat.status() | ChatClientState | 'ready', 'streaming', 'error', ... | | chat.isSubscribed() | boolean | Whether a live (SSE push) session is active | | chat.connectionStatus() | ConnectionStatus | Transport connection status |
Available methods on the return value: sendMessage, append, reload, stop, clear, setMessages, addToolResult, addToolApprovalResponse.
Server endpoint
The client pairs with any endpoint that returns a TanStack AI SSE stream:
Available Functions
| Function | Description |
| injectChat | Streaming chat with messages, tool calls, and structured outputs | | injectGeneration | Generic generation client (streaming or one-shot) | | injectGenerateImage | Image generation | | injectGenerateAudio | Audio generation | | injectGenerateVideo | Video generation | | injectGenerateSpeech | Text-to-speech | | injectSummarize | Summarization | | injectTranscription | Audio transcription |
All generation functions return signals (result, isLoading, error, status) and methods (generate, stop, reset).
Injection Context
Angular's DI system requires that inject() is called during component construction. Every inject* function in this package calls inject() internally. Valid call sites:
Get Involved
• Read the docs. • Participate in GitHub discussions. • Chat with the community on Discord. • See CONTRIBUTING.md for setup instructions. • Become a sponsor.
Description from the npm listing.
- ai
- ai-sdk
- typescript
- tanstack
- angular
- signals
- chat
- streaming
- tool-calling
- structured-outputs
- media-generation
Where @tanstack/ai-angular sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm AI SDKs plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@tanstack/ai-angular. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.