rea-agents 6.5.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 (921) hide show
  1. package/README.md +12 -3
  2. package/THIRD_PARTY_NOTICES.md +1 -0
  3. package/bridge/android/ReaJadxBridge.java +167 -23
  4. package/bridge/cutter/rea_bridge.py +19 -10
  5. package/bridge/ghidra/ReaGhidraBridge.java +98 -66
  6. package/bridge/hopper_bridge.py +9 -1
  7. package/bridge/native/rea_lldb_tracer.py +48 -4
  8. package/bridge/pwndbg/core_context.py +15 -2
  9. package/dist/adb/AdbCommand.js +148 -0
  10. package/dist/adb/AdbConfiguration.js +26 -4
  11. package/dist/adb/AdbInputSnapshot.js +126 -0
  12. package/dist/adb/AdbProvider.js +765 -248
  13. package/dist/adb/AdbShellOutput.js +92 -21
  14. package/dist/android/AndroidTargetSnapshot.js +7 -7
  15. package/dist/android/JadxAnalysis.js +27 -32
  16. package/dist/android/JadxConfiguration.js +173 -125
  17. package/dist/android/JadxDoctor.js +11 -3
  18. package/dist/android/JadxFailure.js +154 -0
  19. package/dist/android/JadxInterruption.js +13 -0
  20. package/dist/android/JadxJavaProbe.js +246 -0
  21. package/dist/android/JadxMcpTransport.js +48 -15
  22. package/dist/android/JadxProtocol.js +29 -2
  23. package/dist/android/JadxProvider.js +171 -96
  24. package/dist/android/JadxRelease.js +5 -1
  25. package/dist/android/JadxSession.js +35 -14
  26. package/dist/apktool/ApktoolCommandCleanup.js +134 -0
  27. package/dist/apktool/ApktoolCommandOutput.js +22 -0
  28. package/dist/apktool/ApktoolConfiguration.js +162 -44
  29. package/dist/apktool/ApktoolDecodeOutput.js +29 -23
  30. package/dist/apktool/ApktoolDecodedInventory.js +52 -0
  31. package/dist/apktool/ApktoolProvider.js +254 -335
  32. package/dist/apktool/ApktoolStringTables.js +178 -0
  33. package/dist/apktool/ApktoolWorkspace.js +162 -0
  34. package/dist/application/AnalysisDocument.js +19 -4
  35. package/dist/application/AnalysisProvider.js +15 -1
  36. package/dist/application/AppBundleExecutable.js +11 -4
  37. package/dist/application/BinaryTargetResolver.js +9 -2
  38. package/dist/application/BrowserObservationService.js +54 -20
  39. package/dist/application/BrowserScenarioCaptureService.js +26 -6
  40. package/dist/application/CapabilityInventory.js +14 -8
  41. package/dist/application/ClaudeDesktopConfigLocation.js +5 -5
  42. package/dist/application/ClientConfigurationCleanup.js +73 -0
  43. package/dist/application/ClientConfigurationDocument.js +170 -128
  44. package/dist/application/ClientConfigurationPublication.js +167 -0
  45. package/dist/application/ClientRegistrationEnvironment.js +31 -1
  46. package/dist/application/ClientRegistrationIdentity.js +54 -39
  47. package/dist/application/ClientRegistrationStatus.js +123 -48
  48. package/dist/application/DirectAnalysis.js +15 -2
  49. package/dist/application/DirectAnalysisCleanup.js +5 -1
  50. package/dist/application/DirectAnalysisStatus.js +1 -1
  51. package/dist/application/Doctor.js +83 -9
  52. package/dist/application/DoctorDiagnostics.js +25 -4
  53. package/dist/application/DoctorProviderIds.js +7 -1
  54. package/dist/application/DshCordisPatch.js +1 -1
  55. package/dist/application/EnhancedTools.js +9 -21
  56. package/dist/application/HermesClientHome.js +20 -0
  57. package/dist/application/HermesConfigurationYaml.js +43 -3
  58. package/dist/application/HopperDownload.js +11 -3
  59. package/dist/application/HopperReleaseFeed.js +71 -0
  60. package/dist/application/InvestigationProviders.js +4 -3
  61. package/dist/application/JsonFiles.js +1 -1
  62. package/dist/application/LinuxHopper.js +96 -71
  63. package/dist/application/LinuxHopperPublisher.js +656 -0
  64. package/dist/application/MacHopper.js +182 -66
  65. package/dist/application/MipsElfMetadata.js +1 -1
  66. package/dist/application/MsixPackageStorage.js +13 -6
  67. package/dist/application/ProviderOperationExecution.js +13 -20
  68. package/dist/application/ReconstructionObligationCandidates.js +17 -2
  69. package/dist/application/ReconstructionObligationLedgerEvaluation.js +4 -0
  70. package/dist/application/ReconstructionObligationLedgerService.js +5 -3
  71. package/dist/application/ReconstructionObligationOriginalCases.js +8 -0
  72. package/dist/application/ReferenceSourceImportEntries.js +160 -18
  73. package/dist/application/ReferenceSourceImportPolicy.js +5 -3
  74. package/dist/application/ReferenceSourceVcsAdapter.js +3 -1
  75. package/dist/application/RegularFileRead.js +107 -88
  76. package/dist/application/Setup.js +23 -11
  77. package/dist/application/SetupClientConfiguration.js +155 -89
  78. package/dist/application/SetupClients.js +22 -13
  79. package/dist/application/SetupHost.js +90 -34
  80. package/dist/application/SetupInstallFailure.js +18 -3
  81. package/dist/application/SetupPlan.js +15 -5
  82. package/dist/application/SetupRecoveryBackup.js +40 -13
  83. package/dist/application/SetupRegistrationEnvironment.js +12 -0
  84. package/dist/application/SetupSkill.js +10 -30
  85. package/dist/application/SourceLimitations.js +35 -0
  86. package/dist/application/SupportedClients.js +4 -4
  87. package/dist/application/Uninstall.js +91 -36
  88. package/dist/application/UpdateCommandProgress.js +66 -0
  89. package/dist/application/UpdateMaintenance.js +7 -2
  90. package/dist/application/UpdateRuntime.js +60 -30
  91. package/dist/application/WebModuleTraceService.js +35 -22
  92. package/dist/application/WebNetworkCaptureService.js +8 -5
  93. package/dist/application/WebRuntimeService.js +41 -8
  94. package/dist/application/WebScriptExportService.js +6 -4
  95. package/dist/application/WebSourceLocationService.js +3 -4
  96. package/dist/application/WorkflowEvidence.js +11 -4
  97. package/dist/application/analysisView/AnalysisViewService.js +9 -52
  98. package/dist/application/android/AndroidAnalysisService.js +5 -4
  99. package/dist/application/android/AndroidSearchEvidenceSummary.js +6 -8
  100. package/dist/application/artifacts/ArtifactComparisonEvidence.js +32 -0
  101. package/dist/application/binary/AnalysisProviderEvaluation.js +14 -11
  102. package/dist/application/binary/AnalysisProviderRegistry.js +340 -50
  103. package/dist/application/binary/BinarySession.js +73 -34
  104. package/dist/application/binary/BinarySessionRecords.js +3 -0
  105. package/dist/application/binary/BinarySessionStatus.js +3 -4
  106. package/dist/application/binary/CompositeProvider.js +75 -30
  107. package/dist/application/binary/LazyAnalysisProvider.js +6 -68
  108. package/dist/application/binary/SessionProviderRouter.js +11 -2
  109. package/dist/application/binaryDiagnostics/BinaryLayoutService.js +3 -4
  110. package/dist/application/binaryDiagnostics/PeResourcesService.js +22 -5
  111. package/dist/application/binaryDiagnostics/RecordedCrashService.js +3 -4
  112. package/dist/application/captures/PacketCaptureService.js +3 -2
  113. package/dist/application/closeOwnedWebResources.js +32 -2
  114. package/dist/application/electron/ElectronFuseService.js +8 -43
  115. package/dist/application/evm/EvmInterfaceEvidence.js +11 -0
  116. package/dist/application/evm/EvmInterfaceService.js +4 -15
  117. package/dist/application/firmware/FirmwareAnalysisService.js +4 -3
  118. package/dist/application/go/GoBinaryService.js +4 -5
  119. package/dist/application/investigation/EvidenceLedger.js +3 -4
  120. package/dist/application/javascript/ElectronBoundaryGraphWindows.js +14 -2
  121. package/dist/application/javascript/ElectronEvidence.js +1 -2
  122. package/dist/application/javascript/ElectronObservationService.js +41 -7
  123. package/dist/application/javascript/JavaScriptApplicationEvidence.js +6 -0
  124. package/dist/application/javascript/JavaScriptArtifactAnalysis.js +35 -17
  125. package/dist/application/javascript/JavaScriptArtifactAnalysisTypes.js +30 -1
  126. package/dist/application/javascript/JavaScriptArtifactGraphContext.js +3 -2
  127. package/dist/application/javascript/JavaScriptArtifactGraphEvidence.js +3 -3
  128. package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +41 -11
  129. package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +18 -8
  130. package/dist/application/javascript/JavaScriptArtifactPathResolution.js +84 -24
  131. package/dist/application/javascript/JavaScriptArtifactReconstruction.js +15 -3
  132. package/dist/application/javascript/JavaScriptModuleRelationships.js +1 -1
  133. package/dist/application/javascript/JavaScriptRuntimeObservationEvidence.js +1 -2
  134. package/dist/application/javascript/JavaScriptRuntimeObservationService.js +33 -10
  135. package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +4 -5
  136. package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +103 -24
  137. package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +13 -4
  138. package/dist/application/javascript/JavaScriptSemanticGraphConstruction.js +23 -3
  139. package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +18 -5
  140. package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +4 -6
  141. package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +2 -3
  142. package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +2 -3
  143. package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +5 -8
  144. package/dist/application/native/NativeCallRoutes.js +40 -23
  145. package/dist/application/native/NativeUiActionTrace.js +8 -0
  146. package/dist/application/native/NativeValueTrace.js +8 -0
  147. package/dist/application/reverse/ReverseEngineeringService.js +2 -2
  148. package/dist/application/rust/RustBinaryService.js +6 -4
  149. package/dist/application/signals/SignalRecordingService.js +3 -2
  150. package/dist/application/wasm/WasmArtifactService.js +4 -5
  151. package/dist/artifacts/AnalysisCleanupLease.js +119 -0
  152. package/dist/artifacts/ArtifactFileOperation.js +150 -0
  153. package/dist/artifacts/ArtifactHash.js +2 -1
  154. package/dist/artifacts/ArtifactProvider.js +16 -5
  155. package/dist/artifacts/ArtifactReader.js +50 -4
  156. package/dist/artifacts/ArtifactResourceScope.js +80 -6
  157. package/dist/artifacts/AsarArtifactReader.js +12 -11
  158. package/dist/artifacts/AsarEntryStream.js +49 -17
  159. package/dist/artifacts/DirectoryArtifactReader.js +28 -7
  160. package/dist/artifacts/MachOSliceArtifactReader.js +70 -13
  161. package/dist/artifacts/NativeDmgArtifactReader.js +112 -13
  162. package/dist/artifacts/SafeOutputTree.js +5 -3
  163. package/dist/artifacts/SafeOutputTreeCreationFailure.js +1 -0
  164. package/dist/artifacts/SafeOutputTreeReadback.js +10 -16
  165. package/dist/artifacts/ZipArtifactReader.js +34 -14
  166. package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +3 -1
  167. package/dist/artifacts/apple/DylibFileAccess.js +106 -0
  168. package/dist/artifacts/apple/DylibResolutionReader.js +64 -155
  169. package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +52 -9
  170. package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +25 -24
  171. package/dist/artifacts/apple/KeyedArchiveReader.js +20 -11
  172. package/dist/artifacts/apple/MachoLoadCommandReader.js +17 -2
  173. package/dist/artifacts/apple/PlistNumberLiterals.js +104 -116
  174. package/dist/artifacts/extraction/ArtifactExtraction.js +15 -12
  175. package/dist/artifacts/inventory/ArtifactGraphConstruction.js +9 -11
  176. package/dist/artifacts/inventory/ArtifactInventory.js +2 -2
  177. package/dist/artifacts/inventory/classify.js +4 -2
  178. package/dist/artifacts/inventory/hashStableRootArtifact.js +14 -7
  179. package/dist/artifacts/inventory/scanCanonical.js +3 -4
  180. package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +3 -1
  181. package/dist/artifacts/readArtifactFileChunks.js +9 -0
  182. package/dist/artifacts/readStableArtifact.js +12 -34
  183. package/dist/browser/BrowserScenarioPartialObservation.js +14 -48
  184. package/dist/browser/CdpBrowserProvider.js +81 -30
  185. package/dist/browser/CdpCaptureDocuments.js +99 -131
  186. package/dist/browser/CdpCaptureDomSvg.js +31 -60
  187. package/dist/browser/CdpCaptureValues.js +12 -0
  188. package/dist/browser/CdpConnection.js +133 -27
  189. package/dist/browser/CdpElectronInspection.js +60 -60
  190. package/dist/browser/CdpElectronProvider.js +56 -4
  191. package/dist/browser/CdpElectronScriptEvents.js +4 -1
  192. package/dist/browser/CdpElectronScripts.js +2 -5
  193. package/dist/browser/CdpElectronWorkers.js +13 -2
  194. package/dist/browser/CdpPageCapture.js +2 -1
  195. package/dist/browser/CdpPageCaptureScripts.js +14 -10
  196. package/dist/browser/CdpPageCaptureWorkers.js +45 -14
  197. package/dist/browser/CdpSafeMetadata.js +23 -19
  198. package/dist/browser/CdpSnapshotNodes.js +103 -0
  199. package/dist/browser/CdpSnapshotStrings.js +0 -6
  200. package/dist/browser/CdpTargetSession.js +52 -10
  201. package/dist/browser/CdpTargetSessionOwner.js +198 -0
  202. package/dist/browser/ElectronCaptureCleanup.js +82 -0
  203. package/dist/browser/ElectronProcessCleanup.js +91 -0
  204. package/dist/browser/PlaywrightBrowserScenarioProvider.js +71 -16
  205. package/dist/browser/PlaywrightElectronActiveActions.js +53 -5
  206. package/dist/browser/PlaywrightElectronActiveFuses.js +86 -0
  207. package/dist/browser/PlaywrightElectronActiveProjection.js +5 -0
  208. package/dist/browser/PlaywrightElectronActiveProvider.js +140 -151
  209. package/dist/browser/PlaywrightExecutionBoundary.js +4 -2
  210. package/dist/browser/PlaywrightScenarioBrowser.js +236 -90
  211. package/dist/browser/PlaywrightScenarioEvents.js +135 -48
  212. package/dist/browser/PlaywrightScenarioServiceWorkers.js +121 -34
  213. package/dist/browser/PlaywrightScenarioSession.js +95 -22
  214. package/dist/browser/PlaywrightScenarioStorage.js +15 -7
  215. package/dist/browser/StructuredFieldToken.js +53 -0
  216. package/dist/browser/WebArtifactCleanup.js +53 -0
  217. package/dist/browser/WebSourceMapFetcher.js +19 -10
  218. package/dist/browser/assets/WebArtifactReads.js +6 -2
  219. package/dist/browser/assets/WebSourceLocationArtifacts.js +12 -3
  220. package/dist/browser/execution/CdpRuntimeSession.js +36 -7
  221. package/dist/browser/execution/CdpWebRuntimeProvider.js +22 -4
  222. package/dist/browser/history/CaptureFailures.js +7 -2
  223. package/dist/browser/history/HarCapture.js +42 -11
  224. package/dist/browser/history/SazMetadata.js +10 -47
  225. package/dist/browser/modules/NativeModuleResolver.js +108 -58
  226. package/dist/browser/modules/WebModuleArtifacts.js +12 -3
  227. package/dist/browser/network/PlaywrightNetworkContent.js +40 -17
  228. package/dist/browser/network/PlaywrightScenarioNetwork.js +182 -73
  229. package/dist/captures/TsharkCaptureProvider.js +13 -6
  230. package/dist/catalogIdentity.js +19 -14
  231. package/dist/cli/adbCommands.js +18 -19
  232. package/dist/cli/androidCommands.js +2 -14
  233. package/dist/cli/apktoolCommands.js +4 -14
  234. package/dist/cli/binaryDiagnosticsCommands.js +5 -5
  235. package/dist/cli/browserAdvancedCommands.js +11 -4
  236. package/dist/cli/browserCommands.js +21 -12
  237. package/dist/cli/captureCommands.js +4 -4
  238. package/dist/cli/cliResultOutput.js +175 -89
  239. package/dist/cli/coreBinaryCommands.js +4 -3
  240. package/dist/cli/cutterCommands.js +51 -13
  241. package/dist/cli/electronCommands.js +34 -13
  242. package/dist/cli/evmCommands.js +6 -15
  243. package/dist/cli/finishAnalysisCommand.js +10 -2
  244. package/dist/cli/firmwareCommands.js +6 -14
  245. package/dist/cli/flutterCommands.js +2 -18
  246. package/dist/cli/fridaCommands.js +8 -0
  247. package/dist/cli/goCommands.js +2 -2
  248. package/dist/cli/javascriptRecoveryCommands.js +14 -26
  249. package/dist/cli/jebCommands.js +2 -14
  250. package/dist/cli/options.js +6 -0
  251. package/dist/cli/pcapCommands.js +2 -20
  252. package/dist/cli/rustCommands.js +6 -7
  253. package/dist/cli/setupCommands.js +4 -3
  254. package/dist/cli/signalCommands.js +4 -4
  255. package/dist/cli/sqliteCommands.js +17 -44
  256. package/dist/cli/wasmCommands.js +7 -18
  257. package/dist/cli/webModuleCommands.js +19 -34
  258. package/dist/cli/webNetworkCaptureCommands.js +3 -2
  259. package/dist/cli/webRuntimeCommands.js +15 -6
  260. package/dist/cli/webSourceLocationCommands.js +14 -33
  261. package/dist/cli-runtime/AnalysisCleanupLease-CWfTGYKd.js +103 -0
  262. package/dist/cli-runtime/{AnalysisProvider-D0Us2OTk.js → AnalysisProvider-BGrYaMVo.js} +14 -3
  263. package/dist/cli-runtime/{AnalysisSnapshotCache-BXS0wRd2.js → AnalysisSnapshotCache-BjRlXeUS.js} +14 -13
  264. package/dist/cli-runtime/ArtifactFileOperation-Dg4BcoEM.js +122 -0
  265. package/dist/cli-runtime/{ArtifactReader-BXkffc1D.js → ArtifactReader-DMwm42bk.js} +29 -6
  266. package/dist/cli-runtime/ArtifactResourceScope-CokZGcII.js +175 -0
  267. package/dist/cli-runtime/{AsarHeader-CnzOzYEH.js → AsarHeader-BxwU17DJ.js} +1 -1
  268. package/dist/cli-runtime/{BinarySessionStatus-DnMxMk-r.js → BinarySessionStatus-DRhjr7Vb.js} +4 -3
  269. package/dist/cli-runtime/{BinaryTargetResolver-CVIJ_s1A.js → BinaryTargetResolver-tuCTjBlQ.js} +38 -108
  270. package/dist/cli-runtime/{BoundedFileBytes-BU30odTm.js → BoundedFileBytes-DRtiQNAQ.js} +7 -3
  271. package/dist/cli-runtime/{CdpTargetSession-DGX5pV9w.js → CdpTargetSession-CQ08KHbh.js} +318 -43
  272. package/dist/cli-runtime/ClientConfigPath-Dn-V_GUf.js +255 -0
  273. package/dist/cli-runtime/{ClientConfigurationDocument-ffQ9X0Se.js → ClientConfigurationDocument-C9T8MNGc.js} +206 -142
  274. package/dist/cli-runtime/{ClientRegistrationStatus-DszCyPEU.js → ClientRegistrationStatus-PnD29RTX.js} +112 -36
  275. package/dist/cli-runtime/{CurrentEntrypointPath-D5FRNdkq.js → CurrentEntrypointPath-m7QCIVN0.js} +1 -1
  276. package/dist/cli-runtime/{DirectAnalysis-BgvAtpN3.js → DirectAnalysis-C5NyUryV.js} +76 -23
  277. package/dist/cli-runtime/DirectoryArtifactReader-CokAJ8vo.js +448 -0
  278. package/dist/cli-runtime/{Doctor-DIpf_I7N.js → Doctor-DrkWsav4.js} +105 -25
  279. package/dist/cli-runtime/{ElectronFileScope-dpHm2nrS.js → ElectronFileScope-AP7VoVr7.js} +204 -149
  280. package/dist/cli-runtime/ElectronFuseFailures-DsjXR7Xp.js +609 -0
  281. package/dist/cli-runtime/{ExecFileOutput-BEQs-lDD.js → ExecFileOutput-D6KLYTve.js} +11 -9
  282. package/dist/cli-runtime/{InterfaceBuilderDecodeBudget-D4omRUe4.js → InterfaceBuilderDecodeBudget-CW1IO3dG.js} +40 -21
  283. package/dist/cli-runtime/{InventoryProjectionEvidence-DIsI4DJ6.js → InventoryProjectionEvidence-DTH5QAqL.js} +3 -3
  284. package/dist/cli-runtime/{InvestigationProviders-DoQRIHii.js → InvestigationProviders-CFh4a64d.js} +3 -2
  285. package/dist/cli-runtime/{JavaScriptApplicationEvidenceGraph-D5aI_FSJ.js → JavaScriptApplicationEvidenceGraph-gOmPB2L6.js} +6 -6
  286. package/dist/cli-runtime/{JavaScriptApplicationWorkflowEvidence-Bz4-V0Ct.js → JavaScriptApplicationWorkflowEvidence-WZgtK_Ok.js} +2 -2
  287. package/dist/cli-runtime/JebMcpEndpoint-BEalGZh9.js +710 -0
  288. package/dist/cli-runtime/{JsonFiles-DQa1PRKy.js → JsonFiles-uvd6ZyQi.js} +10 -118
  289. package/dist/cli-runtime/KunaInstallation-P0j3x851.js +1781 -0
  290. package/dist/cli-runtime/MacHopperPaths-bGzqjF1Z.js +34 -0
  291. package/dist/cli-runtime/{MachoLoadCommandReader-C7e074Ze.js → MachoLoadCommandReader-CZm6N5vF.js} +12 -192
  292. package/dist/cli-runtime/{ManagedSnapshot-rqyBHcdL.js → ManagedSnapshot-CPE9C3OD.js} +406 -110
  293. package/dist/cli-runtime/OwnedCommandCleanup-BN_V6Erc.js +187 -0
  294. package/dist/cli-runtime/OwnedRegularFile-D1f5nUCx.js +256 -0
  295. package/dist/cli-runtime/OwnedStagedOutput-D31dOozz.js +126 -0
  296. package/dist/cli-runtime/{PrivateRuntimeRoot-DAy0PiBM.js → PrivateRuntimeRoot-Cd23u6jd.js} +39 -6
  297. package/dist/cli-runtime/ProcessOwnership-CtrNr6ee.js +545 -0
  298. package/dist/cli-runtime/{ProcessOwnership-DXC5-UWt.js → ProcessOwnershipObservation-C006iCtZ.js} +149 -607
  299. package/dist/cli-runtime/{ProviderDeadline-8m2pFRDc.js → ProviderDeadline-rSuH4Pm8.js} +27 -1
  300. package/dist/cli-runtime/ProviderOperationExecution-CmU-XrQr.js +38 -0
  301. package/dist/cli-runtime/{snapshotEnvironment-D_tWyOub.js → ProviderProcess-D87A7ctp.js} +117 -160
  302. package/dist/cli-runtime/RegularFileRead-mbgGYtxe.js +125 -0
  303. package/dist/cli-runtime/{SafeOutputTree-D6U15GXd.js → SafeOutputTree-i904hd_2.js} +21 -20
  304. package/dist/cli-runtime/{SetupHost-FkYWswsq.js → SetupHost-CMPmPraB.js} +365 -195
  305. package/dist/cli-runtime/SharedStartupAttempt-BxKyf3Uv.js +1424 -0
  306. package/dist/cli-runtime/StableFileHash-Ame_h3lY.js +61 -0
  307. package/dist/cli-runtime/{SupportedClients-DaX6Lt2d.js → SupportedClients-DMafjitv.js} +89 -72
  308. package/dist/cli-runtime/{Update-CbTC_eg1.js → Update-DAsASWlE.js} +1 -1
  309. package/dist/cli-runtime/{AbortablePromise-BVBemxbD.js → WindowsBatchCommand-Cx9kaVNf.js} +2 -28
  310. package/dist/cli-runtime/WindowsNativeLoader-BqyZO0ZD.js +142 -0
  311. package/dist/cli-runtime/{ZipArtifactReader-B8ZgNe4D.js → ZipArtifactReader-Jed69LEL.js} +20 -16
  312. package/dist/cli-runtime/{analysisErrorCleanup-Do6YeeoD.js → analysisErrorCleanup-COdAmDsb.js} +4 -3
  313. package/dist/cli-runtime/{appleArchiveFormat-tVoI2ykA.js → appleArchiveFormat-Bb3G5CCI.js} +13 -7
  314. package/dist/cli-runtime/{application__DirectAnalysisStatus-DpOejOf0.js → application__DirectAnalysisStatus-F74bu9oy.js} +10 -10
  315. package/dist/cli-runtime/{application__EnhancedTools-oFE2bOjs.js → application__EnhancedTools-Bg51b0Yp.js} +84 -51
  316. package/dist/cli-runtime/{application__FunctionAnalysisEvidence-B6osuhvW.js → application__FunctionAnalysisEvidence-DBWIaYCh.js} +3 -3
  317. package/dist/cli-runtime/{application__ReconstructionCoverageService-DN3wTFQj.js → application__ReconstructionCoverageService-AEPNpZqJ.js} +3 -3
  318. package/dist/cli-runtime/{application__ReconstructionObligationLedgerService-CKcTppX9.js → application__ReconstructionObligationLedgerService-Cl9cPEZf.js} +22 -9
  319. package/dist/cli-runtime/{application__Setup-XpMaRNjy.js → application__Setup-DwQzEewK.js} +30 -18
  320. package/dist/cli-runtime/{application__Uninstall-_23pU2yB.js → application__Uninstall-BOf9oyvQ.js} +78 -37
  321. package/dist/cli-runtime/{application__UpdateRuntime-DPvY8ohd.js → application__UpdateRuntime-CzWkRJHa.js} +119 -29
  322. package/dist/cli-runtime/{application__android__AndroidApplicationService-CFgIFPM4.js → application__android__AndroidApplicationService-shW_aKlj.js} +3 -3
  323. package/dist/cli-runtime/{application__apple__AppleApplicationService-Db6QCsun.js → application__apple__AppleApplicationService-DIv6d3wB.js} +3 -3
  324. package/dist/cli-runtime/{application__harmony__HarmonyApplicationService-CFjocHoK.js → application__harmony__HarmonyApplicationService-OIUFVQFV.js} +3 -3
  325. package/dist/cli-runtime/{application__javascript__ElectronActiveObservationService-CmVDUI_Z.js → application__javascript__ElectronActiveObservationService-wvCh72hK.js} +3 -3
  326. package/dist/cli-runtime/application__javascript__ElectronObservationService-SydXPCwM.js +88 -0
  327. package/dist/cli-runtime/{application__javascript__JavaScriptApplicationService-CCkp8KBh.js → application__javascript__JavaScriptApplicationService-o0uEsjEc.js} +1120 -316
  328. package/dist/cli-runtime/{application__javascript__JavaScriptApplicationWorkflowService-lPy0tzr3.js → application__javascript__JavaScriptApplicationWorkflowService-BAheG_71.js} +51 -44
  329. package/dist/cli-runtime/{application__javascript__JavaScriptRuntimeReconciliationService-DWleA8K9.js → application__javascript__JavaScriptRuntimeReconciliationService-Cnn4GP8q.js} +5 -5
  330. package/dist/cli-runtime/{application__javascript__JavaScriptSemanticTraceService-DkALH4rL.js → application__javascript__JavaScriptSemanticTraceService-CmvLfV1A.js} +6 -6
  331. package/dist/cli-runtime/{artifacts__ArtifactProvider-zXI0QjSL.js → artifacts__ArtifactProvider-wx2K0F2I.js} +377 -359
  332. package/dist/cli-runtime/{binary-BVOr2mgE.js → binary-CWVNJhAC.js} +8561 -3159
  333. package/dist/cli-runtime/{catalogIdentity-DLoXgfIR.js → catalogIdentity-DAEEsOdX.js} +260 -81
  334. package/dist/cli-runtime/cli.js +6177 -3556
  335. package/dist/cli-runtime/{cliOutput-BC1BdAcB.js → cliOutput-CgSuw782.js} +47 -6
  336. package/dist/cli-runtime/cliOutput.js +2 -2
  337. package/dist/cli-runtime/cliResultOutput-10sd6xGx.js +1453 -0
  338. package/dist/cli-runtime/cliResultOutput.js +2 -1
  339. package/dist/cli-runtime/{composition__browserScenario-DHXC1a8n.js → composition__browserScenario-BtPb1c1y.js} +843 -356
  340. package/dist/cli-runtime/{composition__electronObservation-GecK2EID.js → composition__electronObservation-Bk8R6DJo.js} +128 -69
  341. package/dist/cli-runtime/{composition__electronScenario-CEZnVrAL.js → composition__electronScenario-BVF0qStH.js} +398 -135
  342. package/dist/cli-runtime/{cutterToolContracts-TZH9EHr5.js → cutterToolContracts-BQtG_Nzo.js} +195 -62
  343. package/dist/cli-runtime/{doctorRuntime-BE5ZX8it.js → doctorRuntime-B__SIpm-.js} +241 -21
  344. package/dist/cli-runtime/{dotnet__ManagedStaticProvider-C8_yZCDc.js → dotnet__ManagedStaticProvider-DO5Yzcp4.js} +1 -1
  345. package/dist/cli-runtime/{errorSchemas-CTRmvMl3.js → errorSchemas-Ixz_q7qt.js} +58 -4
  346. package/dist/cli-runtime/homeDirectory-DC_DeJIg.js +18 -0
  347. package/dist/cli-runtime/{javascriptApplicationAnalysis-HgMzVMQw.js → javascriptApplicationAnalysis-Dk6yBV8g.js} +688 -668
  348. package/dist/cli-runtime/{javascriptExportReturnShapeProjection-Dg00g35t.js → javascriptExportReturnShapeProjection-CObOIiQ6.js} +3 -3
  349. package/dist/cli-runtime/{javascriptExportShapeComparisonSchemas-BYnoIqIk.js → javascriptExportShapeComparisonSchemas-DpwuBenh.js} +5 -3
  350. package/dist/cli-runtime/{javascriptRuntimeReconciliation-DNjDoL3S.js → javascriptRuntimeReconciliation-C6ZgWMys.js} +61 -59
  351. package/dist/cli-runtime/{javascriptRuntimeReconciliationSchemas-BWpGWNcI.js → javascriptRuntimeReconciliationSchemas-D6tZKUQs.js} +2 -2
  352. package/dist/cli-runtime/{javascriptSemanticTraceSchemas-BTCNcvbc.js → javascriptSemanticTraceSchemas-C7m0b6_w.js} +3 -3
  353. package/dist/cli-runtime/{lipo-DSWP6fv-.js → lipo-DPQ6qurH.js} +9 -11
  354. package/dist/cli-runtime/{logger-CQQCI4a2.js → logger-BuDJ9xxO.js} +2 -2
  355. package/dist/cli-runtime/{machoContainer-C8BIkkq3.js → machoContainer-Cy98bkFm.js} +180 -0
  356. package/dist/cli-runtime/{managedApplicationGraph-B08jb3jq.js → managedApplicationGraph-BazVqpJv.js} +16 -10
  357. package/dist/cli-runtime/{managedToolContracts-D60QmIYj.js → managedToolContracts-BuFkMBH5.js} +2 -2
  358. package/dist/cli-runtime/mcpDoctor.js +8 -6
  359. package/dist/cli-runtime/mcpStartupPolicy-imCbM3qo.js +28 -0
  360. package/dist/cli-runtime/{native__NativeMacOSProvider-YBTvUeJO.js → native__NativeMacOSProvider-DTcRhuGA.js} +1384 -757
  361. package/dist/cli-runtime/{officialToolContracts-CCFF0an9.js → officialToolContracts-CzzVLx8I.js} +74 -53
  362. package/dist/cli-runtime/peMachine-B9ggfSJJ.js +95 -0
  363. package/dist/cli-runtime/propertyListKeys-D5dSASEy.js +355 -0
  364. package/dist/cli-runtime/{providerCleanupError-Ceq8f0wK.js → providerCleanupError-BhsJyAhk.js} +3 -5
  365. package/dist/cli-runtime/readArtifactFileChunks-BbTL_PtB.js +129 -0
  366. package/dist/cli-runtime/{reconstructionObligationLedgerSchemas-Bao0xMr-.js → reconstructionObligationLedgerSchemas-Bi6sect1.js} +6329 -3651
  367. package/dist/cli-runtime/{scanCanonical-KP4T9jSl.js → scanCanonical-CcDFUr-w.js} +233 -363
  368. package/dist/cli-runtime/snapshotEnvironment-Yvx5qwsl.js +196 -0
  369. package/dist/cli-runtime/{toolContracts-D2FOG_Nb.js → toolContracts-CJzEyZ38.js} +126 -52
  370. package/dist/cli-runtime/{toolOutputSchemaGroups-DRiYs1je.js → toolOutputSchemaGroups-BqdSzySu.js} +768 -589
  371. package/dist/cli-runtime/{workflowInputError-n8Oo-bLA.js → workflowInputError-BP8z9Wxl.js} +2 -2
  372. package/dist/cli.js +10 -0
  373. package/dist/cliBrowserScenarioCommands.js +2 -3
  374. package/dist/cliLogging.js +22 -7
  375. package/dist/cliObservationOptions.js +3 -0
  376. package/dist/cliOutput.js +68 -3
  377. package/dist/composition/binary.js +15 -2
  378. package/dist/composition/directAnalysis.js +8 -0
  379. package/dist/composition/javascriptAnalysisWorkerProcess.js +4 -5
  380. package/dist/composition/jeb.js +32 -21
  381. package/dist/config/environment.js +36 -2
  382. package/dist/config/mcpInputSchemaProfile.js +1 -1
  383. package/dist/config/parseConfig.js +7 -3
  384. package/dist/contracts/adb/adbToolContracts.js +2 -2
  385. package/dist/contracts/analysisViewApiSurfaceExample.js +4 -4
  386. package/dist/contracts/analysisViewToolContracts.js +42 -1
  387. package/dist/contracts/android/androidToolContracts.js +1 -1
  388. package/dist/contracts/apktool/apktoolToolContracts.js +5 -1
  389. package/dist/contracts/artifactComparisonExample.js +18 -14
  390. package/dist/contracts/artifactToolContracts.js +2 -1
  391. package/dist/contracts/browserScenarioToolContracts.js +1 -1
  392. package/dist/contracts/browserToolContracts.js +12 -1
  393. package/dist/contracts/compactInputSchema.js +13 -6
  394. package/dist/contracts/fridaToolContracts.js +5 -4
  395. package/dist/contracts/gdbToolContracts.js +2 -3
  396. package/dist/contracts/inputSchemaPresentation.js +173 -79
  397. package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +1 -0
  398. package/dist/contracts/javascript/javascriptRuntimeReconciliationExample.js +1 -0
  399. package/dist/contracts/jsonSchemaKeywords.js +29 -0
  400. package/dist/contracts/managed/managedWorkflowExamples.js +3 -0
  401. package/dist/contracts/managed/managedWorkflowToolContracts.js +1 -1
  402. package/dist/contracts/mobileApplicationGraphExamples.js +15 -12
  403. package/dist/contracts/officialToolContracts.js +2 -2
  404. package/dist/contracts/rizinDebugToolContracts.js +3 -2
  405. package/dist/contracts/sessionToolContracts.js +3 -3
  406. package/dist/contracts/toolEffects.js +6 -2
  407. package/dist/contracts/toolOutputSchemaGroups.js +7 -4
  408. package/dist/contracts/toolOutputSchemaPrimitives.js +7 -0
  409. package/dist/contracts/toolSchemaMetadata.js +99 -27
  410. package/dist/cutter/CutterBridgeClient.js +206 -67
  411. package/dist/cutter/CutterBridgeService.js +52 -4
  412. package/dist/doctorRuntime.js +25 -4
  413. package/dist/domain/adb/adbDeviceAnalysis.js +19 -1
  414. package/dist/domain/analysisErrorBase.js +59 -2
  415. package/dist/domain/analysisErrorCleanup.js +3 -1
  416. package/dist/domain/analysisErrorCore.js +13 -0
  417. package/dist/domain/analysisErrorPresentation.js +23 -4
  418. package/dist/domain/analysisErrorProjection.js +44 -28
  419. package/dist/domain/analysisSearch.js +26 -0
  420. package/dist/domain/analysisSnapshot.js +11 -11
  421. package/dist/domain/analysisView/WebNetworkApiSurfaceAccumulator.js +4 -65
  422. package/dist/domain/analysisView/analysisView.js +25 -0
  423. package/dist/domain/analysisView/analysisViewDataAdmission.js +86 -0
  424. package/dist/domain/analysisView/artifactInventoryView.js +4 -18
  425. package/dist/domain/analysisView/javascriptApplicationCoverage.js +27 -0
  426. package/dist/domain/analysisView/javascriptApplicationView.js +100 -27
  427. package/dist/domain/analysisView/javascriptFactsView.js +92 -0
  428. package/dist/domain/analysisView/javascriptModuleReferences.js +37 -0
  429. package/dist/domain/analysisView/managedMemberView.js +6 -0
  430. package/dist/domain/android/androidApplication.js +8 -7
  431. package/dist/domain/apktool/apktoolResourceAnalysis.js +52 -2
  432. package/dist/domain/apple/appleApplication.js +41 -60
  433. package/dist/domain/apple/appleBundleAnatomy.js +56 -68
  434. package/dist/domain/apple/dylibResolution.js +5 -1
  435. package/dist/domain/apple/interfaceBuilderGraph.js +29 -8
  436. package/dist/domain/apple/interfaceBuilderKeyedArchive.js +11 -4
  437. package/dist/domain/apple/jvmClassFile.js +226 -0
  438. package/dist/domain/apple/keyedArchive.js +39 -17
  439. package/dist/domain/apple/machoContainer.js +3 -0
  440. package/dist/domain/apple/plistNumbers.js +67 -5
  441. package/dist/domain/apple/plistValue.js +89 -18
  442. package/dist/domain/artifactComparison.js +7 -5
  443. package/dist/domain/artifactGraph.js +4 -12
  444. package/dist/domain/artifactInspection.js +6 -17
  445. package/dist/domain/artifactInventoryEvidence.js +68 -60
  446. package/dist/domain/binaryTarget.js +11 -26
  447. package/dist/domain/binaryTargetTypes.js +10 -0
  448. package/dist/domain/browserNetworkEvidence.js +20 -3
  449. package/dist/domain/browserObservation.js +5 -28
  450. package/dist/domain/browserObservationError.js +4 -4
  451. package/dist/domain/browserScenarioCapture.js +11 -2
  452. package/dist/domain/browserScenarioCaptureLimits.js +34 -0
  453. package/dist/domain/browserScenarioCaptureValues.js +50 -0
  454. package/dist/domain/browserScenarioDiffEvidence.js +1 -3
  455. package/dist/domain/browserScenarioValues.js +5 -1
  456. package/dist/domain/captures/packetCapture.js +2 -1
  457. package/dist/domain/dosMz.js +14 -5
  458. package/dist/domain/electron/electronFuseEvidence.js +42 -0
  459. package/dist/domain/elfFixedHeader.js +24 -0
  460. package/dist/domain/evidence.js +7 -6
  461. package/dist/domain/evidenceBundle.js +9 -2
  462. package/dist/domain/explicitSensitiveFailure.js +3 -0
  463. package/dist/domain/fileSnapshotObservation.js +25 -0
  464. package/dist/domain/fixedTupleSchema.js +9 -0
  465. package/dist/domain/functionCallCoverage.js +6 -6
  466. package/dist/domain/functionComparisonDimensions.js +38 -11
  467. package/dist/domain/functionComparisonNormalization.js +17 -9
  468. package/dist/domain/functionDossierEvidence.js +4 -3
  469. package/dist/domain/harmony/harmonyApplication.js +8 -8
  470. package/dist/domain/hopperErrors.js +4 -2
  471. package/dist/domain/hopperValues.js +27 -4
  472. package/dist/domain/javascript/electronActiveObservation.js +1 -0
  473. package/dist/domain/javascript/electronStaticAnalysisBrowser.js +80 -20
  474. package/dist/domain/javascript/electronStaticAnalysisValues.js +0 -20
  475. package/dist/domain/javascript/electronStaticOptionObjects.js +45 -0
  476. package/dist/domain/javascript/electronWrappedCallPaths.js +70 -17
  477. package/dist/domain/javascript/javascriptAnalysisResourceControls.js +20 -4
  478. package/dist/domain/javascript/javascriptApplicationAnalysis.js +4 -0
  479. package/dist/domain/javascript/javascriptApplicationChangeGraph.js +3 -0
  480. package/dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js +3 -1
  481. package/dist/domain/javascript/javascriptApplicationVersionItems.js +49 -21
  482. package/dist/domain/javascript/javascriptAstFingerprint.js +41 -10
  483. package/dist/domain/javascript/javascriptAstValues.js +83 -5
  484. package/dist/domain/javascript/javascriptBundledRequireOrigin.js +23 -36
  485. package/dist/domain/javascript/javascriptCommonJsExportReceivers.js +231 -0
  486. package/dist/domain/javascript/javascriptElectronMemberWrites.js +14 -4
  487. package/dist/domain/javascript/javascriptFeatureSeed.js +1 -1
  488. package/dist/domain/javascript/javascriptGraphqlOperations.js +382 -0
  489. package/dist/domain/javascript/javascriptModuleDeclaration.js +20 -0
  490. package/dist/domain/javascript/javascriptNativeHandoff.js +7 -11
  491. package/dist/domain/javascript/javascriptRpcEndpoints.js +7 -171
  492. package/dist/domain/javascript/javascriptRuntimeLoadState.js +9 -4
  493. package/dist/domain/javascript/javascriptRuntimeReconciliationCaptureParsing.js +35 -12
  494. package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +50 -45
  495. package/dist/domain/javascript/javascriptSemanticAmbientWrites.js +284 -24
  496. package/dist/domain/javascript/javascriptSemanticAnalysis.js +452 -182
  497. package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +37 -20
  498. package/dist/domain/javascript/javascriptSemanticCallResolution.js +55 -27
  499. package/dist/domain/javascript/javascriptSemanticCalls.js +4 -4
  500. package/dist/domain/javascript/javascriptSemanticChildProcesses.js +134 -50
  501. package/dist/domain/javascript/javascriptSemanticCoverage.js +5 -1
  502. package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +7 -13
  503. package/dist/domain/javascript/javascriptSemanticDataEffects.js +33 -10
  504. package/dist/domain/javascript/javascriptSemanticDerivedAnalysis.js +1 -1
  505. package/dist/domain/javascript/javascriptSemanticEvaluationOrder.js +126 -0
  506. package/dist/domain/javascript/javascriptSemanticExpressionShapes.js +111 -0
  507. package/dist/domain/javascript/javascriptSemanticGetterQueries.js +147 -0
  508. package/dist/domain/javascript/javascriptSemanticGetterResults.js +264 -0
  509. package/dist/domain/javascript/javascriptSemanticGraph.js +18 -1
  510. package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +13 -0
  511. package/dist/domain/javascript/javascriptSemanticIterationSources.js +3 -2
  512. package/dist/domain/javascript/javascriptSemanticMapOperations.js +51 -0
  513. package/dist/domain/javascript/javascriptSemanticMemberMutations.js +215 -81
  514. package/dist/domain/javascript/javascriptSemanticMutationInitializers.js +395 -118
  515. package/dist/domain/javascript/javascriptSemanticObjectReferences.js +241 -328
  516. package/dist/domain/javascript/javascriptSemanticObjects.js +33 -27
  517. package/dist/domain/javascript/javascriptSemanticOpaqueEffects.js +163 -0
  518. package/dist/domain/javascript/javascriptSemanticPrimitives.js +11 -1
  519. package/dist/domain/javascript/javascriptSemanticProjection.js +44 -67
  520. package/dist/domain/javascript/javascriptSemanticQueryIdentity.js +2 -1
  521. package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +1 -1
  522. package/dist/domain/javascript/javascriptSemanticRequireOrigin.js +45 -7
  523. package/dist/domain/javascript/javascriptSemanticResourceLimits.js +3 -19
  524. package/dist/domain/javascript/javascriptSemanticResources.js +27 -4
  525. package/dist/domain/javascript/javascriptSemanticReturnedReferences.js +78 -37
  526. package/dist/domain/javascript/javascriptSemanticReturns.js +2 -2
  527. package/dist/domain/javascript/javascriptSemanticState.js +191 -42
  528. package/dist/domain/javascript/javascriptSemanticValues.js +167 -41
  529. package/dist/domain/javascript/javascriptSourceParser.js +54 -9
  530. package/dist/domain/javascript/javascriptStaticAnalysis.js +24 -13
  531. package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +276 -16
  532. package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +33 -25
  533. package/dist/domain/javascript/javascriptStaticAnalysisState.js +3 -0
  534. package/dist/domain/javascript/javascriptStaticAnalysisTypes.js +1 -1
  535. package/dist/domain/javascript/javascriptSymbolicBindings.js +424 -142
  536. package/dist/domain/javascript/javascriptSymbolicControlFlow.js +4 -0
  537. package/dist/domain/javascript/javascriptSymbolicValues.js +12 -1
  538. package/dist/domain/javascript/sourceToBundleSignals.js +3 -0
  539. package/dist/domain/managed/managedApplicationGraphNodes.js +14 -9
  540. package/dist/domain/managed/managedArtifact.js +26 -0
  541. package/dist/domain/managed/managedMemberComparison.js +3 -0
  542. package/dist/domain/managed/managedMemberComparisonCoverage.js +14 -1
  543. package/dist/domain/managed/managedMemberComparisonItems.js +124 -52
  544. package/dist/domain/managed/managedMemberComparisonMatch.js +76 -72
  545. package/dist/domain/managed/managedMemberSignatureIdentity.js +40 -0
  546. package/dist/domain/managed/managedNativeVerificationMatch.js +5 -5
  547. package/dist/domain/managed/managedNativeVerificationSchemas.js +2 -2
  548. package/dist/domain/mobileApplicationGraphProjection.js +33 -18
  549. package/dist/domain/native/bytePattern.js +21 -0
  550. package/dist/domain/native/nativeAotPe.js +29 -2
  551. package/dist/domain/native/nativeAotSnapshotObservation.js +18 -0
  552. package/dist/domain/native/nativeCallPartialObservation.js +14 -12
  553. package/dist/domain/native/nativeLoadImage.js +13 -0
  554. package/dist/domain/native/objcSwiftMetadata.js +15 -8
  555. package/dist/domain/native/peResources.js +6 -2
  556. package/dist/domain/peMachine.js +2 -0
  557. package/dist/domain/process/processComparison.js +3 -3
  558. package/dist/domain/process/processTraceDimensionProjection.js +1 -1
  559. package/dist/domain/process/processTraceEvaluation.js +65 -24
  560. package/dist/domain/propertyListKeys.js +84 -69
  561. package/dist/domain/propertyListXml.js +149 -0
  562. package/dist/domain/providerAdapterError.js +2 -0
  563. package/dist/domain/providerCleanupError.js +2 -4
  564. package/dist/domain/rawBinary.js +11 -2
  565. package/dist/domain/reconstructionCoverage.js +35 -23
  566. package/dist/domain/reconstructionCoverageEvaluation.js +36 -36
  567. package/dist/domain/reconstructionCoverageEvidence.js +26 -0
  568. package/dist/domain/reconstructionVerification.js +40 -26
  569. package/dist/domain/referenceSourceImportParsing.js +4 -0
  570. package/dist/domain/referenceSourcePathIdentity.js +2 -0
  571. package/dist/domain/referenceSourceRequireBindings.js +40 -101
  572. package/dist/domain/relationshipCoverage.js +4 -5
  573. package/dist/domain/sqlite/sqliteDatabase.js +2 -1
  574. package/dist/domain/symbolAnalysis.js +9 -8
  575. package/dist/domain/webBundleAnalyzerInspection.js +65 -25
  576. package/dist/domain/webCaptureDiff.js +124 -41
  577. package/dist/domain/webInventory.js +28 -14
  578. package/dist/domain/webModuleTrace.js +22 -0
  579. package/dist/domain/webScriptExportError.js +2 -3
  580. package/dist/domain/xmlDocument.js +41 -0
  581. package/dist/domain/zipPackageFormat.js +0 -4
  582. package/dist/dotnet/ManagedArtifactInspector.js +2 -4
  583. package/dist/dotnet/ManagedDecodeBudget.js +21 -1
  584. package/dist/dotnet/ManagedMemberInspector.js +31 -6
  585. package/dist/dotnet/ManagedMemberInspectorCore.js +63 -12
  586. package/dist/dotnet/ManagedMemberRows.js +8 -8
  587. package/dist/dotnet/ManagedMetadataHeaps.js +0 -1
  588. package/dist/dotnet/ManagedMetadataLayout.js +17 -15
  589. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +20 -19
  590. package/dist/dotnet/ManagedNativeBoundaryInspector.js +7 -8
  591. package/dist/dotnet/ManagedPeReader.js +5 -0
  592. package/dist/dotnet/ManagedSnapshot.js +25 -20
  593. package/dist/dotnet/ManagedTypeNameDigests.js +177 -0
  594. package/dist/dotnet/ManagedTypeNames.js +6 -46
  595. package/dist/dotnet/ManagedTypeNesting.js +25 -0
  596. package/dist/dotnet/ManagedTypeReferences.js +94 -0
  597. package/dist/electron/ElectronFuseFailures.js +105 -0
  598. package/dist/electron/ElectronFusePath.js +4 -3
  599. package/dist/electron/ElectronFuseProvider.js +67 -92
  600. package/dist/electron/ElectronFuseReader.js +46 -30
  601. package/dist/evm/EvmoleFailures.js +1 -0
  602. package/dist/evm/EvmoleInterfaceProvider.js +13 -16
  603. package/dist/filesystem/OwnedRegularFile.js +116 -0
  604. package/dist/filesystem/OwnedStagedOutput.js +28 -11
  605. package/dist/filesystem/RegularFile.js +20 -8
  606. package/dist/filesystem/StableFileHash.js +56 -38
  607. package/dist/filesystem/callerPath.js +26 -0
  608. package/dist/filesystem/readFileHandleChunks.js +55 -5
  609. package/dist/filesystem/readStableFileBytes.js +85 -0
  610. package/dist/firmware/FirmwareCommand.js +13 -7
  611. package/dist/firmware/FirmwareFailures.js +56 -0
  612. package/dist/firmware/FirmwareFiles.js +128 -98
  613. package/dist/firmware/FirmwareProvider.js +120 -65
  614. package/dist/firmware/FirmwarePublication.js +26 -11
  615. package/dist/flutter/DartElf.js +27 -0
  616. package/dist/flutter/FlutterBuildProvider.js +44 -4
  617. package/dist/gdb/GdbSessionManager.js +202 -14
  618. package/dist/generatedPackageMetadata.js +1 -1
  619. package/dist/ghidra/GhidraAnalysisProfile.js +24 -10
  620. package/dist/ghidra/GhidraAnalysisSeeds.js +39 -55
  621. package/dist/ghidra/GhidraBridgeSources.js +12 -0
  622. package/dist/ghidra/GhidraClient.js +362 -148
  623. package/dist/ghidra/GhidraClientStartup.js +5 -3
  624. package/dist/ghidra/GhidraClientWire.js +5 -2
  625. package/dist/ghidra/GhidraDiagnostics.js +16 -5
  626. package/dist/ghidra/GhidraDoctor.js +45 -14
  627. package/dist/ghidra/GhidraDosSnapshot.js +83 -0
  628. package/dist/ghidra/GhidraExecutableHeader.js +54 -0
  629. package/dist/ghidra/GhidraFileArtifacts.js +93 -0
  630. package/dist/ghidra/GhidraFunctionValues.js +1 -0
  631. package/dist/ghidra/GhidraInstallation.js +143 -142
  632. package/dist/ghidra/GhidraInstallationPolicy.js +20 -79
  633. package/dist/ghidra/GhidraInstallationProperties.js +57 -0
  634. package/dist/ghidra/GhidraInventoryValues.js +22 -6
  635. package/dist/ghidra/GhidraJavaLaunch.js +11 -4
  636. package/dist/ghidra/GhidraJavaProbe.js +267 -0
  637. package/dist/ghidra/GhidraJavaProperties.js +9 -7
  638. package/dist/ghidra/GhidraLanguageCatalog.js +12 -7
  639. package/dist/ghidra/GhidraLauncher.js +128 -65
  640. package/dist/ghidra/GhidraLoadImageAttest.js +75 -78
  641. package/dist/ghidra/GhidraLoadImageValues.js +39 -29
  642. package/dist/ghidra/GhidraMipsProfile.js +13 -5
  643. package/dist/ghidra/GhidraNativeAotSnapshotOwner.js +221 -0
  644. package/dist/ghidra/GhidraPeProfile.js +88 -18
  645. package/dist/ghidra/GhidraProvider.js +219 -32
  646. package/dist/ghidra/GhidraProviderCapabilities.js +17 -4
  647. package/dist/ghidra/GhidraProviderClient.js +199 -239
  648. package/dist/ghidra/GhidraPspExtension.js +104 -34
  649. package/dist/ghidra/GhidraPspProfile.js +4 -1
  650. package/dist/ghidra/GhidraRawBinaryLanguage.js +13 -4
  651. package/dist/ghidra/GhidraReleasePolicy.js +93 -0
  652. package/dist/ghidra/GhidraRequestQueue.js +64 -40
  653. package/dist/ghidra/GhidraSessionError.js +152 -19
  654. package/dist/ghidra/GhidraSessionValues.js +13 -3
  655. package/dist/ghidra/GhidraSocketConnection.js +25 -11
  656. package/dist/ghidra/GhidraTargetSnapshot.js +67 -50
  657. package/dist/ghidra/GhidraTransport.js +86 -63
  658. package/dist/ghidra/extensions/GhidraExtensions.js +30 -45
  659. package/dist/go/GoBinaryProvider.js +89 -60
  660. package/dist/go/GoElfImage.js +3 -3
  661. package/dist/hopper/BridgeLauncher.js +43 -4
  662. package/dist/hopper/HopperAnalysisProfile.js +4 -2
  663. package/dist/hopper/HopperCleanup.js +14 -1
  664. package/dist/hopper/HopperClient.js +135 -63
  665. package/dist/hopper/HopperProvider.js +4 -7
  666. package/dist/hopper/HopperProviderCapabilities.js +2 -1
  667. package/dist/hopper/HopperRegexSearch.js +21 -60
  668. package/dist/ida/IdaBusyHealth.js +36 -2
  669. package/dist/ida/IdaMcpConnection.js +17 -11
  670. package/dist/ida/IdaNativeProtocol.js +1 -9
  671. package/dist/ida/IdaOperationRunner.js +8 -26
  672. package/dist/ida/IdaProtocolValues.js +2 -1
  673. package/dist/ida/IdaProvider.js +18 -2
  674. package/dist/ida/IdaSessionClient.js +54 -12
  675. package/dist/inspector/V8InspectorCaptureProjection.js +7 -0
  676. package/dist/inspector/V8InspectorProvider.js +2 -0
  677. package/dist/javascript/analysis/JavaScriptAnalysisTransfer.js +25 -4
  678. package/dist/javascript/analysis/JavaScriptAnalysisWorker.js +4 -3
  679. package/dist/javascript/analysis/JavaScriptAnalysisWorkerProtocol.js +3 -2
  680. package/dist/javascript/analysis/JavaScriptAnalysisWorkerSchemas.js +7 -1
  681. package/dist/javascript/analysis/JavaScriptAnalysisWorkerServer.js +1 -1
  682. package/dist/javascript/recovery/RecoveryFiles.js +57 -8
  683. package/dist/jeb/JebMcpConnection.js +129 -70
  684. package/dist/jeb/JebMcpConnectionOwner.js +116 -0
  685. package/dist/jeb/JebMcpDeadline.js +46 -0
  686. package/dist/jeb/JebProvider.js +77 -51
  687. package/dist/kuna/KunaAddress.js +11 -0
  688. package/dist/kuna/KunaCommand.js +217 -0
  689. package/dist/kuna/KunaConfiguration.js +90 -0
  690. package/dist/kuna/KunaDoctor.js +198 -0
  691. package/dist/kuna/KunaInstallation.js +137 -0
  692. package/dist/kuna/KunaJson.js +23 -0
  693. package/dist/kuna/KunaJsonStream.js +433 -0
  694. package/dist/kuna/KunaLimits.js +5 -0
  695. package/dist/kuna/KunaProjectCache.js +804 -0
  696. package/dist/kuna/KunaProjectExport.js +202 -0
  697. package/dist/kuna/KunaProjectFiles.js +191 -0
  698. package/dist/kuna/KunaProjectReader.js +115 -0
  699. package/dist/kuna/KunaProvider.js +217 -0
  700. package/dist/kuna/KunaProviderCapabilities.js +102 -0
  701. package/dist/kuna/KunaQueryErrors.js +12 -0
  702. package/dist/kuna/KunaQueryWork.js +113 -0
  703. package/dist/kuna/KunaReferenceFiles.js +258 -0
  704. package/dist/kuna/KunaReferenceQueries.js +211 -0
  705. package/dist/kuna/KunaRelease.js +10 -0
  706. package/dist/kuna/KunaRunSlots.js +56 -0
  707. package/dist/kuna/KunaSessionClient.js +1162 -0
  708. package/dist/kuna/KunaStringInventory.js +145 -0
  709. package/dist/kuna/KunaStringQueries.js +133 -0
  710. package/dist/kuna/KunaTargetCommands.js +205 -0
  711. package/dist/kuna/KunaUnavailable.js +11 -0
  712. package/dist/main/processShutdown.js +17 -0
  713. package/dist/main/transport.js +21 -1
  714. package/dist/main.js +2 -12
  715. package/dist/mcp/AnalysisProvider-BABWbLoM.js +38 -0
  716. package/dist/mcp/{AnalysisSnapshotFiles-BAbiJQOc.js → AnalysisSnapshotFiles-BXz0c37-.js} +39 -28
  717. package/dist/mcp/{ProcessOwnership-Bl_3ejLe.js → ArtifactFileOperation-64cQKI7B.js} +274 -72
  718. package/dist/mcp/{ArtifactProvider-DViCU_rn.js → ArtifactProvider-Dx6pmil1.js} +371 -354
  719. package/dist/mcp/ArtifactProviderMetadata-UCJr2oZW.js +167 -0
  720. package/dist/mcp/{ArtifactReader-OyM03Gjn.js → ArtifactReader-BrnwNaKY.js} +29 -6
  721. package/dist/mcp/ArtifactResourceScope-zi3Dkqzy.js +175 -0
  722. package/dist/mcp/{AsarHeader-WsPgoooH.js → AsarHeader-B_IbppTz.js} +1 -1
  723. package/dist/mcp/{BinarySessionStatus-B4P9gf-S.js → BinarySessionStatus-CZ9nnXMt.js} +5 -4
  724. package/dist/mcp/{BinaryTargetResolver-BMaE_0H1.js → BinaryTargetResolver-BUncASDP.js} +146 -215
  725. package/dist/mcp/BoundedFileBytes-DYt5q9G2.js +43 -0
  726. package/dist/mcp/{CdpCaptureDocuments-HDiF2O7k.js → CdpCaptureDocuments-Y2uFcBpl.js} +194 -145
  727. package/dist/mcp/{CdpCaptureValues-M-j6CIh1.js → CdpCaptureValues-tNIg-gQK.js} +12 -5
  728. package/dist/mcp/{CdpConnection-BpDfz4MK.js → CdpEndpoint-BrhMhpSi.js} +352 -281
  729. package/dist/mcp/{CdpOptionalCommand-BPjRD9Kz.js → CdpOptionalCommand-PZZhlqxv.js} +2 -2
  730. package/dist/mcp/CdpTargetSession-BmmDC3XO.js +290 -0
  731. package/dist/mcp/{DirectAnalysis-DrafbXke.js → DirectAnalysis-B9KuCHTG.js} +29 -21
  732. package/dist/mcp/{DirectAnalysisStatus-CjjeDLzW.js → DirectAnalysisStatus-BgzopkIt.js} +7 -7
  733. package/dist/mcp/{ElectronFileScope-BPG_YoyU.js → ElectronFileScope-FXtK0d6I.js} +1 -1
  734. package/dist/mcp/ElectronFuseFailures-uZ_wOV6T.js +610 -0
  735. package/dist/mcp/MachoLoadCommandReader-C2VGgHA3.js +330 -0
  736. package/dist/mcp/{ManagedStaticProvider-BthZbKyZ.js → ManagedStaticProvider-CZuoPme2.js} +429 -131
  737. package/dist/mcp/{NativeMacOSProvider-Bh79k8dI.js → NativeMacOSProvider-CMguKrvN.js} +1376 -748
  738. package/dist/mcp/{NativeMacOSProviderMetadata-N1lPOaY_.js → NativeMacOSProviderMetadata-B_RH4KXF.js} +97 -7
  739. package/dist/mcp/{ProviderDeadline-DskQ94YD.js → OwnedCommand-BW1jBSt9.js} +436 -127
  740. package/dist/mcp/ProcedureAddressResolution-H6Qwpb_Y.js +59 -0
  741. package/dist/mcp/{WorkflowEvidence-umWrB_wm.js → WorkflowEvidence-CO4C7ALz.js} +16 -9
  742. package/dist/mcp/analysisErrorCleanup-Q344SnTO.js +34 -0
  743. package/dist/mcp/analysisErrorCore-BIEP7tvF.js +509 -0
  744. package/dist/mcp/{analysisErrorProjection-BN0EPM-3.js → analysisErrorProjection-B8teQwwD.js} +80 -30
  745. package/dist/mcp/{artifactToolContracts-Di4qZlEt.js → artifactToolContracts-C9dRDo-D.js} +6 -4
  746. package/dist/mcp/{browserObservation-C0s4i8UI.js → browserObservation-DUraZs62.js} +272 -107
  747. package/dist/mcp/{browserObservationError-CyLugqX4.js → browserObservationError-C5okJ5el.js} +27 -4
  748. package/dist/mcp/{browserObservationSchemas-tgqjH7aA.js → browserObservationSchemas-DwGGxBpu.js} +3 -3
  749. package/dist/mcp/{browserScenario-CAQ8Fns9.js → browserScenario-BRUz7yN0.js} +844 -358
  750. package/dist/mcp/{browserScenarioCapture-CTNFN-FI.js → browserScenarioCapture-CiMAsMx8.js} +127 -11
  751. package/dist/mcp/{InterfaceBuilderDecodeBudget-5F2AkxJT.js → callerPath-CpPnMZyN.js} +91 -65
  752. package/dist/mcp/{electronActiveObservation-lDvQTMR0.js → electronActiveObservation-DV0Ffy9X.js} +1 -0
  753. package/dist/mcp/electronFuses-D5SS7XXw.js +367 -0
  754. package/dist/mcp/{electronObservation-i7LcILQ-.js → electronObservation-DsN-NqY1.js} +134 -75
  755. package/dist/mcp/{electronObservation-DFOFEood.js → electronObservation-wOYWwqgF.js} +3 -3
  756. package/dist/mcp/{electronScenario-nCzE6IfJ.js → electronScenario-CYrt2zBK.js} +395 -135
  757. package/dist/mcp/{emptyArraySchema-tL6Qymyd.js → emptyArraySchema-C0o2Sxwp.js} +2 -2
  758. package/dist/mcp/{enhancedInputs-DgdEnzHy.js → enhancedInputs-6CCgB3VB.js} +1 -1
  759. package/dist/mcp/{javascriptRuntimeObservation-61NhCf7H.js → javascriptRuntimeObservation-BVbhkO2-.js} +12 -9
  760. package/dist/mcp/{javascriptRuntimeObservation-PIUoLfX6.js → javascriptRuntimeObservation-Cu0Yedqq.js} +2 -2
  761. package/dist/mcp/{lipo-Bnkoq_6W.js → lipo-DSTgUqL1.js} +11 -118
  762. package/dist/mcp/{logger-BQY5ulYv.js → logger-BGdGHadX.js} +2 -2
  763. package/dist/mcp/machoContainer-CMSxUBlK.js +605 -0
  764. package/dist/mcp/{main-kBXHZ8S5.js → main-Cx-Z7m_n.js} +16788 -5902
  765. package/dist/mcp/main.js +1 -1
  766. package/dist/mcp/{managedToolContracts-CK--I_s7.js → managedToolContracts-CSlbKJP-.js} +3 -3
  767. package/dist/mcp/{nativeValueTrace-DR9UE62L.js → nativeValueTrace-BEZbDieM.js} +2630 -2468
  768. package/dist/mcp/{officialToolContracts-B67NJ2tC.js → officialToolContracts-CauCcSsc.js} +74 -55
  769. package/dist/mcp/peMachine-aP1iYnHq.js +95 -0
  770. package/dist/mcp/propertyListKeys-BfCo0k4w.js +356 -0
  771. package/dist/mcp/providerCleanupError-DIRHxzWo.js +125 -0
  772. package/dist/mcp/{providerOperationHealth-CTYa3iLf.js → providerOperationHealth-9DRSGM8N.js} +24 -1
  773. package/dist/mcp/{scanCanonical-CRXSpule.js → scanCanonical-CF3ATd1V.js} +269 -463
  774. package/dist/mcp/{serverIdentity-Cio4iFV3.js → serverIdentity-BK0Ejd_Y.js} +262 -83
  775. package/dist/mcp/{sourceMapEnvelope-C0uJlrOh.js → sourceMapEnvelope-DAaRUIGj.js} +4 -4
  776. package/dist/mcp/{toolContracts-BW05wpcr.js → toolContracts-BPoHQdlC.js} +541 -327
  777. package/dist/mcp/{toolOutputSchemaGroups-ColvNZ1r.js → toolOutputSchemaGroups-MJ_f-PMK.js} +2551 -2354
  778. package/dist/mcp/{webContentArtifact-Dzjc1z-R.js → webContentArtifact-DfGkgDcI.js} +2 -17
  779. package/dist/mcp/{webRuntime-K__NYzXm.js → webRuntime-ccyhkRru.js} +2 -2
  780. package/dist/mcp/{webSourceLocation-DbMAT2J9.js → webSourceLocation-DKIum0vJ.js} +6451 -4414
  781. package/dist/mcpDoctor.js +4 -2
  782. package/dist/mcpStartupPolicy.js +18 -3
  783. package/dist/native/AppleDispatchMetadata.js +76 -27
  784. package/dist/native/AppleMachoFixups.js +20 -10
  785. package/dist/native/AppleObjcCategories.js +12 -1
  786. package/dist/native/AppleObjcDispatchFacets.js +21 -12
  787. package/dist/native/AppleObjcProperties.js +61 -17
  788. package/dist/native/AppleObjcProtocols.js +25 -7
  789. package/dist/native/AppleSwiftVtables.js +2 -0
  790. package/dist/native/CommandRunner.js +13 -9
  791. package/dist/native/LldbCallTracer.js +232 -178
  792. package/dist/native/LldbReadbackFiles.js +70 -0
  793. package/dist/native/LldbRetainedObservations.js +28 -56
  794. package/dist/native/NativeCallObservation.js +53 -52
  795. package/dist/native/NativeCallTarget.js +95 -0
  796. package/dist/native/NativeMacOSProvider.js +240 -171
  797. package/dist/native/NativeMachoInspection.js +21 -7
  798. package/dist/native/NativePlistSource.js +179 -0
  799. package/dist/native/NativeUiCleanupError.js +30 -0
  800. package/dist/native/NativeUiHelperRuntime.js +48 -35
  801. package/dist/native/NativeUiObservation.js +67 -45
  802. package/dist/native/SignatureTargetBinding.js +72 -53
  803. package/dist/native/parsers/demangle.js +16 -12
  804. package/dist/native/parsers/machoUuid.js +4 -4
  805. package/dist/native/parsers/otool.js +57 -17
  806. package/dist/native/parsers/plist.js +40 -25
  807. package/dist/native/pe/PeResourceLayout.js +22 -7
  808. package/dist/native/pe/PeResourceParser.js +10 -9
  809. package/dist/native/pe/PeResourcesProvider.js +63 -16
  810. package/dist/native/pwndbg/CoreFileMappingAuthority.js +51 -0
  811. package/dist/native/pwndbg/PwndbgCoreContext.js +26 -15
  812. package/dist/native/pwntools/PwntoolsDecoder.js +116 -53
  813. package/dist/native/pwntools/PwntoolsFailures.js +17 -3
  814. package/dist/native/pwntools/PwntoolsRecordedCrashProvider.js +11 -1
  815. package/dist/objdump/ObjdumpCommand.js +5 -2
  816. package/dist/pcap/PcapOutput.js +38 -2
  817. package/dist/pcap/PcapProvider.js +45 -15
  818. package/dist/pcap/PcapSnapshot.js +24 -4
  819. package/dist/process/ArtifactAnalysisResources.js +145 -52
  820. package/dist/process/BoundedFileBytes.js +8 -3
  821. package/dist/process/CurrentEntrypointPath.js +3 -1
  822. package/dist/process/DarwinProcessRunTokenReader.js +174 -63
  823. package/dist/process/DetachedPgpSignature.js +57 -0
  824. package/dist/process/ExecFileOutput.js +14 -11
  825. package/dist/{hopper/HopperTargetLease.js → process/HopperLease.js} +10 -0
  826. package/dist/process/LinuxResourceLimits.js +4 -24
  827. package/dist/process/OwnedCommand.js +109 -14
  828. package/dist/process/ProviderProcess.js +129 -10
  829. package/dist/process/RegexMatcher.js +96 -0
  830. package/dist/process/SharedStartupAttempt.js +59 -0
  831. package/dist/process/WindowsAuthority.js +1 -1
  832. package/dist/process/capture/FilesystemSnapshot.js +3 -2
  833. package/dist/process/capture/ProcessCaptureError.js +55 -17
  834. package/dist/process/capture/ProcessCaptureLifecycle.js +17 -20
  835. package/dist/process/capture/ProcessCaptureProgress.js +5 -3
  836. package/dist/process/capture/ProcessHarness.js +17 -3
  837. package/dist/process/snapshotEnvironment.js +8 -8
  838. package/dist/{application/binary → providers}/AnalysisClientCleanup.js +3 -3
  839. package/dist/providers/AnalysisClientCreation.js +193 -0
  840. package/dist/providers/AnalysisClientFailure.js +191 -0
  841. package/dist/providers/DeferredAnalysisClient.js +48 -0
  842. package/dist/providers/OwnedCommandCleanup.js +65 -0
  843. package/dist/providers/ProviderInspectionScope.js +10 -0
  844. package/dist/recordedCatalogDigests.js +2 -0
  845. package/dist/reference/ReferenceSourceReader.js +64 -0
  846. package/dist/reference/ReferenceSourceReaderEntries.js +12 -3
  847. package/dist/reference/ReferenceSourceReaderFile.js +2 -1
  848. package/dist/rizin/RizinCommand.js +2 -2
  849. package/dist/rizin/RizinDebugSessionManager.js +249 -210
  850. package/dist/rust/RustBinaryProvider.js +55 -23
  851. package/dist/server/EvidenceMcpServer.js +2 -2
  852. package/dist/server/contractToolHandler.js +17 -11
  853. package/dist/server/createServer.js +27 -8
  854. package/dist/server/promptCompletion.js +24 -22
  855. package/dist/server/registerArtifactComparisonTool.js +13 -2
  856. package/dist/server/registerBrowserScenarioTool.js +7 -5
  857. package/dist/server/registerBrowserTools.js +2 -4
  858. package/dist/server/registerCutterTools.js +2 -3
  859. package/dist/server/registerElectronTools.js +2 -13
  860. package/dist/server/registerFridaTools.js +8 -12
  861. package/dist/server/registerInvestigationTools.js +20 -20
  862. package/dist/server/registerJavaScriptRuntimeObservationTools.js +2 -4
  863. package/dist/server/registerManagedWorkflowTools/evidence.js +14 -7
  864. package/dist/server/registerProcessComparisonTool.js +3 -0
  865. package/dist/server/registerSessionStatusTool.js +13 -6
  866. package/dist/server/registerSessionTools.js +16 -29
  867. package/dist/server/runDerivedOperation.js +2 -0
  868. package/dist/signals/SigrokRecordingProvider.js +13 -6
  869. package/dist/sqlite/SqliteDatabaseFailures.js +25 -12
  870. package/dist/sqlite/SqliteDatabaseInspection.js +27 -12
  871. package/dist/sqlite/SqliteDatabaseSnapshot.js +58 -32
  872. package/dist/sqlite/SqliteDatabaseWorkerExecution.js +18 -3
  873. package/dist/wasm/WabtArtifactProvider.js +64 -42
  874. package/dist/wasm/WabtFailures.js +19 -1
  875. package/dist/wasm/WabtRuntime.js +58 -0
  876. package/dist/wasm/WasmGlueAdapter.js +20 -7
  877. package/dist/windows/WindowsNativeLoader.js +16 -2
  878. package/dist/windows/WindowsPrivateRuntime.js +44 -1
  879. package/licenses/npm-dependencies.txt +146 -1
  880. package/licenses/npm-runtime-notices.txt +175 -1
  881. package/native/windows/README.md +44 -7
  882. package/native/windows/build/manifest.json +2 -2
  883. package/native/windows/build/rea-windows-x64.node +0 -0
  884. package/package.json +11 -3
  885. package/scripts/electron-active-hook-boundaries.cjs +15 -2
  886. package/scripts/electron-active-hook.cjs +408 -46
  887. package/scripts/hopper-demo-x11.py +12 -10
  888. package/scripts/rea.mjs +62 -15
  889. package/skills/reverse-engineer-anything/SKILL.md +21 -7
  890. package/skills/reverse-engineer-anything/references/android-applications.md +3 -1
  891. package/skills/reverse-engineer-anything/references/javascript-applications.md +44 -1
  892. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +30 -10
  893. package/dist/cli-runtime/ArtifactResourceScope-DQWTcUwE.js +0 -114
  894. package/dist/cli-runtime/ClientConfigPath-c6jr6INc.js +0 -36
  895. package/dist/cli-runtime/IdaConfiguration-CtGP7EKo.js +0 -1094
  896. package/dist/cli-runtime/JebMcpEndpoint-DUytrn5G.js +0 -428
  897. package/dist/cli-runtime/MacHopperPaths-CwL5lYPX.js +0 -434
  898. package/dist/cli-runtime/OwnedCommand-Cj9GhmPR.js +0 -112
  899. package/dist/cli-runtime/RegularFile-B_6KPCNQ.js +0 -139
  900. package/dist/cli-runtime/RegularFileRead-DVlC5faM.js +0 -125
  901. package/dist/cli-runtime/analysisErrorPresentation-DGt7TdsH.js +0 -497
  902. package/dist/cli-runtime/application__javascript__ElectronObservationService-DEsR8KDN.js +0 -63
  903. package/dist/cli-runtime/artifactOperationError-B7n03FbD.js +0 -27
  904. package/dist/cli-runtime/browserObservationError-Dx6xRTjb.js +0 -40
  905. package/dist/cli-runtime/cliResultOutput-DsRMI8CJ.js +0 -780
  906. package/dist/cli-runtime/mcpStartupPolicy-CVVSOmRc.js +0 -21
  907. package/dist/cli-runtime/propertyListKeys-G8e74YWb.js +0 -248
  908. package/dist/cli-runtime/providerAdapterError-DAjhICdr.js +0 -25
  909. package/dist/cli-runtime/readFileHandleChunks-dp60iZ6v.js +0 -38
  910. package/dist/hopper/HopperRegexWorker.js +0 -27
  911. package/dist/mcp/ArtifactProviderMetadata-b7pOK5_t.js +0 -76
  912. package/dist/mcp/ArtifactResourceScope-P3tq5z8Z.js +0 -162
  913. package/dist/mcp/BoundedFileBytes-DuczXiQZ.js +0 -68
  914. package/dist/mcp/CdpTargetSession-BsPoKhEU.js +0 -86
  915. package/dist/mcp/ProcedureAddressResolution-CQpuwm1h.js +0 -19
  916. package/dist/mcp/analysisErrorCore-DXRTvF_m.js +0 -235
  917. package/dist/mcp/artifactOperationError-CkHMMaf7.js +0 -27
  918. package/dist/mcp/digests-BFoWUT_-.js +0 -223
  919. package/dist/mcp/propertyListKeys-DD25WsjI.js +0 -553
  920. package/dist/mcp/providerAdapterError-sDxToNal.js +0 -25
  921. package/dist/mcp/unicodeCodePointOrder-BezCbTpg.js +0 -26
