refactor(inputs): own absolute path validation in shared contracts

This commit is contained in:
morluto committed 2026-10-22 08:13:46 +08:00
1 parent c5c5ff45aa
commit cdd718ffb0
63 files changed
+327 -408

No files matched your search

@@ -1,10 +1,8 @@
import { isAbsolute } from "node:path";
import type { ExecutionOptions } from "../AnalysisProvider.js";
import type { SqliteDatabasePort } from "./SqliteDatabasePort.js";
import type { AnalysisError } from "../../domain/analysisErrorBase.js";
import {
AnalysisCancelledError,
AnalysisInputError,
AnalysisOutputError,
} from "../../domain/analysisErrorCore.js";
import {
@@ -87,16 +85,6 @@ export class SqliteDatabaseService {
cause: input.error,
}),
);
if (!isAbsolute(input.data.path))
return err(
new AnalysisInputError(OPERATION, undefined, [
{
path: ["path"],
reason: "invalid_format",
message: "Expected an absolute filesystem path on this host.",
},
]),
);
const inspected = await this.provider.inspect(input.data, options);
if (!inspected.ok) return inspected;
const execution = inspected.value;