mirror of
https://github.com/morluto/rea
synced 2026-10-28 06:46:47 -04:00
d7ca93cc2c
Keep the 16 MiB ASAR header/index ceiling fixed and report that budget, the lack of a runtime override, and that source selection does not bypass header admission. Refs #5910 Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: morluto <morluto@users.noreply.github.com>
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import type { AnalysisError } from "../domain/analysisErrorBase.js";
|
|
import {
|
|
AnalysisInputError,
|
|
AnalysisCancelledError,
|
|
AnalysisUnsupportedTargetError,
|
|
} from "../domain/analysisErrorCore.js";
|
|
import { ArtifactOperationError } from "../domain/artifactOperationError.js";
|
|
import { BinaryTargetError } from "../domain/configurationErrors.js";
|
|
import { ArtifactReaderFailure } from "./ArtifactReader.js";
|
|
import {
|
|
artifactFileCancellationCause,
|
|
bindArtifactFileCleanup,
|
|
} from "./ArtifactFileOperation.js";
|
|
|
|
/** Translate one artifact boundary failure while retaining cleanup evidence. */
|
|
export const translateArtifactFailure = (
|
|
operation: ArtifactOperationError["operation"],
|
|
cause: unknown,
|
|
): AnalysisError => {
|
|
if (cause instanceof ArtifactReaderFailure) {
|
|
const error = new ArtifactOperationError(
|
|
operation,
|
|
cause.reason,
|
|
cause.details,
|
|
cause.message,
|
|
{
|
|
cause:
|
|
cause.reason === "cancelled"
|
|
? artifactFileCancellationCause(cause)
|
|
: cause,
|
|
...(cause.cleanup === undefined ? {} : { cleanup: cause.cleanup }),
|
|
...(cause.partialObservation === undefined
|
|
? {}
|
|
: { partialObservation: cause.partialObservation }),
|
|
...(cause.admission === undefined
|
|
? {}
|
|
: { admission: cause.admission }),
|
|
},
|
|
);
|
|
bindArtifactFileCleanup(cause, error);
|
|
return error;
|
|
}
|
|
// Caller-selection, target and unsupported-target failures are already typed;
|
|
// keep their correction details instead of reducing them to an I/O failure.
|
|
if (
|
|
cause instanceof AnalysisInputError ||
|
|
cause instanceof AnalysisCancelledError ||
|
|
cause instanceof AnalysisUnsupportedTargetError ||
|
|
cause instanceof BinaryTargetError
|
|
)
|
|
return cause;
|
|
return new ArtifactOperationError(operation, "io");
|
|
};
|