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,19 @@
1
1
  import { n as __exportAll, t as __esmMin } from "./rolldown-runtime-BjeaiXFo.js";
2
- import { _ as ok, a as AnalysisCapabilityUnavailableError, f as init_analysisErrorCore, g as init_result, h as err, i as AnalysisCancelledError, l as AnalysisResourceConstraintError, m as init_analysisErrorBase, o as AnalysisInputError, p as AnalysisError } from "./analysisErrorCore-DXRTvF_m.js";
3
- import { d as init_evidenceErrors, l as EvidenceIntegrityError } from "./analysisErrorProjection-BN0EPM-3.js";
4
- import { a as createAnalysisExecution, i as init_providerCleanupError, n as init_ArtifactResourceScope, o as init_AnalysisProvider, r as ProviderCleanupError, t as ArtifactResourceScope } from "./ArtifactResourceScope-P3tq5z8Z.js";
5
- import { d as init_RegularFile, u as RegularFileChangedError } from "./propertyListKeys-DD25WsjI.js";
6
- import { ar as managedArtifactInspectionSchema, ir as init_managedArtifact, or as managedMemberInspectionSchema, sr as managedNativeBoundaryInspectionSchema } from "./toolOutputSchemaGroups-ColvNZ1r.js";
7
- import { n as init_providerAdapterError, t as ProviderAdapterError } from "./providerAdapterError-sDxToNal.js";
8
- import { i as init_analysisErrorCleanup, n as readBoundedFileBytes, r as analysisErrorWithCleanupFailure, t as init_BoundedFileBytes } from "./BoundedFileBytes-DuczXiQZ.js";
9
- import { a as init_RegularFileRead, c as withRegularFile, d as decodePeMachine, f as init_peMachine, i as RegularFileCleanupFailure, n as init_BinaryTargetResolver, t as classifyBinaryTargetFilesystemFailure } from "./BinaryTargetResolver-BMaE_0H1.js";
10
- import { D as MANAGED_STATIC_PROVIDER, P as init_InvestigationProviders } from "./InterfaceBuilderDecodeBudget-5F2AkxJT.js";
11
- import { a as managedTargetInputSchema, i as managedMembersInputSchema, n as init_managedToolContracts, t as MANAGED_TOOL_CONTRACTS } from "./managedToolContracts-CK--I_s7.js";
12
- import { r as init_ArtifactReader, t as ArtifactReaderFailure } from "./ArtifactReader-OyM03Gjn.js";
2
+ import { A as err, D as AnalysisError, M as ok, O as init_analysisErrorBase, a as AnalysisCapabilityUnavailableError, f as init_analysisErrorCore, i as AnalysisCancelledError, j as init_result, l as AnalysisResourceConstraintError, o as AnalysisInputError } from "./analysisErrorCore-BIEP7tvF.js";
3
+ import { d as init_evidenceErrors, l as EvidenceIntegrityError } from "./analysisErrorProjection-B8teQwwD.js";
4
+ import { i as init_ArtifactReader, t as ArtifactReaderFailure } from "./ArtifactReader-BrnwNaKY.js";
5
+ import { c as RegularFileCleanupFailure, h as RegularFileChangedError, l as init_OwnedRegularFile, v as init_RegularFile } from "./machoContainer-CMSxUBlK.js";
6
+ import { n as init_providerCleanupError, t as ProviderCleanupError } from "./providerCleanupError-DIRHxzWo.js";
7
+ import { n as ArtifactResourceScope, r as init_ArtifactResourceScope } from "./ArtifactResourceScope-zi3Dkqzy.js";
8
+ import { n as readBoundedFileBytes, t as init_BoundedFileBytes } from "./BoundedFileBytes-DYt5q9G2.js";
9
+ import { l as withRegularFile, n as init_BinaryTargetResolver, o as init_RegularFileRead, t as classifyBinaryTargetFilesystemFailure } from "./BinaryTargetResolver-BUncASDP.js";
10
+ import { r as init_AnalysisProvider, t as createAnalysisExecution } from "./AnalysisProvider-BABWbLoM.js";
11
+ import { i as init_providerAdapterError, r as ProviderAdapterError } from "./browserObservationError-C5okJ5el.js";
12
+ import { n as init_analysisErrorCleanup, t as analysisErrorWithCleanupFailure } from "./analysisErrorCleanup-Q344SnTO.js";
13
+ import { n as init_peMachine, t as decodePeMachine } from "./peMachine-aP1iYnHq.js";
14
+ import { D as MANAGED_STATIC_PROVIDER, P as init_InvestigationProviders } from "./callerPath-CpPnMZyN.js";
15
+ import { cr as managedMemberInspectionSchema, lr as managedNativeBoundaryInspectionSchema, or as init_managedArtifact, sr as managedArtifactInspectionSchema } from "./toolOutputSchemaGroups-MJ_f-PMK.js";
16
+ import { a as managedTargetInputSchema, i as managedMembersInputSchema, n as init_managedToolContracts, t as MANAGED_TOOL_CONTRACTS } from "./managedToolContracts-CSlbKJP-.js";
13
17
  import { createHash } from "node:crypto";
14
18
 
15
19
  //#region dist/dotnet/ManagedStaticProviderMetadata.js
@@ -85,6 +89,7 @@ function init_ManagedDecodeBudget() {
85
89
  #rows = new Map();
86
90
  #strings = new Map();
87
91
  #digests = new WeakMap();
92
+ #prepaid = new WeakSet();
88
93
  reserve(bytes, offset) {
89
94
  this.#admit(bytes, offset);
90
95
  this.#remaining -= bytes;
@@ -131,6 +136,14 @@ function init_ManagedDecodeBudget() {
131
136
  ranges.set(key, digest);
132
137
  return digest;
133
138
  }
139
+ /** Record an admitted projection; its next serialized occurrence is already charged. */
140
+ prepay(value) {
141
+ this.#prepaid.add(value);
142
+ }
143
+ /** Spend an admitted projection's charge once; repeated occurrences pay again. */
144
+ consumePrepaid(value) {
145
+ return this.#prepaid.delete(value);
146
+ }
134
147
  cachedString(index) {
135
148
  return this.#strings.get(index);
136
149
  }
@@ -181,6 +194,7 @@ function init_ManagedDecodeBudget() {
181
194
  jsonBytes = (item) => typeof item === "string" ? managedJsonStringBytes(item) : Buffer.byteLength(JSON.stringify(item) ?? "null");
182
195
  admitManagedProjection = (value, budget = new ManagedDecodeBudget()) => {
183
196
  const visit = (item) => {
197
+ if (item !== null && typeof item === "object" && budget.consumePrepaid(item)) return;
184
198
  if (Array.isArray(item)) {
185
199
  budget.reserve(item.length + 2, null);
186
200
  for (const child of item) visit(child);
@@ -195,6 +209,7 @@ function init_ManagedDecodeBudget() {
195
209
  }
196
210
  };
197
211
  visit(value);
212
+ if (value !== null && typeof value === "object") budget.prepay(value);
198
213
  return value;
199
214
  };
200
215
  })))();
