Webority.Chat.AspNetCore 0.131.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.131.0
                    
NuGet\Install-Package Webority.Chat.AspNetCore -Version 0.131.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.131.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.131.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.131.0
                    
#r "nuget: Webority.Chat.AspNetCore, 0.131.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.131.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.131.0
                    
Install as a Cake Addin
#tool nuget:?package=Webority.Chat.AspNetCore&version=0.131.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.

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

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.134.0 0 11/5/2026
0.133.0 0 11/5/2026
0.132.3 0 11/5/2026
0.132.2 0 11/5/2026
0.132.1 0 11/4/2026
0.132.0 0 11/4/2026
0.131.0 0 11/4/2026
0.130.2 32 11/4/2026
0.130.1 39 11/4/2026
0.129.0 51 11/4/2026