rea-agents 6.1.0 → 6.3.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 (573) hide show
  1. package/README.md +24 -24
  2. package/bridge/ghidra/ReaGhidraBridge.java +32 -4
  3. package/bridge/hopper_bridge.py +8 -1
  4. package/dist/android/JadxConfiguration.js +87 -7
  5. package/dist/android/JadxMcpTransport.js +14 -2
  6. package/dist/android/JadxProvider.js +64 -36
  7. package/dist/android/JadxSession.js +51 -9
  8. package/dist/application/BinaryTargetResolver.js +68 -20
  9. package/dist/application/BrowserEvidence.js +3 -8
  10. package/dist/application/BrowserScenarioEvidence.js +4 -20
  11. package/dist/application/CapabilityInventory.js +43 -9
  12. package/dist/application/ClientConfigurationDocument.js +97 -25
  13. package/dist/application/ClientRegistrationStatus.js +19 -6
  14. package/dist/application/DirectAnalysis.js +41 -20
  15. package/dist/application/DirectAnalysisCleanup.js +71 -0
  16. package/dist/application/DirectAnalysisStatus.js +3 -7
  17. package/dist/application/Doctor.js +40 -53
  18. package/dist/application/DoctorDiagnostics.js +2 -3
  19. package/dist/application/EnhancedTools.js +51 -6
  20. package/dist/application/EvidenceBundleFiles.js +8 -3
  21. package/dist/application/InvestigationProviders.js +13 -5
  22. package/dist/application/JsonFiles.js +56 -23
  23. package/dist/application/LinuxHopper.js +11 -7
  24. package/dist/application/MacHopper.js +15 -18
  25. package/dist/application/RealHopperAssertions.js +0 -11
  26. package/dist/application/ReconstructionObligationCandidates.js +10 -3
  27. package/dist/application/ReconstructionObligationLedgerProjection.js +3 -1
  28. package/dist/application/ReferenceSourceImportEntries.js +1 -1
  29. package/dist/application/RegularFileRead.js +17 -0
  30. package/dist/application/Setup.js +26 -23
  31. package/dist/application/SetupClientConfiguration.js +18 -7
  32. package/dist/application/SetupHost.js +20 -29
  33. package/dist/application/SetupPlan.js +24 -20
  34. package/dist/application/SetupSkill.js +57 -8
  35. package/dist/application/SupportedClients.js +43 -0
  36. package/dist/application/Uninstall.js +98 -30
  37. package/dist/application/UpdateMaintenance.js +13 -7
  38. package/dist/application/UpdateRuntime.js +12 -12
  39. package/dist/application/Utf8JsonInput.js +64 -0
  40. package/dist/application/WebScriptExportService.js +38 -5
  41. package/dist/application/WorkflowEvidence.js +25 -2
  42. package/dist/application/XrefsAddressResolution.js +45 -0
  43. package/dist/application/analysisView/AnalysisViewService.js +76 -0
  44. package/dist/application/android/AndroidAnalysisService.js +1 -1
  45. package/dist/application/binary/AnalysisClientCleanup.js +30 -5
  46. package/dist/application/binary/AnalysisProviderEvaluation.js +1 -2
  47. package/dist/application/binary/AnalysisProviderRegistry.js +2 -6
  48. package/dist/application/binary/AnalysisSnapshotCache.js +13 -10
  49. package/dist/application/binary/BinarySession.js +86 -29
  50. package/dist/application/binary/BinarySessionComposition.js +1 -3
  51. package/dist/application/binary/BinarySessionExecution.js +3 -5
  52. package/dist/application/binary/BinarySessionOpen.js +10 -2
  53. package/dist/application/binary/BinarySessionRecords.js +1 -1
  54. package/dist/application/binary/BinarySessionStatus.js +1 -6
  55. package/dist/application/binary/CompositeProvider.js +4 -18
  56. package/dist/application/binary/LazyAnalysisProvider.js +5 -5
  57. package/dist/application/binary/SessionProviderRouter.js +27 -135
  58. package/dist/application/homebrew.js +48 -0
  59. package/dist/application/javascript/ElectronActiveEvidence.js +10 -14
  60. package/dist/application/javascript/ElectronBoundaryAnalysis.js +2 -2
  61. package/dist/application/javascript/ElectronBoundaryGraphNative.js +5 -1
  62. package/dist/application/javascript/JavaScriptApplicationEvidence.js +3 -6
  63. package/dist/application/javascript/JavaScriptApplicationEvidenceGraph.js +107 -46
  64. package/dist/application/javascript/JavaScriptApplicationService.js +7 -1
  65. package/dist/application/javascript/JavaScriptApplicationWorkflowService.js +59 -45
  66. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +5 -9
  67. package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +19 -27
  68. package/dist/application/javascript/JavaScriptArtifactGraphBundlers.js +11 -3
  69. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +9 -0
  70. package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +8 -5
  71. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +46 -29
  72. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +0 -1
  73. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +86 -27
  74. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +52 -9
  75. package/dist/application/javascript/JavaScriptArtifactReconstructionInput.js +1 -0
  76. package/dist/application/javascript/JavaScriptJsonModules.js +2 -2
  77. package/dist/application/javascript/JavaScriptModuleRelationships.js +6 -18
  78. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +3 -3
  79. package/dist/application/javascript/JavaScriptRuntimeReconciliationService.js +11 -27
  80. package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +4 -5
  81. package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +8 -6
  82. package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +2 -3
  83. package/dist/application/javascript/JavaScriptSemanticGraphConstruction.js +7 -5
  84. package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +3 -4
  85. package/dist/application/javascript/JavaScriptSemanticGraphEvidence.js +1 -1
  86. package/dist/application/javascript/JavaScriptSemanticGraphFingerprintProjection.js +2 -2
  87. package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +3 -7
  88. package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +76 -47
  89. package/dist/application/javascript/JavaScriptSemanticGraphProjection.js +4 -4
  90. package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +3 -4
  91. package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +51 -25
  92. package/dist/application/javascript/JavaScriptSemanticTraceService.js +15 -10
  93. package/dist/application/managed/ManagedMemberComparisonService.js +2 -1
  94. package/dist/application/managed/ManagedNativeVerificationService.js +2 -1
  95. package/dist/application/native/NativeCallRoutes.js +2 -4
  96. package/dist/application/process/ProcessCli.js +11 -11
  97. package/dist/application/process/ProcessEvidence.js +0 -1
  98. package/dist/artifacts/ArtifactProvider.js +53 -30
  99. package/dist/artifacts/ArtifactProviderMetadata.js +1 -4
  100. package/dist/artifacts/ArtifactReader.js +31 -0
  101. package/dist/artifacts/AsarArtifactReader.js +81 -17
  102. package/dist/artifacts/DirectoryArtifactReader.js +2 -1
  103. package/dist/artifacts/MachOSliceArtifactReader.js +9 -2
  104. package/dist/artifacts/NativeDmgArtifactReader.js +207 -77
  105. package/dist/artifacts/NativeDmgOwnership.js +109 -0
  106. package/dist/artifacts/SafeOutputTree.js +16 -2
  107. package/dist/artifacts/ZipArtifactReader.js +11 -4
  108. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +4 -2
  109. package/dist/artifacts/apple/DylibResolutionReader.js +17 -7
  110. package/dist/artifacts/apple/KeyedArchiveReader.js +68 -42
  111. package/dist/artifacts/apple/MachoLoadCommandReader.js +36 -6
  112. package/dist/artifacts/extraction/ArtifactExtraction.js +104 -29
  113. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +71 -66
  114. package/dist/artifacts/inventory/ArtifactInventory.js +0 -1
  115. package/dist/artifacts/inventory/classify.js +33 -14
  116. package/dist/artifacts/inventory/hashStableRootArtifact.js +37 -0
  117. package/dist/artifacts/inventory/reader.js +3 -3
  118. package/dist/artifacts/inventory/scanCanonical.js +64 -34
  119. package/dist/artifacts/inventory/scanReader.js +12 -20
  120. package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +65 -27
  121. package/dist/browser/BrowserScenarioPartialObservation.js +106 -0
  122. package/dist/browser/CdpBrowserProvider.js +6 -6
  123. package/dist/browser/CdpCaptureEventHandlers.js +2 -4
  124. package/dist/browser/CdpCaptureEvents.js +0 -1
  125. package/dist/browser/CdpCaptureStorageFingerprints.js +3 -3
  126. package/dist/browser/CdpCaptureValues.js +20 -0
  127. package/dist/browser/CdpElectronInspection.js +2 -2
  128. package/dist/browser/CdpElectronProvider.js +4 -5
  129. package/dist/browser/CdpElectronScriptEvents.js +2 -8
  130. package/dist/browser/CdpElectronScripts.js +4 -5
  131. package/dist/browser/CdpPageCaptureScripts.js +2 -3
  132. package/dist/browser/CdpSafeMetadata.js +10 -10
  133. package/dist/browser/CdpWebMcpDiscovery.js +16 -13
  134. package/dist/browser/PlaywrightBrowserScenarioProvider.js +64 -49
  135. package/dist/browser/PlaywrightElectronActiveActions.js +2 -56
  136. package/dist/browser/PlaywrightElectronActiveProvider.js +10 -6
  137. package/dist/browser/PlaywrightScenarioArtifacts.js +1 -1
  138. package/dist/browser/PlaywrightScenarioBrowser.js +269 -66
  139. package/dist/browser/PlaywrightScenarioEvents.js +1 -1
  140. package/dist/browser/PlaywrightScenarioSession.js +41 -32
  141. package/dist/browser/WebSourceMapFetcher.js +32 -6
  142. package/dist/browser/assets/ScenarioScriptCapture.js +8 -12
  143. package/dist/browser/assets/ScriptCaptureAdapters.js +1 -1
  144. package/dist/browser/history/CaptureFailures.js +6 -2
  145. package/dist/browser/history/MitmproxyCaptureAdapter.js +4 -2
  146. package/dist/catalogIdentity.js +0 -1
  147. package/dist/cli/analysisViewCommands.js +36 -0
  148. package/dist/cli/artifactCommands.js +11 -12
  149. package/dist/cli/coreAnalysisCommands.js +3 -3
  150. package/dist/cli/coreBinaryCommands.js +37 -28
  151. package/dist/cli/coreNativeCommands.js +9 -10
  152. package/dist/cli/electronCommands.js +12 -13
  153. package/dist/cli/interactiveSetup.js +6 -6
  154. package/dist/cli/javascriptApplicationAnalysis.js +2 -12
  155. package/dist/cli/jsonOutput.js +3 -2
  156. package/dist/cli/managedCommands.js +7 -8
  157. package/dist/cli/nativeCallCommands.js +1 -2
  158. package/dist/cli/omittableDefaults.js +50 -0
  159. package/dist/cli/processCommands.js +3 -2
  160. package/dist/cli/setupCommands.js +16 -15
  161. package/dist/cli/streamedJsonOutput.js +83 -4
  162. package/dist/cli/utilityCommands.js +10 -12
  163. package/dist/cli.js +19 -8
  164. package/dist/cliBrowserScenarioCommands.js +2 -2
  165. package/dist/cliCommandNames.js +1 -0
  166. package/dist/cliJsonFile.js +179 -0
  167. package/dist/cliJsonInput.js +60 -33
  168. package/dist/cliObservationOptions.js +4 -0
  169. package/dist/cliOutput.js +0 -38
  170. package/dist/composition/auxiliaryAnalysisProviders.js +30 -25
  171. package/dist/composition/binary.js +9 -9
  172. package/dist/composition/browserScenario.js +2 -1
  173. package/dist/composition/directAnalysis.js +20 -14
  174. package/dist/composition/electronScenario.js +1 -1
  175. package/dist/composition/optionalObservationProviders.js +12 -7
  176. package/dist/config/environment.js +6 -0
  177. package/dist/config/ghidraStartupTimeout.js +4 -9
  178. package/dist/config/homeDirectory.js +12 -0
  179. package/dist/config/mcpResponseBudget.js +9 -1
  180. package/dist/config/parseConfig.js +7 -3
  181. package/dist/config/parsers.js +19 -22
  182. package/dist/contracts/analysisViewToolContracts.js +56 -0
  183. package/dist/contracts/applicationToolContracts.js +5 -4
  184. package/dist/contracts/artifactComparisonExample.js +7 -7
  185. package/dist/contracts/artifactToolContracts.js +1 -1
  186. package/dist/contracts/browserScenarioToolContracts.js +1 -1
  187. package/dist/contracts/browserToolContracts.js +19 -15
  188. package/dist/contracts/enhancedInputs.js +2 -2
  189. package/dist/contracts/enhancedToolContracts.js +4 -3
  190. package/dist/contracts/errorSchemas.js +3 -1
  191. package/dist/contracts/evm/evmToolContracts.js +1 -1
  192. package/dist/contracts/functionComparisonExample.js +8 -0
  193. package/dist/contracts/functionWorkflowToolContracts.js +1 -1
  194. package/dist/contracts/inputSchemaPresentation.js +181 -0
  195. package/dist/contracts/investigationExamples.js +4 -3
  196. package/dist/contracts/javascript/electronToolContracts.js +3 -2
  197. package/dist/contracts/javascript/javascriptApplicationWorkflowExamples.js +3 -22
  198. package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +248 -0
  199. package/dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js +1 -1
  200. package/dist/contracts/javascript/javascriptRuntimeReconciliationExample.js +8 -7
  201. package/dist/contracts/managed/managedToolContracts.js +8 -12
  202. package/dist/contracts/managed/managedWorkflowToolContracts.js +1 -1
  203. package/dist/contracts/mobileApplicationGraphExamples.js +8 -8
  204. package/dist/contracts/native/binaryDiagnosticsToolContracts.js +1 -1
  205. package/dist/contracts/native/nativeToolContracts.js +2 -2
  206. package/dist/contracts/officialToolContracts.js +2 -1
  207. package/dist/contracts/promptContracts.js +2 -2
  208. package/dist/contracts/providerSelection.js +1 -1
  209. package/dist/contracts/sessionLifecycleInputs.js +4 -3
  210. package/dist/contracts/sessionStatusContract.js +3 -2
  211. package/dist/contracts/sessionToolContracts.js +17 -4
  212. package/dist/contracts/sessionToolSchemas.js +4 -16
  213. package/dist/contracts/toolContracts.js +2 -0
  214. package/dist/contracts/toolEffects.js +1 -0
  215. package/dist/contracts/toolOutputSchemaGroups.js +138 -94
  216. package/dist/contracts/toolOutputSchemaPrimitives.js +13 -26
  217. package/dist/contracts/toolSchemaMetadata.js +18 -69
  218. package/dist/contracts/webNetworkCaptureToolContracts.js +1 -1
  219. package/dist/contracts/webRuntimeToolContracts.js +1 -1
  220. package/dist/contracts/webScriptToolContracts.js +1 -1
  221. package/dist/doctorRuntime.js +7 -5
  222. package/dist/domain/analysisErrorBase.js +5 -0
  223. package/dist/domain/analysisErrorCore.js +3 -0
  224. package/dist/domain/analysisErrorPresentation.js +22 -5
  225. package/dist/domain/analysisErrorProjection.js +24 -5
  226. package/dist/domain/analysisSnapshot.js +31 -31
  227. package/dist/domain/analysisView/analysisView.js +241 -0
  228. package/dist/domain/analysisView/analysisViewCoverage.js +19 -0
  229. package/dist/domain/analysisView/binaryLayoutView.js +159 -0
  230. package/dist/domain/analysisView/javascriptApplicationView.js +238 -0
  231. package/dist/domain/android/androidApplication.js +1 -1
  232. package/dist/domain/android/androidPartialObservation.js +36 -0
  233. package/dist/domain/apple/appleApplication.js +1 -1
  234. package/dist/domain/apple/dylibResolution.js +10 -3
  235. package/dist/domain/apple/interfaceBuilderGraph.js +0 -1
  236. package/dist/domain/apple/keyedArchive.js +26 -2
  237. package/dist/domain/artifactComparison.js +15 -6
  238. package/dist/domain/artifactGraph.js +17 -4
  239. package/dist/domain/artifactIdentity.js +8 -8
  240. package/dist/domain/artifactInspection.js +8 -8
  241. package/dist/domain/artifactInventoryEvidence.js +9 -16
  242. package/dist/domain/artifactOperationError.js +3 -3
  243. package/dist/domain/artifactPartialObservation.js +1 -0
  244. package/dist/domain/artifactPathSyntax.js +49 -0
  245. package/dist/domain/binaryTarget.js +39 -13
  246. package/dist/domain/browserCaptureComparison.js +13 -49
  247. package/dist/domain/browserCompleteness.js +3 -2
  248. package/dist/domain/browserNetworkEvidence.js +10 -4
  249. package/dist/domain/browserObservation.js +0 -1
  250. package/dist/domain/browserObservationSchemas.js +14 -3
  251. package/dist/domain/browserScenario.js +0 -1
  252. package/dist/domain/browserScenarioCapture.js +1 -2
  253. package/dist/domain/browserScenarioCaptureValues.js +2 -2
  254. package/dist/domain/browserScenarioDiff.js +0 -2
  255. package/dist/domain/browserScenarioDiffEvidence.js +0 -12
  256. package/dist/domain/browserScenarioDiffValues.js +2 -2
  257. package/dist/domain/browserScenarioNormalization.js +3 -3
  258. package/dist/domain/browserScenarioValues.js +6 -6
  259. package/dist/domain/callPath.js +15 -18
  260. package/dist/domain/callPathSchemas.js +2 -2
  261. package/dist/domain/canonicalDigest.js +7 -1
  262. package/dist/domain/canonicalOrdering.js +1 -13
  263. package/dist/domain/changedBehavior.js +5 -6
  264. package/dist/domain/comparisonSemantics.js +0 -5
  265. package/dist/domain/completionLedgerGeneration.js +2 -1
  266. package/dist/domain/configurationErrors.js +12 -0
  267. package/dist/domain/conformancePackage.js +4 -3
  268. package/dist/domain/digests.js +0 -3
  269. package/dist/domain/evidence.js +19 -40
  270. package/dist/domain/evidenceBundle.js +58 -42
  271. package/dist/domain/evidenceCompletionLedger.js +2 -1
  272. package/dist/domain/firmware/firmwareAnalysis.js +4 -3
  273. package/dist/domain/functionComparison.js +6 -6
  274. package/dist/domain/functionComparisonDimensions.js +120 -87
  275. package/dist/domain/functionComparisonNormalization.js +26 -36
  276. package/dist/domain/functionComparisonResults.js +3 -6
  277. package/dist/domain/functionComparisonSchemas.js +2 -8
  278. package/dist/domain/functionDossierEvidence.js +4 -38
  279. package/dist/domain/hopperValues.js +11 -15
  280. package/dist/domain/javascript/electronActiveObservation.js +29 -71
  281. package/dist/domain/javascript/electronObservation.js +14 -3
  282. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +12 -11
  283. package/dist/domain/javascript/electronStaticAnalysisIpc.js +11 -2
  284. package/dist/domain/javascript/electronStaticAnalysisNative.js +7 -4
  285. package/dist/domain/javascript/electronStaticAnalysisValues.js +8 -4
  286. package/dist/domain/javascript/javascriptApplicationAnalysis.js +3 -1
  287. package/dist/domain/javascript/javascriptApplicationChangeGraph.js +12 -8
  288. package/dist/domain/javascript/javascriptApplicationEvidenceSchemas.js +6 -0
  289. package/dist/domain/javascript/javascriptApplicationGraph.js +41 -16
  290. package/dist/domain/javascript/javascriptApplicationGraphSchemas.js +9 -2
  291. package/dist/domain/javascript/javascriptApplicationVersionComparison.js +4 -4
  292. package/dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js +37 -22
  293. package/dist/domain/javascript/javascriptApplicationVersionItems.js +50 -36
  294. package/dist/domain/javascript/javascriptApplicationVersionKeys.js +9 -8
  295. package/dist/domain/javascript/javascriptAstFingerprint.js +2 -2
  296. package/dist/domain/javascript/javascriptAstValues.js +22 -0
  297. package/dist/{application/javascript/JavaScriptReturnShapeProjection.js → domain/javascript/javascriptExportReturnShapeProjection.js} +4 -4
  298. package/dist/domain/javascript/javascriptExportShapeComparison.js +10 -3
  299. package/dist/domain/javascript/javascriptExportShapeComparisonIdentity.js +6 -1
  300. package/dist/domain/javascript/javascriptExportShapeComparisonSchemas.js +58 -22
  301. package/dist/domain/javascript/javascriptExportShapeSelection.js +7 -7
  302. package/dist/domain/javascript/javascriptExportShapeVariants.js +70 -16
  303. package/dist/domain/javascript/javascriptFeatureSeed.js +25 -3
  304. package/dist/domain/javascript/javascriptFeatureTrace.js +7 -6
  305. package/dist/domain/javascript/javascriptFeatureTraceSchemas.js +17 -9
  306. package/dist/domain/javascript/javascriptFeatureTraversal.js +4 -5
  307. package/dist/domain/javascript/javascriptNativeHandoff.js +7 -7
  308. package/dist/domain/javascript/javascriptRuntimeLoadState.js +0 -1
  309. package/dist/domain/javascript/javascriptRuntimeObservation.js +18 -7
  310. package/dist/domain/javascript/javascriptRuntimeReconciliation.js +12 -6
  311. package/dist/domain/javascript/javascriptRuntimeReconciliationActive.js +9 -8
  312. package/dist/domain/javascript/javascriptRuntimeReconciliationCaptureParsing.js +212 -0
  313. package/dist/domain/javascript/javascriptRuntimeReconciliationGraph.js +5 -4
  314. package/dist/domain/javascript/javascriptRuntimeReconciliationInputValidation.js +28 -0
  315. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +6 -6
  316. package/dist/domain/javascript/javascriptRuntimeReconciliationParsing.js +12 -222
  317. package/dist/domain/javascript/javascriptRuntimeReconciliationResult.js +2 -2
  318. package/dist/domain/javascript/javascriptRuntimeReconciliationRuntime.js +15 -4
  319. package/dist/domain/javascript/javascriptRuntimeReconciliationSchemas.js +2 -2
  320. package/dist/domain/javascript/javascriptRuntimeStaticCandidates.js +7 -7
  321. package/dist/domain/javascript/javascriptSemanticAnalysis.js +209 -11
  322. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +2 -1
  323. package/dist/domain/javascript/javascriptSemanticCallResolution.js +9 -7
  324. package/dist/domain/javascript/javascriptSemanticCalls.js +2 -1
  325. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +4 -3
  326. package/dist/domain/javascript/javascriptSemanticCoverage.js +20 -0
  327. package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +7 -9
  328. package/dist/domain/javascript/javascriptSemanticDataEffects.js +4 -11
  329. package/dist/domain/javascript/javascriptSemanticFingerprints.js +2 -2
  330. package/dist/domain/javascript/javascriptSemanticGraph.js +220 -71
  331. package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +19 -1
  332. package/dist/domain/javascript/javascriptSemanticIr.js +0 -4
  333. package/dist/domain/javascript/javascriptSemanticIterationSources.js +106 -0
  334. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +515 -74
  335. package/dist/domain/javascript/javascriptSemanticMutationInitializers.js +190 -0
  336. package/dist/domain/javascript/javascriptSemanticMutationValues.js +44 -36
  337. package/dist/domain/javascript/javascriptSemanticObjects.js +79 -42
  338. package/dist/domain/javascript/javascriptSemanticPrimitives.js +8 -14
  339. package/dist/domain/javascript/javascriptSemanticProjection.js +21 -16
  340. package/dist/domain/javascript/javascriptSemanticPromises.js +16 -21
  341. package/dist/domain/javascript/javascriptSemanticPropertyPaths.js +23 -0
  342. package/dist/domain/javascript/javascriptSemanticProvenance.js +3 -3
  343. package/dist/domain/javascript/javascriptSemanticQuery.js +8 -2
  344. package/dist/domain/javascript/javascriptSemanticQueryIdentity.js +3 -2
  345. package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +8 -9
  346. package/dist/domain/javascript/javascriptSemanticRequireOrigin.js +16 -10
  347. package/dist/domain/javascript/javascriptSemanticResourceLimits.js +1 -1
  348. package/dist/domain/javascript/javascriptSemanticResources.js +1 -1
  349. package/dist/domain/javascript/javascriptSemanticReturns.js +55 -44
  350. package/dist/domain/javascript/javascriptSemanticSlots.js +72 -0
  351. package/dist/domain/javascript/javascriptSemanticTraversal.js +6 -1
  352. package/dist/domain/javascript/javascriptSemanticValues.js +180 -76
  353. package/dist/domain/javascript/javascriptSourceMapPaths.js +114 -0
  354. package/dist/domain/javascript/javascriptSourceParser.js +34 -9
  355. package/dist/domain/javascript/javascriptStaticAnalysisBundler.js +5 -6
  356. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +2 -1
  357. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +26 -16
  358. package/dist/domain/javascript/sourceToBundleComparison.js +19 -8
  359. package/dist/domain/javascript/sourceToBundleSignals.js +53 -25
  360. package/dist/domain/jsonSerialization.js +109 -55
  361. package/dist/domain/jsonShape.js +46 -19
  362. package/dist/domain/localPath.js +10 -4
  363. package/dist/domain/managed/managedApplicationGraph.js +10 -6
  364. package/dist/domain/managed/managedApplicationGraphNodes.js +82 -57
  365. package/dist/domain/managed/managedArtifact.js +6 -4
  366. package/dist/domain/managed/managedMemberComparison.js +2 -9
  367. package/dist/domain/managed/managedMemberComparisonMatch.js +6 -7
  368. package/dist/domain/managed/managedNativeVerification.js +0 -2
  369. package/dist/domain/managed/managedNativeVerificationMatch.js +9 -3
  370. package/dist/domain/native/binaryLayout.js +2 -3
  371. package/dist/domain/native/nativeApiBoundary.js +1 -1
  372. package/dist/domain/native/nativeCallObservation.js +3 -3
  373. package/dist/domain/native/nativeInstruction.js +7 -0
  374. package/dist/domain/native/nativeValueFlow.js +5 -11
  375. package/dist/domain/native/objcSwiftMetadata.js +15 -17
  376. package/dist/domain/native/recordedCrash.js +2 -3
  377. package/dist/domain/offsetDateTime.js +17 -0
  378. package/dist/domain/process/processCapture.js +22 -20
  379. package/dist/domain/process/processCaptureCoverage.js +70 -0
  380. package/dist/domain/process/processCaptureExample.js +45 -1
  381. package/dist/domain/process/processCaptureParsing.js +1 -34
  382. package/dist/domain/process/processCaptureValidation.js +82 -13
  383. package/dist/domain/process/processComparison.js +39 -43
  384. package/dist/domain/process/processObservation.js +10 -2
  385. package/dist/domain/process/processScenario.js +24 -2
  386. package/dist/domain/process/processTraceComparison.js +0 -2
  387. package/dist/domain/process/processTraceDimensionProjection.js +1 -1
  388. package/dist/domain/process/processTraceEvaluation.js +19 -15
  389. package/dist/domain/process/processTraceSpecification.js +4 -7
  390. package/dist/domain/providerAdapterError.js +2 -0
  391. package/dist/domain/providerCleanupError.js +6 -2
  392. package/dist/domain/reconstructionCoverage.js +7 -3
  393. package/dist/domain/reconstructionObligationLedgerSchemas.js +2 -1
  394. package/dist/domain/reconstructionReadinessSchemas.js +2 -1
  395. package/dist/domain/reconstructionUnknowns.js +4 -3
  396. package/dist/domain/reconstructionVerification.js +6 -5
  397. package/dist/domain/reconstructionVerificationSchemas.js +2 -1
  398. package/dist/domain/referenceSourceGraph.js +27 -28
  399. package/dist/domain/referenceSourceImportParsing.js +34 -45
  400. package/dist/domain/residualUnknown.js +3 -2
  401. package/dist/domain/staticRuntimeCorrelation.js +4 -3
  402. package/dist/domain/stringPatterns.js +6 -0
  403. package/dist/domain/swiftSymbolClassification.js +66 -0
  404. package/dist/domain/symbolAnalysis.js +83 -20
  405. package/dist/domain/unicodeCodePointOrder.js +6 -0
  406. package/dist/domain/webBundleAnalyzerInspection.js +9 -1
  407. package/dist/domain/webCaptureDiff.js +71 -30
  408. package/dist/domain/webCaptureDiffSchemas.js +8 -11
  409. package/dist/domain/webEventListeners.js +3 -2
  410. package/dist/domain/webExecution.js +3 -2
  411. package/dist/domain/webInventory.js +3 -2
  412. package/dist/domain/webMcpDiscovery.js +4 -3
  413. package/dist/domain/webRuntime.js +0 -2
  414. package/dist/domain/webScriptExport.js +2 -2
  415. package/dist/dotnet/ManagedArtifactInspector.js +2 -19
  416. package/dist/dotnet/ManagedMemberInspector.js +12 -18
  417. package/dist/dotnet/ManagedMemberInspectorCore.js +47 -44
  418. package/dist/dotnet/ManagedMemberInstructionDecoder.js +1 -2
  419. package/dist/dotnet/ManagedMemberRows.js +75 -62
  420. package/dist/dotnet/ManagedMetadataInventory.js +16 -22
  421. package/dist/dotnet/ManagedMethodBodyReader.js +4 -0
  422. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +109 -94
  423. package/dist/dotnet/ManagedNativeBoundaryInspector.js +12 -21
  424. package/dist/dotnet/ManagedReaderFailure.js +16 -0
  425. package/dist/dotnet/ManagedStaticProvider.js +13 -12
  426. package/dist/dotnet/ManagedStaticProviderMetadata.js +1 -4
  427. package/dist/evaluation/AgentEvaluationFixtures.js +250 -0
  428. package/dist/evaluation/AgentEvaluationReport.js +28 -0
  429. package/dist/evaluation/CodexAgentEval.js +12 -8
  430. package/dist/evaluation/KnownAnswerEvaluation.js +281 -0
  431. package/dist/evm/EvmoleInterfaceProvider.js +2 -1
  432. package/dist/filesystem/RegularFile.js +41 -0
  433. package/dist/firmware/FirmwareCommand.js +9 -5
  434. package/dist/firmware/FirmwareProvider.js +4 -4
  435. package/dist/generatedPackageMetadata.js +2 -2
  436. package/dist/ghidra/GhidraAnalysisProfile.js +3 -6
  437. package/dist/ghidra/GhidraClient.js +105 -36
  438. package/dist/ghidra/GhidraClientStartup.js +0 -2
  439. package/dist/ghidra/GhidraDoctor.js +6 -5
  440. package/dist/ghidra/GhidraFunctionValues.js +3 -5
  441. package/dist/ghidra/GhidraInstallation.js +151 -22
  442. package/dist/ghidra/GhidraJavaLaunch.js +6 -2
  443. package/dist/ghidra/GhidraLauncher.js +58 -26
  444. package/dist/ghidra/GhidraProvider.js +6 -2
  445. package/dist/ghidra/GhidraProviderCapabilities.js +6 -0
  446. package/dist/ghidra/GhidraProviderClient.js +13 -3
  447. package/dist/ghidra/GhidraSessionError.js +2 -0
  448. package/dist/ghidra/GhidraSessionRoot.js +39 -0
  449. package/dist/ghidra/extensions/GhidraExtensions.js +17 -10
  450. package/dist/ghidra/extensions/nativeaot/NativeAotAdapter.js +8 -2
  451. package/dist/hopper/BridgeLauncher.js +34 -45
  452. package/dist/hopper/HopperAnalysisProfile.js +3 -8
  453. package/dist/hopper/HopperCleanup.js +56 -27
  454. package/dist/hopper/HopperClient.js +86 -65
  455. package/dist/hopper/HopperMachOImage.js +3 -2
  456. package/dist/hopper/HopperProvider.js +16 -18
  457. package/dist/hopper/HopperRegexSearch.js +3 -6
  458. package/dist/hopper/HopperTargetLease.js +132 -49
  459. package/dist/hopper/LinuxPrivateDisplayProbe.js +6 -0
  460. package/dist/ida/IdaConfiguration.js +8 -3
  461. package/dist/ida/IdaInput.js +1 -7
  462. package/dist/ida/IdaMcpConnection.js +8 -4
  463. package/dist/ida/IdaOperationRunner.js +5 -3
  464. package/dist/ida/IdaProvider.js +8 -12
  465. package/dist/ida/IdaSessionClient.js +24 -20
  466. package/dist/ida/IdaWorkspace.js +12 -13
  467. package/dist/inspector/JavaScriptRuntimeScope.js +9 -5
  468. package/dist/inspector/V8InspectorCaptureProjection.js +47 -14
  469. package/dist/inspector/V8InspectorProvider.js +97 -35
  470. package/dist/javascript/recovery/WakaruCommand.js +7 -2
  471. package/dist/javascript/recovery/WakaruExecution.js +5 -2
  472. package/dist/main/shutdown.js +81 -29
  473. package/dist/main/startup.js +9 -2
  474. package/dist/main/transport.js +23 -3
  475. package/dist/main.js +11 -18
  476. package/dist/native/AppleMachoSelection.js +16 -6
  477. package/dist/native/AppleObjcDispatchFacets.js +3 -3
  478. package/dist/native/AppleObjcProperties.js +17 -7
  479. package/dist/native/CommandRunner.js +9 -7
  480. package/dist/native/LldbCallTracer.js +249 -77
  481. package/dist/native/NativeMacOSProvider.js +32 -17
  482. package/dist/native/NativeMacOSProviderMetadata.js +1 -2
  483. package/dist/native/NativeUiHelperRuntime.js +11 -2
  484. package/dist/native/NativeUiObservation.js +2 -2
  485. package/dist/native/pwntools/PwntoolsDecoder.js +2 -1
  486. package/dist/process/DarwinProcessRunTokenReader.js +16 -2
  487. package/dist/process/ExecFileOutput.js +88 -6
  488. package/dist/process/PrivateRuntimeRoot.js +10 -5
  489. package/dist/process/ProcessOwnership.js +1 -4
  490. package/dist/process/ProcessOwnershipObservation.js +18 -16
  491. package/dist/process/ProviderProcess.js +1 -3
  492. package/dist/process/capture/FilesystemSnapshot.js +131 -24
  493. package/dist/process/capture/ProcessCaptureError.js +13 -0
  494. package/dist/process/capture/ProcessCaptureLifecycle.js +148 -74
  495. package/dist/process/capture/ProcessFilesystemEffects.js +51 -6
  496. package/dist/process/capture/ProcessHarness.js +16 -33
  497. package/dist/process/capture/ProcessNormalization.js +20 -2
  498. package/dist/process/capture/ProcessSampling.js +25 -2
  499. package/dist/process/capture/TerminalRenderer.js +14 -0
  500. package/dist/process/snapshotEnvironment.js +14 -0
  501. package/dist/server/EvidenceMcpServer.js +25 -14
  502. package/dist/server/analysisAdmission.js +8 -0
  503. package/dist/server/createServer.js +71 -59
  504. package/dist/server/mcpClientMetadata.js +12 -5
  505. package/dist/server/promptCompletion.js +3 -8
  506. package/dist/server/registerAnalysisViewTool.js +15 -0
  507. package/dist/server/registerAndroidTools.js +2 -3
  508. package/dist/server/registerApplicationTools/compareExportShapes.js +6 -6
  509. package/dist/server/registerApplicationTools/compareSourceToBundle.js +4 -5
  510. package/dist/server/registerApplicationTools/compareVersions.js +4 -5
  511. package/dist/server/registerApplicationTools/coverage.js +1 -2
  512. package/dist/server/registerApplicationTools/helpers.js +4 -4
  513. package/dist/server/registerApplicationTools/obligationLedger.js +4 -5
  514. package/dist/server/registerApplicationTools/projectMobileApplicationGraph.js +3 -4
  515. package/dist/server/registerApplicationTools/traceFeature.js +4 -5
  516. package/dist/server/registerApplicationTools/traceSemantics.js +4 -5
  517. package/dist/server/registerArtifactComparisonTool.js +4 -5
  518. package/dist/server/registerArtifactTools.js +2 -2
  519. package/dist/server/registerBinaryDiagnosticsTools.js +2 -3
  520. package/dist/server/registerBrowserScenarioTool.js +3 -4
  521. package/dist/server/registerBrowserTools.js +13 -16
  522. package/dist/server/registerBundleComparisonTool.js +5 -6
  523. package/dist/server/registerCloseLifecycleTool.js +8 -7
  524. package/dist/server/registerElectronTools.js +10 -13
  525. package/dist/server/registerEnhancedTools.js +82 -77
  526. package/dist/server/registerEvidenceTools.js +54 -47
  527. package/dist/server/registerEvmTools.js +2 -3
  528. package/dist/server/registerFirmwareTools.js +2 -3
  529. package/dist/server/registerFunctionComparisonTool.js +7 -8
  530. package/dist/server/registerInvestigationTools.js +14 -15
  531. package/dist/server/registerJavaScriptRecoveryTool.js +2 -3
  532. package/dist/server/registerJavaScriptRuntimeObservationTools.js +6 -6
  533. package/dist/server/registerManagedTools.js +7 -4
  534. package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +5 -6
  535. package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +4 -5
  536. package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +6 -7
  537. package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +6 -7
  538. package/dist/server/registerOfficialTools.js +32 -41
  539. package/dist/server/registerProcessComparisonTool.js +8 -8
  540. package/dist/server/registerRecordedCrashTools.js +2 -3
  541. package/dist/server/registerSessionRecordTools.js +15 -19
  542. package/dist/server/registerSessionStatusTool.js +3 -4
  543. package/dist/server/registerSessionTools.js +19 -19
  544. package/dist/server/registerWebModuleTool.js +2 -3
  545. package/dist/server/registerWebNetworkCaptureTool.js +2 -3
  546. package/dist/server/registerWebRuntimeTools.js +4 -5
  547. package/dist/server/registerWebScriptTool.js +2 -3
  548. package/dist/server/registerWebSourceLocationTool.js +2 -3
  549. package/dist/server/toolResult.js +66 -94
  550. package/dist/server/toolResultEncoding.js +11 -10
  551. package/dist/windows/WindowsNativeLoader.js +1 -0
  552. package/dist/windows/WindowsOwnedProcess.js +60 -15
  553. package/dist/windows/WindowsPrivateRuntime.js +7 -8
  554. package/native/windows/README.md +3 -1
  555. package/native/windows/build/manifest.json +2 -2
  556. package/native/windows/build/rea-windows-x64.node +0 -0
  557. package/package.json +42 -30
  558. package/scripts/rea.mjs +3 -6
  559. package/skills/reverse-engineer-anything/SKILL.md +14 -13
  560. package/skills/reverse-engineer-anything/references/android-applications.md +6 -3
  561. package/skills/reverse-engineer-anything/references/evidence-workflows.md +8 -4
  562. package/skills/reverse-engineer-anything/references/javascript-applications.md +16 -6
  563. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +18 -0
  564. package/dist/artifacts/inventory/policy.js +0 -2
  565. package/dist/config.js +0 -1
  566. package/dist/contracts/browserCaptureToolInputSchema.js +0 -43
  567. package/dist/contracts/process/processCaptureExample.js +0 -2
  568. package/dist/contracts/toolOutputSchemas.js +0 -2
  569. package/dist/domain/managed/managedApplicationGraphNodeCoverage.js +0 -6
  570. package/dist/main/reload.js +0 -12
  571. package/dist/main/state.js +0 -3
  572. package/dist/server/registerNativeTools.js +0 -6
  573. package/dist/server/sessionToolPolicies.js +0 -2
