You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
core: DecisionClientMetadata.Endpoint now includes the path, so cache keys change and a distributed cache starts cold.
core: [Criteria] is now [Criterion].
core: The built-set EvaluateAsync overloads return QuestionSetAnswers.
core: Named arguments Definition: and State: become definition: and state:.
core: Use TryGetString instead.
core: QuestionAnswer.Value is now Probability for a Noul and Expected for a Score.
core: Choice, Score, KeyedChoice and KeyedScore can no longer be constructed directly; test through a fake IDecisionClient.
core: DecisionResponse.Provider is now UpstreamProvider.
core: DecisionUsage.InputTokens and OutputTokens are int?, and Usage is set when any count or the cost is reported.
core: DecisionCapabilities.Images and ModelListing, and their configuration keys, are now SupportsImages and SupportsModelListing.
systemone: SystemOneClient, SystemOneClientOptions, SystemOneClientServiceBuilder and AddSystemOneClient are now SystemOneDecisionClient, SystemOneDecisionClientOptions, SystemOneDecisionClientServiceBuilder and AddSystemOneDecisionClient.
systemone: SystemOneDefaults.ApiKeyEnvironmentVariable and BaseAddressEnvironmentVariable are now TypeSafeApiKeyEnvironmentVariable and TypeSafeBaseAddressEnvironmentVariable.
systemone: SystemOneResponse.Provider is now UpstreamProvider; the wire name is unchanged.
systemone: Callers built against ListModelsAsync recompile.
systemone: A malformed raw SystemOneRequest throws ArgumentException before sending, and one with no Model sends the client's configured model instead of jev-latest.
caching: Remove using Minos.Caching and using Minos.RateLimiting.
caching: Expiration and LocalCacheExpiration above 365 days throw ArgumentOutOfRangeException.
caching: A call on a disposed caching or rate-limiting stage throws ObjectDisposedException.
openai: Registered OpenAI and System One clients wait on the container's TimeProvider when one is registered.
Features
caching: DecisionCacheOptions.UseDistributedCache turns the distributed level off (91cc456)
core: add GetRequiredService to DecisionClientExtensions (91cc456)
core: let a stage set Id, UpstreamProvider and IsCached on a response (91cc456)
core: make the DecisionError constructor that takes failures public (91cc456)
core: the client endpoint is the full address calls go to (91cc456)
Bug Fixes
caching: refuse an expiration above 365 days (91cc456)
caching: throw ObjectDisposedException from a disposed caching or rate-limiting stage (91cc456)
core: keep partial usage on DecisionResponse (91cc456)
core: treat a usage that reports nothing as no usage (91cc456)
openai: wait on the container's TimeProvider in a registered client's own retries (91cc456)
systemone: accept a raw usage object with one token count missing (91cc456)
systemone: validate a raw request and send the client's model when it names none (91cc456)
Code Refactoring
caching: move the caching and rate-limiting stages into the Minos namespace (91cc456)
core: DecisionRequest constructor parameters are camelCase (91cc456)
core: make the map-taking answer constructors internal (91cc456)
core: name the capability flags SupportsImages and SupportsModelListing (91cc456)