# HubStateServiceDecorator class

> The HubStateServiceDecorator class of Novior.MentorAgent.Server.Hubs: Decorates IMentorStateService to forward every AI event to the connected SignalR client…

- URL: https://docs.mentoragent.net/api/novior-mentoragent-server-hubs/hubstateservicedecorator
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-10-27
- Packages: Novior.MentorAgent.Server

Decorates [`IMentorStateService`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/imentorstateservice) to forward every AI event to the connected SignalR client via `Clients.Client(connectionId).SendAsync(...)`. Also bridges the [`IMentorPageContext`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/imentorpagecontext) by applying page context snapshots received from the remote client before each AI call. One instance per SignalR connection scope.

## Definition

Namespace: `Novior.MentorAgent.Server.Hubs`. Package: `Novior.MentorAgent.Server`.

`public sealed class HubStateServiceDecorator : IDisposable`

```shell
dotnet add package Novior.MentorAgent.Server
```

## Constructors

`public HubStateServiceDecorator(IMentorStateService stateService, IMentorPageContext pageContext, IHubContext<MentorHub> hubContext, MentorApprovalOwners approvalOwners, ILogger<HubStateServiceDecorator> logger)`

## Methods

### `ApplySnapshot`

`public void ApplySnapshot(PageContextSnapshot snapshot)`

### `Dispose`

`public void Dispose()`

### `SetConnectionId`

`public void SetConnectionId(string connectionId)`

---

- Previous: [HubPageContextStore class](https://docs.mentoragent.net/api/novior-mentoragent-server-hubs/hubpagecontextstore.md)
- Next: [MentorApprovalOwners class](https://docs.mentoragent.net/api/novior-mentoragent-server-hubs/mentorapprovalowners.md)
