diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index 565d037f4..f95690420 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -80,6 +80,7 @@ export namespace LLM { ? (input.agent.temperature ?? ProviderTransform.temperature(input.model)) : undefined, topP: input.agent.topP ?? ProviderTransform.topP(input.model), + topK: ProviderTransform.topK(input.model), options: pipe( {}, mergeDeep(ProviderTransform.options(input.model, input.sessionID)), @@ -132,6 +133,7 @@ export namespace LLM { }, temperature: params.temperature, topP: params.topP, + topK: params.topK, providerOptions: ProviderTransform.providerOptions(input.model, params.options), activeTools: Object.keys(tools).filter((x) => x !== "invalid"), tools, diff --git a/packages/plugin/src/index.ts b/packages/plugin/src/index.ts index 9dd4820b9..ef06a4d8b 100644 --- a/packages/plugin/src/index.ts +++ b/packages/plugin/src/index.ts @@ -161,7 +161,7 @@ export interface Hooks { */ "chat.params"?: ( input: { sessionID: string; agent: string; model: Model; provider: ProviderContext; message: UserMessage }, - output: { temperature: number; topP: number; options: Record }, + output: { temperature: number; topP: number; topK: number; options: Record }, ) => Promise "permission.ask"?: (input: Permission, output: { status: "ask" | "deny" | "allow" }) => Promise "tool.execute.before"?: (