feat(mcp): support runtime analysis limit recovery (#7049)

* 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
This commit is contained in:
morluto authored and GitHub committed 2026-10-25 09:45:26 +08:00
1 parent ab720b4216
commit f3ed1657f8
120 files changed
+2899 -884

No files matched your search

@@ -1,3 +1,4 @@
import type { AnalysisSettingValues } from "../../domain/analysisSettings.js";
import {
DEFAULT_ASAR_HEADER_ADMISSION,
type AsarHeaderAdmission,
@@ -86,6 +87,7 @@ export const reconstructJavaScriptArtifact = async (
signal?: AbortSignal,
progress?: ProgressReporter,
asarHeaderAdmission: AsarHeaderAdmission = DEFAULT_ASAR_HEADER_ADMISSION,
overrides?: Readonly<Partial<AnalysisSettingValues>>,
): Promise<JavaScriptArtifactReconstructionResult> =>
scope.run(async () => {
const reportPhase = async (
@@ -173,9 +175,12 @@ export const reconstructJavaScriptArtifact = async (
const worker = await createJavaScriptSourceAnalysis(
{
heapMb:
input.max_heap_mb ?? JAVASCRIPT_ANALYSIS_RESOURCE_DEFAULTS.heapMb,
input.max_heap_mb ??
overrides?.["javascript.max_heap_mb"] ??
JAVASCRIPT_ANALYSIS_RESOURCE_DEFAULTS.heapMb,
timeoutMs:
input.analysis_timeout_ms ??
overrides?.["javascript.analysis_timeout_ms"] ??
JAVASCRIPT_ANALYSIS_RESOURCE_DEFAULTS.timeoutMs,
},
files.files.filter(