Make balanced smart context option the default (#1186)
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Set “balanced” as the default smart context mode. Users now get balanced when Smart Files Context is enabled and no mode is set; “conservative” must be explicitly selected. - **Refactors** - Default fallback to balanced in UI and engine (proSmartContextOption undefined -> "balanced"). - ProModeSelector saves "conservative" explicitly; selector reads undefined as balanced. - Updated schema and types to allow "balanced" | "conservative". - Engine payload now includes smart_context_mode with "balanced" by default; e2e tests and snapshots updated. - **Migration** - No action needed. Existing users without an explicit mode will use balanced by default; selecting conservative persists. <!-- End of auto-generated description by cubic. -->
This commit is contained in:
@@ -36,7 +36,7 @@ export function ProModeSelector() {
|
||||
} else if (newValue === "conservative") {
|
||||
updateSettings({
|
||||
enableProSmartFilesContextMode: true,
|
||||
proSmartContextOption: undefined, // Conservative is the default when enabled but no option set
|
||||
proSmartContextOption: "conservative",
|
||||
});
|
||||
} else if (newValue === "balanced") {
|
||||
updateSettings({
|
||||
@@ -197,8 +197,12 @@ function SmartContextSelector({
|
||||
if (settings?.proSmartContextOption === "balanced") {
|
||||
return "balanced";
|
||||
}
|
||||
// If enabled but no option set (undefined/falsey), it's conservative
|
||||
return "conservative";
|
||||
if (settings?.proSmartContextOption === "conservative") {
|
||||
return "conservative";
|
||||
}
|
||||
// Keep in sync with getModelClient in get_model_client.ts
|
||||
// If enabled but no option set (undefined/falsey), it's balanced
|
||||
return "balanced";
|
||||
};
|
||||
|
||||
const currentValue = getCurrentValue();
|
||||
|
||||
@@ -85,7 +85,8 @@ export async function getModelClient(
|
||||
? false
|
||||
: settings.enableProLazyEditsMode,
|
||||
enableSmartFilesContext: settings.enableProSmartFilesContextMode,
|
||||
smartContextMode: settings.proSmartContextOption,
|
||||
// Keep in sync with getCurrentValue in ProModeSelector.tsx
|
||||
smartContextMode: settings.proSmartContextOption ?? "balanced",
|
||||
},
|
||||
settings,
|
||||
})
|
||||
|
||||
@@ -44,7 +44,7 @@ or to provide a custom fetch implementation for e.g. testing.
|
||||
dyadOptions: {
|
||||
enableLazyEdits?: boolean;
|
||||
enableSmartFilesContext?: boolean;
|
||||
smartContextMode?: "balanced";
|
||||
smartContextMode?: "balanced" | "conservative";
|
||||
};
|
||||
settings: UserSettings;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ export const UserSettingsSchema = z.object({
|
||||
thinkingBudget: z.enum(["low", "medium", "high"]).optional(),
|
||||
enableProLazyEditsMode: z.boolean().optional(),
|
||||
enableProSmartFilesContextMode: z.boolean().optional(),
|
||||
proSmartContextOption: z.enum(["balanced"]).optional(),
|
||||
proSmartContextOption: z.enum(["balanced", "conservative"]).optional(),
|
||||
selectedTemplateId: z.string(),
|
||||
enableSupabaseWriteSqlMigration: z.boolean().optional(),
|
||||
selectedChatMode: ChatModeSchema.optional(),
|
||||
|
||||
Reference in New Issue
Block a user