rea-agents 6.4.0 → 6.7.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 (1420) hide show
  1. package/DISCLAIMER.md +136 -0
  2. package/README.md +76 -16
  3. package/THIRD_PARTY_NOTICES.md +135 -0
  4. package/bridge/android/ReaJadxBridge.java +281 -25
  5. package/bridge/cutter/rea_bridge.py +825 -0
  6. package/bridge/ghidra/ReaGhidraAnalysisOptions.java +38 -0
  7. package/bridge/ghidra/ReaGhidraBridge.java +1232 -142
  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 +111 -69
  12. package/bridge/mitmproxy/capture.py +189 -13
  13. package/bridge/native/rea_lldb_tracer.py +88 -10
  14. package/bridge/process/ProcessRunTokenReader.swift +76 -34
  15. package/bridge/pwndbg/core_context.py +15 -2
  16. package/bridge/pwntools/layout_impl.py +5 -0
  17. package/bridge/pwntools/recorded_crash_impl.py +31 -10
  18. package/dist/adb/AdbCommand.js +148 -0
  19. package/dist/adb/AdbConfiguration.js +41 -7
  20. package/dist/adb/AdbDeviceOutput.js +59 -37
  21. package/dist/adb/AdbDirectoryListing.js +80 -0
  22. package/dist/adb/AdbHostFileName.js +34 -0
  23. package/dist/adb/AdbInputSnapshot.js +126 -0
  24. package/dist/adb/AdbProvider.js +1106 -346
  25. package/dist/adb/AdbShellOutput.js +146 -77
  26. package/dist/android/AndroidTargetSnapshot.js +7 -7
  27. package/dist/android/JadxAnalysis.js +53 -33
  28. package/dist/android/JadxConfiguration.js +283 -145
  29. package/dist/android/JadxDoctor.js +123 -0
  30. package/dist/android/JadxFailure.js +154 -0
  31. package/dist/android/JadxInterruption.js +13 -0
  32. package/dist/android/JadxJavaProbe.js +246 -0
  33. package/dist/android/JadxMcpTransport.js +53 -18
  34. package/dist/android/JadxProtocol.js +43 -2
  35. package/dist/android/JadxProvider.js +183 -102
  36. package/dist/android/JadxRelease.js +17 -2
  37. package/dist/android/JadxSession.js +35 -14
  38. package/dist/android/JadxWorkspaceRoot.js +157 -0
  39. package/dist/apktool/ApktoolCommandCleanup.js +134 -0
  40. package/dist/apktool/ApktoolCommandOutput.js +22 -0
  41. package/dist/apktool/ApktoolConfiguration.js +306 -45
  42. package/dist/apktool/ApktoolDecodeOutput.js +131 -42
  43. package/dist/apktool/ApktoolDecodedInventory.js +52 -0
  44. package/dist/apktool/ApktoolProvider.js +296 -340
  45. package/dist/apktool/ApktoolStringTables.js +178 -0
  46. package/dist/apktool/ApktoolWorkspace.js +162 -0
  47. package/dist/application/AnalysisContextQueries.js +5 -8
  48. package/dist/application/AnalysisDocument.js +19 -4
  49. package/dist/application/AnalysisProvider.js +36 -18
  50. package/dist/application/AppBundleExecutable.js +16 -9
  51. package/dist/application/BinaryTargetResolver.js +204 -40
  52. package/dist/application/BrowserEvidence.js +1 -1
  53. package/dist/application/BrowserObservationService.js +54 -9
  54. package/dist/application/BrowserScenarioCaptureService.js +26 -7
  55. package/dist/application/CallPathTracing.js +52 -13
  56. package/dist/application/CapabilityInventory.js +182 -36
  57. package/dist/application/ClaudeDesktopConfigLocation.js +152 -0
  58. package/dist/application/ClientConfigurationCleanup.js +73 -0
  59. package/dist/application/ClientConfigurationDocument.js +270 -151
  60. package/dist/application/ClientConfigurationFiles.js +51 -14
  61. package/dist/application/ClientConfigurationPublication.js +167 -0
  62. package/dist/application/ClientRegistrationEnvironment.js +40 -4
  63. package/dist/application/ClientRegistrationIdentity.js +112 -32
  64. package/dist/application/ClientRegistrationStatus.js +280 -84
  65. package/dist/application/DirectAnalysis.js +98 -30
  66. package/dist/application/DirectAnalysisCleanup.js +5 -1
  67. package/dist/application/DirectAnalysisStatus.js +13 -1
  68. package/dist/application/Doctor.js +192 -37
  69. package/dist/application/DoctorDiagnostics.js +59 -16
  70. package/dist/application/DoctorProviderIds.js +8 -0
  71. package/dist/application/DoctorScope.js +11 -2
  72. package/dist/application/DshCordisPatch.js +355 -0
  73. package/dist/application/DshCordisYaml.js +155 -0
  74. package/dist/application/EnhancedLiteralTracing.js +30 -16
  75. package/dist/application/EnhancedToolTypes.js +0 -1
  76. package/dist/application/EnhancedTools.js +154 -56
  77. package/dist/application/EvidenceBundleCommands.js +30 -7
  78. package/dist/application/EvidenceBundleFiles.js +29 -7
  79. package/dist/application/FunctionAnalysisEvidence.js +3 -0
  80. package/dist/application/GeminiClientSettings.js +25 -13
  81. package/dist/application/HermesClientHome.js +20 -0
  82. package/dist/application/HermesConfigurationYaml.js +312 -0
  83. package/dist/application/HopperDownload.js +11 -3
  84. package/dist/application/HopperReleaseFeed.js +71 -0
  85. package/dist/application/InventoryProjectionEvidence.js +0 -1
  86. package/dist/application/InvestigationProviders.js +14 -3
  87. package/dist/application/JsonFiles.js +110 -20
  88. package/dist/application/JsonInputFile.js +220 -62
  89. package/dist/application/LinuxHopper.js +218 -115
  90. package/dist/application/LinuxHopperPublisher.js +656 -0
  91. package/dist/application/MacHopper.js +203 -83
  92. package/dist/application/MacHopperPaths.js +40 -0
  93. package/dist/application/{MipsElfAbiFlags.js → MipsElfMetadata.js} +71 -10
  94. package/dist/application/MipsElfSharedLoad.js +164 -0
  95. package/dist/application/MipsGnuAttributes.js +90 -0
  96. package/dist/application/MsixPackageStorage.js +140 -0
  97. package/dist/application/ProgressReporter.js +1 -1
  98. package/dist/application/ProviderOperationExecution.js +15 -14
  99. package/dist/application/ReconstructionCoverageService.js +0 -1
  100. package/dist/application/ReconstructionObligationCandidates.js +20 -4
  101. package/dist/application/ReconstructionObligationLedgerDiagnostics.js +2 -2
  102. package/dist/application/ReconstructionObligationLedgerEvaluation.js +19 -33
  103. package/dist/application/ReconstructionObligationLedgerProjection.js +3 -72
  104. package/dist/application/ReconstructionObligationLedgerService.js +6 -2
  105. package/dist/application/ReconstructionObligationOriginalCases.js +10 -1
  106. package/dist/application/ReferenceSourceImport.js +24 -8
  107. package/dist/application/ReferenceSourceImportEntries.js +180 -37
  108. package/dist/application/ReferenceSourceImportPolicy.js +5 -3
  109. package/dist/application/ReferenceSourceImportTypes.js +0 -1
  110. package/dist/application/ReferenceSourceVcsAdapter.js +36 -17
  111. package/dist/application/RegularFileRead.js +117 -70
  112. package/dist/application/Setup.js +59 -21
  113. package/dist/application/SetupClientConfiguration.js +301 -66
  114. package/dist/application/SetupClients.js +25 -10
  115. package/dist/application/SetupHost.js +149 -51
  116. package/dist/application/SetupInstallFailure.js +58 -3
  117. package/dist/application/SetupPlan.js +94 -55
  118. package/dist/application/SetupRecoveryBackup.js +93 -0
  119. package/dist/application/SetupRegistrationEnvironment.js +14 -1
  120. package/dist/application/SetupSkill.js +303 -76
  121. package/dist/application/SourceLimitations.js +35 -0
  122. package/dist/application/SupportedClients.js +166 -32
  123. package/dist/application/TypeScriptEmittedSourceCandidates.js +26 -0
  124. package/dist/application/Uninstall.js +356 -110
  125. package/dist/application/UninstallFailure.js +14 -0
  126. package/dist/application/Update.js +54 -25
  127. package/dist/application/UpdateCommandProgress.js +66 -0
  128. package/dist/application/UpdateFailure.js +17 -0
  129. package/dist/application/UpdateMaintenance.js +18 -31
  130. package/dist/application/UpdateRuntime.js +198 -54
  131. package/dist/application/WebModuleTraceService.js +42 -22
  132. package/dist/application/WebNetworkCaptureService.js +24 -12
  133. package/dist/application/WebRuntimeService.js +41 -8
  134. package/dist/application/WebScriptExportService.js +6 -4
  135. package/dist/application/WebSourceLocationService.js +23 -8
  136. package/dist/application/WindowsCapabilities.js +18 -15
  137. package/dist/application/WorkflowEvidence.js +31 -1
  138. package/dist/application/analysisView/AnalysisViewService.js +46 -11
  139. package/dist/application/android/AndroidAnalysisService.js +5 -4
  140. package/dist/application/android/AndroidPackageInspection.js +25 -0
  141. package/dist/application/android/AndroidSearchEvidenceSummary.js +98 -0
  142. package/dist/application/artifacts/ArtifactComparisonEvidence.js +32 -0
  143. package/dist/application/binary/AnalysisProviderEvaluation.js +14 -11
  144. package/dist/application/binary/AnalysisProviderRegistry.js +365 -60
  145. package/dist/application/binary/AnalysisSnapshotCache.js +41 -20
  146. package/dist/application/binary/AnalysisSnapshotFiles.js +75 -9
  147. package/dist/application/binary/BinarySession.js +308 -117
  148. package/dist/application/binary/BinarySessionExecution.js +5 -4
  149. package/dist/application/binary/BinarySessionOpen.js +13 -6
  150. package/dist/application/binary/BinarySessionRecords.js +36 -7
  151. package/dist/application/binary/BinarySessionStatus.js +96 -27
  152. package/dist/application/binary/BinaryTargetSummary.js +9 -0
  153. package/dist/application/binary/CompositeProvider.js +116 -28
  154. package/dist/application/binary/LazyAnalysisProvider.js +6 -66
  155. package/dist/application/binary/SessionProviderRouter.js +16 -4
  156. package/dist/application/binaryDiagnostics/BinaryLayoutService.js +14 -5
  157. package/dist/application/binaryDiagnostics/PeResourcesService.js +25 -5
  158. package/dist/application/binaryDiagnostics/RecordedCrashService.js +17 -7
  159. package/dist/application/captures/PacketCaptureService.js +84 -0
  160. package/dist/application/closeOwnedWebResources.js +37 -0
  161. package/dist/application/electron/ElectronFusePort.js +1 -0
  162. package/dist/application/electron/ElectronFuseService.js +45 -0
  163. package/dist/application/evm/EvmInterfaceEvidence.js +11 -0
  164. package/dist/application/evm/EvmInterfaceService.js +5 -15
  165. package/dist/application/firmware/FirmwareAnalysisService.js +4 -3
  166. package/dist/application/flutter/DartAotInspection.js +26 -0
  167. package/dist/application/flutter/FlutterBuildAnalysisPort.js +1 -0
  168. package/dist/application/flutter/FlutterBuildAnalysisService.js +13 -0
  169. package/dist/application/frida/FridaInstrumentationPort.js +8 -0
  170. package/dist/application/frida/FridaInstrumentationService.js +310 -0
  171. package/dist/application/frida/fridaInputErrors.js +17 -0
  172. package/dist/application/go/GoBinaryPort.js +1 -0
  173. package/dist/application/go/GoBinaryService.js +79 -0
  174. package/dist/application/harmony/HarmonyApplicationService.js +17 -0
  175. package/dist/application/investigation/EvidenceLedger.js +43 -18
  176. package/dist/application/investigation/InvestigationRecords.js +12 -21
  177. package/dist/application/investigation/UnknownEvidence.js +22 -18
  178. package/dist/application/javascript/ElectronActiveObservationService.js +55 -25
  179. package/dist/application/javascript/ElectronBoundaryAnalysis.js +17 -3
  180. package/dist/application/javascript/ElectronBoundaryGraph.js +2 -0
  181. package/dist/application/javascript/ElectronBoundaryGraphCallPaths.js +144 -0
  182. package/dist/application/javascript/ElectronBoundaryGraphIpc.js +26 -7
  183. package/dist/application/javascript/ElectronBoundaryGraphNative.js +1 -1
  184. package/dist/application/javascript/ElectronBoundaryGraphWindows.js +61 -11
  185. package/dist/application/javascript/ElectronEvidence.js +1 -2
  186. package/dist/application/javascript/ElectronObservationService.js +41 -8
  187. package/dist/application/javascript/JavaScriptApplicationEvidence.js +21 -0
  188. package/dist/application/javascript/JavaScriptApplicationService.js +29 -14
  189. package/dist/application/javascript/JavaScriptApplicationWorkflowService.js +0 -1
  190. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +119 -49
  191. package/dist/application/javascript/JavaScriptArtifactAnalysisTypes.js +30 -1
  192. package/dist/application/javascript/JavaScriptArtifactGraphAccumulator.js +51 -21
  193. package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +31 -7
  194. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +28 -6
  195. package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +25 -14
  196. package/dist/application/javascript/JavaScriptArtifactGraphEvidence.js +3 -3
  197. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +186 -50
  198. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +173 -14
  199. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +959 -188
  200. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +57 -32
  201. package/dist/application/javascript/JavaScriptArtifactReconstructionInput.js +2 -0
  202. package/dist/application/javascript/JavaScriptModuleRelationships.js +34 -12
  203. package/dist/application/javascript/JavaScriptRecoveryService.js +29 -9
  204. package/dist/application/javascript/JavaScriptRuntimeObservationEvidence.js +1 -2
  205. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +33 -9
  206. package/dist/application/javascript/JavaScriptRuntimeReconciliationService.js +0 -1
  207. package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +4 -5
  208. package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +138 -43
  209. package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +13 -4
  210. package/dist/application/javascript/JavaScriptSemanticGraphConstruction.js +23 -3
  211. package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +18 -5
  212. package/dist/application/javascript/JavaScriptSemanticGraphElectronProjection.js +67 -0
  213. package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +4 -6
  214. package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +2 -3
  215. package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +2 -3
  216. package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +5 -8
  217. package/dist/application/javascript/JavaScriptSemanticTraceService.js +0 -1
  218. package/dist/application/managed/ManagedApplicationGraphService.js +0 -1
  219. package/dist/application/managed/ManagedMemberComparisonService.js +72 -54
  220. package/dist/application/managed/ManagedNativeVerificationService.js +0 -1
  221. package/dist/application/managed/ManagedReconstructionService.js +0 -1
  222. package/dist/application/native/NativeCallRoutes.js +78 -41
  223. package/dist/application/native/NativeDispatchMetadataInspection.js +6 -2
  224. package/dist/application/native/NativeUiActionTrace.js +43 -22
  225. package/dist/application/native/NativeValueTrace.js +65 -23
  226. package/dist/application/pcap/PcapAnalysisPort.js +1 -0
  227. package/dist/application/pcap/PcapAnalysisService.js +24 -0
  228. package/dist/application/process/ProcessCli.js +33 -13
  229. package/dist/application/reverse/ReverseEngineeringCommandPort.js +1 -0
  230. package/dist/application/reverse/ReverseEngineeringService.js +688 -0
  231. package/dist/application/rust/RustBinaryPort.js +1 -0
  232. package/dist/application/rust/RustBinaryService.js +82 -0
  233. package/dist/application/signals/SignalRecordingService.js +84 -0
  234. package/dist/application/sqlite/SqliteDatabaseCapability.js +30 -0
  235. package/dist/application/sqlite/SqliteDatabasePort.js +1 -0
  236. package/dist/application/sqlite/SqliteDatabaseService.js +76 -0
  237. package/dist/application/wasm/WasmArtifactPort.js +1 -0
  238. package/dist/application/wasm/WasmArtifactService.js +76 -0
  239. package/dist/application/wasm/WasmInterfaceComparisonService.js +188 -0
  240. package/dist/artifacts/AnalysisCleanupLease.js +119 -0
  241. package/dist/artifacts/ArtifactFileOperation.js +150 -0
  242. package/dist/artifacts/ArtifactHash.js +15 -3
  243. package/dist/artifacts/ArtifactPaths.js +4 -7
  244. package/dist/artifacts/ArtifactProvider.js +24 -9
  245. package/dist/artifacts/ArtifactReader.js +63 -5
  246. package/dist/artifacts/ArtifactResourceScope.js +92 -9
  247. package/dist/artifacts/AsarArtifactReader.js +186 -120
  248. package/dist/artifacts/AsarEntryStream.js +49 -17
  249. package/dist/artifacts/AsarListing.js +78 -0
  250. package/dist/artifacts/DirectoryArtifactReader.js +119 -28
  251. package/dist/artifacts/MachOSliceArtifactReader.js +153 -23
  252. package/dist/artifacts/NativeDmgArtifactReader.js +264 -62
  253. package/dist/artifacts/OrderedReads.js +57 -0
  254. package/dist/artifacts/SafeOutputTree.js +24 -7
  255. package/dist/artifacts/SafeOutputTreeCreationFailure.js +1 -0
  256. package/dist/artifacts/SafeOutputTreeReadback.js +10 -16
  257. package/dist/artifacts/ZipArtifactReader.js +150 -25
  258. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +79 -68
  259. package/dist/artifacts/apple/DylibFileAccess.js +106 -0
  260. package/dist/artifacts/apple/DylibResolutionReader.js +72 -157
  261. package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +108 -29
  262. package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +81 -28
  263. package/dist/artifacts/apple/KeyedArchiveReader.js +23 -13
  264. package/dist/artifacts/apple/MachoLoadCommandReader.js +77 -61
  265. package/dist/artifacts/apple/NibArchive.js +11 -4
  266. package/dist/artifacts/apple/PlistNumberLiterals.js +106 -118
  267. package/dist/artifacts/extraction/ArtifactExtraction.js +21 -19
  268. package/dist/artifacts/hostExecutableMarking.js +16 -0
  269. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +139 -41
  270. package/dist/artifacts/inventory/classify.js +36 -17
  271. package/dist/artifacts/inventory/hashStableRootArtifact.js +14 -7
  272. package/dist/artifacts/inventory/reader.js +36 -21
  273. package/dist/artifacts/inventory/scanCanonical.js +27 -21
  274. package/dist/artifacts/inventory/scanReader.js +36 -10
  275. package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +166 -8
  276. package/dist/artifacts/readArtifactFileChunks.js +9 -0
  277. package/dist/artifacts/readStableArtifact.js +13 -11
  278. package/dist/browser/BrowserProcessStartup.js +20 -9
  279. package/dist/browser/BrowserScenarioPartialObservation.js +74 -92
  280. package/dist/browser/BrowserScenarioSecrets.js +176 -46
  281. package/dist/browser/CdpBrowserProvider.js +124 -102
  282. package/dist/browser/CdpCaptureDocuments.js +232 -102
  283. package/dist/browser/CdpCaptureDomSvg.js +80 -76
  284. package/dist/browser/CdpCaptureEventBodyShapes.js +9 -5
  285. package/dist/browser/CdpCaptureEventHandlers.js +23 -12
  286. package/dist/browser/CdpCaptureEvents.js +49 -10
  287. package/dist/browser/CdpCaptureStorage.js +22 -5
  288. package/dist/browser/CdpCaptureStorageFingerprints.js +54 -11
  289. package/dist/browser/CdpCaptureValues.js +12 -1
  290. package/dist/browser/CdpConnection.js +135 -30
  291. package/dist/browser/CdpElectronInspection.js +74 -64
  292. package/dist/browser/CdpElectronProvider.js +63 -6
  293. package/dist/browser/CdpElectronScriptEvents.js +4 -1
  294. package/dist/browser/CdpElectronScripts.js +4 -6
  295. package/dist/browser/CdpElectronWorkers.js +20 -4
  296. package/dist/browser/CdpEndpoint.js +143 -17
  297. package/dist/browser/CdpObservationSession.js +24 -8
  298. package/dist/browser/CdpPageCapture.js +68 -17
  299. package/dist/browser/CdpPageCaptureScripts.js +18 -13
  300. package/dist/browser/CdpPageCaptureWorkers.js +46 -11
  301. package/dist/browser/CdpSafeMetadata.js +32 -24
  302. package/dist/browser/CdpScreenshot.js +5 -14
  303. package/dist/browser/CdpSnapshotNodes.js +103 -0
  304. package/dist/browser/CdpSnapshotStrings.js +15 -0
  305. package/dist/browser/CdpTargetSession.js +76 -7
  306. package/dist/browser/CdpTargetSessionOwner.js +198 -0
  307. package/dist/browser/CdpWebMcpDiscovery.js +23 -6
  308. package/dist/browser/ElectronCaptureCleanup.js +82 -0
  309. package/dist/browser/ElectronProcessCleanup.js +91 -0
  310. package/dist/browser/PlaywrightBrowserScenarioProvider.js +75 -20
  311. package/dist/browser/PlaywrightElectronActiveActions.js +57 -9
  312. package/dist/browser/PlaywrightElectronActiveFuses.js +86 -0
  313. package/dist/browser/PlaywrightElectronActiveProjection.js +21 -4
  314. package/dist/browser/PlaywrightElectronActiveProvider.js +237 -175
  315. package/dist/browser/PlaywrightExecutionBoundary.js +6 -4
  316. package/dist/browser/PlaywrightScenarioBrowser.js +240 -91
  317. package/dist/browser/PlaywrightScenarioEvents.js +287 -38
  318. package/dist/browser/PlaywrightScenarioServiceWorkers.js +336 -0
  319. package/dist/browser/PlaywrightScenarioSession.js +151 -46
  320. package/dist/browser/PlaywrightScenarioStorage.js +15 -7
  321. package/dist/browser/StructuredFieldToken.js +53 -0
  322. package/dist/browser/WebArtifactCleanup.js +53 -0
  323. package/dist/browser/WebSourceMapFetcher.js +181 -89
  324. package/dist/browser/assets/LocalWebScriptArtifacts.js +24 -3
  325. package/dist/browser/assets/PublishWebScripts.js +13 -2
  326. package/dist/browser/assets/ScenarioScriptCapture.js +2 -1
  327. package/dist/browser/assets/WebArtifactReads.js +15 -3
  328. package/dist/browser/assets/WebSourceLocationArtifacts.js +47 -3
  329. package/dist/browser/execution/CdpRuntimeSession.js +36 -7
  330. package/dist/browser/execution/CdpWebRuntimeProvider.js +22 -4
  331. package/dist/browser/history/CaptureFailures.js +29 -10
  332. package/dist/browser/history/CaptureFormatError.js +2 -2
  333. package/dist/browser/history/{HarJson.js → CaptureJson.js} +14 -4
  334. package/dist/browser/history/CaptureRedaction.js +16 -3
  335. package/dist/browser/history/CaptureRelease.js +20 -2
  336. package/dist/browser/history/HarCapture.js +54 -30
  337. package/dist/browser/history/HarSchema.js +36 -36
  338. package/dist/browser/history/HistoricalCaptureDecoder.js +93 -25
  339. package/dist/browser/history/NodeCaptureAdapter.js +48 -0
  340. package/dist/browser/history/{HarCaptureProcess.js → NodeCaptureProcess.js} +18 -9
  341. package/dist/browser/history/QlogCapture.js +385 -0
  342. package/dist/browser/history/SazCapture.js +130 -0
  343. package/dist/browser/history/SazHttp.js +61 -0
  344. package/dist/browser/history/SazMetadata.js +55 -0
  345. package/dist/browser/history/SazProjection.js +90 -0
  346. package/dist/browser/modules/NativeModuleResolver.js +248 -131
  347. package/dist/browser/modules/WebModuleArtifacts.js +49 -3
  348. package/dist/browser/network/PlaywrightNetworkContent.js +67 -9
  349. package/dist/browser/network/PlaywrightScenarioNetwork.js +249 -26
  350. package/dist/captures/TsharkCaptureProvider.js +377 -0
  351. package/dist/captures/parseFieldDiscovery.js +66 -0
  352. package/dist/captures/parsePacketOutput.js +21 -0
  353. package/dist/catalogIdentity.js +58 -42
  354. package/dist/cli/adbCommands.js +20 -21
  355. package/dist/cli/analysisViewCommands.js +1 -1
  356. package/dist/cli/androidCommands.js +13 -16
  357. package/dist/cli/apktoolCommands.js +14 -25
  358. package/dist/cli/applicationCommands.js +44 -17
  359. package/dist/cli/artifactCommands.js +1 -1
  360. package/dist/cli/binaryDiagnosticsCommands.js +17 -13
  361. package/dist/cli/browserAdvancedCommands.js +46 -26
  362. package/dist/cli/browserCommands.js +59 -33
  363. package/dist/cli/captureCommands.js +72 -0
  364. package/dist/cli/cliResultOutput.js +274 -0
  365. package/dist/cli/coreBinaryCommands.js +77 -30
  366. package/dist/cli/coreNativeCommands.js +53 -31
  367. package/dist/cli/cutterCommands.js +88 -0
  368. package/dist/cli/electronCommands.js +76 -13
  369. package/dist/cli/evmCommands.js +9 -19
  370. package/dist/cli/finishAnalysisCommand.js +52 -0
  371. package/dist/cli/firmwareCommands.js +20 -50
  372. package/dist/cli/flutterCommands.js +53 -0
  373. package/dist/cli/fridaCommands.js +219 -0
  374. package/dist/cli/goCommands.js +20 -0
  375. package/dist/cli/interactiveSetup.js +11 -1
  376. package/dist/cli/javascriptApplicationAnalysis.js +1 -1
  377. package/dist/cli/javascriptRecoveryCommands.js +18 -23
  378. package/dist/cli/jebCommands.js +2 -14
  379. package/dist/cli/jsonOutput.js +2 -2
  380. package/dist/cli/managedCommands.js +31 -3
  381. package/dist/cli/options.js +26 -2
  382. package/dist/cli/pcapCommands.js +29 -0
  383. package/dist/cli/processCommands.js +1 -1
  384. package/dist/cli/reverseEngineeringCommands.js +268 -0
  385. package/dist/cli/rustCommands.js +20 -0
  386. package/dist/cli/setupCommands.js +41 -12
  387. package/dist/cli/signalCommands.js +72 -0
  388. package/dist/cli/sqliteCommands.js +52 -0
  389. package/dist/cli/utilityCommands.js +116 -74
  390. package/dist/cli/wasmCommands.js +50 -0
  391. package/dist/cli/webModuleCommands.js +27 -38
  392. package/dist/cli/webNetworkCaptureCommands.js +10 -9
  393. package/dist/cli/webRuntimeCommands.js +15 -6
  394. package/dist/cli/webSourceLocationCommands.js +14 -33
  395. package/dist/cli-runtime/AnalysisCleanupLease-CWfTGYKd.js +103 -0
  396. package/dist/cli-runtime/AnalysisProvider-BGrYaMVo.js +38 -0
  397. package/dist/cli-runtime/AnalysisSnapshotCache-BjRlXeUS.js +711 -0
  398. package/dist/cli-runtime/ArtifactFileOperation-Dg4BcoEM.js +122 -0
  399. package/dist/cli-runtime/ArtifactReader-DMwm42bk.js +78 -0
  400. package/dist/cli-runtime/ArtifactResourceScope-CokZGcII.js +175 -0
  401. package/dist/cli-runtime/AsarHeader-BxwU17DJ.js +31 -0
  402. package/dist/cli-runtime/BinarySessionStatus-DRhjr7Vb.js +212 -0
  403. package/dist/cli-runtime/BinaryTargetResolver-tuCTjBlQ.js +1238 -0
  404. package/dist/cli-runtime/BoundedFileBytes-DRtiQNAQ.js +43 -0
  405. package/dist/cli-runtime/CdpTargetSession-CQ08KHbh.js +925 -0
  406. package/dist/cli-runtime/ClientConfigPath-Dn-V_GUf.js +255 -0
  407. package/dist/cli-runtime/ClientConfigurationDocument-C9T8MNGc.js +2021 -0
  408. package/dist/cli-runtime/ClientRegistrationStatus-PnD29RTX.js +585 -0
  409. package/dist/cli-runtime/CurrentEntrypointPath-m7QCIVN0.js +14 -0
  410. package/dist/cli-runtime/DirectAnalysis-C5NyUryV.js +581 -0
  411. package/dist/cli-runtime/DirectoryArtifactReader-CokAJ8vo.js +448 -0
  412. package/dist/cli-runtime/Doctor-DrkWsav4.js +668 -0
  413. package/dist/cli-runtime/ElectronFileScope-AP7VoVr7.js +1109 -0
  414. package/dist/cli-runtime/ElectronFuseFailures-DsjXR7Xp.js +609 -0
  415. package/dist/cli-runtime/ExecFileOutput-D6KLYTve.js +119 -0
  416. package/dist/cli-runtime/InterfaceBuilderDecodeBudget-CW1IO3dG.js +298 -0
  417. package/dist/cli-runtime/InventoryProjectionEvidence-DTH5QAqL.js +49 -0
  418. package/dist/cli-runtime/InvestigationProviders-CFh4a64d.js +118 -0
  419. package/dist/cli-runtime/JavaScriptApplicationEvidenceGraph-gOmPB2L6.js +160 -0
  420. package/dist/cli-runtime/JavaScriptApplicationWorkflowEvidence-WZgtK_Ok.js +75 -0
  421. package/dist/cli-runtime/JavaScriptWorkerMemoryLimit-B1bwMM1a.js +86 -0
  422. package/dist/cli-runtime/JebMcpEndpoint-BEalGZh9.js +710 -0
  423. package/dist/cli-runtime/JsonFiles-uvd6ZyQi.js +600 -0
  424. package/dist/cli-runtime/KunaInstallation-P0j3x851.js +1781 -0
  425. package/dist/cli-runtime/MacCodeSignature-MgYbRK_H.js +24 -0
  426. package/dist/cli-runtime/MacHopperPaths-bGzqjF1Z.js +34 -0
  427. package/dist/cli-runtime/MachoLoadCommandReader-CZm6N5vF.js +330 -0
  428. package/dist/cli-runtime/ManagedSnapshot-CPE9C3OD.js +4481 -0
  429. package/dist/cli-runtime/OwnedCommandCleanup-BN_V6Erc.js +187 -0
  430. package/dist/cli-runtime/OwnedRegularFile-D1f5nUCx.js +256 -0
  431. package/dist/cli-runtime/OwnedStagedOutput-D31dOozz.js +126 -0
  432. package/dist/cli-runtime/PrivateRuntimeRoot-Cd23u6jd.js +296 -0
  433. package/dist/cli-runtime/ProcessOwnership-CtrNr6ee.js +545 -0
  434. package/dist/cli-runtime/ProcessOwnershipObservation-C006iCtZ.js +920 -0
  435. package/dist/cli-runtime/ProviderDeadline-rSuH4Pm8.js +148 -0
  436. package/dist/cli-runtime/ProviderOperationExecution-CmU-XrQr.js +38 -0
  437. package/dist/cli-runtime/ProviderProcess-D87A7ctp.js +770 -0
  438. package/dist/cli-runtime/RegularFileRead-mbgGYtxe.js +125 -0
  439. package/dist/cli-runtime/SafeOutputTree-i904hd_2.js +525 -0
  440. package/dist/cli-runtime/SetupHost-CMPmPraB.js +1268 -0
  441. package/dist/cli-runtime/SharedStartupAttempt-BxKyf3Uv.js +1424 -0
  442. package/dist/cli-runtime/StableFileHash-Ame_h3lY.js +61 -0
  443. package/dist/cli-runtime/SupportedClients-DMafjitv.js +1066 -0
  444. package/dist/cli-runtime/UninstallFailure-1blyKXHE.js +22 -0
  445. package/dist/cli-runtime/Update-DAsASWlE.js +143 -0
  446. package/dist/cli-runtime/UpdateFailure-BcFNxEZZ.js +24 -0
  447. package/dist/cli-runtime/WindowsBatchCommand-Cx9kaVNf.js +97 -0
  448. package/dist/cli-runtime/WindowsNativeLoader-BqyZO0ZD.js +142 -0
  449. package/dist/cli-runtime/ZipArtifactReader-Jed69LEL.js +252 -0
  450. package/dist/cli-runtime/analysisErrorCleanup-COdAmDsb.js +33 -0
  451. package/dist/cli-runtime/appleArchiveFormat-Bb3G5CCI.js +269 -0
  452. package/dist/cli-runtime/application__DirectAnalysisStatus-F74bu9oy.js +150 -0
  453. package/dist/cli-runtime/application__EnhancedTools-Bg51b0Yp.js +1820 -0
  454. package/dist/cli-runtime/application__FunctionAnalysisEvidence-DBWIaYCh.js +41 -0
  455. package/dist/cli-runtime/application__ReconstructionCoverageService-AEPNpZqJ.js +32 -0
  456. package/dist/cli-runtime/application__ReconstructionObligationLedgerService-Cl9cPEZf.js +828 -0
  457. package/dist/cli-runtime/application__Setup-DwQzEewK.js +526 -0
  458. package/dist/cli-runtime/application__Uninstall-BOf9oyvQ.js +468 -0
  459. package/dist/cli-runtime/application__UpdateRuntime-CzWkRJHa.js +435 -0
  460. package/dist/cli-runtime/application__android__AndroidApplicationService-shW_aKlj.js +31 -0
  461. package/dist/cli-runtime/application__apple__AppleApplicationService-DIv6d3wB.js +31 -0
  462. package/dist/cli-runtime/application__harmony__HarmonyApplicationService-OIUFVQFV.js +31 -0
  463. package/dist/cli-runtime/application__javascript__ElectronActiveObservationService-wvCh72hK.js +118 -0
  464. package/dist/cli-runtime/application__javascript__ElectronObservationService-SydXPCwM.js +88 -0
  465. package/dist/cli-runtime/application__javascript__JavaScriptApplicationService-o0uEsjEc.js +12254 -0
  466. package/dist/cli-runtime/application__javascript__JavaScriptApplicationWorkflowService-BAheG_71.js +2336 -0
  467. package/dist/cli-runtime/application__javascript__JavaScriptRuntimeReconciliationService-Cnn4GP8q.js +88 -0
  468. package/dist/cli-runtime/application__javascript__JavaScriptSemanticTraceService-CmvLfV1A.js +299 -0
  469. package/dist/cli-runtime/artifacts__ArtifactProvider-wx2K0F2I.js +2205 -0
  470. package/dist/cli-runtime/binary-CWVNJhAC.js +19608 -0
  471. package/dist/cli-runtime/catalogIdentity-DAEEsOdX.js +1112 -0
  472. package/dist/cli-runtime/cli.js +44469 -0
  473. package/dist/cli-runtime/cliOutput-CgSuw782.js +163 -0
  474. package/dist/cli-runtime/cliOutput.js +5 -0
  475. package/dist/cli-runtime/cliResultOutput-10sd6xGx.js +1453 -0
  476. package/dist/cli-runtime/cliResultOutput.js +6 -0
  477. package/dist/cli-runtime/composition__browserScenario-BtPb1c1y.js +3414 -0
  478. package/dist/cli-runtime/composition__electronObservation-Bk8R6DJo.js +614 -0
  479. package/dist/cli-runtime/composition__electronScenario-BVF0qStH.js +916 -0
  480. package/dist/cli-runtime/cutterToolContracts-BQtG_Nzo.js +5267 -0
  481. package/dist/cli-runtime/doctorRuntime-B__SIpm-.js +478 -0
  482. package/dist/cli-runtime/dotnet__ManagedStaticProvider-DO5Yzcp4.js +5 -0
  483. package/dist/cli-runtime/errorSchemas-Ixz_q7qt.js +655 -0
  484. package/dist/cli-runtime/homeDirectory-DC_DeJIg.js +18 -0
  485. package/dist/cli-runtime/javascriptApplicationAnalysis-Dk6yBV8g.js +2088 -0
  486. package/dist/cli-runtime/javascriptExportReturnShapeProjection-CObOIiQ6.js +78 -0
  487. package/dist/cli-runtime/javascriptExportShapeComparisonSchemas-DpwuBenh.js +1244 -0
  488. package/dist/cli-runtime/javascriptRuntimeReconciliation-C6ZgWMys.js +1509 -0
  489. package/dist/cli-runtime/javascriptRuntimeReconciliationSchemas-D6tZKUQs.js +247 -0
  490. package/dist/cli-runtime/javascriptSemanticTraceSchemas-C7m0b6_w.js +126 -0
  491. package/dist/cli-runtime/lipo-DPQ6qurH.js +394 -0
  492. package/dist/cli-runtime/logger-BuDJ9xxO.js +48 -0
  493. package/dist/cli-runtime/machoContainer-Cy98bkFm.js +352 -0
  494. package/dist/cli-runtime/managedApplicationGraph-BazVqpJv.js +1136 -0
  495. package/dist/cli-runtime/managedToolContracts-BuFkMBH5.js +99 -0
  496. package/dist/cli-runtime/mcpDoctor.js +361 -0
  497. package/dist/cli-runtime/mcpStartupPolicy-imCbM3qo.js +28 -0
  498. package/dist/cli-runtime/native__NativeMacOSProvider-DTcRhuGA.js +5502 -0
  499. package/dist/cli-runtime/officialToolContracts-CzzVLx8I.js +1522 -0
  500. package/dist/cli-runtime/peMachine-B9ggfSJJ.js +95 -0
  501. package/dist/cli-runtime/propertyListKeys-D5dSASEy.js +355 -0
  502. package/dist/cli-runtime/providerCleanupError-BhsJyAhk.js +25 -0
  503. package/dist/cli-runtime/providerIdentities-Ao1XTvwx.js +31 -0
  504. package/dist/cli-runtime/providerStartupTimeout-B2tF2LtZ.js +17 -0
  505. package/dist/cli-runtime/readArtifactFileChunks-BbTL_PtB.js +129 -0
  506. package/dist/cli-runtime/reconstructionObligationLedgerSchemas-Bi6sect1.js +22156 -0
  507. package/dist/cli-runtime/rolldown-runtime-DXoylpqc.js +121 -0
  508. package/dist/cli-runtime/runtimeVersion-CMGd0bDu.js +23 -0
  509. package/dist/cli-runtime/safeJson-DKKACtdy.js +25 -0
  510. package/dist/cli-runtime/scanCanonical-CcDFUr-w.js +2594 -0
  511. package/dist/cli-runtime/snapshotEnvironment-Yvx5qwsl.js +196 -0
  512. package/dist/cli-runtime/toolContracts-CJzEyZ38.js +3795 -0
  513. package/dist/cli-runtime/toolOutputSchemaGroups-BqdSzySu.js +12249 -0
  514. package/dist/cli-runtime/workflowInputError-BP8z9Wxl.js +26 -0
  515. package/dist/cli.js +48 -5
  516. package/dist/cliBrowserScenarioCommands.js +41 -7
  517. package/dist/cliCommandNames.js +48 -0
  518. package/dist/cliEvidenceCommands.js +0 -1
  519. package/dist/cliJavaScriptRuntimeCommands.js +16 -14
  520. package/dist/cliJsonInput.js +12 -4
  521. package/dist/cliLogging.js +66 -15
  522. package/dist/cliObservationOptions.js +9 -0
  523. package/dist/cliOutput.js +105 -7
  524. package/dist/composition/binary.js +19 -2
  525. package/dist/composition/captures.js +3 -0
  526. package/dist/composition/directAnalysis.js +36 -11
  527. package/dist/composition/electronFuses.js +4 -0
  528. package/dist/composition/evm.js +12 -0
  529. package/dist/composition/flutter.js +3 -0
  530. package/dist/composition/go.js +4 -0
  531. package/dist/composition/javascriptAnalysisWorkerProcess.js +8 -8
  532. package/dist/composition/jeb.js +45 -5
  533. package/dist/composition/pcap.js +3 -0
  534. package/dist/composition/resolveWindowsProviderExecutable.js +61 -0
  535. package/dist/composition/reverseEngineering.js +29 -0
  536. package/dist/composition/rust.js +4 -0
  537. package/dist/composition/signals.js +3 -0
  538. package/dist/composition/sqlite.js +4 -0
  539. package/dist/composition/wasm.js +22 -0
  540. package/dist/composition/webNetworkCaptures.js +7 -2
  541. package/dist/config/environment.js +79 -4
  542. package/dist/config/ghidraDisabledAnalyzers.js +25 -0
  543. package/dist/config/homeDirectory.js +9 -6
  544. package/dist/config/mcpInputSchemaProfile.js +5 -1
  545. package/dist/config/mcpOutputSchemaProfile.js +22 -0
  546. package/dist/config/parseConfig.js +28 -34
  547. package/dist/config/parsers.js +4 -3
  548. package/dist/config/{ghidraStartupTimeout.js → providerStartupTimeout.js} +7 -3
  549. package/dist/contracts/adb/adbToolContracts.js +8 -8
  550. package/dist/contracts/analysisDetail.js +6 -3
  551. package/dist/contracts/analysisViewApiSurfaceExample.js +68 -0
  552. package/dist/contracts/analysisViewToolContracts.js +65 -3
  553. package/dist/contracts/android/androidToolContracts.js +17 -8
  554. package/dist/contracts/apktool/apktoolToolContracts.js +5 -1
  555. package/dist/contracts/applicationToolContracts.js +17 -2
  556. package/dist/contracts/artifactComparisonExample.js +18 -14
  557. package/dist/contracts/artifactToolContracts.js +16 -3
  558. package/dist/contracts/browserScenarioToolContracts.js +1 -1
  559. package/dist/contracts/browserToolContracts.js +13 -1
  560. package/dist/contracts/captures/captureToolContracts.js +42 -0
  561. package/dist/contracts/compactInputSchema.js +39 -12
  562. package/dist/contracts/cutterToolContracts.js +84 -0
  563. package/dist/contracts/enhancedToolContracts.js +2 -2
  564. package/dist/contracts/evm/evmToolContracts.js +30 -15
  565. package/dist/contracts/firmware/firmwareToolContracts.js +1 -1
  566. package/dist/contracts/flutter/flutterToolContracts.js +47 -0
  567. package/dist/contracts/fridaRemoteAddress.js +23 -0
  568. package/dist/contracts/fridaToolContracts.js +274 -0
  569. package/dist/contracts/functionComparisonExample.js +12 -1
  570. package/dist/contracts/gdbToolContracts.js +102 -0
  571. package/dist/contracts/go/goToolContracts.js +20 -0
  572. package/dist/contracts/hopperMemoryContracts.js +15 -0
  573. package/dist/contracts/inputSchemaPresentation.js +199 -38
  574. package/dist/contracts/investigationExamples.js +1 -0
  575. package/dist/contracts/javascript/electronToolContracts.js +27 -2
  576. package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +1 -0
  577. package/dist/contracts/javascript/javascriptRecoveryToolContracts.js +13 -1
  578. package/dist/contracts/javascript/javascriptRuntimeReconciliationExample.js +1 -0
  579. package/dist/contracts/jsonSchemaKeywords.js +29 -0
  580. package/dist/contracts/managed/managedToolContracts.js +43 -4
  581. package/dist/contracts/managed/managedWorkflowExamples.js +10 -1
  582. package/dist/contracts/managed/managedWorkflowToolContracts.js +4 -30
  583. package/dist/contracts/mobileApplicationGraphExamples.js +27 -12
  584. package/dist/contracts/native/binaryDiagnosticsToolContracts.js +3 -2
  585. package/dist/contracts/native/nativeToolContracts.js +10 -6
  586. package/dist/contracts/officialToolContracts.js +7 -7
  587. package/dist/contracts/pcap/pcapToolContracts.js +33 -0
  588. package/dist/contracts/providerSelection.js +1 -0
  589. package/dist/contracts/reconstructionReadinessExample.js +126 -119
  590. package/dist/contracts/reverseEngineeringToolContracts.js +52 -0
  591. package/dist/contracts/rizinDebugToolContracts.js +97 -0
  592. package/dist/contracts/rust/rustToolContracts.js +20 -0
  593. package/dist/contracts/sessionLifecycleInputs.js +34 -2
  594. package/dist/contracts/sessionToolContracts.js +4 -4
  595. package/dist/contracts/sessionToolSchemas.js +14 -0
  596. package/dist/contracts/signals/signalToolContracts.js +40 -0
  597. package/dist/contracts/sqlite/sqliteToolContracts.js +36 -0
  598. package/dist/contracts/toolContractExamples.js +29 -0
  599. package/dist/contracts/toolContractTypes.js +2 -0
  600. package/dist/contracts/toolContracts.js +26 -0
  601. package/dist/contracts/toolEffects.js +252 -9
  602. package/dist/contracts/toolOutputSchemaGroups.js +78 -32
  603. package/dist/contracts/toolOutputSchemaPrimitives.js +118 -10
  604. package/dist/contracts/toolSchemaMetadata.js +102 -16
  605. package/dist/contracts/unknownContractExamples.js +1 -1
  606. package/dist/contracts/wasm/wasmComparisonContracts.js +52 -0
  607. package/dist/contracts/wasm/wasmToolContracts.js +33 -0
  608. package/dist/contracts/webNetworkCaptureToolContracts.js +15 -4
  609. package/dist/cutter/CutterBridgeClient.js +760 -0
  610. package/dist/cutter/CutterBridgeService.js +187 -0
  611. package/dist/doctorRuntime.js +41 -8
  612. package/dist/domain/adb/adbDeviceAnalysis.js +45 -5
  613. package/dist/domain/analysisErrorBase.js +79 -2
  614. package/dist/domain/analysisErrorCleanup.js +4 -2
  615. package/dist/domain/analysisErrorCore.js +32 -0
  616. package/dist/domain/analysisErrorPresentation.js +80 -20
  617. package/dist/domain/analysisErrorProjection.js +72 -37
  618. package/dist/domain/analysisProfile.js +7 -3
  619. package/dist/domain/analysisSearch.js +26 -0
  620. package/dist/domain/analysisSnapshot.js +312 -185
  621. package/dist/domain/analysisView/WebNetworkApiSurfaceAccumulator.js +353 -0
  622. package/dist/domain/analysisView/analysisView.js +391 -44
  623. package/dist/domain/analysisView/analysisViewCoverage.js +32 -0
  624. package/dist/domain/analysisView/analysisViewDataAdmission.js +86 -0
  625. package/dist/domain/analysisView/analysisViewErrors.js +4 -0
  626. package/dist/domain/analysisView/analysisViewParent.js +12 -0
  627. package/dist/domain/analysisView/analysisViewText.js +29 -0
  628. package/dist/domain/analysisView/androidPackageView.js +102 -0
  629. package/dist/domain/analysisView/artifactInventoryView.js +126 -0
  630. package/dist/domain/analysisView/binaryLayoutView.js +11 -4
  631. package/dist/domain/analysisView/dartAotView.js +93 -0
  632. package/dist/domain/analysisView/evmInterfaceView.js +105 -0
  633. package/dist/domain/analysisView/interfaceBuilderView.js +182 -0
  634. package/dist/domain/analysisView/javascriptApplicationCoverage.js +27 -0
  635. package/dist/domain/analysisView/javascriptApplicationView.js +123 -49
  636. package/dist/domain/analysisView/javascriptFactsView.js +92 -0
  637. package/dist/domain/analysisView/javascriptModuleReferences.js +37 -0
  638. package/dist/domain/analysisView/machoView.js +186 -0
  639. package/dist/domain/analysisView/managedArtifactView.js +108 -0
  640. package/dist/domain/analysisView/managedMemberView.js +215 -0
  641. package/dist/domain/analysisView/nativeFunctionView.js +20 -25
  642. package/dist/domain/analysisView/pcapCaptureView.js +264 -0
  643. package/dist/domain/analysisView/qlogCaptureView.js +198 -0
  644. package/dist/domain/analysisView/wasmArtifactView.js +162 -0
  645. package/dist/domain/analysisView/webNetworkApiSurfaceView.js +123 -0
  646. package/dist/domain/analysisView/webNetworkCaptureView.js +388 -0
  647. package/dist/domain/android/androidAnalysis.js +36 -2
  648. package/dist/domain/android/androidApplication.js +37 -64
  649. package/dist/domain/apktool/apktoolResourceAnalysis.js +70 -8
  650. package/dist/domain/apple/appleApplication.js +70 -87
  651. package/dist/domain/apple/appleArchiveFormat.js +184 -0
  652. package/dist/domain/apple/appleAssetCatalog.js +15 -0
  653. package/dist/domain/apple/appleBundleAnatomy.js +57 -69
  654. package/dist/domain/apple/dyldPaths.js +9 -2
  655. package/dist/domain/apple/dylibResolution.js +24 -10
  656. package/dist/domain/apple/dylibResolutionFindings.js +8 -9
  657. package/dist/domain/apple/interfaceBuilderGraph.js +78 -33
  658. package/dist/domain/apple/interfaceBuilderKeyedArchive.js +39 -12
  659. package/dist/domain/apple/jvmClassFile.js +226 -0
  660. package/dist/domain/apple/keyedArchive.js +39 -17
  661. package/dist/domain/apple/machoContainer.js +123 -8
  662. package/dist/domain/apple/machoCpuIdentity.js +4 -0
  663. package/dist/domain/apple/plistNumbers.js +67 -5
  664. package/dist/domain/apple/plistValue.js +95 -19
  665. package/dist/domain/artifactComparison.js +116 -37
  666. package/dist/domain/artifactDecompressionBudget.js +26 -0
  667. package/dist/domain/artifactGraph.js +18 -9
  668. package/dist/domain/artifactIdentity.js +4 -1
  669. package/dist/domain/artifactInspection.js +34 -3
  670. package/dist/domain/artifactInventoryEvidence.js +146 -40
  671. package/dist/domain/binaryTarget.js +251 -109
  672. package/dist/domain/binaryTargetTypes.js +24 -1
  673. package/dist/domain/browserNetworkEvidence.js +24 -3
  674. package/dist/domain/browserObservation.js +92 -56
  675. package/dist/domain/browserObservationError.js +4 -4
  676. package/dist/domain/browserObservationSchemas.js +4 -1
  677. package/dist/domain/browserScenarioCapture.js +11 -1
  678. package/dist/domain/browserScenarioCaptureLimits.js +34 -0
  679. package/dist/domain/browserScenarioCaptureValues.js +76 -2
  680. package/dist/domain/browserScenarioDiff.js +120 -11
  681. package/dist/domain/browserScenarioDiffEvidence.js +44 -13
  682. package/dist/domain/browserScenarioDiffValues.js +10 -3
  683. package/dist/domain/browserScenarioNetworkComparison.js +158 -0
  684. package/dist/domain/browserScenarioNormalization.js +10 -13
  685. package/dist/domain/browserScenarioValues.js +7 -13
  686. package/dist/domain/browserSession.js +2 -2
  687. package/dist/domain/bundleComparison.js +1 -5
  688. package/dist/domain/callPath.js +40 -3
  689. package/dist/domain/captures/packetCapture.js +139 -0
  690. package/dist/domain/captures/packetFields.js +81 -0
  691. package/dist/domain/changedBehavior.js +43 -41
  692. package/dist/domain/comparisonSourceEvidence.js +6 -0
  693. package/dist/domain/dosCom.js +2 -2
  694. package/dist/domain/dosMz.js +66 -19
  695. package/dist/domain/electron/electronFuseEvidence.js +42 -0
  696. package/dist/domain/electron/electronFuses.js +360 -0
  697. package/dist/domain/elfFixedHeader.js +66 -0
  698. package/dist/domain/evidence.js +105 -39
  699. package/dist/domain/evidenceBundle.js +67 -22
  700. package/dist/domain/evidenceErrors.js +5 -0
  701. package/dist/domain/evm/evmInterface.js +18 -4
  702. package/dist/domain/evm/solidityMetadata.js +70 -0
  703. package/dist/domain/explicitSensitiveFailure.js +44 -23
  704. package/dist/domain/fileSnapshotObservation.js +25 -0
  705. package/dist/domain/firmware/firmwareAnalysis.js +29 -0
  706. package/dist/domain/fixedTupleSchema.js +9 -0
  707. package/dist/domain/flutter/flutterBuildAnalysis.js +141 -0
  708. package/dist/domain/functionCallCoverage.js +60 -0
  709. package/dist/domain/functionComparisonDimensions.js +136 -18
  710. package/dist/domain/functionComparisonNormalization.js +83 -19
  711. package/dist/domain/functionComparisonResults.js +7 -6
  712. package/dist/domain/functionComparisonSchemas.js +14 -3
  713. package/dist/domain/functionDossierEvidence.js +4 -0
  714. package/dist/domain/go/goBinary.js +96 -0
  715. package/dist/domain/harmony/harmonyApplication.js +156 -0
  716. package/dist/domain/hopperErrors.js +19 -18
  717. package/dist/domain/hopperPublisher.js +12 -0
  718. package/dist/domain/hopperValues.js +135 -34
  719. package/dist/domain/javascript/electronActiveObservation.js +1 -0
  720. package/dist/domain/javascript/electronObservation.js +4 -1
  721. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +94 -33
  722. package/dist/domain/javascript/electronStaticAnalysisIpc.js +3 -1
  723. package/dist/domain/javascript/electronStaticAnalysisNative.js +19 -5
  724. package/dist/domain/javascript/electronStaticAnalysisValues.js +14 -28
  725. package/dist/domain/javascript/electronStaticOptionObjects.js +45 -0
  726. package/dist/domain/javascript/electronWrappedCallPaths.js +551 -0
  727. package/dist/domain/javascript/htmlArtifactReferences.js +94 -4
  728. package/dist/domain/javascript/javascriptAnalysisResourceControls.js +37 -1
  729. package/dist/domain/javascript/javascriptApplicationAnalysis.js +7 -0
  730. package/dist/domain/javascript/javascriptApplicationChangeGraph.js +10 -2
  731. package/dist/domain/javascript/javascriptApplicationEvidenceSchemas.js +1 -1
  732. package/dist/domain/javascript/javascriptApplicationGraph.js +17 -1
  733. package/dist/domain/javascript/javascriptApplicationGraphSchemas.js +1 -0
  734. package/dist/domain/javascript/javascriptApplicationProjectionResources.js +8 -0
  735. package/dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js +3 -1
  736. package/dist/domain/javascript/javascriptApplicationVersionItems.js +49 -21
  737. package/dist/domain/javascript/javascriptApplicationVersionKeys.js +31 -18
  738. package/dist/domain/javascript/javascriptArtifactFiles.js +2 -1
  739. package/dist/domain/javascript/javascriptAstFingerprint.js +89 -24
  740. package/dist/domain/javascript/javascriptAstValues.js +132 -5
  741. package/dist/domain/javascript/javascriptBootstrap.js +94 -0
  742. package/dist/domain/javascript/javascriptBootstrapIntegrity.js +372 -0
  743. package/dist/domain/javascript/javascriptBuiltinResourceMethods.js +8 -0
  744. package/dist/domain/javascript/javascriptBundledRequireOrigin.js +278 -0
  745. package/dist/domain/javascript/javascriptCommonJsExportReceivers.js +231 -0
  746. package/dist/domain/javascript/javascriptContextBridgeExposure.js +23 -0
  747. package/dist/domain/javascript/javascriptElectronMemberWrites.js +96 -22
  748. package/dist/domain/javascript/javascriptExportShapeComparisonSchemas.js +6 -5
  749. package/dist/domain/javascript/javascriptExportShapeVariants.js +1 -1
  750. package/dist/domain/javascript/javascriptFeatureSeed.js +34 -17
  751. package/dist/domain/javascript/javascriptFeatureTrace.js +9 -3
  752. package/dist/domain/javascript/javascriptFeatureTraceSchemas.js +42 -11
  753. package/dist/domain/javascript/javascriptGraphqlOperations.js +382 -0
  754. package/dist/domain/javascript/javascriptIntrinsicInvocation.js +132 -0
  755. package/dist/domain/javascript/javascriptModuleDeclaration.js +48 -0
  756. package/dist/domain/javascript/javascriptModuleInterop.js +618 -0
  757. package/dist/domain/javascript/javascriptModuleResolutionMode.js +18 -0
  758. package/dist/domain/javascript/javascriptModuleSpecifier.js +5 -0
  759. package/dist/domain/javascript/javascriptNativeHandoff.js +7 -12
  760. package/dist/domain/javascript/javascriptPackageImportAliases.js +58 -0
  761. package/dist/domain/javascript/javascriptRecovery.js +12 -5
  762. package/dist/domain/javascript/javascriptRpcEndpoints.js +7 -93
  763. package/dist/domain/javascript/javascriptRuntimeLoadState.js +16 -0
  764. package/dist/domain/javascript/javascriptRuntimeObservation.js +4 -1
  765. package/dist/domain/javascript/javascriptRuntimeReconciliationCaptureParsing.js +45 -16
  766. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +65 -47
  767. package/dist/domain/javascript/javascriptRuntimeReconciliationResult.js +0 -1
  768. package/dist/domain/javascript/javascriptRuntimeReconciliationSchemas.js +5 -4
  769. package/dist/domain/javascript/javascriptRuntimeStaticCandidates.js +113 -11
  770. package/dist/domain/javascript/javascriptSemanticAmbientWrites.js +511 -0
  771. package/dist/domain/javascript/javascriptSemanticAnalysis.js +706 -204
  772. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +54 -54
  773. package/dist/domain/javascript/javascriptSemanticCallResolution.js +59 -30
  774. package/dist/domain/javascript/javascriptSemanticCallableStack.js +52 -0
  775. package/dist/domain/javascript/javascriptSemanticCalls.js +10 -15
  776. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +163 -92
  777. package/dist/domain/javascript/javascriptSemanticCoverage.js +5 -1
  778. package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +435 -45
  779. package/dist/domain/javascript/javascriptSemanticDataEffects.js +46 -29
  780. package/dist/domain/javascript/javascriptSemanticDependencies.js +69 -0
  781. package/dist/domain/javascript/javascriptSemanticDerivedAnalysis.js +1 -1
  782. package/dist/domain/javascript/javascriptSemanticEvaluationOrder.js +126 -0
  783. package/dist/domain/javascript/javascriptSemanticExpressionShapes.js +111 -0
  784. package/dist/domain/javascript/javascriptSemanticFingerprints.js +11 -14
  785. package/dist/domain/javascript/javascriptSemanticGetterQueries.js +147 -0
  786. package/dist/domain/javascript/javascriptSemanticGetterResults.js +264 -0
  787. package/dist/domain/javascript/javascriptSemanticGraph.js +22 -1
  788. package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +13 -1
  789. package/dist/domain/javascript/javascriptSemanticIterationSources.js +5 -4
  790. package/dist/domain/javascript/javascriptSemanticMapOperations.js +51 -0
  791. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +421 -154
  792. package/dist/domain/javascript/javascriptSemanticMutationInitializers.js +500 -27
  793. package/dist/domain/javascript/javascriptSemanticObjectReferences.js +377 -174
  794. package/dist/domain/javascript/javascriptSemanticObjects.js +53 -43
  795. package/dist/domain/javascript/javascriptSemanticOpaqueEffects.js +163 -0
  796. package/dist/domain/javascript/javascriptSemanticPrimitives.js +11 -1
  797. package/dist/domain/javascript/javascriptSemanticProjection.js +180 -95
  798. package/dist/domain/javascript/javascriptSemanticPromises.js +6 -9
  799. package/dist/domain/javascript/javascriptSemanticProvenance.js +5 -1
  800. package/dist/domain/javascript/javascriptSemanticQuery.js +7 -2
  801. package/dist/domain/javascript/javascriptSemanticQueryIdentity.js +2 -1
  802. package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +1 -1
  803. package/dist/domain/javascript/javascriptSemanticReferenceSources.js +25 -0
  804. package/dist/domain/javascript/javascriptSemanticRequireOrigin.js +369 -8
  805. package/dist/domain/javascript/javascriptSemanticResourceLimits.js +3 -19
  806. package/dist/domain/javascript/javascriptSemanticResources.js +33 -44
  807. package/dist/domain/javascript/javascriptSemanticReturnedReferences.js +81 -26
  808. package/dist/domain/javascript/javascriptSemanticReturns.js +37 -30
  809. package/dist/domain/javascript/javascriptSemanticState.js +225 -39
  810. package/dist/domain/javascript/javascriptSemanticTraversal.js +6 -4
  811. package/dist/domain/javascript/javascriptSemanticValues.js +379 -56
  812. package/dist/domain/javascript/javascriptSourceMapPaths.js +44 -17
  813. package/dist/domain/javascript/javascriptSourceParser.js +121 -7
  814. package/dist/domain/javascript/javascriptSourceSelection.js +11 -0
  815. package/dist/domain/javascript/javascriptStaticAnalysis.js +69 -24
  816. package/dist/domain/javascript/javascriptStaticAnalysisBundler.js +97 -23
  817. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +488 -48
  818. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +196 -78
  819. package/dist/domain/javascript/javascriptStaticAnalysisState.js +4 -0
  820. package/dist/domain/javascript/javascriptStaticAnalysisTypes.js +2 -1
  821. package/dist/domain/javascript/javascriptSymbolicBindings.js +1118 -0
  822. package/dist/domain/javascript/javascriptSymbolicControlFlow.js +44 -0
  823. package/dist/domain/javascript/javascriptSymbolicValues.js +45 -0
  824. package/dist/domain/javascript/sourceToBundleComparison.js +3 -1
  825. package/dist/domain/javascript/sourceToBundleComparisonSchemas.js +2 -0
  826. package/dist/domain/javascript/sourceToBundleSignals.js +50 -13
  827. package/dist/domain/jsonValue.js +37 -12
  828. package/dist/domain/localPath.js +6 -3
  829. package/dist/domain/managed/managedApplicationGraph.js +5 -0
  830. package/dist/domain/managed/managedApplicationGraphCoverage.js +6 -2
  831. package/dist/domain/managed/managedApplicationGraphNodes.js +14 -10
  832. package/dist/domain/managed/managedArtifact.js +77 -1
  833. package/dist/domain/managed/managedInspectionEvidence.js +5 -6
  834. package/dist/domain/managed/managedMemberComparison.js +6 -0
  835. package/dist/domain/managed/managedMemberComparisonCoverage.js +36 -3
  836. package/dist/domain/managed/managedMemberComparisonItems.js +135 -59
  837. package/dist/domain/managed/managedMemberComparisonMatch.js +237 -42
  838. package/dist/domain/managed/managedMemberSignatureIdentity.js +40 -0
  839. package/dist/domain/managed/managedNativeVerificationMatch.js +54 -31
  840. package/dist/domain/managed/managedNativeVerificationSchemas.js +15 -4
  841. package/dist/domain/managed/managedReconstruction.js +5 -8
  842. package/dist/domain/mobileApplicationGraphProjection.js +95 -0
  843. package/dist/domain/native/addressCoordinate.js +11 -0
  844. package/dist/domain/native/binaryLayout.js +2 -4
  845. package/dist/domain/native/bytePattern.js +121 -0
  846. package/dist/domain/native/nativeAotPe.js +31 -4
  847. package/dist/domain/native/nativeAotSnapshotObservation.js +18 -0
  848. package/dist/domain/native/nativeCallPartialObservation.js +14 -12
  849. package/dist/domain/native/nativeInspection.js +38 -4
  850. package/dist/domain/native/nativeInstruction.js +17 -2
  851. package/dist/domain/native/nativeInvestigationGraph.js +9 -5
  852. package/dist/domain/native/nativeLoadImage.js +32 -1
  853. package/dist/domain/native/nativeUiObservation.js +5 -6
  854. package/dist/domain/native/objcSwiftMetadata.js +19 -9
  855. package/dist/domain/native/peResources.js +14 -4
  856. package/dist/domain/native/recordedCrash.js +79 -10
  857. package/dist/domain/offsetDateTime.js +60 -0
  858. package/dist/domain/pcap/pcapAnalysis.js +91 -0
  859. package/dist/domain/pcap/pcapEvidence.js +15 -0
  860. package/dist/domain/peMachine.js +38 -0
  861. package/dist/domain/pngHeader.js +18 -0
  862. package/dist/domain/process/processCaptureCoverage.js +26 -3
  863. package/dist/domain/process/processCaptureExample.js +2 -0
  864. package/dist/domain/process/processCaptureValidation.js +33 -8
  865. package/dist/domain/process/processComparison.js +41 -13
  866. package/dist/domain/process/processScenario.js +7 -0
  867. package/dist/domain/process/processTraceDimensionProjection.js +1 -1
  868. package/dist/domain/process/processTraceEvaluation.js +119 -74
  869. package/dist/domain/process/processTraceSpecification.js +243 -89
  870. package/dist/domain/propertyListKeys.js +238 -23
  871. package/dist/domain/propertyListXml.js +149 -0
  872. package/dist/domain/propertyListXmlText.js +20 -4
  873. package/dist/domain/providerAdapterError.js +2 -5
  874. package/dist/domain/providerCleanupError.js +2 -4
  875. package/dist/domain/providerConfigurationRefusal.js +12 -0
  876. package/dist/domain/providerSelectionError.js +2 -1
  877. package/dist/domain/qlogCapture.js +62 -0
  878. package/dist/domain/rawBinary.js +105 -0
  879. package/dist/domain/reconstructionCoverage.js +40 -24
  880. package/dist/domain/reconstructionCoverageEvaluation.js +50 -47
  881. package/dist/domain/reconstructionCoverageEvidence.js +26 -0
  882. package/dist/domain/reconstructionCoverageVerifierResults.js +35 -0
  883. package/dist/domain/reconstructionObligationLedgerIntegrity.js +114 -0
  884. package/dist/domain/reconstructionObligationLedgerSchemas.js +104 -1
  885. package/dist/domain/reconstructionReadiness.js +4 -8
  886. package/dist/domain/reconstructionReadinessJourneyFindings.js +4 -1
  887. package/dist/domain/reconstructionUnknowns.js +9 -1
  888. package/dist/domain/reconstructionVerification.js +86 -43
  889. package/dist/domain/recordedTransportUrl.js +59 -0
  890. package/dist/domain/referenceSourceClassification.js +27 -23
  891. package/dist/domain/referenceSourceGraph.js +51 -13
  892. package/dist/domain/referenceSourceImportParsing.js +27 -13
  893. package/dist/domain/referenceSourcePathIdentity.js +13 -1
  894. package/dist/domain/referenceSourceRequireBindings.js +40 -108
  895. package/dist/domain/referenceSourceSummary.js +92 -0
  896. package/dist/domain/relationshipCoverage.js +43 -0
  897. package/dist/domain/residualUnknown.js +93 -26
  898. package/dist/domain/reverseEngineering.js +31 -0
  899. package/dist/domain/runtimeVersion.js +8 -0
  900. package/dist/domain/rust/rustBinary.js +200 -0
  901. package/dist/domain/signals/annotationTextWindow.js +31 -0
  902. package/dist/domain/signals/signalDecoders.js +69 -0
  903. package/dist/domain/signals/signalRecording.js +115 -0
  904. package/dist/domain/sourceMapContents.js +10 -3
  905. package/dist/domain/sourceMapEnvelope.js +17 -11
  906. package/dist/domain/sqlite/sqliteDatabase.js +189 -0
  907. package/dist/domain/staticRuntimeCorrelation.js +7 -9
  908. package/dist/domain/swiftSymbolClassification.js +17 -0
  909. package/dist/domain/symbolAnalysis.js +20 -7
  910. package/dist/domain/urlComponents.js +6 -0
  911. package/dist/domain/wasm/wasmArtifact.js +119 -0
  912. package/dist/domain/wasm/wasmInterface.js +89 -0
  913. package/dist/domain/webBundleAnalysis.js +14 -3
  914. package/dist/domain/webBundleAnalyzerAst.js +7 -2
  915. package/dist/domain/webBundleAnalyzerInspection.js +113 -57
  916. package/dist/domain/webBundleAnalyzerResult.js +18 -6
  917. package/dist/domain/webCaptureDiff.js +235 -51
  918. package/dist/domain/webCaptureFrameComparison.js +49 -0
  919. package/dist/domain/webInventory.js +28 -14
  920. package/dist/domain/webMcpDiscovery.js +5 -2
  921. package/dist/domain/webModuleImports.js +22 -27
  922. package/dist/domain/webModuleTrace.js +25 -8
  923. package/dist/domain/webNetworkCapture.js +101 -39
  924. package/dist/domain/webNetworkCaptureCoordinates.js +21 -0
  925. package/dist/domain/webRuntime.js +0 -1
  926. package/dist/domain/webScreenshot.js +2 -2
  927. package/dist/domain/webScriptArtifacts.js +2 -4
  928. package/dist/domain/webScriptExport.js +6 -8
  929. package/dist/domain/webScriptExportError.js +2 -3
  930. package/dist/domain/webScriptExportPlan.js +2 -2
  931. package/dist/domain/webSourceLocation.js +20 -9
  932. package/dist/domain/xmlDocument.js +41 -0
  933. package/dist/domain/zipPackageFormat.js +25 -3
  934. package/dist/dotnet/ManagedArtifactInspector.js +25 -12
  935. package/dist/dotnet/ManagedDecodeBudget.js +87 -9
  936. package/dist/dotnet/ManagedMemberInspector.js +127 -22
  937. package/dist/dotnet/ManagedMemberInspectorCore.js +408 -141
  938. package/dist/dotnet/ManagedMemberInstructionDecoder.js +109 -37
  939. package/dist/dotnet/ManagedMemberOwnership.js +65 -0
  940. package/dist/dotnet/ManagedMemberPointers.js +69 -0
  941. package/dist/dotnet/ManagedMemberRows.js +181 -48
  942. package/dist/dotnet/ManagedMetadataHeaps.js +110 -25
  943. package/dist/dotnet/ManagedMetadataInventory.js +5 -5
  944. package/dist/dotnet/ManagedMetadataInventoryRows.js +36 -52
  945. package/dist/dotnet/ManagedMetadataLayout.js +26 -16
  946. package/dist/dotnet/ManagedMetadataRowSizes.js +1 -1
  947. package/dist/dotnet/ManagedMethodBodyReader.js +29 -11
  948. package/dist/dotnet/ManagedMethodSpecs.js +78 -0
  949. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +20 -19
  950. package/dist/dotnet/ManagedNativeBoundaryInspector.js +13 -21
  951. package/dist/dotnet/ManagedPeReader.js +60 -27
  952. package/dist/dotnet/ManagedReaderFailure.js +9 -0
  953. package/dist/dotnet/ManagedSnapshot.js +93 -0
  954. package/dist/dotnet/ManagedStaticProvider.js +55 -64
  955. package/dist/dotnet/ManagedTypeMemberLists.js +105 -0
  956. package/dist/dotnet/ManagedTypeNameDigests.js +177 -0
  957. package/dist/dotnet/ManagedTypeNames.js +58 -0
  958. package/dist/dotnet/ManagedTypeNesting.js +25 -0
  959. package/dist/dotnet/ManagedTypeReferences.js +94 -0
  960. package/dist/dotnet/ManagedUserStrings.js +75 -0
  961. package/dist/electron/ElectronFuseFailures.js +105 -0
  962. package/dist/electron/ElectronFusePath.js +248 -0
  963. package/dist/electron/ElectronFuseProvider.js +88 -0
  964. package/dist/electron/ElectronFuseReader.js +333 -0
  965. package/dist/evaluation/AgentEvaluationFixtures.js +194 -11
  966. package/dist/evaluation/CodexAgentEval.js +19 -40
  967. package/dist/evaluation/KnownAnswerEvaluation.js +126 -57
  968. package/dist/evm/EvmoleFailures.js +20 -14
  969. package/dist/evm/EvmoleInterfaceAdapter.js +5 -1
  970. package/dist/evm/EvmoleInterfaceProvider.js +142 -35
  971. package/dist/evm/EvmoleInterfaceWorker.js +2 -0
  972. package/dist/evm/SolidityMetadata.js +139 -0
  973. package/dist/filesystem/OwnedRegularFile.js +116 -0
  974. package/dist/filesystem/OwnedStagedOutput.js +155 -0
  975. package/dist/filesystem/RegularFile.js +65 -9
  976. package/dist/filesystem/StableFileHash.js +56 -38
  977. package/dist/filesystem/callerPath.js +26 -0
  978. package/dist/filesystem/readFileHandleChunks.js +72 -13
  979. package/dist/filesystem/readStableFileBytes.js +85 -0
  980. package/dist/firmware/FirmwareCommand.js +15 -9
  981. package/dist/firmware/FirmwareFailures.js +56 -0
  982. package/dist/firmware/FirmwareFiles.js +136 -110
  983. package/dist/firmware/FirmwareProvider.js +122 -65
  984. package/dist/firmware/FirmwarePublication.js +244 -12
  985. package/dist/firmware/FirmwareReports.js +202 -12
  986. package/dist/flutter/DartElf.js +445 -0
  987. package/dist/flutter/ElfBuildId.js +137 -0
  988. package/dist/flutter/ElfLoadMap.js +91 -0
  989. package/dist/flutter/FlutterBuildProvider.js +866 -0
  990. package/dist/flutter/FlutterPayloadScan.js +180 -0
  991. package/dist/frida/FridaInstrumentationManager.js +1104 -0
  992. package/dist/gdb/GdbSessionManager.js +1639 -0
  993. package/dist/generatedPackageMetadata.js +2 -2
  994. package/dist/ghidra/GhidraAnalysisProfile.js +146 -14
  995. package/dist/ghidra/GhidraAnalysisSeeds.js +39 -55
  996. package/dist/ghidra/GhidraBridgeSources.js +12 -0
  997. package/dist/ghidra/GhidraClient.js +501 -180
  998. package/dist/ghidra/GhidraClientStartup.js +5 -3
  999. package/dist/ghidra/GhidraClientWire.js +5 -2
  1000. package/dist/ghidra/GhidraDiagnostics.js +23 -5
  1001. package/dist/ghidra/GhidraDoctor.js +60 -26
  1002. package/dist/ghidra/GhidraDosSnapshot.js +83 -0
  1003. package/dist/ghidra/GhidraExecutableHeader.js +54 -0
  1004. package/dist/ghidra/GhidraFileArtifacts.js +93 -0
  1005. package/dist/ghidra/GhidraFunctionValues.js +50 -2
  1006. package/dist/ghidra/GhidraInstallation.js +305 -108
  1007. package/dist/ghidra/GhidraInstallationPolicy.js +94 -103
  1008. package/dist/ghidra/GhidraInstallationProperties.js +57 -0
  1009. package/dist/ghidra/GhidraInventoryValues.js +52 -6
  1010. package/dist/ghidra/GhidraJavaLaunch.js +99 -11
  1011. package/dist/ghidra/GhidraJavaProbe.js +267 -0
  1012. package/dist/ghidra/GhidraJavaProperties.js +119 -0
  1013. package/dist/ghidra/GhidraLanguageCatalog.js +83 -8
  1014. package/dist/ghidra/GhidraLauncher.js +325 -85
  1015. package/dist/ghidra/GhidraLoadImageAttest.js +82 -65
  1016. package/dist/ghidra/GhidraLoadImageValues.js +109 -27
  1017. package/dist/ghidra/GhidraMipsProfile.js +258 -14
  1018. package/dist/ghidra/GhidraNativeAotSnapshotOwner.js +221 -0
  1019. package/dist/ghidra/GhidraPeProfile.js +91 -0
  1020. package/dist/ghidra/GhidraPowerPcProfile.js +51 -0
  1021. package/dist/ghidra/GhidraProvider.js +267 -42
  1022. package/dist/ghidra/GhidraProviderCapabilities.js +29 -15
  1023. package/dist/ghidra/GhidraProviderClient.js +439 -276
  1024. package/dist/ghidra/GhidraPspExtension.js +210 -0
  1025. package/dist/ghidra/GhidraPspProfile.js +62 -0
  1026. package/dist/ghidra/GhidraRawBinaryLanguage.js +49 -0
  1027. package/dist/ghidra/GhidraReleasePolicy.js +93 -0
  1028. package/dist/ghidra/GhidraRequestQueue.js +64 -40
  1029. package/dist/ghidra/GhidraRiscvProfile.js +100 -0
  1030. package/dist/ghidra/GhidraSessionError.js +301 -24
  1031. package/dist/ghidra/GhidraSessionValues.js +76 -0
  1032. package/dist/ghidra/GhidraSocketConnection.js +25 -11
  1033. package/dist/ghidra/GhidraTargetSnapshot.js +67 -50
  1034. package/dist/ghidra/GhidraTransport.js +86 -62
  1035. package/dist/ghidra/extensions/GhidraExtensions.js +30 -45
  1036. package/dist/go/GoBinaryContainer.js +140 -0
  1037. package/dist/go/GoBinaryImage.js +210 -0
  1038. package/dist/go/GoBinaryProvider.js +180 -0
  1039. package/dist/go/GoElfImage.js +211 -0
  1040. package/dist/go/GoMachoImage.js +164 -0
  1041. package/dist/go/GoModuleText.js +217 -0
  1042. package/dist/go/GoPeImage.js +124 -0
  1043. package/dist/hopper/BridgeLauncher.js +78 -6
  1044. package/dist/hopper/HopperAnalysisProfile.js +23 -11
  1045. package/dist/hopper/HopperCleanup.js +29 -4
  1046. package/dist/hopper/HopperClient.js +317 -93
  1047. package/dist/hopper/HopperMacPublisher.js +29 -0
  1048. package/dist/hopper/HopperMachOImage.js +61 -29
  1049. package/dist/hopper/HopperProcessDiagnostic.js +27 -0
  1050. package/dist/hopper/HopperProvider.js +57 -29
  1051. package/dist/hopper/HopperProviderCapabilities.js +9 -4
  1052. package/dist/hopper/HopperRegexSearch.js +21 -60
  1053. package/dist/hopper/HopperRequestQueue.js +17 -5
  1054. package/dist/hopper/HopperSessionValues.js +10 -1
  1055. package/dist/ida/IdaBusyHealth.js +78 -0
  1056. package/dist/ida/IdaCallGraph.js +134 -0
  1057. package/dist/ida/IdaConfiguration.js +7 -2
  1058. package/dist/ida/IdaDiagnosticRedactor.js +199 -0
  1059. package/dist/ida/IdaDiagnosticWriter.js +62 -0
  1060. package/dist/ida/IdaDoctor.js +7 -5
  1061. package/dist/ida/IdaJsonDiagnostic.js +138 -0
  1062. package/dist/ida/IdaMcpConnection.js +308 -32
  1063. package/dist/ida/IdaNativeProtocol.js +85 -0
  1064. package/dist/ida/IdaOperationRunner.js +246 -61
  1065. package/dist/ida/IdaProtocolValues.js +88 -5
  1066. package/dist/ida/IdaProvider.js +45 -10
  1067. package/dist/ida/IdaProviderCapabilities.js +37 -8
  1068. package/dist/ida/IdaSessionClient.js +379 -60
  1069. package/dist/ida/IdaWorkspace.js +54 -6
  1070. package/dist/inspector/V8InspectorCaptureProjection.js +14 -2
  1071. package/dist/inspector/V8InspectorEndpoint.js +15 -13
  1072. package/dist/inspector/V8InspectorProvider.js +43 -7
  1073. package/dist/javascript/analysis/JavaScriptAnalysisTransfer.js +44 -12
  1074. package/dist/javascript/analysis/JavaScriptAnalysisWorker.js +107 -32
  1075. package/dist/javascript/analysis/JavaScriptAnalysisWorkerProtocol.js +7 -4
  1076. package/dist/javascript/analysis/JavaScriptAnalysisWorkerSchemas.js +85 -10
  1077. package/dist/javascript/analysis/JavaScriptAnalysisWorkerServer.js +16 -6
  1078. package/dist/javascript/recovery/RecoveryFiles.js +107 -13
  1079. package/dist/javascript/recovery/WakaruExecution.js +19 -11
  1080. package/dist/javascript/recovery/WakaruProvider.js +12 -9
  1081. package/dist/javascript/recovery/WakaruPublication.js +24 -10
  1082. package/dist/javascript/recovery/WakaruRelease.js +1 -1
  1083. package/dist/javascript/recovery/WakaruReport.js +3 -2
  1084. package/dist/javascript/sourceMaps/DecodedSourceMap.js +2 -16
  1085. package/dist/javascript/sourceMaps/SourceMapCommand.js +22 -4
  1086. package/dist/javascript/sourceMaps/SourceMapDecoder.js +22 -4
  1087. package/dist/javascript/sourceMaps/SourceMapFormat.js +25 -38
  1088. package/dist/javascript/sourceMaps/TraceSourceMap.js +34 -6
  1089. package/dist/jeb/JebMcpConnection.js +148 -82
  1090. package/dist/jeb/JebMcpConnectionOwner.js +116 -0
  1091. package/dist/jeb/JebMcpDeadline.js +46 -0
  1092. package/dist/jeb/JebMcpEndpoint.js +6 -1
  1093. package/dist/jeb/JebProvider.js +82 -58
  1094. package/dist/kuna/KunaAddress.js +11 -0
  1095. package/dist/kuna/KunaCommand.js +217 -0
  1096. package/dist/kuna/KunaConfiguration.js +90 -0
  1097. package/dist/kuna/KunaDoctor.js +198 -0
  1098. package/dist/kuna/KunaInstallation.js +137 -0
  1099. package/dist/kuna/KunaJson.js +23 -0
  1100. package/dist/kuna/KunaJsonStream.js +433 -0
  1101. package/dist/kuna/KunaLimits.js +5 -0
  1102. package/dist/kuna/KunaProjectCache.js +804 -0
  1103. package/dist/kuna/KunaProjectExport.js +202 -0
  1104. package/dist/kuna/KunaProjectFiles.js +191 -0
  1105. package/dist/kuna/KunaProjectReader.js +115 -0
  1106. package/dist/kuna/KunaProvider.js +217 -0
  1107. package/dist/kuna/KunaProviderCapabilities.js +102 -0
  1108. package/dist/kuna/KunaQueryErrors.js +12 -0
  1109. package/dist/kuna/KunaQueryWork.js +113 -0
  1110. package/dist/kuna/KunaReferenceFiles.js +258 -0
  1111. package/dist/kuna/KunaReferenceQueries.js +211 -0
  1112. package/dist/kuna/KunaRelease.js +10 -0
  1113. package/dist/kuna/KunaRunSlots.js +56 -0
  1114. package/dist/kuna/KunaSessionClient.js +1162 -0
  1115. package/dist/kuna/KunaStringInventory.js +145 -0
  1116. package/dist/kuna/KunaStringQueries.js +133 -0
  1117. package/dist/kuna/KunaTargetCommands.js +205 -0
  1118. package/dist/kuna/KunaUnavailable.js +11 -0
  1119. package/dist/logger.js +14 -1
  1120. package/dist/main/processShutdown.js +17 -0
  1121. package/dist/main/shutdown.js +3 -0
  1122. package/dist/main/transport.js +68 -4
  1123. package/dist/main.js +16 -15
  1124. package/dist/mcp/AnalysisProvider-BABWbLoM.js +38 -0
  1125. package/dist/mcp/AnalysisSnapshotFiles-BXz0c37-.js +1423 -0
  1126. package/dist/mcp/ArtifactFileOperation-64cQKI7B.js +1704 -0
  1127. package/dist/mcp/ArtifactProvider-Dx6pmil1.js +2200 -0
  1128. package/dist/mcp/ArtifactProviderMetadata-UCJr2oZW.js +167 -0
  1129. package/dist/mcp/ArtifactReader-BrnwNaKY.js +78 -0
  1130. package/dist/mcp/ArtifactResourceScope-zi3Dkqzy.js +175 -0
  1131. package/dist/mcp/AsarHeader-B_IbppTz.js +31 -0
  1132. package/dist/mcp/BinarySessionStatus-CZ9nnXMt.js +213 -0
  1133. package/dist/mcp/BinaryTargetResolver-BUncASDP.js +1358 -0
  1134. package/dist/mcp/BoundedFileBytes-DYt5q9G2.js +43 -0
  1135. package/dist/mcp/CdpCaptureDocuments-Y2uFcBpl.js +795 -0
  1136. package/dist/mcp/CdpCaptureValues-tNIg-gQK.js +97 -0
  1137. package/dist/mcp/CdpEndpoint-BrhMhpSi.js +641 -0
  1138. package/dist/mcp/CdpOptionalCommand-PZZhlqxv.js +120 -0
  1139. package/dist/mcp/CdpTargetSession-BmmDC3XO.js +290 -0
  1140. package/dist/mcp/DirectAnalysis-B9KuCHTG.js +417 -0
  1141. package/dist/mcp/DirectAnalysisStatus-BgzopkIt.js +44 -0
  1142. package/dist/mcp/ElectronFileScope-FXtK0d6I.js +110 -0
  1143. package/dist/mcp/ElectronFuseFailures-uZ_wOV6T.js +610 -0
  1144. package/dist/mcp/MachoLoadCommandReader-C2VGgHA3.js +330 -0
  1145. package/dist/mcp/ManagedStaticProvider-CZuoPme2.js +5326 -0
  1146. package/dist/mcp/NativeMacOSProvider-CMguKrvN.js +5495 -0
  1147. package/dist/mcp/NativeMacOSProviderMetadata-B_RH4KXF.js +397 -0
  1148. package/dist/mcp/OwnedCommand-BW1jBSt9.js +1241 -0
  1149. package/dist/mcp/ProcedureAddressResolution-H6Qwpb_Y.js +59 -0
  1150. package/dist/mcp/WorkflowEvidence-CO4C7ALz.js +118 -0
  1151. package/dist/mcp/analysisErrorCleanup-Q344SnTO.js +34 -0
  1152. package/dist/mcp/analysisErrorCore-BIEP7tvF.js +509 -0
  1153. package/dist/mcp/analysisErrorProjection-B8teQwwD.js +942 -0
  1154. package/dist/mcp/artifactToolContracts-C9dRDo-D.js +74 -0
  1155. package/dist/mcp/browserObservation-DUraZs62.js +4633 -0
  1156. package/dist/mcp/browserObservationError-C5okJ5el.js +63 -0
  1157. package/dist/mcp/browserObservationSchemas-DwGGxBpu.js +573 -0
  1158. package/dist/mcp/browserScenario-BRUz7yN0.js +3415 -0
  1159. package/dist/mcp/browserScenarioCapture-CiMAsMx8.js +595 -0
  1160. package/dist/mcp/callerPath-CpPnMZyN.js +678 -0
  1161. package/dist/mcp/canonicalDigest-Bi_0_zGi.js +71 -0
  1162. package/dist/mcp/electronActiveObservation-DV0Ffy9X.js +227 -0
  1163. package/dist/mcp/electronFuses-D5SS7XXw.js +367 -0
  1164. package/dist/mcp/electronObservation-DsN-NqY1.js +621 -0
  1165. package/dist/mcp/electronObservation-wOYWwqgF.js +112 -0
  1166. package/dist/mcp/electronScenario-CYrt2zBK.js +913 -0
  1167. package/dist/mcp/emptyArraySchema-C0o2Sxwp.js +140 -0
  1168. package/dist/mcp/enhancedInputs-6CCgB3VB.js +56 -0
  1169. package/dist/mcp/javascriptRuntimeObservation-BVbhkO2-.js +693 -0
  1170. package/dist/mcp/javascriptRuntimeObservation-Cu0Yedqq.js +121 -0
  1171. package/dist/mcp/jsonSerialization-V-wWiFRE.js +152 -0
  1172. package/dist/mcp/lipo-DSTgUqL1.js +395 -0
  1173. package/dist/mcp/localPath-AxvW9aPe.js +19 -0
  1174. package/dist/mcp/logger-BGdGHadX.js +48 -0
  1175. package/dist/mcp/machoContainer-CMSxUBlK.js +605 -0
  1176. package/dist/mcp/main-Cx-Z7m_n.js +80276 -0
  1177. package/dist/mcp/main.js +6 -0
  1178. package/dist/mcp/managedToolContracts-CSlbKJP-.js +101 -0
  1179. package/dist/mcp/nativeValueTrace-BEZbDieM.js +3601 -0
  1180. package/dist/mcp/officialToolContracts-CauCcSsc.js +1432 -0
  1181. package/dist/mcp/peMachine-aP1iYnHq.js +95 -0
  1182. package/dist/mcp/pngHeader-DQ-ObyY2.js +147 -0
  1183. package/dist/mcp/propertyListKeys-BfCo0k4w.js +356 -0
  1184. package/dist/mcp/providerCleanupError-DIRHxzWo.js +125 -0
  1185. package/dist/mcp/providerIdentities--ptAh481.js +31 -0
  1186. package/dist/mcp/providerIdentity-BCQ5n5tw.js +16 -0
  1187. package/dist/mcp/providerOperationHealth-9DRSGM8N.js +71 -0
  1188. package/dist/mcp/rolldown-runtime-BjeaiXFo.js +121 -0
  1189. package/dist/mcp/safeJson-NeGfpkrI.js +25 -0
  1190. package/dist/mcp/scanCanonical-CF3ATd1V.js +3788 -0
  1191. package/dist/mcp/serverIdentity-BK0Ejd_Y.js +1507 -0
  1192. package/dist/mcp/sourceMapEnvelope-DAaRUIGj.js +94 -0
  1193. package/dist/mcp/toolContracts-BPoHQdlC.js +12414 -0
  1194. package/dist/mcp/toolOutputSchemaGroups-MJ_f-PMK.js +17730 -0
  1195. package/dist/mcp/webContentArtifact-DfGkgDcI.js +269 -0
  1196. package/dist/mcp/webRuntime-ccyhkRru.js +74 -0
  1197. package/dist/mcp/webSourceLocation-DKIum0vJ.js +13167 -0
  1198. package/dist/mcpDoctor.js +95 -70
  1199. package/dist/mcpStartupPolicy.js +20 -2
  1200. package/dist/native/AppleDispatchCoverage.js +57 -17
  1201. package/dist/native/AppleDispatchMetadata.js +82 -29
  1202. package/dist/native/AppleMachoFixups.js +208 -35
  1203. package/dist/native/AppleMachoSelection.js +30 -23
  1204. package/dist/native/AppleObjcCategories.js +13 -3
  1205. package/dist/native/AppleObjcDispatchFacets.js +95 -17
  1206. package/dist/native/AppleObjcProperties.js +61 -17
  1207. package/dist/native/AppleObjcProtocols.js +25 -7
  1208. package/dist/native/AppleSwiftVtables.js +2 -0
  1209. package/dist/native/CommandRunner.js +146 -32
  1210. package/dist/native/LldbCallTracer.js +235 -179
  1211. package/dist/native/LldbReadbackFiles.js +70 -0
  1212. package/dist/native/LldbRetainedObservations.js +28 -56
  1213. package/dist/native/MachoArchitectureSelection.js +50 -0
  1214. package/dist/native/NativeCallObservation.js +55 -53
  1215. package/dist/native/NativeCallTarget.js +95 -0
  1216. package/dist/native/NativeMacOSProvider.js +318 -188
  1217. package/dist/native/NativeMachoInspection.js +155 -81
  1218. package/dist/native/NativePlistSource.js +179 -0
  1219. package/dist/native/NativeUiCleanupError.js +30 -0
  1220. package/dist/native/NativeUiHelperRuntime.js +48 -35
  1221. package/dist/native/NativeUiObservation.js +69 -47
  1222. package/dist/native/SignatureTargetBinding.js +147 -65
  1223. package/dist/native/parsers/codesign.js +27 -10
  1224. package/dist/native/parsers/demangle.js +22 -12
  1225. package/dist/native/parsers/dyldInfo.js +73 -4
  1226. package/dist/native/parsers/lipo.js +53 -19
  1227. package/dist/native/parsers/machoUuid.js +150 -0
  1228. package/dist/native/parsers/otool.js +275 -32
  1229. package/dist/native/parsers/plist.js +40 -25
  1230. package/dist/native/pe/PeResourceLayout.js +22 -7
  1231. package/dist/native/pe/PeResourceParser.js +10 -9
  1232. package/dist/native/pe/PeResourcesProvider.js +76 -15
  1233. package/dist/native/pwndbg/CoreFileMappingAuthority.js +51 -0
  1234. package/dist/native/pwndbg/PwndbgCoreContext.js +39 -28
  1235. package/dist/native/pwntools/PwntoolsDecoder.js +339 -52
  1236. package/dist/native/pwntools/PwntoolsFailures.js +19 -4
  1237. package/dist/native/pwntools/PwntoolsInputLimit.js +27 -0
  1238. package/dist/native/pwntools/PwntoolsRecordedCrashProvider.js +38 -16
  1239. package/dist/native/pwntools/PwntoolsResourceLimits.js +3 -3
  1240. package/dist/native/pwntools/RecordedCrashSourceBindings.js +12 -8
  1241. package/dist/native/pwntools/RecordedCrashStructureBindings.js +3 -1
  1242. package/dist/objdump/ObjdumpCommand.js +24 -0
  1243. package/dist/pcap/PcapCommand.js +146 -0
  1244. package/dist/pcap/PcapConfiguration.js +93 -0
  1245. package/dist/pcap/PcapNativeBound.js +58 -0
  1246. package/dist/pcap/PcapOutput.js +276 -0
  1247. package/dist/pcap/PcapProvider.js +454 -0
  1248. package/dist/pcap/PcapSnapshot.js +191 -0
  1249. package/dist/process/ArtifactAnalysisResources.js +306 -0
  1250. package/dist/process/BoundedFileBytes.js +8 -3
  1251. package/dist/process/CurrentEntrypointPath.js +8 -0
  1252. package/dist/process/DarwinProcessRunTokenReader.js +276 -61
  1253. package/dist/process/DetachedPgpSignature.js +57 -0
  1254. package/dist/process/ExecFileBoundedOutput.js +44 -0
  1255. package/dist/process/ExecFileOutput.js +44 -17
  1256. package/dist/{hopper/HopperTargetLease.js → process/HopperLease.js} +76 -19
  1257. package/dist/process/JavaScriptWorkerMemoryLimit.js +25 -0
  1258. package/dist/process/LinuxResourceLimits.js +60 -0
  1259. package/dist/process/MacCodeSignature.js +3 -0
  1260. package/dist/process/OwnedCommand.js +144 -25
  1261. package/dist/process/PrivateRuntimeRoot.js +9 -19
  1262. package/dist/process/PrivateRuntimeRootUnavailableError.js +10 -0
  1263. package/dist/process/ProcessOwnership.js +70 -17
  1264. package/dist/process/ProcessOwnershipObservation.js +35 -4
  1265. package/dist/process/ProviderDeadline.js +58 -12
  1266. package/dist/process/ProviderProcess.js +233 -17
  1267. package/dist/process/RegexMatcher.js +96 -0
  1268. package/dist/process/SharedStartupAttempt.js +59 -0
  1269. package/dist/process/WindowsAuthority.js +48 -39
  1270. package/dist/process/WindowsBatchCommand.js +46 -0
  1271. package/dist/process/boundedUtf8Text.js +13 -0
  1272. package/dist/process/capture/FilesystemSnapshot.js +63 -11
  1273. package/dist/process/capture/ProcessCaptureClock.js +2 -0
  1274. package/dist/process/capture/ProcessCaptureError.js +64 -7
  1275. package/dist/process/capture/ProcessCaptureJournal.js +2 -1
  1276. package/dist/process/capture/ProcessCaptureLifecycle.js +104 -56
  1277. package/dist/process/capture/ProcessCaptureProgress.js +7 -4
  1278. package/dist/process/capture/ProcessHarness.js +34 -17
  1279. package/dist/process/capture/ProcessNormalization.js +278 -36
  1280. package/dist/process/capture/ProcessSampling.js +3 -2
  1281. package/dist/process/capture/ProcessScenarioRuntimeValidation.js +13 -13
  1282. package/dist/process/capture/TerminalRenderer.js +31 -10
  1283. package/dist/process/ownedDebuggerSession.js +203 -0
  1284. package/dist/process/snapshotEnvironment.js +8 -8
  1285. package/dist/{application/binary → providers}/AnalysisClientCleanup.js +3 -3
  1286. package/dist/providers/AnalysisClientCreation.js +193 -0
  1287. package/dist/providers/AnalysisClientFailure.js +191 -0
  1288. package/dist/providers/DeferredAnalysisClient.js +48 -0
  1289. package/dist/providers/OwnedCommandCleanup.js +65 -0
  1290. package/dist/providers/ProviderInspectionScope.js +10 -0
  1291. package/dist/recordedCatalogDigests.js +2 -0
  1292. package/dist/reference/ReferenceSourceReader.js +64 -1
  1293. package/dist/reference/ReferenceSourceReaderEntries.js +79 -56
  1294. package/dist/reference/ReferenceSourceReaderErrors.js +5 -1
  1295. package/dist/reference/ReferenceSourceReaderFile.js +2 -2
  1296. package/dist/reference/ReferenceSourceReaderTypes.js +1 -2
  1297. package/dist/reference/ReferenceSourceReaderValidate.js +0 -1
  1298. package/dist/rizin/RizinCommand.js +14 -0
  1299. package/dist/rizin/RizinDebugSessionManager.js +1111 -0
  1300. package/dist/rust/RustAuditableReader.js +309 -0
  1301. package/dist/rust/RustBinaryImage.js +116 -0
  1302. package/dist/rust/RustBinaryProvider.js +194 -0
  1303. package/dist/server/EvidenceMcpServer.js +160 -37
  1304. package/dist/server/admittedToolOperation.js +7 -2
  1305. package/dist/server/contractToolHandler.js +17 -4
  1306. package/dist/server/createServer.js +179 -30
  1307. package/dist/server/externalMutationAdmission.js +50 -0
  1308. package/dist/server/mcpProgress.js +4 -2
  1309. package/dist/server/promptCompletion.js +43 -28
  1310. package/dist/server/providerEnvironment.js +3 -0
  1311. package/dist/server/registerAnalysisViewTool.js +6 -2
  1312. package/dist/server/registerAndroidTools.js +22 -4
  1313. package/dist/server/registerApplicationTools/projectMobileApplicationGraph.js +8 -1
  1314. package/dist/server/registerArtifactComparisonTool.js +13 -2
  1315. package/dist/server/registerArtifactTools.js +21 -1
  1316. package/dist/server/registerBrowserScenarioTool.js +7 -5
  1317. package/dist/server/registerBrowserTools.js +4 -8
  1318. package/dist/server/registerBundleComparisonTool.js +4 -4
  1319. package/dist/server/registerCaptureTools.js +12 -0
  1320. package/dist/server/registerCutterTools.js +32 -0
  1321. package/dist/server/registerElectronTools.js +13 -21
  1322. package/dist/server/registerEnhancedTools.js +7 -6
  1323. package/dist/server/registerEvidenceTools.js +14 -10
  1324. package/dist/server/registerEvmTools.js +22 -4
  1325. package/dist/server/registerFlutterTools.js +17 -0
  1326. package/dist/server/registerFridaTools.js +201 -0
  1327. package/dist/server/registerFunctionComparisonTool.js +29 -9
  1328. package/dist/server/registerGdbTools.js +64 -0
  1329. package/dist/server/registerGoTools.js +9 -0
  1330. package/dist/server/registerInvestigationTools/helpers.js +2 -2
  1331. package/dist/server/registerInvestigationTools.js +31 -27
  1332. package/dist/server/registerJavaScriptRuntimeObservationTools.js +3 -9
  1333. package/dist/server/registerManagedTools.js +11 -1
  1334. package/dist/server/registerManagedWorkflowTools/evidence.js +14 -7
  1335. package/dist/server/registerNativeTools.js +14 -0
  1336. package/dist/server/registerOfficialTools.js +5 -0
  1337. package/dist/server/registerPcapTools.js +35 -0
  1338. package/dist/server/registerProcessComparisonTool.js +12 -2
  1339. package/dist/server/registerReverseEngineeringTools.js +86 -0
  1340. package/dist/server/registerRizinDebugTools.js +53 -0
  1341. package/dist/server/registerRustTools.js +9 -0
  1342. package/dist/server/registerSessionRecordTools.js +19 -13
  1343. package/dist/server/registerSessionStatusTool.js +33 -8
  1344. package/dist/server/registerSessionTools.js +31 -31
  1345. package/dist/server/registerSignalTools.js +12 -0
  1346. package/dist/server/registerSqliteTools.js +9 -0
  1347. package/dist/server/registerWasmTools.js +46 -0
  1348. package/dist/server/registerWebNetworkCaptureTool.js +24 -10
  1349. package/dist/server/retainedSummaryDelivery.js +28 -0
  1350. package/dist/server/runDerivedOperation.js +2 -0
  1351. package/dist/server/sessionAvailabilityPolicy.js +3 -0
  1352. package/dist/server/toolRegistrationOptions.js +8 -0
  1353. package/dist/server/toolResult.js +52 -19
  1354. package/dist/server/toolResultEncoding.js +36 -3
  1355. package/dist/serverIdentity.js +17 -8
  1356. package/dist/signals/SigrokRecordingProvider.js +346 -0
  1357. package/dist/signals/parseDecoderDiscovery.js +65 -0
  1358. package/dist/sqlite/SqliteDatabaseFailures.js +147 -0
  1359. package/dist/sqlite/SqliteDatabaseInspection.js +436 -0
  1360. package/dist/sqlite/SqliteDatabaseLimits.js +16 -0
  1361. package/dist/sqlite/SqliteDatabaseProvider.js +295 -0
  1362. package/dist/sqlite/SqliteDatabaseSnapshot.js +182 -0
  1363. package/dist/sqlite/SqliteDatabaseWorker.js +46 -0
  1364. package/dist/sqlite/SqliteDatabaseWorkerExecution.js +127 -0
  1365. package/dist/wasm/WabtArtifactProvider.js +358 -0
  1366. package/dist/wasm/WabtFailures.js +119 -0
  1367. package/dist/wasm/WabtInterface.js +309 -0
  1368. package/dist/wasm/WabtOutput.js +60 -0
  1369. package/dist/wasm/WabtRelease.js +12 -0
  1370. package/dist/wasm/WabtRuntime.js +58 -0
  1371. package/dist/wasm/WabtString.js +48 -0
  1372. package/dist/wasm/WabtWat.js +147 -0
  1373. package/dist/wasm/WasmGlueAdapter.js +66 -0
  1374. package/dist/wasm/WasmInterfaceBudget.js +11 -0
  1375. package/dist/windows/WindowsNativeLoader.js +53 -9
  1376. package/dist/windows/WindowsOwnedProcess.js +150 -17
  1377. package/dist/windows/WindowsPrivateRuntime.js +66 -2
  1378. package/install.sh +157 -98
  1379. package/licenses/Apache-2.0.txt +202 -0
  1380. package/licenses/GCC-Runtime-Library-Exception-3.1.txt +73 -0
  1381. package/licenses/GPL-3.0.txt +674 -0
  1382. package/licenses/LGPL-2.0.txt +480 -0
  1383. package/licenses/MIT-template.txt +18 -0
  1384. package/licenses/MinGW-w64-runtime.txt +240 -0
  1385. package/licenses/Node-22.19.0-LICENSE.txt +2666 -0
  1386. package/licenses/README.md +68 -0
  1387. package/licenses/cfworker-MIT.txt +21 -0
  1388. package/licenses/dotnet-runtime-MIT.txt +23 -0
  1389. package/licenses/frida-17.23.2-COPYING.txt +50 -0
  1390. package/licenses/ghidra-12.1.4-DISCLAIMER.txt +13 -0
  1391. package/licenses/ghidra-12.1.4-LICENSE.txt +201 -0
  1392. package/licenses/ghidra-12.1.4-NOTICE.txt +49 -0
  1393. package/licenses/npm-dependencies.txt +3757 -0
  1394. package/licenses/npm-runtime-notices.txt +8722 -0
  1395. package/licenses/upstream-sources.json +72 -0
  1396. package/licenses/xterm-MIT.txt +21 -0
  1397. package/native/windows/README.md +130 -12
  1398. package/native/windows/build/manifest.json +2 -2
  1399. package/native/windows/build/rea-windows-x64.node +0 -0
  1400. package/package.json +97 -22
  1401. package/scripts/electron-active-hook-boundaries.cjs +15 -2
  1402. package/scripts/electron-active-hook.cjs +412 -47
  1403. package/scripts/hopper-demo-x11.py +65 -13
  1404. package/scripts/prepack.mjs +5 -0
  1405. package/scripts/rea-android-workspace-guardian.mjs +46 -0
  1406. package/scripts/rea.mjs +89 -26
  1407. package/scripts/verify-windows-native-artifact.mjs +2 -2
  1408. package/skills/reverse-engineer-anything/SKILL.md +146 -11
  1409. package/skills/reverse-engineer-anything/references/android-applications.md +3 -1
  1410. package/skills/reverse-engineer-anything/references/connection-and-recovery.md +10 -10
  1411. package/skills/reverse-engineer-anything/references/evidence-workflows.md +23 -0
  1412. package/skills/reverse-engineer-anything/references/javascript-applications.md +72 -3
  1413. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +149 -19
  1414. package/skills/reverse-engineer-anything/references/runtime-observation.md +57 -7
  1415. package/third_party/README.md +1 -1
  1416. package/third_party/wabt/README.md +24 -0
  1417. package/dist/browser/history/HarCaptureAdapter.js +0 -20
  1418. package/dist/cli/streamedJsonOutput.js +0 -135
  1419. package/dist/hopper/HopperRegexWorker.js +0 -27
  1420. /package/dist/{application/binary → process}/AbortablePromise.js +0 -0