@@ -1,15 +1,16 @@
1
1
  import { __esmMin } from "./rolldown-runtime-DXoylpqc.js";
2
- import { AnalysisCancelledError, AnalysisError, AnalysisResourceConstraintError, init_analysisErrorBase, init_analysisErrorCore } from "./errorSchemas-CTRmvMl3.js";
3
- import { ArtifactReaderFailure, init_ArtifactReader } from "./ArtifactReader-BXkffc1D.js";
4
- import { RegularFileChangedError, init_RegularFile } from "./RegularFile-B_6KPCNQ.js";
5
- import { EvidenceIntegrityError, init_evidenceErrors } from "./analysisErrorPresentation-DGt7TdsH.js";
6
- import { analysisErrorWithCleanupFailure, init_analysisErrorCleanup } from "./analysisErrorCleanup-Do6YeeoD.js";
7
- import { ProviderCleanupError, init_providerCleanupError } from "./providerCleanupError-Ceq8f0wK.js";
8
- import { MANAGED_STATIC_PROVIDER, init_InvestigationProviders } from "./InvestigationProviders-DoQRIHii.js";
9
- import { init_BoundedFileBytes, readBoundedFileBytes } from "./BoundedFileBytes-BU30odTm.js";
10
- import { RegularFileCleanupFailure, init_RegularFileRead, withRegularFile } from "./RegularFileRead-DVlC5faM.js";
11
- import { init_managedArtifact, managedMemberInspectionSchema } from "./managedApplicationGraph-B08jb3jq.js";
12
- import { classifyBinaryTargetFilesystemFailure, decodePeMachine, init_BinaryTargetResolver, init_peMachine } from "./BinaryTargetResolver-CVIJ_s1A.js";
2
+ import { AnalysisCancelledError, AnalysisError, AnalysisResourceConstraintError, init_analysisErrorBase, init_analysisErrorCore } from "./errorSchemas-Ixz_q7qt.js";
3
+ import { RegularFileChangedError, RegularFileCleanupFailure, init_OwnedRegularFile, init_RegularFile } from "./OwnedRegularFile-D1f5nUCx.js";
4
+ import { ArtifactReaderFailure, init_ArtifactReader } from "./ArtifactReader-DMwm42bk.js";
5
+ import { EvidenceIntegrityError, init_evidenceErrors } from "./cliResultOutput-10sd6xGx.js";
6
+ import { analysisErrorWithCleanupFailure, init_analysisErrorCleanup } from "./analysisErrorCleanup-COdAmDsb.js";
7
+ import { ProviderCleanupError, init_providerCleanupError } from "./providerCleanupError-BhsJyAhk.js";
8
+ import { MANAGED_STATIC_PROVIDER, init_InvestigationProviders } from "./InvestigationProviders-CFh4a64d.js";
9
+ import { init_BoundedFileBytes, readBoundedFileBytes } from "./BoundedFileBytes-DRtiQNAQ.js";
10
+ import { init_RegularFileRead, withRegularFile } from "./RegularFileRead-mbgGYtxe.js";
11
+ import { init_managedArtifact, managedMemberInspectionSchema } from "./managedApplicationGraph-BazVqpJv.js";
12
+ import { decodePeMachine, init_peMachine } from "./peMachine-B9ggfSJJ.js";
13
+ import { classifyBinaryTargetFilesystemFailure, init_BinaryTargetResolver } from "./BinaryTargetResolver-tuCTjBlQ.js";
13
14
  import { createHash } from "node:crypto";
