rea-agents 6.0.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 (611) hide show
  1. package/README.md +26 -18
  2. package/bridge/android/ReaJadxBridge.java +14 -5
  3. package/bridge/ghidra/ReaGhidraBridge.java +205 -51
  4. package/bridge/hopper_bridge.py +314 -127
  5. package/bridge/mitmproxy/capture.py +0 -2
  6. package/bridge/native/rea_lldb_tracer.py +630 -94
  7. package/bridge/process/ProcessRunTokenReader.swift +39 -5
  8. package/bridge/pwntools/recorded_crash_impl.py +4 -0
  9. package/dist/android/JadxConfiguration.js +274 -31
  10. package/dist/android/JadxMcpTransport.js +18 -2
  11. package/dist/android/JadxProtocol.js +6 -0
  12. package/dist/android/JadxProvider.js +76 -37
  13. package/dist/android/JadxSession.js +23 -4
  14. package/dist/application/AnalysisContextQueries.js +8 -35
  15. package/dist/application/AnalysisDocument.js +32 -0
  16. package/dist/application/AppBundleExecutable.js +67 -21
  17. package/dist/application/BinaryTargetResolver.js +5 -3
  18. package/dist/application/BrowserEvidence.js +3 -8
  19. package/dist/application/BrowserScenarioEvidence.js +2 -18
  20. package/dist/application/CallPathTracing.js +19 -3
  21. package/dist/application/CapabilityInventory.js +48 -11
  22. package/dist/application/ClientConfigurationDocument.js +917 -8
  23. package/dist/application/ClientRegistrationIdentity.js +26 -5
  24. package/dist/application/ClientRegistrationStatus.js +29 -14
  25. package/dist/application/DirectAnalysis.js +56 -51
  26. package/dist/application/DirectAnalysisCleanup.js +72 -0
  27. package/dist/application/DirectAnalysisStatus.js +4 -5
  28. package/dist/application/Doctor.js +19 -21
  29. package/dist/application/DoctorDiagnostics.js +1 -2
  30. package/dist/application/DoctorScope.js +25 -13
  31. package/dist/application/EnhancedLiteralTracing.js +22 -25
  32. package/dist/application/EnhancedTools.js +64 -17
  33. package/dist/application/EvidenceBundleFiles.js +30 -13
  34. package/dist/application/FunctionAnalysisEvidence.js +2 -3
  35. package/dist/application/InventoryProjectionEvidence.js +4 -3
  36. package/dist/application/InvestigationProviders.js +11 -2
  37. package/dist/application/JsonFiles.js +83 -28
  38. package/dist/application/LinuxHopper.js +9 -6
  39. package/dist/application/MacHopper.js +15 -18
  40. package/dist/application/ProcedureAddressResolution.js +11 -0
  41. package/dist/application/RealHopperAssertions.js +0 -11
  42. package/dist/application/ReconstructionCoverageService.js +7 -4
  43. package/dist/application/ReconstructionObligationCandidates.js +1 -1
  44. package/dist/application/ReconstructionObligationLedgerService.js +4 -3
  45. package/dist/application/ReferenceSourceImportEntries.js +1 -1
  46. package/dist/application/Setup.js +21 -17
  47. package/dist/application/SetupClientConfiguration.js +10 -15
  48. package/dist/application/SetupHost.js +21 -29
  49. package/dist/application/SetupPlan.js +11 -9
  50. package/dist/application/SupportedClients.js +34 -1
  51. package/dist/application/Uninstall.js +82 -29
  52. package/dist/application/Update.js +18 -3
  53. package/dist/application/UpdateMaintenance.js +7 -5
  54. package/dist/application/UpdateRuntime.js +57 -36
  55. package/dist/application/WebModuleTraceService.js +4 -2
  56. package/dist/application/WebNetworkCaptureService.js +4 -2
  57. package/dist/application/WebRuntimeService.js +5 -3
  58. package/dist/application/WebScriptExportService.js +32 -6
  59. package/dist/application/WebSourceLocationService.js +4 -2
  60. package/dist/application/WorkflowEvidence.js +105 -0
  61. package/dist/application/XrefsAddressResolution.js +45 -0
  62. package/dist/application/analysisView/AnalysisViewService.js +76 -0
  63. package/dist/application/binary/AnalysisClientCleanup.js +30 -5
  64. package/dist/application/binary/AnalysisProviderEvaluation.js +22 -7
  65. package/dist/application/binary/AnalysisProviderRegistry.js +4 -6
  66. package/dist/application/binary/AnalysisSnapshotCache.js +13 -14
  67. package/dist/application/binary/BinarySession.js +161 -93
  68. package/dist/application/binary/BinarySessionComposition.js +1 -3
  69. package/dist/application/binary/BinarySessionExecution.js +3 -5
  70. package/dist/application/binary/BinarySessionOpen.js +4 -4
  71. package/dist/application/binary/BinarySessionRecords.js +26 -4
  72. package/dist/application/binary/BinarySessionStatus.js +18 -7
  73. package/dist/application/binary/CompositeProvider.js +16 -17
  74. package/dist/application/binary/LazyAnalysisProvider.js +8 -5
  75. package/dist/application/binary/SessionProviderRouter.js +27 -135
  76. package/dist/application/binaryDiagnostics/BinaryLayoutService.js +4 -2
  77. package/dist/application/binaryDiagnostics/RecordedCrashService.js +4 -2
  78. package/dist/application/evm/EvmInterfaceService.js +4 -2
  79. package/dist/application/homebrew.js +48 -0
  80. package/dist/application/investigation/EvidenceLedger.js +21 -7
  81. package/dist/application/investigation/InvestigationRecords.js +8 -0
  82. package/dist/application/javascript/ElectronActiveEvidence.js +9 -13
  83. package/dist/application/javascript/JavaScriptAnalysisControl.js +34 -0
  84. package/dist/application/javascript/JavaScriptApplicationEvidence.js +21 -4
  85. package/dist/application/javascript/JavaScriptApplicationEvidenceGraph.js +19 -2
  86. package/dist/application/javascript/JavaScriptApplicationService.js +27 -15
  87. package/dist/application/javascript/JavaScriptApplicationWorkflowService.js +5 -5
  88. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +10 -7
  89. package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +44 -10
  90. package/dist/application/javascript/JavaScriptArtifactGraphBundlers.js +11 -3
  91. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +9 -0
  92. package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +8 -5
  93. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +12 -3
  94. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +0 -1
  95. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +49 -19
  96. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +56 -8
  97. package/dist/application/javascript/JavaScriptModuleRelationships.js +38 -9
  98. package/dist/application/javascript/JavaScriptRecoveryService.js +4 -2
  99. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +6 -4
  100. package/dist/application/javascript/JavaScriptRuntimeReconciliationService.js +3 -3
  101. package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +2 -3
  102. package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +63 -61
  103. package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +1 -2
  104. package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +2 -3
  105. package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +1 -5
  106. package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +75 -46
  107. package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +2 -3
  108. package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +64 -19
  109. package/dist/application/managed/ManagedApplicationGraphService.js +4 -3
  110. package/dist/application/managed/ManagedMemberComparisonService.js +9 -5
  111. package/dist/application/managed/ManagedNativeVerificationService.js +6 -4
  112. package/dist/application/managed/ManagedReconstructionService.js +4 -3
  113. package/dist/application/process/ProcessCli.js +25 -17
  114. package/dist/application/process/ProcessEvidence.js +4 -4
  115. package/dist/application/workflowInputError.js +18 -0
  116. package/dist/artifacts/ArtifactProvider.js +48 -13
  117. package/dist/artifacts/ArtifactReader.js +31 -0
  118. package/dist/artifacts/DirectoryArtifactReader.js +2 -1
  119. package/dist/artifacts/MachOSliceArtifactReader.js +106 -15
  120. package/dist/artifacts/NativeDmgArtifactReader.js +73 -21
  121. package/dist/artifacts/SafeOutputTree.js +16 -2
  122. package/dist/artifacts/ZipArtifactReader.js +11 -4
  123. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +26 -5
  124. package/dist/artifacts/apple/DylibResolutionReader.js +17 -7
  125. package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +176 -56
  126. package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +195 -0
  127. package/dist/artifacts/apple/KeyedArchiveReader.js +55 -23
  128. package/dist/artifacts/apple/MachoLoadCommandReader.js +92 -31
  129. package/dist/artifacts/apple/NibArchive.js +81 -14
  130. package/dist/artifacts/apple/NibViewHierarchy.js +10 -3
  131. package/dist/artifacts/apple/PlistNumberLiterals.js +164 -0
  132. package/dist/artifacts/extraction/ArtifactExtraction.js +78 -21
  133. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +79 -68
  134. package/dist/artifacts/inventory/ArtifactInventory.js +0 -1
  135. package/dist/artifacts/inventory/reader.js +3 -3
  136. package/dist/artifacts/inventory/scanCanonical.js +59 -38
  137. package/dist/artifacts/inventory/scanReader.js +5 -9
  138. package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +6 -2
  139. package/dist/browser/BrowserScenarioPartialObservation.js +106 -0
  140. package/dist/browser/CdpBrowserProvider.js +2 -3
  141. package/dist/browser/CdpCaptureCompleteness.js +2 -0
  142. package/dist/browser/CdpCaptureEventHandlers.js +78 -15
  143. package/dist/browser/CdpCaptureEventTypes.js +5 -1
  144. package/dist/browser/CdpCaptureEvents.js +25 -1
  145. package/dist/browser/CdpCaptureValues.js +20 -0
  146. package/dist/browser/CdpConnection.js +30 -11
  147. package/dist/browser/CdpElectronProvider.js +0 -2
  148. package/dist/browser/CdpElectronScriptEvents.js +2 -8
  149. package/dist/browser/CdpElectronScripts.js +2 -3
  150. package/dist/browser/CdpOptionalCommand.js +2 -3
  151. package/dist/browser/CdpPageCapture.js +23 -1
  152. package/dist/browser/CdpPageCaptureScripts.js +2 -3
  153. package/dist/browser/CdpSafeMetadata.js +10 -10
  154. package/dist/browser/PlaywrightBrowserScenarioProvider.js +59 -44
  155. package/dist/browser/PlaywrightElectronActiveActions.js +34 -79
  156. package/dist/browser/PlaywrightElectronActiveProjection.js +141 -0
  157. package/dist/browser/PlaywrightElectronActiveProvider.js +133 -130
  158. package/dist/browser/PlaywrightScenarioArtifacts.js +1 -1
  159. package/dist/browser/PlaywrightScenarioBrowser.js +139 -39
  160. package/dist/browser/PlaywrightScenarioEvents.js +1 -1
  161. package/dist/browser/PlaywrightScenarioSession.js +39 -22
  162. package/dist/browser/WebSourceMapFetcher.js +426 -72
  163. package/dist/browser/assets/LocalWebScriptArtifacts.js +2 -2
  164. package/dist/browser/assets/ScriptCaptureAdapters.js +1 -1
  165. package/dist/browser/history/CaptureFailures.js +41 -1
  166. package/dist/browser/history/CaptureRelease.js +5 -0
  167. package/dist/browser/history/HarCaptureAdapter.js +3 -3
  168. package/dist/browser/history/HarJson.js +3 -2
  169. package/dist/browser/history/HistoricalCaptureDecoder.js +4 -2
  170. package/dist/browser/history/MitmproxyCaptureAdapter.js +4 -2
  171. package/dist/catalogIdentity.js +0 -1
  172. package/dist/cli/analysisSelector.js +23 -0
  173. package/dist/cli/analysisViewCommands.js +36 -0
  174. package/dist/cli/applicationCommands.js +2 -3
  175. package/dist/cli/artifactCommands.js +11 -12
  176. package/dist/cli/coreAnalysisCommands.js +3 -3
  177. package/dist/cli/coreBinaryCommands.js +100 -37
  178. package/dist/cli/coreNativeCommands.js +9 -10
  179. package/dist/cli/electronCommands.js +10 -9
  180. package/dist/cli/interactiveSetup.js +6 -6
  181. package/dist/cli/javascriptApplicationAnalysis.js +7 -3
  182. package/dist/cli/jsonOutput.js +4 -99
  183. package/dist/cli/managedCommands.js +7 -8
  184. package/dist/cli/nativeCallCommands.js +3 -5
  185. package/dist/cli/omittableDefaults.js +50 -0
  186. package/dist/cli/processCommands.js +3 -2
  187. package/dist/cli/setupCommands.js +16 -15
  188. package/dist/cli/utilityCommands.js +9 -9
  189. package/dist/cli/webRuntimeCommands.js +8 -8
  190. package/dist/cli.js +18 -9
  191. package/dist/cliBrowserScenarioCommands.js +2 -2
  192. package/dist/cliCommandNames.js +1 -1
  193. package/dist/cliJsonInput.js +24 -5
  194. package/dist/cliOutput.js +0 -38
  195. package/dist/composition/auxiliaryAnalysisProviders.js +27 -23
  196. package/dist/composition/binary.js +9 -9
  197. package/dist/composition/browserScenario.js +2 -1
  198. package/dist/composition/directAnalysis.js +20 -13
  199. package/dist/composition/electronScenario.js +1 -1
  200. package/dist/composition/optionalObservationProviders.js +12 -7
  201. package/dist/config/environment.js +10 -0
  202. package/dist/config/ghidraStartupTimeout.js +12 -0
  203. package/dist/config/homeDirectory.js +12 -0
  204. package/dist/config/mcpResponseBudget.js +30 -0
  205. package/dist/config/parseConfig.js +8 -3
  206. package/dist/config/parsers.js +19 -22
  207. package/dist/contracts/analysisViewToolContracts.js +56 -0
  208. package/dist/contracts/applicationToolContracts.js +5 -4
  209. package/dist/contracts/artifactComparisonExample.js +2 -2
  210. package/dist/contracts/artifactToolContracts.js +1 -1
  211. package/dist/contracts/browserScenarioToolContracts.js +1 -1
  212. package/dist/contracts/browserToolContracts.js +19 -15
  213. package/dist/contracts/enhancedInputs.js +7 -5
  214. package/dist/contracts/enhancedToolContracts.js +7 -6
  215. package/dist/contracts/evm/evmToolContracts.js +1 -1
  216. package/dist/contracts/functionWorkflowToolContracts.js +1 -1
  217. package/dist/contracts/hopperMemoryContracts.js +2 -5
  218. package/dist/contracts/inputSchemaPresentation.js +90 -0
  219. package/dist/contracts/investigationExamples.js +4 -3
  220. package/dist/contracts/javascript/electronToolContracts.js +2 -2
  221. package/dist/contracts/javascript/javascriptApplicationWorkflowExamples.js +0 -20
  222. package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +245 -0
  223. package/dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js +1 -1
  224. package/dist/contracts/managed/managedToolContracts.js +7 -14
  225. package/dist/contracts/managed/managedWorkflowToolContracts.js +1 -1
  226. package/dist/contracts/mobileApplicationGraphExamples.js +3 -3
  227. package/dist/contracts/native/binaryDiagnosticsToolContracts.js +1 -1
  228. package/dist/contracts/native/nativeToolContracts.js +5 -3
  229. package/dist/contracts/officialToolContracts.js +16 -16
  230. package/dist/contracts/promptContracts.js +5 -5
  231. package/dist/contracts/providerSelection.js +1 -1
  232. package/dist/contracts/sessionLifecycleInputs.js +3 -7
  233. package/dist/contracts/sessionStatusContract.js +2 -4
  234. package/dist/contracts/sessionToolContracts.js +18 -8
  235. package/dist/contracts/sessionToolSchemas.js +3 -19
  236. package/dist/contracts/toolContractExamples.js +0 -1
  237. package/dist/contracts/toolContractHelpers.js +4 -1
  238. package/dist/contracts/toolContracts.js +2 -0
  239. package/dist/contracts/toolEffects.js +1 -1
  240. package/dist/contracts/toolOutputSchemaGroups.js +160 -115
  241. package/dist/contracts/toolOutputSchemaPrimitives.js +28 -20
  242. package/dist/contracts/toolSchemaMetadata.js +41 -33
  243. package/dist/contracts/webNetworkCaptureToolContracts.js +2 -2
  244. package/dist/contracts/webRuntimeToolContracts.js +1 -1
  245. package/dist/contracts/webScriptToolContracts.js +1 -1
  246. package/dist/doctorRuntime.js +7 -5
  247. package/dist/domain/analysisErrorBase.js +8 -3
  248. package/dist/domain/analysisErrorCore.js +6 -1
  249. package/dist/domain/analysisErrorPresentation.js +90 -20
  250. package/dist/domain/analysisErrorProjection.js +130 -32
  251. package/dist/domain/analysisSnapshot.js +29 -31
  252. package/dist/domain/analysisView/analysisView.js +243 -0
  253. package/dist/domain/analysisView/analysisViewCoverage.js +19 -0
  254. package/dist/domain/analysisView/binaryLayoutView.js +159 -0
  255. package/dist/domain/analysisView/javascriptApplicationView.js +238 -0
  256. package/dist/domain/android/androidAnalysis.js +2 -4
  257. package/dist/domain/android/androidApplication.js +18 -10
  258. package/dist/domain/apple/appleApplication.js +42 -15
  259. package/dist/domain/apple/dyldEnvironment.js +73 -0
  260. package/dist/domain/apple/dylibResolution.js +130 -12
  261. package/dist/domain/apple/dylibResolutionFindings.js +9 -7
  262. package/dist/domain/apple/interfaceBuilderGraph.js +25 -14
  263. package/dist/domain/apple/interfaceBuilderKeyedArchive.js +13 -3
  264. package/dist/domain/apple/keyedArchive.js +35 -3
  265. package/dist/domain/apple/machoContainer.js +54 -0
  266. package/dist/domain/apple/plistNumbers.js +76 -0
  267. package/dist/domain/artifactComparison.js +15 -6
  268. package/dist/domain/artifactGraph.js +16 -3
  269. package/dist/domain/artifactIdentity.js +29 -0
  270. package/dist/domain/artifactInventoryEvidence.js +28 -40
  271. package/dist/domain/artifactOperationError.js +3 -3
  272. package/dist/domain/artifactPartialObservation.js +1 -0
  273. package/dist/domain/artifactPathSyntax.js +49 -0
  274. package/dist/domain/binaryTarget.js +39 -13
  275. package/dist/domain/bridgeCandidateProjection.js +71 -0
  276. package/dist/domain/browserCaptureComparison.js +13 -49
  277. package/dist/domain/browserCompleteness.js +1 -0
  278. package/dist/domain/browserNetworkEvidence.js +10 -4
  279. package/dist/domain/browserObservation.js +0 -1
  280. package/dist/domain/browserObservationError.js +24 -5
  281. package/dist/domain/browserObservationSchemas.js +14 -3
  282. package/dist/domain/browserScenario.js +0 -1
  283. package/dist/domain/browserScenarioCapture.js +1 -2
  284. package/dist/domain/browserScenarioDiff.js +0 -2
  285. package/dist/domain/browserScenarioDiffEvidence.js +0 -12
  286. package/dist/domain/browserScenarioDiffValues.js +2 -2
  287. package/dist/domain/browserScenarioValues.js +5 -10
  288. package/dist/domain/bundleComparison.js +3 -2
  289. package/dist/domain/callPath.js +8 -9
  290. package/dist/domain/callPathSchemas.js +2 -2
  291. package/dist/domain/canonicalJsonDigestSteps.js +133 -0
  292. package/dist/domain/canonicalOrdering.js +9 -5
  293. package/dist/domain/changedBehavior.js +9 -9
  294. package/dist/domain/comparisonSourceEvidence.js +40 -0
  295. package/dist/domain/completionLedgerGeneration.js +2 -1
  296. package/dist/domain/configurationErrors.js +13 -1
  297. package/dist/domain/conformancePackage.js +4 -3
  298. package/dist/domain/evidence.js +65 -36
  299. package/dist/domain/evidenceBundle.js +47 -8
  300. package/dist/domain/evidenceCompletionLedger.js +2 -1
  301. package/dist/domain/evidenceErrors.js +12 -1
  302. package/dist/domain/explicitSensitiveFailure.js +17 -1
  303. package/dist/domain/firmware/firmwareAnalysis.js +6 -7
  304. package/dist/domain/functionComparison.js +4 -5
  305. package/dist/domain/functionComparisonDimensions.js +120 -87
  306. package/dist/domain/functionComparisonNormalization.js +23 -34
  307. package/dist/domain/functionComparisonResults.js +1 -4
  308. package/dist/domain/functionComparisonSchemas.js +2 -8
  309. package/dist/domain/functionDossierEvidence.js +2 -37
  310. package/dist/domain/hopperErrors.js +23 -2
  311. package/dist/domain/hopperValues.js +51 -8
  312. package/dist/domain/immutableJson.js +114 -0
  313. package/dist/domain/inputIssueProjection.js +3 -0
  314. package/dist/domain/javascript/electronActiveObservation.js +47 -64
  315. package/dist/domain/javascript/electronObservation.js +14 -3
  316. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +10 -9
  317. package/dist/domain/javascript/electronStaticAnalysisIpc.js +2 -1
  318. package/dist/domain/javascript/electronStaticAnalysisNative.js +2 -1
  319. package/dist/domain/javascript/electronStaticAnalysisValues.js +6 -12
  320. package/dist/domain/javascript/javascriptApplicationAnalysis.js +71 -23
  321. package/dist/domain/javascript/javascriptApplicationEvidenceSchemas.js +2 -0
  322. package/dist/domain/javascript/javascriptApplicationGraph.js +39 -3
  323. package/dist/domain/javascript/javascriptApplicationGraphSchemas.js +9 -2
  324. package/dist/domain/javascript/javascriptApplicationVersionItems.js +5 -2
  325. package/dist/domain/javascript/javascriptApplicationVersionKeys.js +2 -1
  326. package/dist/domain/javascript/javascriptAstValues.js +20 -0
  327. package/dist/{application/javascript/JavaScriptReturnShapeProjection.js → domain/javascript/javascriptExportReturnShapeProjection.js} +4 -4
  328. package/dist/domain/javascript/javascriptExportShapeComparison.js +7 -1
  329. package/dist/domain/javascript/javascriptExportShapeComparisonIdentity.js +6 -1
  330. package/dist/domain/javascript/javascriptExportShapeComparisonSchemas.js +29 -1
  331. package/dist/domain/javascript/javascriptExportShapeSelection.js +5 -5
  332. package/dist/domain/javascript/javascriptExportShapeVariants.js +67 -14
  333. package/dist/domain/javascript/javascriptFeatureSeed.js +20 -0
  334. package/dist/domain/javascript/javascriptFeatureTraversal.js +0 -1
  335. package/dist/domain/javascript/javascriptNativeHandoff.js +1 -1
  336. package/dist/domain/javascript/javascriptRecovery.js +3 -8
  337. package/dist/domain/javascript/javascriptRuntimeLoadState.js +0 -1
  338. package/dist/domain/javascript/javascriptRuntimeObservation.js +10 -2
  339. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +1 -1
  340. package/dist/domain/javascript/javascriptRuntimeReconciliationParsing.js +3 -2
  341. package/dist/domain/javascript/javascriptRuntimeStaticCandidates.js +0 -1
  342. package/dist/domain/javascript/javascriptSemanticAnalysis.js +106 -5
  343. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +2 -1
  344. package/dist/domain/javascript/javascriptSemanticCalls.js +2 -1
  345. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +2 -1
  346. package/dist/domain/javascript/javascriptSemanticCoverage.js +6 -5
  347. package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +9 -17
  348. package/dist/domain/javascript/javascriptSemanticDataEffects.js +23 -6
  349. package/dist/domain/javascript/javascriptSemanticGraph.js +98 -43
  350. package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +1 -0
  351. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +77 -20
  352. package/dist/domain/javascript/javascriptSemanticMutationValues.js +21 -27
  353. package/dist/domain/javascript/javascriptSemanticObjects.js +83 -42
  354. package/dist/domain/javascript/javascriptSemanticPrimitives.js +18 -21
  355. package/dist/domain/javascript/javascriptSemanticProjection.js +2 -3
  356. package/dist/domain/javascript/javascriptSemanticPromises.js +2 -1
  357. package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +8 -4
  358. package/dist/domain/javascript/javascriptSemanticResourceLimits.js +77 -0
  359. package/dist/domain/javascript/javascriptSemanticResources.js +1 -1
  360. package/dist/domain/javascript/javascriptSemanticReturns.js +32 -17
  361. package/dist/domain/javascript/javascriptSemanticSlots.js +72 -0
  362. package/dist/domain/javascript/javascriptSemanticValues.js +126 -61
  363. package/dist/domain/javascript/javascriptSourceMapPaths.js +104 -0
  364. package/dist/domain/javascript/javascriptSourceParser.js +6 -2
  365. package/dist/domain/javascript/javascriptStaticAnalysis.js +22 -17
  366. package/dist/domain/javascript/javascriptStaticAnalysisBundler.js +5 -3
  367. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +16 -5
  368. package/dist/domain/javascript/javascriptStaticAnalysisFindings.js +66 -7
  369. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +28 -17
  370. package/dist/domain/javascript/javascriptStaticAnalysisState.js +3 -2
  371. package/dist/domain/javascript/sourceToBundleComparison.js +12 -3
  372. package/dist/domain/javascript/sourceToBundleSignals.js +47 -19
  373. package/dist/domain/jsonSerialization.js +109 -0
  374. package/dist/domain/jsonValue.js +90 -6
  375. package/dist/domain/localPath.js +6 -0
  376. package/dist/domain/managed/managedApplicationGraph.js +10 -10
  377. package/dist/domain/managed/managedArtifact.js +6 -4
  378. package/dist/domain/managed/managedInspectionEvidence.js +16 -0
  379. package/dist/domain/managed/managedMemberComparison.js +2 -9
  380. package/dist/domain/managed/managedMemberComparisonMatch.js +5 -9
  381. package/dist/domain/managed/managedNativeVerification.js +3 -11
  382. package/dist/domain/managed/managedNativeVerificationMatch.js +9 -3
  383. package/dist/domain/native/binaryLayout.js +2 -3
  384. package/dist/domain/native/fileOffsetPartialObservation.js +1 -0
  385. package/dist/domain/native/nativeApiBoundary.js +1 -1
  386. package/dist/domain/native/nativeCallObservation.js +37 -13
  387. package/dist/domain/native/nativeCallPartialObservation.js +33 -0
  388. package/dist/domain/native/nativeInstruction.js +7 -0
  389. package/dist/domain/native/recordedCrash.js +2 -3
  390. package/dist/domain/offsetDateTime.js +17 -0
  391. package/dist/domain/process/processCapture.js +21 -16
  392. package/dist/domain/process/processCaptureCoverage.js +67 -0
  393. package/dist/domain/process/processCaptureExample.js +2 -1
  394. package/dist/domain/process/processCaptureParsing.js +1 -34
  395. package/dist/domain/process/processCaptureValidation.js +81 -13
  396. package/dist/domain/process/processComparison.js +79 -26
  397. package/dist/domain/process/processObservation.js +10 -2
  398. package/dist/domain/process/processScenario.js +35 -12
  399. package/dist/domain/process/processTraceComparison.js +0 -2
  400. package/dist/domain/process/processTraceDimensionProjection.js +1 -1
  401. package/dist/domain/process/processTraceEvaluation.js +15 -11
  402. package/dist/domain/process/processTraceSpecification.js +3 -4
  403. package/dist/domain/propertyListKeys.js +1 -1
  404. package/dist/domain/propertyListXmlText.js +19 -0
  405. package/dist/domain/providerAdapterError.js +3 -1
  406. package/dist/domain/providerOperationHealth.js +54 -0
  407. package/dist/domain/reconstructionCoverage.js +5 -2
  408. package/dist/domain/reconstructionObligationLedgerSchemas.js +2 -1
  409. package/dist/domain/reconstructionReadinessSchemas.js +2 -1
  410. package/dist/domain/reconstructionVerification.js +9 -46
  411. package/dist/domain/reconstructionVerificationSchemas.js +4 -3
  412. package/dist/domain/referenceSourceGraph.js +20 -21
  413. package/dist/domain/staticRuntimeCorrelation.js +8 -45
  414. package/dist/domain/stringPatterns.js +6 -0
  415. package/dist/domain/swiftSymbolClassification.js +61 -0
  416. package/dist/domain/symbolAnalysis.js +66 -18
  417. package/dist/domain/webBundleAnalysis.js +20 -8
  418. package/dist/domain/webBundleAnalyzerInspection.js +13 -8
  419. package/dist/domain/webBundleAnalyzerResult.js +41 -2
  420. package/dist/domain/webCaptureDiff.js +0 -1
  421. package/dist/domain/webCaptureDiffSchemas.js +6 -3
  422. package/dist/domain/webEventListeners.js +3 -2
  423. package/dist/domain/webExecution.js +3 -2
  424. package/dist/domain/webRuntime.js +19 -7
  425. package/dist/domain/webScriptExport.js +1 -1
  426. package/dist/domain/webSourceLocation.js +1 -0
  427. package/dist/dotnet/ManagedArtifactInspector.js +2 -19
  428. package/dist/dotnet/ManagedMemberInspector.js +12 -18
  429. package/dist/dotnet/ManagedMemberInspectorCore.js +47 -44
  430. package/dist/dotnet/ManagedMemberRows.js +75 -62
  431. package/dist/dotnet/ManagedMetadataInventory.js +16 -22
  432. package/dist/dotnet/ManagedMethodBodyReader.js +4 -0
  433. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +109 -94
  434. package/dist/dotnet/ManagedNativeBoundaryInspector.js +12 -21
  435. package/dist/dotnet/ManagedReaderFailure.js +16 -0
  436. package/dist/dotnet/ManagedStaticProvider.js +3 -5
  437. package/dist/evaluation/AgentEvaluationFixtures.js +250 -0
  438. package/dist/evaluation/AgentEvaluationReport.js +28 -0
  439. package/dist/evaluation/CodexAgentEval.js +12 -8
  440. package/dist/evaluation/KnownAnswerEvaluation.js +281 -0
  441. package/dist/evm/EvmoleInterfaceProvider.js +2 -1
  442. package/dist/firmware/FirmwareCommand.js +9 -5
  443. package/dist/firmware/FirmwareFiles.js +1 -1
  444. package/dist/firmware/FirmwareProvider.js +4 -4
  445. package/dist/generatedPackageMetadata.js +2 -2
  446. package/dist/ghidra/GhidraAnalysisProfile.js +7 -5
  447. package/dist/ghidra/GhidraClient.js +126 -34
  448. package/dist/ghidra/GhidraClientStartup.js +0 -2
  449. package/dist/ghidra/GhidraDiagnostics.js +7 -7
  450. package/dist/ghidra/GhidraDoctor.js +6 -5
  451. package/dist/ghidra/GhidraFunctionValues.js +13 -12
  452. package/dist/ghidra/GhidraInstallation.js +58 -33
  453. package/dist/ghidra/GhidraInventoryValues.js +14 -4
  454. package/dist/ghidra/GhidraJavaLaunch.js +66 -0
  455. package/dist/ghidra/GhidraLauncher.js +47 -22
  456. package/dist/ghidra/GhidraProvider.js +6 -2
  457. package/dist/ghidra/GhidraProviderCapabilities.js +20 -2
  458. package/dist/ghidra/GhidraProviderClient.js +36 -15
  459. package/dist/ghidra/GhidraSessionError.js +13 -7
  460. package/dist/ghidra/GhidraSessionRoot.js +39 -0
  461. package/dist/ghidra/GhidraTargetSnapshot.js +47 -12
  462. package/dist/ghidra/GhidraTransport.js +20 -0
  463. package/dist/ghidra/extensions/GhidraExtensions.js +17 -10
  464. package/dist/ghidra/extensions/nativeaot/NativeAotAdapter.js +8 -2
  465. package/dist/hopper/BridgeLauncher.js +65 -56
  466. package/dist/hopper/HopperAnalysisProfile.js +65 -12
  467. package/dist/hopper/HopperCleanup.js +63 -22
  468. package/dist/hopper/HopperClient.js +288 -59
  469. package/dist/hopper/HopperFileOffset.js +237 -0
  470. package/dist/hopper/HopperMachOImage.js +197 -0
  471. package/dist/hopper/HopperOperationStage.js +6 -0
  472. package/dist/hopper/HopperProvider.js +71 -19
  473. package/dist/hopper/HopperProviderCapabilities.js +19 -1
  474. package/dist/hopper/HopperRegexSearch.js +134 -0
  475. package/dist/hopper/HopperRegexWorker.js +27 -0
  476. package/dist/hopper/HopperRequestQueue.js +68 -19
  477. package/dist/hopper/HopperTargetLease.js +133 -49
  478. package/dist/hopper/LinuxPrivateDisplayProbe.js +6 -0
  479. package/dist/ida/IdaConfiguration.js +8 -3
  480. package/dist/ida/IdaInput.js +1 -7
  481. package/dist/ida/IdaMcpConnection.js +8 -4
  482. package/dist/ida/IdaOperationRunner.js +3 -3
  483. package/dist/ida/IdaProvider.js +8 -12
  484. package/dist/ida/IdaSessionClient.js +20 -18
  485. package/dist/ida/IdaWorkspace.js +12 -13
  486. package/dist/inspector/JavaScriptRuntimeScope.js +9 -1
  487. package/dist/inspector/V8InspectorCaptureProjection.js +9 -4
  488. package/dist/inspector/V8InspectorProvider.js +82 -36
  489. package/dist/javascript/recovery/WakaruCommand.js +7 -2
  490. package/dist/javascript/recovery/WakaruExecution.js +5 -2
  491. package/dist/javascript/sourceMaps/DecodedSourceMap.js +47 -0
  492. package/dist/javascript/sourceMaps/SourceMapCommand.js +16 -0
  493. package/dist/javascript/sourceMaps/SourceMapFormat.js +79 -31
  494. package/dist/javascript/sourceMaps/TraceSourceMap.js +14 -28
  495. package/dist/main/shutdown.js +11 -3
  496. package/dist/main/startup.js +9 -2
  497. package/dist/main/transport.js +22 -2
  498. package/dist/main.js +11 -18
  499. package/dist/mcpDoctor.js +62 -2
  500. package/dist/native/AppleDispatchCoverage.js +47 -6
  501. package/dist/native/AppleDispatchDecodeFacts.js +6 -0
  502. package/dist/native/AppleDispatchMetadata.js +6 -3
  503. package/dist/native/AppleMachoFixups.js +48 -24
  504. package/dist/native/AppleMachoSelection.js +48 -22
  505. package/dist/native/AppleObjcCategories.js +6 -2
  506. package/dist/native/AppleObjcDispatchFacets.js +5 -2
  507. package/dist/native/AppleObjcProperties.js +2 -1
  508. package/dist/native/AppleSwiftDispatchFacets.js +27 -21
  509. package/dist/native/AppleSwiftVtables.js +21 -15
  510. package/dist/native/CommandRunner.js +87 -88
  511. package/dist/native/LldbCallTracer.js +372 -103
  512. package/dist/native/LldbRetainedObservations.js +178 -0
  513. package/dist/native/NativeCallObservation.js +62 -3
  514. package/dist/native/NativeMacOSProvider.js +122 -31
  515. package/dist/native/NativeUiHelperRuntime.js +11 -2
  516. package/dist/native/NativeUiObservation.js +2 -2
  517. package/dist/native/SignatureTargetBinding.js +155 -0
  518. package/dist/native/parsers/lipo.js +71 -1
  519. package/dist/native/pwndbg/PwndbgCoreContext.js +25 -5
  520. package/dist/native/pwntools/PwntoolsDecoder.js +2 -1
  521. package/dist/native/pwntools/RecordedCrashStructureBindings.js +2 -0
  522. package/dist/process/DarwinProcessRunTokenReader.js +23 -10
  523. package/dist/process/ExecFileOutput.js +108 -6
  524. package/dist/process/OwnedCommand.js +7 -2
  525. package/dist/process/PrivateRuntimeRoot.js +10 -5
  526. package/dist/process/ProcessOwnership.js +204 -57
  527. package/dist/process/ProcessOwnershipObservation.js +60 -9
  528. package/dist/process/ProviderProcess.js +39 -10
  529. package/dist/process/capture/FilesystemSnapshot.js +50 -13
  530. package/dist/process/capture/ProcessCaptureError.js +15 -2
  531. package/dist/process/capture/ProcessCaptureLifecycle.js +235 -81
  532. package/dist/process/capture/ProcessFilesystemEffects.js +33 -3
  533. package/dist/process/capture/ProcessHarness.js +21 -25
  534. package/dist/process/capture/ProcessNormalization.js +20 -2
  535. package/dist/process/capture/ProcessSampling.js +25 -2
  536. package/dist/process/capture/TerminalRenderer.js +14 -0
  537. package/dist/process/snapshotEnvironment.js +14 -0
  538. package/dist/server/EvidenceMcpServer.js +157 -0
  539. package/dist/server/createServer.js +61 -41
  540. package/dist/server/mcpClientMetadata.js +12 -5
  541. package/dist/server/promptCompletion.js +3 -8
  542. package/dist/server/registerAnalysisViewTool.js +15 -0
  543. package/dist/server/registerAndroidTools.js +2 -5
  544. package/dist/server/registerApplicationTools/compareExportShapes.js +4 -5
  545. package/dist/server/registerApplicationTools/compareSourceToBundle.js +4 -5
  546. package/dist/server/registerApplicationTools/compareVersions.js +4 -5
  547. package/dist/server/registerApplicationTools/coverage.js +1 -2
  548. package/dist/server/registerApplicationTools/helpers.js +1 -4
  549. package/dist/server/registerApplicationTools/obligationLedger.js +4 -5
  550. package/dist/server/registerApplicationTools/projectMobileApplicationGraph.js +3 -4
  551. package/dist/server/registerApplicationTools/traceFeature.js +4 -5
  552. package/dist/server/registerApplicationTools/traceSemantics.js +4 -5
  553. package/dist/server/registerArtifactComparisonTool.js +13 -10
  554. package/dist/server/registerBinaryDiagnosticsTools.js +2 -5
  555. package/dist/server/registerBrowserScenarioTool.js +3 -6
  556. package/dist/server/registerBrowserTools.js +13 -18
  557. package/dist/server/registerBundleComparisonTool.js +5 -7
  558. package/dist/server/registerCloseLifecycleTool.js +9 -20
  559. package/dist/server/registerElectronTools.js +10 -15
  560. package/dist/server/registerEnhancedTools.js +36 -77
  561. package/dist/server/registerEvidenceTools.js +3 -6
  562. package/dist/server/registerEvmTools.js +2 -5
  563. package/dist/server/registerFirmwareTools.js +2 -5
  564. package/dist/server/registerFunctionComparisonTool.js +15 -12
  565. package/dist/server/registerInvestigationTools.js +16 -17
  566. package/dist/server/registerJavaScriptRecoveryTool.js +2 -5
  567. package/dist/server/registerJavaScriptRuntimeObservationTools.js +6 -8
  568. package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +5 -8
  569. package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +4 -7
  570. package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +6 -9
  571. package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +6 -9
  572. package/dist/server/registerOfficialTools.js +4 -21
  573. package/dist/server/registerProcessComparisonTool.js +74 -48
  574. package/dist/server/registerRecordedCrashTools.js +2 -5
  575. package/dist/server/registerSessionRecordTools.js +19 -24
  576. package/dist/server/registerSessionStatusTool.js +19 -6
  577. package/dist/server/registerSessionTools.js +20 -18
  578. package/dist/server/registerWebModuleTool.js +2 -5
  579. package/dist/server/registerWebNetworkCaptureTool.js +2 -5
  580. package/dist/server/registerWebRuntimeTools.js +4 -9
  581. package/dist/server/registerWebScriptTool.js +2 -5
  582. package/dist/server/registerWebSourceLocationTool.js +2 -5
  583. package/dist/server/runDerivedOperation.js +15 -3
  584. package/dist/server/sessionAvailabilityPolicy.js +0 -1
  585. package/dist/server/toolRegistrationOptions.js +2 -2
  586. package/dist/server/toolResult.js +75 -51
  587. package/dist/server/toolResultEncoding.js +34 -0
  588. package/dist/windows/WindowsNativeLoader.js +1 -0
  589. package/dist/windows/WindowsOwnedProcess.js +60 -15
  590. package/dist/windows/WindowsPrivateRuntime.js +7 -8
  591. package/install.sh +1 -1
  592. package/native/windows/README.md +3 -1
  593. package/native/windows/build/manifest.json +2 -2
  594. package/native/windows/build/rea-windows-x64.node +0 -0
  595. package/package.json +44 -30
  596. package/scripts/electron-active-hook-boundaries.cjs +18 -20
  597. package/scripts/electron-active-hook.cjs +241 -37
  598. package/scripts/rea.mjs +3 -6
  599. package/skills/reverse-engineer-anything/SKILL.md +12 -3
  600. package/skills/reverse-engineer-anything/references/android-applications.md +6 -3
  601. package/skills/reverse-engineer-anything/references/evidence-workflows.md +8 -4
  602. package/skills/reverse-engineer-anything/references/javascript-applications.md +20 -3
  603. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +9 -0
  604. package/dist/config.js +0 -1
  605. package/dist/contracts/browserCaptureToolInputSchema.js +0 -43
  606. package/dist/contracts/process/processCaptureExample.js +0 -2
  607. package/dist/contracts/toolOutputSchemas.js +0 -2
  608. package/dist/ghidra/GhidraDefaults.js +0 -2
  609. package/dist/main/reload.js +0 -12
  610. package/dist/main/state.js +0 -3
  611. package/dist/server/sessionToolPolicies.js +0 -2
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "node:events";
2
- import { PassThrough } from "node:stream";
2
+ import { PassThrough, Writable } from "node:stream";
3
3
  import { z } from "zod";
