import type { ProviderId } from "../types.js"; /** * One declarative sampling policy. * * Everything used to run at `temperature: 0.2` with a single hard-coded MiniMax * exception and no `top_p` plumbing at all. Reasoning families degrade badly * under near-greedy decoding (Qwen3 in thinking mode loops, DeepSeek-R1 wants * ~0.6, gpt-oss wants 1.0), which is exactly the set of models users enable * thinking for. * * Add model families here, not as another regex inside an adapter. */ export interface SamplingDefaults { temperature: number; topP?: number | undefined; } export declare const DEFAULT_SAMPLING: SamplingDefaults; export declare function samplingDefaults(input: { provider?: ProviderId | undefined; model: string; reasoningEnabled?: boolean | undefined; }): SamplingDefaults; /** * Effective sampling for a request: an explicit caller/user temperature always * wins; `top_p` is only sent when the policy asks for it. */ export declare function resolveSampling(input: { provider?: ProviderId | undefined; model: string; reasoningEnabled?: boolean | undefined; requestedTemperature?: number | undefined; }): SamplingDefaults;