fix(android): honor selected Java paths and retain input issues

This commit is contained in:
morluto committed 2026-10-24 02:29:08 +08:00
1 parent 2aa8d73714
commit b31f52946f
4 files changed
+48 -5

No files matched your search

@@ -1,3 +1,4 @@
import { projectInputIssues } from "../../domain/inputIssueProjection.js";
import type { EvidenceWriter } from "../investigation/InvestigationRecordPort.js";
import { summarizeRetainedAndroidSearch } from "./AndroidSearchEvidenceSummary.js";
import type { AndroidAnalysisPort } from "./AndroidAnalysisPort.js";
@@ -36,7 +37,18 @@ export class AndroidAnalysisService {
);
const request = androidRequestSchema.safeParse({ operation, input });
if (!request.success)
return err(new AnalysisInputError(operation, { cause: request.error }));
return err(
new AnalysisInputError(
operation,
{ cause: request.error },
projectInputIssues(request.error.issues, { operation, input }).map(
(issue) =>
issue.path[0] === "input"
? { ...issue, path: issue.path.slice(1) }
: issue,
),
),
);
const target = await parseBinaryTarget(
request.data.input.path,
options?.signal === undefined ? {} : { signal: options.signal },