feat(FN-3581): honor runtime model precedence for assigned agents

This merge delivers five major feature clusters: a fully rebuilt dependency graph plugin with draggable nodes, position persistence, modular architecture, highlighting and selection states, toolbar navigation, and keyboard controls; a new roadmap plugin with domain store, ordering logic, and compreh

Fusion-Task-Id: FN-3581
This commit is contained in:
Fusion
2026-05-07 06:39:55 -07:00
committed by gsxdsm
parent d135ecf1f0
commit 3575b5e445
11 changed files with 417 additions and 114 deletions

View File

@@ -562,6 +562,27 @@ vi.mock("../agent-session-helpers.js", async () => {
pi.promptWithFallback(session, prompt, options as any),
),
describeAgentModel: vi.fn(async (session: any) => pi.describeModel(session)),
resolveExecutorSessionModel: vi.fn((taskModelProvider?: string, taskModelId?: string, settings?: any, assignedAgentRuntimeConfig?: Record<string, unknown>) => {
const model = typeof assignedAgentRuntimeConfig?.model === "string" ? assignedAgentRuntimeConfig.model : "";
const slash = model.indexOf("/");
if (slash > 0 && slash < model.length - 1) {
return { provider: model.slice(0, slash), modelId: model.slice(slash + 1) };
}
if (taskModelProvider && taskModelId) return { provider: taskModelProvider, modelId: taskModelId };
if (settings?.executionProvider && settings?.executionModelId) {
return { provider: settings.executionProvider, modelId: settings.executionModelId };
}
if (settings?.executionGlobalProvider && settings?.executionGlobalModelId) {
return { provider: settings.executionGlobalProvider, modelId: settings.executionGlobalModelId };
}
if (settings?.defaultProviderOverride && settings?.defaultModelIdOverride) {
return { provider: settings.defaultProviderOverride, modelId: settings.defaultModelIdOverride };
}
if (settings?.defaultProvider && settings?.defaultModelId) {
return { provider: settings.defaultProvider, modelId: settings.defaultModelId };
}
return { provider: undefined, modelId: undefined };
}),
};
});