namespace AIStudio.Provider.Reasoning;
///
/// The ways a request can be asked to think, one per way of writing it down.
///
///
/// Every provider speaks one or more of these, and which ones is stated in the dispatcher rather
/// than worked out from anything. The order here is the order they are asked in: the answer does not
/// depend on it -- a "no" wins wherever it stands -- but a report which named them in whatever order
/// a container handed them over would read differently on another machine.
///
public enum ReasoningDialect
{
///
/// The nested "reasoning" object most OpenAI-compatible servers accept.
///
OPEN_AI_COMPATIBLE,
///
/// The top-level "reasoning_effort" parameter.
///
REASONING_EFFORT,
///
/// Anthropic's extended thinking, written as a "thinking" object.
///
ANTHROPIC_THINKING,
///
/// Google's thinking config, thinking level, and thought summaries.
///
GOOGLE_THINKING,
///
/// The "enable_thinking" switch Qwen introduced and other servers took over.
///
QWEN_THINKING,
///
/// Ollama's "think" parameter.
///
OLLAMA_THINK,
///
/// The reasoning mode and budget of the llama.cpp server.
///
LLAMA_CPP,
///
/// The thinking token budget and chat template kwargs of vLLM.
///
VLLM,
}