Constructor MailAnsweringCapability
- Namespace
- MailFathom.Application.Retrieval.AskMail
- Assembly
- MailFathom.Application.dll
MailAnsweringCapability(SemanticEmailSearch, IAiProviderHealthReader, TimeProvider, IMailQuestionAnswerer?)
Initializes the capability over whatever this deployment configured.
public MailAnsweringCapability(SemanticEmailSearch semanticSearch, IAiProviderHealthReader providerHealthReader, TimeProvider timeProvider, IMailQuestionAnswerer? questionAnswerer)
Parameters
semanticSearchSemanticEmailSearchAnswers whether this instance can retrieve by meaning at all, which is the embedding half.
providerHealthReaderIAiProviderHealthReaderAnswers what the last call to the chat provider established about it.
timeProviderTimeProviderMeasures how long ago that was, which is what keeps a recorded failure from latching.
questionAnswererIMailQuestionAnswererConducts a run, or null when this deployment declared no chat endpoint.
Remarks
The answerer is the one optional dependency, and its absence is the deployment decision rather than a missing registration: the composition root registers an answering agent only for an instance that declared a chat endpoint, so requiring one here would make every other deployment fail to serve a tool list at all.
Exceptions
- ArgumentNullException
Thrown when
semanticSearch,providerHealthReader, ortimeProvideris null.