rea-agents 6.1.0 → 6.2.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.
Files changed (453) hide show
  1. package/README.md +7 -5
  2. package/bridge/ghidra/ReaGhidraBridge.java +32 -4
  3. package/bridge/hopper_bridge.py +6 -1
  4. package/dist/android/JadxConfiguration.js +87 -7
  5. package/dist/android/JadxMcpTransport.js +14 -2
  6. package/dist/android/JadxProvider.js +57 -35
  7. package/dist/application/BinaryTargetResolver.js +5 -3
  8. package/dist/application/BrowserEvidence.js +3 -8
  9. package/dist/application/BrowserScenarioEvidence.js +2 -18
  10. package/dist/application/CapabilityInventory.js +43 -9
  11. package/dist/application/ClientConfigurationDocument.js +69 -25
  12. package/dist/application/DirectAnalysis.js +29 -14
  13. package/dist/application/DirectAnalysisCleanup.js +72 -0
  14. package/dist/application/DirectAnalysisStatus.js +4 -5
  15. package/dist/application/Doctor.js +15 -19
  16. package/dist/application/DoctorDiagnostics.js +1 -2
  17. package/dist/application/EnhancedTools.js +51 -6
  18. package/dist/application/EvidenceBundleFiles.js +8 -3
  19. package/dist/application/InvestigationProviders.js +9 -1
  20. package/dist/application/JsonFiles.js +42 -9
  21. package/dist/application/LinuxHopper.js +9 -6
  22. package/dist/application/MacHopper.js +15 -18
  23. package/dist/application/RealHopperAssertions.js +0 -11
  24. package/dist/application/ReconstructionObligationCandidates.js +1 -1
  25. package/dist/application/ReferenceSourceImportEntries.js +1 -1
  26. package/dist/application/Setup.js +8 -16
  27. package/dist/application/SetupHost.js +16 -27
  28. package/dist/application/SetupPlan.js +6 -6
  29. package/dist/application/Uninstall.js +81 -29
  30. package/dist/application/UpdateMaintenance.js +7 -5
  31. package/dist/application/UpdateRuntime.js +12 -12
  32. package/dist/application/WebScriptExportService.js +30 -4
  33. package/dist/application/WorkflowEvidence.js +25 -2
  34. package/dist/application/XrefsAddressResolution.js +45 -0
  35. package/dist/application/analysisView/AnalysisViewService.js +76 -0
  36. package/dist/application/binary/AnalysisClientCleanup.js +30 -5
  37. package/dist/application/binary/AnalysisProviderEvaluation.js +1 -2
  38. package/dist/application/binary/AnalysisProviderRegistry.js +2 -6
  39. package/dist/application/binary/AnalysisSnapshotCache.js +10 -8
  40. package/dist/application/binary/BinarySession.js +70 -29
  41. package/dist/application/binary/BinarySessionComposition.js +1 -3
  42. package/dist/application/binary/BinarySessionExecution.js +3 -5
  43. package/dist/application/binary/BinarySessionOpen.js +1 -1
  44. package/dist/application/binary/BinarySessionRecords.js +1 -1
  45. package/dist/application/binary/BinarySessionStatus.js +1 -6
  46. package/dist/application/binary/CompositeProvider.js +4 -18
  47. package/dist/application/binary/LazyAnalysisProvider.js +5 -5
  48. package/dist/application/binary/SessionProviderRouter.js +27 -135
  49. package/dist/application/homebrew.js +48 -0
  50. package/dist/application/javascript/ElectronActiveEvidence.js +9 -13
  51. package/dist/application/javascript/JavaScriptApplicationEvidence.js +2 -6
  52. package/dist/application/javascript/JavaScriptApplicationService.js +6 -1
  53. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +5 -3
  54. package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +11 -9
  55. package/dist/application/javascript/JavaScriptArtifactGraphBundlers.js +11 -3
  56. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +9 -0
  57. package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +8 -5
  58. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +12 -3
  59. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +0 -1
  60. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +43 -16
  61. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +46 -6
  62. package/dist/application/javascript/JavaScriptModuleRelationships.js +1 -1
  63. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +3 -3
  64. package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +2 -3
  65. package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +1 -2
  66. package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +2 -3
  67. package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +1 -5
  68. package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +75 -46
  69. package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +2 -3
  70. package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +42 -19
  71. package/dist/application/managed/ManagedMemberComparisonService.js +2 -1
  72. package/dist/application/managed/ManagedNativeVerificationService.js +2 -1
  73. package/dist/application/process/ProcessCli.js +11 -11
  74. package/dist/application/process/ProcessEvidence.js +0 -1
  75. package/dist/artifacts/ArtifactProvider.js +39 -14
  76. package/dist/artifacts/ArtifactReader.js +31 -0
  77. package/dist/artifacts/DirectoryArtifactReader.js +2 -1
  78. package/dist/artifacts/MachOSliceArtifactReader.js +9 -2
  79. package/dist/artifacts/NativeDmgArtifactReader.js +65 -20
  80. package/dist/artifacts/SafeOutputTree.js +16 -2
  81. package/dist/artifacts/ZipArtifactReader.js +11 -4
  82. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +4 -2
  83. package/dist/artifacts/apple/DylibResolutionReader.js +17 -7
  84. package/dist/artifacts/apple/KeyedArchiveReader.js +21 -3
  85. package/dist/artifacts/extraction/ArtifactExtraction.js +78 -21
  86. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +67 -61
  87. package/dist/artifacts/inventory/ArtifactInventory.js +0 -1
  88. package/dist/artifacts/inventory/reader.js +3 -3
  89. package/dist/artifacts/inventory/scanCanonical.js +48 -24
  90. package/dist/artifacts/inventory/scanReader.js +5 -9
  91. package/dist/browser/BrowserScenarioPartialObservation.js +106 -0
  92. package/dist/browser/CdpBrowserProvider.js +2 -3
  93. package/dist/browser/CdpCaptureEventHandlers.js +2 -4
  94. package/dist/browser/CdpCaptureEvents.js +0 -1
  95. package/dist/browser/CdpCaptureValues.js +20 -0
  96. package/dist/browser/CdpElectronProvider.js +0 -2
  97. package/dist/browser/CdpElectronScriptEvents.js +2 -8
  98. package/dist/browser/CdpElectronScripts.js +2 -3
  99. package/dist/browser/CdpPageCaptureScripts.js +2 -3
  100. package/dist/browser/CdpSafeMetadata.js +10 -10
  101. package/dist/browser/PlaywrightBrowserScenarioProvider.js +59 -44
  102. package/dist/browser/PlaywrightElectronActiveActions.js +2 -56
  103. package/dist/browser/PlaywrightElectronActiveProvider.js +10 -6
  104. package/dist/browser/PlaywrightScenarioArtifacts.js +1 -1
  105. package/dist/browser/PlaywrightScenarioBrowser.js +139 -39
  106. package/dist/browser/PlaywrightScenarioEvents.js +1 -1
  107. package/dist/browser/PlaywrightScenarioSession.js +39 -22
  108. package/dist/browser/assets/ScriptCaptureAdapters.js +1 -1
  109. package/dist/browser/history/CaptureFailures.js +6 -2
  110. package/dist/browser/history/MitmproxyCaptureAdapter.js +4 -2
  111. package/dist/catalogIdentity.js +0 -1
  112. package/dist/cli/analysisViewCommands.js +36 -0
  113. package/dist/cli/artifactCommands.js +11 -12
  114. package/dist/cli/coreAnalysisCommands.js +3 -3
  115. package/dist/cli/coreBinaryCommands.js +32 -27
  116. package/dist/cli/coreNativeCommands.js +9 -10
  117. package/dist/cli/electronCommands.js +4 -4
  118. package/dist/cli/interactiveSetup.js +6 -6
  119. package/dist/cli/managedCommands.js +7 -8
  120. package/dist/cli/nativeCallCommands.js +1 -2
  121. package/dist/cli/omittableDefaults.js +50 -0
  122. package/dist/cli/processCommands.js +3 -2
  123. package/dist/cli/setupCommands.js +16 -15
  124. package/dist/cli/utilityCommands.js +9 -9
  125. package/dist/cli.js +16 -8
  126. package/dist/cliBrowserScenarioCommands.js +2 -2
  127. package/dist/cliCommandNames.js +1 -0
  128. package/dist/cliJsonInput.js +15 -1
  129. package/dist/cliOutput.js +0 -38
  130. package/dist/composition/auxiliaryAnalysisProviders.js +27 -23
  131. package/dist/composition/binary.js +9 -9
  132. package/dist/composition/browserScenario.js +2 -1
  133. package/dist/composition/directAnalysis.js +20 -13
  134. package/dist/composition/electronScenario.js +1 -1
  135. package/dist/composition/optionalObservationProviders.js +12 -7
  136. package/dist/config/environment.js +6 -0
  137. package/dist/config/ghidraStartupTimeout.js +4 -9
  138. package/dist/config/homeDirectory.js +12 -0
  139. package/dist/config/mcpResponseBudget.js +9 -1
  140. package/dist/config/parseConfig.js +7 -3
  141. package/dist/config/parsers.js +19 -22
  142. package/dist/contracts/analysisViewToolContracts.js +56 -0
  143. package/dist/contracts/applicationToolContracts.js +5 -4
  144. package/dist/contracts/artifactComparisonExample.js +2 -2
  145. package/dist/contracts/artifactToolContracts.js +1 -1
  146. package/dist/contracts/browserScenarioToolContracts.js +1 -1
  147. package/dist/contracts/browserToolContracts.js +19 -15
  148. package/dist/contracts/enhancedInputs.js +2 -2
  149. package/dist/contracts/enhancedToolContracts.js +4 -3
  150. package/dist/contracts/evm/evmToolContracts.js +1 -1
  151. package/dist/contracts/functionWorkflowToolContracts.js +1 -1
  152. package/dist/contracts/inputSchemaPresentation.js +90 -0
  153. package/dist/contracts/investigationExamples.js +4 -3
  154. package/dist/contracts/javascript/electronToolContracts.js +1 -1
  155. package/dist/contracts/javascript/javascriptApplicationWorkflowExamples.js +0 -20
  156. package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +245 -0
  157. package/dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js +1 -1
  158. package/dist/contracts/managed/managedToolContracts.js +5 -10
  159. package/dist/contracts/managed/managedWorkflowToolContracts.js +1 -1
  160. package/dist/contracts/mobileApplicationGraphExamples.js +3 -3
  161. package/dist/contracts/native/binaryDiagnosticsToolContracts.js +1 -1
  162. package/dist/contracts/native/nativeToolContracts.js +2 -2
  163. package/dist/contracts/officialToolContracts.js +2 -1
  164. package/dist/contracts/promptContracts.js +2 -2
  165. package/dist/contracts/providerSelection.js +1 -1
  166. package/dist/contracts/sessionToolContracts.js +14 -2
  167. package/dist/contracts/sessionToolSchemas.js +1 -14
  168. package/dist/contracts/toolContracts.js +2 -0
  169. package/dist/contracts/toolEffects.js +1 -0
  170. package/dist/contracts/toolOutputSchemaGroups.js +136 -92
  171. package/dist/contracts/toolOutputSchemaPrimitives.js +11 -21
  172. package/dist/contracts/toolSchemaMetadata.js +18 -69
  173. package/dist/contracts/webNetworkCaptureToolContracts.js +1 -1
  174. package/dist/contracts/webRuntimeToolContracts.js +1 -1
  175. package/dist/contracts/webScriptToolContracts.js +1 -1
  176. package/dist/doctorRuntime.js +7 -5
  177. package/dist/domain/analysisErrorCore.js +3 -0
  178. package/dist/domain/analysisErrorPresentation.js +18 -3
  179. package/dist/domain/analysisErrorProjection.js +24 -5
  180. package/dist/domain/analysisSnapshot.js +29 -31
  181. package/dist/domain/analysisView/analysisView.js +243 -0
  182. package/dist/domain/analysisView/analysisViewCoverage.js +19 -0
  183. package/dist/domain/analysisView/binaryLayoutView.js +159 -0
  184. package/dist/domain/analysisView/javascriptApplicationView.js +238 -0
  185. package/dist/domain/android/androidApplication.js +1 -1
  186. package/dist/domain/apple/appleApplication.js +1 -1
  187. package/dist/domain/apple/dylibResolution.js +10 -3
  188. package/dist/domain/apple/interfaceBuilderGraph.js +0 -1
  189. package/dist/domain/apple/keyedArchive.js +26 -2
  190. package/dist/domain/artifactComparison.js +15 -6
  191. package/dist/domain/artifactGraph.js +16 -3
  192. package/dist/domain/artifactInventoryEvidence.js +9 -16
  193. package/dist/domain/artifactOperationError.js +3 -3
  194. package/dist/domain/artifactPartialObservation.js +1 -0
  195. package/dist/domain/artifactPathSyntax.js +49 -0
  196. package/dist/domain/binaryTarget.js +39 -13
  197. package/dist/domain/browserCaptureComparison.js +13 -49
  198. package/dist/domain/browserNetworkEvidence.js +10 -4
  199. package/dist/domain/browserObservation.js +0 -1
  200. package/dist/domain/browserObservationSchemas.js +14 -3
  201. package/dist/domain/browserScenario.js +0 -1
  202. package/dist/domain/browserScenarioCapture.js +1 -2
  203. package/dist/domain/browserScenarioDiff.js +0 -2
  204. package/dist/domain/browserScenarioDiffEvidence.js +0 -12
  205. package/dist/domain/browserScenarioDiffValues.js +2 -2
  206. package/dist/domain/browserScenarioValues.js +3 -4
  207. package/dist/domain/callPath.js +8 -9
  208. package/dist/domain/callPathSchemas.js +2 -2
  209. package/dist/domain/changedBehavior.js +3 -3
  210. package/dist/domain/completionLedgerGeneration.js +2 -1
  211. package/dist/domain/configurationErrors.js +12 -0
  212. package/dist/domain/conformancePackage.js +4 -3
  213. package/dist/domain/evidence.js +10 -36
  214. package/dist/domain/evidenceBundle.js +7 -9
  215. package/dist/domain/evidenceCompletionLedger.js +2 -1
  216. package/dist/domain/functionComparison.js +4 -5
  217. package/dist/domain/functionComparisonDimensions.js +120 -87
  218. package/dist/domain/functionComparisonNormalization.js +23 -34
  219. package/dist/domain/functionComparisonResults.js +1 -4
  220. package/dist/domain/functionComparisonSchemas.js +2 -8
  221. package/dist/domain/functionDossierEvidence.js +2 -37
  222. package/dist/domain/javascript/electronActiveObservation.js +26 -69
  223. package/dist/domain/javascript/electronObservation.js +14 -3
  224. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +10 -9
  225. package/dist/domain/javascript/electronStaticAnalysisIpc.js +2 -1
  226. package/dist/domain/javascript/electronStaticAnalysisNative.js +2 -1
  227. package/dist/domain/javascript/javascriptApplicationEvidenceSchemas.js +2 -0
  228. package/dist/domain/javascript/javascriptApplicationGraph.js +26 -3
  229. package/dist/domain/javascript/javascriptApplicationGraphSchemas.js +9 -2
  230. package/dist/domain/javascript/javascriptApplicationVersionItems.js +5 -2
  231. package/dist/domain/javascript/javascriptApplicationVersionKeys.js +2 -1
  232. package/dist/{application/javascript/JavaScriptReturnShapeProjection.js → domain/javascript/javascriptExportReturnShapeProjection.js} +4 -4
  233. package/dist/domain/javascript/javascriptExportShapeComparison.js +7 -1
  234. package/dist/domain/javascript/javascriptExportShapeComparisonIdentity.js +6 -1
  235. package/dist/domain/javascript/javascriptExportShapeComparisonSchemas.js +29 -1
  236. package/dist/domain/javascript/javascriptExportShapeSelection.js +5 -5
  237. package/dist/domain/javascript/javascriptExportShapeVariants.js +67 -14
  238. package/dist/domain/javascript/javascriptFeatureSeed.js +20 -0
  239. package/dist/domain/javascript/javascriptFeatureTraversal.js +0 -1
  240. package/dist/domain/javascript/javascriptNativeHandoff.js +1 -1
  241. package/dist/domain/javascript/javascriptRuntimeLoadState.js +0 -1
  242. package/dist/domain/javascript/javascriptRuntimeObservation.js +10 -2
  243. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +1 -1
  244. package/dist/domain/javascript/javascriptRuntimeReconciliationParsing.js +3 -2
  245. package/dist/domain/javascript/javascriptRuntimeStaticCandidates.js +0 -1
  246. package/dist/domain/javascript/javascriptSemanticAnalysis.js +9 -3
  247. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +2 -1
  248. package/dist/domain/javascript/javascriptSemanticCalls.js +2 -1
  249. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +2 -1
  250. package/dist/domain/javascript/javascriptSemanticDataEffects.js +1 -1
  251. package/dist/domain/javascript/javascriptSemanticGraph.js +88 -46
  252. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +77 -20
  253. package/dist/domain/javascript/javascriptSemanticMutationValues.js +21 -27
  254. package/dist/domain/javascript/javascriptSemanticObjects.js +83 -42
  255. package/dist/domain/javascript/javascriptSemanticPrimitives.js +1 -12
  256. package/dist/domain/javascript/javascriptSemanticProjection.js +2 -3
  257. package/dist/domain/javascript/javascriptSemanticPromises.js +2 -1
  258. package/dist/domain/javascript/javascriptSemanticResourceLimits.js +1 -1
  259. package/dist/domain/javascript/javascriptSemanticResources.js +1 -1
  260. package/dist/domain/javascript/javascriptSemanticReturns.js +32 -17
  261. package/dist/domain/javascript/javascriptSemanticSlots.js +72 -0
  262. package/dist/domain/javascript/javascriptSemanticValues.js +47 -54
  263. package/dist/domain/javascript/javascriptSourceMapPaths.js +104 -0
  264. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +2 -1
  265. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +0 -1
  266. package/dist/domain/javascript/sourceToBundleComparison.js +12 -3
  267. package/dist/domain/javascript/sourceToBundleSignals.js +47 -19
  268. package/dist/domain/localPath.js +1 -1
  269. package/dist/domain/managed/managedArtifact.js +6 -4
  270. package/dist/domain/managed/managedMemberComparison.js +2 -9
  271. package/dist/domain/managed/managedNativeVerification.js +0 -2
  272. package/dist/domain/managed/managedNativeVerificationMatch.js +9 -3
  273. package/dist/domain/native/binaryLayout.js +2 -3
  274. package/dist/domain/native/nativeApiBoundary.js +1 -1
  275. package/dist/domain/native/nativeCallObservation.js +5 -3
  276. package/dist/domain/native/nativeInstruction.js +7 -0
  277. package/dist/domain/native/recordedCrash.js +2 -3
  278. package/dist/domain/offsetDateTime.js +17 -0
  279. package/dist/domain/process/processCapture.js +13 -12
  280. package/dist/domain/process/processCaptureCoverage.js +67 -0
  281. package/dist/domain/process/processCaptureExample.js +2 -1
  282. package/dist/domain/process/processCaptureParsing.js +1 -34
  283. package/dist/domain/process/processCaptureValidation.js +81 -13
  284. package/dist/domain/process/processComparison.js +41 -22
  285. package/dist/domain/process/processObservation.js +10 -2
  286. package/dist/domain/process/processScenario.js +24 -2
  287. package/dist/domain/process/processTraceComparison.js +0 -2
  288. package/dist/domain/process/processTraceDimensionProjection.js +1 -1
  289. package/dist/domain/process/processTraceEvaluation.js +15 -11
  290. package/dist/domain/process/processTraceSpecification.js +3 -4
  291. package/dist/domain/providerAdapterError.js +2 -0
  292. package/dist/domain/reconstructionCoverage.js +5 -2
  293. package/dist/domain/reconstructionObligationLedgerSchemas.js +2 -1
  294. package/dist/domain/reconstructionReadinessSchemas.js +2 -1
  295. package/dist/domain/reconstructionVerification.js +3 -3
  296. package/dist/domain/reconstructionVerificationSchemas.js +2 -1
  297. package/dist/domain/referenceSourceGraph.js +20 -21
  298. package/dist/domain/staticRuntimeCorrelation.js +2 -2
  299. package/dist/domain/stringPatterns.js +6 -0
  300. package/dist/domain/swiftSymbolClassification.js +61 -0
  301. package/dist/domain/symbolAnalysis.js +66 -18
  302. package/dist/domain/webCaptureDiff.js +0 -1
  303. package/dist/domain/webCaptureDiffSchemas.js +6 -3
  304. package/dist/domain/webEventListeners.js +3 -2
  305. package/dist/domain/webExecution.js +3 -2
  306. package/dist/domain/webRuntime.js +0 -2
  307. package/dist/domain/webScriptExport.js +1 -1
  308. package/dist/dotnet/ManagedArtifactInspector.js +2 -19
  309. package/dist/dotnet/ManagedMemberInspector.js +12 -18
  310. package/dist/dotnet/ManagedMemberInspectorCore.js +47 -44
  311. package/dist/dotnet/ManagedMemberRows.js +75 -62
  312. package/dist/dotnet/ManagedMetadataInventory.js +16 -22
  313. package/dist/dotnet/ManagedMethodBodyReader.js +4 -0
  314. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +109 -94
  315. package/dist/dotnet/ManagedNativeBoundaryInspector.js +12 -21
  316. package/dist/dotnet/ManagedReaderFailure.js +16 -0
  317. package/dist/dotnet/ManagedStaticProvider.js +3 -5
  318. package/dist/evaluation/AgentEvaluationFixtures.js +250 -0
  319. package/dist/evaluation/AgentEvaluationReport.js +28 -0
  320. package/dist/evaluation/CodexAgentEval.js +12 -8
  321. package/dist/evaluation/KnownAnswerEvaluation.js +281 -0
  322. package/dist/evm/EvmoleInterfaceProvider.js +2 -1
  323. package/dist/firmware/FirmwareCommand.js +9 -5
  324. package/dist/firmware/FirmwareProvider.js +4 -4
  325. package/dist/generatedPackageMetadata.js +2 -2
  326. package/dist/ghidra/GhidraAnalysisProfile.js +3 -6
  327. package/dist/ghidra/GhidraClient.js +91 -32
  328. package/dist/ghidra/GhidraClientStartup.js +0 -2
  329. package/dist/ghidra/GhidraDoctor.js +6 -5
  330. package/dist/ghidra/GhidraFunctionValues.js +3 -5
  331. package/dist/ghidra/GhidraInstallation.js +40 -12
  332. package/dist/ghidra/GhidraJavaLaunch.js +6 -2
  333. package/dist/ghidra/GhidraLauncher.js +15 -7
  334. package/dist/ghidra/GhidraProvider.js +6 -2
  335. package/dist/ghidra/GhidraProviderCapabilities.js +6 -0
  336. package/dist/ghidra/GhidraProviderClient.js +13 -3
  337. package/dist/ghidra/GhidraSessionError.js +2 -0
  338. package/dist/ghidra/GhidraSessionRoot.js +39 -0
  339. package/dist/ghidra/extensions/GhidraExtensions.js +17 -10
  340. package/dist/ghidra/extensions/nativeaot/NativeAotAdapter.js +8 -2
  341. package/dist/hopper/BridgeLauncher.js +34 -45
  342. package/dist/hopper/HopperAnalysisProfile.js +3 -8
  343. package/dist/hopper/HopperCleanup.js +56 -27
  344. package/dist/hopper/HopperClient.js +86 -65
  345. package/dist/hopper/HopperMachOImage.js +3 -2
  346. package/dist/hopper/HopperProvider.js +16 -18
  347. package/dist/hopper/HopperRegexSearch.js +3 -6
  348. package/dist/hopper/HopperTargetLease.js +132 -49
  349. package/dist/hopper/LinuxPrivateDisplayProbe.js +6 -0
  350. package/dist/ida/IdaConfiguration.js +8 -3
  351. package/dist/ida/IdaInput.js +1 -7
  352. package/dist/ida/IdaMcpConnection.js +8 -4
  353. package/dist/ida/IdaOperationRunner.js +3 -3
  354. package/dist/ida/IdaProvider.js +8 -12
  355. package/dist/ida/IdaSessionClient.js +20 -18
  356. package/dist/ida/IdaWorkspace.js +12 -13
  357. package/dist/inspector/V8InspectorCaptureProjection.js +1 -1
  358. package/dist/inspector/V8InspectorProvider.js +38 -28
  359. package/dist/javascript/recovery/WakaruCommand.js +7 -2
  360. package/dist/javascript/recovery/WakaruExecution.js +5 -2
  361. package/dist/main/shutdown.js +11 -3
  362. package/dist/main/startup.js +9 -2
  363. package/dist/main/transport.js +22 -2
  364. package/dist/main.js +11 -18
  365. package/dist/native/AppleMachoSelection.js +16 -6
  366. package/dist/native/CommandRunner.js +9 -7
  367. package/dist/native/LldbCallTracer.js +8 -2
  368. package/dist/native/NativeMacOSProvider.js +25 -15
  369. package/dist/native/NativeUiHelperRuntime.js +11 -2
  370. package/dist/native/NativeUiObservation.js +2 -2
  371. package/dist/native/pwntools/PwntoolsDecoder.js +2 -1
  372. package/dist/process/DarwinProcessRunTokenReader.js +16 -2
  373. package/dist/process/ExecFileOutput.js +88 -6
  374. package/dist/process/PrivateRuntimeRoot.js +10 -5
  375. package/dist/process/ProcessOwnership.js +1 -4
  376. package/dist/process/ProcessOwnershipObservation.js +11 -5
  377. package/dist/process/ProviderProcess.js +1 -3
  378. package/dist/process/capture/FilesystemSnapshot.js +50 -13
  379. package/dist/process/capture/ProcessCaptureError.js +13 -0
  380. package/dist/process/capture/ProcessCaptureLifecycle.js +158 -70
  381. package/dist/process/capture/ProcessFilesystemEffects.js +33 -3
  382. package/dist/process/capture/ProcessHarness.js +21 -25
  383. package/dist/process/capture/ProcessNormalization.js +20 -2
  384. package/dist/process/capture/ProcessSampling.js +25 -2
  385. package/dist/process/capture/TerminalRenderer.js +14 -0
  386. package/dist/process/snapshotEnvironment.js +14 -0
  387. package/dist/server/EvidenceMcpServer.js +25 -14
  388. package/dist/server/createServer.js +49 -36
  389. package/dist/server/mcpClientMetadata.js +12 -5
  390. package/dist/server/promptCompletion.js +3 -8
  391. package/dist/server/registerAnalysisViewTool.js +15 -0
  392. package/dist/server/registerAndroidTools.js +2 -3
  393. package/dist/server/registerApplicationTools/compareExportShapes.js +4 -5
  394. package/dist/server/registerApplicationTools/compareSourceToBundle.js +4 -5
  395. package/dist/server/registerApplicationTools/compareVersions.js +4 -5
  396. package/dist/server/registerApplicationTools/coverage.js +1 -2
  397. package/dist/server/registerApplicationTools/helpers.js +1 -2
  398. package/dist/server/registerApplicationTools/obligationLedger.js +4 -5
  399. package/dist/server/registerApplicationTools/projectMobileApplicationGraph.js +3 -4
  400. package/dist/server/registerApplicationTools/traceFeature.js +4 -5
  401. package/dist/server/registerApplicationTools/traceSemantics.js +4 -5
  402. package/dist/server/registerArtifactComparisonTool.js +4 -5
  403. package/dist/server/registerBinaryDiagnosticsTools.js +2 -3
  404. package/dist/server/registerBrowserScenarioTool.js +3 -4
  405. package/dist/server/registerBrowserTools.js +13 -16
  406. package/dist/server/registerBundleComparisonTool.js +5 -6
  407. package/dist/server/registerCloseLifecycleTool.js +2 -3
  408. package/dist/server/registerElectronTools.js +10 -13
  409. package/dist/server/registerEnhancedTools.js +23 -23
  410. package/dist/server/registerEvidenceTools.js +3 -4
  411. package/dist/server/registerEvmTools.js +2 -3
  412. package/dist/server/registerFirmwareTools.js +2 -3
  413. package/dist/server/registerFunctionComparisonTool.js +7 -8
  414. package/dist/server/registerInvestigationTools.js +14 -15
  415. package/dist/server/registerJavaScriptRecoveryTool.js +2 -3
  416. package/dist/server/registerJavaScriptRuntimeObservationTools.js +6 -6
  417. package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +5 -6
  418. package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +4 -5
  419. package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +6 -7
  420. package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +6 -7
  421. package/dist/server/registerOfficialTools.js +4 -19
  422. package/dist/server/registerProcessComparisonTool.js +8 -8
  423. package/dist/server/registerRecordedCrashTools.js +2 -3
  424. package/dist/server/registerSessionRecordTools.js +15 -19
  425. package/dist/server/registerSessionStatusTool.js +3 -4
  426. package/dist/server/registerSessionTools.js +12 -18
  427. package/dist/server/registerWebModuleTool.js +2 -3
  428. package/dist/server/registerWebNetworkCaptureTool.js +2 -3
  429. package/dist/server/registerWebRuntimeTools.js +4 -5
  430. package/dist/server/registerWebScriptTool.js +2 -3
  431. package/dist/server/registerWebSourceLocationTool.js +2 -3
  432. package/dist/server/toolResult.js +66 -94
  433. package/dist/server/toolResultEncoding.js +11 -10
  434. package/dist/windows/WindowsNativeLoader.js +1 -0
  435. package/dist/windows/WindowsOwnedProcess.js +60 -15
  436. package/dist/windows/WindowsPrivateRuntime.js +7 -8
  437. package/native/windows/README.md +3 -1
  438. package/native/windows/build/manifest.json +2 -2
  439. package/native/windows/build/rea-windows-x64.node +0 -0
  440. package/package.json +39 -30
  441. package/scripts/rea.mjs +3 -6
  442. package/skills/reverse-engineer-anything/SKILL.md +9 -8
  443. package/skills/reverse-engineer-anything/references/android-applications.md +6 -3
  444. package/skills/reverse-engineer-anything/references/evidence-workflows.md +8 -4
  445. package/skills/reverse-engineer-anything/references/javascript-applications.md +16 -6
  446. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +9 -0
  447. package/dist/config.js +0 -1
  448. package/dist/contracts/browserCaptureToolInputSchema.js +0 -43
  449. package/dist/contracts/process/processCaptureExample.js +0 -2
  450. package/dist/contracts/toolOutputSchemas.js +0 -2
  451. package/dist/main/reload.js +0 -12
  452. package/dist/main/state.js +0 -3
  453. package/dist/server/sessionToolPolicies.js +0 -2
