|
1 | 1 | import { SessionState, WithParts } from "../state" |
2 | | -import { UserMessage } from "@opencode-ai/sdk" |
| 2 | +import { UserMessage } from "@opencode-ai/sdk/v2" |
3 | 3 | import { Logger } from "../logger" |
4 | 4 | import { encode } from "gpt-tokenizer" |
5 | 5 | import { getLastUserMessage, isMessageCompacted } from "../shared-utils" |
6 | 6 |
|
7 | 7 | export function getCurrentParams( |
| 8 | + state: SessionState, |
8 | 9 | messages: WithParts[], |
9 | 10 | logger: Logger, |
10 | 11 | ): { |
11 | 12 | providerId: string | undefined |
12 | 13 | modelId: string | undefined |
13 | 14 | agent: string | undefined |
| 15 | + variant: string | undefined |
14 | 16 | } { |
15 | 17 | const userMsg = getLastUserMessage(messages) |
16 | 18 | if (!userMsg) { |
17 | 19 | logger.debug("No user message found when determining current params") |
18 | | - return { providerId: undefined, modelId: undefined, agent: undefined } |
| 20 | + return { |
| 21 | + providerId: undefined, |
| 22 | + modelId: undefined, |
| 23 | + agent: undefined, |
| 24 | + variant: state.variant, |
| 25 | + } |
19 | 26 | } |
20 | | - const agent: string = (userMsg.info as UserMessage).agent |
21 | | - const providerId: string | undefined = (userMsg.info as UserMessage).model.providerID |
22 | | - const modelId: string | undefined = (userMsg.info as UserMessage).model.modelID |
| 27 | + const userInfo = userMsg.info as UserMessage |
| 28 | + const agent: string = userInfo.agent |
| 29 | + const providerId: string | undefined = userInfo.model.providerID |
| 30 | + const modelId: string | undefined = userInfo.model.modelID |
| 31 | + const variant: string | undefined = state.variant ?? userInfo.variant |
23 | 32 |
|
24 | | - return { providerId, modelId, agent } |
| 33 | + return { providerId, modelId, agent, variant } |
25 | 34 | } |
26 | 35 |
|
27 | 36 | /** |
|
0 commit comments