14
15
 
15
16
  //#region dist/dotnet/ManagedReaderFailure.js
@@ -58,6 +59,7 @@ function init_ManagedDecodeBudget() {
58
59
  #rows = new Map();
59
60
  #strings = new Map();
60
61
  #digests = new WeakMap();
62
+ #prepaid = new WeakSet();
61
63
  reserve(bytes, offset) {
62
64
  this.#admit(bytes, offset);
63
65
  this.#remaining -= bytes;
@@ -104,6 +106,14 @@ function init_ManagedDecodeBudget() {
104
106
  ranges.set(key, digest);
105
107
  return digest;
106
108
  }
109
+ /** Record an admitted projection; its next serialized occurrence is already charged. */
110
+ prepay(value) {
111
+ this.#prepaid.add(value);
112
+ }
113
+ /** Spend an admitted projection's charge once; repeated occurrences pay again. */
114
+ consumePrepaid(value) {
115
+ return this.#prepaid.delete(value);
116
+ }
107
117
  cachedString(index) {
108
118
  return this.#strings.get(index);
109
119
  }
@@ -154,6 +164,7 @@ function init_ManagedDecodeBudget() {
154
164
  jsonBytes = (item) => typeof item === "string" ? managedJsonStringBytes(item) : Buffer.byteLength(JSON.stringify(item) ?? "null");
155
165
  admitManagedProjection = (value, budget = new ManagedDecodeBudget()) => {
156
166
  const visit = (item) => {
167
+ if (item !== null && typeof item === "object" && budget.consumePrepaid(item)) return;
157
168
  if (Array.isArray(item)) {
158
169
  budget.reserve(item.length + 2, null);
159
170
  for (const child of item) visit(child);
@@ -168,6 +179,7 @@ function init_ManagedDecodeBudget() {
168
179
  }
169
180
  };
170
181
  visit(value);
182
+ if (value !== null && typeof value === "object") budget.prepay(value);
171
183
  return value;
172
184
  };
173
185
  })))();
