diff --git a/src/server/registerElectronTools.ts b/src/server/registerElectronTools.ts index f5e6778054..2fd5a6d036 100644 --- a/src/server/registerElectronTools.ts +++ b/src/server/registerElectronTools.ts @@ -78,6 +78,7 @@ export const registerElectronTools = ( runElectronTool( registration, listContract, + options.observationLoadFailure, { input, context }, (parsed, { signal }) => listElectronTargets(options.electron, parsed, { @@ -92,6 +93,7 @@ export const registerElectronTools = ( runElectronTool( registration, inspectContract, + options.observationLoadFailure, { input, context }, (parsed, { signal, progress }) => inspectElectronPage(options.electron, parsed, { @@ -107,6 +109,7 @@ export const registerElectronTools = ( runElectronTool( registration, analyzeContract, + undefined, { input, context }, async ({ detail, ...request }, { signal, progress }) => { const analyzed = await analyzeJavaScriptApplicationValidated( @@ -127,6 +130,7 @@ export const registerElectronTools = ( runElectronTool( registration, reconcileContract, + undefined, { input, context }, (parsed) => Promise.resolve(reconcileJavaScriptRuntimeEvidenceValidated(parsed)), @@ -139,6 +143,7 @@ export const registerElectronTools = ( runElectronTool( registration, activeContract, + options.activeLoadFailure, { input, context }, (parsed, { signal, progress }) => captureElectronScenario(options.electronActive, parsed, { @@ -174,6 +179,7 @@ const runElectronTool = async ( readonly server: EvidenceMcpServer; }, contract: ToolContract, + loadFailure: OptionalProviderLoadFailure | undefined, request: { readonly input: Input; readonly context: ServerContext; @@ -184,16 +190,9 @@ const runElectronTool = async ( ) => Promise>, ) => { const { input, context } = request; - const failure = - contract.name === "capture_electron_scenario" - ? options.activeLoadFailure - : contract.name === "list_electron_targets" || - contract.name === "inspect_electron_page" - ? options.observationLoadFailure - : undefined; - if (failure !== undefined) + if (loadFailure !== undefined) return options.delivery.toCallToolResult( - err(optionalProviderUnavailable(failure, contract.name)), + err(optionalProviderUnavailable(loadFailure, contract.name)), contract, ); return runAdmittedToolOperation(