Table of Contents

Class AiProviderHealth

Namespace
MailFathom.Application.AiProviders
Assembly
MailFathom.Application.dll

What the last call to one AI provider established, and when.

public sealed record AiProviderHealth : IEquatable<AiProviderHealth>
Inheritance
AiProviderHealth
Implements
Inherited Members

Remarks

ObservedAt records when the state was established, and what reads it is whatever has to decide whether calling the provider again now would buy anything: the semantic read path for the embedding role, and the answering capability for the chat one. The health check reads State alone, so a provider that failed once during a deployment and has not been called since probes exactly as one that failed a moment ago does.

A reader acting on the moment owes a staleness window of its own, because how long a provider may go unasked before its last failure stops being news depends on what else calls it. Absence of a moment is treated as old rather than fresh by both readers today, so an unstamped state can never be what withholds a capability indefinitely.

Constructors

AiProviderHealth(AiProviderRole, AiProviderHealthState, DateTimeOffset?)

What the last call to one AI provider established, and when.

Properties

ObservedAt

When that call ended, or null while nothing has been observed.

Role

Which provider this describes.

State

What the last call established about it.