import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react" import { useEffect, useState } from "react" interface TemperatureControlProps { value: number | undefined onChange: (value: number | undefined) => void maxValue?: number // Some providers like OpenAI use 0-2 range } export const TemperatureControl = ({ value, onChange, maxValue = 1 }: TemperatureControlProps) => { const [isCustomTemperature, setIsCustomTemperature] = useState(value !== undefined) const [inputValue, setInputValue] = useState(value?.toString() ?? "0") // Sync internal state with prop changes when switching profiles useEffect(() => { const hasCustomTemperature = value !== undefined setIsCustomTemperature(hasCustomTemperature) setInputValue(value?.toString() ?? "0") }, [value]) return (
Controls randomness in the model's responses.
{isCustomTemperature && (Higher values make output more random, lower values make it more deterministic.