@@ -202,7 +217,7 @@ function init_ManagedDecodeBudget() {
202
217
 
203
218
  //#endregion
204
219
  //#region dist/dotnet/ManagedPeReader.js
205
- var managedCli32BitRequirement, requireRange$1, add, architectureFor, resolveRva, mapRva, readDirectory, readCliHeader, readCoffHeader, readOptionalHeader, readSections, readCliDirectory, readManagedPeLayout;
220
+ var managedCli32BitRequirement, managedCliIsMixedClrNative, requireRange$1, add, architectureFor, resolveRva, mapRva, readDirectory, readCliHeader, readCoffHeader, readOptionalHeader, readSections, readCliDirectory, readManagedPeLayout;
206
221
  function init_ManagedPeReader() {
207
222
  return (init_ManagedPeReader = __esmMin((() => {
208
223
  init_peMachine();
@@ -212,6 +227,7 @@ function init_ManagedPeReader() {
212
227
  if (pair === 2) return "required";
213
228
  return pair === 131074 ? "preferred" : "none";
214
229
  };
230
+ managedCliIsMixedClrNative = (cli) => (cli.flags & 1) === 0 && !cli.readyToRunSignature;
215
231
  requireRange$1 = (bytes, offset, length, scope) => {
216
232
  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);
217
233
  };
@@ -644,17 +660,17 @@ function init_ManagedMetadataLayout() {
644
660
  }
645
661
  };
646
662
  SUPPORTED_TABLE_MASK = (1n << BigInt(METADATA_TABLE_NAMES.length)) - 1n;
647
- requireRange = (bytes, offset, length, scope) => {
648
- 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);
663
+ requireRange = (bytes, base, offset, length, scope) => {
664
+ 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);
649
665
  };
650
666
  align4 = (value) => Math.ceil(value / 4) * 4;
651
- readStreamName = (bytes, offset) => {
667
+ readStreamName = (bytes, rootOffset, offset) => {
652
668
  const endLimit = Math.min(bytes.length, offset + 32);
653
669
  let end = offset;
654
670
  while (end < endLimit && bytes[end] !== 0) end += 1;
655
- if (end === endLimit) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is missing a bounded terminator", offset);
671
+ if (end === endLimit) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is missing a bounded terminator", rootOffset + offset);
656
672
  const nameBytes = bytes.subarray(offset, end);
657
- if (nameBytes.some((byte) => byte < 32 || byte > 126)) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is not printable ASCII", offset);
673
+ if (nameBytes.some((byte) => byte < 32 || byte > 126)) throw managedFailure("invalid-stream", "metadata.stream-name", "Metadata stream name is not printable ASCII", rootOffset + offset);
658
674
  return {
659
675
  name: nameBytes.toString("ascii"),
660
676
  next: align4(end + 1)
@@ -682,25 +698,25 @@ function init_ManagedMetadataLayout() {
682
698
  readMetadataStreams = (bytes, rootOffset, budget) => {
683
699
  if (bytes.readUInt32LE(0) !== 1112167234) throw managedFailure("invalid-metadata-root", "metadata.signature", "CLI metadata signature is not BSJB", rootOffset);
684
700
  const versionLength = bytes.readUInt32LE(12);
685
- requireRange(bytes, 16, versionLength, "metadata.version");
701
+ requireRange(bytes, rootOffset, 16, versionLength, "metadata.version");
686
702
  const versionBytes = bytes.subarray(16, 16 + versionLength);
687
703
  const zero = versionBytes.indexOf(0);
688
704
  const decodedVersionLength = zero < 0 ? versionBytes.length : zero;
689
705
  budget.reserveString(decodedVersionLength, rootOffset + 16);
690
706
  const version = versionBytes.subarray(0, decodedVersionLength).toString("utf8");
691
707
  let cursor = align4(16 + versionLength);
692
- requireRange(bytes, cursor, 4, "metadata.stream-count");
708
+ requireRange(bytes, rootOffset, cursor, 4, "metadata.stream-count");
693
709
  const streamCount = bytes.readUInt16LE(cursor + 2);
694
710
  if (streamCount === 0 || streamCount > 64) throw managedFailure("invalid-stream", "metadata.stream-count", "Metadata stream count is outside the admitted range", rootOffset + cursor + 2);
695
711
  cursor += 4;
696
712
  const streams = new Map();
697
713
  for (let index = 0; index < streamCount; index += 1) {
698
- requireRange(bytes, cursor, 8, "metadata.stream-header");
714
+ requireRange(bytes, rootOffset, cursor, 8, "metadata.stream-header");
699
715
  const relativeOffset = bytes.readUInt32LE(cursor);
700
716
  const streamSize = bytes.readUInt32LE(cursor + 4);
701
- const named = readStreamName(bytes, cursor + 8);
717
+ const named = readStreamName(bytes, rootOffset, cursor + 8);
702
718
  if (streams.has(named.name)) throw managedFailure("invalid-stream", "metadata.stream-header", `Duplicate metadata stream ${named.name}`, rootOffset + cursor);
703
- requireRange(bytes, relativeOffset, streamSize, `metadata.${named.name}`);
719
+ requireRange(bytes, rootOffset, relativeOffset, streamSize, `metadata.${named.name}`);
704
720
  streams.set(named.name, {
705
721
  name: named.name,
706
722
  offset: rootOffset + relativeOffset,
@@ -717,7 +733,7 @@ function init_ManagedMetadataLayout() {
717
733
  const tablesStream = streamByName(streams, ["#~", "#-"]);
718
734
  if (tablesStream === undefined) throw managedFailure("missing-stream", "metadata.tables", "Required metadata table stream #~ or #- is absent");
719
735
  const tableBytes = bytes.subarray(tablesStream.offset, tablesStream.offset + tablesStream.size);
720
- requireRange(tableBytes, 0, 24, "metadata.tables-header");
736
+ requireRange(tableBytes, tablesStream.offset, 0, 24, "metadata.tables-header");
721
737
  const heapSizes = tableBytes[6] ?? 0;
722
738
  const heaps = {
723
739
  string: (heapSizes & 1) === 0 ? 2 : 4,
@@ -733,12 +749,12 @@ function init_ManagedMetadataLayout() {
733
749
  valid
734
750
  };
735
751
  };
736
- readRowCounts = (tableBytes, valid) => {
752
+ readRowCounts = (tableBytes, tablesOffset, valid) => {
737
753
  const rowCounts = Array(METADATA_TABLE_NAMES.length).fill(0);
738
754
  let tableCursor = 24;
739
755
  for (let index = 0; index < METADATA_TABLE_NAMES.length; index += 1) {
740
756
  if ((valid & 1n << BigInt(index)) === 0n) continue;
741
- requireRange(tableBytes, tableCursor, 4, "metadata.table-row-count");
757
+ requireRange(tableBytes, tablesOffset, tableCursor, 4, "metadata.table-row-count");
742
758
  const count = tableBytes.readUInt32LE(tableCursor);
743
759
  rowCounts[index] = count;
744
760
  tableCursor += 4;
@@ -770,7 +786,7 @@ function init_ManagedMetadataLayout() {
770
786
  const sizeOfRow = computeRowSize(index, context);
771
787
  const byteLength = count * sizeOfRow;
772
788
  if (!Number.isSafeInteger(byteLength)) throw managedFailure("invalid-tables", "metadata.tables", "Metadata table byte size overflowed", tablesOffset + tableCursor);
773
- requireRange(tableBytes, tableCursor, byteLength, "metadata.table-data");
789
+ requireRange(tableBytes, tablesOffset, tableCursor, byteLength, "metadata.table-data");
774
790
  tables.set(index, {
775
791
  index,
776
792
  name: METADATA_TABLE_NAMES[index] ?? `Table${String(index)}`,
@@ -788,7 +804,7 @@ function init_ManagedMetadataLayout() {
788
804
  const budget = new ManagedDecodeBudget();
789
805
  const { streams, version } = readMetadataStreams(bytes, rootOffset, budget);
790
806
  const { tableBytes, tablesOffset, heaps, valid } = readTablesHeader(artifact, streams);
791
- const rowCounts = readRowCounts(tableBytes, valid);
807
+ const rowCounts = readRowCounts(tableBytes, tablesOffset, valid);
792
808
  const tables = buildMetadataTables({
793
809
  tableBytes,
794
810
  rowCounts,
@@ -1030,7 +1046,6 @@ function init_ManagedMetadataHeaps() {
1030
1046
  const start = layout.strings.offset + index;
1031
1047
  const cached = managedDecodeBudget(layout).cachedString(index);
1032
1048
  if (cached !== undefined && cached.encodedBytes <= heapExtent) {
1033
- managedDecodeBudget(layout).reserveString(cached.encodedBytes, start);
1034
1049
  return cached.value;
1035
1050
  }
1036
1051
  const maximum = Math.min(layout.strings.offset + layout.strings.size, start + heapExtent + 1);
@@ -1773,7 +1788,7 @@ function init_ManagedArtifactInspector() {
1773
1788
  limitations
1774
1789
  }));
1775
1790
  };
1776
- runtimeFamilyFromCliHeader = (cli) => cli?.readyToRunSignature === true ? "modern-dotnet" : cli !== null && (cli.flags & 1) === 0 ? "mixed-clr-native" : "unknown";
1791
+ runtimeFamilyFromCliHeader = (cli) => cli?.readyToRunSignature === true ? "modern-dotnet" : cli !== null && managedCliIsMixedClrNative(cli) ? "mixed-clr-native" : "unknown";
1777
1792
  runtimeFamilyFor = (cli, inventory, metadata, layout) => {
1778
1793
  const evidence = [{
1779
1794
  code: "cli-header-observed",
@@ -1950,13 +1965,44 @@ function init_ManagedArtifactInspector() {
1950
1965
  })))();
1951
1966
  }
1952
1967
 
1968
+ //#endregion
1969
+ //#region dist/dotnet/ManagedTypeNesting.js
1970
+ var readManagedTypeNesting;
1971
+ function init_ManagedTypeNesting() {
1972
+ return (init_ManagedTypeNesting = __esmMin((() => {
1973
+ init_ManagedDecodeBudget();
1974
+ init_ManagedMetadataHeaps();
1975
+ init_ManagedReaderFailure();
1976
+ readManagedTypeNesting = (bytes, layout, issues) => {
1977
+ const initialIssues = issues.length;
1978
+ const typeCount = layout.table(2)?.rowCount ?? 0;
1979
+ const enclosing = new Map();
1980
+ for (let row = 1; row <= (layout.table(41)?.rowCount ?? 0); row += 1) {
1981
+ readManagedValue(() => {
1982
+ const cursor = metadataRowCursor(bytes, layout, 41, row);
1983
+ const nested = cursor.readIndex(layout.tableIndexSize(2));
1984
+ const outer = cursor.readIndex(layout.tableIndexSize(2));
1985
+ 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);
1986
+ managedDecodeBudget(layout).reserve(128, cursor.start);
1987
+ enclosing.set(nested, outer);
1988
+ }, issues);
1989
+ }
1990
+ return {
1991
+ enclosing,
1992
+ complete: issues.length === initialIssues
1993
+ };
1994
+ };
1995
+ })))();
1996
+ }
1997
+
1953
1998
  //#endregion
1954
1999
  //#region dist/dotnet/ManagedMemberInspectorCore.js
1955
- 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;
2000
+ 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;
1956
2001
  function init_ManagedMemberInspectorCore() {
1957
2002
  return (init_ManagedMemberInspectorCore = __esmMin((() => {
1958
2003
  init_ManagedReaderFailure();
1959
2004
  init_ManagedDecodeBudget();
2005
+ init_ManagedTypeNesting();
1960
2006
  init_ManagedMetadataHeaps();
1961
2007
  init_ManagedMemberPointers();
1962
2008
  rowRange = (table, start, end) => {
@@ -2009,6 +2055,7 @@ function init_ManagedMemberInspectorCore() {
2009
2055
  const methods = memberListTable(layout, 6);
2010
2056
  const items = [];
2011
2057
  const issues = [];
2058
+ const nesting = readManagedTypeNesting(bytes, layout, issues);
2012
2059
  for (let row = 1; row <= (typeTable?.rowCount ?? 0); row += 1) {
2013
2060
  readManagedValue(() => {
2014
2061
  const cursor = metadataRowCursor(bytes, layout, 2, row);
@@ -2031,6 +2078,7 @@ function init_ManagedMemberInspectorCore() {
2031
2078
  offset: extendsOffset,
2032
2079
  detail: `TypeDef Extends coded index 0x${extendsRaw.toString(16)} is invalid: ${extendsReason}`
2033
2080
  });
2081
+ const enclosingRow = nesting.enclosing.get(row);
2034
2082
  items.push({
2035
2083
  token: metadataToken(2, row),
2036
2084
  row_offset: cursor.start,
@@ -2043,6 +2091,8 @@ function init_ManagedMemberInspectorCore() {
2043
2091
  1,
2044
2092
  27
2045
2093
  ], layout.rowCounts),
2094
+ enclosing_type_token: enclosingRow === undefined ? null : metadataToken(2, enclosingRow),
2095
+ name_sha256: null,
2046
2096
  field_list: {
2047
2097
  first_row: fieldRange.first,
2048
2098
  last_row: fieldRange.last,
@@ -2058,7 +2108,8 @@ function init_ManagedMemberInspectorCore() {
2058
2108
  }
2059
2109
  return {
2060
2110
  types: items,
2061
- issues
2111
+ issues,
2112
+ nesting
2062
2113
  };
2063
2114
  };
2064
2115
  readCompressed = (bytes, offset) => {
@@ -2210,7 +2261,7 @@ function init_ManagedMemberInspectorCore() {
2210
2261
  }
2211
2262
  return token;
2212
2263
  };
2213
- readTypeSignature = (blob, offset, base, layout) => {
2264
+ readTypeSignature = (blob, offset, base, { layout, operands } = {}) => {
2214
2265
  const stack = [];
2215
2266
  let cursor = offset;
2216
2267
  for (;;) {
@@ -2232,6 +2283,10 @@ function init_ManagedMemberInspectorCore() {
2232
2283
  cursor += 1;
2233
2284
  } else if (kind === 31 || kind === 32) {
2234
2285
  const token = readTypeOperand(blob, cursor + 1, layout);
2286
+ operands?.push({
2287
+ offset: cursor + 1,
2288
+ ...token
2289
+ });
2235
2290
  const modifier = `${kind === 31 ? "modreq" : "modopt"}:${String(token.value)}`;
2236
2291
  const top = stack.at(-1);
2237
2292
  if (top?.kind === "modifiers") top.modifiers.push(modifier);
@@ -2242,6 +2297,10 @@ function init_ManagedMemberInspectorCore() {
2242
2297
  cursor = token.next;
2243
2298
  } else if (kind === 17 || kind === 18) {
2244
2299
  const token = readTypeOperand(blob, cursor + 1, layout);
2300
+ operands?.push({
2301
+ offset: cursor + 1,
2302
+ ...token
2303
+ });
2245
2304
  value = `${kind === 17 ? "valuetype" : "class"}:${String(token.value)}`;
2246
2305
  cursor = token.next;
2247
2306
  } else if (kind === 30 || kind === 19) {
@@ -2258,6 +2317,10 @@ function init_ManagedMemberInspectorCore() {
2258
2317
  const generic = blob[cursor + 1];
2259
2318
  if (generic !== 17 && generic !== 18) return malformedSignature("generic instantiation does not name a class or value type", cursor + 1);
2260
2319
  const token = readTypeOperand(blob, cursor + 2, layout, [2, 1]);
2320
+ operands?.push({
2321
+ offset: cursor + 2,
2322
+ ...token
2323
+ });
2261
2324
  const argumentCount = readCompressed(blob, token.next);
2262
2325
  if (argumentCount.value === 0) return malformedSignature("generic instantiation has no type arguments", token.next);
2263
2326
  const head = `${generic === 17 ? "valuetype" : "class"}:${String(token.value)}`;
@@ -2343,7 +2406,7 @@ function init_ManagedMemberInspectorCore() {
2343
2406
  }
2344
2407
  const types = [];
2345
2408
  for (let index = 0; index < count; index += 1) {
2346
- const type = readTypeSignature(blob, cursor, "type", layout);
2409
+ const type = readTypeSignature(blob, cursor, "type", { layout });
2347
2410
  types.push(type.value);
2348
2411
  cursor = type.next;
2349
2412
  }
@@ -2356,12 +2419,12 @@ function init_ManagedMemberInspectorCore() {
2356
2419
  budget.releaseTransient();
2357
2420
  }
2358
2421
  };
2359
- decodeSignature = (blob) => {
2422
+ decodeSignature = (blob, operands = []) => {
2360
2423
  try {
2361
2424
  if (blob.length === 0) throw managedFailure("invalid-blob", "signature", "empty signature", 0);
2362
2425
  const first = blob[0] ?? 0;
2363
2426
  if (first === 6) {
2364
- const fieldType = readTypeSignature(blob, 1, "field");
2427
+ const fieldType = readTypeSignature(blob, 1, "field", { operands });
2365
2428
  return {
2366
2429
  kind: "field",
2367
2430
  parse_status: fieldType.next === blob.length ? "decoded" : "partial",
@@ -2375,11 +2438,11 @@ function init_ManagedMemberInspectorCore() {
2375
2438
  };
2376
2439
  }
2377
2440
  const header = readMethodSignatureHeader(blob, 0, "member");
2378
- const returnType = readTypeSignature(blob, header.next, "return");
2441
+ const returnType = readTypeSignature(blob, header.next, "return", { operands });
2379
2442
  let offset = returnType.next;
2380
2443
  const parameters = [];
2381
2444
  for (let index = 0; index < header.parameterCount; index += 1) {
2382
- const parameter = readTypeSignature(blob, offset, "parameter");
2445
+ const parameter = readTypeSignature(blob, offset, "parameter", { operands });
2383
2446
  parameters.push(parameter.value);
2384
2447
  offset = parameter.next;
2385
2448
  }
@@ -2420,11 +2483,31 @@ function init_ManagedMemberInspectorCore() {
2420
2483
  }
2421
2484
  };
2422
2485
  signatureGenericArity = (decoded) => decoded.kind === "method" && decoded.parse_status === "decoded" ? decoded.generic_parameter_count ?? 0 : null;
2423
- signature = (blob, rawSha256) => ({
2424
- raw_length: blob.length,
2425
- raw_sha256: rawSha256 ?? sha256Bytes(blob),
2426
- ...decodeSignature(blob)
2427
- });
2486
+ OPERAND_MARKER = Buffer.from([255]);
2487
+ resolvedSha256 = (blob, operands, typeName) => {
2488
+ const hash = createHash("sha256");
2489
+ let copied = 0;
2490
+ for (const operand of operands) {
2491
+ const name = typeName(operand.value);
2492
+ if (name === null) return null;
2493
+ hash.update(blob.subarray(copied, operand.offset));
2494
+ hash.update(OPERAND_MARKER);
2495
+ hash.update(name);
2496
+ copied = operand.next;
2497
+ }
2498
+ hash.update(blob.subarray(copied));
2499
+ return hash.digest("hex");
2500
+ };
2501
+ signature = (blob, rawSha256, typeName = () => null) => {
2502
+ const operands = [];
2503
+ const decoded = decodeSignature(blob, operands);
2504
+ return {
2505
+ raw_length: blob.length,
2506
+ raw_sha256: rawSha256 ?? sha256Bytes(blob),
2507
+ resolved_sha256: decoded.kind === "unknown" ? null : resolvedSha256(blob, operands, typeName),
2508
+ ...decoded
2509
+ };
2510
+ };
2428
2511
  })))();
2429
2512
  }
2430
2513
 
@@ -2499,67 +2582,160 @@ function init_ManagedMethodSpecs() {
2499
2582
  })))();
2500
2583
  }
2501
2584
 
2585
+ //#endregion
2586
+ //#region dist/dotnet/ManagedTypeNameDigests.js
2587
+ var TYPE_REF, TYPE_DEF, MAX_TYPE_NESTING_DEPTH, TOP_LEVEL, NESTED, NAME_SEPARATOR, nestedTypeDigests, managedTypeNameDigests;
2588
+ function init_ManagedTypeNameDigests() {
2589
+ return (init_ManagedTypeNameDigests = __esmMin((() => {
2590
+ init_ManagedDecodeBudget();
2591
+ init_ManagedMetadataHeaps();
2592
+ init_ManagedReaderFailure();
2593
+ TYPE_REF = 1;
2594
+ TYPE_DEF = 2;
2595
+ MAX_TYPE_NESTING_DEPTH = 64;
2596
+ TOP_LEVEL = Buffer.from([0]);
2597
+ NESTED = Buffer.from([1]);
2598
+ NAME_SEPARATOR = Buffer.from([0]);
2599
+ nestedTypeDigests = (link, retain) => {
2600
+ const named = new Map();
2601
+ const remember = (row, value) => {
2602
+ retain();
2603
+ named.set(row, value);
2604
+ };
2605
+ const links = new Map();
2606
+ const readLink = (row) => {
2607
+ const known = links.get(row);
2608
+ if (known !== undefined) return known;
2609
+ const read = link(row);
2610
+ retain();
2611
+ links.set(row, read);
2612
+ return read;
2613
+ };
2614
+ return (row) => {
2615
+ const path = [];
2616
+ const seen = new Set();
2617
+ let outer = null;
2618
+ for (let current = row; current !== null;) {
2619
+ const known = named.get(current);
2620
+ if (known !== undefined) {
2621
+ if (known === null) {
2622
+ for (const step of path) remember(step.row, null);
2623
+ return null;
2624
+ }
2625
+ outer = known;
2626
+ break;
2627
+ }
2628
+ if (seen.has(current)) {
2629
+ for (const step of path) remember(step.row, null);
2630
+ return null;
2631
+ }
2632
+ if (path.length === 64) {
2633
+ remember(row, null);
2634
+ return null;
2635
+ }
2636
+ const step = readLink(current);
2637
+ if (step === null) {
2638
+ remember(current, null);
2639
+ for (const visited of path) remember(visited.row, null);
2640
+ return null;
2641
+ }
2642
+ seen.add(current);
2643
+ path.push({
2644
+ row: current,
2645
+ link: step
2646
+ });
2647
+ current = step.enclosingRow;
2648
+ }
2649
+ let inner = outer;
2650
+ let exceeded = false;
2651
+ for (const step of path.reverse()) {
2652
+ const depth = (inner?.depth ?? 0) + 1;
2653
+ exceeded ||= depth > 64;
2654
+ if (exceeded) {
2655
+ remember(step.row, null);
2656
+ continue;
2657
+ }
2658
+ const hash = createHash("sha256");
2659
+ if (inner === null) hash.update(TOP_LEVEL);
2660
+ else hash.update(NESTED).update(inner.digest);
2661
+ hash.update(step.link.namespace).update(NAME_SEPARATOR).update(step.link.name);
2662
+ inner = {
2663
+ digest: hash.digest(),
2664
+ depth
2665
+ };
2666
+ remember(step.row, inner);
2667
+ }
2668
+ return exceeded ? null : inner?.digest ?? null;
2669
+ };
2670
+ };
2671
+ managedTypeNameDigests = (layout, issues, parsedTypes, reference) => {
2672
+ const retain = () => managedDecodeBudget(layout).reserve(128, null);
2673
+ managedDecodeBudget(layout).reserve(parsedTypes.types.length * 128, null);
2674
+ const types = new Map();
2675
+ for (const type of parsedTypes.types) types.set(type.token, type);
2676
+ const definitions = nestedTypeDigests((row) => {
2677
+ if (!parsedTypes.nesting.complete) return null;
2678
+ const type = types.get(metadataToken(TYPE_DEF, row));
2679
+ if (type === undefined && (row < 1 || row > (layout.table(TYPE_DEF)?.rowCount ?? 0))) {
2680
+ readManagedValue(() => {
2681
+ throw managedFailure("invalid-row", `metadata.signature.type:${TYPE_DEF}:${row}`, `Signature references an unavailable TypeDef row ${row}`);
2682
+ }, issues);
2683
+ return null;
2684
+ }
2685
+ if (type === undefined) return null;
2686
+ const enclosingRow = parsedTypes.nesting.enclosing.get(row) ?? null;
2687
+ const nested = (type.flags & 7) >= 2;
2688
+ if (nested !== (enclosingRow !== null)) {
2689
+ managedDecodeBudget(layout).reserve(512, type.row_offset);
2690
+ readManagedValue(() => {
2691
+ 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);
2692
+ }, issues);
2693
+ return null;
2694
+ }
2695
+ return {
2696
+ namespace: type.namespace,
2697
+ name: type.name,
2698
+ enclosingRow
2699
+ };
2700
+ }, retain);
2701
+ const references = nestedTypeDigests((row) => {
2702
+ const value = reference(row);
2703
+ return value?.scopeValid === true ? value : null;
2704
+ }, retain);
2705
+ const digests = new Map();
2706
+ return (codedIndex) => {
2707
+ let digest = digests.get(codedIndex);
2708
+ if (digest === undefined) {
2709
+ managedDecodeBudget(layout).reserve(256, null);
2710
+ const row = codedIndex >>> 2;
2711
+ const table = codedIndex & 3;
2712
+ digest = table === 0 ? definitions(row) : table === 1 ? references(row) : null;
2713
+ digests.set(codedIndex, digest);
2714
+ }
2715
+ return digest;
2716
+ };
2717
+ };
2718
+ })))();
2719
+ }
2720
+
2502
2721
  //#endregion
2503
2722
  //#region dist/dotnet/ManagedTypeNames.js
2504
2723
  var typeNameLookup;
2505
2724
  function init_ManagedTypeNames() {
2506
2725
  return (init_ManagedTypeNames = __esmMin((() => {
2507
- init_ManagedDecodeBudget();
2508
2726
  init_ManagedMemberInspectorCore();
2509
2727
  init_ManagedMetadataLayout();
2510
2728
  init_ManagedMetadataHeaps();
2511
2729
  init_ManagedReaderFailure();
2512
- typeNameLookup = (bytes, layout, ranges, issues) => {
2730
+ typeNameLookup = (bytes, layout, ranges, issues, references) => {
2513
2731
  const names = new Map();
2514
- const checkedScopes = new Set();
2515
- const validateScopeChain = (row) => {
2516
- const path = new Set();
2517
- let current = row;
2518
- while (!checkedScopes.has(current)) {
2519
- const cursor = metadataRowCursor(bytes, layout, 1, current);
2520
- if (path.has(current)) {
2521
- issues.push({
2522
- code: "invalid-row",
2523
- scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2524
- offset: cursor.start,
2525
- detail: "TypeRef ResolutionScope chain contains a cycle"
2526
- });
2527
- break;
2528
- }
2529
- managedDecodeBudget(layout).reserve(128, cursor.start);
2530
- path.add(current);
2531
- const raw = cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2532
- const reason = metadataCodedTokenInvalidReason(raw, 2, [
2533
- 0,
2534
- 26,
2535
- 35,
2536
- 1
2537
- ], layout.rowCounts);
2538
- if (reason !== null) {
2539
- issues.push({
2540
- code: "invalid-row",
2541
- scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2542
- offset: cursor.start,
2543
- detail: `TypeRef ResolutionScope coded index 0x${raw.toString(16)} is invalid: ${reason}`
2544
- });
2545
- break;
2546
- }
2547
- if (raw === 0 || (raw & 3) !== 3) break;
2548
- current = Math.floor(raw / 4);
2549
- }
2550
- for (const visited of path) checkedScopes.add(visited);
2551
- };
2552
2732
  const definitionName = (table, row) => {
2553
2733
  if (table === 2) {
2554
2734
  metadataRowOffset(layout, 2, row);
2555
2735
  return ranges[row - 1]?.fullName ?? null;
2556
2736
  }
2557
- const cursor = metadataRowCursor(bytes, layout, 1, row);
2558
- cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2559
- readManagedValue(() => validateScopeChain(row), issues);
2560
- const name = cursor.readIndex(layout.stringIndexSize);
2561
- const namespace = cursor.readIndex(layout.stringIndexSize);
2562
- return fullName(readMetadataString(bytes, layout, namespace, layout.strings.size), readMetadataString(bytes, layout, name, layout.strings.size));
2737
+ const reference = references(row);
2738
+ return reference === null ? null : fullName(reference.namespace, reference.name);
2563
2739
  };
2564
2740
  const specName = (row) => {
2565
2741
  const cursor = metadataRowCursor(bytes, layout, 27, row);
@@ -2589,6 +2765,103 @@ function init_ManagedTypeNames() {
2589
2765
  })))();
2590
2766
  }
2591
2767
 
2768
+ //#endregion
2769
+ //#region dist/dotnet/ManagedTypeReferences.js
2770
+ var managedTypeReferences;
2771
+ function init_ManagedTypeReferences() {
2772
+ return (init_ManagedTypeReferences = __esmMin((() => {
2773
+ init_ManagedDecodeBudget();
2774
+ init_ManagedMetadataHeaps();
2775
+ init_ManagedReaderFailure();
2776
+ init_ManagedMetadataLayout();
2777
+ managedTypeReferences = (bytes, layout, issues) => {
2778
+ const rows = new Map();
2779
+ const names = new Map();
2780
+ const checked = new Map();
2781
+ const read = (row) => {
2782
+ const cached = rows.get(row);
2783
+ if (cached !== undefined) return cached;
2784
+ managedDecodeBudget(layout).reserve(384, null);
2785
+ const value = readManagedValue(() => {
2786
+ const cursor = metadataRowCursor(bytes, layout, 1, row);
2787
+ const raw = cursor.readIndex(layout.codedIndexSize("ResolutionScope"));
2788
+ const reason = metadataCodedTokenInvalidReason(raw, 2, [
2789
+ 0,
2790
+ 26,
2791
+ 35,
2792
+ 1
2793
+ ], layout.rowCounts);
2794
+ if (reason !== null) issues.push({
2795
+ code: "invalid-row",
2796
+ scope: `metadata.TypeRef:${metadataToken(1, row)}`,
2797
+ offset: cursor.start,
2798
+ detail: `TypeRef ResolutionScope coded index 0x${raw.toString(16)} is invalid: ${reason}`
2799
+ });
2800
+ return {
2801
+ nameIndex: cursor.readIndex(layout.stringIndexSize),
2802
+ namespaceIndex: cursor.readIndex(layout.stringIndexSize),
2803
+ enclosingRow: raw !== 0 && (raw & 3) === 3 ? Math.floor(raw / 4) : null,
2804
+ scopeValid: reason === null
2805
+ };
2806
+ }, issues) ?? null;
2807
+ rows.set(row, value);
2808
+ return value;
2809
+ };
2810
+ const validate = (row) => {
2811
+ const prior = checked.get(row);
2812
+ if (prior !== undefined) return prior;
2813
+ const path = [];
2814
+ const seen = new Set();
2815
+ let current = row;
2816
+ let valid = true;
2817
+ while (current !== null) {
2818
+ const known = checked.get(current);
2819
+ if (known !== undefined) {
2820
+ valid = known;
2821
+ break;
2822
+ }
2823
+ if (seen.has(current)) {
2824
+ issues.push({
2825
+ code: "invalid-row",
2826
+ scope: `metadata.TypeRef:${metadataToken(1, current)}`,
2827
+ offset: metadataRowOffset(layout, 1, current),
2828
+ detail: "TypeRef ResolutionScope chain contains a cycle"
2829
+ });
2830
+ valid = false;
2831
+ break;
2832
+ }
2833
+ seen.add(current);
2834
+ path.push(current);
2835
+ const value = read(current);
2836
+ if (value === null || !value.scopeValid) {
2837
+ valid = false;
2838
+ break;
2839
+ }
2840
+ current = value.enclosingRow;
2841
+ }
2842
+ for (const visited of path) checked.set(visited, valid);
2843
+ return valid;
2844
+ };
2845
+ return (row) => {
2846
+ const cached = names.get(row);
2847
+ if (cached !== undefined) return cached;
2848
+ const value = read(row);
2849
+ if (value === null) return null;
2850
+ const scopeValid = validate(row);
2851
+ managedDecodeBudget(layout).reserve(128, null);
2852
+ const named = readManagedValue(() => ({
2853
+ namespace: readMetadataString(bytes, layout, value.namespaceIndex, layout.strings.size),
2854
+ name: readMetadataString(bytes, layout, value.nameIndex, layout.strings.size),
2855
+ enclosingRow: value.enclosingRow,
2856
+ scopeValid
2857
+ }), issues) ?? null;
2858
+ names.set(row, named);
2859
+ return named;
2860
+ };
2861
+ };
2862
+ })))();
2863
+ }
2864
+
2592
2865
  //#endregion
2593
2866
  //#region dist/dotnet/ManagedUserStrings.js
2594
2867
  var inventory, USER_STRING_TOKEN_BYTES, parseUserStrings;
@@ -3961,7 +4234,7 @@ function init_ManagedMemberRows() {
3961
4234
  init_ManagedMethodBodyReader();
3962
4235
  init_ManagedMemberOwnership();
3963
4236
  isSelected = (selected, declared) => selected === null || declared !== undefined && selected.has(declared.token);
3964
- parseFields$1 = (bytes, layout, ranges, memberLists, selected = null) => {
4237
+ parseFields$1 = (bytes, layout, ranges, memberLists, { signatureTypeName, selected = null }) => {
3965
4238
  const fields = [];
3966
4239
  const core = new Map();
3967
4240
  const issues = [];
@@ -3990,7 +4263,7 @@ function init_ManagedMemberRows() {
3990
4263
  declaring_type: declared?.fullName ?? null,
3991
4264
  name,
3992
4265
  flags,
3993
- signature: budgetedSignature(sig, layout)
4266
+ signature: budgetedSignature(sig, layout, signatureTypeName)
3994
4267
  });
3995
4268
  }, issues);
3996
4269
  }
@@ -4047,7 +4320,7 @@ function init_ManagedMemberRows() {
4047
4320
  issues
4048
4321
  };
4049
4322
  };
4050
- parseMemberRefs = (bytes, layout, typeName) => {
4323
+ parseMemberRefs = (bytes, layout, typeName, signatureTypeName) => {
4051
4324
  const refs = [];
4052
4325
  const core = new Map();
4053
4326
  const issues = [];
@@ -4080,7 +4353,7 @@ function init_ManagedMemberRows() {
4080
4353
  27
4081
4354
  ], layout.rowCounts);
4082
4355
  const parentName = typeName(parentToken);
4083
- const decoded = budgetedSignature(sig, layout);
4356
+ const decoded = budgetedSignature(sig, layout, signatureTypeName);
4084
4357
  refs.push({
4085
4358
  token,
4086
4359
  row_offset: cursor.start,
@@ -4104,7 +4377,7 @@ function init_ManagedMemberRows() {
4104
4377
  issues
4105
4378
  };
4106
4379
  };
4107
- parseMethods$1 = ({ bytes, layout, pe, ranges, memberLists, selected = null, methodOffset = 0, methodLimit = Number.MAX_SAFE_INTEGER }) => {
4380
+ parseMethods$1 = ({ bytes, layout, pe, ranges, signatureTypeName, memberLists, selected = null, methodOffset = 0, methodLimit = Number.MAX_SAFE_INTEGER }) => {
4108
4381
  const methods = [];
4109
4382
  const core = new Map();
4110
4383
  const issues = [];
@@ -4135,7 +4408,7 @@ function init_ManagedMemberRows() {
4135
4408
  if (!isSelected(selected, declared)) return;
4136
4409
  const sig = readMetadataBlob(bytes, layout, cursor.readIndex(layout.blobIndexSize), layout.blob.size);
4137
4410
  cursor.readIndex(layout.tableIndexSize(8));
4138
- const decoded = budgetedSignature(sig, layout);
4411
+ const decoded = budgetedSignature(sig, layout, signatureTypeName);
4139
4412
  core.set(token, {
4140
4413
  ...member,
4141
4414
  genericArity: signatureGenericArity(decoded)
@@ -4216,11 +4489,11 @@ function init_ManagedMemberRows() {
4216
4489
  };
4217
4490
  callerName = (method) => method.declaring_type === null ? method.name : `${method.declaring_type}.${method.name}`;
4218
4491
  callerNameBytes = (method) => method.declaring_type === null ? managedJsonStringBytes(method.name) : managedJsonStringBytes(method.declaring_type) + managedJsonStringBytes(method.name) - 1;
4219
- budgetedSignature = (bytes, layout) => {
4492
+ budgetedSignature = (bytes, layout, signatureTypeName) => {
4220
4493
  const budget = managedDecodeBudget(layout);
4221
4494
  budget.admitTransient(bytes.length * 256, layout.blob.offset);
4222
4495
  try {
4223
- return admitManagedProjection(signature(bytes, budget.digest(bytes, "sha256")), budget);
4496
+ return admitManagedProjection(signature(bytes, budget.digest(bytes, "sha256"), signatureTypeName), budget);
4224
4497
  } finally {
4225
4498
  budget.releaseTransient();
4226
4499
  }
@@ -4241,7 +4514,9 @@ function init_ManagedMemberInspector() {
4241
4514
  init_ManagedReaderFailure();
4242
4515
  init_ManagedMemberInspectorCore();
4243
4516
  init_ManagedMethodSpecs();
4517
+ init_ManagedTypeNameDigests();
4244
4518
  init_ManagedTypeNames();
4519
+ init_ManagedTypeReferences();
4245
4520
  init_ManagedUserStrings();
4246
4521
  init_ManagedTypeMemberLists();
4247
4522
  init_ManagedMemberRows();
@@ -4264,6 +4539,8 @@ function init_ManagedMemberInspector() {
4264
4539
  requires_mvid: null
4265
4540
  },
4266
4541
  types: [],
4542
+ signature_resolution: "type-names-v1",
4543
+ nesting_read: false,
4267
4544
  exported_types: null,
4268
4545
  user_strings: null,
4269
4546
  fields: [],
@@ -4331,14 +4608,20 @@ function init_ManagedMemberInspector() {
4331
4608
  appendManagedParseIssues(issues, parsedTypes.issues);
4332
4609
  const exportedTypes = parseExportedTypes(bytes, layout);
4333
4610
  appendManagedParseIssues(issues, exportedTypes.issues);
4334
- const fields = parseFields$1(bytes, layout, ranges, memberLists, selected);
4335
- const memberRefs = parseMemberRefs(bytes, layout, typeNameLookup(bytes, layout, ranges, issues));
4611
+ const typeReferences = managedTypeReferences(bytes, layout, issues);
4612
+ const signatureTypeName = managedTypeNameDigests(layout, issues, parsedTypes, typeReferences);
4613
+ const fields = parseFields$1(bytes, layout, ranges, memberLists, {
4614
+ signatureTypeName,
4615
+ selected
4616
+ });
4617
+ const memberRefs = parseMemberRefs(bytes, layout, typeNameLookup(bytes, layout, ranges, issues, typeReferences), signatureTypeName);
4336
4618
  appendManagedParseIssues(issues, memberRefs.issues);
4337
4619
  const methods = parseMethods$1({
4338
4620
  bytes,
4339
4621
  layout,
4340
4622
  pe,
4341
4623
  ranges,
4624
+ signatureTypeName,
4342
4625
  memberLists,
4343
4626
  selected,
4344
4627
  methodOffset,
@@ -4355,13 +4638,21 @@ function init_ManagedMemberInspector() {
4355
4638
  methods.core
4356
4639
  ]);
4357
4640
  appendManagedParseIssues(issues, targets.issues);
4358
- const coverageIssues = uniqueManagedParseIssues(issues);
4359
4641
  const incompleteMembers = [
4360
4642
  ...fields.fields,
4361
4643
  ...memberRefs.refs,
4362
4644
  ...methods.methods
4363
4645
  ].some((member) => member.signature.parse_status !== "decoded") || methods.methods.some((method) => method.body.status === "partial" || method.body.status === "malformed");
4364
4646
  const related = edges(methods.methods, targets.members, managedDecodeBudget(layout));
4647
+ const types = parsedTypes.types.filter((type) => selected === null || selected.has(type.token)).map((type) => {
4648
+ managedDecodeBudget(layout).reserve(512, type.row_offset);
4649
+ return {
4650
+ ...type,
4651
+ name_sha256: signatureTypeName(Number.parseInt(type.token.slice(4), 16) * 4)?.toString("hex") ?? null
4652
+ };
4653
+ });
4654
+ const unnamedTypes = types.reduce((count, type) => count + Number(type.name_sha256 === null), 0);
4655
+ const coverageIssues = uniqueManagedParseIssues(issues);
4365
4656
  return managedMemberInspectionSchema.parse(admitManagedProjection({
4366
4657
  artifact: {
4367
4658
  path: target.path,
@@ -4380,7 +4671,9 @@ function init_ManagedMemberInspector() {
4380
4671
  requires_artifact_sha256: target.sha256,
4381
4672
  requires_mvid: inventory.module?.mvid ?? null
4382
4673
  },
4383
- types: selected === null ? parsedTypes.types : parsedTypes.types.filter((type) => selected.has(type.token)),
4674
+ types,
4675
+ signature_resolution: "type-names-v1",
4676
+ nesting_read: parsedTypes.nesting.complete,
4384
4677
  exported_types: exportedTypes.exportedTypes,
4385
4678
  fields: fields.fields,
4386
4679
  methods: methods.methods,
@@ -4394,6 +4687,7 @@ function init_ManagedMemberInspector() {
4394
4687
  issues: coverageIssues
4395
4688
  },
4396
4689
  limitations: [
4690
+ ...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.`],
4397
4691
  "Metadata tokens are build-local coordinates and are only meaningful with the reported artifact SHA-256 and MVID.",
4398
4692
  "CIL instruction anchors are decoded from file-backed method bodies only; no target assembly is loaded or executed.",
4399
4693
  "Exported types are reported from ExportedType rows as declared; forwarded types are not resolved in their implementing assemblies.",
@@ -4625,24 +4919,24 @@ function init_ManagedNativeBoundaryHelpers() {
4625
4919
  if (managedKind === "unmanaged") return "unmanaged-method";
4626
4920
  return "mixed-or-unknown";
4627
4921
  };
4628
- cliNative = (pe) => {
4629
- if (pe.cli === null) return null;
4922
+ cliNative = (cli) => {
4923
+ if (cli === null) return null;
4630
4924
  return {
4631
- il_only: (pe.cli.flags & 1) !== 0,
4632
- requires_32bit: managedCli32BitRequirement(pe.cli.flags) === "required",
4633
- strong_name_signed: (pe.cli.flags & 8) !== 0,
4634
- native_entry_point: (pe.cli.flags & 16) !== 0,
4635
- ready_to_run_signature: pe.cli.readyToRunSignature,
4636
- managed_native_header_rva: pe.cli.managedNativeHeader.rva,
4637
- managed_native_header_size: pe.cli.managedNativeHeader.size
4925
+ il_only: (cli.flags & 1) !== 0,
4926
+ requires_32bit: managedCli32BitRequirement(cli.flags) === "required",
4927
+ strong_name_signed: (cli.flags & 8) !== 0,
4928
+ native_entry_point: (cli.flags & 16) !== 0,
4929
+ ready_to_run_signature: cli.readyToRunSignature,
4930
+ managed_native_header_rva: cli.managedNativeHeader.rva,
4931
+ managed_native_header_size: cli.managedNativeHeader.size
4638
4932
  };
4639
4933
  };
4640
- nativeBoundarySummary = (native, counts) => ({
4934
+ nativeBoundarySummary = (cli, counts) => ({
4641
4935
  ...counts,
4642
- ready_to_run: native?.ready_to_run_signature ?? null,
4643
- mixed_mode_or_native_header: native === null ? null : native.managed_native_header_rva !== 0 || native.managed_native_header_size !== 0 || native.native_entry_point
4936
+ ready_to_run: cli?.readyToRunSignature ?? null,
4937
+ mixed_mode_or_native_header: cli === null ? null : managedCliIsMixedClrNative(cli) || cli.managedNativeHeader.rva !== 0 || cli.managedNativeHeader.size !== 0 || (cli.flags & 16) !== 0
4644
4938
  });
4645
- buildNativeBoundaryInspection = ({ target, bytes, layout, inventory, moduleRefs, imports, implementations, native, issues }) => managedNativeBoundaryInspectionSchema.parse(admitManagedProjection({
4939
+ buildNativeBoundaryInspection = ({ target, bytes, pe, layout, inventory, moduleRefs, imports, implementations, issues }) => managedNativeBoundaryInspectionSchema.parse(admitManagedProjection({
4646
4940
  artifact: {
4647
4941
  path: target.path,
4648
4942
  sha256: target.sha256,
@@ -4660,11 +4954,11 @@ function init_ManagedNativeBoundaryHelpers() {
4660
4954
  requires_artifact_sha256: target.sha256,
4661
4955
  requires_mvid: inventory.module?.mvid ?? null
4662
4956
  },
4663
- cli_native: native,
4957
+ cli_native: cliNative(pe.cli),
4664
4958
  module_refs: moduleRefs,
4665
4959
  pinvoke_imports: imports,
4666
4960
  native_implementations: implementations,
4667
- summary: nativeBoundarySummary(native, {
4961
+ summary: nativeBoundarySummary(pe.cli, {
4668
4962
  module_ref_count: moduleRefs.length,
4669
4963
  pinvoke_import_count: imports.length,
4670
4964
  native_implementation_count: implementations.length
@@ -4695,7 +4989,7 @@ function init_ManagedNativeBoundaryInspector() {
4695
4989
  init_ManagedPeReader();
4696
4990
  init_ManagedReaderFailure();
4697
4991
  init_ManagedNativeBoundaryHelpers();
4698
- emptyInspection = (target, bytes, classification, { native = null, issues = [] } = {}) => {
4992
+ emptyInspection = (target, bytes, classification, { cli = null, issues = [] } = {}) => {
4699
4993
  return managedNativeBoundaryInspectionSchema.parse(admitManagedProjection({
4700
4994
  artifact: {
4701
4995
  path: target.path,
@@ -4714,11 +5008,11 @@ function init_ManagedNativeBoundaryInspector() {
4714
5008
  requires_artifact_sha256: target.sha256,
4715
5009
  requires_mvid: null
4716
5010
  },
4717
- cli_native: native,
5011
+ cli_native: cliNative(cli),
4718
5012
  module_refs: [],
4719
5013
  pinvoke_imports: [],
4720
5014
  native_implementations: [],
4721
- summary: nativeBoundarySummary(native, {
5015
+ summary: nativeBoundarySummary(cli, {
4722
5016
  module_ref_count: 0,
4723
5017
  pinvoke_import_count: 0,
4724
5018
  native_implementation_count: 0
@@ -4751,7 +5045,7 @@ function init_ManagedNativeBoundaryInspector() {
4751
5045
  } catch (cause) {
4752
5046
  if (!(cause instanceof ManagedReaderFailure)) throw cause;
4753
5047
  return emptyInspection(target, bytes, "malformed", {
4754
- native: cliNative(pe),
5048
+ cli: pe.cli,
4755
5049
  issues: [cause.issue]
4756
5050
  });
4757
5051
  }
@@ -4779,13 +5073,12 @@ function init_ManagedNativeBoundaryInspector() {
4779
5073
  moduleRefs,
4780
5074
  imports,
4781
5075
  implementations,
4782
- native: cliNative(pe),
4783
5076
  issues
4784
5077
  });
4785
5078
  } catch (cause) {
4786
5079
  if (!(cause instanceof ManagedReaderFailure)) throw cause;
4787
5080
  return emptyInspection(target, bytes, "malformed", {
4788
- native: cliNative(pe),
5081
+ cli: pe.cli,
4789
5082
  issues: [...issues, cause.issue]
4790
5083
  });
4791
5084
  }
@@ -4830,16 +5123,15 @@ function init_ManagedSnapshot() {
4830
5123
  if (metadata.size > 134217728) throw managedSnapshotCapacityError(operation);
4831
5124
  const digest = createHash("sha256");
4832
5125
  let byteLength = 0;
4833
- const stream = handle.createReadStream({
4834
- autoClose: false,
4835
- ...signal === undefined ? {} : { signal }
4836
- });
4837
- for await (const chunk of stream) {
5126
+ const chunk = Buffer.allocUnsafe(64 * 1024);
5127
+ for (;;) {
4838
5128
  signal?.throwIfAborted();
4839
- if (!Buffer.isBuffer(chunk)) throw new TypeError("Managed source stream returned non-buffer data");
4840
- if (chunk.length > 134217728 - byteLength) throw managedSnapshotCapacityError(operation);
4841
- byteLength += chunk.length;
4842
- digest.update(chunk);
5129
+ const { bytesRead } = await handle.read(chunk, 0, Math.min(chunk.length, MAX_MANAGED_SNAPSHOT_BYTES - byteLength + 1), null);
5130
+ signal?.throwIfAborted();
5131
+ if (bytesRead === 0) break;
5132
+ if (bytesRead > 134217728 - byteLength) throw managedSnapshotCapacityError(operation);
5133
+ byteLength += bytesRead;
5134
+ digest.update(chunk.subarray(0, bytesRead));
4843
5135
  }
4844
5136
  return {
4845
5137
  byteLength,
@@ -4850,6 +5142,7 @@ function init_ManagedSnapshot() {
4850
5142
  throw normalizeManagedReadFailure(cause, path, operation, options.signal);
4851
5143
  });
4852
5144
  normalizeManagedReadFailure = (cause, fallbackPath, operation, signal) => {
5145
+ if (signal?.aborted === true && cause === signal.reason) return normalizeReadFailure(cause, fallbackPath, operation, signal);
4853
5146
  const cleanupError = managedCleanupError(cause, fallbackPath, operation, signal);
4854
5147
  if (cleanupError !== undefined) return cleanupError;
4855
5148
  return normalizeReadFailure(cause, fallbackPath, operation, signal);
@@ -4869,7 +5162,12 @@ function init_ManagedSnapshot() {
4869
5162
  });
4870
5163
  return undefined;
4871
5164
  };
4872
- 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);
5165
+ normalizeReadFailure = (cause, path, operation, signal) => {
5166
+ if (signal?.aborted === true && cause === signal.reason) return new AnalysisCancelledError(operation, { cause });
5167
+ if (cause instanceof RegularFileChangedError) return new EvidenceIntegrityError(`Managed source changed while ${operation} was reading ${path}.`, { cause });
5168
+ if (cause instanceof AnalysisError) return cause;
5169
+ return classifyBinaryTargetFilesystemFailure(path, cause) ?? (signal?.aborted === true ? new AnalysisCancelledError(operation, { cause }) : cause);
5170
+ };
4873
5171
  })))();
4874
5172
  }
4875
5173