feat: layer runtime and model selection across conversation, project and global
- Store runtime selection as { provider?, model? } layers and resolve them per
field (conversation -> project -> global); drop the legacy auto provider.
- Migrate stored selections (database v49) and clear deleted profile ids.
- Re-resolve selections in Main per request and at queue dispatch.
- Add ProjectRuntimeSelector and a two-column RuntimeModelPicker; manage
link opens model connections; restore per-runtime default model tabs.
- Stop duplicating trusted instructions and history across OpenCode,
Continue and DeepSeek Harness runtimes.
- Document the layered design, global provider removal plan and planned
purpose-specific models.
This commit is contained in:
+8
-5
@@ -32,6 +32,7 @@ import {
|
||||
applyRuntimeSelection,
|
||||
getConfiguredRuntimeTarget,
|
||||
resolveConfiguredAgentRuntimeSelection,
|
||||
resolveLayeredRuntimeSelection,
|
||||
type SelectedRuntimeTarget
|
||||
} from './agent/runtime-selection'
|
||||
import { CapabilityService } from './capabilities/capability-service'
|
||||
@@ -709,11 +710,13 @@ if (hasSingleInstanceLock) {
|
||||
appPath: app.getAppPath(),
|
||||
resourcesPath: process.resourcesPath,
|
||||
packaged: app.isPackaged,
|
||||
resolveRuntimeSelection: async (selection) =>
|
||||
resolveConfiguredAgentRuntimeSelection(
|
||||
await settingsStore.getResolvedSettings(),
|
||||
selection
|
||||
),
|
||||
resolveRuntimeSelection: async (layer) => {
|
||||
const settings = await settingsStore.getResolvedSettings()
|
||||
return resolveConfiguredAgentRuntimeSelection(
|
||||
settings,
|
||||
resolveLayeredRuntimeSelection(settings, { project: layer }, { remote: true }).selection
|
||||
)
|
||||
},
|
||||
resolveModelProfile: async (selection) => {
|
||||
const resolved = applyRuntimeSelection(
|
||||
await settingsStore.getResolvedSettings(),
|
||||
|
||||
Reference in New Issue
Block a user