namespace AIStudio.Provider.Reasoning.Dialects;
///
/// The top-level "reasoning_effort" parameter.
///
///
/// A dialect of its own although it is one key, because it travels on its own: providers accept it
/// without the nested object next to it, and the code this replaces had to remember to check for it
/// separately at every one of them. Here it is one line in the table instead.
///
public sealed class ReasoningEffortDialect : IReasoningDialect
{
///
public ReasoningDialect Dialect => ReasoningDialect.REASONING_EFFORT;
///
public ReasoningConfigurationState Detect(IDictionary parameters) =>
ReasoningParameters.TryGet(parameters, "reasoning_effort", out var effort)
? ReasoningParameters.LevelOf(effort)
: ReasoningConfigurationState.NOT_CONFIGURED;
}