mirror of
https://github.com/morluto/rea.git
synced 2026-11-09 16:26:36 +00:00
Catch binary selection failures at the adapter boundary and share the domain error projection with apktool. Missing and relative adb paths now report capability_unavailable with host configuration guidance in both message and remediation. Validation: ADB/apktool provider suites and public CLI refusal suites pass. No connected-device behavior changed or verified. Refs #1952.
22 lines
759 B
TypeScript
22 lines
759 B
TypeScript
import { AnalysisCapabilityUnavailableError } from "./analysisErrorCore.js";
|
|
import type { JsonValue } from "./jsonValue.js";
|
|
|
|
/** Convert a provider's host configuration failure into actionable refusal evidence. */
|
|
export const providerConfigurationRefusal = (
|
|
providerId: string,
|
|
operation: string,
|
|
failure: Error & {
|
|
readonly diagnostics?: Readonly<Record<string, JsonValue>>;
|
|
},
|
|
): AnalysisCapabilityUnavailableError => {
|
|
const remediation = failure.diagnostics?.remediation;
|
|
const reason =
|
|
typeof remediation === "string"
|
|
? `${failure.message}. ${remediation}.`
|
|
: `${failure.message}.`;
|
|
return new AnalysisCapabilityUnavailableError(providerId, operation, reason, {
|
|
cause: failure,
|
|
userMessage: reason,
|
|
});
|
|
};
|