@@ -0,0 +1,245 @@
1
+ import { createEvidence } from "../../domain/evidence.js";
2
+ import { createWebTextArtifact } from "../../domain/webContentArtifact.js";
3
+ import { analyzeJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js";
4
+ import { projectJavaScriptExportReturnShapes } from "../../domain/javascript/javascriptExportReturnShapeProjection.js";
5
+ import { completeApplicationCoverage, partialApplicationCoverage, } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js";
6
+ import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, } from "../../domain/javascript/javascriptApplicationGraph.js";
7
+ import { createJavaScriptSemanticGraph, createJavaScriptSemanticGraphNode, } from "../../domain/javascript/javascriptSemanticGraph.js";
8
+ import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascript/javascriptSemanticGraphSchemas.js";
9
+ import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascript/javascriptApplicationAnalysis.js";
10
+ // Inventory identities/counters captured from real analysis of these two sources.
11
+ // The inline example retains only source-derived export facts, with explicit gaps.
12
+ const captures = {
13
+ count: {
14
+ input_path: "/examples/javascript-export-presence/left",
15
+ root_artifact_sha256: "5005ebc2f35719a2fc014f19a81c669f3a1ab471b7245ef6985a111b6845a747",
16
+ inventory_manifest_id: "agm_f30ded9a83d43a3980417bbe63dfad569e83386f243c4d6a01af0166372cb9e6",
17
+ inventory_graph_sha256: "4b8aceaf67e43fd8317ec1f5fd1df5235f8fa402335accf011683e008c6bc62c",
18
+ },
19
+ total: {
20
+ input_path: "/examples/javascript-export-presence/right",
21
+ root_artifact_sha256: "269ae72a601ad5ac02f1c2dda6ff9accffa2d2e4f4a9e406facee0d5a78a5377",
22
+ inventory_manifest_id: "agm_d3ceaa1af38fb3474070ca25c0d4644282e5fb7d5824cee3e3a81391481e9fc1",
23
+ inventory_graph_sha256: "3e9bc926951480c35385efe5650d9d781631bd74c37a523d543b5fbe06b01ce6",
24
+ },
25
+ };
26
+ const summary = {
27
+ browser_windows: 0,
28
+ explicit_web_preferences: 0,
29
+ preload_entrypoints: 0,
30
+ context_bridge_apis: 0,
31
+ exposed_api_members: 0,
32
+ ipc: {
33
+ operations: 0,
34
+ literal_channels: 0,
35
+ dynamic_channel_operations: 0,
36
+ renderer_transmissions: 0,
37
+ renderer_listeners: 0,
38
+ main_handlers: 0,
39
+ paired_renderer_transmissions: 0,
40
+ ambiguous_renderer_transmissions: 0,
41
+ unpaired_literal_renderer_transmissions: 0,
42
+ },
43
+ sender_validation_observations: 0,
44
+ utility_processes: 0,
45
+ resolved_utility_entrypoints: 0,
46
+ native_addon_bindings: 0,
47
+ resolved_native_addon_bindings: 0,
48
+ };
49
+ const statistics = {
50
+ relevant_files: 1,
51
+ nested_asar_containers: 0,
52
+ text_bytes_read: 60,
53
+ invalid_utf8_files: 0,
54
+ parsed_javascript_files: 1,
55
+ visited_ast_nodes: 12,
56
+ findings: 1,
57
+ modules: 0,
58
+ parse_failures: 0,
59
+ truncated_scopes: 0,
60
+ };
61
+ const modulePath = "parser.mjs";
62
+ const limitations = [
63
+ "This example retains export and return-shape facts only; other application and semantic relationships are omitted.",
64
+ ];
65
+ const exampleEvidence = (property) => {
66
+ const metadata = captures[property];
67
+ const source = `export default () => ({ kind: "results", ${property}: query() });\n`;
68
+ const artifact = createWebTextArtifact(source, "text/javascript");
69
+ const ir = analyzeJavaScriptSemantics(source);
70
+ const link = ir.moduleLinks.find(({ exportedName }) => exportedName === "default");
71
+ if (link === undefined)
72
+ throw new Error("Example source must define a default export");
73
+ const coverage = ir.coverage.status === "complete"
74
+ ? completeApplicationCoverage()
75
+ : partialApplicationCoverage([], ir.coverage.omittedCount);
76
+ const projection = projectJavaScriptExportReturnShapes({
77
+ ir,
78
+ link,
79
+ modulePath,
80
+ baseCoverage: coverage,
81
+ });
82
+ if (projection === null)
83
+ throw new Error("Example export must retain return shapes");
84
+ const evidence = {
85
+ artifact: {
86
+ available: true,
87
+ artifact_id: `art_${artifact.sha256}`,
88
+ sha256: artifact.sha256,
89
+ },
90
+ location: {
91
+ available: true,
92
+ value: { kind: "source-range", source: modulePath, ...link.location },
93
+ },
94
+ extractor: {
95
+ name: "rea-javascript-artifact-reconstruction",
96
+ version: "1",
97
+ operation: "recover-module-export",
98
+ executable_sha256: null,
99
+ },
100
+ coverage,
101
+ limitations: ir.limitations,
102
+ evidence_ids: [],
103
+ };
104
+ const exported = createJavaScriptApplicationNode({
105
+ kind: "javascript-module",
106
+ identity: {
107
+ strategy: "artifact-local-key",
108
+ stability: "artifact-version",
109
+ artifact_sha256: artifact.sha256,
110
+ namespace: "module-export",
111
+ key: `${metadata.root_artifact_sha256}:${modulePath}:default`,
112
+ },
113
+ observations: [
114
+ {
115
+ label: `${modulePath}:default`,
116
+ properties: {
117
+ semantic_role: "export-binding",
118
+ module_path: modulePath,
119
+ relationship_kind: link.kind,
120
+ exported_name: link.exportedName,
121
+ local_name: link.localName,
122
+ imported_name: link.importedName,
123
+ declared_specifier: link.specifier,
124
+ },
125
+ evidence: {
126
+ ...evidence,
127
+ authority: "ast-static-analysis",
128
+ state: "observed",
129
+ confidence: "exact",
130
+ },
131
+ },
132
+ {
133
+ label: `${modulePath}:default:return-shapes`,
134
+ properties: projection.properties,
135
+ evidence: {
136
+ ...evidence,
137
+ authority: "static-relationship-inference",
138
+ state: "inferred",
139
+ confidence: "high",
140
+ location: {
141
+ available: true,
142
+ value: {
143
+ kind: "source-range",
144
+ source: modulePath,
145
+ ...projection.range,
146
+ },
147
+ },
148
+ extractor: {
149
+ ...evidence.extractor,
150
+ operation: "recover-export-return-shapes",
151
+ },
152
+ coverage: projection.coverage,
153
+ limitations: projection.limitations,
154
+ },
155
+ },
156
+ ],
157
+ });
158
+ const graph = createJavaScriptApplicationGraph({
159
+ schema: "JavaScriptApplicationGraph",
160
+ root_node_ids: [exported.node_id],
161
+ nodes: [exported],
162
+ edges: [],
163
+ coverage: partialApplicationCoverage([], null),
164
+ limitations,
165
+ });
166
+ const module = createJavaScriptSemanticGraphNode({
167
+ kind: "module",
168
+ identity: {
169
+ artifact_sha256: artifact.sha256,
170
+ module_path: modulePath,
171
+ source_range: null,
172
+ role_key: "example-module",
173
+ },
174
+ function_node_id: null,
175
+ application_node_ids: [exported.node_id],
176
+ label: modulePath,
177
+ properties: {},
178
+ evidence: {
179
+ ...evidence,
180
+ authority: "ast-static-analysis",
181
+ state: "observed",
182
+ confidence: "exact",
183
+ },
184
+ });
185
+ const semanticGraph = createJavaScriptSemanticGraph({
186
+ schema: "JavaScriptSemanticRelationGraph",
187
+ root_artifact_sha256: metadata.root_artifact_sha256,
188
+ application_graph_id: graph.graph_id,
189
+ root_node_ids: [module.node_id],
190
+ nodes: [module],
191
+ relations: [],
192
+ fingerprints: [],
193
+ unknowns: [],
194
+ coverage: {
195
+ status: "unknown",
196
+ truncated: false,
197
+ omitted_nodes: null,
198
+ omitted_relations: null,
199
+ limits: [],
200
+ families: JAVASCRIPT_SEMANTIC_RELATION_FAMILIES.map((family) => ({
201
+ family,
202
+ status: "unknown",
203
+ retained_relations: 0,
204
+ omitted_relations: null,
205
+ unknown_ids: [],
206
+ })),
207
+ },
208
+ limitations,
209
+ });
210
+ const result = javascriptApplicationAnalysisResultSchema.parse({
211
+ ...metadata,
212
+ format: "directory",
213
+ graph,
214
+ semantic_graph: semanticGraph,
215
+ summary,
216
+ statistics,
217
+ limitations,
218
+ });
219
+ return createEvidence({
220
+ path: result.input_path,
221
+ sha256: result.root_artifact_sha256,
222
+ format: "directory",
223
+ }, {
224
+ id: "rea-javascript-application",
225
+ name: "REA JavaScript application analyzer",
226
+ version: "1",
227
+ }, {
228
+ predicateType: "rea.javascript-application-analysis",
229
+ operation: "analyze_javascript_application",
230
+ parameters: {},
231
+ result,
232
+ confidence: "derived",
233
+ authority: "shipped-artifact",
234
+ limitations,
235
+ });
236
+ };
237
+ /** Source-derived tagged exports with known presence and unresolved values. */
238
+ export const JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE = {
239
+ left: exampleEvidence("count"),
240
+ right: exampleEvidence("total"),
241
+ left_module_path: modulePath,
242
+ left_export_name: "default",
243
+ right_module_path: modulePath,
244
+ right_export_name: "default",
245
+ };
@@ -1,5 +1,5 @@
1
1
  import { toolContractMetadata } from "../toolEffects.js";
