rea-agents 6.4.0 → 6.5.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 (1211) hide show
  1. package/DISCLAIMER.md +136 -0
  2. package/README.md +67 -16
  3. package/THIRD_PARTY_NOTICES.md +134 -0
  4. package/bridge/android/ReaJadxBridge.java +123 -11
  5. package/bridge/cutter/rea_bridge.py +816 -0
  6. package/bridge/ghidra/ReaGhidraAnalysisOptions.java +38 -0
  7. package/bridge/ghidra/ReaGhidraBridge.java +1181 -123
  8. package/bridge/ghidra/ReaGhidraBundleActivator.java +14 -0
  9. package/bridge/ghidra/ReaGhidraMipsSoftFloat.java +176 -0
  10. package/bridge/ghidra/ReaGhidraPrepareRaw.java +49 -0
  11. package/bridge/hopper_bridge.py +103 -69
  12. package/bridge/mitmproxy/capture.py +189 -13
  13. package/bridge/native/rea_lldb_tracer.py +40 -6
  14. package/bridge/process/ProcessRunTokenReader.swift +76 -34
  15. package/bridge/pwntools/layout_impl.py +5 -0
  16. package/bridge/pwntools/recorded_crash_impl.py +31 -10
  17. package/dist/adb/AdbConfiguration.js +15 -3
  18. package/dist/adb/AdbDeviceOutput.js +59 -37
  19. package/dist/adb/AdbDirectoryListing.js +80 -0
  20. package/dist/adb/AdbHostFileName.js +34 -0
  21. package/dist/adb/AdbProvider.js +416 -173
  22. package/dist/adb/AdbShellOutput.js +55 -57
  23. package/dist/android/JadxAnalysis.js +32 -7
  24. package/dist/android/JadxConfiguration.js +119 -29
  25. package/dist/android/JadxDoctor.js +115 -0
  26. package/dist/android/JadxMcpTransport.js +5 -3
  27. package/dist/android/JadxProtocol.js +14 -0
  28. package/dist/android/JadxProvider.js +15 -9
  29. package/dist/android/JadxRelease.js +12 -1
  30. package/dist/android/JadxWorkspaceRoot.js +157 -0
  31. package/dist/apktool/ApktoolConfiguration.js +165 -22
  32. package/dist/apktool/ApktoolDecodeOutput.js +124 -41
  33. package/dist/apktool/ApktoolProvider.js +70 -33
  34. package/dist/application/AnalysisContextQueries.js +5 -8
  35. package/dist/application/AnalysisProvider.js +24 -20
  36. package/dist/application/AppBundleExecutable.js +5 -5
  37. package/dist/application/BinaryTargetResolver.js +195 -38
  38. package/dist/application/BrowserEvidence.js +1 -1
  39. package/dist/application/BrowserObservationService.js +13 -2
  40. package/dist/application/BrowserScenarioCaptureService.js +0 -1
  41. package/dist/application/CallPathTracing.js +52 -13
  42. package/dist/application/CapabilityInventory.js +168 -28
  43. package/dist/application/ClaudeDesktopConfigLocation.js +152 -0
  44. package/dist/application/ClientConfigurationDocument.js +102 -25
  45. package/dist/application/ClientConfigurationFiles.js +51 -14
  46. package/dist/application/ClientRegistrationEnvironment.js +10 -4
  47. package/dist/application/ClientRegistrationIdentity.js +94 -29
  48. package/dist/application/ClientRegistrationStatus.js +180 -59
  49. package/dist/application/DirectAnalysis.js +85 -30
  50. package/dist/application/DirectAnalysisStatus.js +13 -1
  51. package/dist/application/Doctor.js +113 -32
  52. package/dist/application/DoctorDiagnostics.js +34 -12
  53. package/dist/application/DoctorProviderIds.js +2 -0
  54. package/dist/application/DoctorScope.js +11 -2
  55. package/dist/application/DshCordisPatch.js +355 -0
  56. package/dist/application/DshCordisYaml.js +155 -0
  57. package/dist/application/EnhancedLiteralTracing.js +30 -16
  58. package/dist/application/EnhancedToolTypes.js +0 -1
  59. package/dist/application/EnhancedTools.js +164 -54
  60. package/dist/application/EvidenceBundleCommands.js +30 -7
  61. package/dist/application/EvidenceBundleFiles.js +29 -7
  62. package/dist/application/FunctionAnalysisEvidence.js +3 -0
  63. package/dist/application/GeminiClientSettings.js +25 -13
  64. package/dist/application/HermesConfigurationYaml.js +272 -0
  65. package/dist/application/InventoryProjectionEvidence.js +0 -1
  66. package/dist/application/InvestigationProviders.js +13 -3
  67. package/dist/application/JsonFiles.js +110 -20
  68. package/dist/application/JsonInputFile.js +220 -62
  69. package/dist/application/LinuxHopper.js +126 -48
  70. package/dist/application/MacHopper.js +21 -17
  71. package/dist/application/MacHopperPaths.js +40 -0
  72. package/dist/application/{MipsElfAbiFlags.js → MipsElfMetadata.js} +70 -9
  73. package/dist/application/MipsElfSharedLoad.js +164 -0
  74. package/dist/application/MipsGnuAttributes.js +90 -0
  75. package/dist/application/MsixPackageStorage.js +133 -0
  76. package/dist/application/ProgressReporter.js +1 -1
  77. package/dist/application/ProviderOperationExecution.js +11 -3
  78. package/dist/application/ReconstructionCoverageService.js +0 -1
  79. package/dist/application/ReconstructionObligationCandidates.js +3 -2
  80. package/dist/application/ReconstructionObligationLedgerDiagnostics.js +2 -2
  81. package/dist/application/ReconstructionObligationLedgerEvaluation.js +15 -33
  82. package/dist/application/ReconstructionObligationLedgerProjection.js +3 -72
  83. package/dist/application/ReconstructionObligationLedgerService.js +3 -1
  84. package/dist/application/ReconstructionObligationOriginalCases.js +2 -1
  85. package/dist/application/ReferenceSourceImport.js +24 -8
  86. package/dist/application/ReferenceSourceImportEntries.js +22 -21
  87. package/dist/application/ReferenceSourceImportTypes.js +0 -1
  88. package/dist/application/ReferenceSourceVcsAdapter.js +33 -16
  89. package/dist/application/RegularFileRead.js +46 -18
  90. package/dist/application/Setup.js +36 -10
  91. package/dist/application/SetupClientConfiguration.js +206 -37
  92. package/dist/application/SetupClients.js +12 -6
  93. package/dist/application/SetupHost.js +66 -24
  94. package/dist/application/SetupInstallFailure.js +42 -2
  95. package/dist/application/SetupPlan.js +79 -50
  96. package/dist/application/SetupRecoveryBackup.js +66 -0
  97. package/dist/application/SetupRegistrationEnvironment.js +2 -1
  98. package/dist/application/SetupSkill.js +323 -76
  99. package/dist/application/SupportedClients.js +162 -28
  100. package/dist/application/TypeScriptEmittedSourceCandidates.js +26 -0
  101. package/dist/application/Uninstall.js +273 -82
  102. package/dist/application/UninstallFailure.js +14 -0
  103. package/dist/application/Update.js +54 -25
  104. package/dist/application/UpdateFailure.js +17 -0
  105. package/dist/application/UpdateMaintenance.js +11 -29
  106. package/dist/application/UpdateRuntime.js +141 -27
  107. package/dist/application/WebModuleTraceService.js +7 -0
  108. package/dist/application/WebNetworkCaptureService.js +16 -7
  109. package/dist/application/WebSourceLocationService.js +20 -4
  110. package/dist/application/WindowsCapabilities.js +18 -15
  111. package/dist/application/WorkflowEvidence.js +24 -1
  112. package/dist/application/analysisView/AnalysisViewService.js +90 -12
  113. package/dist/application/android/AndroidPackageInspection.js +25 -0
  114. package/dist/application/android/AndroidSearchEvidenceSummary.js +100 -0
  115. package/dist/application/binary/AnalysisProviderEvaluation.js +1 -1
  116. package/dist/application/binary/AnalysisProviderRegistry.js +36 -21
  117. package/dist/application/binary/AnalysisSnapshotCache.js +41 -20
  118. package/dist/application/binary/AnalysisSnapshotFiles.js +75 -9
  119. package/dist/application/binary/BinarySession.js +248 -96
  120. package/dist/application/binary/BinarySessionExecution.js +5 -4
  121. package/dist/application/binary/BinarySessionOpen.js +13 -6
  122. package/dist/application/binary/BinarySessionRecords.js +33 -7
  123. package/dist/application/binary/BinarySessionStatus.js +93 -23
  124. package/dist/application/binary/BinaryTargetSummary.js +9 -0
  125. package/dist/application/binary/CompositeProvider.js +71 -28
  126. package/dist/application/binary/LazyAnalysisProvider.js +3 -1
  127. package/dist/application/binary/SessionProviderRouter.js +5 -2
  128. package/dist/application/binaryDiagnostics/BinaryLayoutService.js +11 -1
  129. package/dist/application/binaryDiagnostics/PeResourcesService.js +3 -0
  130. package/dist/application/binaryDiagnostics/RecordedCrashService.js +14 -3
  131. package/dist/application/captures/PacketCaptureService.js +83 -0
  132. package/dist/application/closeOwnedWebResources.js +7 -0
  133. package/dist/application/electron/ElectronFusePort.js +1 -0
  134. package/dist/application/electron/ElectronFuseService.js +80 -0
  135. package/dist/application/evm/EvmInterfaceService.js +1 -0
  136. package/dist/application/flutter/DartAotInspection.js +26 -0
  137. package/dist/application/flutter/FlutterBuildAnalysisPort.js +1 -0
  138. package/dist/application/flutter/FlutterBuildAnalysisService.js +13 -0
  139. package/dist/application/frida/FridaInstrumentationPort.js +8 -0
  140. package/dist/application/frida/FridaInstrumentationService.js +310 -0
  141. package/dist/application/frida/fridaInputErrors.js +17 -0
  142. package/dist/application/go/GoBinaryPort.js +1 -0
  143. package/dist/application/go/GoBinaryService.js +80 -0
  144. package/dist/application/harmony/HarmonyApplicationService.js +17 -0
  145. package/dist/application/investigation/EvidenceLedger.js +40 -14
  146. package/dist/application/investigation/InvestigationRecords.js +12 -21
  147. package/dist/application/investigation/UnknownEvidence.js +22 -18
  148. package/dist/application/javascript/ElectronActiveObservationService.js +55 -25
  149. package/dist/application/javascript/ElectronBoundaryAnalysis.js +17 -3
  150. package/dist/application/javascript/ElectronBoundaryGraph.js +2 -0
  151. package/dist/application/javascript/ElectronBoundaryGraphCallPaths.js +144 -0
  152. package/dist/application/javascript/ElectronBoundaryGraphIpc.js +26 -7
  153. package/dist/application/javascript/ElectronBoundaryGraphNative.js +1 -1
  154. package/dist/application/javascript/ElectronBoundaryGraphWindows.js +47 -9
  155. package/dist/application/javascript/ElectronObservationService.js +0 -1
  156. package/dist/application/javascript/JavaScriptApplicationEvidence.js +15 -0
  157. package/dist/application/javascript/JavaScriptApplicationService.js +29 -14
  158. package/dist/application/javascript/JavaScriptApplicationWorkflowService.js +0 -1
  159. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +86 -34
  160. package/dist/application/javascript/JavaScriptArtifactGraphAccumulator.js +51 -21
  161. package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +31 -7
  162. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +25 -4
  163. package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +25 -14
  164. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +147 -41
  165. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +156 -7
  166. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +892 -181
  167. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +43 -30
  168. package/dist/application/javascript/JavaScriptArtifactReconstructionInput.js +2 -0
  169. package/dist/application/javascript/JavaScriptModuleRelationships.js +33 -11
  170. package/dist/application/javascript/JavaScriptRecoveryService.js +29 -9
  171. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +2 -1
  172. package/dist/application/javascript/JavaScriptRuntimeReconciliationService.js +0 -1
  173. package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +42 -26
  174. package/dist/application/javascript/JavaScriptSemanticGraphElectronProjection.js +67 -0
  175. package/dist/application/javascript/JavaScriptSemanticTraceService.js +0 -1
  176. package/dist/application/managed/ManagedApplicationGraphService.js +0 -1
  177. package/dist/application/managed/ManagedMemberComparisonService.js +72 -54
  178. package/dist/application/managed/ManagedNativeVerificationService.js +0 -1
  179. package/dist/application/managed/ManagedReconstructionService.js +0 -1
  180. package/dist/application/native/NativeCallRoutes.js +54 -34
  181. package/dist/application/native/NativeDispatchMetadataInspection.js +6 -2
  182. package/dist/application/native/NativeUiActionTrace.js +35 -22
  183. package/dist/application/native/NativeValueTrace.js +57 -23
  184. package/dist/application/pcap/PcapAnalysisPort.js +1 -0
  185. package/dist/application/pcap/PcapAnalysisService.js +24 -0
  186. package/dist/application/process/ProcessCli.js +33 -13
  187. package/dist/application/reverse/ReverseEngineeringCommandPort.js +1 -0
  188. package/dist/application/reverse/ReverseEngineeringService.js +688 -0
  189. package/dist/application/rust/RustBinaryPort.js +1 -0
  190. package/dist/application/rust/RustBinaryService.js +80 -0
  191. package/dist/application/signals/SignalRecordingService.js +83 -0
  192. package/dist/application/sqlite/SqliteDatabaseCapability.js +30 -0
  193. package/dist/application/sqlite/SqliteDatabasePort.js +1 -0
  194. package/dist/application/sqlite/SqliteDatabaseService.js +76 -0
  195. package/dist/application/wasm/WasmArtifactPort.js +1 -0
  196. package/dist/application/wasm/WasmArtifactService.js +77 -0
  197. package/dist/application/wasm/WasmInterfaceComparisonService.js +188 -0
  198. package/dist/artifacts/ArtifactHash.js +13 -2
  199. package/dist/artifacts/ArtifactPaths.js +4 -7
  200. package/dist/artifacts/ArtifactProvider.js +8 -4
  201. package/dist/artifacts/ArtifactReader.js +13 -1
  202. package/dist/artifacts/ArtifactResourceScope.js +12 -3
  203. package/dist/artifacts/AsarArtifactReader.js +177 -112
  204. package/dist/artifacts/AsarListing.js +78 -0
  205. package/dist/artifacts/DirectoryArtifactReader.js +94 -24
  206. package/dist/artifacts/MachOSliceArtifactReader.js +83 -10
  207. package/dist/artifacts/NativeDmgArtifactReader.js +161 -58
  208. package/dist/artifacts/OrderedReads.js +57 -0
  209. package/dist/artifacts/SafeOutputTree.js +19 -4
  210. package/dist/artifacts/ZipArtifactReader.js +117 -12
  211. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +77 -68
  212. package/dist/artifacts/apple/DylibResolutionReader.js +11 -5
  213. package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +57 -21
  214. package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +64 -12
  215. package/dist/artifacts/apple/KeyedArchiveReader.js +3 -2
  216. package/dist/artifacts/apple/MachoLoadCommandReader.js +62 -61
  217. package/dist/artifacts/apple/NibArchive.js +11 -4
  218. package/dist/artifacts/apple/PlistNumberLiterals.js +2 -2
  219. package/dist/artifacts/extraction/ArtifactExtraction.js +6 -7
  220. package/dist/artifacts/hostExecutableMarking.js +16 -0
  221. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +134 -34
  222. package/dist/artifacts/inventory/ArtifactInventory.js +2 -2
  223. package/dist/artifacts/inventory/classify.js +32 -15
  224. package/dist/artifacts/inventory/reader.js +36 -21
  225. package/dist/artifacts/inventory/scanCanonical.js +25 -18
  226. package/dist/artifacts/inventory/scanReader.js +36 -10
  227. package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +163 -7
  228. package/dist/artifacts/readStableArtifact.js +28 -4
  229. package/dist/browser/BrowserProcessStartup.js +20 -9
  230. package/dist/browser/BrowserScenarioPartialObservation.js +60 -44
  231. package/dist/browser/BrowserScenarioSecrets.js +176 -46
  232. package/dist/browser/CdpBrowserProvider.js +70 -99
  233. package/dist/browser/CdpCaptureDocuments.js +231 -69
  234. package/dist/browser/CdpCaptureDomSvg.js +94 -61
  235. package/dist/browser/CdpCaptureEventBodyShapes.js +9 -5
  236. package/dist/browser/CdpCaptureEventHandlers.js +23 -12
  237. package/dist/browser/CdpCaptureEvents.js +49 -10
  238. package/dist/browser/CdpCaptureStorage.js +22 -5
  239. package/dist/browser/CdpCaptureStorageFingerprints.js +54 -11
  240. package/dist/browser/CdpCaptureValues.js +0 -1
  241. package/dist/browser/CdpConnection.js +3 -4
  242. package/dist/browser/CdpElectronInspection.js +14 -4
  243. package/dist/browser/CdpElectronProvider.js +7 -2
  244. package/dist/browser/CdpElectronScripts.js +2 -1
  245. package/dist/browser/CdpElectronWorkers.js +7 -2
  246. package/dist/browser/CdpEndpoint.js +143 -17
  247. package/dist/browser/CdpObservationSession.js +24 -8
  248. package/dist/browser/CdpPageCapture.js +66 -16
  249. package/dist/browser/CdpPageCaptureScripts.js +4 -3
  250. package/dist/browser/CdpPageCaptureWorkers.js +5 -1
  251. package/dist/browser/CdpSafeMetadata.js +9 -5
  252. package/dist/browser/CdpScreenshot.js +5 -14
  253. package/dist/browser/CdpSnapshotStrings.js +21 -0
  254. package/dist/browser/CdpTargetSession.js +29 -2
  255. package/dist/browser/CdpWebMcpDiscovery.js +23 -6
  256. package/dist/browser/PlaywrightBrowserScenarioProvider.js +4 -4
  257. package/dist/browser/PlaywrightElectronActiveActions.js +4 -4
  258. package/dist/browser/PlaywrightElectronActiveProjection.js +16 -4
  259. package/dist/browser/PlaywrightElectronActiveProvider.js +103 -30
  260. package/dist/browser/PlaywrightExecutionBoundary.js +2 -2
  261. package/dist/browser/PlaywrightScenarioBrowser.js +9 -6
  262. package/dist/browser/PlaywrightScenarioEvents.js +198 -36
  263. package/dist/browser/PlaywrightScenarioServiceWorkers.js +249 -0
  264. package/dist/browser/PlaywrightScenarioSession.js +61 -29
  265. package/dist/browser/WebSourceMapFetcher.js +163 -80
  266. package/dist/browser/assets/LocalWebScriptArtifacts.js +24 -3
  267. package/dist/browser/assets/PublishWebScripts.js +13 -2
  268. package/dist/browser/assets/ScenarioScriptCapture.js +2 -1
  269. package/dist/browser/assets/WebArtifactReads.js +11 -3
  270. package/dist/browser/assets/WebSourceLocationArtifacts.js +38 -3
  271. package/dist/browser/history/CaptureFailures.js +22 -8
  272. package/dist/browser/history/CaptureFormatError.js +2 -2
  273. package/dist/browser/history/{HarJson.js → CaptureJson.js} +14 -4
  274. package/dist/browser/history/CaptureRedaction.js +16 -3
  275. package/dist/browser/history/CaptureRelease.js +20 -2
  276. package/dist/browser/history/HarCapture.js +16 -23
  277. package/dist/browser/history/HarSchema.js +36 -36
  278. package/dist/browser/history/HistoricalCaptureDecoder.js +93 -25
  279. package/dist/browser/history/NodeCaptureAdapter.js +48 -0
  280. package/dist/browser/history/{HarCaptureProcess.js → NodeCaptureProcess.js} +18 -9
  281. package/dist/browser/history/QlogCapture.js +385 -0
  282. package/dist/browser/history/SazCapture.js +130 -0
  283. package/dist/browser/history/SazHttp.js +61 -0
  284. package/dist/browser/history/SazMetadata.js +92 -0
  285. package/dist/browser/history/SazProjection.js +90 -0
  286. package/dist/browser/modules/NativeModuleResolver.js +177 -110
  287. package/dist/browser/modules/WebModuleArtifacts.js +40 -3
  288. package/dist/browser/network/PlaywrightNetworkContent.js +40 -5
  289. package/dist/browser/network/PlaywrightScenarioNetwork.js +125 -11
  290. package/dist/captures/TsharkCaptureProvider.js +370 -0
  291. package/dist/captures/parseFieldDiscovery.js +66 -0
  292. package/dist/captures/parsePacketOutput.js +21 -0
  293. package/dist/catalogIdentity.js +46 -35
  294. package/dist/cli/adbCommands.js +2 -2
  295. package/dist/cli/analysisViewCommands.js +1 -1
  296. package/dist/cli/androidCommands.js +11 -2
  297. package/dist/cli/apktoolCommands.js +10 -11
  298. package/dist/cli/applicationCommands.js +44 -17
  299. package/dist/cli/artifactCommands.js +1 -1
  300. package/dist/cli/binaryDiagnosticsCommands.js +14 -10
  301. package/dist/cli/browserAdvancedCommands.js +37 -24
  302. package/dist/cli/browserCommands.js +46 -29
  303. package/dist/cli/captureCommands.js +72 -0
  304. package/dist/cli/cliResultOutput.js +188 -0
  305. package/dist/cli/coreBinaryCommands.js +73 -27
  306. package/dist/cli/coreNativeCommands.js +53 -31
  307. package/dist/cli/cutterCommands.js +50 -0
  308. package/dist/cli/electronCommands.js +45 -3
  309. package/dist/cli/evmCommands.js +4 -5
  310. package/dist/cli/finishAnalysisCommand.js +44 -0
  311. package/dist/cli/firmwareCommands.js +14 -36
  312. package/dist/cli/flutterCommands.js +69 -0
  313. package/dist/cli/fridaCommands.js +211 -0
  314. package/dist/cli/goCommands.js +20 -0
  315. package/dist/cli/interactiveSetup.js +11 -1
  316. package/dist/cli/javascriptApplicationAnalysis.js +1 -1
  317. package/dist/cli/javascriptRecoveryCommands.js +7 -0
  318. package/dist/cli/jsonOutput.js +2 -2
  319. package/dist/cli/managedCommands.js +31 -3
  320. package/dist/cli/options.js +20 -2
  321. package/dist/cli/pcapCommands.js +47 -0
  322. package/dist/cli/processCommands.js +1 -1
  323. package/dist/cli/reverseEngineeringCommands.js +268 -0
  324. package/dist/cli/rustCommands.js +21 -0
  325. package/dist/cli/setupCommands.js +40 -12
  326. package/dist/cli/signalCommands.js +72 -0
  327. package/dist/cli/sqliteCommands.js +79 -0
  328. package/dist/cli/utilityCommands.js +116 -74
  329. package/dist/cli/wasmCommands.js +61 -0
  330. package/dist/cli/webModuleCommands.js +36 -32
  331. package/dist/cli/webNetworkCaptureCommands.js +8 -8
  332. package/dist/cli-runtime/AbortablePromise-BVBemxbD.js +123 -0
  333. package/dist/cli-runtime/AnalysisProvider-D0Us2OTk.js +27 -0
  334. package/dist/cli-runtime/AnalysisSnapshotCache-BXS0wRd2.js +710 -0
  335. package/dist/cli-runtime/ArtifactReader-BXkffc1D.js +55 -0
  336. package/dist/cli-runtime/ArtifactResourceScope-DQWTcUwE.js +114 -0
  337. package/dist/cli-runtime/AsarHeader-CnzOzYEH.js +31 -0
  338. package/dist/cli-runtime/BinarySessionStatus-DnMxMk-r.js +211 -0
  339. package/dist/cli-runtime/BinaryTargetResolver-CVIJ_s1A.js +1308 -0
  340. package/dist/cli-runtime/BoundedFileBytes-BU30odTm.js +39 -0
  341. package/dist/cli-runtime/CdpTargetSession-DGX5pV9w.js +650 -0
  342. package/dist/cli-runtime/ClientConfigPath-c6jr6INc.js +36 -0
  343. package/dist/cli-runtime/ClientConfigurationDocument-ffQ9X0Se.js +1957 -0
  344. package/dist/cli-runtime/ClientRegistrationStatus-DszCyPEU.js +509 -0
  345. package/dist/cli-runtime/CurrentEntrypointPath-D5FRNdkq.js +14 -0
  346. package/dist/cli-runtime/DirectAnalysis-BgvAtpN3.js +528 -0
  347. package/dist/cli-runtime/Doctor-DIpf_I7N.js +588 -0
  348. package/dist/cli-runtime/ElectronFileScope-dpHm2nrS.js +1054 -0
  349. package/dist/cli-runtime/ExecFileOutput-BEQs-lDD.js +117 -0
  350. package/dist/cli-runtime/IdaConfiguration-CtGP7EKo.js +1094 -0
  351. package/dist/cli-runtime/InterfaceBuilderDecodeBudget-D4omRUe4.js +279 -0
  352. package/dist/cli-runtime/InventoryProjectionEvidence-DIsI4DJ6.js +49 -0
  353. package/dist/cli-runtime/InvestigationProviders-DoQRIHii.js +117 -0
  354. package/dist/cli-runtime/JavaScriptApplicationEvidenceGraph-D5aI_FSJ.js +160 -0
  355. package/dist/cli-runtime/JavaScriptApplicationWorkflowEvidence-Bz4-V0Ct.js +75 -0
  356. package/dist/cli-runtime/JavaScriptWorkerMemoryLimit-B1bwMM1a.js +86 -0
  357. package/dist/cli-runtime/JebMcpEndpoint-DUytrn5G.js +428 -0
  358. package/dist/cli-runtime/JsonFiles-DQa1PRKy.js +708 -0
  359. package/dist/cli-runtime/MacCodeSignature-MgYbRK_H.js +24 -0
  360. package/dist/cli-runtime/MacHopperPaths-CwL5lYPX.js +434 -0
  361. package/dist/cli-runtime/MachoLoadCommandReader-C7e074Ze.js +510 -0
  362. package/dist/cli-runtime/ManagedSnapshot-rqyBHcdL.js +4185 -0
  363. package/dist/cli-runtime/OwnedCommand-Cj9GhmPR.js +112 -0
  364. package/dist/cli-runtime/PrivateRuntimeRoot-DAy0PiBM.js +263 -0
  365. package/dist/cli-runtime/ProcessOwnership-DXC5-UWt.js +1378 -0
  366. package/dist/cli-runtime/ProviderDeadline-8m2pFRDc.js +122 -0
  367. package/dist/cli-runtime/RegularFile-B_6KPCNQ.js +139 -0
  368. package/dist/cli-runtime/RegularFileRead-DVlC5faM.js +125 -0
  369. package/dist/cli-runtime/SafeOutputTree-D6U15GXd.js +524 -0
  370. package/dist/cli-runtime/SetupHost-FkYWswsq.js +1098 -0
  371. package/dist/cli-runtime/SupportedClients-DaX6Lt2d.js +1049 -0
  372. package/dist/cli-runtime/UninstallFailure-1blyKXHE.js +22 -0
  373. package/dist/cli-runtime/Update-CbTC_eg1.js +143 -0
  374. package/dist/cli-runtime/UpdateFailure-BcFNxEZZ.js +24 -0
  375. package/dist/cli-runtime/ZipArtifactReader-B8ZgNe4D.js +248 -0
  376. package/dist/cli-runtime/analysisErrorCleanup-Do6YeeoD.js +32 -0
  377. package/dist/cli-runtime/analysisErrorPresentation-DGt7TdsH.js +497 -0
  378. package/dist/cli-runtime/appleArchiveFormat-tVoI2ykA.js +263 -0
  379. package/dist/cli-runtime/application__DirectAnalysisStatus-DpOejOf0.js +150 -0
  380. package/dist/cli-runtime/application__EnhancedTools-oFE2bOjs.js +1787 -0
  381. package/dist/cli-runtime/application__FunctionAnalysisEvidence-B6osuhvW.js +41 -0
  382. package/dist/cli-runtime/application__ReconstructionCoverageService-DN3wTFQj.js +32 -0
  383. package/dist/cli-runtime/application__ReconstructionObligationLedgerService-CKcTppX9.js +815 -0
  384. package/dist/cli-runtime/application__Setup-XpMaRNjy.js +514 -0
  385. package/dist/cli-runtime/application__Uninstall-_23pU2yB.js +427 -0
  386. package/dist/cli-runtime/application__UpdateRuntime-DPvY8ohd.js +345 -0
  387. package/dist/cli-runtime/application__android__AndroidApplicationService-CFgIFPM4.js +31 -0
  388. package/dist/cli-runtime/application__apple__AppleApplicationService-Db6QCsun.js +31 -0
  389. package/dist/cli-runtime/application__harmony__HarmonyApplicationService-CFjocHoK.js +31 -0
  390. package/dist/cli-runtime/application__javascript__ElectronActiveObservationService-CmVDUI_Z.js +118 -0
  391. package/dist/cli-runtime/application__javascript__ElectronObservationService-DEsR8KDN.js +63 -0
  392. package/dist/cli-runtime/application__javascript__JavaScriptApplicationService-CCkp8KBh.js +11450 -0
  393. package/dist/cli-runtime/application__javascript__JavaScriptApplicationWorkflowService-lPy0tzr3.js +2329 -0
  394. package/dist/cli-runtime/application__javascript__JavaScriptRuntimeReconciliationService-DWleA8K9.js +88 -0
  395. package/dist/cli-runtime/application__javascript__JavaScriptSemanticTraceService-DkALH4rL.js +299 -0
  396. package/dist/cli-runtime/artifactOperationError-B7n03FbD.js +27 -0
  397. package/dist/cli-runtime/artifacts__ArtifactProvider-zXI0QjSL.js +2187 -0
  398. package/dist/cli-runtime/binary-BVOr2mgE.js +14206 -0
  399. package/dist/cli-runtime/browserObservationError-Dx6xRTjb.js +40 -0
  400. package/dist/cli-runtime/catalogIdentity-DLoXgfIR.js +933 -0
  401. package/dist/cli-runtime/cli.js +41848 -0
  402. package/dist/cli-runtime/cliOutput-BC1BdAcB.js +122 -0
  403. package/dist/cli-runtime/cliOutput.js +5 -0
  404. package/dist/cli-runtime/cliResultOutput-DsRMI8CJ.js +780 -0
  405. package/dist/cli-runtime/cliResultOutput.js +5 -0
  406. package/dist/cli-runtime/composition__browserScenario-DHXC1a8n.js +2927 -0
  407. package/dist/cli-runtime/composition__electronObservation-GecK2EID.js +555 -0
  408. package/dist/cli-runtime/composition__electronScenario-CEZnVrAL.js +653 -0
  409. package/dist/cli-runtime/cutterToolContracts-TZH9EHr5.js +5134 -0
  410. package/dist/cli-runtime/doctorRuntime-BE5ZX8it.js +258 -0
  411. package/dist/cli-runtime/dotnet__ManagedStaticProvider-C8_yZCDc.js +5 -0
  412. package/dist/cli-runtime/errorSchemas-CTRmvMl3.js +601 -0
  413. package/dist/cli-runtime/javascriptApplicationAnalysis-HgMzVMQw.js +2068 -0
  414. package/dist/cli-runtime/javascriptExportReturnShapeProjection-Dg00g35t.js +78 -0
  415. package/dist/cli-runtime/javascriptExportShapeComparisonSchemas-BYnoIqIk.js +1242 -0
  416. package/dist/cli-runtime/javascriptRuntimeReconciliation-DNjDoL3S.js +1507 -0
  417. package/dist/cli-runtime/javascriptRuntimeReconciliationSchemas-BWpGWNcI.js +247 -0
  418. package/dist/cli-runtime/javascriptSemanticTraceSchemas-BTCNcvbc.js +126 -0
  419. package/dist/cli-runtime/lipo-DSWP6fv-.js +396 -0
  420. package/dist/cli-runtime/logger-CQQCI4a2.js +48 -0
  421. package/dist/cli-runtime/machoContainer-C8BIkkq3.js +172 -0
  422. package/dist/cli-runtime/managedApplicationGraph-B08jb3jq.js +1130 -0
  423. package/dist/cli-runtime/managedToolContracts-D60QmIYj.js +99 -0
  424. package/dist/cli-runtime/mcpDoctor.js +359 -0
  425. package/dist/cli-runtime/mcpStartupPolicy-CVVSOmRc.js +21 -0
  426. package/dist/cli-runtime/native__NativeMacOSProvider-YBTvUeJO.js +4875 -0
  427. package/dist/cli-runtime/officialToolContracts-CCFF0an9.js +1501 -0
  428. package/dist/cli-runtime/propertyListKeys-G8e74YWb.js +248 -0
  429. package/dist/cli-runtime/providerAdapterError-DAjhICdr.js +25 -0
  430. package/dist/cli-runtime/providerCleanupError-Ceq8f0wK.js +27 -0
  431. package/dist/cli-runtime/providerIdentities-Ao1XTvwx.js +31 -0
  432. package/dist/cli-runtime/providerStartupTimeout-B2tF2LtZ.js +17 -0
  433. package/dist/cli-runtime/readFileHandleChunks-dp60iZ6v.js +38 -0
  434. package/dist/cli-runtime/reconstructionObligationLedgerSchemas-Bao0xMr-.js +19478 -0
  435. package/dist/cli-runtime/rolldown-runtime-DXoylpqc.js +121 -0
  436. package/dist/cli-runtime/runtimeVersion-CMGd0bDu.js +23 -0
  437. package/dist/cli-runtime/safeJson-DKKACtdy.js +25 -0
  438. package/dist/cli-runtime/scanCanonical-KP4T9jSl.js +2724 -0
  439. package/dist/cli-runtime/snapshotEnvironment-D_tWyOub.js +813 -0
  440. package/dist/cli-runtime/toolContracts-D2FOG_Nb.js +3721 -0
  441. package/dist/cli-runtime/toolOutputSchemaGroups-DRiYs1je.js +12070 -0
  442. package/dist/cli-runtime/workflowInputError-n8Oo-bLA.js +26 -0
  443. package/dist/cli.js +38 -5
  444. package/dist/cliBrowserScenarioCommands.js +39 -4
  445. package/dist/cliCommandNames.js +48 -0
  446. package/dist/cliEvidenceCommands.js +0 -1
  447. package/dist/cliJavaScriptRuntimeCommands.js +16 -14
  448. package/dist/cliJsonInput.js +12 -4
  449. package/dist/cliLogging.js +50 -14
  450. package/dist/cliObservationOptions.js +6 -0
  451. package/dist/cliOutput.js +38 -5
  452. package/dist/composition/binary.js +4 -0
  453. package/dist/composition/captures.js +3 -0
  454. package/dist/composition/directAnalysis.js +28 -11
  455. package/dist/composition/electronFuses.js +4 -0
  456. package/dist/composition/evm.js +12 -0
  457. package/dist/composition/flutter.js +3 -0
  458. package/dist/composition/go.js +4 -0
  459. package/dist/composition/javascriptAnalysisWorkerProcess.js +5 -4
  460. package/dist/composition/jeb.js +33 -4
  461. package/dist/composition/pcap.js +3 -0
  462. package/dist/composition/resolveWindowsProviderExecutable.js +61 -0
  463. package/dist/composition/reverseEngineering.js +29 -0
  464. package/dist/composition/rust.js +4 -0
  465. package/dist/composition/signals.js +3 -0
  466. package/dist/composition/sqlite.js +4 -0
  467. package/dist/composition/wasm.js +22 -0
  468. package/dist/composition/webNetworkCaptures.js +7 -2
  469. package/dist/config/environment.js +45 -4
  470. package/dist/config/ghidraDisabledAnalyzers.js +25 -0
  471. package/dist/config/homeDirectory.js +9 -6
  472. package/dist/config/mcpInputSchemaProfile.js +4 -0
  473. package/dist/config/mcpOutputSchemaProfile.js +22 -0
  474. package/dist/config/parseConfig.js +21 -31
  475. package/dist/config/parsers.js +4 -3
  476. package/dist/config/{ghidraStartupTimeout.js → providerStartupTimeout.js} +7 -3
  477. package/dist/contracts/adb/adbToolContracts.js +7 -7
  478. package/dist/contracts/analysisDetail.js +6 -3
  479. package/dist/contracts/analysisViewApiSurfaceExample.js +68 -0
  480. package/dist/contracts/analysisViewToolContracts.js +24 -3
  481. package/dist/contracts/android/androidToolContracts.js +17 -8
  482. package/dist/contracts/applicationToolContracts.js +17 -2
  483. package/dist/contracts/artifactToolContracts.js +14 -2
  484. package/dist/contracts/browserToolContracts.js +1 -0
  485. package/dist/contracts/captures/captureToolContracts.js +42 -0
  486. package/dist/contracts/compactInputSchema.js +26 -6
  487. package/dist/contracts/cutterToolContracts.js +84 -0
  488. package/dist/contracts/enhancedToolContracts.js +2 -2
  489. package/dist/contracts/evm/evmToolContracts.js +30 -15
  490. package/dist/contracts/firmware/firmwareToolContracts.js +1 -1
  491. package/dist/contracts/flutter/flutterToolContracts.js +47 -0
  492. package/dist/contracts/fridaRemoteAddress.js +23 -0
  493. package/dist/contracts/fridaToolContracts.js +273 -0
  494. package/dist/contracts/functionComparisonExample.js +12 -1
  495. package/dist/contracts/gdbToolContracts.js +103 -0
  496. package/dist/contracts/go/goToolContracts.js +20 -0
  497. package/dist/contracts/hopperMemoryContracts.js +15 -0
  498. package/dist/contracts/inputSchemaPresentation.js +81 -14
  499. package/dist/contracts/investigationExamples.js +1 -0
  500. package/dist/contracts/javascript/electronToolContracts.js +27 -2
  501. package/dist/contracts/javascript/javascriptRecoveryToolContracts.js +13 -1
  502. package/dist/contracts/managed/managedToolContracts.js +43 -4
  503. package/dist/contracts/managed/managedWorkflowExamples.js +7 -1
  504. package/dist/contracts/managed/managedWorkflowToolContracts.js +4 -30
  505. package/dist/contracts/mobileApplicationGraphExamples.js +12 -0
  506. package/dist/contracts/native/binaryDiagnosticsToolContracts.js +3 -2
  507. package/dist/contracts/native/nativeToolContracts.js +10 -6
  508. package/dist/contracts/officialToolContracts.js +5 -5
  509. package/dist/contracts/pcap/pcapToolContracts.js +33 -0
  510. package/dist/contracts/providerSelection.js +1 -0
  511. package/dist/contracts/reconstructionReadinessExample.js +126 -119
  512. package/dist/contracts/reverseEngineeringToolContracts.js +52 -0
  513. package/dist/contracts/rizinDebugToolContracts.js +96 -0
  514. package/dist/contracts/rust/rustToolContracts.js +20 -0
  515. package/dist/contracts/sessionLifecycleInputs.js +34 -2
  516. package/dist/contracts/sessionToolContracts.js +2 -2
  517. package/dist/contracts/sessionToolSchemas.js +14 -0
  518. package/dist/contracts/signals/signalToolContracts.js +40 -0
  519. package/dist/contracts/sqlite/sqliteToolContracts.js +36 -0
  520. package/dist/contracts/toolContractExamples.js +29 -0
  521. package/dist/contracts/toolContractTypes.js +2 -0
  522. package/dist/contracts/toolContracts.js +26 -0
  523. package/dist/contracts/toolEffects.js +247 -8
  524. package/dist/contracts/toolOutputSchemaGroups.js +75 -32
  525. package/dist/contracts/toolOutputSchemaPrimitives.js +111 -10
  526. package/dist/contracts/toolSchemaMetadata.js +16 -2
  527. package/dist/contracts/unknownContractExamples.js +1 -1
  528. package/dist/contracts/wasm/wasmComparisonContracts.js +52 -0
  529. package/dist/contracts/wasm/wasmToolContracts.js +33 -0
  530. package/dist/contracts/webNetworkCaptureToolContracts.js +15 -4
  531. package/dist/cutter/CutterBridgeClient.js +621 -0
  532. package/dist/cutter/CutterBridgeService.js +139 -0
  533. package/dist/doctorRuntime.js +20 -8
  534. package/dist/domain/adb/adbDeviceAnalysis.js +26 -4
  535. package/dist/domain/analysisErrorBase.js +20 -0
  536. package/dist/domain/analysisErrorCleanup.js +1 -1
  537. package/dist/domain/analysisErrorCore.js +19 -0
  538. package/dist/domain/analysisErrorPresentation.js +58 -17
  539. package/dist/domain/analysisErrorProjection.js +31 -12
  540. package/dist/domain/analysisProfile.js +7 -3
  541. package/dist/domain/analysisSnapshot.js +311 -184
  542. package/dist/domain/analysisView/WebNetworkApiSurfaceAccumulator.js +414 -0
  543. package/dist/domain/analysisView/analysisView.js +366 -44
  544. package/dist/domain/analysisView/analysisViewCoverage.js +32 -0
  545. package/dist/domain/analysisView/analysisViewErrors.js +4 -0
  546. package/dist/domain/analysisView/analysisViewParent.js +12 -0
  547. package/dist/domain/analysisView/analysisViewText.js +29 -0
  548. package/dist/domain/analysisView/androidPackageView.js +102 -0
  549. package/dist/domain/analysisView/artifactInventoryView.js +140 -0
  550. package/dist/domain/analysisView/binaryLayoutView.js +11 -4
  551. package/dist/domain/analysisView/dartAotView.js +93 -0
  552. package/dist/domain/analysisView/evmInterfaceView.js +105 -0
  553. package/dist/domain/analysisView/interfaceBuilderView.js +182 -0
  554. package/dist/domain/analysisView/javascriptApplicationView.js +29 -28
  555. package/dist/domain/analysisView/machoView.js +186 -0
  556. package/dist/domain/analysisView/managedArtifactView.js +108 -0
  557. package/dist/domain/analysisView/managedMemberView.js +209 -0
  558. package/dist/domain/analysisView/nativeFunctionView.js +20 -25
  559. package/dist/domain/analysisView/pcapCaptureView.js +264 -0
  560. package/dist/domain/analysisView/qlogCaptureView.js +198 -0
  561. package/dist/domain/analysisView/wasmArtifactView.js +162 -0
  562. package/dist/domain/analysisView/webNetworkApiSurfaceView.js +123 -0
  563. package/dist/domain/analysisView/webNetworkCaptureView.js +388 -0
  564. package/dist/domain/android/androidAnalysis.js +36 -2
  565. package/dist/domain/android/androidApplication.js +32 -60
  566. package/dist/domain/apktool/apktoolResourceAnalysis.js +19 -7
  567. package/dist/domain/apple/appleApplication.js +31 -29
  568. package/dist/domain/apple/appleArchiveFormat.js +184 -0
  569. package/dist/domain/apple/appleAssetCatalog.js +15 -0
  570. package/dist/domain/apple/appleBundleAnatomy.js +1 -1
  571. package/dist/domain/apple/dyldPaths.js +9 -2
  572. package/dist/domain/apple/dylibResolution.js +19 -9
  573. package/dist/domain/apple/dylibResolutionFindings.js +8 -9
  574. package/dist/domain/apple/interfaceBuilderGraph.js +50 -26
  575. package/dist/domain/apple/interfaceBuilderKeyedArchive.js +28 -8
  576. package/dist/domain/apple/machoContainer.js +120 -8
  577. package/dist/domain/apple/machoCpuIdentity.js +4 -0
  578. package/dist/domain/apple/plistValue.js +6 -1
  579. package/dist/domain/artifactComparison.js +109 -32
  580. package/dist/domain/artifactDecompressionBudget.js +26 -0
  581. package/dist/domain/artifactGraph.js +23 -6
  582. package/dist/domain/artifactIdentity.js +4 -1
  583. package/dist/domain/artifactInspection.js +44 -2
  584. package/dist/domain/artifactInventoryEvidence.js +137 -39
  585. package/dist/domain/binaryTarget.js +251 -94
  586. package/dist/domain/binaryTargetTypes.js +14 -1
  587. package/dist/domain/browserNetworkEvidence.js +4 -0
  588. package/dist/domain/browserObservation.js +88 -29
  589. package/dist/domain/browserObservationSchemas.js +4 -1
  590. package/dist/domain/browserScenarioCapture.js +2 -1
  591. package/dist/domain/browserScenarioCaptureValues.js +26 -2
  592. package/dist/domain/browserScenarioDiff.js +120 -11
  593. package/dist/domain/browserScenarioDiffEvidence.js +46 -13
  594. package/dist/domain/browserScenarioDiffValues.js +10 -3
  595. package/dist/domain/browserScenarioNetworkComparison.js +158 -0
  596. package/dist/domain/browserScenarioNormalization.js +10 -13
  597. package/dist/domain/browserScenarioValues.js +2 -12
  598. package/dist/domain/browserSession.js +2 -2
  599. package/dist/domain/bundleComparison.js +1 -5
  600. package/dist/domain/callPath.js +40 -3
  601. package/dist/domain/captures/packetCapture.js +138 -0
  602. package/dist/domain/captures/packetFields.js +81 -0
  603. package/dist/domain/changedBehavior.js +43 -41
  604. package/dist/domain/comparisonSourceEvidence.js +6 -0
  605. package/dist/domain/dosCom.js +2 -2
  606. package/dist/domain/dosMz.js +52 -14
  607. package/dist/domain/electron/electronFuses.js +360 -0
  608. package/dist/domain/elfFixedHeader.js +42 -0
  609. package/dist/domain/evidence.js +103 -38
  610. package/dist/domain/evidenceBundle.js +58 -20
  611. package/dist/domain/evidenceErrors.js +5 -0
  612. package/dist/domain/evm/evmInterface.js +18 -4
  613. package/dist/domain/evm/solidityMetadata.js +70 -0
  614. package/dist/domain/explicitSensitiveFailure.js +42 -24
  615. package/dist/domain/firmware/firmwareAnalysis.js +29 -0
  616. package/dist/domain/flutter/flutterBuildAnalysis.js +141 -0
  617. package/dist/domain/functionCallCoverage.js +60 -0
  618. package/dist/domain/functionComparisonDimensions.js +101 -10
  619. package/dist/domain/functionComparisonNormalization.js +66 -10
  620. package/dist/domain/functionComparisonResults.js +7 -6
  621. package/dist/domain/functionComparisonSchemas.js +14 -3
  622. package/dist/domain/functionDossierEvidence.js +3 -0
  623. package/dist/domain/go/goBinary.js +96 -0
  624. package/dist/domain/harmony/harmonyApplication.js +156 -0
  625. package/dist/domain/hopperErrors.js +15 -16
  626. package/dist/domain/hopperPublisher.js +12 -0
  627. package/dist/domain/hopperValues.js +112 -34
  628. package/dist/domain/javascript/electronObservation.js +4 -1
  629. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +15 -14
  630. package/dist/domain/javascript/electronStaticAnalysisIpc.js +3 -1
  631. package/dist/domain/javascript/electronStaticAnalysisNative.js +19 -5
  632. package/dist/domain/javascript/electronStaticAnalysisValues.js +14 -8
  633. package/dist/domain/javascript/electronWrappedCallPaths.js +498 -0
  634. package/dist/domain/javascript/htmlArtifactReferences.js +94 -4
  635. package/dist/domain/javascript/javascriptAnalysisResourceControls.js +21 -1
  636. package/dist/domain/javascript/javascriptApplicationAnalysis.js +3 -0
  637. package/dist/domain/javascript/javascriptApplicationChangeGraph.js +7 -2
  638. package/dist/domain/javascript/javascriptApplicationEvidenceSchemas.js +1 -1
  639. package/dist/domain/javascript/javascriptApplicationGraph.js +17 -1
  640. package/dist/domain/javascript/javascriptApplicationGraphSchemas.js +1 -0
  641. package/dist/domain/javascript/javascriptApplicationProjectionResources.js +8 -0
  642. package/dist/domain/javascript/javascriptApplicationVersionKeys.js +31 -18
  643. package/dist/domain/javascript/javascriptArtifactFiles.js +2 -1
  644. package/dist/domain/javascript/javascriptAstFingerprint.js +51 -17
  645. package/dist/domain/javascript/javascriptAstValues.js +52 -3
  646. package/dist/domain/javascript/javascriptBootstrap.js +94 -0
  647. package/dist/domain/javascript/javascriptBootstrapIntegrity.js +372 -0
  648. package/dist/domain/javascript/javascriptBuiltinResourceMethods.js +8 -0
  649. package/dist/domain/javascript/javascriptBundledRequireOrigin.js +291 -0
  650. package/dist/domain/javascript/javascriptContextBridgeExposure.js +23 -0
  651. package/dist/domain/javascript/javascriptElectronMemberWrites.js +86 -22
  652. package/dist/domain/javascript/javascriptExportShapeComparisonSchemas.js +6 -5
  653. package/dist/domain/javascript/javascriptExportShapeVariants.js +1 -1
  654. package/dist/domain/javascript/javascriptFeatureSeed.js +33 -16
  655. package/dist/domain/javascript/javascriptFeatureTrace.js +9 -3
  656. package/dist/domain/javascript/javascriptFeatureTraceSchemas.js +42 -11
  657. package/dist/domain/javascript/javascriptIntrinsicInvocation.js +132 -0
  658. package/dist/domain/javascript/javascriptModuleDeclaration.js +28 -0
  659. package/dist/domain/javascript/javascriptModuleInterop.js +618 -0
  660. package/dist/domain/javascript/javascriptModuleResolutionMode.js +18 -0
  661. package/dist/domain/javascript/javascriptModuleSpecifier.js +5 -0
  662. package/dist/domain/javascript/javascriptNativeHandoff.js +0 -1
  663. package/dist/domain/javascript/javascriptPackageImportAliases.js +58 -0
  664. package/dist/domain/javascript/javascriptRecovery.js +12 -5
  665. package/dist/domain/javascript/javascriptRpcEndpoints.js +119 -41
  666. package/dist/domain/javascript/javascriptRuntimeLoadState.js +11 -0
  667. package/dist/domain/javascript/javascriptRuntimeObservation.js +4 -1
  668. package/dist/domain/javascript/javascriptRuntimeReconciliationCaptureParsing.js +10 -4
  669. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +15 -2
  670. package/dist/domain/javascript/javascriptRuntimeReconciliationResult.js +0 -1
  671. package/dist/domain/javascript/javascriptRuntimeReconciliationSchemas.js +5 -4
  672. package/dist/domain/javascript/javascriptRuntimeStaticCandidates.js +113 -11
  673. package/dist/domain/javascript/javascriptSemanticAmbientWrites.js +251 -0
  674. package/dist/domain/javascript/javascriptSemanticAnalysis.js +340 -108
  675. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +17 -34
  676. package/dist/domain/javascript/javascriptSemanticCallResolution.js +4 -3
  677. package/dist/domain/javascript/javascriptSemanticCallableStack.js +52 -0
  678. package/dist/domain/javascript/javascriptSemanticCalls.js +6 -11
  679. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +42 -55
  680. package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +428 -32
  681. package/dist/domain/javascript/javascriptSemanticDataEffects.js +14 -20
  682. package/dist/domain/javascript/javascriptSemanticDependencies.js +69 -0
  683. package/dist/domain/javascript/javascriptSemanticFingerprints.js +11 -14
  684. package/dist/domain/javascript/javascriptSemanticGraph.js +5 -1
  685. package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +0 -1
  686. package/dist/domain/javascript/javascriptSemanticIterationSources.js +2 -2
  687. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +224 -91
  688. package/dist/domain/javascript/javascriptSemanticMutationInitializers.js +199 -3
  689. package/dist/domain/javascript/javascriptSemanticObjectReferences.js +333 -43
  690. package/dist/domain/javascript/javascriptSemanticObjects.js +20 -16
  691. package/dist/domain/javascript/javascriptSemanticProjection.js +151 -43
  692. package/dist/domain/javascript/javascriptSemanticPromises.js +6 -9
  693. package/dist/domain/javascript/javascriptSemanticProvenance.js +5 -1
  694. package/dist/domain/javascript/javascriptSemanticQuery.js +7 -2
  695. package/dist/domain/javascript/javascriptSemanticReferenceSources.js +25 -0
  696. package/dist/domain/javascript/javascriptSemanticRequireOrigin.js +331 -8
  697. package/dist/domain/javascript/javascriptSemanticResources.js +6 -40
  698. package/dist/domain/javascript/javascriptSemanticReturnedReferences.js +14 -0
  699. package/dist/domain/javascript/javascriptSemanticReturns.js +37 -30
  700. package/dist/domain/javascript/javascriptSemanticState.js +39 -2
  701. package/dist/domain/javascript/javascriptSemanticTraversal.js +6 -4
  702. package/dist/domain/javascript/javascriptSemanticValues.js +227 -30
  703. package/dist/domain/javascript/javascriptSourceMapPaths.js +44 -17
  704. package/dist/domain/javascript/javascriptSourceParser.js +72 -3
  705. package/dist/domain/javascript/javascriptSourceSelection.js +11 -0
  706. package/dist/domain/javascript/javascriptStaticAnalysis.js +51 -17
  707. package/dist/domain/javascript/javascriptStaticAnalysisBundler.js +97 -23
  708. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +224 -44
  709. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +166 -56
  710. package/dist/domain/javascript/javascriptStaticAnalysisState.js +1 -0
  711. package/dist/domain/javascript/javascriptStaticAnalysisTypes.js +2 -1
  712. package/dist/domain/javascript/javascriptSymbolicBindings.js +836 -0
  713. package/dist/domain/javascript/javascriptSymbolicControlFlow.js +40 -0
  714. package/dist/domain/javascript/javascriptSymbolicValues.js +34 -0
  715. package/dist/domain/javascript/sourceToBundleComparison.js +3 -1
  716. package/dist/domain/javascript/sourceToBundleComparisonSchemas.js +2 -0
  717. package/dist/domain/javascript/sourceToBundleSignals.js +47 -13
  718. package/dist/domain/jsonValue.js +37 -12
  719. package/dist/domain/localPath.js +6 -3
  720. package/dist/domain/managed/managedApplicationGraph.js +5 -0
  721. package/dist/domain/managed/managedApplicationGraphCoverage.js +6 -2
  722. package/dist/domain/managed/managedApplicationGraphNodes.js +0 -1
  723. package/dist/domain/managed/managedArtifact.js +51 -1
  724. package/dist/domain/managed/managedInspectionEvidence.js +5 -6
  725. package/dist/domain/managed/managedMemberComparison.js +3 -0
  726. package/dist/domain/managed/managedMemberComparisonCoverage.js +23 -3
  727. package/dist/domain/managed/managedMemberComparisonItems.js +23 -19
  728. package/dist/domain/managed/managedMemberComparisonMatch.js +209 -18
  729. package/dist/domain/managed/managedNativeVerificationMatch.js +49 -26
  730. package/dist/domain/managed/managedNativeVerificationSchemas.js +13 -2
  731. package/dist/domain/managed/managedReconstruction.js +5 -8
  732. package/dist/domain/mobileApplicationGraphProjection.js +80 -0
  733. package/dist/domain/native/addressCoordinate.js +11 -0
  734. package/dist/domain/native/binaryLayout.js +2 -4
  735. package/dist/domain/native/bytePattern.js +100 -0
  736. package/dist/domain/native/nativeAotPe.js +2 -2
  737. package/dist/domain/native/nativeInspection.js +38 -4
  738. package/dist/domain/native/nativeInstruction.js +17 -2
  739. package/dist/domain/native/nativeInvestigationGraph.js +9 -5
  740. package/dist/domain/native/nativeLoadImage.js +19 -1
  741. package/dist/domain/native/nativeUiObservation.js +5 -6
  742. package/dist/domain/native/objcSwiftMetadata.js +4 -1
  743. package/dist/domain/native/peResources.js +8 -2
  744. package/dist/domain/native/recordedCrash.js +79 -10
  745. package/dist/domain/offsetDateTime.js +60 -0
  746. package/dist/domain/pcap/pcapAnalysis.js +91 -0
  747. package/dist/domain/pcap/pcapEvidence.js +15 -0
  748. package/dist/domain/peMachine.js +36 -0
  749. package/dist/domain/pngHeader.js +18 -0
  750. package/dist/domain/process/processCaptureCoverage.js +26 -3
  751. package/dist/domain/process/processCaptureExample.js +2 -0
  752. package/dist/domain/process/processCaptureValidation.js +33 -8
  753. package/dist/domain/process/processComparison.js +41 -13
  754. package/dist/domain/process/processScenario.js +7 -0
  755. package/dist/domain/process/processTraceEvaluation.js +54 -50
  756. package/dist/domain/process/processTraceSpecification.js +243 -89
  757. package/dist/domain/propertyListKeys.js +211 -11
  758. package/dist/domain/propertyListXmlText.js +20 -4
  759. package/dist/domain/providerAdapterError.js +0 -5
  760. package/dist/domain/providerConfigurationRefusal.js +12 -0
  761. package/dist/domain/providerSelectionError.js +2 -1
  762. package/dist/domain/qlogCapture.js +62 -0
  763. package/dist/domain/rawBinary.js +96 -0
  764. package/dist/domain/reconstructionCoverage.js +5 -1
  765. package/dist/domain/reconstructionCoverageEvaluation.js +18 -15
  766. package/dist/domain/reconstructionCoverageVerifierResults.js +35 -0
  767. package/dist/domain/reconstructionObligationLedgerIntegrity.js +114 -0
  768. package/dist/domain/reconstructionObligationLedgerSchemas.js +104 -1
  769. package/dist/domain/reconstructionReadiness.js +4 -8
  770. package/dist/domain/reconstructionReadinessJourneyFindings.js +4 -1
  771. package/dist/domain/reconstructionUnknowns.js +9 -1
  772. package/dist/domain/reconstructionVerification.js +54 -25
  773. package/dist/domain/recordedTransportUrl.js +59 -0
  774. package/dist/domain/referenceSourceClassification.js +27 -23
  775. package/dist/domain/referenceSourceGraph.js +51 -13
  776. package/dist/domain/referenceSourceImportParsing.js +23 -13
  777. package/dist/domain/referenceSourcePathIdentity.js +11 -1
  778. package/dist/domain/referenceSourceRequireBindings.js +5 -12
  779. package/dist/domain/referenceSourceSummary.js +92 -0
  780. package/dist/domain/relationshipCoverage.js +44 -0
  781. package/dist/domain/residualUnknown.js +93 -26
  782. package/dist/domain/reverseEngineering.js +31 -0
  783. package/dist/domain/runtimeVersion.js +8 -0
  784. package/dist/domain/rust/rustBinary.js +200 -0
  785. package/dist/domain/signals/annotationTextWindow.js +31 -0
  786. package/dist/domain/signals/signalDecoders.js +69 -0
  787. package/dist/domain/signals/signalRecording.js +115 -0
  788. package/dist/domain/sourceMapContents.js +10 -3
  789. package/dist/domain/sourceMapEnvelope.js +17 -11
  790. package/dist/domain/sqlite/sqliteDatabase.js +188 -0
  791. package/dist/domain/staticRuntimeCorrelation.js +7 -9
  792. package/dist/domain/swiftSymbolClassification.js +17 -0
  793. package/dist/domain/symbolAnalysis.js +16 -4
  794. package/dist/domain/urlComponents.js +6 -0
  795. package/dist/domain/wasm/wasmArtifact.js +119 -0
  796. package/dist/domain/wasm/wasmInterface.js +89 -0
  797. package/dist/domain/webBundleAnalysis.js +14 -3
  798. package/dist/domain/webBundleAnalyzerAst.js +7 -2
  799. package/dist/domain/webBundleAnalyzerInspection.js +54 -38
  800. package/dist/domain/webBundleAnalyzerResult.js +18 -6
  801. package/dist/domain/webCaptureDiff.js +140 -39
  802. package/dist/domain/webCaptureFrameComparison.js +49 -0
  803. package/dist/domain/webMcpDiscovery.js +5 -2
  804. package/dist/domain/webModuleImports.js +22 -27
  805. package/dist/domain/webModuleTrace.js +3 -8
  806. package/dist/domain/webNetworkCapture.js +101 -39
  807. package/dist/domain/webNetworkCaptureCoordinates.js +21 -0
  808. package/dist/domain/webRuntime.js +0 -1
  809. package/dist/domain/webScreenshot.js +2 -2
  810. package/dist/domain/webScriptArtifacts.js +2 -4
  811. package/dist/domain/webScriptExport.js +6 -8
  812. package/dist/domain/webScriptExportPlan.js +2 -2
  813. package/dist/domain/webSourceLocation.js +20 -9
  814. package/dist/domain/zipPackageFormat.js +29 -3
  815. package/dist/dotnet/ManagedArtifactInspector.js +27 -12
  816. package/dist/dotnet/ManagedDecodeBudget.js +66 -8
  817. package/dist/dotnet/ManagedMemberInspector.js +101 -21
  818. package/dist/dotnet/ManagedMemberInspectorCore.js +356 -140
  819. package/dist/dotnet/ManagedMemberInstructionDecoder.js +109 -37
  820. package/dist/dotnet/ManagedMemberOwnership.js +65 -0
  821. package/dist/dotnet/ManagedMemberPointers.js +69 -0
  822. package/dist/dotnet/ManagedMemberRows.js +179 -46
  823. package/dist/dotnet/ManagedMetadataHeaps.js +110 -24
  824. package/dist/dotnet/ManagedMetadataInventory.js +5 -5
  825. package/dist/dotnet/ManagedMetadataInventoryRows.js +36 -52
  826. package/dist/dotnet/ManagedMetadataLayout.js +9 -1
  827. package/dist/dotnet/ManagedMetadataRowSizes.js +1 -1
  828. package/dist/dotnet/ManagedMethodBodyReader.js +29 -11
  829. package/dist/dotnet/ManagedMethodSpecs.js +78 -0
  830. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +2 -2
  831. package/dist/dotnet/ManagedNativeBoundaryInspector.js +6 -13
  832. package/dist/dotnet/ManagedPeReader.js +55 -27
  833. package/dist/dotnet/ManagedReaderFailure.js +9 -0
  834. package/dist/dotnet/ManagedSnapshot.js +88 -0
  835. package/dist/dotnet/ManagedStaticProvider.js +55 -64
  836. package/dist/dotnet/ManagedTypeMemberLists.js +105 -0
  837. package/dist/dotnet/ManagedTypeNames.js +98 -0
  838. package/dist/dotnet/ManagedUserStrings.js +75 -0
  839. package/dist/electron/ElectronFusePath.js +247 -0
  840. package/dist/electron/ElectronFuseProvider.js +113 -0
  841. package/dist/electron/ElectronFuseReader.js +317 -0
  842. package/dist/evaluation/AgentEvaluationFixtures.js +194 -11
  843. package/dist/evaluation/CodexAgentEval.js +19 -40
  844. package/dist/evaluation/KnownAnswerEvaluation.js +126 -57
  845. package/dist/evm/EvmoleFailures.js +19 -14
  846. package/dist/evm/EvmoleInterfaceAdapter.js +5 -1
  847. package/dist/evm/EvmoleInterfaceProvider.js +141 -31
  848. package/dist/evm/EvmoleInterfaceWorker.js +2 -0
  849. package/dist/evm/SolidityMetadata.js +139 -0
  850. package/dist/filesystem/OwnedStagedOutput.js +138 -0
  851. package/dist/filesystem/RegularFile.js +48 -4
  852. package/dist/filesystem/readFileHandleChunks.js +17 -8
  853. package/dist/firmware/FirmwareCommand.js +2 -2
  854. package/dist/firmware/FirmwareFiles.js +8 -12
  855. package/dist/firmware/FirmwareProvider.js +2 -0
  856. package/dist/firmware/FirmwarePublication.js +218 -1
  857. package/dist/firmware/FirmwareReports.js +202 -12
  858. package/dist/flutter/DartElf.js +418 -0
  859. package/dist/flutter/ElfBuildId.js +137 -0
  860. package/dist/flutter/ElfLoadMap.js +91 -0
  861. package/dist/flutter/FlutterBuildProvider.js +826 -0
  862. package/dist/flutter/FlutterPayloadScan.js +180 -0
  863. package/dist/frida/FridaInstrumentationManager.js +1104 -0
  864. package/dist/gdb/GdbSessionManager.js +1451 -0
  865. package/dist/generatedPackageMetadata.js +2 -2
  866. package/dist/ghidra/GhidraAnalysisProfile.js +130 -12
  867. package/dist/ghidra/GhidraClient.js +195 -88
  868. package/dist/ghidra/GhidraDiagnostics.js +7 -0
  869. package/dist/ghidra/GhidraDoctor.js +15 -12
  870. package/dist/ghidra/GhidraFunctionValues.js +49 -2
  871. package/dist/ghidra/GhidraInstallation.js +215 -19
  872. package/dist/ghidra/GhidraInstallationPolicy.js +79 -29
  873. package/dist/ghidra/GhidraInventoryValues.js +30 -0
  874. package/dist/ghidra/GhidraJavaLaunch.js +91 -10
  875. package/dist/ghidra/GhidraJavaProperties.js +117 -0
  876. package/dist/ghidra/GhidraLanguageCatalog.js +74 -4
  877. package/dist/ghidra/GhidraLauncher.js +234 -57
  878. package/dist/ghidra/GhidraLoadImageAttest.js +28 -8
  879. package/dist/ghidra/GhidraLoadImageValues.js +72 -0
  880. package/dist/ghidra/GhidraMipsProfile.js +250 -14
  881. package/dist/ghidra/GhidraPeProfile.js +21 -0
  882. package/dist/ghidra/GhidraPowerPcProfile.js +51 -0
  883. package/dist/ghidra/GhidraProvider.js +54 -16
  884. package/dist/ghidra/GhidraProviderCapabilities.js +13 -12
  885. package/dist/ghidra/GhidraProviderClient.js +260 -57
  886. package/dist/ghidra/GhidraPspExtension.js +140 -0
  887. package/dist/ghidra/GhidraPspProfile.js +59 -0
  888. package/dist/ghidra/GhidraRawBinaryLanguage.js +40 -0
  889. package/dist/ghidra/GhidraRiscvProfile.js +100 -0
  890. package/dist/ghidra/GhidraSessionError.js +155 -11
  891. package/dist/ghidra/GhidraSessionValues.js +66 -0
  892. package/dist/ghidra/GhidraTransport.js +2 -1
  893. package/dist/go/GoBinaryContainer.js +140 -0
  894. package/dist/go/GoBinaryImage.js +210 -0
  895. package/dist/go/GoBinaryProvider.js +151 -0
  896. package/dist/go/GoElfImage.js +211 -0
  897. package/dist/go/GoMachoImage.js +164 -0
  898. package/dist/go/GoModuleText.js +217 -0
  899. package/dist/go/GoPeImage.js +124 -0
  900. package/dist/hopper/BridgeLauncher.js +35 -2
  901. package/dist/hopper/HopperAnalysisProfile.js +21 -11
  902. package/dist/hopper/HopperCleanup.js +15 -3
  903. package/dist/hopper/HopperClient.js +188 -36
  904. package/dist/hopper/HopperMacPublisher.js +29 -0
  905. package/dist/hopper/HopperMachOImage.js +61 -29
  906. package/dist/hopper/HopperProcessDiagnostic.js +27 -0
  907. package/dist/hopper/HopperProvider.js +59 -28
  908. package/dist/hopper/HopperProviderCapabilities.js +7 -3
  909. package/dist/hopper/HopperRequestQueue.js +17 -5
  910. package/dist/hopper/HopperSessionValues.js +10 -1
  911. package/dist/hopper/HopperTargetLease.js +66 -19
  912. package/dist/ida/IdaBusyHealth.js +44 -0
  913. package/dist/ida/IdaCallGraph.js +134 -0
  914. package/dist/ida/IdaConfiguration.js +7 -2
  915. package/dist/ida/IdaDiagnosticRedactor.js +199 -0
  916. package/dist/ida/IdaDiagnosticWriter.js +62 -0
  917. package/dist/ida/IdaDoctor.js +7 -5
  918. package/dist/ida/IdaJsonDiagnostic.js +138 -0
  919. package/dist/ida/IdaMcpConnection.js +297 -27
  920. package/dist/ida/IdaNativeProtocol.js +93 -0
  921. package/dist/ida/IdaOperationRunner.js +246 -43
  922. package/dist/ida/IdaProtocolValues.js +86 -4
  923. package/dist/ida/IdaProvider.js +29 -10
  924. package/dist/ida/IdaProviderCapabilities.js +37 -8
  925. package/dist/ida/IdaSessionClient.js +331 -54
  926. package/dist/ida/IdaWorkspace.js +54 -6
  927. package/dist/inspector/V8InspectorCaptureProjection.js +7 -2
  928. package/dist/inspector/V8InspectorEndpoint.js +15 -13
  929. package/dist/inspector/V8InspectorProvider.js +41 -7
  930. package/dist/javascript/analysis/JavaScriptAnalysisTransfer.js +19 -8
  931. package/dist/javascript/analysis/JavaScriptAnalysisWorker.js +103 -29
  932. package/dist/javascript/analysis/JavaScriptAnalysisWorkerProtocol.js +6 -4
  933. package/dist/javascript/analysis/JavaScriptAnalysisWorkerSchemas.js +78 -9
  934. package/dist/javascript/analysis/JavaScriptAnalysisWorkerServer.js +15 -5
  935. package/dist/javascript/recovery/RecoveryFiles.js +51 -6
  936. package/dist/javascript/recovery/WakaruExecution.js +19 -11
  937. package/dist/javascript/recovery/WakaruProvider.js +12 -9
  938. package/dist/javascript/recovery/WakaruPublication.js +24 -10
  939. package/dist/javascript/recovery/WakaruRelease.js +1 -1
  940. package/dist/javascript/recovery/WakaruReport.js +3 -2
  941. package/dist/javascript/sourceMaps/DecodedSourceMap.js +2 -16
  942. package/dist/javascript/sourceMaps/SourceMapCommand.js +22 -4
  943. package/dist/javascript/sourceMaps/SourceMapDecoder.js +22 -4
  944. package/dist/javascript/sourceMaps/SourceMapFormat.js +25 -38
  945. package/dist/javascript/sourceMaps/TraceSourceMap.js +34 -6
  946. package/dist/jeb/JebMcpConnection.js +19 -12
  947. package/dist/jeb/JebMcpEndpoint.js +6 -1
  948. package/dist/jeb/JebProvider.js +5 -7
  949. package/dist/logger.js +14 -1
  950. package/dist/main/shutdown.js +3 -0
  951. package/dist/main/transport.js +48 -4
  952. package/dist/main.js +14 -3
  953. package/dist/mcp/AnalysisSnapshotFiles-BAbiJQOc.js +1412 -0
  954. package/dist/mcp/ArtifactProvider-DViCU_rn.js +2183 -0
  955. package/dist/mcp/ArtifactProviderMetadata-b7pOK5_t.js +76 -0
  956. package/dist/mcp/ArtifactReader-OyM03Gjn.js +55 -0
  957. package/dist/mcp/ArtifactResourceScope-P3tq5z8Z.js +162 -0
  958. package/dist/mcp/AsarHeader-WsPgoooH.js +31 -0
  959. package/dist/mcp/BinarySessionStatus-B4P9gf-S.js +212 -0
  960. package/dist/mcp/BinaryTargetResolver-BMaE_0H1.js +1427 -0
  961. package/dist/mcp/BoundedFileBytes-DuczXiQZ.js +68 -0
  962. package/dist/mcp/CdpCaptureDocuments-HDiF2O7k.js +746 -0
  963. package/dist/mcp/CdpCaptureValues-M-j6CIh1.js +90 -0
  964. package/dist/mcp/CdpConnection-BpDfz4MK.js +570 -0
  965. package/dist/mcp/CdpOptionalCommand-BPjRD9Kz.js +120 -0
  966. package/dist/mcp/CdpTargetSession-BsPoKhEU.js +86 -0
  967. package/dist/mcp/DirectAnalysis-DrafbXke.js +409 -0
  968. package/dist/mcp/DirectAnalysisStatus-CjjeDLzW.js +44 -0
  969. package/dist/mcp/ElectronFileScope-BPG_YoyU.js +110 -0
  970. package/dist/mcp/InterfaceBuilderDecodeBudget-5F2AkxJT.js +652 -0
  971. package/dist/mcp/ManagedStaticProvider-BthZbKyZ.js +5028 -0
  972. package/dist/mcp/NativeMacOSProvider-Bh79k8dI.js +4867 -0
  973. package/dist/mcp/NativeMacOSProviderMetadata-N1lPOaY_.js +307 -0
  974. package/dist/mcp/ProcedureAddressResolution-CQpuwm1h.js +19 -0
  975. package/dist/mcp/ProcessOwnership-Bl_3ejLe.js +1502 -0
  976. package/dist/mcp/ProviderDeadline-DskQ94YD.js +932 -0
  977. package/dist/mcp/WorkflowEvidence-umWrB_wm.js +111 -0
  978. package/dist/mcp/analysisErrorCore-DXRTvF_m.js +235 -0
  979. package/dist/mcp/analysisErrorProjection-BN0EPM-3.js +892 -0
  980. package/dist/mcp/artifactOperationError-CkHMMaf7.js +27 -0
  981. package/dist/mcp/artifactToolContracts-Di4qZlEt.js +72 -0
  982. package/dist/mcp/browserObservation-C0s4i8UI.js +4468 -0
  983. package/dist/mcp/browserObservationError-CyLugqX4.js +40 -0
  984. package/dist/mcp/browserObservationSchemas-tgqjH7aA.js +573 -0
  985. package/dist/mcp/browserScenario-CAQ8Fns9.js +2929 -0
  986. package/dist/mcp/browserScenarioCapture-CTNFN-FI.js +479 -0
  987. package/dist/mcp/canonicalDigest-Bi_0_zGi.js +71 -0
  988. package/dist/mcp/digests-BFoWUT_-.js +223 -0
  989. package/dist/mcp/electronActiveObservation-lDvQTMR0.js +226 -0
  990. package/dist/mcp/electronObservation-DFOFEood.js +112 -0
  991. package/dist/mcp/electronObservation-i7LcILQ-.js +562 -0
  992. package/dist/mcp/electronScenario-nCzE6IfJ.js +653 -0
  993. package/dist/mcp/emptyArraySchema-tL6Qymyd.js +140 -0
  994. package/dist/mcp/enhancedInputs-DgdEnzHy.js +56 -0
  995. package/dist/mcp/javascriptRuntimeObservation-61NhCf7H.js +690 -0
  996. package/dist/mcp/javascriptRuntimeObservation-PIUoLfX6.js +121 -0
  997. package/dist/mcp/jsonSerialization-V-wWiFRE.js +152 -0
  998. package/dist/mcp/lipo-Bnkoq_6W.js +502 -0
  999. package/dist/mcp/localPath-AxvW9aPe.js +19 -0
  1000. package/dist/mcp/logger-BQY5ulYv.js +48 -0
  1001. package/dist/mcp/main-kBXHZ8S5.js +69390 -0
  1002. package/dist/mcp/main.js +6 -0
  1003. package/dist/mcp/managedToolContracts-CK--I_s7.js +101 -0
  1004. package/dist/mcp/nativeValueTrace-DR9UE62L.js +3439 -0
  1005. package/dist/mcp/officialToolContracts-B67NJ2tC.js +1413 -0
  1006. package/dist/mcp/pngHeader-DQ-ObyY2.js +147 -0
  1007. package/dist/mcp/propertyListKeys-DD25WsjI.js +553 -0
  1008. package/dist/mcp/providerAdapterError-sDxToNal.js +25 -0
  1009. package/dist/mcp/providerIdentities--ptAh481.js +31 -0
  1010. package/dist/mcp/providerIdentity-BCQ5n5tw.js +16 -0
  1011. package/dist/mcp/providerOperationHealth-CTYa3iLf.js +48 -0
  1012. package/dist/mcp/rolldown-runtime-BjeaiXFo.js +121 -0
  1013. package/dist/mcp/safeJson-NeGfpkrI.js +25 -0
  1014. package/dist/mcp/scanCanonical-CRXSpule.js +3982 -0
  1015. package/dist/mcp/serverIdentity-Cio4iFV3.js +1328 -0
  1016. package/dist/mcp/sourceMapEnvelope-C0uJlrOh.js +94 -0
  1017. package/dist/mcp/toolContracts-BW05wpcr.js +12200 -0
  1018. package/dist/mcp/toolOutputSchemaGroups-ColvNZ1r.js +17533 -0
  1019. package/dist/mcp/unicodeCodePointOrder-BezCbTpg.js +26 -0
  1020. package/dist/mcp/webContentArtifact-Dzjc1z-R.js +284 -0
  1021. package/dist/mcp/webRuntime-K__NYzXm.js +74 -0
  1022. package/dist/mcp/webSourceLocation-DbMAT2J9.js +11130 -0
  1023. package/dist/mcpDoctor.js +93 -70
  1024. package/dist/mcpStartupPolicy.js +3 -0
  1025. package/dist/native/AppleDispatchCoverage.js +57 -17
  1026. package/dist/native/AppleDispatchMetadata.js +6 -2
  1027. package/dist/native/AppleMachoFixups.js +188 -25
  1028. package/dist/native/AppleMachoSelection.js +30 -23
  1029. package/dist/native/AppleObjcCategories.js +1 -2
  1030. package/dist/native/AppleObjcDispatchFacets.js +76 -7
  1031. package/dist/native/CommandRunner.js +142 -32
  1032. package/dist/native/LldbCallTracer.js +5 -3
  1033. package/dist/native/MachoArchitectureSelection.js +50 -0
  1034. package/dist/native/NativeCallObservation.js +2 -1
  1035. package/dist/native/NativeMacOSProvider.js +90 -29
  1036. package/dist/native/NativeMachoInspection.js +136 -76
  1037. package/dist/native/NativeUiObservation.js +2 -2
  1038. package/dist/native/SignatureTargetBinding.js +118 -55
  1039. package/dist/native/parsers/codesign.js +27 -10
  1040. package/dist/native/parsers/demangle.js +7 -1
  1041. package/dist/native/parsers/dyldInfo.js +73 -4
  1042. package/dist/native/parsers/lipo.js +53 -19
  1043. package/dist/native/parsers/machoUuid.js +150 -0
  1044. package/dist/native/parsers/otool.js +232 -29
  1045. package/dist/native/pe/PeResourcesProvider.js +20 -6
  1046. package/dist/native/pwndbg/PwndbgCoreContext.js +20 -20
  1047. package/dist/native/pwntools/PwntoolsDecoder.js +264 -40
  1048. package/dist/native/pwntools/PwntoolsFailures.js +2 -1
  1049. package/dist/native/pwntools/PwntoolsInputLimit.js +27 -0
  1050. package/dist/native/pwntools/PwntoolsRecordedCrashProvider.js +27 -15
  1051. package/dist/native/pwntools/PwntoolsResourceLimits.js +3 -3
  1052. package/dist/native/pwntools/RecordedCrashSourceBindings.js +12 -8
  1053. package/dist/native/pwntools/RecordedCrashStructureBindings.js +3 -1
  1054. package/dist/objdump/ObjdumpCommand.js +21 -0
  1055. package/dist/pcap/PcapCommand.js +146 -0
  1056. package/dist/pcap/PcapConfiguration.js +93 -0
  1057. package/dist/pcap/PcapNativeBound.js +58 -0
  1058. package/dist/pcap/PcapOutput.js +240 -0
  1059. package/dist/pcap/PcapProvider.js +424 -0
  1060. package/dist/pcap/PcapSnapshot.js +171 -0
  1061. package/dist/process/ArtifactAnalysisResources.js +213 -0
  1062. package/dist/process/CurrentEntrypointPath.js +6 -0
  1063. package/dist/process/DarwinProcessRunTokenReader.js +117 -13
  1064. package/dist/process/ExecFileBoundedOutput.js +44 -0
  1065. package/dist/process/ExecFileOutput.js +30 -6
  1066. package/dist/process/JavaScriptWorkerMemoryLimit.js +25 -0
  1067. package/dist/process/LinuxResourceLimits.js +80 -0
  1068. package/dist/process/MacCodeSignature.js +3 -0
  1069. package/dist/process/OwnedCommand.js +37 -13
  1070. package/dist/process/PrivateRuntimeRoot.js +9 -19
  1071. package/dist/process/PrivateRuntimeRootUnavailableError.js +10 -0
  1072. package/dist/process/ProcessOwnership.js +70 -17
  1073. package/dist/process/ProcessOwnershipObservation.js +35 -4
  1074. package/dist/process/ProviderDeadline.js +58 -12
  1075. package/dist/process/ProviderProcess.js +108 -11
  1076. package/dist/process/WindowsAuthority.js +48 -39
  1077. package/dist/process/WindowsBatchCommand.js +46 -0
  1078. package/dist/process/boundedUtf8Text.js +13 -0
  1079. package/dist/process/capture/FilesystemSnapshot.js +60 -9
  1080. package/dist/process/capture/ProcessCaptureClock.js +2 -0
  1081. package/dist/process/capture/ProcessCaptureError.js +22 -3
  1082. package/dist/process/capture/ProcessCaptureJournal.js +2 -1
  1083. package/dist/process/capture/ProcessCaptureLifecycle.js +87 -36
  1084. package/dist/process/capture/ProcessCaptureProgress.js +2 -1
  1085. package/dist/process/capture/ProcessHarness.js +17 -14
  1086. package/dist/process/capture/ProcessNormalization.js +278 -36
  1087. package/dist/process/capture/ProcessSampling.js +3 -2
  1088. package/dist/process/capture/ProcessScenarioRuntimeValidation.js +13 -13
  1089. package/dist/process/capture/TerminalRenderer.js +31 -10
  1090. package/dist/process/ownedDebuggerSession.js +203 -0
  1091. package/dist/reference/ReferenceSourceReader.js +0 -1
  1092. package/dist/reference/ReferenceSourceReaderEntries.js +68 -54
  1093. package/dist/reference/ReferenceSourceReaderErrors.js +5 -1
  1094. package/dist/reference/ReferenceSourceReaderFile.js +0 -1
  1095. package/dist/reference/ReferenceSourceReaderTypes.js +1 -2
  1096. package/dist/reference/ReferenceSourceReaderValidate.js +0 -1
  1097. package/dist/rizin/RizinCommand.js +14 -0
  1098. package/dist/rizin/RizinDebugSessionManager.js +1072 -0
  1099. package/dist/rust/RustAuditableReader.js +309 -0
  1100. package/dist/rust/RustBinaryImage.js +116 -0
  1101. package/dist/rust/RustBinaryProvider.js +162 -0
  1102. package/dist/server/EvidenceMcpServer.js +160 -37
  1103. package/dist/server/admittedToolOperation.js +7 -2
  1104. package/dist/server/contractToolHandler.js +8 -1
  1105. package/dist/server/createServer.js +157 -27
  1106. package/dist/server/externalMutationAdmission.js +50 -0
  1107. package/dist/server/mcpProgress.js +4 -2
  1108. package/dist/server/promptCompletion.js +19 -6
  1109. package/dist/server/providerEnvironment.js +3 -0
  1110. package/dist/server/registerAnalysisViewTool.js +6 -2
  1111. package/dist/server/registerAndroidTools.js +22 -4
  1112. package/dist/server/registerApplicationTools/projectMobileApplicationGraph.js +8 -1
  1113. package/dist/server/registerArtifactTools.js +21 -1
  1114. package/dist/server/registerBrowserTools.js +2 -4
  1115. package/dist/server/registerBundleComparisonTool.js +4 -4
  1116. package/dist/server/registerCaptureTools.js +12 -0
  1117. package/dist/server/registerCutterTools.js +33 -0
  1118. package/dist/server/registerElectronTools.js +12 -9
  1119. package/dist/server/registerEnhancedTools.js +7 -6
  1120. package/dist/server/registerEvidenceTools.js +14 -10
  1121. package/dist/server/registerEvmTools.js +22 -4
  1122. package/dist/server/registerFlutterTools.js +17 -0
  1123. package/dist/server/registerFridaTools.js +205 -0
  1124. package/dist/server/registerFunctionComparisonTool.js +29 -9
  1125. package/dist/server/registerGdbTools.js +64 -0
  1126. package/dist/server/registerGoTools.js +9 -0
  1127. package/dist/server/registerInvestigationTools/helpers.js +2 -2
  1128. package/dist/server/registerInvestigationTools.js +12 -8
  1129. package/dist/server/registerJavaScriptRuntimeObservationTools.js +1 -5
  1130. package/dist/server/registerManagedTools.js +11 -1
  1131. package/dist/server/registerNativeTools.js +14 -0
  1132. package/dist/server/registerOfficialTools.js +5 -0
  1133. package/dist/server/registerPcapTools.js +35 -0
  1134. package/dist/server/registerProcessComparisonTool.js +9 -2
  1135. package/dist/server/registerReverseEngineeringTools.js +86 -0
  1136. package/dist/server/registerRizinDebugTools.js +53 -0
  1137. package/dist/server/registerRustTools.js +9 -0
  1138. package/dist/server/registerSessionRecordTools.js +19 -13
  1139. package/dist/server/registerSessionStatusTool.js +22 -4
  1140. package/dist/server/registerSessionTools.js +29 -16
  1141. package/dist/server/registerSignalTools.js +12 -0
  1142. package/dist/server/registerSqliteTools.js +9 -0
  1143. package/dist/server/registerWasmTools.js +46 -0
  1144. package/dist/server/registerWebNetworkCaptureTool.js +24 -10
  1145. package/dist/server/retainedSummaryDelivery.js +28 -0
  1146. package/dist/server/sessionAvailabilityPolicy.js +3 -0
  1147. package/dist/server/toolRegistrationOptions.js +8 -0
  1148. package/dist/server/toolResult.js +52 -19
  1149. package/dist/server/toolResultEncoding.js +36 -3
  1150. package/dist/serverIdentity.js +17 -8
  1151. package/dist/signals/SigrokRecordingProvider.js +339 -0
  1152. package/dist/signals/parseDecoderDiscovery.js +65 -0
  1153. package/dist/sqlite/SqliteDatabaseFailures.js +134 -0
  1154. package/dist/sqlite/SqliteDatabaseInspection.js +421 -0
  1155. package/dist/sqlite/SqliteDatabaseLimits.js +16 -0
  1156. package/dist/sqlite/SqliteDatabaseProvider.js +295 -0
  1157. package/dist/sqlite/SqliteDatabaseSnapshot.js +156 -0
  1158. package/dist/sqlite/SqliteDatabaseWorker.js +46 -0
  1159. package/dist/sqlite/SqliteDatabaseWorkerExecution.js +112 -0
  1160. package/dist/wasm/WabtArtifactProvider.js +336 -0
  1161. package/dist/wasm/WabtFailures.js +101 -0
  1162. package/dist/wasm/WabtInterface.js +309 -0
  1163. package/dist/wasm/WabtOutput.js +60 -0
  1164. package/dist/wasm/WabtRelease.js +12 -0
  1165. package/dist/wasm/WabtString.js +48 -0
  1166. package/dist/wasm/WabtWat.js +147 -0
  1167. package/dist/wasm/WasmGlueAdapter.js +53 -0
  1168. package/dist/wasm/WasmInterfaceBudget.js +11 -0
  1169. package/dist/windows/WindowsNativeLoader.js +37 -7
  1170. package/dist/windows/WindowsOwnedProcess.js +150 -17
  1171. package/dist/windows/WindowsPrivateRuntime.js +22 -1
  1172. package/install.sh +157 -98
  1173. package/licenses/Apache-2.0.txt +202 -0
  1174. package/licenses/GCC-Runtime-Library-Exception-3.1.txt +73 -0
  1175. package/licenses/GPL-3.0.txt +674 -0
  1176. package/licenses/LGPL-2.0.txt +480 -0
  1177. package/licenses/MIT-template.txt +18 -0
  1178. package/licenses/MinGW-w64-runtime.txt +240 -0
  1179. package/licenses/Node-22.19.0-LICENSE.txt +2666 -0
  1180. package/licenses/README.md +68 -0
  1181. package/licenses/cfworker-MIT.txt +21 -0
  1182. package/licenses/dotnet-runtime-MIT.txt +23 -0
  1183. package/licenses/frida-17.23.2-COPYING.txt +50 -0
  1184. package/licenses/ghidra-12.1.4-DISCLAIMER.txt +13 -0
  1185. package/licenses/ghidra-12.1.4-LICENSE.txt +201 -0
  1186. package/licenses/ghidra-12.1.4-NOTICE.txt +49 -0
  1187. package/licenses/npm-dependencies.txt +3612 -0
  1188. package/licenses/npm-runtime-notices.txt +8548 -0
  1189. package/licenses/upstream-sources.json +72 -0
  1190. package/licenses/xterm-MIT.txt +21 -0
  1191. package/native/windows/README.md +92 -11
  1192. package/native/windows/build/manifest.json +2 -2
  1193. package/native/windows/build/rea-windows-x64.node +0 -0
  1194. package/package.json +89 -22
  1195. package/scripts/electron-active-hook.cjs +4 -1
  1196. package/scripts/hopper-demo-x11.py +53 -3
  1197. package/scripts/prepack.mjs +5 -0
  1198. package/scripts/rea-android-workspace-guardian.mjs +46 -0
  1199. package/scripts/rea.mjs +28 -12
  1200. package/scripts/verify-windows-native-artifact.mjs +2 -2
  1201. package/skills/reverse-engineer-anything/SKILL.md +131 -10
  1202. package/skills/reverse-engineer-anything/references/connection-and-recovery.md +10 -10
  1203. package/skills/reverse-engineer-anything/references/evidence-workflows.md +23 -0
  1204. package/skills/reverse-engineer-anything/references/javascript-applications.md +28 -2
  1205. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +125 -15
  1206. package/skills/reverse-engineer-anything/references/runtime-observation.md +57 -7
  1207. package/third_party/README.md +1 -1
  1208. package/third_party/wabt/README.md +24 -0
  1209. package/dist/browser/history/HarCaptureAdapter.js +0 -20
  1210. package/dist/cli/streamedJsonOutput.js +0 -135
  1211. /package/dist/{application/binary → process}/AbortablePromise.js +0 -0
