Webority.Chat.AspNetCore 0.134.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Webority.Chat.AspNetCore --version 0.134.0
                    
NuGet\Install-Package Webority.Chat.AspNetCore -Version 0.134.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Webority.Chat.AspNetCore" Version="0.134.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Webority.Chat.AspNetCore" Version="0.134.0" />
                    
Directory.Packages.props
<PackageReference Include="Webority.Chat.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Webority.Chat.AspNetCore --version 0.134.0
                    
#r "nuget: Webority.Chat.AspNetCore, 0.134.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Webority.Chat.AspNetCore@0.134.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Webority.Chat.AspNetCore&version=0.134.0
                    
Install as a Cake Addin
#tool nuget:?package=Webority.Chat.AspNetCore&version=0.134.0
                    
Install as a Cake Tool

webority-chat

Conversational component for assistant, support and sales chats: engine, React, Razor and React Native screens, server and admin.

Packages

Package Registry What it holds
@webority/chat-core npm The headless engine: client over the chat routes, session state machine over message parts, stream reader, profile resolution, default labels, fixture client.
@webority/chat-elements npm <wui-chat> and one element per part kind, the chat styles on @webority/theme tokens, the chat.global.js bundle for Razor pages.
@webority/chat-react npm The React shells (launcher, docked, full page, embedded), thread, composer, one renderer per part kind and useChat.
@webority/mobile-chat npm The React Native screen, sheet and embedded shells, renderers and useChat. ChatSheet is a floating launcher that opens the chat in a bottom sheet at 92% of the screen height (snapPoints), closed by a pull down or a tap on the backdrop.
Webority.Chat NuGet The conversation core: entities, contract records, store, profiles, scripts, inputs, ledger rules, visitors, package-owned schema.
Webority.Chat.AspNetCore NuGet MapWeborityChat(prefix, options): every route, the SSE writer, the feature filter, the captcha gate.
Webority.Chat.Ai NuGet The AI responder over Webority.Ai: agent loop, reply guard, presentation tools, guardrails.
Webority.Chat.Support NuGet Handoff to a person, ticket and handoff parts, open tickets on start, away notices. It serves no page, so a customer head takes it safely.
Webority.Chat.Support.Admin NuGet The live agent console at /ChatSupport/Live, for the staff head only.
Webority.Chat.Speech NuGet Azure Speech tokens for dictation and read-aloud.
Webority.Chat.Sms.Azure NuGet Sends phone one-time codes through Azure Communication Services SMS over managed identity.
Webority.Chat.Razor NuGet The app-chat tag helper and the chat-elements assets.
Webority.Chat.Admin NuGet Transcripts, ratings, unanswered questions, leads, profile and script editors.

Every package carries the one version in version.json.

Voice clips are players of stored clips only: the chat plays a clip that is already stored and does not record one.

A phone app that turns on Dictation or VoiceClips adds expo-audio's config plugin to its own app config, with the microphone permission text (Android RECORD_AUDIO), and ships a new store build.

Server wiring

services.AddWeborityChat<AppDbContext>()
    .SeedProfile("website", "chat/profile.website.json")
    .AddLeadSink<WebsiteLeadSink>();
// OnModelCreating: modelBuilder.ApplyWeborityChatConfiguration();
app.MapWeborityChat("/api/chat", new ChatMapOptions { Surface = "website" });

AddWeborityChat sends one-time codes by email, so every host registers Webority.Email, and adds the code template with AddWeborityChatOtpEmailTemplates() on its email builder. A host with lead capture also adds AddWeborityChatSalesEmailTemplates(), the template of the sales email sent to Chat:SalesNotificationEmail for each new lead.

Booking needs the host's IChatBookingSlots and IChatBookingSink, registered before or after AddWeborityChat. A chat whose profile turns booking on fails the turn with an error naming the missing seam when either is not registered.

AI replies: services.AddWeborityChatAi(surface, options) screens each message through an AI judge, so the host also registers one, for example AddWeborityAiJudgmentJev() with its key; startup fails without it. The four judgment uses (chat-injection, chat-topic, chat-sentiment, chat-repeat) default to the Jev provider (ChatAiUseDefaults); an Ai:Judgment:Uses entry overrides one.