@@ -0,0 +1,248 @@
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, JavaScriptSemanticEvidenceContextRegistry, } 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
+ integrity_contradictions: [],
19
+ },
20
+ total: {
21
+ input_path: "/examples/javascript-export-presence/right",
22
+ root_artifact_sha256: "269ae72a601ad5ac02f1c2dda6ff9accffa2d2e4f4a9e406facee0d5a78a5377",
23
+ inventory_manifest_id: "agm_d3ceaa1af38fb3474070ca25c0d4644282e5fb7d5824cee3e3a81391481e9fc1",
24
+ inventory_graph_sha256: "3e9bc926951480c35385efe5650d9d781631bd74c37a523d543b5fbe06b01ce6",
25
+ integrity_contradictions: [],
26
+ },
27
+ };
28
+ const summary = {
29
+ browser_windows: 0,
30
+ explicit_web_preferences: 0,
31
+ preload_entrypoints: 0,
32
+ context_bridge_apis: 0,
33
+ exposed_api_members: 0,
34
+ ipc: {
35
+ operations: 0,
36
+ literal_channels: 0,
37
+ dynamic_channel_operations: 0,
38
+ renderer_transmissions: 0,
39
+ renderer_listeners: 0,
40
+ main_handlers: 0,
41
+ paired_renderer_transmissions: 0,
42
+ ambiguous_renderer_transmissions: 0,
43
+ unpaired_literal_renderer_transmissions: 0,
44
+ },
45
+ sender_validation_observations: 0,
46
+ utility_processes: 0,
47
+ resolved_utility_entrypoints: 0,
48
+ native_addon_bindings: 0,
49
+ resolved_native_addon_bindings: 0,
50
+ };
51
+ const statistics = {
52
+ relevant_files: 1,
53
+ nested_asar_containers: 0,
54
+ text_bytes_read: 60,
55
+ invalid_utf8_files: 0,
56
+ parsed_javascript_files: 1,
57
+ visited_ast_nodes: 12,
58
+ findings: 1,
59
+ modules: 0,
60
+ parse_failures: 0,
61
+ };
62
+ const modulePath = "parser.mjs";
63
+ const limitations = [
64
+ "This example retains export and return-shape facts only; other application and semantic relationships are omitted.",
65
+ ];
66
+ const exampleEvidence = (property) => {
67
+ const metadata = captures[property];
68
+ const source = `export default () => ({ kind: "results", ${property}: query() });\n`;
69
+ const artifact = createWebTextArtifact(source, "text/javascript");
70
+ const ir = analyzeJavaScriptSemantics(source);
71
+ const link = ir.moduleLinks.find(({ exportedName }) => exportedName === "default");
72
+ if (link === undefined)
73
+ throw new Error("Example source must define a default export");
74
+ const coverage = ir.coverage.status === "complete"
75
+ ? completeApplicationCoverage()
76
+ : partialApplicationCoverage([], ir.coverage.omittedCount);
77
+ const projection = projectJavaScriptExportReturnShapes({
78
+ ir,
79
+ link,
80
+ modulePath,
81
+ baseCoverage: coverage,
82
+ });
83
+ if (projection === null)
84
+ throw new Error("Example export must retain return shapes");
85
+ const evidence = {
86
+ artifact: {
87
+ available: true,
88
+ artifact_id: `art_${artifact.sha256}`,
89
+ sha256: artifact.sha256,
90
+ },
91
+ location: {
92
+ available: true,
93
+ value: { kind: "source-range", source: modulePath, ...link.location },
94
+ },
95
+ extractor: {
96
+ name: "rea-javascript-artifact-reconstruction",
97
+ version: "1",
98
+ operation: "recover-module-export",
99
+ executable_sha256: null,
100
+ },
101
+ coverage,
102
+ limitations: ir.limitations,
103
+ evidence_ids: [],
104
+ };
105
+ const exported = createJavaScriptApplicationNode({
106
+ kind: "javascript-module",
107
+ identity: {
108
+ strategy: "artifact-local-key",
109
+ stability: "artifact-version",
110
+ artifact_sha256: artifact.sha256,
111
+ namespace: "module-export",
112
+ key: `${metadata.root_artifact_sha256}:${modulePath}:default`,
113
+ },
114
+ observations: [
115
+ {
116
+ label: `${modulePath}:default`,
117
+ properties: {
118
+ semantic_role: "export-binding",
119
+ module_path: modulePath,
120
+ relationship_kind: link.kind,
121
+ exported_name: link.exportedName,
122
+ local_name: link.localName,
123
+ imported_name: link.importedName,
124
+ declared_specifier: link.specifier,
125
+ },
126
+ evidence: {
127
+ ...evidence,
128
+ authority: "ast-static-analysis",
129
+ state: "observed",
130
+ confidence: "exact",
131
+ },
132
+ },
133
+ {
134
+ label: `${modulePath}:default:return-shapes`,
135
+ properties: projection.properties,
136
+ evidence: {
137
+ ...evidence,
138
+ authority: "static-relationship-inference",
139
+ state: "inferred",
140
+ confidence: "high",
141
+ location: {
142
+ available: true,
143
+ value: {
144
+ kind: "source-range",
145
+ source: modulePath,
146
+ ...projection.range,
147
+ },
148
+ },
149
+ extractor: {
150
+ ...evidence.extractor,
151
+ operation: "recover-export-return-shapes",
152
+ },
153
+ coverage: projection.coverage,
154
+ limitations: projection.limitations,
155
+ },
156
+ },
157
+ ],
158
+ });
159
+ const graph = createJavaScriptApplicationGraph({
160
+ schema: "JavaScriptApplicationGraph",
161
+ root_node_ids: [exported.node_id],
162
+ nodes: [exported],
163
+ edges: [],
164
+ coverage: partialApplicationCoverage([], null),
165
+ limitations,
166
+ });
167
+ const evidenceContexts = new JavaScriptSemanticEvidenceContextRegistry();
168
+ const module = createJavaScriptSemanticGraphNode({
169
+ kind: "module",
170
+ identity: {
171
+ artifact_sha256: artifact.sha256,
172
+ module_path: modulePath,
173
+ source_range: null,
174
+ role_key: "example-module",
175
+ },
176
+ function_node_id: null,
177
+ application_node_ids: [exported.node_id],
178
+ label: modulePath,
179
+ properties: {},
180
+ evidence: {
181
+ ...evidence,
182
+ authority: "ast-static-analysis",
183
+ state: "observed",
184
+ confidence: "exact",
185
+ },
186
+ }, evidenceContexts);
187
+ const semanticGraph = createJavaScriptSemanticGraph({
188
+ schema: "JavaScriptSemanticRelationGraph",
189
+ root_artifact_sha256: metadata.root_artifact_sha256,
190
+ application_graph_id: graph.graph_id,
191
+ root_node_ids: [module.node_id],
192
+ evidence_contexts: evidenceContexts.contexts,
193
+ nodes: [module],
194
+ relations: [],
195
+ fingerprints: [],
196
+ unknowns: [],
197
+ coverage: {
198
+ status: "unknown",
199
+ truncated: false,
200
+ omitted_nodes: null,
201
+ omitted_relations: null,
202
+ limits: [],
203
+ families: JAVASCRIPT_SEMANTIC_RELATION_FAMILIES.map((family) => ({
204
+ family,
205
+ status: "unknown",
206
+ retained_relations: 0,
207
+ omitted_relations: null,
208
+ unknown_ids: [],
209
+ })),
210
+ },
211
+ limitations,
212
+ });
213
+ const result = javascriptApplicationAnalysisResultSchema.parse({
214
+ ...metadata,
215
+ format: "directory",
216
+ graph,
217
+ semantic_graph: semanticGraph,
218
+ summary,
219
+ statistics,
220
+ limitations,
221
+ });
222
+ return createEvidence({
223
+ path: result.input_path,
224
+ sha256: result.root_artifact_sha256,
225
+ format: "directory",
226
+ }, {
227
+ id: "rea-javascript-application",
228
+ name: "REA JavaScript application analyzer",
229
+ version: "1",
230
+ }, {
231
+ predicateType: "rea.javascript-application-analysis",
232
+ operation: "analyze_javascript_application",
233
+ parameters: {},
234
+ result,
235
+ confidence: "derived",
236
+ authority: "shipped-artifact",
237
+ limitations,
238
+ });
239
+ };
240
+ /** Source-derived tagged exports with known presence and unresolved values. */
241
+ export const JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE = {
242
+ left: exampleEvidence("count"),
243
+ right: exampleEvidence("total"),
244
+ left_module_path: modulePath,
245
+ left_export_name: "default",
246
+ right_module_path: modulePath,
247
+ right_export_name: "default",
248
+ };
@@ -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,7 +1,7 @@
1
1
  import { createEvidence } from "../../domain/evidence.js";
