Unverified 提交 56d0e767 authored 作者: Will Chen's avatar Will Chen 提交者: GitHub

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. -->
上级 2842c61f
......@@ -10,13 +10,13 @@ testSkipIfWindows("send message to engine", async ({ po }) => {
});
testSkipIfWindows(
"send message to engine - smart context balanced",
"send message to engine - smart context conservative",
async ({ po }) => {
await po.setUpDyadPro();
const proModesDialog = await po.openProModesDialog({
location: "home-chat-input-container",
});
await proModesDialog.setSmartContextMode("balanced");
await proModesDialog.setSmartContextMode("conservative");
await proModesDialog.close();
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
await po.sendPrompt("[dump] tc=turbo-edits");
......
......@@ -98,7 +98,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -68,7 +68,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -56,7 +56,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": false
"enable_smart_files_context": false,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -114,7 +114,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": false
"enable_smart_files_context": false,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -413,7 +413,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": false
"enable_smart_files_context": false,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -408,7 +408,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -408,7 +408,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -414,7 +414,7 @@
],
"enable_lazy_edits": true,
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
"smart_context_mode": "conservative"
}
},
"headers": {
......
......@@ -413,7 +413,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -413,7 +413,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -19,6 +19,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"proSmartContextOption": "conservative",
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
......
......@@ -421,7 +421,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -429,7 +429,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -437,7 +437,8 @@
}
],
"enable_lazy_edits": true,
"enable_smart_files_context": true
"enable_smart_files_context": true,
"smart_context_mode": "balanced"
}
},
"headers": {
......
......@@ -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(),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论