2
- import { evidenceResultOf } from "../toolOutputSchemas.js";
2
+ import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js";
3
3
  import { javascriptRuntimeObservationSchema, javascriptRuntimeTargetListSchema, listJavaScriptRuntimeTargetsInputSchema, observeJavaScriptRuntimeInputSchema, } from "../../domain/javascript/javascriptRuntimeObservation.js";
4
4
  const endpoint = "http://127.0.0.1:9229";
5
5
  /** Passive Node/Electron V8 Inspector discovery and observation contracts. */
@@ -1,10 +1,10 @@
1
1
  import { z } from "zod";
2
- import { managedOutputSchemas } from "../toolOutputSchemas.js";
2
+ import { managedOutputSchemas } from "../toolOutputSchemaGroups.js";
3
3
  import { toolContractMetadata } from "../toolEffects.js";
4
4
  import { requireOutputSchema } from "../toolOutputSchemaPrimitives.js";
5
5
  import { isAbsoluteLocalPath, localPathStringSchema, } from "../../domain/localPath.js";
6
6
  /** Exact caller boundary for execution-free PE/CLI triage and identity. */
7
- const managedTargetInputSchema = z.strictObject({
7
+ export const managedTargetInputSchema = z.strictObject({
8
8
  path: localPathStringSchema
9
9
  .refine(isAbsoluteLocalPath, {
10
10
  message: "path must be an absolute local filesystem path (for example /tmp/Example.dll or C:\\Example.dll)",
@@ -12,11 +12,6 @@ const managedTargetInputSchema = z.strictObject({
12
12
  .describe("Explicit absolute managed PE/CLI path; omit to reuse the previously selected managed target")
13
13
  .optional(),
14
14
  });
15
- export const managedArtifactInputSchema = managedTargetInputSchema;
16
- /** Exact caller boundary for execution-free metadata/signature/IL inspection. */
17
- export const managedMemberInputSchema = managedTargetInputSchema;
18
- /** Exact caller boundary for execution-free managed/native boundary inspection. */
19
- export const managedNativeBoundaryInputSchema = managedTargetInputSchema;
20
15
  const outputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_artifact");
21
16
  const memberOutputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_members");
22
17
  const nativeBoundaryOutputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_native_boundaries");
@@ -27,7 +22,7 @@ export const MANAGED_TOOL_CONTRACTS = [
27
22
  ...toolContractMetadata("inspect_managed_artifact"),
28
23
  description: "Open and classify an explicit managed PE/CLI path, or inspect the active managed target, then inventory exact assembly/module identity, target framework evidence, references, resources, and custom attributes without loading or executing target code. Returns complete inline inventories when metadata is admitted and explicit partial or malformed coverage otherwise.",
29
24
  kind: "managed-provider",
30
- inputSchema: managedArtifactInputSchema,
25
+ inputSchema: managedTargetInputSchema,
31
26
  outputSchema,
32
27
  examples: [
33
28
  {
@@ -41,7 +36,7 @@ export const MANAGED_TOOL_CONTRACTS = [
41
36
  ...toolContractMetadata("inspect_managed_members"),
42
37
  description: "Inspect PE/CLI metadata members, signatures, raw CIL hashes, decoded-instruction-tuple hashes, separately reported exception regions, call edges, and field-access anchors without loading or executing target code. Metadata tokens are reported as build-local coordinates bound to the artifact SHA-256 and MVID; the tuple hash does not resolve them or fully commit control flow.",
43
38
  kind: "managed-provider",
44
- inputSchema: managedMemberInputSchema,
39
+ inputSchema: managedTargetInputSchema,
45
40
  outputSchema: memberOutputSchema,
46
41
  examples: [
47
42
  {
@@ -55,7 +50,7 @@ export const MANAGED_TOOL_CONTRACTS = [
55
50
  ...toolContractMetadata("inspect_managed_native_boundaries"),
56
51
  description: "Inspect PE/CLI ModuleRef, ImplMap/PInvoke declarations, CLI native-header indicators, and non-IL method implementation flags without loading or executing target code. Results are managed declarations and degraded native-boundary observations, not verified native exports or addresses.",
57
52
  kind: "managed-provider",
58
- inputSchema: managedNativeBoundaryInputSchema,
53
+ inputSchema: managedTargetInputSchema,
59
54
  outputSchema: nativeBoundaryOutputSchema,
60
55
  examples: [
61
56
  {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { evidenceSchema } from "../../domain/evidence.js";
3
3
  import { managedReconstructionImportInputSchema } from "../../domain/managed/managedReconstruction.js";
4
- import { managedWorkflowOutputSchemas } from "../toolOutputSchemas.js";
4
+ import { managedWorkflowOutputSchemas } from "../toolOutputSchemaGroups.js";
5
5
  import { MANAGED_MEMBER_COMPARISON_EXAMPLE, MANAGED_NATIVE_VERIFICATION_EXAMPLE, MANAGED_APPLICATION_GRAPH_EXAMPLE, MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE, } from "./managedWorkflowExamples.js";
6
6
  import { toolContractMetadata } from "../toolEffects.js";
7
7
  import { requireOutputSchema } from "../toolOutputSchemaPrimitives.js";
@@ -8,13 +8,11 @@ const inventory = (format, digit) => {
8
8
  const nodes = [
9
9
  {
10
10
  artifact_id: artifactId,
11
- kind: "resource",
12
- format,
11
+ format: format === "directory" ? "directory" : "zip",
13
12
  sha256: sha,
14
13
  size: 1,
15
14
  media_type: null,
16
15
  architecture: null,
17
- executable: false,
18
16
  content_state: "materialized",
19
17
  limitations: [],
20
18
  },
@@ -26,6 +24,8 @@ const inventory = (format, digit) => {
26
24
  parent_occurrence_id: null,
27
25
  logical_path: ".",
28
26
  entry_kind: "file",
27
+ artifact_kind: "resource",
28
+ artifact_format: format,
29
29
  declared_size: 1,
30
30
  compressed_size: null,
31
31
  executable: false,
@@ -1,7 +1,7 @@
1
1
  import { inspectRecordedCrashInputSchema, recordedCrashSchema, } from "../../domain/native/recordedCrash.js";
2
2
  import { inspectBinaryLayoutInputSchema, binaryLayoutSchema, } from "../../domain/native/binaryLayout.js";
3
3
  import { toolContractMetadata } from "../toolEffects.js";
4
- import { evidenceResultOf } from "../toolOutputSchemas.js";
4
+ import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js";
5
5
  /** Offline binary diagnostics are independent of macOS process/UI providers. */
6
6
  export const BINARY_DIAGNOSTICS_TOOL_CONTRACTS = [
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { nativeCallObservationInputSchema } from "../../domain/native/nativeCallObservation.js";
3
3
  import { nativeUiObservationInputSchema, nativeUiScenarioInputSchema, } from "../../domain/native/nativeUiObservation.js";
4
- import { nativeOutputSchemas } from "../toolOutputSchemas.js";
4
+ import { nativeOutputSchemas } from "../toolOutputSchemaGroups.js";
5
5
  import { jsonValueSchema } from "../../domain/jsonValue.js";
6
6
  import { localPathStringSchema } from "../../domain/localPath.js";
7
7
  import { toolContractMetadata } from "../toolEffects.js";
@@ -58,7 +58,7 @@ export const swiftSymbolsSchema = z
58
58
  .string()
59
59
  .min(1)
60
60
  .regex(/^[^\n]*$/u, "Each Swift symbol must be one line.")
61
- .regex(/^[^\0]*$/u, "Swift symbols cannot contain NUL."))
61
+ .regex(/^[^\u0000]*$/u, "Swift symbols cannot contain NUL."))
62
62
  .min(1);
63
63
  /** Provider-neutral semantic operations backed initially by macOS utilities. */
64
64
  export const NATIVE_TOOL_CONTRACTS = [
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { nativeFunctionAnnotationsInputSchema } from "../domain/native/nativeFunctionAnnotations.js";
3
- import { officialOutputSchemas, requireOutputSchema, } from "./toolOutputSchemas.js";
3
+ import { officialOutputSchemas } from "./toolOutputSchemaGroups.js";
4
+ import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js";
4
5
  import { address, document, examplesFor, optionalAddress, procedure, } from "./toolContractHelpers.js";
5
6
  import { toolContractMetadata } from "./toolEffects.js";
6
7
  import { nativeDataTypeInputSchema } from "../domain/native/nativeDataType.js";
@@ -64,8 +64,8 @@ export const PROMPT_CONTRACTS = [
64
64
  instruction: "Search relevant strings or procedures and analyze the matching procedures; pass names or addresses directly when already known.",
65
65
  },
66
66
  {
67
- tools: ["trace_application_feature"],
68
- instruction: "When application-graph Evidence is relevant, trace a route, API, channel, module, string, or native export across layers.",
67
+ tools: ["inspect_analysis_view", "trace_application_feature"],
68
+ instruction: "When inspect_binary_layout or analyze_javascript_application Evidence is already retained, call inspect_analysis_view with that evidence_id for a summary, one section/symbol/module, or a stable page. Do not re-run the producer. Use trace_application_feature once a route, API, channel, module, string, or native export seed is known.",
69
69
  },
70
70
  {
71
71
  tools: [
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  export const analysisProviderIdSchema = z
4
4
  .string()
5
5
  .min(1)
6
- .regex(/^[a-z][a-z0-9-]*$/u)
6
+ .regex(/^[a-z][a-z0-9\x2d]*$/u)
7
7
  .refine((value) => value !== "auto", {
8
8
  message: "auto is reserved for provider selection",
9
9
  });
@@ -1,7 +1,19 @@
1
1
  import { z } from "zod";
2
2
  import { isAbsoluteLocalPath, localPathStringSchema, } from "../domain/localPath.js";
3
- import { sessionOutputSchemas, requireOutputSchema, } from "./toolOutputSchemas.js";
4
- import { addressContextInputSchema, artifactComparisonInputSchema, binarySessionInputSchema, bundleComparisonInputSchema, callPathInputSchema, changedBehaviorInputSchema, closeBinaryInputSchema, functionComparisonInputSchema, importEvidenceBundleInputSchema, listUnknownsInputSchema, navigationContextInputSchema, openBinaryInputSchema, processComparisonInputSchema, processScenarioSchema, reconstructionVerificationInputSchema, recordUnknownInputSchema, getEvidenceBundleInputSchema, staticRuntimeCorrelationInputSchema, updateUnknownInputSchema, verifyUnknownResolutionInputSchema, } from "./sessionToolSchemas.js";
3
+ import { artifactComparisonInputSchema } from "../domain/artifactComparison.js";
4
+ import { bundleComparisonInputSchema } from "../domain/bundleComparison.js";
5
+ import { callPathInputSchema } from "../domain/callPathSchemas.js";
6
+ import { changedBehaviorInputSchema } from "../domain/changedBehavior.js";
7
+ import { functionComparisonInputSchema } from "../domain/functionComparisonSchemas.js";
8
+ import { processScenarioSchema } from "../domain/process/processScenario.js";
9
+ import { recordUnknownInputSchema, updateUnknownInputSchema, } from "../domain/residualUnknown.js";
10
+ import { reconstructionVerificationInputSchema } from "../domain/reconstructionVerificationSchemas.js";
11
+ import { staticRuntimeCorrelationInputSchema } from "../domain/staticRuntimeCorrelation.js";
12
+ import { sessionOutputSchemas } from "./toolOutputSchemaGroups.js";
13
+ import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js";
14
+ import { closeBinaryInputSchema, openBinaryInputSchema, } from "./sessionLifecycleInputs.js";
15
+ import { binarySessionInputSchema } from "./sessionStatusContract.js";
16
+ import { addressContextInputSchema, importEvidenceBundleInputSchema, listUnknownsInputSchema, navigationContextInputSchema, processComparisonInputSchema, getEvidenceBundleInputSchema, verifyUnknownResolutionInputSchema, } from "./sessionToolSchemas.js";
5
17
  import { examplesFor } from "./toolContractHelpers.js";
6
18
  import { toolContractMetadata } from "./toolEffects.js";
7
19
  const session = (name, description, inputSchema) => ({
@@ -1,19 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { isAbsoluteLocalPath, localPathStringSchema, } from "../domain/localPath.js";
3
- import { artifactComparisonInputSchema } from "../domain/artifactComparison.js";
4
- import { bundleComparisonInputSchema } from "../domain/bundleComparison.js";
5
- import { callPathInputSchema } from "../domain/callPath.js";
6
- import { changedBehaviorInputSchema } from "../domain/changedBehavior.js";
7
- import { functionComparisonInputSchema } from "../domain/functionComparison.js";
8
- import { processScenarioSchema } from "../domain/process/processCapture.js";
9
- import { processTraceSpecificationSchema } from "../domain/process/processTraceComparison.js";
10
- import { recordUnknownInputSchema } from "../domain/residualUnknown.js";
11
- import { reconstructionVerificationInputSchema } from "../domain/reconstructionVerification.js";
12
- import { staticRuntimeCorrelationInputSchema } from "../domain/staticRuntimeCorrelation.js";
3
+ import { processTraceSpecificationSchema } from "../domain/process/processTraceSpecification.js";
13
4
  import { evidenceSchema } from "../domain/evidence.js";
14
- import { updateUnknownInputSchema } from "../domain/residualUnknown.js";
15
- import { openBinaryInputSchema, closeBinaryInputSchema, } from "./sessionLifecycleInputs.js";
16
- import { binarySessionInputSchema } from "./sessionStatusContract.js";
17
5
  import { prefixedDigestSchema } from "./../domain/digests.js";
18
6
  /** Return the current canonical Evidence bundle inline. */
19
7
  export const getEvidenceBundleInputSchema = z.strictObject({});
@@ -53,4 +41,3 @@ export const listUnknownsInputSchema = z.strictObject({
53
41
  export const verifyUnknownResolutionInputSchema = z.strictObject({
54
42
  unknown_id: prefixedDigestSchema("unk"),
55
43
  });
56
- export { artifactComparisonInputSchema, binarySessionInputSchema, bundleComparisonInputSchema, callPathInputSchema, changedBehaviorInputSchema, closeBinaryInputSchema, functionComparisonInputSchema, openBinaryInputSchema, processScenarioSchema, reconstructionVerificationInputSchema, recordUnknownInputSchema, staticRuntimeCorrelationInputSchema, updateUnknownInputSchema, };
@@ -1,4 +1,5 @@
1
1
  import { EVM_TOOL_CONTRACTS } from "./evm/evmToolContracts.js";
2
+ import { ANALYSIS_VIEW_TOOL_CONTRACTS } from "./analysisViewToolContracts.js";
2
3
  import { BINARY_DIAGNOSTICS_TOOL_CONTRACTS } from "./native/binaryDiagnosticsToolContracts.js";
3
4
  import { NATIVE_TOOL_CONTRACTS } from "./native/nativeToolContracts.js";
4
5
  import { ARTIFACT_TOOL_CONTRACTS } from "./artifactToolContracts.js";
@@ -23,6 +24,7 @@ export const TOOL_CONTRACTS = [
23
24
  ...ENHANCED_TOOL_CONTRACTS,
24
25
  ...NATIVE_TOOL_CONTRACTS,
25
26
  ...BINARY_DIAGNOSTICS_TOOL_CONTRACTS,
27
+ ...ANALYSIS_VIEW_TOOL_CONTRACTS,
26
28
  ...ARTIFACT_TOOL_CONTRACTS,
27
29
  ...EVM_TOOL_CONTRACTS,
28
30
  ...MANAGED_TOOL_CONTRACTS,
@@ -57,6 +57,7 @@ export const TOOL_EFFECTS = {
57
57
  writesFilesystem: true,
58
58
  launchesProcess: true,
59
59
  }),
60
+ inspect_analysis_view: evidence,
60
61
  inspect_firmware_regions: effects({
61
62
  mutatesSession: true,
62
63
  launchesProcess: true,