@@ -0,0 +1,1413 @@
1
+ import { t as __esmMin } from "./rolldown-runtime-BjeaiXFo.js";
2
+ import { Et as functionDossierSchema, Ot as init_hopperValues, R as init_toolOutputSchemaPrimitives, U as requireOutputSchema, _t as init_nativeInstruction, dt as parseEvidence, it as createEvidence, lt as init_evidence, nn as relationshipCoverageLimitations, tn as init_relationshipCoverage, yt as nativeInstructionInputSchema } from "./nativeValueTrace-DR9UE62L.js";
3
+ import { c as jsonValueSchema, o as init_jsonValue } from "./digests-BFoWUT_-.js";
4
+ import { r as init_unicodeCodePointOrder, t as compareUnicodeCodePoints } from "./unicodeCodePointOrder-BezCbTpg.js";
5
+ import { Da as init_bytePattern, Ei as init_comparisonSemantics, It as init_processComparison, Oa as validateBytePattern, Pt as compareProcessCaptures, Ta as bytePatternFields, Ti as canonicalJson, _ as init_processCapture, an as functionComparisonResultSchema, b as digestProcessCommitment, c as officialOutputSchemas, ca as init_nativeDataType, cn as init_functionComparisonResults, da as init_nativeFunctionAnnotations, dn as unresolvedDimension, fa as nativeFunctionAnnotationsInputSchema, i as init_toolOutputSchemaGroups, ia as toolContractMetadata, la as nativeDataTypeInputSchema, ln as overallStatus, oa as init_canonicalOrdering, on as init_functionComparisonSchemas, ra as init_toolEffects, sa as uniqueSorted, sn as dimensionResult, un as summarize, x as init_processScenario, y as processCaptureSchema } from "./toolOutputSchemaGroups-ColvNZ1r.js";
6
+ import { n as init_canonicalDigest, t as digestCanonicalValue } from "./canonicalDigest-Bi_0_zGi.js";
7
+ import { n as init_enhancedInputs, t as enhancedInputSchemas } from "./enhancedInputs-DgdEnzHy.js";
8
+ import { z } from "zod";
9
+ import { diffLines } from "diff";
10
+
11
+ //#region dist/contracts/analysisSearchContract.js
12
+ var analysisSearchInput;
13
+ function init_analysisSearchContract() {
14
+ return (init_analysisSearchContract = __esmMin((() => {
15
+ analysisSearchInput = {
16
+ pattern: z.string().min(1).describe("The literal text or regex pattern to search for"),
17
+ mode: z.enum(["literal", "regex"]).default("literal"),
18
+ case_sensitive: z.boolean().default(false).describe("Whether to match case"),
19
+ document: z.string().optional().describe("The document name")
20
+ };
21
+ })))();
22
+ }
23
+
24
+ //#endregion
25
+ //#region dist/domain/functionCallCoverage.js
26
+ var callerCoveragePrefix, calleeCoveragePrefix, combineFunctionRelationshipCoverage, isCallerOnlyIncompleteCoverage, functionCallCoverageLimitations;
27
+ function init_functionCallCoverage() {
28
+ return (init_functionCallCoverage = __esmMin((() => {
29
+ init_relationshipCoverage();
30
+ init_canonicalOrdering();
31
+ callerCoveragePrefix = "Callers: ";
32
+ calleeCoveragePrefix = "Callees: ";
33
+ combineFunctionRelationshipCoverage = (callers, callees) => {
34
+ const reads = [{
35
+ direction: "callers",
36
+ coverage: callers
37
+ }, {
38
+ direction: "callees",
39
+ coverage: callees
40
+ }];
41
+ const diagnostics = uniqueSorted(reads.flatMap(({ coverage }) => coverage?.diagnostics ?? []));
42
+ const details = diagnostics.length > 0 ? { diagnostics } : {};
43
+ const callersLimited = callers?.status !== "complete";
44
+ const calleesLimited = callees?.status !== "complete";
45
+ const limited_directions = callersLimited ? calleesLimited ? ["callers", "callees"] : ["callers"] : ["callees"];
46
+ const reasons = reads.flatMap(({ direction, coverage }) => {
47
+ const label = direction === "callers" ? callerCoveragePrefix : calleeCoveragePrefix;
48
+ return relationshipCoverageLimitations(coverage).map((reason) => `${label}${reason}`);
49
+ });
50
+ if (reads.some(({ coverage }) => coverage === undefined || coverage.status === "unknown")) return {
51
+ status: "unknown",
52
+ reason: uniqueSorted(reasons).join(" "),
53
+ limited_directions,
54
+ ...details
55
+ };
56
+ if (reasons.length > 0) return {
57
+ status: "partial",
58
+ limitations: uniqueSorted(reasons),
59
+ limited_directions,
60
+ ...details
61
+ };
62
+ return {
63
+ status: "complete",
64
+ ...details
65
+ };
66
+ };
67
+ isCallerOnlyIncompleteCoverage = (coverage) => {
68
+ if (coverage.status === "complete") return false;
69
+ if (coverage.limited_directions !== undefined) return !coverage.limited_directions.some((direction) => direction === "callees");
70
+ return coverage.status === "unknown" && coverage.reason.startsWith(callerCoveragePrefix) && !coverage.reason.includes(calleeCoveragePrefix);
71
+ };
72
+ functionCallCoverageLimitations = (coverage, dossier) => {
73
+ return uniqueSorted([
74
+ ...relationshipCoverageLimitations(coverage),
75
+ ...coverage?.status === "complete" ? [] : coverage?.diagnostics ?? [],
76
+ ...(dossier.unresolved_calls ?? []).map(({ address, reason }) => `Unresolved call at ${address}: ${reason}`)
77
+ ]);
78
+ };
79
+ })))();
80
+ }
81
+
82
+ //#endregion
83
+ //#region dist/contracts/unknownContractExamples.js
84
+ var UNKNOWN_CONTRACT_EXAMPLES;
85
+ function init_unknownContractExamples() {
86
+ return (init_unknownContractExamples = __esmMin((() => {
87
+ UNKNOWN_CONTRACT_EXAMPLES = {
88
+ list_unknowns: {
89
+ offset: 0,
90
+ limit: 50
91
+ },
92
+ record_unknown: {
93
+ question: "Does this branch require an unavailable external service?",
94
+ severity: "medium",
95
+ domain: "protocol",
96
+ required_authority: "controlled-replay",
97
+ required_confidence: "observed",
98
+ required_environment: null,
99
+ recommended_probes: [{
100
+ operation: "capture_process_scenario",
101
+ rationale: "Replay branch."
102
+ }],
103
+ relationships: []
104
+ },
105
+ update_unknown: {
106
+ unknown_id: `unk_${"0".repeat(64)}`,
107
+ expected_revision: 1,
108
+ status: "investigating",
109
+ severity: "medium",
110
+ supporting_evidence_ids: [],
111
+ contradicting_evidence_ids: [],
112
+ required_authority: "controlled-replay",
113
+ required_confidence: "observed",
114
+ required_environment: null,
115
+ recommended_probes: [],
116
+ relationships: [],
117
+ resolution: null
118
+ },
119
+ verify_unknown_resolution: { unknown_id: `unk_${"0".repeat(64)}` }
120
+ };
121
+ })))();
122
+ }
123
+
124
+ //#endregion
125
+ //#region dist/contracts/artifactComparisonExample.js
126
+ var inventory, provider, ARTIFACT_COMPARISON_EXAMPLE;
127
+ function init_artifactComparisonExample() {
128
+ return (init_artifactComparisonExample = __esmMin((() => {
129
+ init_canonicalDigest();
130
+ init_evidence();
131
+ init_jsonValue();
132
+ inventory = (digit) => {
133
+ const sha = digit.repeat(64);
134
+ const artifactId = `art_${digestCanonicalValue({ sha256: sha }, "Artifact example")}`;
135
+ const occurrenceId = `occ_${digestCanonicalValue({ root: artifactId }, "Artifact example")}`;
136
+ const nodes = [{
137
+ artifact_id: artifactId,
138
+ format: "file",
139
+ sha256: sha,
140
+ size: 1,
141
+ media_type: null,
142
+ architecture: null,
143
+ content_state: "materialized",
144
+ limitations: []
145
+ }];
146
+ const occurrences = [{
147
+ occurrence_id: occurrenceId,
148
+ artifact_id: artifactId,
149
+ parent_occurrence_id: null,
150
+ logical_path: ".",
151
+ entry_kind: "file",
152
+ artifact_kind: "resource",
153
+ artifact_format: "file",
154
+ declared_size: 1,
155
+ compressed_size: null,
156
+ executable: false,
157
+ encrypted: false,
158
+ hash_status: "verified",
159
+ source_location: null,
160
+ limitations: []
161
+ }];
162
+ const graphSha256 = digestCanonicalValue({
163
+ nodes,
164
+ occurrences,
165
+ edges: [],
166
+ integrity_contradictions: []
167
+ }, "Artifact example");
168
+ return jsonValueSchema.parse({
169
+ manifest: {
170
+ manifest_id: `agm_${digestCanonicalValue({
171
+ root_artifact_id: artifactId,
172
+ graph_sha256: graphSha256
173
+ }, "Artifact example")}`,
174
+ root_artifact_id: artifactId,
175
+ root_sha256: sha,
176
+ root_format: "file",
177
+ graph_sha256: graphSha256,
178
+ node_count: nodes.length,
179
+ occurrence_count: occurrences.length,
180
+ edge_count: 0
181
+ },
182
+ nodes,
183
+ occurrences,
184
+ edges: [],
185
+ provenance: [],
186
+ limitations: []
187
+ });
188
+ };
189
+ provider = {
190
+ id: "rea-artifact",
191
+ name: "REA artifact graph",
192
+ version: "1"
193
+ };
194
+ ARTIFACT_COMPARISON_EXAMPLE = {
195
+ left: createEvidence({
196
+ path: "fixture-left",
197
+ sha256: "0".repeat(64),
198
+ format: "file"
199
+ }, provider, {
200
+ operation: "inventory_artifact",
201
+ parameters: {},
202
+ result: inventory("0"),
203
+ confidence: "observed",
204
+ authority: "shipped-artifact"
205
+ }),
206
+ right: createEvidence({
207
+ path: "fixture-right",
208
+ sha256: "1".repeat(64),
209
+ format: "file"
210
+ }, provider, {
211
+ operation: "inventory_artifact",
212
+ parameters: {},
213
+ result: inventory("1"),
214
+ confidence: "observed",
215
+ authority: "shipped-artifact"
216
+ })
217
+ };
218
+ })))();
219
+ }
220
+
221
+ //#endregion
222
+ //#region dist/contracts/functionComparisonExample.js
223
+ var dossier, observe, FUNCTION_COMPARISON_EXAMPLE;
224
+ function init_functionComparisonExample() {
225
+ return (init_functionComparisonExample = __esmMin((() => {
226
+ init_enhancedInputs();
227
+ init_evidence();
228
+ init_jsonValue();
229
+ dossier = (text) => jsonValueSchema.parse({
230
+ procedure: {
231
+ address: "0x1000",
232
+ name: "main",
233
+ classification: null,
234
+ body: {
235
+ available: false,
236
+ reason: "The fixture omits function-body extent observations."
237
+ },
238
+ signature: "int main(void)",
239
+ locals: []
240
+ },
241
+ pseudocode: text,
242
+ assembly: ["ret"],
243
+ comments: [],
244
+ callers: [],
245
+ callees: [],
246
+ incoming_references: [],
247
+ outgoing_references: [],
248
+ referenced_strings: [],
249
+ referenced_names: [],
250
+ basic_blocks: [{
251
+ start: "0x1000",
252
+ end: "0x1001",
253
+ successors: []
254
+ }],
255
+ native_api: null,
256
+ native_value_flow: null,
257
+ facet_availability: {
258
+ pseudocode: { available: true },
259
+ assembly: { available: true },
260
+ comments: { available: true },
261
+ callers: { available: true },
262
+ callees: { available: true },
263
+ references: { available: true },
264
+ strings_names: { available: true },
265
+ cfg: { available: true }
266
+ },
267
+ limitations: ["The fixture omits native API and value-flow observations."]
268
+ });
269
+ observe = (digit, text) => createEvidence({
270
+ path: `/tmp/function-${digit}`,
271
+ sha256: digit.repeat(64),
272
+ format: "mach-o"
273
+ }, {
274
+ id: "rea-workflow",
275
+ name: "REA composed investigation workflow",
276
+ version: "1"
277
+ }, {
278
+ operation: "analyze_function",
279
+ parameters: enhancedInputSchemas.analyze_function.parse({ procedure: "main" }),
280
+ result: dossier(text),
281
+ confidence: "derived",
282
+ authority: "shipped-artifact",
283
+ relationshipCoverage: { status: "complete" }
284
+ });
285
+ FUNCTION_COMPARISON_EXAMPLE = {
286
+ left: observe("0", "return 0;"),
287
+ right: observe("1", "return 1;")
288
+ };
289
+ })))();
290
+ }
291
+
292
+ //#endregion
293
+ //#region dist/domain/process/processCaptureParsing.js
294
+ var verifiedCaptures, isVerifiedCapture, attachProof, parseProcessCapture;
295
+ function init_processCaptureParsing() {
296
+ return (init_processCaptureParsing = __esmMin((() => {
297
+ init_processCapture();
298
+ verifiedCaptures = new WeakSet();
299
+ isVerifiedCapture = (capture) => verifiedCaptures.has(capture);
300
+ attachProof = (capture) => {
301
+ verifiedCaptures.add(capture);
302
+ if (isVerifiedCapture(capture)) return capture;
303
+ throw new TypeError("Process Capture proof ownership failed");
304
+ };
305
+ parseProcessCapture = (input) => {
306
+ const parsed = processCaptureSchema.safeParse(input);
307
+ if (parsed.success) return attachProof(parsed.data);
308
+ const issues = parsed.error.issues.flatMap((issue) => issue.code === "custom" ? [{
309
+ path: issue.path.join("."),
310
+ message: issue.message
311
+ }] : []);
312
+ if (issues.length > 0) throw new TypeError(`Invalid process capture: ${issues.map(({ path, message }) => `${path}: ${message}`).join("; ")}`);
313
+ throw parsed.error;
314
+ };
315
+ })))();
316
+ }
317
+
318
+ //#endregion
319
+ //#region dist/domain/process/processCaptureExample.js
320
+ var normalization, scenario, comparisonContract, EMPTY_PROCESS_CAPTURE_EXAMPLE, finalizedScenario, finalizedComparisonContract, FINALIZED_PROCESS_CAPTURE_EXAMPLE;
321
+ function init_processCaptureExample() {
322
+ return (init_processCaptureExample = __esmMin((() => {
323
+ init_processScenario();
324
+ normalization = {
325
+ paths: true,
326
+ pids: true,
327
+ ports: true,
328
+ time_bucket_ms: 10,
329
+ patterns: []
330
+ };
331
+ scenario = { executable_sha256: "0".repeat(64) };
332
+ comparisonContract = {};
333
+ EMPTY_PROCESS_CAPTURE_EXAMPLE = {
334
+ manifest: {
335
+ rea_version: "1.1.0",
336
+ provider_version: "3",
337
+ platform: "fixture",
338
+ architecture: "fixture",
339
+ pty_backend: "node-pty",
340
+ started_at: "2026-01-01T00:00:00.000Z",
341
+ completed_at: "2026-01-01T00:00:00.001Z",
342
+ scenario,
343
+ comparison_contract: comparisonContract,
344
+ full_scenario_sha256: digestProcessCommitment(scenario),
345
+ comparison_contract_sha256: digestProcessCommitment(comparisonContract),
346
+ selected_executable_sha256: "0".repeat(64),
347
+ executable_sha256: "0".repeat(64),
348
+ executable_identity: {
349
+ state: "path_metadata_unchanged",
350
+ reason: null
351
+ },
352
+ normalization_sha256: digestProcessCommitment(normalization)
353
+ },
354
+ normalization,
355
+ frames: [],
356
+ rendered_frames: [],
357
+ interaction_events: [],
358
+ exit: {
359
+ code: 0,
360
+ signal: null,
361
+ reason: "exited"
362
+ },
363
+ settlement: {
364
+ state: "quiesced",
365
+ elapsed_ms: 50,
366
+ cleanup_outcome: "not_required"
367
+ },
368
+ process_samples: [],
369
+ filesystem_checkpoints: [{
370
+ name: "before",
371
+ at_ms: 0,
372
+ files: [],
373
+ effects: [],
374
+ truncated: false
375
+ }, {
376
+ name: "after_settlement",
377
+ at_ms: 50,
378
+ files: [],
379
+ effects: [],
380
+ truncated: false
381
+ }],
382
+ event_journal: [],
383
+ files_before: [],
384
+ files_after: [],
385
+ filesystem_effects: [],
386
+ truncated: false,
387
+ truncation_details: {
388
+ raw_terminal: {
389
+ budget_bytes: 1e6,
390
+ observed_bytes: 0,
391
+ retained_bytes: 0,
392
+ observed_frames: 0,
393
+ retained_frames: 0
394
+ },
395
+ rendered_terminal: {
396
+ budget_bytes: 1e6,
397
+ observed_bytes: 0,
398
+ retained_bytes: 0,
399
+ observed_frames: 0,
400
+ retained_frames: 0
401
+ },
402
+ filesystem_before: {
403
+ files_limit: 1e4,
404
+ depth_limit: 16,
405
+ enumeration_truncated: false,
406
+ enumeration_reasons: [],
407
+ enumeration_omissions: [],
408
+ hash_budget_bytes: 1e7,
409
+ hashed_bytes: 0,
410
+ hash_omissions: []
411
+ },
412
+ filesystem_after: {
413
+ files_limit: 1e4,
414
+ depth_limit: 16,
415
+ enumeration_truncated: false,
416
+ enumeration_reasons: [],
417
+ enumeration_omissions: [],
418
+ hash_budget_bytes: 1e7,
419
+ hashed_bytes: 0,
420
+ hash_omissions: []
421
+ },
422
+ process: {
423
+ sample_limit: 1e3,
424
+ sampling_partial: false,
425
+ retained_samples: 0,
426
+ sample_limit_reached: false,
427
+ sampling_failures: 0,
428
+ first_sampling_failure: null,
429
+ coverage: "sampled"
430
+ }
431
+ },
432
+ limitations: [],
433
+ residual_unknowns: [],
434
+ cleanup: {
435
+ owned_process_group: "verified",
436
+ temporary_root: "removed"
437
+ }
438
+ };
439
+ finalizedScenario = {
440
+ ...scenario,
441
+ finalization_ms: 1500
442
+ };
443
+ finalizedComparisonContract = { finalization_ms: 1500 };
444
+ FINALIZED_PROCESS_CAPTURE_EXAMPLE = {
445
+ ...EMPTY_PROCESS_CAPTURE_EXAMPLE,
446
+ manifest: {
447
+ ...EMPTY_PROCESS_CAPTURE_EXAMPLE.manifest,
448
+ scenario: finalizedScenario,
449
+ comparison_contract: finalizedComparisonContract,
450
+ full_scenario_sha256: digestProcessCommitment(finalizedScenario),
451
+ comparison_contract_sha256: digestProcessCommitment(finalizedComparisonContract)
452
+ },
453
+ exit: {
454
+ code: null,
455
+ signal: 0,
456
+ reason: "timeout",
457
+ finalization: {
458
+ requested_ms: 1500,
459
+ elapsed_ms: 12,
460
+ exit_code: 0,
461
+ signals: [{
462
+ signal: "SIGTERM",
463
+ sent_at_ms: 0,
464
+ delivery: "signaled"
465
+ }]
466
+ }
467
+ }
468
+ };
469
+ })))();
470
+ }
471
+
472
+ //#endregion
473
+ //#region dist/domain/functionDossierEvidence.js
474
+ var parseFunctionEvidence;
475
+ function init_functionDossierEvidence() {
476
+ return (init_functionDossierEvidence = __esmMin((() => {
477
+ init_evidence();
478
+ init_unicodeCodePointOrder();
479
+ init_hopperValues();
480
+ init_functionCallCoverage();
481
+ parseFunctionEvidence = (input) => {
482
+ const evidence = parseEvidence(input);
483
+ if (evidence.operation !== "analyze_function") throw new TypeError("Function comparison requires analyze_function Evidence");
484
+ if (evidence.subject === null) throw new TypeError("Function comparison requires artifact-bound Evidence");
485
+ const dossier = functionDossierSchema.parse(evidence.normalized_result);
486
+ const callCoverageLimitations = functionCallCoverageLimitations(evidence.relationship_coverage, dossier);
487
+ return {
488
+ evidence,
489
+ subject: evidence.subject,
490
+ dossier,
491
+ limitations: [...new Set([...evidence.limitations, ...dossier.limitations])].sort((left, right) => compareUnicodeCodePoints(left, right)),
492
+ callCoverageLimitations
493
+ };
494
+ };
495
+ })))();
496
+ }
497
+
498
+ //#endregion
499
+ //#region dist/domain/functionComparisonNormalization.js
500
+ var identityProjection, functionMatch, normalizeCfg, referenceProjection, referenceKindProjection, commentProjection, stringAndNameProjection, swiftLiteralSitesConflict, swiftLiteralSites, sorted, isAutoName, parseAddress, relativeAddress;
501
+ function init_functionComparisonNormalization() {
502
+ return (init_functionComparisonNormalization = __esmMin((() => {
503
+ init_comparisonSemantics();
504
+ init_unicodeCodePointOrder();
505
+ identityProjection = (snapshot) => ({
506
+ name: snapshot.dossier.procedure.name,
507
+ signature: snapshot.dossier.procedure.signature,
508
+ locals: snapshot.dossier.procedure.locals.map(({ description }) => description).sort()
509
+ });
510
+ functionMatch = (left, right) => {
511
+ const leftName = left.dossier.procedure.name;
512
+ const rightName = right.dossier.procedure.name;
513
+ const stableNames = !isAutoName(leftName) && !isAutoName(rightName);
514
+ if (stableNames && leftName === rightName) return {
515
+ status: "matched",
516
+ method: "symbol",
517
+ left_name: leftName,
518
+ right_name: rightName
519
+ };
520
+ return {
521
+ status: stableNames ? "mismatched" : "ambiguous",
522
+ method: "explicit",
523
+ left_name: leftName,
524
+ right_name: rightName
525
+ };
526
+ };
527
+ normalizeCfg = (blocks) => {
528
+ const parsed = [];
529
+ for (const block of blocks) {
530
+ const start = parseAddress(block.start);
531
+ const end = parseAddress(block.end);
532
+ if (start === null || end === null || end <= start) return null;
533
+ parsed.push({
534
+ block,
535
+ start,
536
+ end
537
+ });
538
+ }
539
+ const ordered = parsed.sort((left, right) => left.start < right.start ? -1 : left.start > right.start ? 1 : 0);
540
+ if (new Set(ordered.map(({ start }) => start)).size !== ordered.length) return null;
541
+ const indices = new Map(ordered.map(({ start }, index) => [start, index]));
542
+ const graph = [];
543
+ for (const { block, start, end } of ordered) {
544
+ const successors = [];
545
+ for (const address of block.successors) {
546
+ const parsedAddress = parseAddress(address);
547
+ if (parsedAddress === null) return null;
548
+ const index = indices.get(parsedAddress);
549
+ if (index === undefined) return null;
550
+ successors.push(index);
551
+ }
552
+ graph.push({
553
+ size: String(end - start),
554
+ successors: successors.sort((left, right) => left - right)
555
+ });
556
+ }
557
+ return graph;
558
+ };
559
+ referenceProjection = (snapshot) => sorted([...snapshot.dossier.incoming_references.map((item) => ({
560
+ direction: "in",
561
+ source: item.source_procedure?.name ?? null,
562
+ target: item.target_procedure?.name ?? null
563
+ })), ...snapshot.dossier.outgoing_references.map((item) => ({
564
+ direction: "out",
565
+ source: item.source_procedure?.name ?? null,
566
+ target: item.target_procedure?.name ?? null
567
+ }))]);
568
+ referenceKindProjection = (snapshot) => {
569
+ const edges = [...snapshot.dossier.incoming_references.map((edge) => ({
570
+ direction: "in",
571
+ edge
572
+ })), ...snapshot.dossier.outgoing_references.map((edge) => ({
573
+ direction: "out",
574
+ edge
575
+ }))];
576
+ if (edges.some(({ edge }) => !edge.kind.available)) return null;
577
+ return sorted(edges.map(({ direction, edge }) => {
578
+ if (!edge.kind.available) throw new TypeError("Reference-kind availability changed during projection");
579
+ return {
580
+ direction,
581
+ source: edge.source_procedure?.name ?? null,
582
+ target: edge.target_procedure?.name ?? null,
583
+ type: edge.kind.type,
584
+ flow: edge.kind.flow,
585
+ call: edge.kind.call,
586
+ jump: edge.kind.jump,
587
+ data: edge.kind.data,
588
+ read: edge.kind.read,
589
+ write: edge.kind.write,
590
+ indirect: edge.kind.indirect,
591
+ computed: edge.kind.computed,
592
+ conditional: edge.kind.conditional,
593
+ terminal: edge.kind.terminal,
594
+ primary: edge.kind.primary,
595
+ operand_index: edge.kind.operand_index,
596
+ external: edge.kind.external
597
+ };
598
+ }));
599
+ };
600
+ commentProjection = (snapshot) => {
601
+ const values = snapshot.dossier.comments.map(({ address, kind, text }) => ({
602
+ offset: relativeAddress(address, snapshot.dossier.procedure.address),
603
+ kind,
604
+ text
605
+ }));
606
+ return values.some(({ offset }) => offset === null) ? null : sorted(values);
607
+ };
608
+ stringAndNameProjection = (snapshot, includeSwiftLiterals = true) => {
609
+ const values = [
610
+ ...snapshot.dossier.referenced_strings.map(({ source_address: sourceAddress, value }) => ({
611
+ kind: "string",
612
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
613
+ value
614
+ })),
615
+ ...snapshot.dossier.referenced_names.map(({ source_address: sourceAddress, value }) => ({
616
+ kind: "name",
617
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
618
+ value
619
+ })),
620
+ ...(includeSwiftLiterals ? snapshot.dossier.swift_string_literals ?? [] : []).map(({ source_address: sourceAddress, value, representation, registers }) => ({
621
+ kind: "swift_string",
622
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
623
+ value,
624
+ representation,
625
+ registers
626
+ }))
627
+ ];
628
+ return values.some(({ source_offset: offset }) => offset === null) ? null : sorted(values);
629
+ };
630
+ swiftLiteralSitesConflict = (left, right) => {
631
+ const leftSites = swiftLiteralSites(left);
632
+ const rightSites = swiftLiteralSites(right);
633
+ for (const site of new Set([...leftSites.values.keys(), ...rightSites.values.keys()])) {
634
+ const leftValues = leftSites.values.get(site) ?? (leftSites.complete ? [] : undefined);
635
+ const rightValues = rightSites.values.get(site) ?? (rightSites.complete ? [] : undefined);
636
+ if (leftValues === undefined || rightValues === undefined) continue;
637
+ const leftFacts = new Set(leftValues);
638
+ const rightFacts = new Set(rightValues);
639
+ if (rightSites.complete && leftValues.some((value) => !rightFacts.has(value)) || leftSites.complete && rightValues.some((value) => !leftFacts.has(value))) return true;
640
+ }
641
+ return false;
642
+ };
643
+ swiftLiteralSites = (snapshot) => {
644
+ const base = snapshot.dossier.procedure.address;
645
+ const omissions = snapshot.dossier.swift_string_literal_omissions ?? [];
646
+ const site = (sourceAddress, registers) => {
647
+ const offset = relativeAddress(sourceAddress, base);
648
+ return offset === null ? null : canonicalJson([offset, registers]);
649
+ };
650
+ const values = new Map();
651
+ for (const literal of snapshot.dossier.swift_string_literals ?? []) {
652
+ const key = site(literal.source_address, literal.registers);
653
+ if (key === null) continue;
654
+ values.set(key, [...values.get(key) ?? [], canonicalJson([literal.value, literal.representation])].sort(compareUnicodeCodePoints));
655
+ }
656
+ const complete = snapshot.dossier.swift_string_literals !== undefined && omissions.length === 0;
657
+ return {
658
+ values,
659
+ complete
660
+ };
661
+ };
662
+ sorted = (values) => values.map((value) => ({
663
+ value,
664
+ json: canonicalJson(value, "Function normalization")
665
+ })).sort((left, right) => compareUnicodeCodePoints(left.json, right.json)).map(({ value }) => value);
666
+ isAutoName = (name) => /^(?:sub_[0-9a-f]+|fcn\.[0-9a-f]+|FUN_[0-9a-f]+)$/iu.test(name);
667
+ parseAddress = (value) => /^0x[0-9a-f]+$/iu.test(value) ? BigInt(value) : null;
668
+ relativeAddress = (value, base) => {
669
+ const parsed = parseAddress(value);
670
+ const parsedBase = parseAddress(base);
671
+ return parsed === null || parsedBase === null || parsed < parsedBase ? null : String(parsed - parsedBase);
672
+ };
673
+ })))();
674
+ }
675
+
676
+ //#endregion
677
+ //#region dist/domain/functionComparisonDimensions.js
678
+ var compareDimensions, facetLimitations, compareText, compareComments, compareStringsAndNames, swiftLiteralCoverage, compareReferences, compareIdentity, compareCalls, callProjection, compareCfg, compareValues;
679
+ function init_functionComparisonDimensions() {
680
+ return (init_functionComparisonDimensions = __esmMin((() => {
681
+ init_comparisonSemantics();
682
+ init_functionComparisonNormalization();
683
+ init_functionComparisonResults();
684
+ compareDimensions = (left, right, context) => {
685
+ return [
686
+ compareIdentity(left, right, context),
687
+ compareText("pseudocode", left.dossier.pseudocode, right.dossier.pseudocode, context),
688
+ compareText("assembly", left.dossier.assembly.join("\n"), right.dossier.assembly.join("\n"), context),
689
+ compareComments(left, right, context),
690
+ compareCalls(left, right, context),
691
+ compareReferences(left, right, context),
692
+ compareStringsAndNames(left, right, context),
693
+ compareCfg(left, right, context)
694
+ ].map((result) => {
695
+ const limitations = [...facetLimitations(left, result.dimension).map((reason) => `Left: ${reason}`), ...facetLimitations(right, result.dimension).map((reason) => `Right: ${reason}`)];
696
+ return limitations.length === 0 ? result : unresolvedDimension({
697
+ dimension: result.dimension,
698
+ links: context.links,
699
+ leftCount: null,
700
+ rightCount: null,
701
+ limitations: [...result.limitations, ...limitations]
702
+ });
703
+ });
704
+ };
705
+ facetLimitations = (snapshot, dimension) => {
706
+ const { dossier } = snapshot;
707
+ const fields = {
708
+ identity: [],
709
+ pseudocode: [["pseudocode", dossier.pseudocode.length]],
710
+ assembly: [["assembly", dossier.assembly.length]],
711
+ comments: [["comments", dossier.comments.length]],
712
+ calls: [["callers", dossier.callers.length], ["callees", dossier.callees.length]],
713
+ references: [["references", dossier.incoming_references.length + dossier.outgoing_references.length]],
714
+ strings_names: [["strings_names", dossier.referenced_strings.length + dossier.referenced_names.length]],
715
+ cfg: [["cfg", dossier.basic_blocks.length]]
716
+ };
717
+ return fields[dimension].flatMap(([field, count]) => {
718
+ const availability = dossier.facet_availability?.[field];
719
+ if (availability?.available === false) return [`${field}: ${availability.reason}`];
720
+ return availability === undefined && count === 0 ? [`${field}: Provider did not declare coverage for this empty facet.`] : [];
721
+ });
722
+ };
723
+ compareText = (dimension, left, right, context) => {
724
+ const limitations = ["Exact provider text is compared without address or generated-name normalization; layout-only differences do not establish a behavior change.", ...dimension === "assembly" ? ["Assembly is opaque provider text; relocation normalization is unavailable."] : []];
725
+ if (context.providersDiffer) return unresolvedDimension({
726
+ dimension,
727
+ links: context.links,
728
+ leftCount: [...left].length,
729
+ rightCount: [...right].length,
730
+ limitations: [...limitations, "Exact text comparison requires one provider identity."]
731
+ });
732
+ const changes = diffLines(left, right, {
733
+ timeout: 100,
734
+ maxEditLength: 1e4
735
+ });
736
+ if (changes === undefined) return unresolvedDimension({
737
+ dimension,
738
+ links: context.links,
739
+ leftCount: [...left].length,
740
+ rightCount: [...right].length,
741
+ limitations: [...limitations, "Bounded line diff exceeded its time or edit-distance limit."]
742
+ });
743
+ const delta = changes.reduce((summary, change) => ({
744
+ added_lines: summary.added_lines + (change.added ? change.count ?? 0 : 0),
745
+ removed_lines: summary.removed_lines + (change.removed ? change.count ?? 0 : 0),
746
+ hunks: summary.hunks + (change.added || change.removed ? 1 : 0)
747
+ }), {
748
+ added_lines: 0,
749
+ removed_lines: 0,
750
+ hunks: 0
751
+ });
752
+ return dimensionResult({
753
+ dimension,
754
+ status: delta.hunks === 0 ? "unchanged" : "changed",
755
+ left,
756
+ right,
757
+ ...context,
758
+ leftCount: [...left].length,
759
+ rightCount: [...right].length,
760
+ textDelta: delta,
761
+ limitations
762
+ });
763
+ };
764
+ compareComments = (left, right, context) => {
765
+ const leftValues = commentProjection(left);
766
+ const rightValues = commentProjection(right);
767
+ if (leftValues === null || rightValues === null) return unresolvedDimension({
768
+ dimension: "comments",
769
+ links: context.links,
770
+ leftCount: left.dossier.comments.length,
771
+ rightCount: right.dossier.comments.length,
772
+ limitations: ["Comment locations could not be normalized relative to the function."]
773
+ });
774
+ return compareValues("comments", leftValues, rightValues, context);
775
+ };
776
+ compareStringsAndNames = (left, right, context) => {
777
+ const complete = swiftLiteralCoverage(left) === swiftLiteralCoverage(right) && swiftLiteralCoverage(left) !== "partial";
778
+ const leftValues = stringAndNameProjection(left, complete);
779
+ const rightValues = stringAndNameProjection(right, complete);
780
+ if (leftValues === null || rightValues === null) return unresolvedDimension({
781
+ dimension: "strings_names",
782
+ links: context.links,
783
+ leftCount: null,
784
+ rightCount: null,
785
+ limitations: ["Reference source locations could not be normalized to function offsets."]
786
+ });
787
+ const compared = compareValues("strings_names", leftValues, rightValues, context);
788
+ if (complete || compared.status === "changed") return compared;
789
+ if (swiftLiteralSitesConflict(left, right)) {
790
+ const leftAll = stringAndNameProjection(left);
791
+ const rightAll = stringAndNameProjection(right);
792
+ if (leftAll !== null && rightAll !== null) return compareValues("strings_names", leftAll, rightAll, context);
793
+ }
794
+ return unresolvedDimension({
795
+ dimension: "strings_names",
796
+ links: context.links,
797
+ leftCount: null,
798
+ rightCount: null,
799
+ limitations: ["Swift String literal coverage differs or is partial; referenced strings and names match, and complete coverage does not establish a differing literal."]
800
+ });
801
+ };
802
+ swiftLiteralCoverage = (snapshot) => (snapshot.dossier.swift_string_literal_omissions ?? []).length > 0 ? "partial" : snapshot.dossier.swift_string_literals === undefined ? "absent" : "complete";
803
+ compareReferences = (left, right, context) => {
804
+ const leftProjection = referenceProjection(left);
805
+ const rightProjection = referenceProjection(right);
806
+ if (leftProjection.length === 0 && rightProjection.length === 0) return compareValues("references", leftProjection, rightProjection, context);
807
+ if (canonicalJson(leftProjection, "Function comparison") !== canonicalJson(rightProjection, "Function comparison")) return dimensionResult({
808
+ dimension: "references",
809
+ status: "changed",
810
+ left: leftProjection,
811
+ right: rightProjection,
812
+ ...context,
813
+ leftCount: leftProjection.length,
814
+ rightCount: rightProjection.length,
815
+ textDelta: null,
816
+ limitations: ["Reference endpoints differ independently of provider reference-kind metadata."]
817
+ });
818
+ const leftKinds = referenceKindProjection(left);
819
+ const rightKinds = referenceKindProjection(right);
820
+ if (leftKinds !== null && rightKinds !== null) return compareValues("references", leftKinds, rightKinds, context);
821
+ return unresolvedDimension({
822
+ dimension: "references",
823
+ links: context.links,
824
+ leftCount: leftProjection.length,
825
+ rightCount: rightProjection.length,
826
+ limitations: ["At least one provider did not expose reference kinds, so equal endpoints do not prove equal edge semantics."]
827
+ });
828
+ };
829
+ compareIdentity = (left, right, context) => {
830
+ if (isAutoName(left.dossier.procedure.name) || isAutoName(right.dossier.procedure.name)) return unresolvedDimension({
831
+ dimension: "identity",
832
+ links: context.links,
833
+ leftCount: null,
834
+ rightCount: null,
835
+ limitations: ["Address-derived function names are not stable cross-version identity."]
836
+ });
837
+ return compareValues("identity", identityProjection(left), identityProjection(right), context);
838
+ };
839
+ compareCalls = (left, right, context) => {
840
+ const leftValues = callProjection(left);
841
+ const rightValues = callProjection(right);
842
+ const coverageLimitations = [...left.callCoverageLimitations.map((reason) => `Left: ${reason}`), ...right.callCoverageLimitations.map((reason) => `Right: ${reason}`)];
843
+ if (coverageLimitations.length > 0) return unresolvedDimension({
844
+ dimension: "calls",
845
+ links: context.links,
846
+ leftCount: leftValues.length,
847
+ rightCount: rightValues.length,
848
+ limitations: coverageLimitations
849
+ });
850
+ if ([...leftValues, ...rightValues].some(({ name }) => isAutoName(name))) return unresolvedDimension({
851
+ dimension: "calls",
852
+ links: context.links,
853
+ leftCount: leftValues.length,
854
+ rightCount: rightValues.length,
855
+ limitations: ["Address-derived callee or caller names cannot be matched safely."]
856
+ });
857
+ return compareValues("calls", sorted(leftValues), sorted(rightValues), context);
858
+ };
859
+ callProjection = (snapshot) => [...snapshot.dossier.callers.map(({ name }) => ({
860
+ direction: "in",
861
+ name
862
+ })), ...snapshot.dossier.callees.map(({ name }) => ({
863
+ direction: "out",
864
+ name
865
+ }))];
866
+ compareCfg = (left, right, context) => {
867
+ const leftBlocks = left.dossier.basic_blocks;
868
+ const rightBlocks = right.dossier.basic_blocks;
869
+ const leftGraph = normalizeCfg(leftBlocks);
870
+ const rightGraph = normalizeCfg(rightBlocks);
871
+ if (leftGraph === null || rightGraph === null) return unresolvedDimension({
872
+ dimension: "cfg",
873
+ links: context.links,
874
+ leftCount: leftBlocks.length,
875
+ rightCount: rightBlocks.length,
876
+ limitations: ["CFG addresses could not be normalized to local block indices."]
877
+ });
878
+ return compareValues("cfg", leftGraph, rightGraph, context);
879
+ };
880
+ compareValues = (dimension, left, right, context) => {
881
+ const leftJson = canonicalJson(left, "Function comparison");
882
+ const rightJson = canonicalJson(right, "Function comparison");
883
+ return dimensionResult({
884
+ dimension,
885
+ status: leftJson === rightJson ? "unchanged" : "changed",
886
+ left,
887
+ right,
888
+ ...context,
889
+ leftCount: Array.isArray(left) ? left.length : null,
890
+ rightCount: Array.isArray(right) ? right.length : null,
891
+ textDelta: null,
892
+ limitations: []
893
+ });
894
+ };
895
+ })))();
896
+ }
897
+
898
+ //#endregion
899
+ //#region dist/domain/functionComparison.js
900
+ var compareFunctions;
901
+ function init_functionComparison() {
902
+ return (init_functionComparison = __esmMin((() => {
903
+ init_comparisonSemantics();
904
+ init_unicodeCodePointOrder();
905
+ init_functionDossierEvidence();
906
+ init_functionComparisonNormalization();
907
+ init_functionComparisonSchemas();
908
+ init_functionComparisonResults();
909
+ init_functionComparisonDimensions();
910
+ compareFunctions = (leftInput, rightInput) => {
911
+ const left = parseFunctionEvidence(leftInput);
912
+ const right = parseFunctionEvidence(rightInput);
913
+ const links = [left.evidence.evidence_id, right.evidence.evidence_id];
914
+ const providersDiffer = canonicalJson(left.evidence.provider, "Function comparison") !== canonicalJson(right.evidence.provider, "Function comparison");
915
+ const dimensions = compareDimensions(left, right, {
916
+ links,
917
+ providersDiffer
918
+ });
919
+ const match = functionMatch(left, right);
920
+ const changes = dimensions.filter(({ status }) => status !== "unchanged");
921
+ return functionComparisonResultSchema.parse({
922
+ status: overallStatus(dimensions, match.status),
923
+ function_match: match,
924
+ left_subject_sha256: left.subject.digest.sha256,
925
+ right_subject_sha256: right.subject.digest.sha256,
926
+ summary: summarize(dimensions),
927
+ dimensions,
928
+ changes,
929
+ limitations: [...new Set([
930
+ ...left.limitations.map((item) => `Left: ${item}`),
931
+ ...right.limitations.map((item) => `Right: ${item}`),
932
+ ...providersDiffer ? ["Provider-specific pseudocode and assembly representations were not equated."] : []
933
+ ])].sort((a, b) => compareUnicodeCodePoints(a, b))
934
+ });
935
+ };
936
+ })))();
937
+ }
938
+
939
+ //#endregion
940
+ //#region dist/contracts/investigationExamples.js
941
+ var comparison, FUNCTION_COMPARISON_EVIDENCE, PROCESS_PROVIDER, capture, captureEvidence, PROCESS_CAPTURE_REFERENCE, PROCESS_CAPTURE_RECONSTRUCTION, PROCESS_COMPARISON_EVIDENCE, INVESTIGATION_EXAMPLES;
942
+ function init_investigationExamples() {
943
+ return (init_investigationExamples = __esmMin((() => {
944
+ init_evidence();
945
+ init_jsonValue();
946
+ init_processComparison();
947
+ init_processCaptureParsing();
948
+ init_functionComparisonExample();
949
+ init_processCaptureExample();
950
+ init_functionComparison();
951
+ comparison = compareFunctions(FUNCTION_COMPARISON_EXAMPLE.left, FUNCTION_COMPARISON_EXAMPLE.right);
952
+ FUNCTION_COMPARISON_EVIDENCE = createEvidence(undefined, {
953
+ id: "rea-function-comparison",
954
+ name: "REA function comparison",
955
+ version: "1"
956
+ }, {
957
+ predicateType: "rea.function-comparison",
958
+ operation: "compare_functions",
959
+ parameters: {
960
+ left_evidence_id: FUNCTION_COMPARISON_EXAMPLE.left.evidence_id,
961
+ right_evidence_id: FUNCTION_COMPARISON_EXAMPLE.right.evidence_id
962
+ },
963
+ result: jsonValueSchema.parse(comparison),
964
+ confidence: "derived",
965
+ authority: "analyst-inference",
966
+ limitations: comparison.limitations,
967
+ evidenceLinks: [FUNCTION_COMPARISON_EXAMPLE.left.evidence_id, FUNCTION_COMPARISON_EXAMPLE.right.evidence_id]
968
+ });
969
+ PROCESS_PROVIDER = {
970
+ id: "rea-process",
971
+ name: "REA deterministic process harness",
972
+ version: "3"
973
+ };
974
+ capture = parseProcessCapture(EMPTY_PROCESS_CAPTURE_EXAMPLE);
975
+ captureEvidence = (scenario) => createEvidence(undefined, PROCESS_PROVIDER, {
976
+ predicateType: "rea.process-capture",
977
+ operation: "capture_process_scenario",
978
+ parameters: { scenario },
979
+ result: jsonValueSchema.parse(capture),
980
+ confidence: "observed",
981
+ authority: "controlled-replay",
982
+ environment: {
983
+ id: "fixture-linux",
984
+ platform: "linux",
985
+ architecture: "x86_64",
986
+ isolation: "container"
987
+ }
988
+ });
989
+ PROCESS_CAPTURE_REFERENCE = captureEvidence("reference");
990
+ PROCESS_CAPTURE_RECONSTRUCTION = captureEvidence("reconstruction");
991
+ PROCESS_COMPARISON_EVIDENCE = createEvidence(undefined, PROCESS_PROVIDER, {
992
+ predicateType: "rea.process-comparison",
993
+ operation: "compare_process_captures",
994
+ parameters: {
995
+ left_evidence_id: PROCESS_CAPTURE_REFERENCE.evidence_id,
996
+ right_evidence_id: PROCESS_CAPTURE_RECONSTRUCTION.evidence_id,
997
+ left_normalization: capture.normalization,
998
+ right_normalization: capture.normalization
999
+ },
1000
+ result: jsonValueSchema.parse(compareProcessCaptures(capture, capture)),
1001
+ confidence: "derived",
1002
+ authority: "analyst-inference",
1003
+ evidenceLinks: [PROCESS_CAPTURE_REFERENCE.evidence_id, PROCESS_CAPTURE_RECONSTRUCTION.evidence_id]
1004
+ });
1005
+ INVESTIGATION_EXAMPLES = {
1006
+ compare_process_captures: { input: {
1007
+ left: PROCESS_CAPTURE_REFERENCE,
1008
+ right: PROCESS_CAPTURE_RECONSTRUCTION
1009
+ } },
1010
+ find_changed_behavior: { comparisons: [FUNCTION_COMPARISON_EVIDENCE] },
1011
+ build_call_path: {
1012
+ functions: [FUNCTION_COMPARISON_EXAMPLE.left],
1013
+ start: { address: "0x1000" },
1014
+ goal: { address: "0x1000" }
1015
+ },
1016
+ correlate_static_and_runtime: {
1017
+ static_comparisons: [FUNCTION_COMPARISON_EVIDENCE],
1018
+ runtime_comparisons: [PROCESS_COMPARISON_EVIDENCE],
1019
+ mappings: [{
1020
+ static: {
1021
+ comparison_evidence_id: FUNCTION_COMPARISON_EVIDENCE.evidence_id,
1022
+ selector: {
1023
+ kind: "function",
1024
+ dimension: "pseudocode"
1025
+ }
1026
+ },
1027
+ runtime: {
1028
+ comparison_evidence_id: PROCESS_COMPARISON_EVIDENCE.evidence_id,
1029
+ dimension: "terminal"
1030
+ },
1031
+ side_alignment: "left_to_left",
1032
+ hypothesis: {
1033
+ statement: "Static implementation changed without terminal change.",
1034
+ expected_pattern: "static_only"
1035
+ }
1036
+ }]
1037
+ },
1038
+ verify_reconstruction: { specification: {
1039
+ name: "Terminal compatibility",
1040
+ claims: [{
1041
+ kind: "behavioral",
1042
+ claim_id: "terminal-output",
1043
+ title: "Terminal output remains equivalent",
1044
+ comparison_evidence_id: PROCESS_COMPARISON_EVIDENCE.evidence_id,
1045
+ dimension: "terminal"
1046
+ }]
1047
+ } }
1048
+ };
1049
+ })))();
1050
+ }
1051
+
1052
+ //#endregion
1053
+ //#region dist/contracts/toolContractExamples.js
1054
+ var TOOL_EXAMPLE_OVERRIDES;
1055
+ function init_toolContractExamples() {
1056
+ return (init_toolContractExamples = __esmMin((() => {
1057
+ init_unknownContractExamples();
1058
+ init_artifactComparisonExample();
1059
+ init_functionComparisonExample();
1060
+ init_investigationExamples();
1061
+ TOOL_EXAMPLE_OVERRIDES = {
1062
+ ...UNKNOWN_CONTRACT_EXAMPLES,
1063
+ ...INVESTIGATION_EXAMPLES,
1064
+ goto_address: { address: "0x1000" },
1065
+ procedure_address: { procedure: "main" },
1066
+ procedure_assembly: { procedure: "main" },
1067
+ procedure_callees: { procedure: "main" },
1068
+ procedure_callers: { procedure: "main" },
1069
+ procedure_info: { procedure: "main" },
1070
+ trace_native_values: { procedure: "0x1000" },
1071
+ inspect_native_data_type: { type: "/MyStruct" },
1072
+ inspect_native_instruction: { address: "0x1000" },
1073
+ resolve_native_call_targets: { address: "0x1000" },
1074
+ read_function_instructions: { procedure: "main" },
1075
+ read_bytes: {
1076
+ address: "0x1000",
1077
+ length: 16
1078
+ },
1079
+ search_bytes: { pattern: "48 8B ?? ?? 89" },
1080
+ address_to_file_offset: { address: "0x1000" },
1081
+ procedure_references: { procedure: "main" },
1082
+ procedure_pseudo_code: { procedure: "main" },
1083
+ resolve_containing_procedure: { address: "0x1000" },
1084
+ search_procedures: { pattern: "main" },
1085
+ search_strings: { pattern: "authorization failed" },
1086
+ set_address_name: {
1087
+ address: "0x1000",
1088
+ name: "entry"
1089
+ },
1090
+ set_addresses_names: { names: { "0x1000": "entry" } },
1091
+ set_bookmark: { address: "0x1000" },
1092
+ set_comment: {
1093
+ address: "0x1000",
1094
+ comment: "validated entry point"
1095
+ },
1096
+ set_inline_comment: {
1097
+ address: "0x1000",
1098
+ comment: "calls parser"
1099
+ },
1100
+ unset_bookmark: { address: "0x1000" },
1101
+ get_call_graph: { address: "0x1000" },
1102
+ find_xrefs_to_name: { name: "malloc" },
1103
+ analyze_function: { procedure: "main" },
1104
+ annotate_native_function: {
1105
+ procedure: "0x10100",
1106
+ name: "entry",
1107
+ comment: "Analyst observation"
1108
+ },
1109
+ analyze_swift_types: {
1110
+ category: "classes",
1111
+ pattern: "Account"
1112
+ },
1113
+ inspect_native_api: { procedure: "main" },
1114
+ trace_feature: { query: "license" },
1115
+ trace_call_path: {
1116
+ start: "0x1000",
1117
+ goal: "0x1100"
1118
+ },
1119
+ trace_native_ui_action: { action: "buildTapped:" },
1120
+ open_binary: { path: "/tmp/fixture" },
1121
+ export_evidence_bundle: { path: "/tmp/evidence.json" },
1122
+ get_evidence_bundle: {
1123
+ detail: "summary",
1124
+ filters: {
1125
+ operation: "analyze_function",
1126
+ procedure_address: "0x1000"
1127
+ }
1128
+ },
1129
+ inspect_address_context: { address: "0x1000" },
1130
+ import_evidence_bundle: { path: "/tmp/evidence.json" },
1131
+ capture_process_scenario: {
1132
+ executable: "/usr/bin/true",
1133
+ working_directory: "/tmp",
1134
+ timeout_ms: 3e4,
1135
+ finalization_ms: 1500
1136
+ },
1137
+ compare_process_captures: {
1138
+ left: PROCESS_CAPTURE_REFERENCE,
1139
+ right: PROCESS_CAPTURE_RECONSTRUCTION
1140
+ },
1141
+ compare_artifacts: {
1142
+ left: ARTIFACT_COMPARISON_EXAMPLE.left,
1143
+ right: ARTIFACT_COMPARISON_EXAMPLE.right
1144
+ },
1145
+ compare_functions: {
1146
+ left: FUNCTION_COMPARISON_EXAMPLE.left,
1147
+ right: FUNCTION_COMPARISON_EXAMPLE.right
1148
+ },
1149
+ compare_bundles: {
1150
+ left_bundle_path: "/tmp/left-evidence.json",
1151
+ right_bundle_path: "/tmp/right-evidence.json"
1152
+ },
1153
+ inspect_with_objdump: {
1154
+ path: "/tmp/program",
1155
+ operation: "disassemble"
1156
+ },
1157
+ execute_rizin_command: {
1158
+ path: "/tmp/program",
1159
+ command: "iI"
1160
+ },
1161
+ list_frida_devices: {},
1162
+ list_frida_processes: { device_id: "local" },
1163
+ start_frida_session: {
1164
+ mode: "attach",
1165
+ device_id: "local",
1166
+ pid: 1234
1167
+ },
1168
+ load_frida_script: {
1169
+ session_id: "00000000-0000-4000-8000-000000000001",
1170
+ source_kind: "inline",
1171
+ source: "send(Process.id);"
1172
+ },
1173
+ resume_frida_session: { session_id: "00000000-0000-4000-8000-000000000001" },
1174
+ unload_frida_script: {
1175
+ session_id: "00000000-0000-4000-8000-000000000001",
1176
+ script_id: "00000000-0000-4000-8000-000000000002"
1177
+ },
1178
+ frida_session_status: { session_id: "00000000-0000-4000-8000-000000000001" },
1179
+ close_frida_session: { session_id: "00000000-0000-4000-8000-000000000001" },
1180
+ instrument_with_frida: {
1181
+ mode: "attach",
1182
+ device_id: "local",
1183
+ pid: 1234,
1184
+ source_kind: "inline",
1185
+ source: "send(Process.id);",
1186
+ duration_ms: 1e3
1187
+ }
1188
+ };
1189
+ })))();
1190
+ }
1191
+
1192
+ //#endregion
1193
+ //#region dist/contracts/toolContractHelpers.js
1194
+ var document, address, optionalAddress, procedure, exampleInputSchema, examplesFor;
1195
+ function init_toolContractHelpers() {
1196
+ return (init_toolContractHelpers = __esmMin((() => {
1197
+ init_jsonValue();
1198
+ init_toolContractExamples();
1199
+ document = z.string().optional().describe("The active target's provider document name; use open_binary to switch targets");
1200
+ address = z.string().describe("A provider-normalized address; default memory uses 0x-prefixed hexadecimal");
1201
+ optionalAddress = address.optional();
1202
+ procedure = z.string().describe("The procedure name or address");
1203
+ exampleInputSchema = z.record(z.string(), jsonValueSchema);
1204
+ examplesFor = (name, inputSchema) => {
1205
+ const parsed = inputSchema.parse(TOOL_EXAMPLE_OVERRIDES[name] ?? {});
1206
+ return [{
1207
+ title: `Example ${name.replaceAll("_", " ")} request`,
1208
+ input: exampleInputSchema.parse(parsed)
1209
+ }];
1210
+ };
1211
+ })))();
1212
+ }
1213
+
1214
+ //#endregion
1215
+ //#region dist/contracts/functionInstructionContract.js
1216
+ var functionInstructionInputSchema;
1217
+ function init_functionInstructionContract() {
1218
+ return (init_functionInstructionContract = __esmMin((() => {
1219
+ functionInstructionInputSchema = z.object({
1220
+ procedure: z.string().describe("The procedure name or address"),
1221
+ document: z.string().optional().describe("The document name")
1222
+ });
1223
+ })))();
1224
+ }
1225
+
1226
+ //#endregion
1227
+ //#region dist/contracts/hopperMemoryContracts.js
1228
+ var HOPPER_MEMORY_TOOL_DEFINITIONS;
1229
+ function init_hopperMemoryContracts() {
1230
+ return (init_hopperMemoryContracts = __esmMin((() => {
1231
+ init_toolContractHelpers();
1232
+ init_bytePattern();
1233
+ HOPPER_MEMORY_TOOL_DEFINITIONS = [
1234
+ {
1235
+ name: "search_bytes",
1236
+ description: "Find masked byte signatures in initialized analyzed memory. Hex byte pairs and ?? wildcards are supported; an optional equal-length hex mask selects bits. Bounds are inclusive. Matches are ordered by provider address and never span blocks. Coverage describes this page; reuse the same query with next_cursor to continue. Uninitialized blocks are listed separately. Ghidra only; Hopper is unavailable.",
1237
+ inputSchema: z.strictObject({
1238
+ ...bytePatternFields,
1239
+ document,
1240
+ start: address.optional(),
1241
+ end: address.optional(),
1242
+ limit: z.number().int().min(1).max(1e3).default(100),
1243
+ cursor: z.string().min(1).optional()
1244
+ }).superRefine(validateBytePattern)
1245
+ },
1246
+ {
1247
+ name: "read_bytes",
1248
+ description: "Read analyzed bytes from one provider-normalized virtual address. The hexadecimal payload reports the exact returned length; incomplete reads remain explicit and unsupported provider APIs return typed capability unavailability.",
1249
+ inputSchema: z.object({
1250
+ address,
1251
+ length: z.number().int().min(1).default(256),
1252
+ document
1253
+ })
1254
+ },
1255
+ {
1256
+ name: "address_to_file_offset",
1257
+ description: "Map one provider-normalized virtual address to its original nonnegative file offset. Hopper verifies the original bytes against the selected executable digest and translates FAT image-relative offsets using the loaded header. Results preserve the provider coordinate, image base, and source path. Unmapped addresses fail explicitly; changed or unavailable sources return typed errors retaining native mapping facts as partial evidence.",
1258
+ inputSchema: z.object({
1259
+ address,
1260
+ document
1261
+ })
1262
+ }
1263
+ ];
1264
+ })))();
1265
+ }
1266
+
1267
+ //#endregion
1268
+ //#region dist/contracts/officialToolContracts.js
1269
+ var official, OFFICIAL_TOOL_CONTRACTS;
1270
+ function init_officialToolContracts() {
1271
+ return (init_officialToolContracts = __esmMin((() => {
1272
+ init_nativeFunctionAnnotations();
1273
+ init_toolOutputSchemaGroups();
1274
+ init_toolOutputSchemaPrimitives();
1275
+ init_toolContractHelpers();
1276
+ init_toolEffects();
1277
+ init_nativeDataType();
1278
+ init_nativeInstruction();
1279
+ init_functionInstructionContract();
1280
+ init_hopperMemoryContracts();
1281
+ init_analysisSearchContract();
1282
+ official = (name, description, inputSchema) => {
1283
+ const strictInputSchema = inputSchema.strict();
1284
+ return {
1285
+ name,
1286
+ ...toolContractMetadata(name),
1287
+ description,
1288
+ kind: "official-proxy",
1289
+ inputSchema: strictInputSchema,
1290
+ outputSchema: requireOutputSchema(officialOutputSchemas, name),
1291
+ examples: examplesFor(name, strictInputSchema)
1292
+ };
1293
+ };
1294
+ OFFICIAL_TOOL_CONTRACTS = [
1295
+ official("annotate_native_function", "Atomically update one function name and/or entry comments, read them back, and return a refreshed complete function dossier. Ghidra changes its ephemeral session analysis database only; original executable bytes remain unchanged. Empty comment text clears that comment. Edits remain available to subsequent MCP calls until close; CLI returns the updated dossier before discarding its session. Invalid edits roll back the entire operation. Windows P0 and providers without this capability are unsupported.", nativeFunctionAnnotationsInputSchema),
1296
+ official("inspect_native_load_image", "Verify the provider's loaded DOS MZ or explicitly selected COM image against its immutable target snapshot: complete original/modified source-byte digests, header/module file mappings and memory digests, relocations and external entry. Returns measured observations and independent checks with mismatch coordinates. COM verification includes its imposed entry register context and does not claim PSP/runtime coverage. Overlay and uninitialized coverage remain explicit; other formats return unsupported. Does not execute or modify the target.", z.strictObject({})),
1297
+ official("inspect_native_data_type", "Inspect one recovered type by exact database category path or defined typed data address. Returns observed size, alignment, packing, fields, bitfields, enum values, and child type identities; source-level authority and flexible-tail semantics remain unknown unless substantiated.", nativeDataTypeInputSchema),
1298
+ official("inspect_native_instruction", "Inspect one exact code or data address: decoded bytes, mnemonic, ordered operand tokens, flow, outgoing instruction references and typed incoming references where available. Incoming references preserve source, access kind, operand index and analysis provenance even at data addresses; they do not prove runtime access. Memory addressing decomposition is unavailable when the provider supplies only tokens. Data, interior instruction addresses and undecodable bytes are distinct outcomes.", nativeInstructionInputSchema),
1299
+ official("resolve_native_call_targets", "Resolve one explicit static call site using typed provider call references. Preserves ambiguous targets as candidates and unresolved computed calls as unknown; does not execute code or traverse a call graph.", nativeInstructionInputSchema),
1300
+ official("address_name", "Resolve the primary analyzed name at a code or data address. Headless providers require an explicit address; GUI providers may default to their current cursor. Null means the provider has no primary name at that address.", z.object({
1301
+ document,
1302
+ address: optionalAddress
1303
+ })),
1304
+ official("comment", "Read the regular analysis comment at an address, defaulting to the current cursor. This is read-only and returns null when no comment exists; use set_comment to persist a finding.", z.object({
1305
+ document,
1306
+ address: optionalAddress
1307
+ })),
1308
+ official("current_address", "Return Hopper's current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.", z.object({ document })),
1309
+ official("current_procedure", "Return the analyzed procedure containing Hopper's current cursor. This uses GUI cursor state and is not a procedure-name lookup.", z.object({ document })),
1310
+ official("current_document", "Return the document currently selected by REA's Hopper bridge.", z.object({})),
1311
+ official("goto_address", "Move Hopper's GUI cursor to a mapped address and return the observed cursor address. Interior coordinates snap to the containing analyzed object's start. Unmapped destinations fail without moving the cursor. This changes navigation state but not analysis data; use explicit-address tools for headless workflows.", z.object({
1312
+ address,
1313
+ document
1314
+ })),
1315
+ official("inline_comment", "Read the inline instruction comment at an address, defaulting to the current cursor. Returns null when absent; use set_inline_comment to write one.", z.object({
1316
+ document,
1317
+ address: optionalAddress
1318
+ })),
1319
+ official("list_bookmarks", "List every bookmark in the selected Hopper document as address and name pairs; unnamed bookmarks retain a null name. Use bookmarks as analyst-authored navigation aids; this does not discover code references.", z.object({ document })),
1320
+ official("list_documents", "List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.", z.object({})),
1321
+ official("list_names", "List every analyzed memory and external symbol as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available.", z.object({
1322
+ document,
1323
+ address: optionalAddress
1324
+ })),
1325
+ official("list_procedures", "List every analyzed procedure as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; use returned addresses in later function operations.", z.object({ document })),
1326
+ official("list_segments", "List segments or memory blocks using exclusive end addresses. Ghidra reports block permissions, address space, image base, initialization, and overlay facts; Hopper marks unavailable permissions explicitly.", z.object({ document })),
1327
+ official("list_strings", "List every provider-defined string object, or filter to one address, as address/value pairs with encoding, terminator status, and byte length when available. Hopper reads complete typed objects and retains its original display text as provider_value; long literals may span adjacent unterminated objects.", z.object({
1328
+ document,
1329
+ address: optionalAddress
1330
+ })),
1331
+ official("next_address", "Return the next analyzed object address after an explicit address or current cursor. This is a navigation primitive, not instruction-flow or CFG analysis.", z.object({
1332
+ document,
1333
+ address: optionalAddress
1334
+ })),
1335
+ official("prev_address", "Return the previous analyzed object start before an explicit address or current cursor. This is a navigation primitive and may fail at document boundaries; data objects and instructions remain distinct from control flow.", z.object({
1336
+ document,
1337
+ address: optionalAddress
1338
+ })),
1339
+ official("procedure_address", "Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit.", z.object({
1340
+ procedure,
1341
+ document
1342
+ })),
1343
+ official("procedure_assembly", "Return assembly for one analyzed procedure identified by symbol or hexadecimal address. Use when pseudocode loses calling-convention or instruction-level detail; output is currently returned as one unpaginated string. Ghidra terminal-call assumptions that may cut the analyzed body are reported in Evidence limitations.", z.object({
1344
+ procedure,
1345
+ document
1346
+ })),
1347
+ official("procedure_callees", "Return the provider's resolved direct callees for one procedure identified by symbol or address. Unresolved indirect calls may be absent; use analyze_function and typed references to preserve available edge uncertainty. Ghidra terminal-call assumptions that may cut the analyzed body are reported in Evidence limitations.", z.object({
1348
+ procedure,
1349
+ document
1350
+ })),
1351
+ official("procedure_callers", "Return the provider's resolved direct callers for one procedure identified by symbol or address. Results reflect completed static analysis and may omit unresolved indirect references. Ghidra terminal-call assumptions that may cut the analyzed body are reported in Evidence limitations.", z.object({
1352
+ procedure,
1353
+ document
1354
+ })),
1355
+ official("procedure_info", "Return provider metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, block count, and complete inclusive body ranges when observed. Extents reflect the provider's analyzed body; Ghidra terminal-call assumptions that may cut it are reported in Evidence limitations. Hopper locals preserve observed names and signed stack displacements; source types remain unknown. Body byte count and enclosing span remain distinct; unavailable extent is explicit.", z.object({
1356
+ procedure,
1357
+ document
1358
+ })),
1359
+ official("read_function_instructions", "Return every raw instruction for one analyzed procedure. Instruction text and body extent are provider-specific. Ghidra terminal-call assumptions that may cut the analyzed body are reported in limitations.", functionInstructionInputSchema),
1360
+ ...HOPPER_MEMORY_TOOL_DEFINITIONS.map(({ name, description, inputSchema }) => official(name, description, inputSchema)),
1361
+ official("procedure_references", "Return every raw incoming or outgoing reference edge for one procedure. Endpoint procedures are resolved only from provider containment. Ghidra preserves detailed reference flags. Hopper preserves native CallReference classifications and exact endpoints while leaving unavailable detailed flags explicit.", z.object({
1362
+ procedure,
1363
+ direction: z.enum(["incoming", "outgoing"]).default("outgoing"),
1364
+ document
1365
+ })),
1366
+ official("procedure_pseudo_code", "Decompile one analyzed procedure by symbol name or provider-normalized address. Ghidra also accepts file-offset:0x... selectors and falls back to a unique source-file mapping when a 0x-prefixed number resolves to no procedure; existing analysis addresses take precedence and ambiguous mappings fail explicitly. Returns provider-specific pseudocode, never original source or cross-provider text equivalence, and may return null; request procedure_assembly when instruction precision matters. Ghidra no-return assumptions may cut the analyzed body; Evidence limitations report observed terminal calls and available callee identities.", z.object({
1367
+ procedure,
1368
+ document
1369
+ })),
1370
+ official("resolve_containing_procedure", "Resolve an arbitrary address, including an interior instruction or exact external entry, to its provider-analyzed containing procedure. A negative result distinguishes outside segments from not in a procedure and is never guessed from nearby symbols.", z.object({
1371
+ address,
1372
+ document
1373
+ })),
1374
+ official("search_procedures", "Search every analyzed procedure name using literal matching by default or regex when requested. Results are deterministic and complete. Hopper regex mode uses ECMAScript Unicode syntax in a cancellable worker; a matching deadline leaves its API usable.", z.object(analysisSearchInput)),
1375
+ official("search_strings", "Search every provider-defined string object using literal matching by default or regex when requested. Results are deterministic and complete over those defined objects, not every text sequence in artifact bytes. Ghidra may omit packed or undefined literals, including Rust strings; an empty result does not prove text is absent. If an address is known, read_bytes and xrefs inspect its bytes and references. Hopper retains typed byte decoding, native display, and explicit decoding unknowns. Adjacent long-literal fragments match independently. Hopper regex mode uses ECMAScript Unicode syntax in a cancellable worker; a matching deadline leaves its API usable.", z.object(analysisSearchInput)),
1376
+ official("set_address_name", "Assign an analyst name to one mapped hexadecimal address and report whether the native edit succeeded and exact readback matched. Hopper rejects symbol names exceeding 1024 UTF-16 code units before mutation, and rejects names owned by another address; use set_addresses_names to explicitly move or swap labels among selected addresses. This mutates analysis metadata.", z.object({
1377
+ address,
1378
+ name: z.string(),
1379
+ document
1380
+ })),
1381
+ official("set_addresses_names", "Assign analyst names to multiple mapped addresses in one call and return per-address edit/readback success booleans. Hopper validates mapped destinations, native string representations, its 1024 UTF-16 code-unit symbol-name limit, and unique destinations/names before applying edits. Existing labels may move or swap only among explicitly selected addresses; unselected label owners remain unchanged. This mutates analysis metadata; verify failures individually.", z.object({
1382
+ names: z.record(z.string(), z.string()),
1383
+ document
1384
+ })),
1385
+ official("set_bookmark", "Create or replace a bookmark at a mapped hexadecimal address and report success. This mutates navigation metadata; bookmarks are analyst-authored navigation aids, not binary evidence.", z.object({
1386
+ address,
1387
+ name: z.string().optional(),
1388
+ document
1389
+ })),
1390
+ official("set_comment", "Write a regular analysis comment at a hexadecimal address and return whether readback matched. An empty comment clears it. This mutates the Hopper document; use comments to record evidence IDs or reasoning.", z.object({
1391
+ address,
1392
+ comment: z.string(),
1393
+ document
1394
+ })),
1395
+ official("set_inline_comment", "Write an inline instruction comment at a hexadecimal address and return whether readback matched. An empty comment clears it; Hopper may flatten newlines, producing false on exact readback. This mutates analysis metadata.", z.object({
1396
+ address,
1397
+ comment: z.string(),
1398
+ document
1399
+ })),
1400
+ official("unset_bookmark", "Remove the bookmark at a mapped hexadecimal address and return whether it is absent. Hopper also permits removing an existing legacy bookmark outside mapped memory. This mutates navigation metadata and does not alter binary bytes.", z.object({
1401
+ address,
1402
+ document
1403
+ })),
1404
+ official("xrefs", "Return analyzed references to a code or data address. Hopper may default to its current cursor; headless providers such as Ghidra require an explicit address. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete. Use inspect_native_instruction at the target address for typed incoming references where supported.", z.object({
1405
+ document,
1406
+ address: optionalAddress
1407
+ }))
1408
+ ];
1409
+ })))();
1410
+ }
1411
+
1412
+ //#endregion
1413
+ export { analysisSearchInput as _, TOOL_EXAMPLE_OVERRIDES as a, init_functionComparison as c, init_processCaptureParsing as d, parseProcessCapture as f, isCallerOnlyIncompleteCoverage as g, init_functionCallCoverage as h, init_toolContractHelpers as i, init_functionDossierEvidence as l, functionCallCoverageLimitations as m, init_officialToolContracts as n, init_toolContractExamples as o, combineFunctionRelationshipCoverage as p, examplesFor as r, compareFunctions as s, OFFICIAL_TOOL_CONTRACTS as t, parseFunctionEvidence as u, init_analysisSearchContract as v };