@@ -0,0 +1,1432 @@
1
+ import { t as __esmMin } from "./rolldown-runtime-BjeaiXFo.js";
2
+ import { b as jsonValueSchema, v as init_jsonValue } from "./analysisErrorCore-BIEP7tvF.js";
3
+ import { Kt as parseEvidence, R as init_toolOutputSchemaPrimitives, U as requireOutputSchema, Wt as init_evidence, Xt as init_relationshipCoverage, Zt as relationshipCoverageLimitations, at as nativeInstructionInputSchema, dt as functionDossierSchema, pt as init_hopperValues, rt as init_nativeInstruction, zt as createEvidence } from "./nativeValueTrace-BEZbDieM.js";
4
+ import { l as init_unicodeCodePointOrder, s as compareUnicodeCodePoints } from "./providerOperationHealth-9DRSGM8N.js";
5
+ import { Fa as validateBytePattern, Ma as bytePatternFields, Nt as compareProcessCaptures, Pa as init_bytePattern, Pt as init_processComparison, Sr as occurrenceIdForLocation, _r as artifactManifestId, an as functionComparisonResultSchema, c as officialOutputSchemas, ca as toolContractMetadata, cn as init_functionComparisonResults, da as uniqueSorted, dn as unresolvedDimension, f as processCaptureSchema, fa as init_nativeDataType, ga as nativeFunctionAnnotationsInputSchema, gr as artifactIdForContent, ha as init_nativeFunctionAnnotations, hr as artifactGraphDigest, i as init_toolOutputSchemaGroups, ln as overallStatus, m as init_processScenario, mi as init_comparisonSemantics, on as init_functionComparisonSchemas, p as digestProcessCommitment, pa as nativeDataTypeInputSchema, pi as canonicalJson, sa as init_toolEffects, sn as dimensionResult, u as init_processCapture, ua as init_canonicalOrdering, un as summarize, vr as init_artifactIdentity } from "./toolOutputSchemaGroups-MJ_f-PMK.js";
6
+ import { n as init_enhancedInputs, t as enhancedInputSchemas } from "./enhancedInputs-6CCgB3VB.js";
7
+ import { z } from "zod";
8
+ import { diffLines } from "diff";
9
+
10
+ //#region dist/contracts/analysisSearchContract.js
11
+ var analysisSearchInput;
12
+ function init_analysisSearchContract() {
13
+ return (init_analysisSearchContract = __esmMin((() => {
14
+ analysisSearchInput = {
15
+ pattern: z.string().min(1).describe("The literal text or regex pattern to search for"),
16
+ mode: z.enum(["literal", "regex"]).default("literal"),
17
+ case_sensitive: z.boolean().default(false).describe("Whether to match case"),
18
+ document: z.string().optional().describe("The document name")
19
+ };
20
+ })))();
21
+ }
22
+
23
+ //#endregion
24
+ //#region dist/domain/functionCallCoverage.js
25
+ var callerCoveragePrefix, calleeCoveragePrefix, combineFunctionRelationshipCoverage, isCallerOnlyIncompleteCoverage, assessFunctionCallCoverage;
26
+ function init_functionCallCoverage() {
27
+ return (init_functionCallCoverage = __esmMin((() => {
28
+ init_relationshipCoverage();
29
+ init_canonicalOrdering();
30
+ callerCoveragePrefix = "Callers: ";
31
+ calleeCoveragePrefix = "Callees: ";
32
+ combineFunctionRelationshipCoverage = (callers, callees) => {
33
+ const reads = [{
34
+ direction: "callers",
35
+ coverage: callers
36
+ }, {
37
+ direction: "callees",
38
+ coverage: callees
39
+ }];
40
+ const diagnostics = uniqueSorted(reads.flatMap(({ coverage }) => coverage?.diagnostics ?? []));
41
+ const details = diagnostics.length > 0 ? { diagnostics } : {};
42
+ const callersLimited = callers?.status !== "complete";
43
+ const calleesLimited = callees?.status !== "complete";
44
+ const limited_directions = callersLimited ? calleesLimited ? ["callers", "callees"] : ["callers"] : ["callees"];
45
+ const reasons = reads.flatMap(({ direction, coverage }) => {
46
+ const label = direction === "callers" ? callerCoveragePrefix : calleeCoveragePrefix;
47
+ return relationshipCoverageLimitations(coverage).map((reason) => `${label}${reason}`);
48
+ });
49
+ if (reads.some(({ coverage }) => coverage === undefined || coverage.status === "unknown")) return {
50
+ status: "unknown",
51
+ reason: uniqueSorted(reasons).join(" "),
52
+ limited_directions,
53
+ ...details
54
+ };
55
+ if (reasons.length > 0) return {
56
+ status: "partial",
57
+ limitations: uniqueSorted(reasons),
58
+ limited_directions,
59
+ ...details
60
+ };
61
+ return {
62
+ status: "complete",
63
+ ...details
64
+ };
65
+ };
66
+ isCallerOnlyIncompleteCoverage = (coverage) => {
67
+ if (coverage.status === "complete") return false;
68
+ if (coverage.limited_directions !== undefined) return !coverage.limited_directions.some((direction) => direction === "callees");
69
+ return coverage.status === "unknown" && coverage.reason.startsWith(callerCoveragePrefix) && !coverage.reason.includes(calleeCoveragePrefix);
70
+ };
71
+ assessFunctionCallCoverage = (coverage, dossier) => ({
72
+ blockers: uniqueSorted([...relationshipCoverageLimitations(coverage), ...(dossier.unresolved_calls ?? []).map(({ address, reason }) => `Unresolved call at ${address}: ${reason}`)]),
73
+ diagnostics: uniqueSorted(coverage?.diagnostics ?? [])
74
+ });
75
+ })))();
76
+ }
77
+
78
+ //#endregion
79
+ //#region dist/contracts/unknownContractExamples.js
80
+ var UNKNOWN_CONTRACT_EXAMPLES;
81
+ function init_unknownContractExamples() {
82
+ return (init_unknownContractExamples = __esmMin((() => {
83
+ UNKNOWN_CONTRACT_EXAMPLES = {
84
+ list_unknowns: {
85
+ offset: 0,
86
+ limit: 50
87
+ },
88
+ record_unknown: {
89
+ question: "Does this branch require an unavailable external service?",
90
+ severity: "medium",
91
+ domain: "protocol",
92
+ required_authority: "controlled-replay",
93
+ required_confidence: "observed",
94
+ required_environment: null,
95
+ recommended_probes: [{
96
+ operation: "capture_process_scenario",
97
+ rationale: "Replay branch."
98
+ }],
99
+ relationships: []
100
+ },
101
+ update_unknown: {
102
+ unknown_id: `unk_${"0".repeat(64)}`,
103
+ expected_revision: 1,
104
+ status: "investigating",
105
+ severity: "medium",
106
+ supporting_evidence_ids: [],
107
+ contradicting_evidence_ids: [],
108
+ required_authority: "controlled-replay",
109
+ required_confidence: "observed",
110
+ required_environment: null,
111
+ recommended_probes: [],
112
+ relationships: [],
113
+ resolution: null
114
+ },
115
+ verify_unknown_resolution: { unknown_id: `unk_${"0".repeat(64)}` }
116
+ };
117
+ })))();
118
+ }
119
+
120
+ //#endregion
121
+ //#region dist/contracts/artifactComparisonExample.js
122
+ var inventory, provider, ARTIFACT_COMPARISON_EXAMPLE;
123
+ function init_artifactComparisonExample() {
124
+ return (init_artifactComparisonExample = __esmMin((() => {
125
+ init_artifactIdentity();
126
+ init_evidence();
127
+ init_jsonValue();
128
+ inventory = (digit) => {
129
+ const sha = digit.repeat(64);
130
+ const artifactId = artifactIdForContent(sha);
131
+ const nodes = [{
132
+ artifact_id: artifactId,
133
+ format: "file",
134
+ sha256: sha,
135
+ size: 1,
136
+ media_type: null,
137
+ architecture: null,
138
+ content_state: "materialized",
139
+ limitations: []
140
+ }];
141
+ const occurrences = [{
142
+ occurrence_id: occurrenceIdForLocation({
143
+ rootArtifactId: artifactId,
144
+ logicalPath: ".",
145
+ entryKind: "file"
146
+ }),
147
+ artifact_id: artifactId,
148
+ parent_occurrence_id: null,
149
+ logical_path: ".",
150
+ entry_kind: "file",
151
+ artifact_kind: "resource",
152
+ artifact_format: "file",
153
+ declared_size: 1,
154
+ compressed_size: null,
155
+ executable: false,
156
+ encrypted: false,
157
+ hash_status: "verified",
158
+ source_location: null,
159
+ limitations: []
160
+ }];
161
+ const edges = [];
162
+ const integrityContradictions = [];
163
+ const graphSha256 = artifactGraphDigest({
164
+ nodes,
165
+ occurrences,
166
+ edges,
167
+ contradictions: integrityContradictions
168
+ });
169
+ return jsonValueSchema.parse({
170
+ manifest: {
171
+ manifest_id: artifactManifestId(artifactId, graphSha256),
172
+ root_artifact_id: artifactId,
173
+ root_sha256: sha,
174
+ root_format: "file",
175
+ graph_sha256: graphSha256,
176
+ node_count: nodes.length,
177
+ occurrence_count: occurrences.length,
178
+ edge_count: edges.length
179
+ },
180
+ nodes,
181
+ occurrences,
182
+ edges,
183
+ provenance: [],
184
+ integrity_contradictions: integrityContradictions,
185
+ coverage: {
186
+ scope: "root",
187
+ status: "complete"
188
+ },
189
+ limitations: []
190
+ });
191
+ };
192
+ provider = {
193
+ id: "rea-artifact",
194
+ name: "REA artifact graph",
195
+ version: "1"
196
+ };
197
+ ARTIFACT_COMPARISON_EXAMPLE = {
198
+ left: createEvidence({
199
+ path: "fixture-left",
200
+ sha256: "0".repeat(64),
201
+ format: "file"
202
+ }, provider, {
203
+ operation: "inventory_artifact",
204
+ parameters: {},
205
+ result: inventory("0"),
206
+ confidence: "observed",
207
+ authority: "shipped-artifact"
208
+ }),
209
+ right: createEvidence({
210
+ path: "fixture-right",
211
+ sha256: "1".repeat(64),
212
+ format: "file"
213
+ }, provider, {
214
+ operation: "inventory_artifact",
215
+ parameters: {},
216
+ result: inventory("1"),
217
+ confidence: "observed",
218
+ authority: "shipped-artifact"
219
+ })
220
+ };
221
+ })))();
222
+ }
223
+
224
+ //#endregion
225
+ //#region dist/contracts/functionComparisonExample.js
226
+ var dossier, observe, FUNCTION_COMPARISON_EXAMPLE;
227
+ function init_functionComparisonExample() {
228
+ return (init_functionComparisonExample = __esmMin((() => {
229
+ init_enhancedInputs();
230
+ init_evidence();
231
+ init_jsonValue();
232
+ dossier = (text) => jsonValueSchema.parse({
233
+ procedure: {
234
+ address: "0x1000",
235
+ name: "main",
236
+ classification: null,
237
+ body: {
238
+ available: false,
239
+ reason: "The fixture omits function-body extent observations."
240
+ },
241
+ signature: "int main(void)",
242
+ locals: []
243
+ },
244
+ pseudocode: text,
245
+ assembly: ["ret"],
246
+ comments: [],
247
+ callers: [],
248
+ callees: [],
249
+ incoming_references: [],
250
+ outgoing_references: [],
251
+ referenced_strings: [],
252
+ referenced_names: [],
253
+ basic_blocks: [{
254
+ start: "0x1000",
255
+ end: "0x1001",
256
+ successors: []
257
+ }],
258
+ native_api: null,
259
+ native_value_flow: null,
260
+ facet_availability: {
261
+ pseudocode: { available: true },
262
+ assembly: { available: true },
263
+ comments: { available: true },
264
+ callers: { available: true },
265
+ callees: { available: true },
266
+ references: { available: true },
267
+ strings_names: { available: true },
268
+ cfg: { available: true }
269
+ },
270
+ limitations: ["The fixture omits native API and value-flow observations."]
271
+ });
272
+ observe = (digit, text) => createEvidence({
273
+ path: `/tmp/function-${digit}`,
274
+ sha256: digit.repeat(64),
275
+ format: "mach-o"
276
+ }, {
277
+ id: "rea-workflow",
278
+ name: "REA composed investigation workflow",
279
+ version: "1"
280
+ }, {
281
+ operation: "analyze_function",
282
+ parameters: enhancedInputSchemas.analyze_function.parse({ procedure: "main" }),
283
+ result: dossier(text),
284
+ confidence: "derived",
285
+ authority: "shipped-artifact",
286
+ relationshipCoverage: { status: "complete" }
287
+ });
288
+ FUNCTION_COMPARISON_EXAMPLE = {
289
+ left: observe("0", "return 0;"),
290
+ right: observe("1", "return 1;")
291
+ };
292
+ })))();
293
+ }
294
+
295
+ //#endregion
296
+ //#region dist/domain/process/processCaptureParsing.js
297
+ var verifiedCaptures, isVerifiedCapture, attachProof, parseProcessCapture;
298
+ function init_processCaptureParsing() {
299
+ return (init_processCaptureParsing = __esmMin((() => {
300
+ init_processCapture();
301
+ verifiedCaptures = new WeakSet();
302
+ isVerifiedCapture = (capture) => verifiedCaptures.has(capture);
303
+ attachProof = (capture) => {
304
+ verifiedCaptures.add(capture);
305
+ if (isVerifiedCapture(capture)) return capture;
306
+ throw new TypeError("Process Capture proof ownership failed");
307
+ };
308
+ parseProcessCapture = (input) => {
309
+ const parsed = processCaptureSchema.safeParse(input);
310
+ if (parsed.success) return attachProof(parsed.data);
311
+ const issues = parsed.error.issues.flatMap((issue) => issue.code === "custom" ? [{
312
+ path: issue.path.join("."),
313
+ message: issue.message
314
+ }] : []);
315
+ if (issues.length > 0) throw new TypeError(`Invalid process capture: ${issues.map(({ path, message }) => `${path}: ${message}`).join("; ")}`);
316
+ throw parsed.error;
317
+ };
318
+ })))();
319
+ }
320
+
321
+ //#endregion
322
+ //#region dist/domain/process/processCaptureExample.js
323
+ var normalization, scenario, comparisonContract, EMPTY_PROCESS_CAPTURE_EXAMPLE, finalizedScenario, finalizedComparisonContract, FINALIZED_PROCESS_CAPTURE_EXAMPLE;
324
+ function init_processCaptureExample() {
325
+ return (init_processCaptureExample = __esmMin((() => {
326
+ init_processScenario();
327
+ normalization = {
328
+ paths: true,
329
+ pids: true,
330
+ ports: true,
331
+ time_bucket_ms: 10,
332
+ patterns: []
333
+ };
334
+ scenario = { executable_sha256: "0".repeat(64) };
335
+ comparisonContract = {};
336
+ EMPTY_PROCESS_CAPTURE_EXAMPLE = {
337
+ manifest: {
338
+ rea_version: "1.1.0",
339
+ provider_version: "3",
340
+ platform: "fixture",
341
+ architecture: "fixture",
342
+ pty_backend: "node-pty",
343
+ started_at: "2026-01-01T00:00:00.000Z",
344
+ completed_at: "2026-01-01T00:00:00.001Z",
345
+ scenario,
346
+ comparison_contract: comparisonContract,
347
+ full_scenario_sha256: digestProcessCommitment(scenario),
348
+ comparison_contract_sha256: digestProcessCommitment(comparisonContract),
349
+ selected_executable_sha256: "0".repeat(64),
350
+ executable_sha256: "0".repeat(64),
351
+ executable_identity: {
352
+ state: "path_metadata_unchanged",
353
+ reason: null
354
+ },
355
+ normalization_sha256: digestProcessCommitment(normalization)
356
+ },
357
+ normalization,
358
+ frames: [],
359
+ rendered_frames: [],
360
+ interaction_events: [],
361
+ exit: {
362
+ code: 0,
363
+ signal: null,
364
+ reason: "exited"
365
+ },
366
+ settlement: {
367
+ state: "quiesced",
368
+ elapsed_ms: 50,
369
+ cleanup_outcome: "not_required"
370
+ },
371
+ process_samples: [],
372
+ filesystem_checkpoints: [{
373
+ name: "before",
374
+ at_ms: 0,
375
+ files: [],
376
+ effects: [],
377
+ truncated: false
378
+ }, {
379
+ name: "after_settlement",
380
+ at_ms: 50,
381
+ files: [],
382
+ effects: [],
383
+ truncated: false
384
+ }],
385
+ event_journal: [],
386
+ files_before: [],
387
+ files_after: [],
388
+ filesystem_effects: [],
389
+ truncated: false,
390
+ truncation_details: {
391
+ raw_terminal: {
392
+ budget_bytes: 1e6,
393
+ observed_bytes: 0,
394
+ retained_bytes: 0,
395
+ observed_frames: 0,
396
+ retained_frames: 0
397
+ },
398
+ rendered_terminal: {
399
+ budget_bytes: 1e6,
400
+ observed_bytes: 0,
401
+ retained_bytes: 0,
402
+ observed_frames: 0,
403
+ retained_frames: 0
404
+ },
405
+ filesystem_before: {
406
+ files_limit: 1e4,
407
+ depth_limit: 16,
408
+ enumeration_truncated: false,
409
+ enumeration_reasons: [],
410
+ enumeration_omissions: [],
411
+ hash_budget_bytes: 1e7,
412
+ hashed_bytes: 0,
413
+ hash_omissions: []
414
+ },
415
+ filesystem_after: {
416
+ files_limit: 1e4,
417
+ depth_limit: 16,
418
+ enumeration_truncated: false,
419
+ enumeration_reasons: [],
420
+ enumeration_omissions: [],
421
+ hash_budget_bytes: 1e7,
422
+ hashed_bytes: 0,
423
+ hash_omissions: []
424
+ },
425
+ process: {
426
+ sample_limit: 1e3,
427
+ sampling_partial: false,
428
+ retained_samples: 0,
429
+ sample_limit_reached: false,
430
+ sampling_failures: 0,
431
+ first_sampling_failure: null,
432
+ coverage: "sampled"
433
+ }
434
+ },
435
+ limitations: [],
436
+ residual_unknowns: [],
437
+ cleanup: {
438
+ owned_process_group: "verified",
439
+ temporary_root: "removed"
440
+ }
441
+ };
442
+ finalizedScenario = {
443
+ ...scenario,
444
+ finalization_ms: 1500
445
+ };
446
+ finalizedComparisonContract = { finalization_ms: 1500 };
447
+ FINALIZED_PROCESS_CAPTURE_EXAMPLE = {
448
+ ...EMPTY_PROCESS_CAPTURE_EXAMPLE,
449
+ manifest: {
450
+ ...EMPTY_PROCESS_CAPTURE_EXAMPLE.manifest,
451
+ scenario: finalizedScenario,
452
+ comparison_contract: finalizedComparisonContract,
453
+ full_scenario_sha256: digestProcessCommitment(finalizedScenario),
454
+ comparison_contract_sha256: digestProcessCommitment(finalizedComparisonContract)
455
+ },
456
+ exit: {
457
+ code: null,
458
+ signal: 0,
459
+ reason: "timeout",
460
+ finalization: {
461
+ requested_ms: 1500,
462
+ elapsed_ms: 12,
463
+ exit_code: 0,
464
+ signals: [{
465
+ signal: "SIGTERM",
466
+ sent_at_ms: 0,
467
+ delivery: "signaled"
468
+ }]
469
+ }
470
+ }
471
+ };
472
+ })))();
473
+ }
474
+
475
+ //#endregion
476
+ //#region dist/domain/functionDossierEvidence.js
477
+ var parseFunctionEvidence;
478
+ function init_functionDossierEvidence() {
479
+ return (init_functionDossierEvidence = __esmMin((() => {
480
+ init_evidence();
481
+ init_unicodeCodePointOrder();
482
+ init_hopperValues();
483
+ init_functionCallCoverage();
484
+ parseFunctionEvidence = (input) => {
485
+ const evidence = parseEvidence(input);
486
+ if (evidence.operation !== "analyze_function") throw new TypeError("Function comparison requires analyze_function Evidence");
487
+ if (evidence.subject === null) throw new TypeError("Function comparison requires artifact-bound Evidence");
488
+ const dossier = functionDossierSchema.parse(evidence.normalized_result);
489
+ const callCoverage = assessFunctionCallCoverage(evidence.relationship_coverage, dossier);
490
+ return {
491
+ evidence,
492
+ subject: evidence.subject,
493
+ dossier,
494
+ limitations: [...new Set([...evidence.limitations, ...dossier.limitations])].sort((left, right) => compareUnicodeCodePoints(left, right)),
495
+ callCoverageBlockers: callCoverage.blockers,
496
+ callCoverageDiagnostics: callCoverage.diagnostics
497
+ };
498
+ };
499
+ })))();
500
+ }
501
+
502
+ //#endregion
503
+ //#region dist/domain/functionComparisonNormalization.js
504
+ var identityProjection, functionMatch, normalizeCfg, referenceEndpoint, referenceProjection, referenceKindProjection, commentProjection, stringAndNameProjection, swiftLiteralSitesConflict, swiftLiteralSites, sorted, isAutoName, parseAddress, relativeAddress;
505
+ function init_functionComparisonNormalization() {
506
+ return (init_functionComparisonNormalization = __esmMin((() => {
507
+ init_comparisonSemantics();
508
+ init_unicodeCodePointOrder();
509
+ identityProjection = (snapshot) => ({
510
+ name: snapshot.dossier.procedure.name,
511
+ signature: snapshot.dossier.procedure.signature,
512
+ locals: snapshot.dossier.procedure.locals.map(({ description }) => description).sort()
513
+ });
514
+ functionMatch = (left, right) => {
515
+ const leftName = left.dossier.procedure.name;
516
+ const rightName = right.dossier.procedure.name;
517
+ const stableNames = !isAutoName(leftName) && !isAutoName(rightName);
518
+ if (stableNames && leftName === rightName) return {
519
+ status: "matched",
520
+ method: "symbol",
521
+ left_name: leftName,
522
+ right_name: rightName
523
+ };
524
+ return {
525
+ status: stableNames ? "mismatched" : "ambiguous",
526
+ method: "explicit",
527
+ left_name: leftName,
528
+ right_name: rightName
529
+ };
530
+ };
531
+ normalizeCfg = (blocks) => {
532
+ const parsed = [];
533
+ for (const block of blocks) {
534
+ const start = parseAddress(block.start);
535
+ const end = parseAddress(block.end);
536
+ if (start === null || end === null || end <= start) return null;
537
+ parsed.push({
538
+ block,
539
+ start,
540
+ end
541
+ });
542
+ }
543
+ const ordered = parsed.sort((left, right) => left.start < right.start ? -1 : left.start > right.start ? 1 : 0);
544
+ if (new Set(ordered.map(({ start }) => start)).size !== ordered.length) return null;
545
+ const indices = new Map(ordered.map(({ start }, index) => [start, index]));
546
+ const graph = [];
547
+ for (const { block, start, end } of ordered) {
548
+ const successors = [];
549
+ for (const address of block.successors) {
550
+ const parsedAddress = parseAddress(address);
551
+ if (parsedAddress === null) return null;
552
+ const index = indices.get(parsedAddress);
553
+ if (index === undefined) return null;
554
+ successors.push(index);
555
+ }
556
+ graph.push({
557
+ size: String(end - start),
558
+ successors: successors.sort((left, right) => left - right)
559
+ });
560
+ }
561
+ return graph;
562
+ };
563
+ referenceEndpoint = (procedure, address, sameArtifact) => procedure !== null ? procedure.name : sameArtifact ? { address } : null;
564
+ referenceProjection = (snapshot, sameArtifact) => sorted([...snapshot.dossier.incoming_references.map((item) => ({
565
+ direction: "in",
566
+ item
567
+ })), ...snapshot.dossier.outgoing_references.map((item) => ({
568
+ direction: "out",
569
+ item
570
+ }))].map(({ direction, item }) => ({
571
+ direction,
572
+ source: referenceEndpoint(item.source_procedure, item.source_address, sameArtifact),
573
+ target: referenceEndpoint(item.target_procedure, item.target_address, sameArtifact)
574
+ })));
575
+ referenceKindProjection = (snapshot, sameArtifact) => {
576
+ const edges = [...snapshot.dossier.incoming_references.map((edge) => ({
577
+ direction: "in",
578
+ edge
579
+ })), ...snapshot.dossier.outgoing_references.map((edge) => ({
580
+ direction: "out",
581
+ edge
582
+ }))];
583
+ if (edges.some(({ edge }) => !edge.kind.available)) return null;
584
+ return sorted(edges.map(({ direction, edge }) => {
585
+ if (!edge.kind.available) throw new TypeError("Reference-kind availability changed during projection");
586
+ return {
587
+ direction,
588
+ source: referenceEndpoint(edge.source_procedure, edge.source_address, sameArtifact),
589
+ target: referenceEndpoint(edge.target_procedure, edge.target_address, sameArtifact),
590
+ type: edge.kind.type,
591
+ flow: edge.kind.flow,
592
+ call: edge.kind.call,
593
+ jump: edge.kind.jump,
594
+ data: edge.kind.data,
595
+ read: edge.kind.read,
596
+ write: edge.kind.write,
597
+ indirect: edge.kind.indirect,
598
+ computed: edge.kind.computed,
599
+ conditional: edge.kind.conditional,
600
+ terminal: edge.kind.terminal,
601
+ primary: edge.kind.primary,
602
+ operand_index: edge.kind.operand_index,
603
+ external: edge.kind.external
604
+ };
605
+ }));
606
+ };
607
+ commentProjection = (snapshot) => {
608
+ const values = snapshot.dossier.comments.map(({ address, kind, text }) => ({
609
+ offset: relativeAddress(address, snapshot.dossier.procedure.address),
610
+ kind,
611
+ text
612
+ }));
613
+ return values.some(({ offset }) => offset === null) ? null : sorted(values);
614
+ };
615
+ stringAndNameProjection = (snapshot, includeSwiftLiterals = true) => {
616
+ const values = [
617
+ ...snapshot.dossier.referenced_strings.map(({ source_address: sourceAddress, value }) => ({
618
+ kind: "string",
619
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
620
+ value
621
+ })),
622
+ ...snapshot.dossier.referenced_names.map(({ source_address: sourceAddress, value }) => ({
623
+ kind: "name",
624
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
625
+ value
626
+ })),
627
+ ...(includeSwiftLiterals ? snapshot.dossier.swift_string_literals ?? [] : []).map(({ source_address: sourceAddress, value, representation, registers }) => ({
628
+ kind: "swift_string",
629
+ source_offset: relativeAddress(sourceAddress, snapshot.dossier.procedure.address),
630
+ value,
631
+ representation,
632
+ registers
633
+ }))
634
+ ];
635
+ return values.some(({ source_offset: offset }) => offset === null) ? null : sorted(values);
636
+ };
637
+ swiftLiteralSitesConflict = (left, right) => {
638
+ const leftSites = swiftLiteralSites(left);
639
+ const rightSites = swiftLiteralSites(right);
640
+ for (const site of new Set([...leftSites.values.keys(), ...rightSites.values.keys()])) {
641
+ const leftValues = leftSites.values.get(site) ?? (leftSites.complete ? [] : undefined);
642
+ const rightValues = rightSites.values.get(site) ?? (rightSites.complete ? [] : undefined);
643
+ if (leftValues === undefined || rightValues === undefined) continue;
644
+ const leftFacts = new Set(leftValues);
645
+ const rightFacts = new Set(rightValues);
646
+ if (rightSites.complete && leftValues.some((value) => !rightFacts.has(value)) || leftSites.complete && rightValues.some((value) => !leftFacts.has(value))) return true;
647
+ }
648
+ return false;
649
+ };
650
+ swiftLiteralSites = (snapshot) => {
651
+ const base = snapshot.dossier.procedure.address;
652
+ const omissions = snapshot.dossier.swift_string_literal_omissions ?? [];
653
+ const site = (sourceAddress, registers) => {
654
+ const offset = relativeAddress(sourceAddress, base);
655
+ return offset === null ? null : canonicalJson([offset, registers]);
656
+ };
657
+ const values = new Map();
658
+ for (const literal of snapshot.dossier.swift_string_literals ?? []) {
659
+ const key = site(literal.source_address, literal.registers);
660
+ if (key === null) continue;
661
+ values.set(key, [...values.get(key) ?? [], canonicalJson([literal.value, literal.representation])].sort(compareUnicodeCodePoints));
662
+ }
663
+ const complete = snapshot.dossier.swift_string_literals !== undefined && omissions.length === 0;
664
+ return {
665
+ values,
666
+ complete
667
+ };
668
+ };
669
+ sorted = (values) => values.map((value) => ({
670
+ value,
671
+ json: canonicalJson(value, "Function normalization")
672
+ })).sort((left, right) => compareUnicodeCodePoints(left.json, right.json)).map(({ value }) => value);
673
+ isAutoName = (name) => /^(?:sub_[0-9a-f]+|fcn\.[0-9a-f]+|FUN_[0-9a-f]+)$/iu.test(name);
674
+ parseAddress = (value) => /^0x[0-9a-f]+$/iu.test(value) ? BigInt(value) : null;
675
+ relativeAddress = (value, base) => {
676
+ const parsed = parseAddress(value);
677
+ const parsedBase = parseAddress(base);
678
+ return parsed === null || parsedBase === null || parsed < parsedBase ? null : String(parsed - parsedBase);
679
+ };
680
+ })))();
681
+ }
682
+
683
+ //#endregion
684
+ //#region dist/domain/functionComparisonDimensions.js
685
+ var compareDimensions, facetLimitations, compareText, compareComments, compareStringsAndNames, swiftLiteralCoverage, hasUnnamedEndpoint, compareReferences, compareIdentity, compareCalls, callProjection, compareCfg, compareValues;
686
+ function init_functionComparisonDimensions() {
687
+ return (init_functionComparisonDimensions = __esmMin((() => {
688
+ init_comparisonSemantics();
689
+ init_functionComparisonNormalization();
690
+ init_functionComparisonResults();
691
+ compareDimensions = (left, right, context) => {
692
+ return [
693
+ compareIdentity(left, right, context),
694
+ compareText("pseudocode", left.dossier.pseudocode, right.dossier.pseudocode, context),
695
+ compareText("assembly", left.dossier.assembly.join("\n"), right.dossier.assembly.join("\n"), context),
696
+ compareComments(left, right, context),
697
+ compareCalls(left, right, context),
698
+ compareReferences(left, right, context),
699
+ compareStringsAndNames(left, right, context),
700
+ compareCfg(left, right, context)
701
+ ].map((result) => {
702
+ const limitations = [...facetLimitations(left, result.dimension).map((reason) => `Left: ${reason}`), ...facetLimitations(right, result.dimension).map((reason) => `Right: ${reason}`)];
703
+ return limitations.length === 0 ? result : unresolvedDimension({
704
+ dimension: result.dimension,
705
+ links: context.links,
706
+ leftCount: null,
707
+ rightCount: null,
708
+ limitations: [...result.limitations, ...limitations]
709
+ });
710
+ });
711
+ };
712
+ facetLimitations = (snapshot, dimension) => {
713
+ const { dossier } = snapshot;
714
+ const fields = {
715
+ identity: [],
716
+ pseudocode: [["pseudocode", dossier.pseudocode.length]],
717
+ assembly: [["assembly", dossier.assembly.length]],
718
+ comments: [["comments", dossier.comments.length]],
719
+ calls: [["callers", dossier.callers.length], ["callees", dossier.callees.length]],
720
+ references: [["references", dossier.incoming_references.length + dossier.outgoing_references.length]],
721
+ strings_names: [["strings_names", dossier.referenced_strings.length + dossier.referenced_names.length]],
722
+ cfg: [["cfg", dossier.basic_blocks.length]]
723
+ };
724
+ return fields[dimension].flatMap(([field, count]) => {
725
+ const availability = dossier.facet_availability?.[field];
726
+ if (availability?.available === false) return [`${field}: ${availability.reason}`];
727
+ return availability === undefined && count === 0 ? [`${field}: Provider did not declare coverage for this empty facet.`] : [];
728
+ });
729
+ };
730
+ compareText = (dimension, left, right, context) => {
731
+ 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."] : []];
732
+ if (context.providersDiffer) return unresolvedDimension({
733
+ dimension,
734
+ links: context.links,
735
+ leftCount: [...left].length,
736
+ rightCount: [...right].length,
737
+ limitations: [...limitations, "Exact text comparison requires one provider identity."]
738
+ });
739
+ const changes = diffLines(left, right, {
740
+ timeout: 100,
741
+ maxEditLength: 1e4
742
+ });
743
+ if (changes === undefined) return unresolvedDimension({
744
+ dimension,
745
+ links: context.links,
746
+ leftCount: [...left].length,
747
+ rightCount: [...right].length,
748
+ limitations: [...limitations, "Bounded line diff exceeded its time or edit-distance limit."]
749
+ });
750
+ const delta = changes.reduce((summary, change) => ({
751
+ added_lines: summary.added_lines + (change.added ? change.count ?? 0 : 0),
752
+ removed_lines: summary.removed_lines + (change.removed ? change.count ?? 0 : 0),
753
+ hunks: summary.hunks + (change.added || change.removed ? 1 : 0)
754
+ }), {
755
+ added_lines: 0,
756
+ removed_lines: 0,
757
+ hunks: 0
758
+ });
759
+ return dimensionResult({
760
+ dimension,
761
+ status: delta.hunks === 0 ? "unchanged" : "changed",
762
+ left,
763
+ right,
764
+ ...context,
765
+ leftCount: [...left].length,
766
+ rightCount: [...right].length,
767
+ textDelta: delta,
768
+ limitations
769
+ });
770
+ };
771
+ compareComments = (left, right, context) => {
772
+ const leftValues = commentProjection(left);
773
+ const rightValues = commentProjection(right);
774
+ if (leftValues === null || rightValues === null) return unresolvedDimension({
775
+ dimension: "comments",
776
+ links: context.links,
777
+ leftCount: left.dossier.comments.length,
778
+ rightCount: right.dossier.comments.length,
779
+ limitations: ["Comment locations could not be normalized relative to the function."]
780
+ });
781
+ return compareValues("comments", leftValues, rightValues, context);
782
+ };
783
+ compareStringsAndNames = (left, right, context) => {
784
+ const complete = swiftLiteralCoverage(left) === swiftLiteralCoverage(right) && swiftLiteralCoverage(left) !== "partial";
785
+ const leftValues = stringAndNameProjection(left, complete);
786
+ const rightValues = stringAndNameProjection(right, complete);
787
+ if (leftValues === null || rightValues === null) return unresolvedDimension({
788
+ dimension: "strings_names",
789
+ links: context.links,
790
+ leftCount: null,
791
+ rightCount: null,
792
+ limitations: ["Reference source locations could not be normalized to function offsets."]
793
+ });
794
+ const compared = compareValues("strings_names", leftValues, rightValues, context);
795
+ if (complete || compared.status === "changed") return compared;
796
+ if (swiftLiteralSitesConflict(left, right)) {
797
+ const leftAll = stringAndNameProjection(left);
798
+ const rightAll = stringAndNameProjection(right);
799
+ if (leftAll !== null && rightAll !== null) return compareValues("strings_names", leftAll, rightAll, context);
800
+ }
801
+ return unresolvedDimension({
802
+ dimension: "strings_names",
803
+ links: context.links,
804
+ leftCount: null,
805
+ rightCount: null,
806
+ limitations: ["Swift String literal coverage differs or is partial; referenced strings and names match, and complete coverage does not establish a differing literal."]
807
+ });
808
+ };
809
+ swiftLiteralCoverage = (snapshot) => (snapshot.dossier.swift_string_literal_omissions ?? []).length > 0 ? "partial" : snapshot.dossier.swift_string_literals === undefined ? "absent" : "complete";
810
+ hasUnnamedEndpoint = (snapshot) => [...snapshot.dossier.incoming_references, ...snapshot.dossier.outgoing_references].some((edge) => edge.source_procedure === null || edge.target_procedure === null);
811
+ compareReferences = (left, right, context) => {
812
+ const sameArtifact = left.subject.digest.sha256 === right.subject.digest.sha256;
813
+ const leftProjection = referenceProjection(left, sameArtifact);
814
+ const rightProjection = referenceProjection(right, sameArtifact);
815
+ if (leftProjection.length === 0 && rightProjection.length === 0) return compareValues("references", leftProjection, rightProjection, context);
816
+ if (canonicalJson(leftProjection, "Function comparison") !== canonicalJson(rightProjection, "Function comparison")) return dimensionResult({
817
+ dimension: "references",
818
+ status: "changed",
819
+ left: leftProjection,
820
+ right: rightProjection,
821
+ ...context,
822
+ leftCount: leftProjection.length,
823
+ rightCount: rightProjection.length,
824
+ textDelta: null,
825
+ limitations: ["Reference endpoints differ independently of provider reference-kind metadata."]
826
+ });
827
+ const leftKinds = referenceKindProjection(left, sameArtifact);
828
+ const rightKinds = referenceKindProjection(right, sameArtifact);
829
+ const kindsKnown = leftKinds !== null && rightKinds !== null;
830
+ if (kindsKnown && canonicalJson(leftKinds, "Function comparison") !== canonicalJson(rightKinds, "Function comparison")) return compareValues("references", leftKinds, rightKinds, context);
831
+ if (!sameArtifact && (hasUnnamedEndpoint(left) || hasUnnamedEndpoint(right))) return unresolvedDimension({
832
+ dimension: "references",
833
+ links: context.links,
834
+ leftCount: leftProjection.length,
835
+ rightCount: rightProjection.length,
836
+ limitations: ["Unnamed reference endpoints have no stable identity across different artifacts, so equal named endpoints do not establish equal references."]
837
+ });
838
+ if (kindsKnown) return compareValues("references", leftKinds, rightKinds, context);
839
+ return unresolvedDimension({
840
+ dimension: "references",
841
+ links: context.links,
842
+ leftCount: leftProjection.length,
843
+ rightCount: rightProjection.length,
844
+ limitations: ["At least one provider did not expose reference kinds, so equal endpoints do not prove equal edge semantics."]
845
+ });
846
+ };
847
+ compareIdentity = (left, right, context) => {
848
+ if (isAutoName(left.dossier.procedure.name) || isAutoName(right.dossier.procedure.name)) return unresolvedDimension({
849
+ dimension: "identity",
850
+ links: context.links,
851
+ leftCount: null,
852
+ rightCount: null,
853
+ limitations: ["Address-derived function names are not stable cross-version identity."]
854
+ });
855
+ return compareValues("identity", identityProjection(left), identityProjection(right), context);
856
+ };
857
+ compareCalls = (left, right, context) => {
858
+ const leftValues = callProjection(left);
859
+ const rightValues = callProjection(right);
860
+ const coverageLimitations = [...left.callCoverageBlockers.map((reason) => `Left: ${reason}`), ...right.callCoverageBlockers.map((reason) => `Right: ${reason}`)];
861
+ const coverageDiagnostics = [...left.callCoverageDiagnostics.map((reason) => `Left: ${reason}`), ...right.callCoverageDiagnostics.map((reason) => `Right: ${reason}`)];
862
+ if (coverageLimitations.length > 0) return unresolvedDimension({
863
+ dimension: "calls",
864
+ links: context.links,
865
+ leftCount: leftValues.length,
866
+ rightCount: rightValues.length,
867
+ limitations: [...coverageLimitations, ...coverageDiagnostics]
868
+ });
869
+ if ([...leftValues, ...rightValues].some(({ name }) => isAutoName(name))) return unresolvedDimension({
870
+ dimension: "calls",
871
+ links: context.links,
872
+ leftCount: leftValues.length,
873
+ rightCount: rightValues.length,
874
+ limitations: ["Address-derived callee or caller names cannot be matched safely.", ...coverageDiagnostics]
875
+ });
876
+ return compareValues("calls", sorted(leftValues), sorted(rightValues), context, coverageDiagnostics);
877
+ };
878
+ callProjection = (snapshot) => [...snapshot.dossier.callers.map(({ name }) => ({
879
+ direction: "in",
880
+ name
881
+ })), ...snapshot.dossier.callees.map(({ name }) => ({
882
+ direction: "out",
883
+ name
884
+ }))];
885
+ compareCfg = (left, right, context) => {
886
+ const leftBlocks = left.dossier.basic_blocks;
887
+ const rightBlocks = right.dossier.basic_blocks;
888
+ const leftGraph = normalizeCfg(leftBlocks);
889
+ const rightGraph = normalizeCfg(rightBlocks);
890
+ if (leftGraph === null || rightGraph === null) return unresolvedDimension({
891
+ dimension: "cfg",
892
+ links: context.links,
893
+ leftCount: leftBlocks.length,
894
+ rightCount: rightBlocks.length,
895
+ limitations: ["CFG addresses could not be normalized to local block indices."]
896
+ });
897
+ return compareValues("cfg", leftGraph, rightGraph, context);
898
+ };
899
+ compareValues = (dimension, left, right, context, limitations = []) => {
900
+ const leftJson = canonicalJson(left, "Function comparison");
901
+ const rightJson = canonicalJson(right, "Function comparison");
902
+ return dimensionResult({
903
+ dimension,
904
+ status: leftJson === rightJson ? "unchanged" : "changed",
905
+ left,
906
+ right,
907
+ ...context,
908
+ leftCount: Array.isArray(left) ? left.length : null,
909
+ rightCount: Array.isArray(right) ? right.length : null,
910
+ textDelta: null,
911
+ limitations
912
+ });
913
+ };
914
+ })))();
915
+ }
916
+
917
+ //#endregion
918
+ //#region dist/domain/functionComparison.js
919
+ var compareFunctions;
920
+ function init_functionComparison() {
921
+ return (init_functionComparison = __esmMin((() => {
922
+ init_comparisonSemantics();
923
+ init_unicodeCodePointOrder();
924
+ init_functionDossierEvidence();
925
+ init_functionComparisonNormalization();
926
+ init_functionComparisonSchemas();
927
+ init_functionComparisonResults();
928
+ init_functionComparisonDimensions();
929
+ compareFunctions = (leftInput, rightInput) => {
930
+ const left = parseFunctionEvidence(leftInput);
931
+ const right = parseFunctionEvidence(rightInput);
932
+ const links = [left.evidence.evidence_id, right.evidence.evidence_id];
933
+ const providersDiffer = canonicalJson(left.evidence.provider, "Function comparison") !== canonicalJson(right.evidence.provider, "Function comparison");
934
+ const dimensions = compareDimensions(left, right, {
935
+ links,
936
+ providersDiffer
937
+ });
938
+ const match = functionMatch(left, right);
939
+ const changes = dimensions.filter(({ status }) => status !== "unchanged");
940
+ return functionComparisonResultSchema.parse({
941
+ status: overallStatus(dimensions, match.status),
942
+ function_match: match,
943
+ left_subject_sha256: left.subject.digest.sha256,
944
+ right_subject_sha256: right.subject.digest.sha256,
945
+ summary: summarize(dimensions),
946
+ dimensions,
947
+ changes,
948
+ limitations: [...new Set([
949
+ ...left.limitations.map((item) => `Left: ${item}`),
950
+ ...right.limitations.map((item) => `Right: ${item}`),
951
+ ...providersDiffer ? ["Provider-specific pseudocode and assembly representations were not equated."] : []
952
+ ])].sort((a, b) => compareUnicodeCodePoints(a, b))
953
+ });
954
+ };
955
+ })))();
956
+ }
957
+
958
+ //#endregion
959
+ //#region dist/contracts/investigationExamples.js
960
+ var comparison, FUNCTION_COMPARISON_EVIDENCE, PROCESS_PROVIDER, capture, captureEvidence, PROCESS_CAPTURE_REFERENCE, PROCESS_CAPTURE_RECONSTRUCTION, PROCESS_COMPARISON_EVIDENCE, INVESTIGATION_EXAMPLES;
961
+ function init_investigationExamples() {
962
+ return (init_investigationExamples = __esmMin((() => {
963
+ init_evidence();
964
+ init_jsonValue();
965
+ init_processComparison();
966
+ init_processCaptureParsing();
967
+ init_functionComparisonExample();
968
+ init_processCaptureExample();
969
+ init_functionComparison();
970
+ comparison = compareFunctions(FUNCTION_COMPARISON_EXAMPLE.left, FUNCTION_COMPARISON_EXAMPLE.right);
971
+ FUNCTION_COMPARISON_EVIDENCE = createEvidence(undefined, {
972
+ id: "rea-function-comparison",
973
+ name: "REA function comparison",
974
+ version: "1"
975
+ }, {
976
+ predicateType: "rea.function-comparison",
977
+ operation: "compare_functions",
978
+ parameters: {
979
+ left_evidence_id: FUNCTION_COMPARISON_EXAMPLE.left.evidence_id,
980
+ right_evidence_id: FUNCTION_COMPARISON_EXAMPLE.right.evidence_id
981
+ },
982
+ result: jsonValueSchema.parse(comparison),
983
+ confidence: "derived",
984
+ authority: "analyst-inference",
985
+ limitations: comparison.limitations,
986
+ evidenceLinks: [FUNCTION_COMPARISON_EXAMPLE.left.evidence_id, FUNCTION_COMPARISON_EXAMPLE.right.evidence_id]
987
+ });
988
+ PROCESS_PROVIDER = {
989
+ id: "rea-process",
990
+ name: "REA deterministic process harness",
991
+ version: "3"
992
+ };
993
+ capture = parseProcessCapture(EMPTY_PROCESS_CAPTURE_EXAMPLE);
994
+ captureEvidence = (scenario) => createEvidence(undefined, PROCESS_PROVIDER, {
995
+ predicateType: "rea.process-capture",
996
+ operation: "capture_process_scenario",
997
+ parameters: { scenario },
998
+ result: jsonValueSchema.parse(capture),
999
+ confidence: "observed",
1000
+ authority: "controlled-replay",
1001
+ environment: {
1002
+ id: "fixture-linux",
1003
+ platform: "linux",
1004
+ architecture: "x86_64",
1005
+ isolation: "container"
1006
+ }
1007
+ });
1008
+ PROCESS_CAPTURE_REFERENCE = captureEvidence("reference");
1009
+ PROCESS_CAPTURE_RECONSTRUCTION = captureEvidence("reconstruction");
1010
+ PROCESS_COMPARISON_EVIDENCE = createEvidence(undefined, PROCESS_PROVIDER, {
1011
+ predicateType: "rea.process-comparison",
1012
+ operation: "compare_process_captures",
1013
+ parameters: {
1014
+ left_evidence_id: PROCESS_CAPTURE_REFERENCE.evidence_id,
1015
+ right_evidence_id: PROCESS_CAPTURE_RECONSTRUCTION.evidence_id,
1016
+ left_normalization: capture.normalization,
1017
+ right_normalization: capture.normalization
1018
+ },
1019
+ result: jsonValueSchema.parse(compareProcessCaptures(capture, capture)),
1020
+ confidence: "derived",
1021
+ authority: "analyst-inference",
1022
+ evidenceLinks: [PROCESS_CAPTURE_REFERENCE.evidence_id, PROCESS_CAPTURE_RECONSTRUCTION.evidence_id]
1023
+ });
1024
+ INVESTIGATION_EXAMPLES = {
1025
+ compare_process_captures: { input: {
1026
+ left: PROCESS_CAPTURE_REFERENCE,
1027
+ right: PROCESS_CAPTURE_RECONSTRUCTION
1028
+ } },
1029
+ find_changed_behavior: { comparisons: [FUNCTION_COMPARISON_EVIDENCE] },
1030
+ build_call_path: {
1031
+ functions: [FUNCTION_COMPARISON_EXAMPLE.left],
1032
+ start: { address: "0x1000" },
1033
+ goal: { address: "0x1000" }
1034
+ },
1035
+ correlate_static_and_runtime: {
1036
+ static_comparisons: [FUNCTION_COMPARISON_EVIDENCE],
1037
+ runtime_comparisons: [PROCESS_COMPARISON_EVIDENCE],
1038
+ mappings: [{
1039
+ static: {
1040
+ comparison_evidence_id: FUNCTION_COMPARISON_EVIDENCE.evidence_id,
1041
+ selector: {
1042
+ kind: "function",
1043
+ dimension: "pseudocode"
1044
+ }
1045
+ },
1046
+ runtime: {
1047
+ comparison_evidence_id: PROCESS_COMPARISON_EVIDENCE.evidence_id,
1048
+ dimension: "terminal"
1049
+ },
1050
+ side_alignment: "left_to_left",
1051
+ hypothesis: {
1052
+ statement: "Static implementation changed without terminal change.",
1053
+ expected_pattern: "static_only"
1054
+ }
1055
+ }]
1056
+ },
1057
+ verify_reconstruction: { specification: {
1058
+ name: "Terminal compatibility",
1059
+ claims: [{
1060
+ kind: "behavioral",
1061
+ claim_id: "terminal-output",
1062
+ title: "Terminal output remains equivalent",
1063
+ comparison_evidence_id: PROCESS_COMPARISON_EVIDENCE.evidence_id,
1064
+ dimension: "terminal"
1065
+ }]
1066
+ } }
1067
+ };
1068
+ })))();
1069
+ }
1070
+
1071
+ //#endregion
1072
+ //#region dist/contracts/toolContractExamples.js
1073
+ var TOOL_EXAMPLE_OVERRIDES;
1074
+ function init_toolContractExamples() {
1075
+ return (init_toolContractExamples = __esmMin((() => {
1076
+ init_unknownContractExamples();
1077
+ init_artifactComparisonExample();
1078
+ init_functionComparisonExample();
1079
+ init_investigationExamples();
1080
+ TOOL_EXAMPLE_OVERRIDES = {
1081
+ ...UNKNOWN_CONTRACT_EXAMPLES,
1082
+ ...INVESTIGATION_EXAMPLES,
1083
+ goto_address: { address: "0x1000" },
1084
+ procedure_address: { procedure: "main" },
1085
+ procedure_assembly: { procedure: "main" },
1086
+ procedure_callees: { procedure: "main" },
1087
+ procedure_callers: { procedure: "main" },
1088
+ procedure_info: { procedure: "main" },
1089
+ trace_native_values: { procedure: "0x1000" },
1090
+ inspect_native_data_type: { type: "/MyStruct" },
1091
+ inspect_native_instruction: { address: "0x1000" },
1092
+ resolve_native_call_targets: { address: "0x1000" },
1093
+ read_function_instructions: { procedure: "main" },
1094
+ read_bytes: {
1095
+ address: "0x1000",
1096
+ length: 16
1097
+ },
1098
+ search_bytes: { pattern: "48 8B ?? ?? 89" },
1099
+ address_to_file_offset: { address: "0x1000" },
1100
+ procedure_references: { procedure: "main" },
1101
+ procedure_pseudo_code: { procedure: "main" },
1102
+ resolve_containing_procedure: { address: "0x1000" },
1103
+ search_procedures: { pattern: "main" },
1104
+ search_strings: { pattern: "authorization failed" },
1105
+ set_address_name: {
1106
+ address: "0x1000",
1107
+ name: "entry"
1108
+ },
1109
+ set_addresses_names: { names: { "0x1000": "entry" } },
1110
+ set_bookmark: { address: "0x1000" },
1111
+ set_comment: {
1112
+ address: "0x1000",
1113
+ comment: "validated entry point"
1114
+ },
1115
+ set_inline_comment: {
1116
+ address: "0x1000",
1117
+ comment: "calls parser"
1118
+ },
1119
+ unset_bookmark: { address: "0x1000" },
1120
+ get_call_graph: { address: "0x1000" },
1121
+ find_xrefs_to_name: { name: "malloc" },
1122
+ analyze_function: { procedure: "main" },
1123
+ annotate_native_function: {
1124
+ procedure: "0x10100",
1125
+ name: "entry",
1126
+ comment: "Analyst observation"
1127
+ },
1128
+ analyze_swift_types: {
1129
+ category: "classes",
1130
+ pattern: "Account"
1131
+ },
1132
+ inspect_native_api: { procedure: "main" },
1133
+ trace_feature: { query: "license" },
1134
+ trace_call_path: {
1135
+ start: "0x1000",
1136
+ goal: "0x1100"
1137
+ },
1138
+ trace_native_ui_action: { action: "buildTapped:" },
1139
+ open_binary: { path: "/tmp/fixture" },
1140
+ export_evidence_bundle: { path: "/tmp/evidence.json" },
1141
+ get_evidence_bundle: {
1142
+ detail: "summary",
1143
+ filters: {
1144
+ operation: "analyze_function",
1145
+ procedure_address: "0x1000"
1146
+ }
1147
+ },
1148
+ inspect_address_context: { address: "0x1000" },
1149
+ import_evidence_bundle: { path: "/tmp/evidence.json" },
1150
+ capture_process_scenario: {
1151
+ executable: "/usr/bin/true",
1152
+ working_directory: "/tmp",
1153
+ timeout_ms: 3e4,
1154
+ finalization_ms: 1500
1155
+ },
1156
+ compare_process_captures: {
1157
+ left: PROCESS_CAPTURE_REFERENCE,
1158
+ right: PROCESS_CAPTURE_RECONSTRUCTION
1159
+ },
1160
+ compare_artifacts: {
1161
+ left: ARTIFACT_COMPARISON_EXAMPLE.left,
1162
+ right: ARTIFACT_COMPARISON_EXAMPLE.right
1163
+ },
1164
+ compare_functions: {
1165
+ left: FUNCTION_COMPARISON_EXAMPLE.left,
1166
+ right: FUNCTION_COMPARISON_EXAMPLE.right
1167
+ },
1168
+ compare_bundles: {
1169
+ left_bundle_path: "/tmp/left-evidence.json",
1170
+ right_bundle_path: "/tmp/right-evidence.json"
1171
+ },
1172
+ inspect_with_objdump: {
1173
+ path: "/tmp/program",
1174
+ operation: "disassemble"
1175
+ },
1176
+ execute_rizin_command: {
1177
+ path: "/tmp/program",
1178
+ command: "iI"
1179
+ },
1180
+ list_frida_devices: {},
1181
+ list_frida_processes: { device_id: "local" },
1182
+ start_frida_session: {
1183
+ mode: "attach",
1184
+ device_id: "local",
1185
+ pid: 1234
1186
+ },
1187
+ load_frida_script: {
1188
+ session_id: "00000000-0000-4000-8000-000000000001",
1189
+ source_kind: "inline",
1190
+ source: "send(Process.id);"
1191
+ },
1192
+ resume_frida_session: { session_id: "00000000-0000-4000-8000-000000000001" },
1193
+ unload_frida_script: {
1194
+ session_id: "00000000-0000-4000-8000-000000000001",
1195
+ script_id: "00000000-0000-4000-8000-000000000002"
1196
+ },
1197
+ frida_session_status: { session_id: "00000000-0000-4000-8000-000000000001" },
1198
+ close_frida_session: { session_id: "00000000-0000-4000-8000-000000000001" },
1199
+ instrument_with_frida: {
1200
+ mode: "attach",
1201
+ device_id: "local",
1202
+ pid: 1234,
1203
+ source_kind: "inline",
1204
+ source: "send(Process.id);",
1205
+ duration_ms: 1e3
1206
+ }
1207
+ };
1208
+ })))();
1209
+ }
1210
+
1211
+ //#endregion
1212
+ //#region dist/contracts/toolContractHelpers.js
1213
+ var document, address, optionalAddress, procedure, exampleInputSchema, examplesFor;
1214
+ function init_toolContractHelpers() {
1215
+ return (init_toolContractHelpers = __esmMin((() => {
1216
+ init_jsonValue();
1217
+ init_toolContractExamples();
1218
+ document = z.string().optional().describe("The active target's provider document name; use open_binary to switch targets");
1219
+ address = z.string().describe("A provider-normalized address; default memory uses 0x-prefixed hexadecimal");
1220
+ optionalAddress = address.optional();
1221
+ procedure = z.string().describe("The procedure name or address");
1222
+ exampleInputSchema = z.record(z.string(), jsonValueSchema);
1223
+ examplesFor = (name, inputSchema) => {
1224
+ const parsed = inputSchema.parse(TOOL_EXAMPLE_OVERRIDES[name] ?? {});
1225
+ return [{
1226
+ title: `Example ${name.replaceAll("_", " ")} request`,
1227
+ input: exampleInputSchema.parse(parsed)
1228
+ }];
1229
+ };
1230
+ })))();
1231
+ }
1232
+
1233
+ //#endregion
1234
+ //#region dist/contracts/functionInstructionContract.js
1235
+ var functionInstructionInputSchema;
1236
+ function init_functionInstructionContract() {
1237
+ return (init_functionInstructionContract = __esmMin((() => {
1238
+ functionInstructionInputSchema = z.object({
1239
+ procedure: z.string().describe("The procedure name or address"),
1240
+ document: z.string().optional().describe("The document name")
1241
+ });
1242
+ })))();
1243
+ }
1244
+
1245
+ //#endregion
1246
+ //#region dist/contracts/hopperMemoryContracts.js
1247
+ var HOPPER_MEMORY_TOOL_DEFINITIONS;
1248
+ function init_hopperMemoryContracts() {
1249
+ return (init_hopperMemoryContracts = __esmMin((() => {
1250
+ init_toolContractHelpers();
1251
+ init_bytePattern();
1252
+ HOPPER_MEMORY_TOOL_DEFINITIONS = [
1253
+ {
1254
+ name: "search_bytes",
1255
+ 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.",
1256
+ inputSchema: z.strictObject({
1257
+ ...bytePatternFields,
1258
+ document,
1259
+ start: address.optional(),
1260
+ end: address.optional(),
1261
+ limit: z.number().int().min(1).max(1e3).default(100),
1262
+ cursor: z.string().min(1).optional()
1263
+ }).superRefine(validateBytePattern)
1264
+ },
1265
+ {
1266
+ name: "read_bytes",
1267
+ 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.",
1268
+ inputSchema: z.object({
1269
+ address,
1270
+ length: z.number().int().min(1).default(256),
1271
+ document
1272
+ })
1273
+ },
1274
+ {
1275
+ name: "address_to_file_offset",
1276
+ 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.",
1277
+ inputSchema: z.object({
1278
+ address,
1279
+ document
1280
+ })
1281
+ }
1282
+ ];
1283
+ })))();
1284
+ }
1285
+
1286
+ //#endregion
1287
+ //#region dist/contracts/officialToolContracts.js
1288
+ var official, OFFICIAL_TOOL_CONTRACTS;
1289
+ function init_officialToolContracts() {
1290
+ return (init_officialToolContracts = __esmMin((() => {
1291
+ init_nativeFunctionAnnotations();
1292
+ init_toolOutputSchemaGroups();
1293
+ init_toolOutputSchemaPrimitives();
1294
+ init_toolContractHelpers();
1295
+ init_toolEffects();
1296
+ init_nativeDataType();
1297
+ init_nativeInstruction();
1298
+ init_functionInstructionContract();
1299
+ init_hopperMemoryContracts();
1300
+ init_analysisSearchContract();
1301
+ official = (name, description, inputSchema) => {
1302
+ const strictInputSchema = inputSchema.strict();
1303
+ return {
1304
+ name,
1305
+ ...toolContractMetadata(name),
1306
+ description,
1307
+ kind: "official-proxy",
1308
+ inputSchema: strictInputSchema,
1309
+ outputSchema: requireOutputSchema(officialOutputSchemas, name),
1310
+ examples: examplesFor(name, strictInputSchema)
1311
+ };
1312
+ };
1313
+ OFFICIAL_TOOL_CONTRACTS = [
1314
+ 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),
1315
+ 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({})),
1316
+ 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),
1317
+ 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),
1318
+ 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),
1319
+ 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({
1320
+ document,
1321
+ address: optionalAddress
1322
+ })),
1323
+ 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({
1324
+ document,
1325
+ address: optionalAddress
1326
+ })),
1327
+ 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 })),
1328
+ 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 })),
1329
+ official("current_document", "Return the document currently selected by REA's Hopper bridge.", z.object({})),
1330
+ 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({
1331
+ address,
1332
+ document
1333
+ })),
1334
+ 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({
1335
+ document,
1336
+ address: optionalAddress
1337
+ })),
1338
+ 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 })),
1339
+ 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({})),
1340
+ 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({
1341
+ document,
1342
+ address: optionalAddress
1343
+ })),
1344
+ 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 })),
1345
+ 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 })),
1346
+ official("list_strings", "List every provider-reported string object or candidate, 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. Kuna scans mapped printable sequences of at least five characters, including unterminated fragments; references are not computed.", z.object({
1347
+ document,
1348
+ address: optionalAddress
1349
+ })),
1350
+ 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({
1351
+ document,
1352
+ address: optionalAddress
1353
+ })),
1354
+ 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({
1355
+ document,
1356
+ address: optionalAddress
1357
+ })),
1358
+ 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({
1359
+ procedure,
1360
+ document
1361
+ })),
1362
+ 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({
1363
+ procedure,
1364
+ document
1365
+ })),
1366
+ 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({
1367
+ procedure,
1368
+ document
1369
+ })),
1370
+ 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({
1371
+ procedure,
1372
+ document
1373
+ })),
1374
+ 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({
1375
+ procedure,
1376
+ document
1377
+ })),
1378
+ 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),
1379
+ ...HOPPER_MEMORY_TOOL_DEFINITIONS.map(({ name, description, inputSchema }) => official(name, description, inputSchema)),
1380
+ 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({
1381
+ procedure,
1382
+ direction: z.enum(["incoming", "outgoing"]).default("outgoing"),
1383
+ document
1384
+ })),
1385
+ 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({
1386
+ procedure,
1387
+ document
1388
+ })),
1389
+ 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({
1390
+ address,
1391
+ document
1392
+ })),
1393
+ 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)),
1394
+ official("search_strings", "Search every provider-reported string object or candidate using literal matching by default or regex when requested. Results are deterministic and complete over that provider inventory, not every text sequence in artifact bytes. Kuna scans mapped sequences of at least five characters, including unterminated fragments, without computing references. 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)),
1395
+ 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({
1396
+ address,
1397
+ name: z.string(),
1398
+ document
1399
+ })),
1400
+ 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({
1401
+ names: z.record(z.string(), z.string()),
1402
+ document
1403
+ })),
1404
+ 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({
1405
+ address,
1406
+ name: z.string().optional(),
1407
+ document
1408
+ })),
1409
+ 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({
1410
+ address,
1411
+ comment: z.string(),
1412
+ document
1413
+ })),
1414
+ 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({
1415
+ address,
1416
+ comment: z.string(),
1417
+ document
1418
+ })),
1419
+ 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({
1420
+ address,
1421
+ document
1422
+ })),
1423
+ 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({
1424
+ document,
1425
+ address: optionalAddress
1426
+ }))
1427
+ ];
1428
+ })))();
1429
+ }
1430
+
1431
+ //#endregion
1432
+ 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, combineFunctionRelationshipCoverage as m, init_officialToolContracts as n, init_toolContractExamples as o, assessFunctionCallCoverage as p, examplesFor as r, compareFunctions as s, OFFICIAL_TOOL_CONTRACTS as t, parseFunctionEvidence as u, init_analysisSearchContract as v };