mirror of
https://github.com/morluto/rea.git
synced 2026-11-11 01:13:39 +00:00
* feat(mcp): support runtime analysis limit recovery * refactor(config): remove unused limit re-exports * fix(android): keep fixture release metadata dependency-free * fix(settings): preserve provider budgets and recovery facts * fix(tests): resolve lint plugins from their repository owner * refactor(mcp): verify guidance delivery without frozen wording * fix(android): align availability with runtime timeout * test(recovery): assert limit facts instead of frozen wording * fix(mcp): share runtime settings with the default JADX provider * test(mcp): bound acknowledgements and release held work on failure * fix(catalog): declare runtime settings tools as MCP-only
56 lines
2.0 KiB
TypeScript
56 lines
2.0 KiB
TypeScript
import type { AnalysisSettingsReader } from "../domain/analysisSettings.js";
|
|
import { snapshotEnvironment } from "../process/snapshotEnvironment.js";
|
|
import type { LazyAnalysisProvider } from "../application/binary/LazyAnalysisProvider.js";
|
|
import { artifactCapabilities } from "../artifacts/ArtifactProviderMetadata.js";
|
|
import {
|
|
ARTIFACT_GRAPH_PROVIDER,
|
|
MANAGED_STATIC_PROVIDER,
|
|
} from "../domain/investigationProviders.js";
|
|
import { managedStaticCapabilities } from "../dotnet/ManagedStaticProviderMetadata.js";
|
|
import {
|
|
NATIVE_MACOS_PROVIDER_IDENTITY,
|
|
nativeMacOSCapabilities,
|
|
} from "../native/NativeMacOSProviderMetadata.js";
|
|
|
|
type AuxiliaryProviderDeclaration = ConstructorParameters<
|
|
typeof LazyAnalysisProvider
|
|
>[0];
|
|
|
|
/** Wire the three existing auxiliary AnalysisProvider implementations lazily. */
|
|
export const auxiliaryAnalysisProviderDeclarations = (
|
|
selectedEnvironment: Readonly<NodeJS.ProcessEnv>,
|
|
platform: NodeJS.Platform = process.platform,
|
|
settings?: AnalysisSettingsReader,
|
|
): readonly AuxiliaryProviderDeclaration[] => {
|
|
const environment = snapshotEnvironment(selectedEnvironment, platform);
|
|
return [
|
|
{
|
|
identity: ARTIFACT_GRAPH_PROVIDER,
|
|
capabilities: artifactCapabilities(platform),
|
|
load: async () => {
|
|
const { ArtifactProvider } =
|
|
await import("../artifacts/ArtifactProvider.js");
|
|
return new ArtifactProvider(environment, platform, settings);
|
|
},
|
|
},
|
|
{
|
|
identity: NATIVE_MACOS_PROVIDER_IDENTITY,
|
|
capabilities: nativeMacOSCapabilities(platform),
|
|
load: async () => {
|
|
const { NativeMacOSProvider } =
|
|
await import("../native/NativeMacOSProvider.js");
|
|
return new NativeMacOSProvider(environment, undefined, platform);
|
|
},
|
|
},
|
|
{
|
|
identity: MANAGED_STATIC_PROVIDER,
|
|
capabilities: managedStaticCapabilities(),
|
|
load: async () => {
|
|
const { ManagedStaticProvider } =
|
|
await import("../dotnet/ManagedStaticProvider.js");
|
|
return new ManagedStaticProvider();
|
|
},
|
|
},
|
|
];
|
|
};
|