Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agentic UI with Angular @ngAir April 2025

Avatar for Manfred Steyer Manfred Steyer PRO
April 17, 2026
14

Agentic UI with Angular @ngAir April 2025

Avatar for Manfred Steyer

Manfred Steyer PRO

April 17, 2026

More Decks by Manfred Steyer

Transcript

  1. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 4 General Flow

    User Intent Agent LLM Tools Component Explicit or Implicit Store, Forms, Services, … {xor}
  2. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 6 1) Client-Side

    Agents with Hashbrown 2) Server-Side Agents with AG-UI Agenda
  3. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 7 About Me

    (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer, ANGULARarchitects.io
  4. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 11 Initializing Hashbrown

    // app.config.ts export const appConfig: ApplicationConfig = { providers: [ […], provideHashbrown({ baseUrl: 'http://localhost:3000/api/chat‘, emulateStructuredOutput: true, }), ], };
  5. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 12 Emulating Structured

    Output User Intent Agent LLM Tools Component {xor} Structured Output Emulated Structured Output
  6. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 13 uiChatResource private

    readonly chat = uiChatResource({ model: this.config.model, system: `You are an assistant that helps with booking flights …`, tools: [ findFlightsTool, getLoadedFlights, getBookedFlights, […] ], components: [ flightWidget, messageWidget ], });
  7. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 14 uiChatResource this.chatStore.sendMessage({

    content: `Are my flights delayed?`, […]}); @for (message of chat.value(); track $index) { <div>{{ message.content }}</div> } @for (message of chat.value(); track $index) { <hb-render-message [message]="message" /> }
  8. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 17 Agent LLM

    Tools Component Agent Client Tools {xor} HTTP (SSE, Web Sockets, etc.) Backend Frontend
  9. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 18 Agent LLM

    Tools Component Agent Client Tools {xor} HTTP (SSE, Web Sockets, etc.) Backend Frontend
  10. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 19 Abstracting Server

    Stack Abstracting Model Streaming Events Transport- Agnostic We Need a Protocol! SSE, WebSockets, …
  11. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten • LangGraph •

    CrewAI • Microsoft Agent Framework • Google ADK • AWS Strands Agents • AWS Bedrock AgentCore • Mastra • Pydantic AI • Agno • LlamaIndex • AG2 • AWS Bedrock Agents • OpenAI Agent SDK • Cloudflare Agents 21 Supported Integrations
  12. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 23 Selected Message

    Types Run • Started • Finished • Error Text Message • Start • Content • End Tool Call • Start • Args • End • Result
  13. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 25 Architectures with

    Open Standards Agentic UI with Angular 220+ pages, PDF, EPUB Regular Free Updates! Q3/2026 Waiting List: (Early Bird Discount) agentic-angular.com
  14. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 27 1) Server

    and Client Tool Calling 2) Structured Output 3) Abstracting Backend Stack with AG-UI Conclusion
  15. •Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 28 [LinkedIn, Twitter,

    Facebook] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer @ Manfred Steyer Slides, Examples, Book Remote Company Workshops and Consulting http://angulararchitects.io