Fix assistant file link resolution (#1025)

This commit is contained in:
Mohamed Boudra
2026-05-14 20:55:41 +08:00
committed by GitHub
parent a19b780eca
commit 7e255a5249
9 changed files with 1421 additions and 59 deletions
@@ -227,6 +227,47 @@ describe("searchWorkspaceEntries", () => {
expect(filesOnly).toEqual([{ path: "README.md", kind: "file" }]);
});
it("supports fuzzy basename queries for nested workspace files", async () => {
writeFileSync(path.join(workspaceDir, "src", "components", "message-renderer.tsx"), "");
const results = await searchWorkspaceEntries({
cwd: workspaceDir,
query: "msgrndr",
limit: 20,
includeFiles: true,
includeDirectories: false,
});
expect(results).toEqual([
{
path: "src/components/message-renderer.tsx",
kind: "file",
},
]);
});
it("ranks fuzzy basename matches after exact, prefix, and substring matches", async () => {
writeFileSync(path.join(workspaceDir, "src", "components", "msgrndr"), "");
writeFileSync(path.join(workspaceDir, "src", "components", "msgrndr-panel.tsx"), "");
writeFileSync(path.join(workspaceDir, "src", "components", "use-msgrndr.ts"), "");
writeFileSync(path.join(workspaceDir, "src", "components", "message-renderer.tsx"), "");
const results = await searchWorkspaceEntries({
cwd: workspaceDir,
query: "msgrndr",
limit: 20,
includeFiles: true,
includeDirectories: false,
});
expect(results.map((entry) => entry.path)).toEqual([
"src/components/msgrndr",
"src/components/msgrndr-panel.tsx",
"src/components/use-msgrndr.ts",
"src/components/message-renderer.tsx",
]);
});
// POSIX-only: creates and follows a symlink escape fixture.
it.skipIf(isWindows)(
"supports path-style queries and does not escape cwd through symlinks",