@@ -3,7 +3,7 @@ import { WebviewMessage } from "../../shared/WebviewMessage"
33import { defaultModeSlug , getModeBySlug , getGroupName } from "../../shared/modes"
44import { buildApiHandler } from "../../api"
55import { experiments as experimentsModule , EXPERIMENT_IDS } from "../../shared/experiments"
6- import { modelSupportsBrowserCapability } from "../../shared/browserCapability"
6+ import { computeCanUseBrowserTool } from "../../shared/browserCapability"
77
88import { SYSTEM_PROMPT } from "../prompts/system"
99import { MultiSearchReplaceDiffStrategy } from "../diff/strategies/multi-search-replace"
@@ -46,14 +46,13 @@ export const generateSystemPrompt = async (provider: ClineProvider, message: Web
4646 const rooIgnoreInstructions = provider . getCurrentTask ( ) ?. rooIgnoreController ?. getInstructions ( )
4747
4848 // Determine if browser tools can be used based on model support, mode, and user settings
49- let modelSupportsBrowser = false
49+ let modelInfo : any = undefined
5050
5151 // Create a temporary API handler to check if the model supports browser capability
5252 // This avoids relying on an active Cline instance which might not exist during preview
5353 try {
5454 const tempApiHandler = buildApiHandler ( apiConfiguration )
55- const info = tempApiHandler . getModel ( ) . info
56- modelSupportsBrowser = modelSupportsBrowserCapability ( info , apiConfiguration )
55+ modelInfo = tempApiHandler . getModel ( ) . info
5756 } catch ( error ) {
5857 console . error ( "Error checking if model supports browser capability:" , error )
5958 }
@@ -64,7 +63,12 @@ export const generateSystemPrompt = async (provider: ClineProvider, message: Web
6463
6564 // Only enable browser tools if the model supports it, the mode includes browser tools,
6665 // and browser tools are enabled in settings
67- const canUseBrowserTool = modelSupportsBrowser && modeSupportsBrowser && ( browserToolEnabled ?? true )
66+ const canUseBrowserTool = computeCanUseBrowserTool (
67+ modelInfo ,
68+ modeSupportsBrowser ,
69+ browserToolEnabled ,
70+ apiConfiguration ,
71+ )
6872
6973 const systemPrompt = await SYSTEM_PROMPT (
7074 provider . context ,
0 commit comments