mirror of
https://github.com/morluto/rea.git
synced 2026-11-12 09:52:27 +00:00
* fix(objdump): reflect observed launch failure in discovery availability Distinguish a statically registered standalone command from an executable whose launch has failed in the active server session. Discovery leaves unprobed commands optimistically available, reports an observed launch failure as provider_unavailable with the command remediation, keeps the tool callable for retries, and clears the failure after a subsequent successful launch. Fixes #8826. * test(reverse): verify overlapping command launch dispatch ordering * test(reverse): unblock gated test workers before awaiting service closure * test(reverse): bound lifecycle acknowledgement and join launched workers * fix(reverse): distinguish host capacity exhaustion from command launch failures * fix(reverse): preserve host capacity across Linux process ownership preparation * fix(reverse): exclude process ownership admission failures from command launch state * fix(reverse): preserve Darwin process ownership preparation error across command launch * fix(reverse): disambiguate cleanup declaration in provider observation * fix(reverse): preserve command deadline timeout during Darwin ownership preparation * fix(reverse): isolate Darwin baseline ps errors and provide platform-aware admission guidance * fix(reverse): rely on typed baseline admission failures and use owning repair formatter in tests * test(reverse): use owning formatters for process ownership remediation assertions * fix(reverse): restrict Linux ownership prerequisite remediation to missing ps and preserve system error codes * fix(reverse): retain typed process ownership prerequisite with preserved error codes * fix(reverse): remove unvalidated error label fallbacks and keep admission tags out of system_code * fix(reverse): keep Windows native runner failures out of command-launch state * fix(process): preserve current_process_unreported refusal in Linux provider readiness * fix(process): distinguish no-code ps failure from missing ps and cover rizin launch failure * fix(windows): classify process_spawn host-control rejections as RuntimeControlUnavailableError
54 lines
2.0 KiB
TypeScript
54 lines
2.0 KiB
TypeScript
import type { ProviderAvailability } from "./AnalysisProvider.js";
|
|
import type { JebAnalysisAvailability } from "./jeb/JebAnalysisPort.js";
|
|
import type { AvailabilityPolicy } from "./CapabilityInventory.js";
|
|
import type { OptionalProviderLoadFailures } from "./OptionalObservationProviders.js";
|
|
import type { CommandProviderLaunchFailures } from "./reverse/ReverseEngineeringService.js";
|
|
|
|
export interface CapabilityAvailabilityFacts {
|
|
readonly probes?: Partial<CapabilityAvailabilityProbes>;
|
|
readonly observeProviderLoadFailures?: () => OptionalProviderLoadFailures;
|
|
readonly observeCommandProviderFailures?: () => CommandProviderLaunchFailures;
|
|
readonly optionalProviderLoadFailures?:
|
|
| OptionalProviderLoadFailures
|
|
| undefined;
|
|
readonly commandProviderFailures?: CommandProviderLaunchFailures | undefined;
|
|
readonly hostUnsupported?: AvailabilityPolicy["hostUnsupported"];
|
|
readonly optionalFeatures?: Pick<
|
|
AvailabilityPolicy,
|
|
| "packetCaptureEnabled"
|
|
| "signalRecordingEnabled"
|
|
| "wasmArtifactEnabled"
|
|
| "evmInterfaceEnabled"
|
|
| "browserObservationEnabled"
|
|
| "browserScenarioEnabled"
|
|
| "electronObservationEnabled"
|
|
| "electronAutomationEnabled"
|
|
| "v8InspectorObservationEnabled"
|
|
| "javascriptRecoveryEnabled"
|
|
| "webModuleResolutionEnabled"
|
|
| "binaryLayoutEnabled"
|
|
| "recordedCrashEnabled"
|
|
| "firmwareInspectionEnabled"
|
|
| "firmwareExtractionEnabled"
|
|
>;
|
|
}
|
|
|
|
/** Provider-owned live probes used by session discovery. */
|
|
export interface CapabilityAvailabilityProbes {
|
|
readonly androidAnalysisAvailability: (
|
|
signal: AbortSignal,
|
|
) => Promise<ProviderAvailability>;
|
|
readonly adbAnalysisAvailability?: (
|
|
signal: AbortSignal,
|
|
) => Promise<ProviderAvailability>;
|
|
readonly apktoolAnalysisAvailability?: (
|
|
signal: AbortSignal,
|
|
) => Promise<ProviderAvailability>;
|
|
readonly jebAnalysisAvailability?: (
|
|
signal: AbortSignal,
|
|
) => Promise<JebAnalysisAvailability>;
|
|
readonly evmLimiterAvailability?: (
|
|
signal: AbortSignal,
|
|
) => Promise<ProviderAvailability | undefined>;
|
|
}
|