@@ -175,7 +187,7 @@ function init_ManagedDecodeBudget() {
175
187
 
176
188
  //#endregion
177
189
  //#region dist/dotnet/ManagedPeReader.js
178
- var managedCli32BitRequirement, requireRange$1, add, architectureFor, resolveRva, mapRva, readDirectory, readCliHeader, readCoffHeader, readOptionalHeader, readSections, readCliDirectory, readManagedPeLayout;
190
+ var managedCli32BitRequirement, managedCliIsMixedClrNative, requireRange$1, add, architectureFor, resolveRva, mapRva, readDirectory, readCliHeader, readCoffHeader, readOptionalHeader, readSections, readCliDirectory, readManagedPeLayout;
179
191
  function init_ManagedPeReader() {
180
192
  return (init_ManagedPeReader = __esmMin((() => {
181
193
  init_peMachine();
@@ -185,6 +197,7 @@ function init_ManagedPeReader() {
185
197
  if (pair === 2) return "required";
186
198
  return pair === 131074 ? "preferred" : "none";
187
199
  };
200
+ managedCliIsMixedClrNative = (cli) => (cli.flags & 1) === 0 && !cli.readyToRunSignature;
188
201
  requireRange$1 = (bytes, offset, length, scope) => {
189
202
  if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(length) || offset < 0 || length < 0 || offset > bytes.length - length) throw managedFailure("invalid-directory", scope, `${scope} leaves the artifact byte range`, Number.isSafeInteger(offset) && offset >= 0 ? offset : null);
190
203
  };
@@ -617,17 +630,17 @@ function init_ManagedMetadataLayout() {
617
630
  }
618
631
  };
619
632
  SUPPORTED_TABLE_MASK = (1n << BigInt(METADATA_TABLE_NAMES.length)) - 1n;
620
- requireRange = (bytes, offset, length, scope) => {
621
- if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(length) || offset < 0 || length < 0 || offset > bytes.length - length) throw managedFailure("invalid-metadata-root", scope, `${scope} leaves the metadata byte range`, Number.isSafeInteger(offset) && offset >= 0 ? offset : null);
633
+ requireRange = (bytes, base, offset, length, scope) => {
634
+ if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(length) || offset < 0 || length < 0 || offset > bytes.length - length) throw managedFailure("invalid-metadata-root", scope, `${scope} leaves the metadata byte range`, Number.isSafeInteger(base + offset) && offset >= 0 ? base + offset : null);
622
635
  };
623
636
  align4 = (value) => Math.ceil(value / 4) * 4;
624
- readStreamName = (bytes, offset) => {
637
+ readStreamName = (bytes, rootOffset, offset) => {
625
638
  const endLimit = Math.min(bytes.length, offset + 32);
626
639
  let end = offset;
627
640
  while (end < endLimit && bytes[end] !== 0) end += 1;
628
- if (end === endLimit) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is missing a bounded terminator", offset);
641
+ if (end === endLimit) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is missing a bounded terminator", rootOffset + offset);
629
642
  const nameBytes = bytes.subarray(offset, end);
630
- if (nameBytes.some((byte) => byte < 32 || byte > 126)) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is not printable ASCII", offset);
643
+ if (nameBytes.some((byte) => byte < 32 || byte > 126)) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is not printable ASCII", rootOffset + offset);
631
644
  return {
632
645
  name: nameBytes.toString("ascii"),
633
646
  next: align4(end + 1)
@@ -655,25 +668,25 @@ function init_ManagedMetadataLayout() {
655
668
  readMetadataStreams = (bytes, rootOffset, budget) => {
656
669
  if (bytes.readUInt32LE(0) !== 1112167234) throw managedFailure("invalid-metadata-root", "metadata.signature", "CLI metadata signature is not BSJB", rootOffset);
657
670
  const versionLength = bytes.readUInt32LE(12);
658
- requireRange(bytes, 16, versionLength, "metadata.version");
671
+ requireRange(bytes, rootOffset, 16, versionLength, "metadata.version");
659
672
  const versionBytes = bytes.subarray(16, 16 + versionLength);
660
673
  const zero = versionBytes.indexOf(0);
661
674
  const decodedVersionLength = zero < 0 ? versionBytes.length : zero;
662
675
  budget.reserveString(decodedVersionLength, rootOffset + 16);
663
676
  const version = versionBytes.subarray(0, decodedVersionLength).toString("utf8");
664
677
  let cursor = align4(16 + versionLength);
665
- requireRange(bytes, cursor, 4, "metadata.stream-count");
678
+ requireRange(bytes, rootOffset, cursor, 4, "metadata.stream-count");
666
679
  const streamCount = bytes.readUInt16LE(cursor + 2);
667
680
  if (streamCount === 0 || streamCount > 64) throw managedFailure("invalid-stream", "metadata.stream-count", "Metadata stream count is outside the admitted range", rootOffset + cursor + 2);
668
681
  cursor += 4;
669
682
  const streams = new Map();
670
683
  for (let index = 0; index < streamCount; index += 1) {
671
- requireRange(bytes, cursor, 8, "metadata.stream-header");
684
+ requireRange(bytes, rootOffset, cursor, 8, "metadata.stream-header");
672
685
  const relativeOffset = bytes.readUInt32LE(cursor);
673
686
  const streamSize = bytes.readUInt32LE(cursor + 4);
674
- const named = readStreamName(bytes, cursor + 8);
687
+ const named = readStreamName(bytes, rootOffset, cursor + 8);
675
688
  if (streams.has(named.name)) throw managedFailure("invalid-stream", "metadata.stream-header", `Duplicate metadata stream ${named.name}`, rootOffset + cursor);
676
- requireRange(bytes, relativeOffset, streamSize, `metadata.${named.name}`);
689
+ requireRange(bytes, rootOffset, relativeOffset, streamSize, `metadata.${named.name}`);
677
690
  streams.set(named.name, {
678
691
  name: named.name,
679
692
  offset: rootOffset + relativeOffset,
@@ -690,7 +703,7 @@ function init_ManagedMetadataLayout() {
690
703
  const tablesStream = streamByName(streams, ["#~", "#-"]);
691
704
  if (tablesStream === undefined) throw managedFailure("missing-stream", "metadata.tables", "Required metadata table stream #~ or #- is absent");
692
705
  const tableBytes = bytes.subarray(tablesStream.offset, tablesStream.offset + tablesStream.size);
693
- requireRange(tableBytes, 0, 24, "metadata.tables-header");
706
+ requireRange(tableBytes, tablesStream.offset, 0, 24, "metadata.tables-header");
694
707
  const heapSizes = tableBytes[6] ?? 0;
695
708
  const heaps = {
696
709
  string: (heapSizes & 1) === 0 ? 2 : 4,
@@ -706,12 +719,12 @@ function init_ManagedMetadataLayout() {
706
719
  valid
707
720
  };
708
721
  };
709
- readRowCounts = (tableBytes, valid) => {
722
+ readRowCounts = (tableBytes, tablesOffset, valid) => {
710
723
  const rowCounts = Array(METADATA_TABLE_NAMES.length).fill(0);
711
724
  let tableCursor = 24;
712
725
  for (let index = 0; index < METADATA_TABLE_NAMES.length; index += 1) {
713
726
  if ((valid & 1n << BigInt(index)) === 0n) continue;
714
- requireRange(tableBytes, tableCursor, 4, "metadata.table-row-count");
727
+ requireRange(tableBytes, tablesOffset, tableCursor, 4, "metadata.table-row-count");
715
728
  const count = tableBytes.readUInt32LE(tableCursor);
716
729
  rowCounts[index] = count;
717
730
  tableCursor += 4;
@@ -743,7 +756,7 @@ function init_ManagedMetadataLayout() {
743
756
  const sizeOfRow = computeRowSize(index, context);
744
757
  const byteLength = count * sizeOfRow;
745
758
  if (!Number.isSafeInteger(byteLength)) throw managedFailure("invalid-tables", "metadata.tables", "Metadata table byte size overflowed", tablesOffset + tableCursor);
746
- requireRange(tableBytes, tableCursor, byteLength, "metadata.table-data");
759
+ requireRange(tableBytes, tablesOffset, tableCursor, byteLength, "metadata.table-data");
747
760
  tables.set(index, {
748
761
  index,
749
762
  name: METADATA_TABLE_NAMES[index] ?? `Table${String(index)}`,
@@ -761,7 +774,7 @@ function init_ManagedMetadataLayout() {
761
774
  const budget = new ManagedDecodeBudget();
762
775
  const { streams, version } = readMetadataStreams(bytes, rootOffset, budget);
763
776
  const { tableBytes, tablesOffset, heaps, valid } = readTablesHeader(artifact, streams);
764
- const rowCounts = readRowCounts(tableBytes, valid);
777
+ const rowCounts = readRowCounts(tableBytes, tablesOffset, valid);
765
778
  const tables = buildMetadataTables({
766
779
  tableBytes,
767
780
  rowCounts,
@@ -1003,7 +1016,6 @@ function init_ManagedMetadataHeaps() {
1003
1016
  const start = layout.strings.offset + index;
1004
1017
  const cached = managedDecodeBudget(layout).cachedString(index);
1005
1018
  if (cached !== undefined && cached.encodedBytes <= heapExtent) {
1006
- managedDecodeBudget(layout).reserveString(cached.encodedBytes, start);
1007
1019
  return cached.value;
1008
1020
  }
1009
1021
  const maximum = Math.min(layout.strings.offset + layout.strings.size, start + heapExtent + 1);
@@ -1526,13 +1538,44 @@ function init_ManagedMetadataInventory() {
1526
1538
  })))();
1527
1539
  }
1528
1540
 
1541
+ //#endregion
1542
+ //#region dist/dotnet/ManagedTypeNesting.js
1543
+ var readManagedTypeNesting;
1544
+ function init_ManagedTypeNesting() {
1545
+ return (init_ManagedTypeNesting = __esmMin((() => {
1546
+ init_ManagedDecodeBudget();
1547
+ init_ManagedMetadataHeaps();
1548
+ init_ManagedReaderFailure();
1549
+ readManagedTypeNesting = (bytes, layout, issues) => {
1550
+ const initialIssues = issues.length;
1551
+ const typeCount = layout.table(2)?.rowCount ?? 0;
1552
+ const enclosing = new Map();
1553
+ for (let row = 1; row <= (layout.table(41)?.rowCount ?? 0); row += 1) {
1554
+ readManagedValue(() => {
1555
+ const cursor = metadataRowCursor(bytes, layout, 41, row);
1556
+ const nested = cursor.readIndex(layout.tableIndexSize(2));
1557
+ const outer = cursor.readIndex(layout.tableIndexSize(2));
1558
+ if (nested < 1 || outer < 1 || nested > typeCount || outer > typeCount || nested === outer || enclosing.has(nested)) throw managedFailure("invalid-row", `metadata.NestedClass:${metadataToken(41, row)}`, `NestedClass requires a unique nested type and distinct existing enclosing type; observed ${nested} -> ${outer}`, cursor.start);
1559
+ managedDecodeBudget(layout).reserve(128, cursor.start);
1560
+ enclosing.set(nested, outer);
1561
+ }, issues);
1562
+ }
1563
+ return {
1564
+ enclosing,
1565
+ complete: issues.length === initialIssues
1566
+ };
1567
+ };
1568
+ })))();
1569
+ }
1570
+
1529
1571
  //#endregion
1530
1572
  //#region dist/dotnet/ManagedMemberInspectorCore.js
1531
- var rowRange, fullName, readTypeRange, typeRanges, parseTypes, readCompressed, ELEMENT_TYPES, readSignedCompressed, malformedSignature, MEMBER_METHOD_HEADERS, FUNCTION_POINTER_CONVENTIONS, readMethodSignatureHeader, MAX_ARRAY_RANK, arrayShape, currentPosition, POSITION_ELEMENTS, readTypeOperand, readTypeSignature, CALLING_CONVENTION_NAMES, callingConvention, specSignature, decodeSignature, methodGenericArity, signatureGenericArity, signature;
1573
+ var rowRange, fullName, readTypeRange, typeRanges, parseTypes, readCompressed, ELEMENT_TYPES, readSignedCompressed, malformedSignature, MEMBER_METHOD_HEADERS, FUNCTION_POINTER_CONVENTIONS, readMethodSignatureHeader, MAX_ARRAY_RANK, arrayShape, currentPosition, POSITION_ELEMENTS, readTypeOperand, readTypeSignature, CALLING_CONVENTION_NAMES, callingConvention, specSignature, decodeSignature, methodGenericArity, signatureGenericArity, OPERAND_MARKER, resolvedSha256, signature;
1532
1574
  function init_ManagedMemberInspectorCore() {
1533
1575
  return (init_ManagedMemberInspectorCore = __esmMin((() => {
1534
1576
  init_ManagedReaderFailure();
1535
1577
  init_ManagedDecodeBudget();
1578
+ init_ManagedTypeNesting();
1536
1579
  init_ManagedMetadataHeaps();
1537
1580
  init_ManagedMemberPointers();
1538
1581
  rowRange = (table, start, end) => {
@@ -1585,6 +1628,7 @@ function init_ManagedMemberInspectorCore() {
1585
1628
  const methods = memberListTable(layout, 6);
1586
1629
  const items = [];
1587
1630
  const issues = [];
1631
+ const nesting = readManagedTypeNesting(bytes, layout, issues);
1588
1632
  for (let row = 1; row <= (typeTable?.rowCount ?? 0); row += 1) {
1589
1633
  readManagedValue(() => {
1590
1634
  const cursor = metadataRowCursor(bytes, layout, 2, row);
@@ -1607,6 +1651,7 @@ function init_ManagedMemberInspectorCore() {
1607
1651
  offset: extendsOffset,
1608
1652
  detail: `TypeDef Extends coded index 0x${extendsRaw.toString(16)} is invalid: ${extendsReason}`
1609
1653
  });
1654
+ const enclosingRow = nesting.enclosing.get(row);
1610
1655
  items.push({
1611
1656
  token: metadataToken(2, row),
1612
1657
  row_offset: cursor.start,
@@ -1619,6 +1664,8 @@ function init_ManagedMemberInspectorCore() {
1619
1664
  1,
1620
1665
  27
1621
1666
  ], layout.rowCounts),
1667
+ enclosing_type_token: enclosingRow === undefined ? null : metadataToken(2, enclosingRow),
1668
+ name_sha256: null,
1622
1669
  field_list: {
1623
1670
  first_row: fieldRange.first,
1624
1671
  last_row: fieldRange.last,
@@ -1634,7 +1681,8 @@ function init_ManagedMemberInspectorCore() {
1634
1681
  }
1635
1682
  return {
1636
1683
  types: items,
1637
- issues
1684
+ issues,
1685
+ nesting
1638
1686
  };
1639
1687
  };
1640
1688
  readCompressed = (bytes, offset) => {
@@ -1786,7 +1834,7 @@ function init_ManagedMemberInspectorCore() {
1786
1834
  }
1787
1835
  return token;
1788
1836
  };
1789
- readTypeSignature = (blob, offset, base, layout) => {
1837
+ readTypeSignature = (blob, offset, base, { layout, operands } = {}) => {
1790
1838
  const stack = [];
1791
1839
  let cursor = offset;
1792
1840
  for (;;) {
@@ -1808,6 +1856,10 @@ function init_ManagedMemberInspectorCore() {
1808
1856
  cursor += 1;
1809
1857
  } else if (kind === 31 || kind === 32) {
1810
1858
  const token = readTypeOperand(blob, cursor + 1, layout);
1859
+ operands?.push({
1860
+ offset: cursor + 1,
1861
+ ...token
1862
+ });
1811
1863
  const modifier = `${kind === 31 ? "modreq" : "modopt"}:${String(token.value)}`;
1812
1864
  const top = stack.at(-1);
1813
1865
  if (top?.kind === "modifiers") top.modifiers.push(modifier);
@@ -1818,6 +1870,10 @@ function init_ManagedMemberInspectorCore() {
1818
1870
  cursor = token.next;
1819
1871
  } else if (kind === 17 || kind === 18) {
1820
1872
  const token = readTypeOperand(blob, cursor + 1, layout);
1873
+ operands?.push({
1874
+ offset: cursor + 1,
1875
+ ...token
1876
+ });
1821
1877
  value = `${kind === 17 ? "valuetype" : "class"}:${String(token.value)}`;
1822
1878
  cursor = token.next;
1823
1879
  } else if (kind === 30 || kind === 19) {
@@ -1834,6 +1890,10 @@ function init_ManagedMemberInspectorCore() {
1834
1890
  const generic = blob[cursor + 1];
1835
1891
  if (generic !== 17 && generic !== 18) return malformedSignature("generic instantiation does not name a class or value type", cursor + 1);
1836
1892
  const token = readTypeOperand(blob, cursor + 2, layout, [2, 1]);
1893
+ operands?.push({
1894
+ offset: cursor + 2,
1895
+ ...token
1896
+ });
1837
1897
  const argumentCount = readCompressed(blob, token.next);
1838
1898
  if (argumentCount.value === 0) return malformedSignature("generic instantiation has no type arguments", token.next);
1839
1899
  const head = `${generic === 17 ? "valuetype" : "class"}:${String(token.value)}`;
@@ -1919,7 +1979,7 @@ function init_ManagedMemberInspectorCore() {
1919
1979
  }
1920
1980
  const types = [];
1921
1981
  for (let index = 0; index < count; index += 1) {
1922
- const type = readTypeSignature(blob, cursor, "type", layout);
1982
+ const type = readTypeSignature(blob, cursor, "type", { layout });
1923
1983
  types.push(type.value);
1924
1984
  cursor = type.next;
1925
1985
  }
@@ -1932,12 +1992,12 @@ function init_ManagedMemberInspectorCore() {
1932
1992
  budget.releaseTransient();
1933
1993
  }
1934
1994
  };
1935
- decodeSignature = (blob) => {
1995
+ decodeSignature = (blob, operands = []) => {
1936
1996
  try {
1937
1997
  if (blob.length === 0) throw managedFailure("invalid-blob", "signature", "empty signature", 0);
1938
1998
  const first = blob[0] ?? 0;
1939
1999
  if (first === 6) {
1940
- const fieldType = readTypeSignature(blob, 1, "field");
2000
+ const fieldType = readTypeSignature(blob, 1, "field", { operands });
1941
2001
  return {
1942
2002
  kind: "field",
1943
2003
  parse_status: fieldType.next === blob.length ? "decoded" : "partial",
@@ -1951,11 +2011,11 @@ function init_ManagedMemberInspectorCore() {
1951
2011
  };
1952
2012
  }
1953
2013
  const header = readMethodSignatureHeader(blob, 0, "member");
1954
- const returnType = readTypeSignature(blob, header.next, "return");
2014
+ const returnType = readTypeSignature(blob, header.next, "return", { operands });
1955
2015
  let offset = returnType.next;
1956
2016
  const parameters = [];
1957
2017
  for (let index = 0; index < header.parameterCount; index += 1) {
1958
- const parameter = readTypeSignature(blob, offset, "parameter");
2018
+ const parameter = readTypeSignature(blob, offset, "parameter", { operands });
1959
2019
  parameters.push(parameter.value);
1960
2020
  offset = parameter.next;
1961
2021
  }
@@ -1996,11 +2056,31 @@ function init_ManagedMemberInspectorCore() {
1996
2056
  }
1997
2057
  };
1998
2058
  signatureGenericArity = (decoded) => decoded.kind === "method" && decoded.parse_status === "decoded" ? decoded.generic_parameter_count ?? 0 : null;
1999
- signature = (blob, rawSha256) => ({
2000
- raw_length: blob.length,
2001
- raw_sha256: rawSha256 ?? sha256Bytes(blob),
2002
- ...decodeSignature(blob)
2003
- });
2059
+ OPERAND_MARKER = Buffer.from([255]);
2060
+ resolvedSha256 = (blob, operands, typeName) => {
2061
+ const hash = createHash("sha256");
2062
+ let copied = 0;
2063
+ for (const operand of operands) {
2064
+ const name = typeName(operand.value);
2065
+ if (name === null) return null;
2066
+ hash.update(blob.subarray(copied, operand.offset));
2067
+ hash.update(OPERAND_MARKER);
2068
+ hash.update(name);
2069
+ copied = operand.next;
2070
+ }
2071
+ hash.update(blob.subarray(copied));
2072
+ return hash.digest("hex");
2073
+ };
2074
+ signature = (blob, rawSha256, typeName = () => null) => {
2075
+ const operands = [];
2076
+ const decoded = decodeSignature(blob, operands);
2077
+ return {
2078
+ raw_length: blob.length,
2079
+ raw_sha256: rawSha256 ?? sha256Bytes(blob),
2080
+ resolved_sha256: decoded.kind === "unknown" ? null : resolvedSha256(blob, operands, typeName),
2081
+ ...decoded
2082
+ };
2083
+ };
2004
2084
  })))();
2005
2085
  }
2006
2086
 
@@ -2075,67 +2155,160 @@ function init_ManagedMethodSpecs() {
2075
2155
  })))();
2076
2156
  }
2077
2157
 
2158
+ //#endregion
2159
+ //#region dist/dotnet/ManagedTypeNameDigests.js
2160
+ var TYPE_REF, TYPE_DEF, MAX_TYPE_NESTING_DEPTH, TOP_LEVEL, NESTED, NAME_SEPARATOR, nestedTypeDigests, managedTypeNameDigests;
2161
+ function init_ManagedTypeNameDigests() {
2162
+ return (init_ManagedTypeNameDigests = __esmMin((() => {
2163
+ init_ManagedDecodeBudget();
2164
+ init_ManagedMetadataHeaps();
2165
+ init_ManagedReaderFailure();
2166
+ TYPE_REF = 1;
2167
+ TYPE_DEF = 2;
2168
+ MAX_TYPE_NESTING_DEPTH = 64;
2169
+ TOP_LEVEL = Buffer.from([0]);
2170
+ NESTED = Buffer.from([1]);
2171
+ NAME_SEPARATOR = Buffer.from([0]);
2172
+ nestedTypeDigests = (link, retain) => {
2173
+ const named = new Map();
2174
+ const remember = (row, value) => {
2175
+ retain();
2176
+ named.set(row, value);
2177
+ };
2178
+ const links = new Map();
2179
+ const readLink = (row) => {
2180
+ const known = links.get(row);
2181
+ if (known !== undefined) return known;
2182
+ const read = link(row);
2183
+ retain();
2184
+ links.set(row, read);
2185
+ return read;
2186
+ };
2187
+ return (row) => {
2188
+ const path = [];
2189
+ const seen = new Set();
2190
+ let outer = null;
2191
+ for (let current = row; current !== null;) {
2192
+ const known = named.get(current);
2193
+ if (known !== undefined) {
2194
+ if (known === null) {
2195
+ for (const step of path) remember(step.row, null);
2196
+ return null;
2197
+ }
2198
+ outer = known;
2199
+ break;
2200
+ }
2201
+ if (seen.has(current)) {
2202
+ for (const step of path) remember(step.row, null);
2203
+ return null;
2204
+ }
2205
+ if (path.length === 64) {
2206
+ remember(row, null);
2207
+ return null;
2208
+ }
2209
+ const step = readLink(current);
2210
+ if (step === null) {
2211
+ remember(current, null);
2212
+ for (const visited of path) remember(visited.row, null);
2213
+ return null;
2214
+ }
2215
+ seen.add(current);
2216
+ path.push({
2217
+ row: current,
2218
+ link: step
2219
+ });
2220
+ current = step.enclosingRow;
2221
+ }
2222
+ let inner = outer;
2223
+ let exceeded = false;
2224
+ for (const step of path.reverse()) {
2225
+ const depth = (inner?.depth ?? 0) + 1;
2226
+ exceeded ||= depth > 64;
2227
+ if (exceeded) {
2228
+ remember(step.row, null);
2229
+ continue;
2230
+ }
2231
+ const hash = createHash("sha256");
2232
+ if (inner === null) hash.update(TOP_LEVEL);
2233
+ else hash.update(NESTED).update(inner.digest);
2234
+ hash.update(step.link.namespace).update(NAME_SEPARATOR).update(step.link.name);
2235
+ inner = {
2236
+ digest: hash.digest(),
2237
+ depth
2238
+ };
2239
+ remember(step.row, inner);
2240
+ }
2241
+ return exceeded ? null : inner?.digest ?? null;
2242
+ };
2243
+ };
2244
+ managedTypeNameDigests = (layout, issues, parsedTypes, reference) => {
2245
+ const retain = () => managedDecodeBudget(layout).reserve(128, null);
2246
+ managedDecodeBudget(layout).reserve(parsedTypes.types.length * 128, null);
2247
+ const types = new Map();
2248
+ for (const type of parsedTypes.types) types.set(type.token, type);
2249
+ const definitions = nestedTypeDigests((row) => {
2250
+ if (!parsedTypes.nesting.complete) return null;
2251
+ const type = types.get(metadataToken(TYPE_DEF, row));
2252
+ if (type === undefined && (row < 1 || row > (layout.table(TYPE_DEF)?.rowCount ?? 0))) {
2253
+ readManagedValue(() => {
2254
+ throw managedFailure("invalid-row", `metadata.signature.type:${TYPE_DEF}:${row}`, `Signature references an unavailable TypeDef row ${row}`);
2255
+ }, issues);
2256
+ return null;
2257
+ }
2258
+ if (type === undefined) return null;
2259
+ const enclosingRow = parsedTypes.nesting.enclosing.get(row) ?? null;
2260
+ const nested = (type.flags & 7) >= 2;
2261
+ if (nested !== (enclosingRow !== null)) {
2262
+ managedDecodeBudget(layout).reserve(512, type.row_offset);
2263
+ readManagedValue(() => {
2264
+ throw managedFailure("invalid-row", `metadata.TypeDef:${type.token}`, nested ? `Nested TypeDef ${type.token} has no NestedClass enclosing entry` : `Top-level TypeDef ${type.token} has a NestedClass enclosing entry`, type.row_offset);
2265
+ }, issues);
2266
+ return null;
2267
+ }
2268
+ return {
2269
+ namespace: type.namespace,
2270
+ name: type.name,
2271
+ enclosingRow
2272
+ };
2273
+ }, retain);
2274
+ const references = nestedTypeDigests((row) => {
2275
+ const value = reference(row);
2276
+ return value?.scopeValid === true ? value : null;
2277
+ }, retain);
2278
+ const digests = new Map();
2279
+ return (codedIndex) => {
2280
+ let digest = digests.get(codedIndex);
2281
+ if (digest === undefined) {
2282
+ managedDecodeBudget(layout).reserve(256, null);
2283
+ const row = codedIndex >>> 2;
2284
+ const table = codedIndex & 3;
2285
+ digest = table === 0 ? definitions(row) : table === 1 ? references(row) : null;
2286
+ digests.set(codedIndex, digest);
2287
+ }
2288
+ return digest;
2289
+ };
2290
+ };
2291
+ })))();
2292
+ }
2293
+
2078
2294
  //#endregion
2079
2295
  //#region dist/dotnet/ManagedTypeNames.js
2080
2296
  var typeNameLookup;
2081
2297
  function init_ManagedTypeNames() {
2082
2298
  return (init_ManagedTypeNames = __esmMin((() => {
2083
- init_ManagedDecodeBudget();
2084
2299
  init_ManagedMemberInspectorCore();
2085
2300
  init_ManagedMetadataLayout();
2086
2301
  init_ManagedMetadataHeaps();
2087
2302
  init_ManagedReaderFailure();
2088
- typeNameLookup = (bytes, layout, ranges, issues) => {
2303
+ typeNameLookup = (bytes, layout, ranges, issues, references) => {
2089
2304
  const names = new Map();
2090
- const checkedScopes = new Set();
2091
- const validateScopeChain = (row) => {
2092
- const path = new Set();
2093
- let current = row;
2094
- while (!checkedScopes.has(current)) {
2095
- const cursor = metadataRowCursor(bytes, layout, 1, current);
2096
- if (path.has(current)) {
2097
- issues.push({
2098
- code: "invalid-row",
2099
- scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2100
- offset: cursor.start,
2101
- detail: "TypeRef ResolutionScope chain contains a cycle"
2102
- });
2103
- break;
2104
- }
2105
- managedDecodeBudget(layout).reserve(128, cursor.start);
2106
- path.add(current);
2107
- const raw = cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2108
- const reason = metadataCodedTokenInvalidReason(raw, 2, [
2109
- 0,
2110
- 26,
2111
- 35,
2112
- 1
2113
- ], layout.rowCounts);
2114
- if (reason !== null) {
2115
- issues.push({
2116
- code: "invalid-row",
2117
- scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2118
- offset: cursor.start,
2119
- detail: `TypeRef ResolutionScope coded index 0x${raw.toString(16)} is invalid: ${reason}`
2120
- });
2121
- break;
2122
- }
2123
- if (raw === 0 || (raw & 3) !== 3) break;
2124
- current = Math.floor(raw / 4);
2125
- }
2126
- for (const visited of path) checkedScopes.add(visited);
2127
- };
2128
2305
  const definitionName = (table, row) => {
2129
2306
  if (table === 2) {
2130
2307
  metadataRowOffset(layout, 2, row);
2131
2308
  return ranges[row - 1]?.fullName ?? null;
2132
2309
  }
2133
- const cursor = metadataRowCursor(bytes, layout, 1, row);
2134
- cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2135
- readManagedValue(() => validateScopeChain(row), issues);
2136
- const name = cursor.readIndex(layout.stringIndexSize);
2137
- const namespace = cursor.readIndex(layout.stringIndexSize);
2138
- return fullName(readMetadataString(bytes, layout, namespace, layout.strings.size), readMetadataString(bytes, layout, name, layout.strings.size));
2310
+ const reference = references(row);
2311
+ return reference === null ? null : fullName(reference.namespace, reference.name);
2139
2312
  };
2140
2313
  const specName = (row) => {
2141
2314
  const cursor = metadataRowCursor(bytes, layout, 27, row);
@@ -2165,6 +2338,103 @@ function init_ManagedTypeNames() {
2165
2338
  })))();
2166
2339
  }
2167
2340
 
2341
+ //#endregion
2342
+ //#region dist/dotnet/ManagedTypeReferences.js
2343
+ var managedTypeReferences;
2344
+ function init_ManagedTypeReferences() {
2345
+ return (init_ManagedTypeReferences = __esmMin((() => {
2346
+ init_ManagedDecodeBudget();
2347
+ init_ManagedMetadataHeaps();
2348
+ init_ManagedReaderFailure();
2349
+ init_ManagedMetadataLayout();
2350
+ managedTypeReferences = (bytes, layout, issues) => {
2351
+ const rows = new Map();
2352
+ const names = new Map();
2353
+ const checked = new Map();
2354
+ const read = (row) => {
2355
+ const cached = rows.get(row);
2356
+ if (cached !== undefined) return cached;
2357
+ managedDecodeBudget(layout).reserve(384, null);
2358
+ const value = readManagedValue(() => {
2359
+ const cursor = metadataRowCursor(bytes, layout, 1, row);
2360
+ const raw = cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2361
+ const reason = metadataCodedTokenInvalidReason(raw, 2, [
2362
+ 0,
2363
+ 26,
2364
+ 35,
2365
+ 1
2366
+ ], layout.rowCounts);
2367
+ if (reason !== null) issues.push({
2368
+ code: "invalid-row",
2369
+ scope: `metadata.TypeRef:${metadataToken(1, row)}`,
2370
+ offset: cursor.start,
2371
+ detail: `TypeRef ResolutionScope coded index 0x${raw.toString(16)} is invalid: ${reason}`
2372
+ });
2373
+ return {
2374
+ nameIndex: cursor.readIndex(layout.stringIndexSize),
2375
+ namespaceIndex: cursor.readIndex(layout.stringIndexSize),
2376
+ enclosingRow: raw !== 0 && (raw & 3) === 3 ? Math.floor(raw / 4) : null,
2377
+ scopeValid: reason === null
2378
+ };
2379
+ }, issues) ?? null;
2380
+ rows.set(row, value);
2381
+ return value;
2382
+ };
2383
+ const validate = (row) => {
2384
+ const prior = checked.get(row);
2385
+ if (prior !== undefined) return prior;
2386
+ const path = [];
2387
+ const seen = new Set();
2388
+ let current = row;
2389
+ let valid = true;
2390
+ while (current !== null) {
2391
+ const known = checked.get(current);
2392
+ if (known !== undefined) {
2393
+ valid = known;
2394
+ break;
2395
+ }
2396
+ if (seen.has(current)) {
2397
+ issues.push({
2398
+ code: "invalid-row",
2399
+ scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2400
+ offset: metadataRowOffset(layout, 1, current),
2401
+ detail: "TypeRef ResolutionScope chain contains a cycle"
2402
+ });
2403
+ valid = false;
2404
+ break;
2405
+ }
2406
+ seen.add(current);
2407
+ path.push(current);
2408
+ const value = read(current);
2409
+ if (value === null || !value.scopeValid) {
2410
+ valid = false;
2411
+ break;
2412
+ }
2413
+ current = value.enclosingRow;
2414
+ }
2415
+ for (const visited of path) checked.set(visited, valid);
2416
+ return valid;
2417
+ };
2418
+ return (row) => {
2419
+ const cached = names.get(row);
2420
+ if (cached !== undefined) return cached;
2421
+ const value = read(row);
2422
+ if (value === null) return null;
2423
+ const scopeValid = validate(row);
2424
+ managedDecodeBudget(layout).reserve(128, null);
2425
+ const named = readManagedValue(() => ({
2426
+ namespace: readMetadataString(bytes, layout, value.namespaceIndex, layout.strings.size),
2427
+ name: readMetadataString(bytes, layout, value.nameIndex, layout.strings.size),
2428
+ enclosingRow: value.enclosingRow,
2429
+ scopeValid
2430
+ }), issues) ?? null;
2431
+ names.set(row, named);
2432
+ return named;
2433
+ };
2434
+ };
2435
+ })))();
2436
+ }
2437
+
2168
2438
  //#endregion
2169
2439
  //#region dist/dotnet/ManagedUserStrings.js
2170
2440
  var inventory, USER_STRING_TOKEN_BYTES, parseUserStrings;
@@ -3651,7 +3921,7 @@ function init_ManagedMemberRows() {
3651
3921
  init_ManagedMethodBodyReader();
3652
3922
  init_ManagedMemberOwnership();
3653
3923
  isSelected = (selected, declared) => selected === null || declared !== undefined && selected.has(declared.token);
3654
- parseFields = (bytes, layout, ranges, memberLists, selected = null) => {
3924
+ parseFields = (bytes, layout, ranges, memberLists, { signatureTypeName, selected = null }) => {
3655
3925
  const fields = [];
3656
3926
  const core = new Map();
3657
3927
  const issues = [];
@@ -3680,7 +3950,7 @@ function init_ManagedMemberRows() {
3680
3950
  declaring_type: declared?.fullName ?? null,
3681
3951
  name,
3682
3952
  flags,
3683
- signature: budgetedSignature(sig, layout)
3953
+ signature: budgetedSignature(sig, layout, signatureTypeName)
3684
3954
  });
3685
3955
  }, issues);
3686
3956
  }
@@ -3737,7 +4007,7 @@ function init_ManagedMemberRows() {
3737
4007
  issues
3738
4008
  };
3739
4009
  };
3740
- parseMemberRefs = (bytes, layout, typeName) => {
4010
+ parseMemberRefs = (bytes, layout, typeName, signatureTypeName) => {
3741
4011
  const refs = [];
3742
4012
  const core = new Map();
3743
4013
  const issues = [];
@@ -3770,7 +4040,7 @@ function init_ManagedMemberRows() {
3770
4040
  27
3771
4041
  ], layout.rowCounts);
3772
4042
  const parentName = typeName(parentToken);
3773
- const decoded = budgetedSignature(sig, layout);
4043
+ const decoded = budgetedSignature(sig, layout, signatureTypeName);
3774
4044
  refs.push({
3775
4045
  token,
3776
4046
  row_offset: cursor.start,
@@ -3794,7 +4064,7 @@ function init_ManagedMemberRows() {
3794
4064
  issues
3795
4065
  };
3796
4066
  };
3797
- parseMethods = ({ bytes, layout, pe, ranges, memberLists, selected = null, methodOffset = 0, methodLimit = Number.MAX_SAFE_INTEGER }) => {
4067
+ parseMethods = ({ bytes, layout, pe, ranges, signatureTypeName, memberLists, selected = null, methodOffset = 0, methodLimit = Number.MAX_SAFE_INTEGER }) => {
3798
4068
  const methods = [];
3799
4069
  const core = new Map();
3800
4070
  const issues = [];
@@ -3825,7 +4095,7 @@ function init_ManagedMemberRows() {
3825
4095
  if (!isSelected(selected, declared)) return;
3826
4096
  const sig = readMetadataBlob(bytes, layout, cursor.readIndex(layout.blobIndexSize), layout.blob.size);
3827
4097
  cursor.readIndex(layout.tableIndexSize(8));
3828
- const decoded = budgetedSignature(sig, layout);
4098
+ const decoded = budgetedSignature(sig, layout, signatureTypeName);
3829
4099
  core.set(token, {
3830
4100
  ...member,
3831
4101
  genericArity: signatureGenericArity(decoded)
@@ -3906,11 +4176,11 @@ function init_ManagedMemberRows() {
3906
4176
  };
3907
4177
  callerName = (method) => method.declaring_type === null ? method.name : `${method.declaring_type}.${method.name}`;
3908
4178
  callerNameBytes = (method) => method.declaring_type === null ? managedJsonStringBytes(method.name) : managedJsonStringBytes(method.declaring_type) + managedJsonStringBytes(method.name) - 1;
3909
- budgetedSignature = (bytes, layout) => {
4179
+ budgetedSignature = (bytes, layout, signatureTypeName) => {
3910
4180
  const budget = managedDecodeBudget(layout);
3911
4181
  budget.admitTransient(bytes.length * 256, layout.blob.offset);
3912
4182
  try {
3913
- return admitManagedProjection(signature(bytes, budget.digest(bytes, "sha256")), budget);
4183
+ return admitManagedProjection(signature(bytes, budget.digest(bytes, "sha256"), signatureTypeName), budget);
3914
4184
  } finally {
3915
4185
  budget.releaseTransient();
3916
4186
  }
@@ -3931,7 +4201,9 @@ function init_ManagedMemberInspector() {
3931
4201
  init_ManagedReaderFailure();
3932
4202
  init_ManagedMemberInspectorCore();
3933
4203
  init_ManagedMethodSpecs();
4204
+ init_ManagedTypeNameDigests();
3934
4205
  init_ManagedTypeNames();
4206
+ init_ManagedTypeReferences();
3935
4207
  init_ManagedUserStrings();
3936
4208
  init_ManagedTypeMemberLists();
3937
4209
  init_ManagedMemberRows();
@@ -3954,6 +4226,8 @@ function init_ManagedMemberInspector() {
3954
4226
  requires_mvid: null
3955
4227
  },
3956
4228
  types: [],
4229
+ signature_resolution: "type-names-v1",
4230
+ nesting_read: false,
3957
4231
  exported_types: null,
3958
4232
  user_strings: null,
3959
4233
  fields: [],
@@ -4021,14 +4295,20 @@ function init_ManagedMemberInspector() {
4021
4295
  appendManagedParseIssues(issues, parsedTypes.issues);
4022
4296
  const exportedTypes = parseExportedTypes(bytes, layout);
4023
4297
  appendManagedParseIssues(issues, exportedTypes.issues);
4024
- const fields = parseFields(bytes, layout, ranges, memberLists, selected);
4025
- const memberRefs = parseMemberRefs(bytes, layout, typeNameLookup(bytes, layout, ranges, issues));
4298
+ const typeReferences = managedTypeReferences(bytes, layout, issues);
4299
+ const signatureTypeName = managedTypeNameDigests(layout, issues, parsedTypes, typeReferences);
4300
+ const fields = parseFields(bytes, layout, ranges, memberLists, {
4301
+ signatureTypeName,
4302
+ selected
4303
+ });
4304
+ const memberRefs = parseMemberRefs(bytes, layout, typeNameLookup(bytes, layout, ranges, issues, typeReferences), signatureTypeName);
4026
4305
  appendManagedParseIssues(issues, memberRefs.issues);
4027
4306
  const methods = parseMethods({
4028
4307
  bytes,
4029
4308
  layout,
4030
4309
  pe,
4031
4310
  ranges,
4311
+ signatureTypeName,
4032
4312
  memberLists,
4033
4313
  selected,
4034
4314
  methodOffset,
@@ -4045,13 +4325,21 @@ function init_ManagedMemberInspector() {
4045
4325
  methods.core
4046
4326
  ]);
4047
4327
  appendManagedParseIssues(issues, targets.issues);
4048
- const coverageIssues = uniqueManagedParseIssues(issues);
4049
4328
  const incompleteMembers = [
4050
4329
  ...fields.fields,
4051
4330
  ...memberRefs.refs,
4052
4331
  ...methods.methods
4053
4332
  ].some((member) => member.signature.parse_status !== "decoded") || methods.methods.some((method) => method.body.status === "partial" || method.body.status === "malformed");
4054
4333
  const related = edges(methods.methods, targets.members, managedDecodeBudget(layout));
4334
+ const types = parsedTypes.types.filter((type) => selected === null || selected.has(type.token)).map((type) => {
4335
+ managedDecodeBudget(layout).reserve(512, type.row_offset);
4336
+ return {
4337
+ ...type,
4338
+ name_sha256: signatureTypeName(Number.parseInt(type.token.slice(4), 16) * 4)?.toString("hex") ?? null
4339
+ };
4340
+ });
4341
+ const unnamedTypes = types.reduce((count, type) => count + Number(type.name_sha256 === null), 0);
4342
+ const coverageIssues = uniqueManagedParseIssues(issues);
4055
4343
  return managedMemberInspectionSchema.parse(admitManagedProjection({
4056
4344
  artifact: {
4057
4345
  path: target.path,
@@ -4070,7 +4358,9 @@ function init_ManagedMemberInspector() {
4070
4358
  requires_artifact_sha256: target.sha256,
4071
4359
  requires_mvid: inventory.module?.mvid ?? null
4072
4360
  },
4073
- types: selected === null ? parsedTypes.types : parsedTypes.types.filter((type) => selected.has(type.token)),
4361
+ types,
4362
+ signature_resolution: "type-names-v1",
4363
+ nesting_read: parsedTypes.nesting.complete,
4074
4364
  exported_types: exportedTypes.exportedTypes,
4075
4365
  fields: fields.fields,
4076
4366
  methods: methods.methods,
@@ -4084,6 +4374,7 @@ function init_ManagedMemberInspector() {
4084
4374
  issues: coverageIssues
4085
4375
  },
4086
4376
  limitations: [
4377
+ ...unnamedTypes === 0 ? [] : [`${String(unnamedTypes)} returned TypeDef name identity(s) remain unresolved; incomplete, missing, contradictory, cyclic or over-deep enclosing facts cannot be repaired by bare display names.`],
4087
4378
  "Metadata tokens are build-local coordinates and are only meaningful with the reported artifact SHA-256 and MVID.",
4088
4379
  "CIL instruction anchors are decoded from file-backed method bodies only; no target assembly is loaded or executed.",
4089
4380
  "Exported types are reported from ExportedType rows as declared; forwarded types are not resolved in their implementing assemblies.",
@@ -4138,16 +4429,15 @@ function init_ManagedSnapshot() {
4138
4429
  if (metadata.size > 134217728) throw managedSnapshotCapacityError(operation);
4139
4430
  const digest = createHash("sha256");
4140
4431
  let byteLength = 0;
4141
- const stream = handle.createReadStream({
4142
- autoClose: false,
4143
- ...signal === undefined ? {} : { signal }
4144
- });
4145
- for await (const chunk of stream) {
4432
+ const chunk = Buffer.allocUnsafe(64 * 1024);
4433
+ for (;;) {
4146
4434
  signal?.throwIfAborted();
4147
- if (!Buffer.isBuffer(chunk)) throw new TypeError("Managed source stream returned non-buffer data");
4148
- if (chunk.length > 134217728 - byteLength) throw managedSnapshotCapacityError(operation);
4149
- byteLength += chunk.length;
4150
- digest.update(chunk);
4435
+ const { bytesRead } = await handle.read(chunk, 0, Math.min(chunk.length, MAX_MANAGED_SNAPSHOT_BYTES - byteLength + 1), null);
4436
+ signal?.throwIfAborted();
4437
+ if (bytesRead === 0) break;
4438
+ if (bytesRead > 134217728 - byteLength) throw managedSnapshotCapacityError(operation);
4439
+ byteLength += bytesRead;
4440
+ digest.update(chunk.subarray(0, bytesRead));
4151
4441
  }
4152
4442
  return {
4153
4443
  byteLength,
@@ -4158,6 +4448,7 @@ function init_ManagedSnapshot() {
4158
4448
  throw normalizeManagedReadFailure(cause, path, operation, options.signal);
4159
4449
  });
4160
4450
  normalizeManagedReadFailure = (cause, fallbackPath, operation, signal) => {
4451
+ if (signal?.aborted === true && cause === signal.reason) return normalizeReadFailure(cause, fallbackPath, operation, signal);
4161
4452
  const cleanupError = managedCleanupError(cause, fallbackPath, operation, signal);
4162
4453
  if (cleanupError !== undefined) return cleanupError;
4163
4454
  return normalizeReadFailure(cause, fallbackPath, operation, signal);
@@ -4177,9 +4468,14 @@ function init_ManagedSnapshot() {
4177
4468
  });
4178
4469
  return undefined;
4179
4470
  };
4180
- normalizeReadFailure = (cause, path, operation, signal) => cause instanceof RegularFileChangedError ? new EvidenceIntegrityError(`Managed source changed while ${operation} was reading ${path}.`, { cause }) : cause instanceof AnalysisError ? cause : classifyBinaryTargetFilesystemFailure(path, cause) ?? (signal?.aborted === true ? new AnalysisCancelledError(operation, { cause }) : cause);
4471
+ normalizeReadFailure = (cause, path, operation, signal) => {
4472
+ if (signal?.aborted === true && cause === signal.reason) return new AnalysisCancelledError(operation, { cause });
4473
+ if (cause instanceof RegularFileChangedError) return new EvidenceIntegrityError(`Managed source changed while ${operation} was reading ${path}.`, { cause });
4474
+ if (cause instanceof AnalysisError) return cause;
4475
+ return classifyBinaryTargetFilesystemFailure(path, cause) ?? (signal?.aborted === true ? new AnalysisCancelledError(operation, { cause }) : cause);
4476
+ };
4181
4477
  })))();
4182
4478
  }
4183
4479
 
4184
4480
  //#endregion
4185
- export { ManagedReaderFailure, admitManagedProjection, hashManagedSource, init_ManagedDecodeBudget, init_ManagedMemberInspector, init_ManagedMetadataHeaps, init_ManagedMetadataInventory, init_ManagedMetadataLayout, init_ManagedPeReader, init_ManagedReaderFailure, init_ManagedSnapshot, init_ManagedTypeMemberLists, inspectManagedMembersBytes, managedCleanupError, managedCli32BitRequirement, managedDecodeBudget, managedTableRowCounts, metadataCodedToken, metadataCodedTokenInvalidReason, metadataRowCursor, metadataToken, readManagedMetadataInventory, readManagedMetadataLayout, readManagedPeLayout, readManagedResourceDirectory, readManagedSnapshot, readManagedValue, readMetadataString, readTypeMemberListFacts };
4481
+ export { ManagedReaderFailure, admitManagedProjection, hashManagedSource, init_ManagedDecodeBudget, init_ManagedMemberInspector, init_ManagedMetadataHeaps, init_ManagedMetadataInventory, init_ManagedMetadataLayout, init_ManagedPeReader, init_ManagedReaderFailure, init_ManagedSnapshot, init_ManagedTypeMemberLists, inspectManagedMembersBytes, managedCleanupError, managedCli32BitRequirement, managedCliIsMixedClrNative, managedDecodeBudget, managedTableRowCounts, metadataCodedToken, metadataCodedTokenInvalidReason, metadataRowCursor, metadataToken, readManagedMetadataInventory, readManagedMetadataLayout, readManagedPeLayout, readManagedResourceDirectory, readManagedSnapshot, readManagedValue, readMetadataString, readTypeMemberListFacts };