Skip to content

Commit 0bc1183

Browse files
roomote[bot]roomotedaniel-lxs
authored
feat: enable grounding features for Vertex AI (#6777)
* feat: enable grounding features for Vertex AI - Add enableUrlContext and enableGrounding options to vertexSchema in provider-settings.ts - Update Vertex.tsx UI component to include URL context and grounding checkboxes - Add comprehensive tests for the new grounding features in Vertex.spec.tsx - Reuse existing localization strings from Gemini provider Fixes #6776 * fix: address review feedback - hide grounding features in welcome view and only show for Gemini models --------- Co-authored-by: Roo Code <[email protected]> Co-authored-by: daniel-lxs <[email protected]>
1 parent 4664955 commit 0bc1183

File tree

4 files changed

+308
-53
lines changed

4 files changed

+308
-53
lines changed

packages/types/src/provider-settings.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ const vertexSchema = apiModelIdProviderModelSchema.extend({
163163
vertexJsonCredentials: z.string().optional(),
164164
vertexProjectId: z.string().optional(),
165165
vertexRegion: z.string().optional(),
166+
enableUrlContext: z.boolean().optional(),
167+
enableGrounding: z.boolean().optional(),
166168
})
167169

168170
const openAiSchema = baseProviderSettingsSchema.extend({

webview-ui/src/components/settings/ApiOptions.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,11 @@ const ApiOptions = ({
479479
)}
480480

481481
{selectedProvider === "vertex" && (
482-
<Vertex apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />
482+
<Vertex
483+
apiConfiguration={apiConfiguration}
484+
setApiConfigurationField={setApiConfigurationField}
485+
fromWelcomeView={fromWelcomeView}
486+
/>
483487
)}
484488

485489
{selectedProvider === "gemini" && (

webview-ui/src/components/settings/providers/Vertex.tsx

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { useCallback } from "react"
2+
import { Checkbox } from "vscrui"
23
import { VSCodeLink, VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
34

45
import { type ProviderSettings, VERTEX_REGIONS } from "@roo-code/types"
@@ -11,9 +12,10 @@ import { inputEventTransform } from "../transforms"
1112
type VertexProps = {
1213
apiConfiguration: ProviderSettings
1314
setApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void
15+
fromWelcomeView?: boolean
1416
}
1517

16-
export const Vertex = ({ apiConfiguration, setApiConfigurationField }: VertexProps) => {
18+
export const Vertex = ({ apiConfiguration, setApiConfigurationField, fromWelcomeView }: VertexProps) => {
1719
const { t } = useAppTranslation()
1820

1921
const handleInputChange = useCallback(
@@ -91,6 +93,30 @@ export const Vertex = ({ apiConfiguration, setApiConfigurationField }: VertexPro
9193
</SelectContent>
9294
</Select>
9395
</div>
96+
97+
{!fromWelcomeView && apiConfiguration.apiModelId?.startsWith("gemini") && (
98+
<div className="mt-6">
99+
<Checkbox
100+
data-testid="checkbox-url-context"
101+
checked={!!apiConfiguration.enableUrlContext}
102+
onChange={(checked: boolean) => setApiConfigurationField("enableUrlContext", checked)}>
103+
{t("settings:providers.geminiParameters.urlContext.title")}
104+
</Checkbox>
105+
<div className="text-sm text-vscode-descriptionForeground mb-3 mt-1.5">
106+
{t("settings:providers.geminiParameters.urlContext.description")}
107+
</div>
108+
109+
<Checkbox
110+
data-testid="checkbox-grounding-search"
111+
checked={!!apiConfiguration.enableGrounding}
112+
onChange={(checked: boolean) => setApiConfigurationField("enableGrounding", checked)}>
113+
{t("settings:providers.geminiParameters.groundingSearch.title")}
114+
</Checkbox>
115+
<div className="text-sm text-vscode-descriptionForeground mb-3 mt-1.5">
116+
{t("settings:providers.geminiParameters.groundingSearch.description")}
117+
</div>
118+
</div>
119+
)}
94120
</>
95121
)
96122
}

0 commit comments

Comments
 (0)