4
4
  import { requireWindowsNativeAuthority, windowsHandleSchema, } from "./WindowsNativeLoader.js";
5
5
  const launchSchema = z.strictObject({
@@ -26,6 +26,7 @@ export const quoteWindowsProcessArgument = (value) => {
26
26
  export class WindowsOwnedProcess extends EventEmitter {
27
27
  stdout = new PassThrough();
28
28
  stderr = new PassThrough();
29
+ stdin;
29
30
  signalCode = null;
30
31
  exitCode = null;
31
32
  pid;
@@ -34,13 +35,14 @@ export class WindowsOwnedProcess extends EventEmitter {
34
35
  #settled;
35
36
  #settle;
36
37
  #closed = false;
37
- #verifiedSettlement = false;
38
38
  #failure;
39
39
  #timer;
40
40
  #cleanup;
41
- constructor(command, arguments_, cwd, environment, verbatim) {
41
+ constructor(command, arguments_, cwd, environment, verbatim, protocolStdin = false) {
42
42
  super();
43
43
  this.#authority = requireWindowsNativeAuthority();
44
+ if (protocolStdin && this.#authority.inspection.protocolStdin !== true)
45
+ throw new Error("The bundled Windows native artifact does not support owned protocol stdin; use a matching current Windows x64 REA package.");
44
46
  const entries = Object.entries(environment)
45
47
  .filter((entry) => entry[1] !== undefined)
46
48
  .map(([key, value]) => `${key}=${value}`);
@@ -55,14 +57,55 @@ export class WindowsOwnedProcess extends EventEmitter {
55
57
  line,
56
58
  cwd ?? "",
57
59
  entries,
60
+ ...(protocolStdin ? [true] : []),
58
61
  ]));
59
62
  this.pid = launched.pid;
60
63
  this.#handle = launched.handle;
64
+ this.stdin = protocolStdin
65
+ ? new Writable({
66
+ write: (chunk, _encoding, callback) => {
67
+ void this.#writeInput(chunk).then(() => callback(), (cause) => callback(cause instanceof Error ? cause : new Error(String(cause))));
68
+ },
69
+ final: (callback) => {
70
+ try {
71
+ this.#authority.call("process_stdin_close", [this.#handle]);
72
+ callback();
73
+ }
74
+ catch (cause) {
75
+ callback(cause instanceof Error ? cause : new Error(String(cause)));
76
+ }
77
+ },
78
+ destroy: (cause, callback) => {
79
+ try {
80
+ if (!this.#closed)
81
+ this.#authority.call("process_stdin_close", [this.#handle]);
82
+ callback(cause);
83
+ }
84
+ catch (failure) {
85
+ callback(failure instanceof Error ? failure : new Error(String(failure)));
86
+ }
87
+ },
88
+ })
89
+ : null;
61
90
  this.#settled = new Promise((resolve) => {
62
91
  this.#settle = resolve;
63
92
  });
64
93
  this.#schedule();
65
94
  }
95
+ async #writeInput(chunk) {
96
+ const bytes = z.instanceof(Buffer).parse(chunk);
97
+ const written = z
98
+ .number()
99
+ .int()
100
+ .nonnegative()
101
+ .max(Number.MAX_SAFE_INTEGER)
102
+ .parse(await this.#authority.call("process_stdin_write", [
103
+ this.#handle,
104
+ bytes,
105
+ ]));
106
+ if (written !== bytes.length)
107
+ throw new Error("Owned Windows input write did not preserve all requested bytes");
108
+ }
66
109
  /** Terminate the retained job, never a PID supplied by another caller. */
67
110
  kill(signal) {
68
111
  if (signal === 0)
@@ -78,27 +121,27 @@ export class WindowsOwnedProcess extends EventEmitter {
78
121
  }
79
122
  /** Terminate and verify that the entire job has settled before releasing it. */
80
123
  cleanup() {
81
- this.#cleanup ??= this.#stop();
124
+ this.#cleanup ??= this.#stop().then((result) => {
125
+ if (!result.cleaned)
126
+ this.#cleanup = undefined;
127
+ return result;
128
+ });
82
129
  return this.#cleanup;
83
130
  }
