Skip to content

Commit cd1ff2a

Browse files
arafatkatzeCline Evaluation
andauthored
Refactor reasoning effort option and checkpoint handling (RooCodeInc#3454)
• Replace "o3MiniReasoningEffort" with "reasoningEffort" in API providers • Remove deprecated configuration properties from package.json • Guard checkpoint tracker initialization and saving using the enableCheckpoints flag Co-authored-by: Cline Evaluation <[email protected]>
1 parent d297963 commit cd1ff2a

File tree

22 files changed

+355
-96
lines changed

22 files changed

+355
-96
lines changed

.changeset/nine-spiders-kneel.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"claude-dev": patch
3+
---
4+
5+
Finishing the migration of Vscode Advanced settings to Settings Webview

package.json

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -236,43 +236,7 @@
236236
},
237237
"configuration": {
238238
"title": "Cline",
239-
"properties": {
240-
"cline.enableCheckpoints": {
241-
"type": "boolean",
242-
"default": true,
243-
"description": "Enables extension to save checkpoints of workspace throughout the task. Uses git under the hood which may not work well with large workspaces."
244-
},
245-
"cline.preferredLanguage": {
246-
"type": "string",
247-
"enum": [
248-
"English",
249-
"Arabic - العربية",
250-
"Portuguese - Português (Brasil)",
251-
"Czech - Čeština",
252-
"French - Français",
253-
"German - Deutsch",
254-
"Hindi - हिन्दी",
255-
"Hungarian - Magyar",
256-
"Italian - Italiano",
257-
"Japanese - 日本語",
258-
"Korean - 한국어",
259-
"Polish - Polski",
260-
"Portuguese - Português (Portugal)",
261-
"Russian - Русский",
262-
"Simplified Chinese - 简体中文",
263-
"Spanish - Español",
264-
"Traditional Chinese - 繁體中文",
265-
"Turkish - Türkçe"
266-
],
267-
"default": "English",
268-
"description": "The language that Cline should use for communication."
269-
},
270-
"cline.mcpMarketplace.enabled": {
271-
"type": "boolean",
272-
"default": true,
273-
"description": "Controls whether the MCP Marketplace is enabled."
274-
}
275-
}
239+
"properties": {}
276240
}
277241
},
278242
"scripts": {

src/api/providers/cline.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class ClineHandler implements ApiHandler {
3333
systemPrompt,
3434
messages,
3535
this.getModel(),
36-
this.options.o3MiniReasoningEffort,
36+
this.options.reasoningEffort,
3737
this.options.thinkingBudgetTokens,
3838
this.options.openRouterProviderSorting,
3939
)

src/api/providers/openai-native.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,9 @@ export class OpenAiNativeHandler implements ApiHandler {
6666
messages: [{ role: "developer", content: systemPrompt }, ...convertToOpenAiMessages(messages)],
6767
stream: true,
6868
stream_options: { include_usage: true },
69-
reasoning_effort: (this.options.o3MiniReasoningEffort as ChatCompletionReasoningEffort) || "medium",
69+
reasoning_effort: (this.options.reasoningEffort as ChatCompletionReasoningEffort) || "medium",
7070
})
71+
7172
for await (const chunk of stream) {
7273
const delta = chunk.choices[0]?.delta
7374
if (delta?.content) {

src/api/providers/openai.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class OpenAiHandler implements ApiHandler {
6565
if (isReasoningModelFamily) {
6666
openAiMessages = [{ role: "developer", content: systemPrompt }, ...convertToOpenAiMessages(messages)]
6767
temperature = undefined // does not support temperature
68-
reasoningEffort = (this.options.o3MiniReasoningEffort as ChatCompletionReasoningEffort) || "medium"
68+
reasoningEffort = (this.options.reasoningEffort as ChatCompletionReasoningEffort) || "medium"
6969
}
7070

7171
const stream = await this.client.chat.completions.create({

src/api/providers/openrouter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export class OpenRouterHandler implements ApiHandler {
3535
systemPrompt,
3636
messages,
3737
this.getModel(),
38-
this.options.o3MiniReasoningEffort,
38+
this.options.reasoningEffort,
3939
this.options.thinkingBudgetTokens,
4040
this.options.openRouterProviderSorting,
4141
)

src/api/providers/requesty.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export class RequestyHandler implements ApiHandler {
3232
...convertToOpenAiMessages(messages),
3333
]
3434

35-
const reasoningEffort = this.options.o3MiniReasoningEffort || "medium"
35+
const reasoningEffort = this.options.reasoningEffort || "medium"
3636
const reasoning = { reasoning_effort: reasoningEffort }
3737
const reasoningArgs = model.id.startsWith("openai/o") ? reasoning : {}
3838

src/api/transform/openrouter-stream.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export async function createOpenRouterStream(
99
systemPrompt: string,
1010
messages: Anthropic.Messages.MessageParam[],
1111
model: { id: string; info: ModelInfo },
12-
o3MiniReasoningEffort?: string,
12+
reasoningEffort?: string,
1313
thinkingBudgetTokens?: number,
1414
openRouterProviderSorting?: string,
1515
) {
@@ -144,7 +144,7 @@ export async function createOpenRouterStream(
144144
stream_options: { include_usage: true },
145145
transforms: shouldApplyMiddleOutTransform ? ["middle-out"] : undefined,
146146
include_reasoning: true,
147-
...(model.id.startsWith("openai/o") ? { reasoning_effort: o3MiniReasoningEffort || "medium" } : {}),
147+
...(model.id.startsWith("openai/o") ? { reasoning_effort: reasoningEffort || "medium" } : {}),
148148
...(reasoning ? { reasoning } : {}),
149149
...(openRouterProviderSorting ? { provider: { sort: openRouterProviderSorting } } : {}),
150150
})

src/core/controller/index.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ export class Controller {
145145
browserSettings,
146146
chatSettings,
147147
shellIntegrationTimeout,
148+
enableCheckpointsSetting,
148149
} = await getAllExtensionState(this.context)
149150

150151
if (autoApprovalSettings) {
@@ -168,6 +169,7 @@ export class Controller {
168169
browserSettings,
169170
chatSettings,
170171
shellIntegrationTimeout,
172+
enableCheckpointsSetting ?? true,
171173
customInstructions,
172174
task,
173175
images,
@@ -563,6 +565,22 @@ export class Controller {
563565
// plan act setting
564566
await updateGlobalState(this.context, "planActSeparateModelsSetting", message.planActSeparateModelsSetting)
565567

568+
if (typeof message.enableCheckpointsSetting === "boolean") {
569+
await updateGlobalState(this.context, "enableCheckpointsSetting", message.enableCheckpointsSetting)
570+
}
571+
572+
if (typeof message.mcpMarketplaceEnabled === "boolean") {
573+
await updateGlobalState(this.context, "mcpMarketplaceEnabled", message.mcpMarketplaceEnabled)
574+
}
575+
576+
// chat settings (including preferredLanguage and openAIReasoningEffort)
577+
if (message.chatSettings) {
578+
await updateGlobalState(this.context, "chatSettings", message.chatSettings)
579+
if (this.task) {
580+
this.task.chatSettings = message.chatSettings
581+
}
582+
}
583+
566584
// after settings are updated, post state to webview
567585
await this.postStateToWebview()
568586

@@ -1332,6 +1350,7 @@ export class Controller {
13321350
mcpMarketplaceEnabled,
13331351
telemetrySetting,
13341352
planActSeparateModelsSetting,
1353+
enableCheckpointsSetting,
13351354
globalClineRulesToggles,
13361355
shellIntegrationTimeout,
13371356
} = await getAllExtensionState(this.context)
@@ -1366,6 +1385,7 @@ export class Controller {
13661385
mcpMarketplaceEnabled,
13671386
telemetrySetting,
13681387
planActSeparateModelsSetting,
1388+
enableCheckpointsSetting: enableCheckpointsSetting ?? true,
13691389
vscMachineId: vscode.env.machineId,
13701390
globalClineRulesToggles: globalClineRulesToggles || {},
13711391
localClineRulesToggles: localClineRulesToggles || {},

src/core/storage/state-keys.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ export type GlobalStateKey =
8383
| "thinkingBudgetTokens"
8484
| "reasoningEffort"
8585
| "planActSeparateModelsSetting"
86+
| "enableCheckpointsSetting"
87+
| "mcpMarketplaceEnabled"
8688
| "favoritedModelIds"
8789
| "requestTimeoutMs"
8890
| "shellIntegrationTimeout"

0 commit comments

Comments
 (0)