2
2
  import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, } from "../../domain/javascript/javascriptApplicationGraph.js";
3
3
  import { createWebTextArtifact } from "../../domain/webContentArtifact.js";
4
- import { createJavaScriptSemanticGraph, createJavaScriptSemanticGraphNode, } from "../../domain/javascript/javascriptSemanticGraph.js";
4
+ import { createJavaScriptSemanticGraph, createJavaScriptSemanticGraphNode, JavaScriptSemanticEvidenceContextRegistry, } from "../../domain/javascript/javascriptSemanticGraph.js";
5
5
  import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascript/javascriptSemanticGraphSchemas.js";
6
6
  const applicationSha256 = "1".repeat(64);
7
7
  const script = createWebTextArtifact("export const example = true;\n", "text/javascript");
@@ -59,6 +59,7 @@ const graph = createJavaScriptApplicationGraph({
59
59
  coverage: completeCoverage,
60
60
  limitations: [],
61
61
  });
62
+ const evidenceContexts = new JavaScriptSemanticEvidenceContextRegistry();
62
63
  const semanticNode = createJavaScriptSemanticGraphNode({
63
64
  kind: "module",
64
65
  identity: {
@@ -72,12 +73,13 @@ const semanticNode = createJavaScriptSemanticGraphNode({
72
73
  label: "renderer.js",
73
74
  properties: {},
74
75
  evidence: graphEvidence,
75
- });
76
+ }, evidenceContexts);
76
77
  const semanticGraph = createJavaScriptSemanticGraph({
77
78
  schema: "JavaScriptSemanticRelationGraph",
78
79
  root_artifact_sha256: applicationSha256,
79
80
  application_graph_id: graph.graph_id,
80
81
  root_node_ids: [semanticNode.node_id],
82
+ evidence_contexts: evidenceContexts.contexts,
81
83
  nodes: [semanticNode],
82
84
  relations: [],
83
85
  fingerprints: [],
@@ -98,7 +100,8 @@ const semanticGraph = createJavaScriptSemanticGraph({
98
100
  },
99
101
  limitations: ["Semantic relations are unavailable in this minimal example."],
100
102
  });
101
- const staticEvidence = createEvidence({ path: inputPath, sha256: applicationSha256, format: "directory" }, {
103
+ /** Minimal valid static application Evidence for graph workflow examples. */
104
+ export const JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE = createEvidence({ path: inputPath, sha256: applicationSha256, format: "directory" }, {
102
105
  id: "rea-javascript-application",
103
106
  name: "REA JavaScript application analyzer",
104
107
  version: "1",
@@ -112,6 +115,7 @@ const staticEvidence = createEvidence({ path: inputPath, sha256: applicationSha2
112
115
  root_artifact_sha256: applicationSha256,
113
116
  inventory_manifest_id: `agm_${"2".repeat(64)}`,
114
117
  inventory_graph_sha256: "3".repeat(64),
118
+ integrity_contradictions: [],
115
119
  graph,
116
120
  semantic_graph: semanticGraph,
117
121
  summary: {
@@ -147,15 +151,12 @@ const staticEvidence = createEvidence({ path: inputPath, sha256: applicationSha2
147
151
  findings: 0,
148
152
  modules: 0,
149
153
  parse_failures: 0,
150
- truncated_scopes: 0,
151
154
  },
152
155
  limitations: [],
153
156
  },
154
157
  confidence: "derived",
155
158
  authority: "shipped-artifact",
156
159
  });
157
- /** Minimal valid static application Evidence for graph workflow examples. */
158
- export const JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE = staticEvidence;
159
160
  const runtimeEvidence = createEvidence(undefined, {
160
161
  id: "rea-cdp-electron",
161
162
  name: "REA Electron file-page CDP observation provider",
@@ -215,7 +216,7 @@ const runtimeEvidence = createEvidence(undefined, {
215
216
  });
216
217
  /** Compact valid Evidence pair used by the public reconciliation contract. */
217
218
  export const JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE = {
218
- static_layers: [{ analysis: staticEvidence }],
219
+ static_layers: [{ analysis: JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE }],
219
220
  runtime_observations: [runtimeEvidence],
220
221
  };
221
222
  function browserCompleteness() {
@@ -1,22 +1,18 @@
1
1
  import { z } from "zod";
2
- import { managedOutputSchemas } from "../toolOutputSchemas.js";
2
+ import { isAbsolute } from "node:path";
3
+ import { managedOutputSchemas } from "../toolOutputSchemaGroups.js";
3
4
  import { toolContractMetadata } from "../toolEffects.js";
4
5
  import { requireOutputSchema } from "../toolOutputSchemaPrimitives.js";
5
- import { isAbsoluteLocalPath, localPathStringSchema, } from "../../domain/localPath.js";
6
+ import { localPathStringSchema } from "../../domain/localPath.js";
6
7
  /** Exact caller boundary for execution-free PE/CLI triage and identity. */
7
- const managedTargetInputSchema = z.strictObject({
8
+ export const managedTargetInputSchema = z.strictObject({
8
9
  path: localPathStringSchema
9
- .refine(isAbsoluteLocalPath, {
10
+ .refine(isAbsolute, {
10
11
  message: "path must be an absolute local filesystem path (for example /tmp/Example.dll or C:\\Example.dll)",
11
12
  })
12
13
  .describe("Explicit absolute managed PE/CLI path; omit to reuse the previously selected managed target")
13
14
  .optional(),
14
15
  });
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
16
  const outputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_artifact");
21
17
  const memberOutputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_members");
22
18
  const nativeBoundaryOutputSchema = requireOutputSchema(managedOutputSchemas, "inspect_managed_native_boundaries");
@@ -27,7 +23,7 @@ export const MANAGED_TOOL_CONTRACTS = [
27
23
  ...toolContractMetadata("inspect_managed_artifact"),
28
24
  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
25
  kind: "managed-provider",
30
- inputSchema: managedArtifactInputSchema,
26
+ inputSchema: managedTargetInputSchema,
31
27
  outputSchema,
32
28
  examples: [
33
29
  {
@@ -41,7 +37,7 @@ export const MANAGED_TOOL_CONTRACTS = [
41
37
  ...toolContractMetadata("inspect_managed_members"),
42
38
  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
39
  kind: "managed-provider",
44
- inputSchema: managedMemberInputSchema,
40
+ inputSchema: managedTargetInputSchema,
45
41
  outputSchema: memberOutputSchema,
46
42
  examples: [
47
43
  {
@@ -55,7 +51,7 @@ export const MANAGED_TOOL_CONTRACTS = [
55
51
  ...toolContractMetadata("inspect_managed_native_boundaries"),
56
52
  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
53
  kind: "managed-provider",
58
- inputSchema: managedNativeBoundaryInputSchema,
54
+ inputSchema: managedTargetInputSchema,
59
55
  outputSchema: nativeBoundaryOutputSchema,
60
56
  examples: [
61
57
  {
@@ -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";
@@ -1,20 +1,18 @@
1
- import { canonicalDigest } from "../domain/comparisonSemantics.js";
1
+ import { digestCanonicalValue } from "../domain/canonicalDigest.js";
2
2
  import { createEvidence } from "../domain/evidence.js";
3
3
  import { jsonValueSchema } from "../domain/jsonValue.js";
4
4
  const inventory = (format, digit) => {
5
5
  const sha = digit.repeat(64);
6
- const artifactId = `art_${canonicalDigest({ sha256: sha }, "Artifact inventory")}`;
7
- const occurrenceId = `occ_${canonicalDigest({ root: artifactId }, "Artifact inventory")}`;
6
+ const artifactId = `art_${digestCanonicalValue({ sha256: sha }, "Artifact inventory")}`;
7
+ const occurrenceId = `occ_${digestCanonicalValue({ root: artifactId }, "Artifact inventory")}`;
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,
@@ -35,7 +35,7 @@ const inventory = (format, digit) => {
35
35
  limitations: [],
36
36
  },
37
37
  ];
38
- const graphSha256 = canonicalDigest({
38
+ const graphSha256 = digestCanonicalValue({
39
39
  nodes,
40
40
  occurrences,
41
41
  edges: [],
@@ -43,7 +43,7 @@ const inventory = (format, digit) => {
43
43
  }, "Artifact inventory");
44
44
  return jsonValueSchema.parse({
45
45
  manifest: {
46
- manifest_id: `agm_${canonicalDigest({
46
+ manifest_id: `agm_${digestCanonicalValue({
47
47
  root_artifact_id: artifactId,
48
48
  graph_sha256: graphSha256,
49
49
  }, "Artifact inventory")}`,
@@ -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(/^[^\x00]*$/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,16 +1,17 @@
1
+ import { isAbsolute } from "node:path";
1
2
  import { executableFormatHintSchema } from "../domain/dosCom.js";
2
- import { isAbsoluteLocalPath, localPathStringSchema, } from "../domain/localPath.js";
3
+ import { localPathStringSchema } from "../domain/localPath.js";
3
4
  import { z } from "zod";
4
5
  import { analysisProviderSelectorSchema } from "./providerSelection.js";
5
6
  /** Caller-supplied analysis snapshot path; must name its destination absolutely. */
6
7
  const snapshotPathSchema = localPathStringSchema
7
- .refine(isAbsoluteLocalPath, {
8
+ .refine(isAbsolute, {
8
9
  message: "snapshot_path must be an absolute local filesystem path (for example /tmp/rea/analysis.json or C:\\rea\\analysis.json)",
9
10
  })
10
11
  .describe("Absolute local filesystem path for the analysis snapshot; relative paths are rejected.");
11
12
  /** Caller-supplied analysis target path; must name the target absolutely. */
12
13
  const binaryTargetPathSchema = localPathStringSchema
13
- .refine(isAbsoluteLocalPath, {
14
+ .refine(isAbsolute, {
14
15
  message: "path must be an absolute local filesystem path (for example /tmp/fixture.bin or C:\\analysis\\fixture.bin)",
15
16
  })
16
17
  .describe("Absolute local filesystem path for the analysis target; relative paths are rejected.");
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
- import { isAbsoluteLocalPath, localPathStringSchema, } from "../domain/localPath.js";
2
+ import { isAbsolute } from "node:path";
3
+ import { localPathStringSchema } from "../domain/localPath.js";
3
4
  /** Optional expectations used to compare the live session with its caller. */
4
5
  export const binarySessionInputSchema = z.strictObject({
5
6
  expected_package_version: z.string().min(1).optional(),
@@ -8,7 +9,7 @@ export const binarySessionInputSchema = z.strictObject({
8
9
  .regex(/^[a-f0-9]{64}$/u)
9
10
  .optional(),
10
11
  expected_server_path: localPathStringSchema
11
- .refine(isAbsoluteLocalPath, {
12
+ .refine(isAbsolute, {
12
13
  message: "expected_server_path must be an absolute local filesystem path (for example /opt/rea/dist/main.js)",
13
14
  })
14
15
  .describe("Absolute local filesystem path expected for the running server; relative paths are rejected.")
@@ -1,7 +1,20 @@
1
1
  import { z } from "zod";
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";
2
+ import { isAbsolute } from "node:path";
3
+ import { localPathStringSchema } from "../domain/localPath.js";
4
+ import { artifactComparisonInputSchema } from "../domain/artifactComparison.js";
5
+ import { bundleComparisonInputSchema } from "../domain/bundleComparison.js";
6
+ import { callPathInputSchema } from "../domain/callPathSchemas.js";
7
+ import { changedBehaviorInputSchema } from "../domain/changedBehavior.js";
8
+ import { functionComparisonInputSchema } from "../domain/functionComparisonSchemas.js";
9
+ import { processScenarioSchema } from "../domain/process/processScenario.js";
10
+ import { recordUnknownInputSchema, updateUnknownInputSchema, } from "../domain/residualUnknown.js";
11
+ import { reconstructionVerificationInputSchema } from "../domain/reconstructionVerificationSchemas.js";
12
+ import { staticRuntimeCorrelationInputSchema } from "../domain/staticRuntimeCorrelation.js";
13
+ import { sessionOutputSchemas } from "./toolOutputSchemaGroups.js";
14
+ import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js";
15
+ import { closeBinaryInputSchema, openBinaryInputSchema, } from "./sessionLifecycleInputs.js";
16
+ import { binarySessionInputSchema } from "./sessionStatusContract.js";
17
+ import { addressContextInputSchema, importEvidenceBundleInputSchema, listUnknownsInputSchema, navigationContextInputSchema, processComparisonInputSchema, getEvidenceBundleInputSchema, verifyUnknownResolutionInputSchema, } from "./sessionToolSchemas.js";
5
18
  import { examplesFor } from "./toolContractHelpers.js";
6
19
  import { toolContractMetadata } from "./toolEffects.js";
7
20
  const session = (name, description, inputSchema) => ({
@@ -16,7 +29,7 @@ const session = (name, description, inputSchema) => ({
16
29
  /** Session-owned Evidence bundle export options. */
17
30
  export const exportEvidenceBundleInputSchema = z.strictObject({
18
31
  path: localPathStringSchema
19
- .refine(isAbsoluteLocalPath, {
32
+ .refine(isAbsolute, {
20
33
  message: "path must be an absolute local filesystem path (for example /tmp/rea/evidence.json or C:\\rea\\evidence.json)",
21
34
  })
22
35
  .describe("Absolute local filesystem path for the exported evidence bundle; relative paths are rejected."),
@@ -1,19 +1,8 @@
1
1
  import { z } from "zod";
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";
2
+ import { isAbsolute } from "node:path";
3
+ import { localPathStringSchema } from "../domain/localPath.js";
4
+ import { processTraceSpecificationSchema } from "../domain/process/processTraceSpecification.js";
13
5
  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
6
  import { prefixedDigestSchema } from "./../domain/digests.js";
18
7
  /** Return the current canonical Evidence bundle inline. */
19
8
  export const getEvidenceBundleInputSchema = z.strictObject({});
@@ -29,7 +18,7 @@ export const addressContextInputSchema = z.strictObject({
29
18
  /** Session-owned Evidence bundle import options. */
30
19
  export const importEvidenceBundleInputSchema = z.strictObject({
31
20
  path: localPathStringSchema
32
- .refine(isAbsoluteLocalPath, {
21
+ .refine(isAbsolute, {
33
22
  message: "path must be an absolute local filesystem path (for example /tmp/evidence.json or C:\\rea\\evidence.json)",
34
23
  })
35
24
  .describe("Absolute local filesystem path for the evidence bundle to import; relative paths are rejected."),
@@ -53,4 +42,3 @@ export const listUnknownsInputSchema = z.strictObject({
53
42
  export const verifyUnknownResolutionInputSchema = z.strictObject({
54
43
  unknown_id: prefixedDigestSchema("unk"),
55
44
  });
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,