Captcha: services.AddWeborityChatCaptcha() adds the gate over the host's ICaptchaVerifier (Webority.Security), and the browser receives that verifier's site key, so one stored profile works in every environment. A surface whose profile sets a captcha mode other than Off fails each turn with an error when the host never calls it.

The tables and their numbered migrations ship inside the Webority.Chat package under content/schema.

Admin pages: services.AddRazorPages().AddWeborityChatAdmin("ChatAdmin", leadUrlTemplate: "/Sales/Leads/{lead}", articleSuggestionUrlTemplate: "/Support/HelpCentre/New?question={question}&source={surface}"). The lead template holds {lead} once; the article template holds {question} once and {surface} at most once, and the Unanswered page shows "Suggest an article" only when it is set. Both are optional, and both start with https:// or a single /.

Support wiring

Webority.Chat.Support adds handoff to a person, the agent console and away notices. Register it after AddWeborityChat and after the support builder's head call: AddCustomerService() on the customer head, AddAgentService() on the admin head.

// Customer head
var support = services.AddWeboritySupport<AppDbContext>().AddCustomerService().AddCustomerSuggestions();
services.AddWeborityAiActions<AppDbContext>(configuration);
support.AddChatTools();
services.AddWeborityChat<AppDbContext>();
services.AddWeborityChatSupport();
// OnModelCreating: modelBuilder.ApplyChatSupportConfiguration();
app.MapWeborityChat("/api/chat", new ChatMapOptions { Surface = "website" }).MapWeborityChatSupport(options);

// Admin head (also references Webority.Chat.Support.Admin)
var mvc = services.AddRazorPages();
services.AddWeboritySupport<AppDbContext>().AddAgentService();
mvc.AddWeborityChatSupportAdmin(agentPolicy);

Staff pages live only in Webority.Chat.Admin and Webority.Chat.Support.Admin. A customer or public head references neither.

Every head that calls AddWeborityChatSupport registers an IChatNotificationRecipients, calls AddChatAwayOutbox() on the AddWeborityOutbox builder, and sets Chat:Away:ConversationUrlTemplate to an absolute https URL containing {conversationId} when it sets the key. Startup fails otherwise.

  • The host lists SupportTicketRaise in Ai:Actions:Kinds with Mode Confirm, and gives it a profile action cap (ChatActionCap: kind, max, window hours). The hand-off raises its ticket through that ledger entry.
  • Chat:Support binds ChatSupportOptions (wait, idle, agent capacity, presence, typing and stream timings, with their ranges). Chat:Away binds the away notice options (docs/away-notices.md).
  • A product timer calls ChatHandoffDeadlines.RunAsync once a minute. It ends a hand-off nobody took within MaxWaitMinutes.
  • The ChatHandoff table and its numbered migration ship inside the Webority.Chat.Support package under content/schema, and run after the Webority.Chat baseline.
  • Away notices need the host's IChatPushDevices when the recipient has devices, and a one-minute outbox processor for the chat-away queue. See docs/away-notices.md.

Develop

corepack pnpm install --frozen-lockfile
corepack pnpm -r build
dotnet build Webority.Chat.slnx -v q --nologo -m:4
dotnet test --solution Webority.Chat.slnx --no-build

Two samples run the library locally:

  • samples/FullStack.Host runs the whole chat on one machine: the real routes, a SQL Server database, the staff pages and a stand-in model with no network. Start with its README.md.
  • samples/Razor.Sandbox is the database-free catalogue of the Razor chat, which the parity gate boots.

See CLAUDE.md for the repo rules.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Webority.Chat.AspNetCore:

Package Downloads
Webority.Chat.Speech

The Azure Speech adapter for Webority Chat: short-lived tokens over managed identity for dictation and read-aloud.

Webority.Chat.Support

The support bridge for Webority Chat: handoff from the assistant to a person, ticket and handoff parts, open tickets on start and away notifications, over Webority.Support. It serves no staff page; the agent console is Webority.Chat.Support.Admin.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.135.1 0 11/6/2026
0.135.0 0 11/6/2026
0.134.0 79 11/5/2026
0.133.0 46 11/5/2026
0.132.3 78 11/5/2026
0.132.2 49 11/5/2026
0.132.1 54 11/4/2026
0.132.0 53 11/4/2026
0.131.0 55 11/4/2026
0.130.2 54 11/4/2026
0.130.1 54 11/4/2026
0.129.0 59 11/4/2026