feat(core): add embedded v2 session runtime and tool foundation (#30632)

This commit is contained in:
Kit Langton
2026-06-03 23:02:17 -04:00
committed by GitHub
parent c35267776a
commit 76ee87ead8
215 changed files with 31344 additions and 3278 deletions

View File

@@ -354,13 +354,18 @@ describe("FSUtil", () => {
test("contains checks path containment", () => {
expect(FSUtil.contains("/a/b", "/a/b/c")).toBe(true)
expect(FSUtil.contains("/a/b", "/a/b")).toBe(true)
expect(FSUtil.contains("/a/b", "/a/c")).toBe(false)
expect(FSUtil.contains("/a/b", "/a/bad")).toBe(false)
if (process.platform === "win32") expect(FSUtil.contains("C:\\a", "D:\\b")).toBe(false)
})
test("overlaps detects overlapping paths", () => {
expect(FSUtil.overlaps("/a/b", "/a/b/c")).toBe(true)
expect(FSUtil.overlaps("/a/b/c", "/a/b")).toBe(true)
expect(FSUtil.overlaps("/a", "/b")).toBe(false)
expect(FSUtil.overlaps("/a/b", "/a/bad")).toBe(false)
if (process.platform === "win32") expect(FSUtil.overlaps("C:\\a", "D:\\b")).toBe(false)
})
})
})

View File

@@ -49,6 +49,17 @@ const withRipgrepConfig = <A, E, R>(value: string, effect: Effect.Effect<A, E, R
)
describe("file.ripgrep", () => {
it.live("exposes a cached managed executable filepath", () =>
Effect.gen(function* () {
const ripgrep = yield* Ripgrep.Service
const first = yield* ripgrep.filepath
const second = yield* ripgrep.filepath
expect(first).toBe(second)
expect((yield* Effect.promise(() => fs.stat(first))).isFile()).toBe(true)
}),
)
it.live("defaults to include hidden", () =>
Effect.gen(function* () {
const dir = yield* tmpdir((dir) =>