fix(core): reject file glob roots (#38890)

This commit is contained in:
Aiden Cline 2026-07-25 14:43:18 -05:00 committed by GitHub
commit f753103e82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 1 deletions

View file

@ -83,13 +83,17 @@ export const Plugin = {
agent: context.agent,
source,
})
yield* fs
const info = yield* fs
.stat(target.canonical)
.pipe(
Effect.catchReason("PlatformError", "NotFound", () =>
Effect.fail(new ToolFailure({ message: `Search path does not exist: ${input.path ?? "."}` })),
),
)
if (info.type !== "Directory")
return yield* Effect.fail(
new ToolFailure({ message: `Search path is not a directory: ${input.path ?? "."}` }),
)
const root = path.resolve(location.directory, input.path ?? ".")
const limit = input.limit ?? FileSystem.DEFAULT_SEARCH_LIMIT
const entries = yield* ripgrep