feat(FN-3901): add builtin research web-search provider as default

The merge adds a builtin web-search research provider as the default, replacing the need for external research provider configuration and removing the setup gate for builtin defaults. Dashboard settings UX for research defaults was aligned (ResearchView, SettingsModal), CLI research commands were up

Fusion-Task-Id: FN-3901
This commit is contained in:
Fusion
2026-05-09 19:37:31 -07:00
committed by gsxdsm
parent 986aef3f8e
commit e69631ec24
21 changed files with 493 additions and 187 deletions

View File

@@ -1445,6 +1445,31 @@ describe("fn pi extension (runnable structured-output regression slice)", () =>
});
describe("research tools", () => {
it("fn_research_run treats builtin as configured when no provider is explicitly set", async () => {
const store = new TaskStore(tmpDir);
await store.init();
await store.updateGlobalSettings({
researchGlobalEnabled: true,
experimentalFeatures: { researchView: true } as Record<string, boolean>,
});
await store.updateSettings({
researchEnabled: true,
researchSettings: { enabled: true },
});
const tool = api.tools.get("fn_research_run")!;
const result = await tool.execute(
"research-run-builtin",
{ query: "builtin default" },
undefined,
undefined,
makeCtx(tmpDir),
);
expect(result.details.setup).toBeNull();
expect(result.details.status).toBe("queued");
});
it("fn_research_list status parameter matches RESEARCH_RUN_STATUSES", () => {
const tool = api.tools.get("fn_research_list") as any;
const statusSchema = tool.parameters.properties.status;