fix(analysis): preserve operation input correction fields

This commit is contained in:
morluto committed 2026-10-24 02:29:44 +08:00
1 parent ce61680c04
commit 049bc2d055
6 files changed
+92 -28

No files matched your search

@@ -1,4 +1,4 @@
import { projectInputIssues } from "../../domain/inputIssueProjection.js";
import { analysisOperationInputErrorFromIssues } from "../../domain/inputIssueProjection.js";
import type { EvidenceWriter } from "../investigation/InvestigationRecordPort.js";
import { summarizeRetainedAndroidSearch } from "./AndroidSearchEvidenceSummary.js";
import type { AndroidAnalysisPort } from "./AndroidAnalysisPort.js";
@@ -8,10 +8,7 @@ import {
androidRequestSchema,
type AndroidOperation,
} from "../../domain/android/androidAnalysis.js";
import {
AnalysisCancelledError,
AnalysisInputError,
} from "../../domain/analysisErrorCore.js";
import { AnalysisCancelledError } from "../../domain/analysisErrorCore.js";
import type { AnalysisError } from "../../domain/analysisErrorBase.js";
import { createEvidence, type Evidence } from "../../domain/evidence.js";
import { jsonObjectSchema } from "../../domain/jsonValue.js";
@@ -38,15 +35,11 @@ export class AndroidAnalysisService {
const request = androidRequestSchema.safeParse({ operation, input });
if (!request.success)
return err(
new AnalysisInputError(
analysisOperationInputErrorFromIssues(
operation,
{ cause: request.error },
projectInputIssues(request.error.issues, { operation, input }).map(
(issue) =>
issue.path[0] === "input"
? { ...issue, path: issue.path.slice(1) }
: issue,
),
request.error.issues,
input,
request.error,
),
);
const target = await parseBinaryTarget(