refactor(agent): isolate node filesystem session dependencies

This commit is contained in:
Mario Zechner
2026-05-15 00:53:33 +02:00
parent 0b54c87e24
commit 80c918c247
25 changed files with 340 additions and 257 deletions

View File

@@ -218,6 +218,20 @@ export class NodeExecutionEnv implements ExecutionEnv {
this.shellEnv = options.shellEnv;
}
async absolutePath(path: string, abortSignal?: AbortSignal): Promise<Result<string, FileError>> {
const resolved = resolvePath(this.cwd, path);
const aborted = abortResult<string>(abortSignal, resolved);
if (aborted) return aborted;
return ok(resolved);
}
async joinPath(parts: string[], abortSignal?: AbortSignal): Promise<Result<string, FileError>> {
const joined = join(...parts);
const aborted = abortResult<string>(abortSignal, joined);
if (aborted) return aborted;
return ok(joined);
}
async exec(
command: string,
options?: {
@@ -438,7 +452,7 @@ export class NodeExecutionEnv implements ExecutionEnv {
}
}
async realPath(path: string, abortSignal?: AbortSignal): Promise<Result<string, FileError>> {
async canonicalPath(path: string, abortSignal?: AbortSignal): Promise<Result<string, FileError>> {
const resolved = resolvePath(this.cwd, path);
const aborted = abortResult<string>(abortSignal, resolved);
if (aborted) return aborted;