rea-agents 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -30
- package/bridge/ghidra/ReaGhidraBridge.java +358 -15
- package/bridge/ghidra/ReaGhidraExtensions.java +113 -0
- package/bridge/ghidra/ReaGhidraPrepareCom.java +32 -0
- package/dist/android/AndroidTargetSnapshot.js +34 -0
- package/dist/android/JadxAnalysis.js +191 -0
- package/dist/android/JadxConfiguration.js +41 -0
- package/dist/android/JadxMcpTransport.js +145 -0
- package/dist/android/JadxProtocol.js +101 -0
- package/dist/android/JadxProvider.js +170 -0
- package/dist/android/JadxRelease.js +19 -0
- package/dist/android/JadxSession.js +97 -0
- package/dist/application/AnalysisContextQueries.js +2 -1
- package/dist/application/AnalysisProviderEvaluation.js +5 -3
- package/dist/application/AnalysisProviderRegistry.js +2 -1
- package/dist/application/AnalysisSnapshotCache.js +4 -1
- package/dist/application/AnalysisSnapshotFiles.js +1 -1
- package/dist/application/AndroidAnalysisPort.js +1 -0
- package/dist/application/AndroidAnalysisService.js +37 -0
- package/dist/application/ArtifactExtraction.js +7 -4
- package/dist/application/ArtifactGraphConstruction.js +10 -17
- package/dist/application/ArtifactInventory/scanCanonical.js +8 -7
- package/dist/application/BinarySession.js +16 -3
- package/dist/application/BinarySessionExecution.js +4 -1
- package/dist/application/BinarySessionOpen.js +3 -2
- package/dist/application/BinarySessionRecords.js +9 -3
- package/dist/application/BinaryTargetResolver.js +25 -6
- package/dist/application/BrowserObservationService.js +2 -1
- package/dist/application/BrowserScenarioCaptureService.js +2 -1
- package/dist/application/BrowserScenarioEvidence.js +2 -2
- package/dist/application/CallPathTracing.js +2 -1
- package/dist/application/CapabilityInventory.js +18 -0
- package/dist/application/ClientConfigPath.js +3 -1
- package/dist/application/ClientConfigurationDocument.js +11 -1
- package/dist/application/ClientRegistrationStatus.js +8 -1
- package/dist/application/CompositeProvider.js +1 -1
- package/dist/application/DirectAnalysis.js +23 -7
- package/dist/application/DirectAnalysisStatus.js +3 -3
- package/dist/application/Doctor.js +48 -8
- package/dist/application/DoctorDiagnostics.js +7 -5
- package/dist/application/DoctorScope.js +1 -1
- package/dist/application/ElectronActiveEvidence.js +2 -2
- package/dist/application/ElectronActiveObservationService.js +2 -1
- package/dist/application/ElectronBoundaryAnalysis.js +1 -1
- package/dist/application/ElectronObservationService.js +2 -1
- package/dist/application/EnhancedLiteralTracing.js +2 -1
- package/dist/application/EnhancedToolTypes.js +2 -1
- package/dist/application/EnhancedTools.js +3 -1
- package/dist/application/EvidenceBundleCommands.js +2 -1
- package/dist/application/EvidenceBundleFiles.js +1 -1
- package/dist/application/EvidenceInputResolver.js +30 -0
- package/dist/application/EvidenceLedger.js +2 -1
- package/dist/application/FirmwareAnalysisPort.js +1 -0
- package/dist/application/FirmwareAnalysisService.js +35 -0
- package/dist/application/FunctionAnalysisEvidence.js +32 -0
- package/dist/application/InventoryProjectionEvidence.js +2 -1
- package/dist/application/JavaScriptApplicationService.js +50 -3
- package/dist/application/JavaScriptApplicationWorkflowService.js +2 -1
- package/dist/application/JavaScriptArtifactAnalysis.js +4 -2
- package/dist/application/JavaScriptArtifactFiles.js +4 -2
- package/dist/application/JavaScriptArtifactPathResolution.js +6 -2
- package/dist/application/JavaScriptJsonModules.js +3 -2
- package/dist/application/JavaScriptModuleRelationships.js +4 -2
- package/dist/application/JavaScriptRuntimeObservationService.js +2 -1
- package/dist/application/JavaScriptRuntimeReconciliationService.js +2 -1
- package/dist/application/JavaScriptSemanticGraphProjection.js +1 -1
- package/dist/application/JavaScriptSemanticTraceService.js +2 -1
- package/dist/application/JsonFiles.js +1 -1
- package/dist/application/LazyAnalysisProvider.js +3 -1
- package/dist/application/LinuxHopper.js +12 -4
- package/dist/application/MacHopper.js +20 -7
- package/dist/application/ManagedApplicationGraphService.js +2 -1
- package/dist/application/ManagedMemberComparisonService.js +3 -1
- package/dist/application/ManagedNativeVerificationService.js +2 -1
- package/dist/application/ManagedReconstructionService.js +2 -1
- package/dist/application/NativeCallRoutes.js +1 -1
- package/dist/application/NativeDispatchMetadataInspection.js +1 -1
- package/dist/application/NativeUiActionTrace.js +2 -1
- package/dist/application/NativeValueTrace.js +1 -1
- package/dist/application/ProcessCaptureError.js +1 -1
- package/dist/application/ProcessCaptureJournal.js +3 -1
- package/dist/application/ProcessCaptureLifecycle.js +6 -3
- package/dist/application/ProcessCli.js +9 -5
- package/dist/application/ProcessEvidence.js +2 -6
- package/dist/application/ProcessHarness.js +3 -2
- package/dist/application/ProcessNormalization.js +12 -5
- package/dist/application/ProcessSampling.js +3 -1
- package/dist/application/ReconstructionCoverageService.js +2 -1
- package/dist/application/ReconstructionObligationLedgerService.js +2 -1
- package/dist/application/ReferenceSourceImportEntries.js +2 -0
- package/dist/application/ReferenceSourceImportPolicy.js +4 -2
- package/dist/application/ReferenceSourceVcsAdapter.js +35 -4
- package/dist/application/SessionProviderRouter.js +4 -1
- package/dist/application/Setup.js +1 -128
- package/dist/application/SetupClientConfiguration.js +17 -6
- package/dist/application/SetupHost.js +111 -0
- package/dist/application/SetupRegistrationEnvironment.js +1 -2
- package/dist/application/SetupSkill.js +9 -3
- package/dist/application/SetupTypes.js +17 -0
- package/dist/application/StoreFileLock.js +7 -2
- package/dist/application/SupportedClients.js +8 -0
- package/dist/application/Uninstall.js +9 -4
- package/dist/application/UpdateRuntime.js +5 -2
- package/dist/application/WindowsCapabilities.js +7 -7
- package/dist/application/runtime.js +3 -1
- package/dist/artifacts/ArtifactProvider.js +3 -1
- package/dist/artifacts/DirectoryArtifactReader.js +2 -0
- package/dist/artifacts/NativeDmgArtifactReader.js +10 -3
- package/dist/artifacts/NibArchive.js +4 -2
- package/dist/artifacts/SafeOutputTree.js +26 -10
- package/dist/artifacts/ZipArtifactReader.js +1 -0
- package/dist/browser/BrowserProcessStartup.js +3 -1
- package/dist/browser/CdpAuthorizedMainFrame.js +1 -1
- package/dist/browser/CdpBrowserProvider.js +4 -1
- package/dist/browser/CdpCaptureDocuments.js +3 -1
- package/dist/browser/CdpCaptureEventHandlers.js +6 -2
- package/dist/browser/CdpCaptureStorageFingerprints.js +1 -1
- package/dist/browser/CdpCaptureValues.js +6 -2
- package/dist/browser/CdpConnection.js +8 -6
- package/dist/browser/CdpElectronInspection.js +3 -3
- package/dist/browser/CdpElectronProvider.js +4 -1
- package/dist/browser/CdpElectronScripts.js +2 -2
- package/dist/browser/CdpEndpoint.js +22 -10
- package/dist/browser/CdpObservationSession.js +2 -1
- package/dist/browser/CdpOptionalCommand.js +1 -1
- package/dist/browser/CdpPageCapture.js +2 -1
- package/dist/browser/CdpSafeMetadata.js +53 -8
- package/dist/browser/CdpScreenshot.js +1 -1
- package/dist/browser/CdpTargetSession.js +8 -5
- package/dist/browser/CdpWebMcpDiscovery.js +1 -1
- package/dist/browser/ElectronFileScope.js +9 -3
- package/dist/browser/JavaScriptRuntimeScope.js +3 -1
- package/dist/browser/PlaywrightBrowserScenarioProvider.js +3 -1
- package/dist/browser/PlaywrightElectronActiveActions.js +1 -1
- package/dist/browser/PlaywrightElectronActiveProvider.js +6 -2
- package/dist/browser/PlaywrightExecutionBoundary.js +1 -1
- package/dist/browser/PlaywrightScenarioArtifacts.js +10 -5
- package/dist/browser/PlaywrightScenarioBrowser.js +3 -1
- package/dist/browser/PlaywrightScenarioEvents.js +6 -2
- package/dist/browser/PlaywrightScenarioSession.js +5 -2
- package/dist/browser/V8InspectorEndpoint.js +2 -1
- package/dist/browser/V8InspectorProvider.js +6 -1
- package/dist/browser/WebSourceMapFetcher.js +24 -11
- package/dist/cli/androidCommands.js +81 -0
- package/dist/{cliApplicationCommands.js → cli/applicationCommands.js} +18 -16
- package/dist/{cliBrowserAdvancedCommands.js → cli/browserAdvancedCommands.js} +13 -16
- package/dist/{cliBrowserCommands.js → cli/browserCommands.js} +9 -9
- package/dist/cli/commandCancellation.js +24 -0
- package/dist/cli/coreAnalysisCommands.js +110 -17
- package/dist/{cliElectronCommands.js → cli/electronCommands.js} +14 -13
- package/dist/cli/firmwareCommands.js +75 -0
- package/dist/{cliSetup.js → cli/interactiveSetup.js} +1 -1
- package/dist/cli/javascriptApplicationAnalysis.js +1 -1
- package/dist/cli/managedCommands.js +1 -1
- package/dist/cli/managedProjectGraphCommand.js +1 -1
- package/dist/cli/options.js +7 -1
- package/dist/{cliProcessCommands.js → cli/processCommands.js} +3 -3
- package/dist/cli/referenceSourceImportStatus.js +10 -0
- package/dist/cli/setupCommands.js +4 -2
- package/dist/cli/utilityCommands.js +3 -2
- package/dist/cli.js +10 -15
- package/dist/cliBrowserContext.js +1 -1
- package/dist/cliBrowserScenarioCommands.js +2 -1
- package/dist/cliCommandNames.js +11 -2
- package/dist/cliEvidenceCommands.js +2 -1
- package/dist/cliJavaScriptRuntimeCommands.js +2 -1
- package/dist/cliJsonInput.js +26 -11
- package/dist/cliLogging.js +2 -1
- package/dist/cliOutput.js +15 -16
- package/dist/config/environment.js +11 -1
- package/dist/config/parseConfig.js +7 -1
- package/dist/config/parsers.js +1 -1
- package/dist/contracts/androidToolContracts.js +77 -0
- package/dist/contracts/applicationToolContracts.js +32 -5
- package/dist/contracts/applicationWorkflowInputContracts.js +13 -13
- package/dist/contracts/artifactComparisonExample.js +7 -14
- package/dist/contracts/enhancedToolContracts.js +31 -0
- package/dist/contracts/errorSchemas.js +4 -2
- package/dist/contracts/evidenceInputContracts.js +13 -0
- package/dist/contracts/firmwareToolContracts.js +38 -0
- package/dist/contracts/officialToolContracts.js +66 -0
- package/dist/contracts/promptContracts.js +1 -1
- package/dist/contracts/sessionLifecycleInputs.js +4 -0
- package/dist/contracts/sessionToolContracts.js +43 -0
- package/dist/contracts/sessionToolSchemas.js +1 -1
- package/dist/contracts/toolContractExamples.js +5 -0
- package/dist/contracts/toolContractTypes.js +2 -0
- package/dist/contracts/toolContracts.js +7 -130
- package/dist/contracts/toolEffects.js +43 -0
- package/dist/contracts/toolOutputSchemaGroups.js +4 -0
- package/dist/contracts/toolOutputSchemaPrimitives.js +1 -0
- package/dist/doctorRuntime.js +5 -1
- package/dist/domain/analysisErrorBase.js +33 -0
- package/dist/domain/analysisErrorCore.js +60 -0
- package/dist/domain/analysisErrorPresentation.js +22 -2
- package/dist/domain/analysisErrorProjection.js +24 -3
- package/dist/domain/analysisSnapshot.js +1 -0
- package/dist/domain/androidAnalysis.js +141 -0
- package/dist/domain/appleAssetCatalog.js +1 -1
- package/dist/domain/artifactGraph.js +1 -0
- package/dist/domain/artifactInspection.js +19 -17
- package/dist/domain/artifactInventoryEvidence.js +20 -25
- package/dist/domain/artifactOperationError.js +16 -0
- package/dist/domain/browserObservation.js +12 -4
- package/dist/domain/browserObservationError.js +23 -0
- package/dist/domain/browserScenario.js +1 -1
- package/dist/domain/browserScenarioCapture.js +1 -1
- package/dist/domain/browserScenarioDiff.js +1 -1
- package/dist/domain/browserScenarioNormalization.js +6 -11
- package/dist/domain/browserScenarioValues.js +3 -1
- package/dist/domain/callPath.js +47 -7
- package/dist/domain/canonicalDigest.js +65 -0
- package/dist/domain/canonicalOrdering.js +11 -0
- package/dist/domain/changedBehavior.js +8 -7
- package/dist/domain/comparisonSemantics.js +2 -4
- package/dist/domain/configurationErrors.js +25 -0
- package/dist/domain/dosCom.js +8 -0
- package/dist/domain/electronActiveObservation.js +3 -1
- package/dist/domain/electronStaticAnalysisBrowser.js +13 -23
- package/dist/domain/electronStaticAnalysisNative.js +2 -1
- package/dist/domain/electronStaticAnalysisValues.js +23 -3
- package/dist/domain/evidence.js +3 -11
- package/dist/domain/evidenceErrors.js +30 -0
- package/dist/domain/firmwareAnalysis.js +121 -0
- package/dist/domain/functionComparison.js +4 -2
- package/dist/domain/functionComparisonDimensions.js +6 -4
- package/dist/domain/functionComparisonNormalization.js +8 -1
- package/dist/domain/functionComparisonResults.js +1 -4
- package/dist/domain/hopperErrors.js +78 -0
- package/dist/domain/hopperValues.js +2 -1
- package/dist/domain/interfaceBuilderGraph.js +3 -1
- package/dist/domain/javascriptApplicationChangeGraph.js +2 -2
- package/dist/domain/javascriptApplicationGraph.js +13 -22
- package/dist/domain/javascriptApplicationVersionComparison.js +3 -11
- package/dist/domain/javascriptApplicationVersionItems.js +3 -3
- package/dist/domain/javascriptApplicationVersionKeys.js +1 -1
- package/dist/domain/javascriptAstFingerprint.js +1 -1
- package/dist/domain/javascriptExportShapeComparison.js +1 -2
- package/dist/domain/javascriptExportShapeSelection.js +1 -1
- package/dist/domain/javascriptExportShapeVariants.js +7 -3
- package/dist/domain/javascriptFeatureSeed.js +29 -9
- package/dist/domain/javascriptFeatureTrace.js +9 -13
- package/dist/domain/javascriptFeatureTraversal.js +2 -1
- package/dist/domain/javascriptNativeHandoff.js +2 -1
- package/dist/domain/javascriptRuntimeLoadState.js +2 -2
- package/dist/domain/javascriptRuntimeReconciliationActive.js +3 -10
- package/dist/domain/javascriptRuntimeReconciliationGraph.js +2 -2
- package/dist/domain/javascriptRuntimeReconciliationMatching.js +4 -3
- package/dist/domain/javascriptRuntimeReconciliationParsing.js +8 -14
- package/dist/domain/javascriptRuntimeReconciliationResult.js +4 -4
- package/dist/domain/javascriptRuntimeReconciliationSchemas.js +5 -2
- package/dist/domain/javascriptRuntimeStaticCandidates.js +8 -4
- package/dist/domain/javascriptSemanticAnalysis.js +40 -3
- package/dist/domain/javascriptSemanticCallResolution.js +2 -1
- package/dist/domain/javascriptSemanticChildProcesses.js +2 -1
- package/dist/domain/javascriptSemanticDataEffects.js +2 -1
- package/dist/domain/javascriptSemanticFingerprints.js +1 -1
- package/dist/domain/javascriptSemanticGraph.js +23 -28
- package/dist/domain/javascriptSemanticPrimitives.js +9 -2
- package/dist/domain/javascriptSemanticProjection.js +2 -1
- package/dist/domain/javascriptSemanticPromises.js +2 -1
- package/dist/domain/javascriptSemanticProvenance.js +1 -1
- package/dist/domain/javascriptSemanticQuery.js +7 -8
- package/dist/domain/javascriptSemanticQueryAssessment.js +1 -2
- package/dist/domain/javascriptSemanticQueryIdentity.js +1 -2
- package/dist/domain/javascriptSemanticReturns.js +2 -1
- package/dist/domain/javascriptSemanticValues.js +50 -16
- package/dist/domain/javascriptSourceParser.js +4 -2
- package/dist/domain/javascriptStaticAnalysis.js +1 -1
- package/dist/domain/javascriptStaticAnalysisBundler.js +2 -1
- package/dist/domain/javascriptStaticAnalysisCalls.js +14 -6
- package/dist/domain/javascriptStaticAnalysisHelpers.js +31 -4
- package/dist/domain/jsonShape.js +6 -2
- package/dist/domain/managedMemberComparison.js +1 -0
- package/dist/domain/managedMemberComparisonItems.js +2 -0
- package/dist/domain/managedNativeVerificationMatch.js +5 -3
- package/dist/domain/nativeDataType.js +2 -0
- package/dist/domain/nativeFunctionAnnotations.js +43 -0
- package/dist/domain/nativeLoadImage.js +95 -0
- package/dist/domain/nativeMetadataRecovery.js +55 -0
- package/dist/domain/processCapture.js +0 -1
- package/dist/domain/processEvidenceProvider.js +11 -0
- package/dist/domain/processTraceComparison.js +1 -1
- package/dist/domain/providerAdapterError.js +17 -0
- package/dist/domain/providerCleanupError.js +1 -1
- package/dist/domain/providerSelectionError.js +44 -0
- package/dist/domain/reconstructionUnknowns.js +1 -1
- package/dist/domain/reconstructionVerification.js +22 -8
- package/dist/domain/referenceSourceClassification.js +5 -6
- package/dist/domain/referenceSourceGraph.js +9 -17
- package/dist/domain/referenceSourceImportParsing.js +38 -23
- package/dist/domain/runtimeIdentification.js +1 -1
- package/dist/domain/runtimeVersion.js +4 -7
- package/dist/domain/safeJson.js +13 -0
- package/dist/domain/sourceToBundleComparison.js +5 -7
- package/dist/domain/sourceToBundleSignals.js +6 -6
- package/dist/domain/staticRuntimeCorrelation.js +9 -7
- package/dist/domain/unknownRegistryError.js +10 -0
- package/dist/domain/webBundleAnalyzerAst.js +22 -5
- package/dist/domain/webBundleAnalyzerInspection.js +20 -14
- package/dist/dotnet/ManagedMemberRows.js +1 -1
- package/dist/dotnet/ManagedMetadataHeaps.js +3 -2
- package/dist/dotnet/ManagedMetadataInventoryRows.js +4 -2
- package/dist/dotnet/ManagedMethodBodyReader.js +8 -1
- package/dist/dotnet/ManagedStaticProvider.js +3 -1
- package/dist/firmware/FirmwareCommand.js +163 -0
- package/dist/firmware/FirmwareFiles.js +190 -0
- package/dist/firmware/FirmwareProvider.js +258 -0
- package/dist/firmware/FirmwarePublication.js +84 -0
- package/dist/firmware/FirmwareRelease.js +32 -0
- package/dist/firmware/FirmwareReports.js +223 -0
- package/dist/generatedMcpToolCatalog.js +1 -1
- package/dist/generatedPackageMetadata.js +5 -5
- package/dist/ghidra/GhidraAnalysisProfile.js +37 -8
- package/dist/ghidra/GhidraClient.js +52 -6
- package/dist/ghidra/GhidraDiagnostics.js +3 -0
- package/dist/ghidra/GhidraDoctor.js +38 -14
- package/dist/ghidra/GhidraFunctionValues.js +10 -4
- package/dist/ghidra/GhidraInstallation.js +10 -4
- package/dist/ghidra/GhidraInventoryValues.js +39 -2
- package/dist/ghidra/GhidraLauncher.js +91 -26
- package/dist/ghidra/GhidraLoadImageValues.js +199 -0
- package/dist/ghidra/GhidraProvider.js +129 -13
- package/dist/ghidra/GhidraProviderCapabilities.js +52 -15
- package/dist/ghidra/GhidraRequestQueue.js +2 -2
- package/dist/ghidra/GhidraSessionError.js +31 -4
- package/dist/ghidra/GhidraSessionValues.js +10 -7
- package/dist/ghidra/GhidraTargetSnapshot.js +16 -2
- package/dist/ghidra/GhidraTransport.js +12 -0
- package/dist/ghidra/extensions/GhidraExtensionFailures.js +20 -0
- package/dist/ghidra/extensions/GhidraExtensions.js +170 -0
- package/dist/ghidra/extensions/nativeaot/NativeAotAdapter.js +21 -0
- package/dist/ghidra/extensions/nativeaot/NativeAotReport.js +84 -0
- package/dist/hopper/BridgeLauncher.js +4 -2
- package/dist/hopper/HopperAnalysisProfile.js +7 -2
- package/dist/hopper/HopperCleanup.js +55 -9
- package/dist/hopper/HopperClient.js +14 -4
- package/dist/hopper/HopperProcessDiagnostic.js +1 -1
- package/dist/hopper/HopperProvider.js +8 -4
- package/dist/hopper/HopperRequestQueue.js +7 -3
- package/dist/hopper/HopperSessionValues.js +1 -1
- package/dist/hopper/HopperSocketConnection.js +1 -1
- package/dist/hopper/HopperTargetLease.js +23 -15
- package/dist/hopper/LinuxPrivateDisplayDiagnostic.js +7 -8
- package/dist/hopper/LinuxPrivateDisplayProbe.js +6 -2
- package/dist/hopper/protocol.js +8 -8
- package/dist/ida/IdaConfiguration.js +56 -0
- package/dist/ida/IdaDoctor.js +53 -0
- package/dist/ida/IdaInput.js +62 -0
- package/dist/ida/IdaMcpConnection.js +111 -0
- package/dist/ida/IdaOperationRunner.js +299 -0
- package/dist/ida/IdaProtocolValues.js +178 -0
- package/dist/ida/IdaProvider.js +126 -0
- package/dist/ida/IdaProviderCapabilities.js +60 -0
- package/dist/ida/IdaSessionClient.js +306 -0
- package/dist/ida/IdaWorkspace.js +54 -0
- package/dist/main/shutdown.js +21 -1
- package/dist/main/startup.js +1 -1
- package/dist/main/transport.js +8 -4
- package/dist/main.js +5 -2
- package/dist/native/AppleDispatchMetadata.js +31 -10
- package/dist/native/NativeMacOSProvider.js +87 -15
- package/dist/native/NativeMachoInspection.js +42 -12
- package/dist/native/NativeUiHelperRuntime.js +7 -1
- package/dist/native/NativeUiObservation.js +6 -2
- package/dist/native/parsers/demangle.js +1 -1
- package/dist/native/parsers/dyldInfo.js +3 -3
- package/dist/native/parsers/otool.js +4 -1
- package/dist/native/parsers/plist.js +11 -3
- package/dist/process/PrivateRuntimeRoot.js +13 -3
- package/dist/process/ProcessOwnership.js +5 -73
- package/dist/process/ProcessOwnershipObservation.js +62 -2
- package/dist/process/ProcessOwnershipProcessTree.js +13 -0
- package/dist/process/ProviderProcess.js +24 -7
- package/dist/process/ProviderRunLineage.js +1 -1
- package/dist/process/WindowsAuthority.js +20 -1
- package/dist/reference/ReferenceSourceReaderEntries.js +5 -1
- package/dist/reference/ReferenceSourceReaderFile.js +1 -0
- package/dist/server/createServer.js +25 -2
- package/dist/server/mcpProgress.js +2 -1
- package/dist/server/promptCompletion.js +3 -3
- package/dist/server/registerAndroidTools.js +30 -0
- package/dist/server/registerApplicationTools/compareExportShapes.js +5 -1
- package/dist/server/registerApplicationTools/compareSourceToBundle.js +7 -2
- package/dist/server/registerApplicationTools/compareVersions.js +5 -1
- package/dist/server/registerApplicationTools/traceFeature.js +7 -2
- package/dist/server/registerApplicationTools/traceSemantics.js +7 -2
- package/dist/server/registerEnhancedTools.js +28 -1
- package/dist/server/registerFirmwareTools.js +22 -0
- package/dist/server/registerFunctionComparisonTool.js +1 -1
- package/dist/server/registerInvestigationTools/helpers.js +2 -1
- package/dist/server/registerManagedTools.js +1 -1
- package/dist/server/registerManagedWorkflowTools/evidence.js +1 -1
- package/dist/server/registerOfficialTools.js +4 -1
- package/dist/server/registerProcessComparisonTool.js +5 -2
- package/dist/server/registerSessionTools.js +3 -1
- package/dist/server/runDerivedOperation.js +1 -1
- package/dist/server/sessionAvailabilityPolicy.js +3 -0
- package/dist/server/sessionEvidence.js +1 -1
- package/dist/server/toolResult.js +2 -1
- package/dist/windows/WindowsNativeLoader.js +108 -0
- package/dist/windows/WindowsOwnedProcess.js +168 -0
- package/dist/windows/WindowsPrivateRuntime.js +137 -0
- package/install.sh +4 -6
- package/native/windows/README.md +102 -0
- package/native/windows/build/manifest.json +9 -0
- package/native/windows/build/rea-windows-x64.node +0 -0
- package/package.json +38 -24
- package/scripts/rea.mjs +1 -1
- package/scripts/verify-windows-native-artifact.mjs +39 -0
- package/skills/reverse-engineer-anything/SKILL.md +92 -24
- package/skills/reverse-engineer-anything/references/android-applications.md +31 -0
- package/skills/reverse-engineer-anything/references/javascript-applications.md +19 -2
- package/skills/reverse-engineer-anything/references/native-and-artifacts.md +52 -4
- package/dist/browser/CdpCanonicalJsonDigest.js +0 -9
- package/dist/domain/errors.js +0 -324
package/dist/domain/errors.js
DELETED
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
import { hopperStartupFailure, } from "./hopperStartupFailure.js";
|
|
2
|
-
export { hopperStartupFailure, };
|
|
3
|
-
export { projectAnalysisError } from "./analysisErrorProjection.js";
|
|
4
|
-
/** Stable tags exposed by safe analysis-error projections. */
|
|
5
|
-
const ANALYSIS_ERROR_TAGS = [
|
|
6
|
-
"AnalysisProtocolError",
|
|
7
|
-
"AnalysisInputError",
|
|
8
|
-
"AnalysisOutputError",
|
|
9
|
-
"AnalysisCapabilityUnavailableError",
|
|
10
|
-
"AnalysisCancelledError",
|
|
11
|
-
"AnalysisTimeoutError",
|
|
12
|
-
"ProviderSelectionError",
|
|
13
|
-
"ProviderAdapterError",
|
|
14
|
-
"BrowserObservationError",
|
|
15
|
-
"ArtifactOperationError",
|
|
16
|
-
"ProcessCaptureError",
|
|
17
|
-
"EvidenceIntegrityError",
|
|
18
|
-
"EvidenceFileError",
|
|
19
|
-
"UnknownRegistryError",
|
|
20
|
-
"HopperTimeoutError",
|
|
21
|
-
"HopperCancelledError",
|
|
22
|
-
"HopperProtocolError",
|
|
23
|
-
"HopperRemoteError",
|
|
24
|
-
"HopperProcessError",
|
|
25
|
-
"HopperStartError",
|
|
26
|
-
"ConfigurationError",
|
|
27
|
-
"NoBinaryOpenError",
|
|
28
|
-
"BinaryTargetError",
|
|
29
|
-
];
|
|
30
|
-
/** Base class for expected analysis, provider, and session failures. */
|
|
31
|
-
export class AnalysisError extends Error {
|
|
32
|
-
userMessage = undefined;
|
|
33
|
-
userCategory = undefined;
|
|
34
|
-
cleanupIncomplete = false;
|
|
35
|
-
cleanupResources = [];
|
|
36
|
-
}
|
|
37
|
-
/** Base class for failures produced specifically by the Hopper provider. */
|
|
38
|
-
export class HopperError extends AnalysisError {
|
|
39
|
-
}
|
|
40
|
-
/** Provider-neutral invalid analysis input or output at an application boundary. */
|
|
41
|
-
export class AnalysisProtocolError extends AnalysisError {
|
|
42
|
-
_tag = "AnalysisProtocolError";
|
|
43
|
-
}
|
|
44
|
-
/** Caller input failed provider-neutral application parsing. */
|
|
45
|
-
export class AnalysisInputError extends AnalysisError {
|
|
46
|
-
operation;
|
|
47
|
-
issues;
|
|
48
|
-
_tag = "AnalysisInputError";
|
|
49
|
-
constructor(operation, options, issues = []) {
|
|
50
|
-
super(`Invalid analysis input for ${operation}`, options);
|
|
51
|
-
this.operation = operation;
|
|
52
|
-
this.issues = issues;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/** Provider output failed provider-neutral application parsing. */
|
|
56
|
-
export class AnalysisOutputError extends AnalysisError {
|
|
57
|
-
operation;
|
|
58
|
-
reason;
|
|
59
|
-
_tag = "AnalysisOutputError";
|
|
60
|
-
constructor(operation, reason, options) {
|
|
61
|
-
super(`Invalid analysis output for ${operation}: ${reason}`, options);
|
|
62
|
-
this.operation = operation;
|
|
63
|
-
this.reason = reason;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/** Selected provider cannot execute a declared analysis operation. */
|
|
67
|
-
export class AnalysisCapabilityUnavailableError extends AnalysisError {
|
|
68
|
-
providerId;
|
|
69
|
-
operation;
|
|
70
|
-
reason;
|
|
71
|
-
_tag = "AnalysisCapabilityUnavailableError";
|
|
72
|
-
constructor(providerId, operation, reason) {
|
|
73
|
-
super(`Provider ${providerId} cannot execute ${operation}: ${reason}`);
|
|
74
|
-
this.providerId = providerId;
|
|
75
|
-
this.operation = operation;
|
|
76
|
-
this.reason = reason;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/** Caller cancellation won before provider-neutral work completed. */
|
|
80
|
-
export class AnalysisCancelledError extends AnalysisError {
|
|
81
|
-
operation;
|
|
82
|
-
_tag = "AnalysisCancelledError";
|
|
83
|
-
constructor(operation) {
|
|
84
|
-
super(`Analysis operation was cancelled: ${operation}`);
|
|
85
|
-
this.operation = operation;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/** Provider-neutral operation exceeded its declared execution deadline. */
|
|
89
|
-
export class AnalysisTimeoutError extends AnalysisError {
|
|
90
|
-
operation;
|
|
91
|
-
timeoutMs;
|
|
92
|
-
_tag = "AnalysisTimeoutError";
|
|
93
|
-
constructor(operation, timeoutMs) {
|
|
94
|
-
super(`Analysis operation timed out after ${String(timeoutMs)}ms: ${operation}`);
|
|
95
|
-
this.operation = operation;
|
|
96
|
-
this.timeoutMs = timeoutMs;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/** No configured provider can satisfy a requested operation or target binding. */
|
|
100
|
-
export class ProviderSelectionError extends AnalysisError {
|
|
101
|
-
_tag = "ProviderSelectionError";
|
|
102
|
-
operation;
|
|
103
|
-
reason;
|
|
104
|
-
requestedProviderId;
|
|
105
|
-
candidateIds;
|
|
106
|
-
rejections;
|
|
107
|
-
userMessage;
|
|
108
|
-
constructor(options) {
|
|
109
|
-
const operation = options.operation ?? "open_binary";
|
|
110
|
-
super(providerSelectionDiagnostic(options));
|
|
111
|
-
this.operation = operation;
|
|
112
|
-
this.reason = options.reason;
|
|
113
|
-
this.requestedProviderId = options.requestedProviderId;
|
|
114
|
-
this.candidateIds = [...options.candidateIds];
|
|
115
|
-
this.rejections = [...(options.rejections ?? [])].map((rejection) => ({
|
|
116
|
-
...rejection,
|
|
117
|
-
diagnostics: structuredClone(rejection.diagnostics),
|
|
118
|
-
}));
|
|
119
|
-
this.userMessage = providerSelectionUserMessage(options);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
const providerSelectionDiagnostic = (options) => {
|
|
123
|
-
const candidates = options.candidateIds.length === 0
|
|
124
|
-
? "none"
|
|
125
|
-
: options.candidateIds.join(", ");
|
|
126
|
-
return `Analysis provider selection failed (${options.reason}) for ${options.requestedProviderId}; candidates: ${candidates}`;
|
|
127
|
-
};
|
|
128
|
-
const providerSelectionUserMessage = (options) => {
|
|
129
|
-
switch (options.reason) {
|
|
130
|
-
case "ambiguous":
|
|
131
|
-
return "Multiple analysis providers support this target. Choose one with provider_id, --provider, or REA_ANALYSIS_PROVIDER.";
|
|
132
|
-
case "unknown_provider":
|
|
133
|
-
return `The requested analysis provider is unknown. Choose one of: ${options.candidateIds.join(", ") || "no configured providers"}.`;
|
|
134
|
-
case "provider_unavailable":
|
|
135
|
-
return "The selected analysis provider is unavailable. Review the reported local diagnostics or run `rea doctor`, then retry.";
|
|
136
|
-
case "target_unsupported":
|
|
137
|
-
return "The selected analysis provider does not support this target. Choose another provider or open a supported extracted binary.";
|
|
138
|
-
case "invalid_options":
|
|
139
|
-
return "The analysis provider selection or open options are invalid. Correct them and try again.";
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
/** A provider adapter failed outside its more precise typed variants. */
|
|
143
|
-
export class ProviderAdapterError extends AnalysisError {
|
|
144
|
-
providerId;
|
|
145
|
-
operation;
|
|
146
|
-
_tag = "ProviderAdapterError";
|
|
147
|
-
diagnostics;
|
|
148
|
-
constructor(providerId, operation, options = {}) {
|
|
149
|
-
super(`Provider ${providerId} adapter failed during ${operation}`, options);
|
|
150
|
-
this.providerId = providerId;
|
|
151
|
-
this.operation = operation;
|
|
152
|
-
this.diagnostics =
|
|
153
|
-
options.diagnostics === undefined
|
|
154
|
-
? undefined
|
|
155
|
-
: structuredClone(options.diagnostics);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/** A bounded passive browser observation failed at its CDP boundary. */
|
|
159
|
-
export class BrowserObservationError extends AnalysisError {
|
|
160
|
-
operation;
|
|
161
|
-
reason;
|
|
162
|
-
_tag = "BrowserObservationError";
|
|
163
|
-
cleanupIncomplete;
|
|
164
|
-
cleanupResources;
|
|
165
|
-
userCategory;
|
|
166
|
-
constructor(operation, reason, options) {
|
|
167
|
-
super(`Browser observation ${operation} failed: ${reason}`, options);
|
|
168
|
-
this.operation = operation;
|
|
169
|
-
this.reason = reason;
|
|
170
|
-
this.cleanupIncomplete = reason === "cleanup_failed";
|
|
171
|
-
this.cleanupResources =
|
|
172
|
-
reason === "cleanup_failed" ? ["browser_transport"] : [];
|
|
173
|
-
this.userCategory =
|
|
174
|
-
reason === "cancelled" || options?.cause instanceof AnalysisCancelledError
|
|
175
|
-
? "cancelled"
|
|
176
|
-
: undefined;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/** Artifact inventory or extraction failed a typed safety boundary. */
|
|
180
|
-
export class ArtifactOperationError extends AnalysisError {
|
|
181
|
-
operation;
|
|
182
|
-
reason;
|
|
183
|
-
artifactDetails;
|
|
184
|
-
_tag = "ArtifactOperationError";
|
|
185
|
-
constructor(operation, reason, artifactDetails) {
|
|
186
|
-
super(artifactDetails === undefined
|
|
187
|
-
? `Artifact ${operation} failed: ${reason}`
|
|
188
|
-
: `Artifact ${operation} failed: ${reason} at ${artifactDetails.logicalPath} (declared_sha256=${artifactDetails.declaredSha256 ?? "unavailable"}, calculated_sha256=${artifactDetails.calculatedSha256 ?? "unavailable"}, unpacked=${String(artifactDetails.unpacked)})`);
|
|
189
|
-
this.operation = operation;
|
|
190
|
-
this.reason = reason;
|
|
191
|
-
this.artifactDetails = artifactDetails;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/** Evidence identity, schema, or bundle manifests failed integrity checks. */
|
|
195
|
-
export class EvidenceIntegrityError extends AnalysisError {
|
|
196
|
-
_tag = "EvidenceIntegrityError";
|
|
197
|
-
}
|
|
198
|
-
/** A session Evidence reference is missing or has the wrong semantic identity. */
|
|
199
|
-
export class EvidenceReferenceError extends EvidenceIntegrityError {
|
|
200
|
-
evidenceId;
|
|
201
|
-
reason;
|
|
202
|
-
expected;
|
|
203
|
-
actual;
|
|
204
|
-
constructor(evidenceId, reason, expected, actual) {
|
|
205
|
-
super(`Evidence reference ${reason}: ${evidenceId}`);
|
|
206
|
-
this.evidenceId = evidenceId;
|
|
207
|
-
this.reason = reason;
|
|
208
|
-
this.expected = expected;
|
|
209
|
-
this.actual = actual;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/** Evidence bundle filesystem access failed within the configured policy. */
|
|
213
|
-
export class EvidenceFileError extends AnalysisError {
|
|
214
|
-
operation;
|
|
215
|
-
reason;
|
|
216
|
-
_tag = "EvidenceFileError";
|
|
217
|
-
constructor(operation, reason, options) {
|
|
218
|
-
super(`Evidence bundle ${operation} failed: ${reason}`, options);
|
|
219
|
-
this.operation = operation;
|
|
220
|
-
this.reason = reason;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/** Residual-unknown mutation failed a lifecycle, reference, or CAS invariant. */
|
|
224
|
-
export class UnknownRegistryError extends AnalysisError {
|
|
225
|
-
reason;
|
|
226
|
-
_tag = "UnknownRegistryError";
|
|
227
|
-
constructor(reason, options) {
|
|
228
|
-
super(`Residual unknown registry mutation failed: ${reason}`, options);
|
|
229
|
-
this.reason = reason;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
/** Hopper did not respond within the configured operation deadline. */
|
|
233
|
-
export class HopperTimeoutError extends HopperError {
|
|
234
|
-
timeoutMs;
|
|
235
|
-
operation;
|
|
236
|
-
requestId;
|
|
237
|
-
providerState;
|
|
238
|
-
_tag = "HopperTimeoutError";
|
|
239
|
-
constructor(timeoutMs, operation, requestId, providerState = "not_started") {
|
|
240
|
-
super(`Hopper ${operation === undefined ? "startup" : operation} timed out after ${String(timeoutMs)}ms`);
|
|
241
|
-
this.timeoutMs = timeoutMs;
|
|
242
|
-
this.operation = operation;
|
|
243
|
-
this.requestId = requestId;
|
|
244
|
-
this.providerState = providerState;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/** The caller cancelled a Hopper operation before it completed. */
|
|
248
|
-
export class HopperCancelledError extends HopperError {
|
|
249
|
-
_tag = "HopperCancelledError";
|
|
250
|
-
constructor() {
|
|
251
|
-
super("Hopper operation was cancelled");
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
/** Hopper returned bytes or JSON that do not satisfy the NDJSON RPC contract. */
|
|
255
|
-
export class HopperProtocolError extends HopperError {
|
|
256
|
-
_tag = "HopperProtocolError";
|
|
257
|
-
}
|
|
258
|
-
export class HopperRemoteError extends HopperError {
|
|
259
|
-
code;
|
|
260
|
-
safeMessage;
|
|
261
|
-
_tag = "HopperRemoteError";
|
|
262
|
-
diagnosticType;
|
|
263
|
-
operation;
|
|
264
|
-
requestId;
|
|
265
|
-
constructor(code, safeMessage, context = {}) {
|
|
266
|
-
super(`Hopper request failed (${String(code)}): ${safeMessage}`);
|
|
267
|
-
this.code = code;
|
|
268
|
-
this.safeMessage = safeMessage;
|
|
269
|
-
this.diagnosticType = context.diagnosticType ?? "remote";
|
|
270
|
-
this.operation = context.operation;
|
|
271
|
-
this.requestId = context.requestId;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
/** The owned Hopper bridge stopped before its client was closed. */
|
|
275
|
-
export class HopperProcessError extends HopperError {
|
|
276
|
-
exitCode;
|
|
277
|
-
diagnostic;
|
|
278
|
-
operation;
|
|
279
|
-
requestId;
|
|
280
|
-
_tag = "HopperProcessError";
|
|
281
|
-
failureCode;
|
|
282
|
-
userMessage;
|
|
283
|
-
constructor(exitCode, diagnostic, operation, requestId) {
|
|
284
|
-
super(`Hopper bridge stopped unexpectedly with code ${String(exitCode)}`);
|
|
285
|
-
this.exitCode = exitCode;
|
|
286
|
-
this.diagnostic = diagnostic;
|
|
287
|
-
this.operation = operation;
|
|
288
|
-
this.requestId = requestId;
|
|
289
|
-
const failure = hopperStartupFailure(exitCode);
|
|
290
|
-
this.failureCode = failure?.code;
|
|
291
|
-
this.userMessage = failure?.message;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
/** Hopper or the repository bridge could not be started. */
|
|
295
|
-
export class HopperStartError extends HopperError {
|
|
296
|
-
_tag = "HopperStartError";
|
|
297
|
-
userMessage;
|
|
298
|
-
ownerRunId;
|
|
299
|
-
constructor(options) {
|
|
300
|
-
super("Hopper application bridge could not be started", options);
|
|
301
|
-
this.userMessage = options?.userMessage;
|
|
302
|
-
this.ownerRunId = options?.ownerRunId;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
/** Runtime configuration could not be parsed safely. */
|
|
306
|
-
export class ConfigurationError extends AnalysisError {
|
|
307
|
-
_tag = "ConfigurationError";
|
|
308
|
-
}
|
|
309
|
-
/** No app or binary session exists for an analysis request. */
|
|
310
|
-
export class NoBinaryOpenError extends AnalysisError {
|
|
311
|
-
_tag = "NoBinaryOpenError";
|
|
312
|
-
constructor() {
|
|
313
|
-
super("No app is open. Ask the user which app to investigate, then call open_binary with its local path.");
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
/** A supplied target path could not be safely opened as a supported app or binary. */
|
|
317
|
-
export class BinaryTargetError extends AnalysisError {
|
|
318
|
-
path;
|
|
319
|
-
_tag = "BinaryTargetError";
|
|
320
|
-
constructor(path, reason, options) {
|
|
321
|
-
super(`Cannot open artifact: ${reason}`, options);
|
|
322
|
-
this.path = path;
|
|
323
|
-
}
|
|
324
|
-
}
|