84
131
  async #stop() {
85
132
  if (this.#closed)
86
- return this.#verifiedSettlement
87
- ? { cleaned: true, signaled: false }
88
- : {
89
- cleaned: false,
90
- reason: this.#failure ?? "Windows Job Object settlement was not verified",
91
- };
133
+ return { cleaned: true, signaled: false };
92
134
  let timer;
93
135
  try {
94
136
  const signaled = this.kill();
137
+ this.#schedule();
95
138
  const settled = await Promise.race([
96
139
  this.#settled.then(() => true),
97
140
  new Promise((resolve) => {
98
141
  timer = setTimeout(() => resolve(false), 5_000);
99
142
  }),
100
143
  ]);
101
- return settled && this.#verifiedSettlement
144
+ return settled
102
145
  ? { cleaned: true, signaled }
103
146
  : {
104
147
  cleaned: false,
@@ -115,18 +158,20 @@ export class WindowsOwnedProcess extends EventEmitter {
115
158
  finally {
116
159
  if (timer !== undefined)
117
160
  clearTimeout(timer);
118
- if (!this.#closed)
119
- this.#release();
120
161
  }
121
162
  }
122
163
  #schedule() {
164
+ if (this.#closed || this.#timer !== undefined)
165
+ return;
123
166
  this.#timer = setTimeout(() => this.#poll(), 25);
124
167
  }
125
168
  #poll() {
169
+ this.#timer = undefined;
126
170
  if (this.#closed)
127
171
  return;
128
172
  try {
129
173
  const state = pollSchema.parse(this.#authority.call("process_poll", [this.#handle]));
174
+ this.#failure = undefined;
130
175
  if (state.stdout.length > 0)
131
176
  this.stdout.write(state.stdout);
132
177
  if (state.stderr.length > 0)
@@ -139,7 +184,6 @@ export class WindowsOwnedProcess extends EventEmitter {
139
184
  state.stdoutEnded &&
140
185
  state.stderrEnded &&
141
186
  state.activeProcesses === 0) {
142
- this.#verifiedSettlement = true;
143
187
  this.#release();
144
188
  }
145
189
  else
@@ -152,7 +196,7 @@ export class WindowsOwnedProcess extends EventEmitter {
152
196
  // the captured stderr observation produced by the child itself.
153
197
  if (this.listenerCount("error") > 0)
154
198
  this.emit("error", failure);
155
- this.#release();
199
+ // Retain the original job so explicit cleanup can retry its observation.
156
200
  }
157
201
  }
158
202
  #release() {
@@ -162,6 +206,7 @@ export class WindowsOwnedProcess extends EventEmitter {
162
206
  clearTimeout(this.#timer);
163
207
  this.#authority.call("process_close", [this.#handle]);
164
208
  this.#closed = true;
209
+ this.stdin?.destroy();
165
210
  this.stdout.end();
166
211
  this.stderr.end();
167
212
  this.#settle?.();
@@ -105,7 +105,10 @@ export class WindowsPrivateRuntime {
105
105
  }
106
106
  /** Remove owned objects by handle, unlinking reparse entries without traversal. */
107
107
  close() {
108
- this.#closePromise ??= this.#remove();
108
+ this.#closePromise ??= this.#remove().catch((cause) => {
109
+ this.#closePromise = undefined;
110
+ throw cause;
111
+ });
109
112
  return this.#closePromise;
110
113
  }
111
114
  async #remove() {
@@ -114,13 +117,9 @@ export class WindowsPrivateRuntime {
114
117
  if (this.#pending !== undefined)
115
118
  this.authority.call("runtime_snapshot_cancel", [this.observation.handle]);
116
119
  await this.#pending?.catch(() => undefined);
117
- try {
118
- this.authority.call("runtime_close", [this.observation.handle]);
119
- }
120
- finally {
121
- this.#closed = true;
122
- runtimes.delete(this.observation.path.toLowerCase());
123
- }
120
+ this.authority.call("runtime_close", [this.observation.handle]);
121
+ this.#closed = true;
122
+ runtimes.delete(this.observation.path.toLowerCase());
124
123
  }
125
124
  }
126
125
  /** Select an already-owned runtime; an arbitrary pathname cannot grant authority. */
package/install.sh CHANGED
@@ -107,7 +107,7 @@ if [[ "$dry_run" == true ]]; then
107
107
  fi
108
108
 
109
109
  printf 'Installing %s@%s...\n' "$PACKAGE" "$version"
110
- npm install --global "${prefix_args[@]}" "$PACKAGE@$version" || fail "npm could not install REA. Check registry access and npm permissions, then retry."
110
+ npm install --global ${prefix_args[@]+"${prefix_args[@]}"} "$PACKAGE@$version" || fail "npm could not install REA. Check registry access and npm permissions, then retry."
111
111
  [[ -x "$install_bin" ]] || fail "npm completed without installing the rea command. Check the npm global bin directory and PATH, then retry."
112
112
  installed_version="$("$install_bin" --version 2>/dev/null | tr -d '[:space:]')" || fail "the installed REA version could not be read. Reinstall the requested version, then retry."
113
113
  [[ "$installed_version" == "$version" ]] || fail "installed version $installed_version does not match $version. Reinstall the requested version, then retry."
@@ -57,7 +57,9 @@ without this lane reports Windows native controls as unavailable.
57
57
  deduplicated using Windows ordinal comparison, preserving their native Unicode
58
58
  semantics and caller-selected values.
59
59
  - Cleanup walks locked directory objects, removes files by handle, and unlinks
60
- reparse entries without traversing their targets. Normal close, cancellation,
60
+ reparse entries without traversing their targets. Failed removal retains the
61
+ root and ancestor leases for retry; a partially removed runtime accepts only
62
+ cleanup, and its registry entry remains until removal succeeds. Normal close, cancellation,
61
63
  startup failure, and timeout release provider resources. Abrupt owner death
62
64
  kills the owned job; it can leave private runtime files for later operator
63
65
  cleanup and does not claim transactional deletion after a crash.
@@ -1,9 +1,9 @@
1
1
  {
2
- "packageVersion": "6.0.0",
2
+ "packageVersion": "6.2.0",
3
3
  "platform": "win32",
4
4
  "architecture": "x64",
5
5
  "abiVersion": 1,
6
6
  "nodeApiVersion": 8,
7
7
  "artifact": "rea-windows-x64.node",
8
- "artifactSha256": "9914815706dcd4ef94d01543e31cb0b20035e98d5011d4b4e7f8e509823c8b1d"
8
+ "artifactSha256": "fedfd4ce8b3e15784d1a6ef7e9ba7eb9052e8335a1c75b6d69cd7e94f29ab1f8"
9
9
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rea-agents",
3
3
  "mcpName": "io.github.morluto/rea",
4
- "version": "6.0.0",
4
+ "version": "6.2.0",
5
5
  "description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -80,27 +80,26 @@
80
80
  ],
81
81
  "scripts": {
82
82
  "deps:check": "node scripts/check-dependency-install.mjs",
83
- "metadata:generate": "node scripts/generate-package-metadata.mjs",
83
+ "metadata:generate": "node scripts/run-exclusive.mjs artifacts node scripts/generate-package-metadata.mjs",
84
84
  "metadata:check": "node scripts/generate-package-metadata.mjs --check",
85
85
  "mcp-registry:check": "node scripts/verify-mcp-registry-metadata.mjs",
86
- "mcp-catalog:generate": "npm run build:cached",
87
- "mcp-catalog:check": "node scripts/generate-mcp-tool-catalog.mjs --check",
88
- "prebuild": "npm run deps:check && npm run metadata:check",
89
- "build": "node scripts/run-exclusive.mjs build npm run build:unlocked",
90
- "build:unlocked": "node scripts/clean-build-output.mjs && tsc -p tsconfig.build.json && node scripts/generate-mcp-tool-catalog.mjs",
86
+ "mcp-catalog:generate": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:mcp-catalog",
87
+ "mcp-catalog:check": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run mcp-catalog:check:built",
88
+ "prebuild": "npm run deps:check",
89
+ "build": "node scripts/run-exclusive.mjs artifacts turbo run artifacts:skills --force",
91
90
  "precheck": "npm run deps:check",
92
- "check": "turbo run typecheck lint format:check knip metadata:check",
91
+ "check": "node scripts/run-exclusive.mjs artifacts turbo run typecheck lint format:check knip metadata:check",
93
92
  "precheck:fast": "npm run deps:check",
94
93
  "check:fast": "turbo run typecheck lint --output-logs=errors-only",
95
94
  "precheck:changed": "npm run deps:check",
96
95
  "check:changed": "npm run check:fast && npm run test:changed",
97
96
  "precheck:test": "npm run deps:check",
98
- "check:test": "turbo run typecheck lint format:check knip metadata:check test:run",
97
+ "check:test": "node scripts/run-exclusive.mjs artifacts turbo run typecheck lint format:check knip metadata:check test:run",
99
98
  "precheck:pr": "npm run deps:check",
100
- "check:pr": "turbo run typecheck lint format:check knip metadata:check test:run && npm run docs:check && npm run jscpd && npm run scan:todos",
99
+ "check:pr": "node scripts/run-exclusive.mjs artifacts turbo run typecheck lint format:check knip metadata:check test:run && npm run docs:check && npm run jscpd && npm run scan:todos",
101
100
  "precheck:ci": "npm run deps:check",
102
- "check:ci": "turbo run typecheck lint format:check knip metadata:check jscpd scan:todos",
103
- "build:cached": "node scripts/check-dependency-install.mjs && turbo run build",
101
+ "check:ci": "node scripts/run-exclusive.mjs artifacts turbo run typecheck lint format:check knip metadata:check jscpd scan:todos",
102
+ "build:cached": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:skills",
104
103
  "format": "oxfmt .",
105
104
  "format:check": "oxfmt --check .",
106
105
  "lint": "oxlint && npm run verify:module-boundaries",
@@ -110,39 +109,43 @@
110
109
  "scan:todos": "node scripts/scan-todos.mjs",
111
110
  "start": "node scripts/rea.mjs mcp",
112
111
  "test": "npm run test:with-build",
113
- "test:with-build": "npm run build:cached && vitest run",
112
+ "test:with-build": "npm run test:prepare && vitest run",
114
113
  "test:run": "vitest run",
115
114
  "test:local": "node scripts/run-development-tests.mjs local",
116
115
  "test:fast": "vitest run --project domain --project services --project adapters --project composition --project conformance --project evaluation",
117
- "pretest:boundary": "npm run build:cached",
116
+ "pretest:boundary": "npm run test:prepare",
118
117
  "test:boundary": "vitest run --project boundary --project process-boundary --project mcp-boundary --project process-global",
119
- "pretest:mcp": "npm run build:cached",
118
+ "pretest:mcp": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:skills artifacts:mcp-catalog",
120
119
  "test:mcp": "vitest run --project mcp-boundary",
121
120
  "pretest:acceptance": "npm run build:cached",
122
121
  "test:acceptance": "vitest run --project acceptance",
123
122
  "test:changed": "node scripts/run-development-tests.mjs changed",
124
- "pretest:integration": "npm run build:cached",
123
+ "pretest:integration": "npm run test:prepare",
125
124
  "test:integration": "vitest run --project boundary --project process-boundary --project mcp-boundary --project process-global --project acceptance",
126
- "pretest:coverage": "npm run build:cached",
125
+ "pretest:coverage": "npm run test:prepare",
127
126
  "test:coverage": "vitest run --coverage.enabled --coverage.provider=v8",
128
127
  "test:ci": "npm run test:coverage -- --reporter=default --reporter=junit --outputFile.junit=test-results.xml",
129
- "pretest:ci:shard": "npm run build:cached",
128
+ "pretest:ci:shard": "npm run test:prepare",
130
129
  "test:ci:shard": "npm run test:ci:shard:run",
131
130
  "test:ci:shard:run": "vitest run --coverage.enabled --coverage.provider=v8 --coverage.thresholds.lines=0 --coverage.thresholds.functions=0 --coverage.thresholds.branches=0 --coverage.thresholds.statements=0 --reporter=default --reporter=blob",
132
131
  "test:ci:merge": "vitest --merge-reports --coverage.enabled --coverage.provider=v8",
133
- "pretest:verbose": "npm run build:cached",
132
+ "pretest:verbose": "npm run test:prepare",
134
133
  "test:verbose": "vitest run --reporter=verbose",
135
134
  "test:watch": "vitest --project domain --project services --project adapters --project composition --project conformance --project evaluation --changed",
136
- "pretest:watch:all": "npm run build:cached",
135
+ "pretest:watch:all": "npm run test:prepare",
137
136
  "test:watch:all": "vitest --changed",
138
137
  "typecheck": "tsc --noEmit",
139
- "verify:test-temp-hygiene": "npm run build:cached && node scripts/verify-test-temp-hygiene.mjs",
138
+ "verify:test-temp-hygiene": "npm run test:prepare && node scripts/verify-test-temp-hygiene.mjs",
140
139
  "verify:hopper": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper.mjs",
140
+ "verify:hopper:deadlines": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper-deadlines.mjs",
141
+ "verify:hopper:fat": "npm run build:cached && node scripts/verify-real-hopper-fat.mjs",
142
+ "verify:hopper:fat64": "npm run build:cached && node scripts/verify-real-hopper-fat.mjs --fat64",
141
143
  "verify:apple-dispatch": "npm run build:cached && node scripts/verify/apple/dispatch.mjs",
142
144
  "verify:native-ui": "npm run build:cached && node scripts/verify-native-ui.mjs",
143
145
  "verify:keyed-archive": "npm run build:cached && node scripts/verify/apple/keyed-archive.mjs",
144
146
  "verify:macos-bundle": "npm run build:cached && node scripts/verify/apple/macos-bundle.mjs",
145
147
  "verify:ghidra": "npm run build:cached && node scripts/verify-real-ghidra.mjs",
148
+ "verify:ghidra:swift": "npm run build:cached && node scripts/verify-real-ghidra-swift.mjs",
146
149
  "verify:ida": "npm run build:cached && node scripts/verify-real-ida.mjs",
147
150
  "verify:ghidra:switch": "npm run build:cached && node scripts/verify-real-ghidra-switch.mjs",
148
151
  "verify:ghidra:dos": "npm run build:cached && node scripts/verify-real-ghidra-dos.mjs",
@@ -177,16 +180,17 @@
177
180
  "probe:windows-capabilities": "npm run build:cached && node scripts/windows-capabilities.mjs",
178
181
  "verify:published": "node scripts/verify-published-package.mjs",
179
182
  "config:print": "node scripts/print-mcp-config.mjs",
180
- "evidence:generate": "npm run build:cached && node scripts/generate-completion-ledger.mjs",
181
- "evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check",
183
+ "evidence:generate": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:managed-evidence",
184
+ "evidence:check": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run evidence:check:built",
185
+ "predocs:dev": "npm run docs:generate",
182
186
  "docs:dev": "vitepress dev docs",
187
+ "predocs:build": "npm run docs:generate",
183
188
  "docs:build": "vitepress build docs",
184
189
  "docs:preview": "vitepress preview docs",
185
- "docs:generate": "node scripts/run-exclusive.mjs docs npm run docs:generate:unlocked",
186
- "docs:generate:unlocked": "npm run metadata:generate && npm run build:cached && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs && node scripts/generate-error-schema.mjs",
187
- "docs:check": "node scripts/run-exclusive.mjs docs turbo run docs:check:built",
188
- "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-mcp-tool-catalog.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check",
189
- "docs:error-schema": "npm run build:cached && node scripts/generate-error-schema.mjs",
190
+ "docs:generate": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts npm run docs:prepare",
191
+ "docs:check": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run docs:check:built",
192
+ "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check",
193
+ "docs:error-schema": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:error-schema",
190
194
  "prepack": "node scripts/prepack.mjs",
191
195
  "prepare": "node scripts/prepare.mjs",
192
196
  "verify:asset-catalog": "npm run build:cached && node scripts/verify/apple/asset-catalog.mjs",
@@ -211,14 +215,24 @@
211
215
  "verify:web:network-captures": "npm run build:cached && node scripts/verify-web-network-captures.mjs",
212
216
  "verify:binary:layout": "npm run build:cached && node scripts/verify-binary-layout.mjs",
213
217
  "verify:evm:interface": "npm run build:cached && node scripts/verify-evm-interface.mjs",
214
- "verify:recorded:crash": "npm run build:cached && node scripts/verify-recorded-crash.mjs"
218
+ "verify:recorded:crash": "npm run build:cached && node scripts/verify-recorded-crash.mjs",
219
+ "mcp-catalog:check:built": "node scripts/generate-mcp-tool-catalog.mjs --check",
220
+ "compile": "node scripts/clean-build-output.mjs && tsc -p tsconfig.build.json",
221
+ "artifacts:mcp-catalog": "node scripts/generate-mcp-tool-catalog.mjs",
222
+ "artifacts:skills": "node scripts/generate-skill-metadata.mjs",
223
+ "artifacts:product-catalog": "node scripts/generate-product-catalog.mjs",
224
+ "artifacts:managed-evidence": "node scripts/generate-completion-ledger.mjs",
225
+ "artifacts:error-schema": "node scripts/generate-error-schema.mjs",
226
+ "test:prepare": "node scripts/check-dependency-install.mjs && node scripts/run-exclusive.mjs artifacts turbo run artifacts:mcp-catalog artifacts:product-catalog artifacts:managed-evidence",
227
+ "evidence:check:built": "node scripts/generate-completion-ledger.mjs --check",
228
+ "docs:prepare": "node scripts/generate-package-metadata.mjs && turbo run artifacts:product-catalog artifacts:managed-evidence artifacts:error-schema"
215
229
  },
216
230
  "lint-staged": {
217
231
  "*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}": [
218
232
  "oxfmt",
219
233
  "oxlint --fix"
220
234
  ],
221
- "*.{json,md,yml,yaml}": "oxfmt"
235
+ "*.{json,md,yml,yaml}": "oxfmt --no-error-on-unmatched-pattern"
222
236
  },
223
237
  "dependencies": {
224
238
  "@babel/parser": "8.0.4",
@@ -61,7 +61,7 @@ const createElectronActiveBoundaryPatches = ({
61
61
  const target = typeof args[0] === "string" ? args[0] : null;
62
62
  recordRuntime("preload", "context-bridge-exposure", "attempted", {
63
63
  target,
64
- argument_shapes: args.map((value) => shape(value)),
64
+ argument_shape_values: args,
65
65
  process_type: processType(),
66
66
  });
67
67
  try {
@@ -110,7 +110,7 @@ const createElectronActiveBoundaryPatches = ({
110
110
  event === "will-download" ? "blocked" : "observed",
111
111
  {
112
112
  target: identity(args[0], "webContents"),
113
- argument_shapes: args.map((value) => shape(value)),
113
+ argument_shape_values: args,
114
114
  error: event === "will-download",
115
115
  },
116
116
  );
@@ -124,7 +124,7 @@ const createElectronActiveBoundaryPatches = ({
124
124
  (webContents, permission, callback) => {
125
125
  recordRuntime("permission", "permission-request", "blocked", {
126
126
  target: identity(webContents, "webContents"),
127
- argument_shapes: [shape(permission)],
127
+ argument_shape_values: [permission],
128
128
  error: true,
129
129
  });
130
130
  if (typeof callback === "function") callback(false);
@@ -137,7 +137,7 @@ const createElectronActiveBoundaryPatches = ({
137
137
  return originalPermissionCheck.call(this, (webContents, permission) => {
138
138
  recordRuntime("permission", "permission-check", "blocked", {
139
139
  target: identity(webContents, "webContents"),
140
- argument_shapes: [shape(permission)],
140
+ argument_shape_values: [permission],
141
141
  error: true,
142
142
  });
143
143
  return false;
@@ -148,7 +148,7 @@ const createElectronActiveBoundaryPatches = ({
148
148
  session.setCertificateVerifyProc = function blockedCertificate() {
149
149
  return originalCertificate.call(this, (request, callback) => {
150
150
  recordRuntime("permission", "certificate-error", "blocked", {
151
- argument_shapes: [shape(request)],
151
+ argument_shape_values: [request],
152
152
  error: true,
153
153
  });
154
154
  if (typeof callback === "function") callback(-2);
@@ -168,14 +168,14 @@ const createElectronActiveBoundaryPatches = ({
168
168
  } catch {
169
169
  recordRuntime("popup-attempt", "window-open-handler", "failed", {
170
170
  target: contentsId,
171
- argument_shapes: args.map((value) => shape(value)),
171
+ argument_shape_values: args,
172
172
  error: true,
173
173
  });
174
174
  return { action: "deny" };
175
175
  }
176
176
  recordRuntime("popup-attempt", "window-open-handler", "blocked", {
177
177
  target: contentsId,
178
- argument_shapes: args.map((value) => shape(value)),
178
+ argument_shape_values: args,
179
179
  error: true,
180
180
  });
181
181
  return { action: "deny" };
@@ -195,9 +195,11 @@ const createElectronActiveBoundaryPatches = ({
195
195
  };
196
196
  };
197
197
 
198
- const patchSessionManager = (sessionModule) => {
198
+ const patchSessionManager = (sessionModule, app) => {
199
199
  if (sessionModule === null || sessionModule === undefined) return;
200
- patchSession(sessionModule.defaultSession);
200
+ if (app === undefined || app.isReady())
201
+ patchSession(sessionModule.defaultSession);
202
+ else app.once("ready", () => patchSession(sessionModule.defaultSession));
201
203
  for (const method of ["fromPartition", "fromPath"]) {
202
204
  const original = sessionModule[method];
203
205
  if (typeof original !== "function") continue;
@@ -223,7 +225,7 @@ const createElectronActiveBoundaryPatches = ({
223
225
  method === "relaunch" ? "updater" : "protocol",
224
226
  method,
225
227
  "blocked",
226
- { argument_shapes: args.map((value) => shape(value)), error: true },
228
+ { argument_shape_values: args, error: true },
227
229
  );
228
230
  return method === "setAsDefaultProtocolClient" ? false : undefined;
229
231
  };
@@ -250,11 +252,7 @@ const createElectronActiveBoundaryPatches = ({
250
252
  recordRuntime("native-addon", "dlopen", "attempted", {
251
253
  artifact_path: typeof filename === "string" ? filename : null,
252
254
  artifact_sha256: digest,
253
- argument_shapes: [
254
- shape(module),
255
- shape(filename),
256
- ...args.map((value) => shape(value)),
257
- ],
255
+ argument_shape_value_groups: [[module, filename], args],
258
256
  });
259
257
  try {
260
258
  const result = original.call(this, module, filename, ...args);
@@ -280,7 +278,7 @@ const createElectronActiveBoundaryPatches = ({
280
278
  if (typeof original !== "function") return;
281
279
  utilityProcess.fork = function patchedFork(...args) {
282
280
  recordRuntime("process-lifecycle", "utility-process-fork", "attempted", {
283
- argument_shapes: args.map((value) => shape(value)),
281
+ argument_shape_values: args,
284
282
  process_type: "main",
285
283
  });
286
284
  const child = original.apply(this, args);
@@ -304,7 +302,7 @@ const createElectronActiveBoundaryPatches = ({
304
302
  recordRuntime("process-lifecycle", `utility.${event}`, "observed", {
305
303
  target: childId,
306
304
  process_type: "utility",
307
- argument_shapes: eventArgs.map((value) => shape(value)),
305
+ argument_shape_values: eventArgs,
308
306
  });
309
307
  });
310
308
  if (child && typeof child.postMessage === "function") {
@@ -344,7 +342,7 @@ const createElectronActiveBoundaryPatches = ({
344
342
  if (typeof original !== "function") continue;
345
343
  shell[method] = function blockedShellCall(...args) {
346
344
  recordRuntime("shell-attempt", method, "blocked", {
347
- argument_shapes: args.map((value) => shape(value)),
345
+ argument_shape_values: args,
348
346
  error: true,
349
347
  });
350
348
  return Promise.reject(new Error("External shell effects are blocked"));
@@ -359,7 +357,7 @@ const createElectronActiveBoundaryPatches = ({
359
357
  if (typeof original !== "function") continue;
360
358
  childProcess[method] = function patchedChildProcess(...args) {
361
359
  recordRuntime("process-lifecycle", `child.${method}`, "attempted", {
362
- argument_shapes: args.map((value) => shape(value)),
360
+ argument_shape_values: args,
363
361
  });
364
362
  const child = original.apply(this, args);
365
363
  const childId = identity(child, "child");
@@ -369,7 +367,7 @@ const createElectronActiveBoundaryPatches = ({
369
367
  patchEmitter(child, (event, eventArgs) =>
370
368
  recordRuntime("process-lifecycle", `child.${event}`, "observed", {
371
369
  target: childId,
372
- argument_shapes: eventArgs.map((value) => shape(value)),
370
+ argument_shape_values: eventArgs,
373
371
  }),
374
372
  );
375
373
  return child;