Files
oh-my-opencode/src/shared/session-prompt-params-state.ts
T
2026-04-08 13:02:51 +09:00

38 lines
1.4 KiB
TypeScript

export type SessionPromptParams = {
temperature?: number
topP?: number
maxOutputTokens?: number
options?: Record<string, unknown>
}
const sessionPromptParams = new Map<string, SessionPromptParams>()
export function setSessionPromptParams(sessionID: string, params: SessionPromptParams): void {
sessionPromptParams.set(sessionID, {
...(params.temperature !== undefined ? { temperature: params.temperature } : {}),
...(params.topP !== undefined ? { topP: params.topP } : {}),
...(params.maxOutputTokens !== undefined ? { maxOutputTokens: params.maxOutputTokens } : {}),
...(params.options !== undefined ? { options: { ...params.options } } : {}),
})
}
export function getSessionPromptParams(sessionID: string): SessionPromptParams | undefined {
const params = sessionPromptParams.get(sessionID)
if (!params) return undefined
return {
...(params.temperature !== undefined ? { temperature: params.temperature } : {}),
...(params.topP !== undefined ? { topP: params.topP } : {}),
...(params.maxOutputTokens !== undefined ? { maxOutputTokens: params.maxOutputTokens } : {}),
...(params.options !== undefined ? { options: { ...params.options } } : {}),
}
}
export function clearSessionPromptParams(sessionID: string): void {
sessionPromptParams.delete(sessionID)
}
export function clearAllSessionPromptParams(): void {
sessionPromptParams.clear()
}