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.
- package/README.md +12 -3
- package/THIRD_PARTY_NOTICES.md +1 -0
- package/bridge/android/ReaJadxBridge.java +167 -23
- package/bridge/cutter/rea_bridge.py +19 -10
- package/bridge/ghidra/ReaGhidraBridge.java +98 -66
- package/bridge/hopper_bridge.py +9 -1
- package/bridge/native/rea_lldb_tracer.py +48 -4
- package/bridge/pwndbg/core_context.py +15 -2
- package/dist/adb/AdbCommand.js +148 -0
- package/dist/adb/AdbConfiguration.js +26 -4
- package/dist/adb/AdbInputSnapshot.js +126 -0
- package/dist/adb/AdbProvider.js +765 -248
- package/dist/adb/AdbShellOutput.js +92 -21
- package/dist/android/AndroidTargetSnapshot.js +7 -7
- package/dist/android/JadxAnalysis.js +27 -32
- package/dist/android/JadxConfiguration.js +173 -125
- package/dist/android/JadxDoctor.js +11 -3
- package/dist/android/JadxFailure.js +154 -0
- package/dist/android/JadxInterruption.js +13 -0
- package/dist/android/JadxJavaProbe.js +246 -0
- package/dist/android/JadxMcpTransport.js +48 -15
- package/dist/android/JadxProtocol.js +29 -2
- package/dist/android/JadxProvider.js +171 -96
- package/dist/android/JadxRelease.js +5 -1
- package/dist/android/JadxSession.js +35 -14
- package/dist/apktool/ApktoolCommandCleanup.js +134 -0
- package/dist/apktool/ApktoolCommandOutput.js +22 -0
- package/dist/apktool/ApktoolConfiguration.js +162 -44
- package/dist/apktool/ApktoolDecodeOutput.js +29 -23
- package/dist/apktool/ApktoolDecodedInventory.js +52 -0
- package/dist/apktool/ApktoolProvider.js +254 -335
- package/dist/apktool/ApktoolStringTables.js +178 -0
- package/dist/apktool/ApktoolWorkspace.js +162 -0
- package/dist/application/AnalysisDocument.js +19 -4
- package/dist/application/AnalysisProvider.js +15 -1
- package/dist/application/AppBundleExecutable.js +11 -4
- package/dist/application/BinaryTargetResolver.js +9 -2
- package/dist/application/BrowserObservationService.js +54 -20
- package/dist/application/BrowserScenarioCaptureService.js +26 -6
- package/dist/application/CapabilityInventory.js +14 -8
- package/dist/application/ClaudeDesktopConfigLocation.js +5 -5
- package/dist/application/ClientConfigurationCleanup.js +73 -0
- package/dist/application/ClientConfigurationDocument.js +170 -128
- package/dist/application/ClientConfigurationPublication.js +167 -0
- package/dist/application/ClientRegistrationEnvironment.js +31 -1
- package/dist/application/ClientRegistrationIdentity.js +54 -39
- package/dist/application/ClientRegistrationStatus.js +123 -48
- package/dist/application/DirectAnalysis.js +15 -2
- package/dist/application/DirectAnalysisCleanup.js +5 -1
- package/dist/application/DirectAnalysisStatus.js +1 -1
- package/dist/application/Doctor.js +83 -9
- package/dist/application/DoctorDiagnostics.js +25 -4
- package/dist/application/DoctorProviderIds.js +7 -1
- package/dist/application/DshCordisPatch.js +1 -1
- package/dist/application/EnhancedTools.js +9 -21
- package/dist/application/HermesClientHome.js +20 -0
- package/dist/application/HermesConfigurationYaml.js +43 -3
- package/dist/application/HopperDownload.js +11 -3
- package/dist/application/HopperReleaseFeed.js +71 -0
- package/dist/application/InvestigationProviders.js +4 -3
- package/dist/application/JsonFiles.js +1 -1
- package/dist/application/LinuxHopper.js +96 -71
- package/dist/application/LinuxHopperPublisher.js +656 -0
- package/dist/application/MacHopper.js +182 -66
- package/dist/application/MipsElfMetadata.js +1 -1
- package/dist/application/MsixPackageStorage.js +13 -6
- package/dist/application/ProviderOperationExecution.js +13 -20
- package/dist/application/ReconstructionObligationCandidates.js +17 -2
- package/dist/application/ReconstructionObligationLedgerEvaluation.js +4 -0
- package/dist/application/ReconstructionObligationLedgerService.js +5 -3
- package/dist/application/ReconstructionObligationOriginalCases.js +8 -0
- package/dist/application/ReferenceSourceImportEntries.js +160 -18
- package/dist/application/ReferenceSourceImportPolicy.js +5 -3
- package/dist/application/ReferenceSourceVcsAdapter.js +3 -1
- package/dist/application/RegularFileRead.js +107 -88
- package/dist/application/Setup.js +23 -11
- package/dist/application/SetupClientConfiguration.js +155 -89
- package/dist/application/SetupClients.js +22 -13
- package/dist/application/SetupHost.js +90 -34
- package/dist/application/SetupInstallFailure.js +18 -3
- package/dist/application/SetupPlan.js +15 -5
- package/dist/application/SetupRecoveryBackup.js +40 -13
- package/dist/application/SetupRegistrationEnvironment.js +12 -0
- package/dist/application/SetupSkill.js +10 -30
- package/dist/application/SourceLimitations.js +35 -0
- package/dist/application/SupportedClients.js +4 -4
- package/dist/application/Uninstall.js +91 -36
- package/dist/application/UpdateCommandProgress.js +66 -0
- package/dist/application/UpdateMaintenance.js +7 -2
- package/dist/application/UpdateRuntime.js +60 -30
- package/dist/application/WebModuleTraceService.js +35 -22
- package/dist/application/WebNetworkCaptureService.js +8 -5
- package/dist/application/WebRuntimeService.js +41 -8
- package/dist/application/WebScriptExportService.js +6 -4
- package/dist/application/WebSourceLocationService.js +3 -4
- package/dist/application/WorkflowEvidence.js +11 -4
- package/dist/application/analysisView/AnalysisViewService.js +9 -52
- package/dist/application/android/AndroidAnalysisService.js +5 -4
- package/dist/application/android/AndroidSearchEvidenceSummary.js +6 -8
- package/dist/application/artifacts/ArtifactComparisonEvidence.js +32 -0
- package/dist/application/binary/AnalysisProviderEvaluation.js +14 -11
- package/dist/application/binary/AnalysisProviderRegistry.js +340 -50
- package/dist/application/binary/BinarySession.js +73 -34
- package/dist/application/binary/BinarySessionRecords.js +3 -0
- package/dist/application/binary/BinarySessionStatus.js +3 -4
- package/dist/application/binary/CompositeProvider.js +75 -30
- package/dist/application/binary/LazyAnalysisProvider.js +6 -68
- package/dist/application/binary/SessionProviderRouter.js +11 -2
- package/dist/application/binaryDiagnostics/BinaryLayoutService.js +3 -4
- package/dist/application/binaryDiagnostics/PeResourcesService.js +22 -5
- package/dist/application/binaryDiagnostics/RecordedCrashService.js +3 -4
- package/dist/application/captures/PacketCaptureService.js +3 -2
- package/dist/application/closeOwnedWebResources.js +32 -2
- package/dist/application/electron/ElectronFuseService.js +8 -43
- package/dist/application/evm/EvmInterfaceEvidence.js +11 -0
- package/dist/application/evm/EvmInterfaceService.js +4 -15
- package/dist/application/firmware/FirmwareAnalysisService.js +4 -3
- package/dist/application/go/GoBinaryService.js +4 -5
- package/dist/application/investigation/EvidenceLedger.js +3 -4
- package/dist/application/javascript/ElectronBoundaryGraphWindows.js +14 -2
- package/dist/application/javascript/ElectronEvidence.js +1 -2
- package/dist/application/javascript/ElectronObservationService.js +41 -7
- package/dist/application/javascript/JavaScriptApplicationEvidence.js +6 -0
- package/dist/application/javascript/JavaScriptArtifactAnalysis.js +35 -17
- package/dist/application/javascript/JavaScriptArtifactAnalysisTypes.js +30 -1
- package/dist/application/javascript/JavaScriptArtifactGraphContext.js +3 -2
- package/dist/application/javascript/JavaScriptArtifactGraphEvidence.js +3 -3
- package/dist/application/javascript/JavaScriptArtifactGraphFindings.js +41 -11
- package/dist/application/javascript/JavaScriptArtifactGraphStructure.js +18 -8
- package/dist/application/javascript/JavaScriptArtifactPathResolution.js +84 -24
- package/dist/application/javascript/JavaScriptArtifactReconstruction.js +15 -3
- package/dist/application/javascript/JavaScriptModuleRelationships.js +1 -1
- package/dist/application/javascript/JavaScriptRuntimeObservationEvidence.js +1 -2
- package/dist/application/javascript/JavaScriptRuntimeObservationService.js +33 -10
- package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +4 -5
- package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +103 -24
- package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +13 -4
- package/dist/application/javascript/JavaScriptSemanticGraphConstruction.js +23 -3
- package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +18 -5
- package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +4 -6
- package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +2 -3
- package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +2 -3
- package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +5 -8
- package/dist/application/native/NativeCallRoutes.js +40 -23
- package/dist/application/native/NativeUiActionTrace.js +8 -0
- package/dist/application/native/NativeValueTrace.js +8 -0
- package/dist/application/reverse/ReverseEngineeringService.js +2 -2
- package/dist/application/rust/RustBinaryService.js +6 -4
- package/dist/application/signals/SignalRecordingService.js +3 -2
- package/dist/application/wasm/WasmArtifactService.js +4 -5
- package/dist/artifacts/AnalysisCleanupLease.js +119 -0
- package/dist/artifacts/ArtifactFileOperation.js +150 -0
- package/dist/artifacts/ArtifactHash.js +2 -1
- package/dist/artifacts/ArtifactProvider.js +16 -5
- package/dist/artifacts/ArtifactReader.js +50 -4
- package/dist/artifacts/ArtifactResourceScope.js +80 -6
- package/dist/artifacts/AsarArtifactReader.js +12 -11
- package/dist/artifacts/AsarEntryStream.js +49 -17
- package/dist/artifacts/DirectoryArtifactReader.js +28 -7
- package/dist/artifacts/MachOSliceArtifactReader.js +70 -13
- package/dist/artifacts/NativeDmgArtifactReader.js +112 -13
- package/dist/artifacts/SafeOutputTree.js +5 -3
- package/dist/artifacts/SafeOutputTreeCreationFailure.js +1 -0
- package/dist/artifacts/SafeOutputTreeReadback.js +10 -16
- package/dist/artifacts/ZipArtifactReader.js +34 -14
- package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +3 -1
- package/dist/artifacts/apple/DylibFileAccess.js +106 -0
- package/dist/artifacts/apple/DylibResolutionReader.js +64 -155
- package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +52 -9
- package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +25 -24
- package/dist/artifacts/apple/KeyedArchiveReader.js +20 -11
- package/dist/artifacts/apple/MachoLoadCommandReader.js +17 -2
- package/dist/artifacts/apple/PlistNumberLiterals.js +104 -116
- package/dist/artifacts/extraction/ArtifactExtraction.js +15 -12
- package/dist/artifacts/inventory/ArtifactGraphConstruction.js +9 -11
- package/dist/artifacts/inventory/ArtifactInventory.js +2 -2
- package/dist/artifacts/inventory/classify.js +4 -2
- package/dist/artifacts/inventory/hashStableRootArtifact.js +14 -7
- package/dist/artifacts/inventory/scanCanonical.js +3 -4
- package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +3 -1
- package/dist/artifacts/readArtifactFileChunks.js +9 -0
- package/dist/artifacts/readStableArtifact.js +12 -34
- package/dist/browser/BrowserScenarioPartialObservation.js +14 -48
- package/dist/browser/CdpBrowserProvider.js +81 -30
- package/dist/browser/CdpCaptureDocuments.js +99 -131
- package/dist/browser/CdpCaptureDomSvg.js +31 -60
- package/dist/browser/CdpCaptureValues.js +12 -0
- package/dist/browser/CdpConnection.js +133 -27
- package/dist/browser/CdpElectronInspection.js +60 -60
- package/dist/browser/CdpElectronProvider.js +56 -4
- package/dist/browser/CdpElectronScriptEvents.js +4 -1
- package/dist/browser/CdpElectronScripts.js +2 -5
- package/dist/browser/CdpElectronWorkers.js +13 -2
- package/dist/browser/CdpPageCapture.js +2 -1
- package/dist/browser/CdpPageCaptureScripts.js +14 -10
- package/dist/browser/CdpPageCaptureWorkers.js +45 -14
- package/dist/browser/CdpSafeMetadata.js +23 -19
- package/dist/browser/CdpSnapshotNodes.js +103 -0
- package/dist/browser/CdpSnapshotStrings.js +0 -6
- package/dist/browser/CdpTargetSession.js +52 -10
- package/dist/browser/CdpTargetSessionOwner.js +198 -0
- package/dist/browser/ElectronCaptureCleanup.js +82 -0
- package/dist/browser/ElectronProcessCleanup.js +91 -0
- package/dist/browser/PlaywrightBrowserScenarioProvider.js +71 -16
- package/dist/browser/PlaywrightElectronActiveActions.js +53 -5
- package/dist/browser/PlaywrightElectronActiveFuses.js +86 -0
- package/dist/browser/PlaywrightElectronActiveProjection.js +5 -0
- package/dist/browser/PlaywrightElectronActiveProvider.js +140 -151
- package/dist/browser/PlaywrightExecutionBoundary.js +4 -2
- package/dist/browser/PlaywrightScenarioBrowser.js +236 -90
- package/dist/browser/PlaywrightScenarioEvents.js +135 -48
- package/dist/browser/PlaywrightScenarioServiceWorkers.js +121 -34
- package/dist/browser/PlaywrightScenarioSession.js +95 -22
- package/dist/browser/PlaywrightScenarioStorage.js +15 -7
- package/dist/browser/StructuredFieldToken.js +53 -0
- package/dist/browser/WebArtifactCleanup.js +53 -0
- package/dist/browser/WebSourceMapFetcher.js +19 -10
- package/dist/browser/assets/WebArtifactReads.js +6 -2
- package/dist/browser/assets/WebSourceLocationArtifacts.js +12 -3
- package/dist/browser/execution/CdpRuntimeSession.js +36 -7
- package/dist/browser/execution/CdpWebRuntimeProvider.js +22 -4
- package/dist/browser/history/CaptureFailures.js +7 -2
- package/dist/browser/history/HarCapture.js +42 -11
- package/dist/browser/history/SazMetadata.js +10 -47
- package/dist/browser/modules/NativeModuleResolver.js +108 -58
- package/dist/browser/modules/WebModuleArtifacts.js +12 -3
- package/dist/browser/network/PlaywrightNetworkContent.js +40 -17
- package/dist/browser/network/PlaywrightScenarioNetwork.js +182 -73
- package/dist/captures/TsharkCaptureProvider.js +13 -6
- package/dist/catalogIdentity.js +19 -14
- package/dist/cli/adbCommands.js +18 -19
- package/dist/cli/androidCommands.js +2 -14
- package/dist/cli/apktoolCommands.js +4 -14
- package/dist/cli/binaryDiagnosticsCommands.js +5 -5
- package/dist/cli/browserAdvancedCommands.js +11 -4
- package/dist/cli/browserCommands.js +21 -12
- package/dist/cli/captureCommands.js +4 -4
- package/dist/cli/cliResultOutput.js +175 -89
- package/dist/cli/coreBinaryCommands.js +4 -3
- package/dist/cli/cutterCommands.js +51 -13
- package/dist/cli/electronCommands.js +34 -13
- package/dist/cli/evmCommands.js +6 -15
- package/dist/cli/finishAnalysisCommand.js +10 -2
- package/dist/cli/firmwareCommands.js +6 -14
- package/dist/cli/flutterCommands.js +2 -18
- package/dist/cli/fridaCommands.js +8 -0
- package/dist/cli/goCommands.js +2 -2
- package/dist/cli/javascriptRecoveryCommands.js +14 -26
- package/dist/cli/jebCommands.js +2 -14
- package/dist/cli/options.js +6 -0
- package/dist/cli/pcapCommands.js +2 -20
- package/dist/cli/rustCommands.js +6 -7
- package/dist/cli/setupCommands.js +4 -3
- package/dist/cli/signalCommands.js +4 -4
- package/dist/cli/sqliteCommands.js +17 -44
- package/dist/cli/wasmCommands.js +7 -18
- package/dist/cli/webModuleCommands.js +19 -34
- package/dist/cli/webNetworkCaptureCommands.js +3 -2
- package/dist/cli/webRuntimeCommands.js +15 -6
- package/dist/cli/webSourceLocationCommands.js +14 -33
- package/dist/cli-runtime/AnalysisCleanupLease-CWfTGYKd.js +103 -0
- package/dist/cli-runtime/{AnalysisProvider-D0Us2OTk.js → AnalysisProvider-BGrYaMVo.js} +14 -3
- package/dist/cli-runtime/{AnalysisSnapshotCache-BXS0wRd2.js → AnalysisSnapshotCache-BjRlXeUS.js} +14 -13
- package/dist/cli-runtime/ArtifactFileOperation-Dg4BcoEM.js +122 -0
- package/dist/cli-runtime/{ArtifactReader-BXkffc1D.js → ArtifactReader-DMwm42bk.js} +29 -6
- package/dist/cli-runtime/ArtifactResourceScope-CokZGcII.js +175 -0
- package/dist/cli-runtime/{AsarHeader-CnzOzYEH.js → AsarHeader-BxwU17DJ.js} +1 -1
- package/dist/cli-runtime/{BinarySessionStatus-DnMxMk-r.js → BinarySessionStatus-DRhjr7Vb.js} +4 -3
- package/dist/cli-runtime/{BinaryTargetResolver-CVIJ_s1A.js → BinaryTargetResolver-tuCTjBlQ.js} +38 -108
- package/dist/cli-runtime/{BoundedFileBytes-BU30odTm.js → BoundedFileBytes-DRtiQNAQ.js} +7 -3
- package/dist/cli-runtime/{CdpTargetSession-DGX5pV9w.js → CdpTargetSession-CQ08KHbh.js} +318 -43
- package/dist/cli-runtime/ClientConfigPath-Dn-V_GUf.js +255 -0
- package/dist/cli-runtime/{ClientConfigurationDocument-ffQ9X0Se.js → ClientConfigurationDocument-C9T8MNGc.js} +206 -142
- package/dist/cli-runtime/{ClientRegistrationStatus-DszCyPEU.js → ClientRegistrationStatus-PnD29RTX.js} +112 -36
- package/dist/cli-runtime/{CurrentEntrypointPath-D5FRNdkq.js → CurrentEntrypointPath-m7QCIVN0.js} +1 -1
- package/dist/cli-runtime/{DirectAnalysis-BgvAtpN3.js → DirectAnalysis-C5NyUryV.js} +76 -23
- package/dist/cli-runtime/DirectoryArtifactReader-CokAJ8vo.js +448 -0
- package/dist/cli-runtime/{Doctor-DIpf_I7N.js → Doctor-DrkWsav4.js} +105 -25
- package/dist/cli-runtime/{ElectronFileScope-dpHm2nrS.js → ElectronFileScope-AP7VoVr7.js} +204 -149
- package/dist/cli-runtime/ElectronFuseFailures-DsjXR7Xp.js +609 -0
- package/dist/cli-runtime/{ExecFileOutput-BEQs-lDD.js → ExecFileOutput-D6KLYTve.js} +11 -9
- package/dist/cli-runtime/{InterfaceBuilderDecodeBudget-D4omRUe4.js → InterfaceBuilderDecodeBudget-CW1IO3dG.js} +40 -21
- package/dist/cli-runtime/{InventoryProjectionEvidence-DIsI4DJ6.js → InventoryProjectionEvidence-DTH5QAqL.js} +3 -3
- package/dist/cli-runtime/{InvestigationProviders-DoQRIHii.js → InvestigationProviders-CFh4a64d.js} +3 -2
- package/dist/cli-runtime/{JavaScriptApplicationEvidenceGraph-D5aI_FSJ.js → JavaScriptApplicationEvidenceGraph-gOmPB2L6.js} +6 -6
- package/dist/cli-runtime/{JavaScriptApplicationWorkflowEvidence-Bz4-V0Ct.js → JavaScriptApplicationWorkflowEvidence-WZgtK_Ok.js} +2 -2
- package/dist/cli-runtime/JebMcpEndpoint-BEalGZh9.js +710 -0
- package/dist/cli-runtime/{JsonFiles-DQa1PRKy.js → JsonFiles-uvd6ZyQi.js} +10 -118
- package/dist/cli-runtime/KunaInstallation-P0j3x851.js +1781 -0
- package/dist/cli-runtime/MacHopperPaths-bGzqjF1Z.js +34 -0
- package/dist/cli-runtime/{MachoLoadCommandReader-C7e074Ze.js → MachoLoadCommandReader-CZm6N5vF.js} +12 -192
- package/dist/cli-runtime/{ManagedSnapshot-rqyBHcdL.js → ManagedSnapshot-CPE9C3OD.js} +406 -110
- package/dist/cli-runtime/OwnedCommandCleanup-BN_V6Erc.js +187 -0
- package/dist/cli-runtime/OwnedRegularFile-D1f5nUCx.js +256 -0
- package/dist/cli-runtime/OwnedStagedOutput-D31dOozz.js +126 -0
- package/dist/cli-runtime/{PrivateRuntimeRoot-DAy0PiBM.js → PrivateRuntimeRoot-Cd23u6jd.js} +39 -6
- package/dist/cli-runtime/ProcessOwnership-CtrNr6ee.js +545 -0
- package/dist/cli-runtime/{ProcessOwnership-DXC5-UWt.js → ProcessOwnershipObservation-C006iCtZ.js} +149 -607
- package/dist/cli-runtime/{ProviderDeadline-8m2pFRDc.js → ProviderDeadline-rSuH4Pm8.js} +27 -1
- package/dist/cli-runtime/ProviderOperationExecution-CmU-XrQr.js +38 -0
- package/dist/cli-runtime/{snapshotEnvironment-D_tWyOub.js → ProviderProcess-D87A7ctp.js} +117 -160
- package/dist/cli-runtime/RegularFileRead-mbgGYtxe.js +125 -0
- package/dist/cli-runtime/{SafeOutputTree-D6U15GXd.js → SafeOutputTree-i904hd_2.js} +21 -20
- package/dist/cli-runtime/{SetupHost-FkYWswsq.js → SetupHost-CMPmPraB.js} +365 -195
- package/dist/cli-runtime/SharedStartupAttempt-BxKyf3Uv.js +1424 -0
- package/dist/cli-runtime/StableFileHash-Ame_h3lY.js +61 -0
- package/dist/cli-runtime/{SupportedClients-DaX6Lt2d.js → SupportedClients-DMafjitv.js} +89 -72
- package/dist/cli-runtime/{Update-CbTC_eg1.js → Update-DAsASWlE.js} +1 -1
- package/dist/cli-runtime/{AbortablePromise-BVBemxbD.js → WindowsBatchCommand-Cx9kaVNf.js} +2 -28
- package/dist/cli-runtime/WindowsNativeLoader-BqyZO0ZD.js +142 -0
- package/dist/cli-runtime/{ZipArtifactReader-B8ZgNe4D.js → ZipArtifactReader-Jed69LEL.js} +20 -16
- package/dist/cli-runtime/{analysisErrorCleanup-Do6YeeoD.js → analysisErrorCleanup-COdAmDsb.js} +4 -3
- package/dist/cli-runtime/{appleArchiveFormat-tVoI2ykA.js → appleArchiveFormat-Bb3G5CCI.js} +13 -7
- package/dist/cli-runtime/{application__DirectAnalysisStatus-DpOejOf0.js → application__DirectAnalysisStatus-F74bu9oy.js} +10 -10
- package/dist/cli-runtime/{application__EnhancedTools-oFE2bOjs.js → application__EnhancedTools-Bg51b0Yp.js} +84 -51
- package/dist/cli-runtime/{application__FunctionAnalysisEvidence-B6osuhvW.js → application__FunctionAnalysisEvidence-DBWIaYCh.js} +3 -3
- package/dist/cli-runtime/{application__ReconstructionCoverageService-DN3wTFQj.js → application__ReconstructionCoverageService-AEPNpZqJ.js} +3 -3
- package/dist/cli-runtime/{application__ReconstructionObligationLedgerService-CKcTppX9.js → application__ReconstructionObligationLedgerService-Cl9cPEZf.js} +22 -9
- package/dist/cli-runtime/{application__Setup-XpMaRNjy.js → application__Setup-DwQzEewK.js} +30 -18
- package/dist/cli-runtime/{application__Uninstall-_23pU2yB.js → application__Uninstall-BOf9oyvQ.js} +78 -37
- package/dist/cli-runtime/{application__UpdateRuntime-DPvY8ohd.js → application__UpdateRuntime-CzWkRJHa.js} +119 -29
- package/dist/cli-runtime/{application__android__AndroidApplicationService-CFgIFPM4.js → application__android__AndroidApplicationService-shW_aKlj.js} +3 -3
- package/dist/cli-runtime/{application__apple__AppleApplicationService-Db6QCsun.js → application__apple__AppleApplicationService-DIv6d3wB.js} +3 -3
- package/dist/cli-runtime/{application__harmony__HarmonyApplicationService-CFjocHoK.js → application__harmony__HarmonyApplicationService-OIUFVQFV.js} +3 -3
- package/dist/cli-runtime/{application__javascript__ElectronActiveObservationService-CmVDUI_Z.js → application__javascript__ElectronActiveObservationService-wvCh72hK.js} +3 -3
- package/dist/cli-runtime/application__javascript__ElectronObservationService-SydXPCwM.js +88 -0
- package/dist/cli-runtime/{application__javascript__JavaScriptApplicationService-CCkp8KBh.js → application__javascript__JavaScriptApplicationService-o0uEsjEc.js} +1120 -316
- package/dist/cli-runtime/{application__javascript__JavaScriptApplicationWorkflowService-lPy0tzr3.js → application__javascript__JavaScriptApplicationWorkflowService-BAheG_71.js} +51 -44
- package/dist/cli-runtime/{application__javascript__JavaScriptRuntimeReconciliationService-DWleA8K9.js → application__javascript__JavaScriptRuntimeReconciliationService-Cnn4GP8q.js} +5 -5
- package/dist/cli-runtime/{application__javascript__JavaScriptSemanticTraceService-DkALH4rL.js → application__javascript__JavaScriptSemanticTraceService-CmvLfV1A.js} +6 -6
- package/dist/cli-runtime/{artifacts__ArtifactProvider-zXI0QjSL.js → artifacts__ArtifactProvider-wx2K0F2I.js} +377 -359
- package/dist/cli-runtime/{binary-BVOr2mgE.js → binary-CWVNJhAC.js} +8561 -3159
- package/dist/cli-runtime/{catalogIdentity-DLoXgfIR.js → catalogIdentity-DAEEsOdX.js} +260 -81
- package/dist/cli-runtime/cli.js +6177 -3556
- package/dist/cli-runtime/{cliOutput-BC1BdAcB.js → cliOutput-CgSuw782.js} +47 -6
- package/dist/cli-runtime/cliOutput.js +2 -2
- package/dist/cli-runtime/cliResultOutput-10sd6xGx.js +1453 -0
- package/dist/cli-runtime/cliResultOutput.js +2 -1
- package/dist/cli-runtime/{composition__browserScenario-DHXC1a8n.js → composition__browserScenario-BtPb1c1y.js} +843 -356
- package/dist/cli-runtime/{composition__electronObservation-GecK2EID.js → composition__electronObservation-Bk8R6DJo.js} +128 -69
- package/dist/cli-runtime/{composition__electronScenario-CEZnVrAL.js → composition__electronScenario-BVF0qStH.js} +398 -135
- package/dist/cli-runtime/{cutterToolContracts-TZH9EHr5.js → cutterToolContracts-BQtG_Nzo.js} +195 -62
- package/dist/cli-runtime/{doctorRuntime-BE5ZX8it.js → doctorRuntime-B__SIpm-.js} +241 -21
- package/dist/cli-runtime/{dotnet__ManagedStaticProvider-C8_yZCDc.js → dotnet__ManagedStaticProvider-DO5Yzcp4.js} +1 -1
- package/dist/cli-runtime/{errorSchemas-CTRmvMl3.js → errorSchemas-Ixz_q7qt.js} +58 -4
- package/dist/cli-runtime/homeDirectory-DC_DeJIg.js +18 -0
- package/dist/cli-runtime/{javascriptApplicationAnalysis-HgMzVMQw.js → javascriptApplicationAnalysis-Dk6yBV8g.js} +688 -668
- package/dist/cli-runtime/{javascriptExportReturnShapeProjection-Dg00g35t.js → javascriptExportReturnShapeProjection-CObOIiQ6.js} +3 -3
- package/dist/cli-runtime/{javascriptExportShapeComparisonSchemas-BYnoIqIk.js → javascriptExportShapeComparisonSchemas-DpwuBenh.js} +5 -3
- package/dist/cli-runtime/{javascriptRuntimeReconciliation-DNjDoL3S.js → javascriptRuntimeReconciliation-C6ZgWMys.js} +61 -59
- package/dist/cli-runtime/{javascriptRuntimeReconciliationSchemas-BWpGWNcI.js → javascriptRuntimeReconciliationSchemas-D6tZKUQs.js} +2 -2
- package/dist/cli-runtime/{javascriptSemanticTraceSchemas-BTCNcvbc.js → javascriptSemanticTraceSchemas-C7m0b6_w.js} +3 -3
- package/dist/cli-runtime/{lipo-DSWP6fv-.js → lipo-DPQ6qurH.js} +9 -11
- package/dist/cli-runtime/{logger-CQQCI4a2.js → logger-BuDJ9xxO.js} +2 -2
- package/dist/cli-runtime/{machoContainer-C8BIkkq3.js → machoContainer-Cy98bkFm.js} +180 -0
- package/dist/cli-runtime/{managedApplicationGraph-B08jb3jq.js → managedApplicationGraph-BazVqpJv.js} +16 -10
- package/dist/cli-runtime/{managedToolContracts-D60QmIYj.js → managedToolContracts-BuFkMBH5.js} +2 -2
- package/dist/cli-runtime/mcpDoctor.js +8 -6
- package/dist/cli-runtime/mcpStartupPolicy-imCbM3qo.js +28 -0
- package/dist/cli-runtime/{native__NativeMacOSProvider-YBTvUeJO.js → native__NativeMacOSProvider-DTcRhuGA.js} +1384 -757
- package/dist/cli-runtime/{officialToolContracts-CCFF0an9.js → officialToolContracts-CzzVLx8I.js} +74 -53
- package/dist/cli-runtime/peMachine-B9ggfSJJ.js +95 -0
- package/dist/cli-runtime/propertyListKeys-D5dSASEy.js +355 -0
- package/dist/cli-runtime/{providerCleanupError-Ceq8f0wK.js → providerCleanupError-BhsJyAhk.js} +3 -5
- package/dist/cli-runtime/readArtifactFileChunks-BbTL_PtB.js +129 -0
- package/dist/cli-runtime/{reconstructionObligationLedgerSchemas-Bao0xMr-.js → reconstructionObligationLedgerSchemas-Bi6sect1.js} +6329 -3651
- package/dist/cli-runtime/{scanCanonical-KP4T9jSl.js → scanCanonical-CcDFUr-w.js} +233 -363
- package/dist/cli-runtime/snapshotEnvironment-Yvx5qwsl.js +196 -0
- package/dist/cli-runtime/{toolContracts-D2FOG_Nb.js → toolContracts-CJzEyZ38.js} +126 -52
- package/dist/cli-runtime/{toolOutputSchemaGroups-DRiYs1je.js → toolOutputSchemaGroups-BqdSzySu.js} +768 -589
- package/dist/cli-runtime/{workflowInputError-n8Oo-bLA.js → workflowInputError-BP8z9Wxl.js} +2 -2
- package/dist/cli.js +10 -0
- package/dist/cliBrowserScenarioCommands.js +2 -3
- package/dist/cliLogging.js +22 -7
- package/dist/cliObservationOptions.js +3 -0
- package/dist/cliOutput.js +68 -3
- package/dist/composition/binary.js +15 -2
- package/dist/composition/directAnalysis.js +8 -0
- package/dist/composition/javascriptAnalysisWorkerProcess.js +4 -5
- package/dist/composition/jeb.js +32 -21
- package/dist/config/environment.js +36 -2
- package/dist/config/mcpInputSchemaProfile.js +1 -1
- package/dist/config/parseConfig.js +7 -3
- package/dist/contracts/adb/adbToolContracts.js +2 -2
- package/dist/contracts/analysisViewApiSurfaceExample.js +4 -4
- package/dist/contracts/analysisViewToolContracts.js +42 -1
- package/dist/contracts/android/androidToolContracts.js +1 -1
- package/dist/contracts/apktool/apktoolToolContracts.js +5 -1
- package/dist/contracts/artifactComparisonExample.js +18 -14
- package/dist/contracts/artifactToolContracts.js +2 -1
- package/dist/contracts/browserScenarioToolContracts.js +1 -1
- package/dist/contracts/browserToolContracts.js +12 -1
- package/dist/contracts/compactInputSchema.js +13 -6
- package/dist/contracts/fridaToolContracts.js +5 -4
- package/dist/contracts/gdbToolContracts.js +2 -3
- package/dist/contracts/inputSchemaPresentation.js +173 -79
- package/dist/contracts/javascript/javascriptExportShapeComparisonExample.js +1 -0
- package/dist/contracts/javascript/javascriptRuntimeReconciliationExample.js +1 -0
- package/dist/contracts/jsonSchemaKeywords.js +29 -0
- package/dist/contracts/managed/managedWorkflowExamples.js +3 -0
- package/dist/contracts/managed/managedWorkflowToolContracts.js +1 -1
- package/dist/contracts/mobileApplicationGraphExamples.js +15 -12
- package/dist/contracts/officialToolContracts.js +2 -2
- package/dist/contracts/rizinDebugToolContracts.js +3 -2
- package/dist/contracts/sessionToolContracts.js +3 -3
- package/dist/contracts/toolEffects.js +6 -2
- package/dist/contracts/toolOutputSchemaGroups.js +7 -4
- package/dist/contracts/toolOutputSchemaPrimitives.js +7 -0
- package/dist/contracts/toolSchemaMetadata.js +99 -27
- package/dist/cutter/CutterBridgeClient.js +206 -67
- package/dist/cutter/CutterBridgeService.js +52 -4
- package/dist/doctorRuntime.js +25 -4
- package/dist/domain/adb/adbDeviceAnalysis.js +19 -1
- package/dist/domain/analysisErrorBase.js +59 -2
- package/dist/domain/analysisErrorCleanup.js +3 -1
- package/dist/domain/analysisErrorCore.js +13 -0
- package/dist/domain/analysisErrorPresentation.js +23 -4
- package/dist/domain/analysisErrorProjection.js +44 -28
- package/dist/domain/analysisSearch.js +26 -0
- package/dist/domain/analysisSnapshot.js +11 -11
- package/dist/domain/analysisView/WebNetworkApiSurfaceAccumulator.js +4 -65
- package/dist/domain/analysisView/analysisView.js +25 -0
- package/dist/domain/analysisView/analysisViewDataAdmission.js +86 -0
- package/dist/domain/analysisView/artifactInventoryView.js +4 -18
- package/dist/domain/analysisView/javascriptApplicationCoverage.js +27 -0
- package/dist/domain/analysisView/javascriptApplicationView.js +100 -27
- package/dist/domain/analysisView/javascriptFactsView.js +92 -0
- package/dist/domain/analysisView/javascriptModuleReferences.js +37 -0
- package/dist/domain/analysisView/managedMemberView.js +6 -0
- package/dist/domain/android/androidApplication.js +8 -7
- package/dist/domain/apktool/apktoolResourceAnalysis.js +52 -2
- package/dist/domain/apple/appleApplication.js +41 -60
- package/dist/domain/apple/appleBundleAnatomy.js +56 -68
- package/dist/domain/apple/dylibResolution.js +5 -1
- package/dist/domain/apple/interfaceBuilderGraph.js +29 -8
- package/dist/domain/apple/interfaceBuilderKeyedArchive.js +11 -4
- package/dist/domain/apple/jvmClassFile.js +226 -0
- package/dist/domain/apple/keyedArchive.js +39 -17
- package/dist/domain/apple/machoContainer.js +3 -0
- package/dist/domain/apple/plistNumbers.js +67 -5
- package/dist/domain/apple/plistValue.js +89 -18
- package/dist/domain/artifactComparison.js +7 -5
- package/dist/domain/artifactGraph.js +4 -12
- package/dist/domain/artifactInspection.js +6 -17
- package/dist/domain/artifactInventoryEvidence.js +68 -60
- package/dist/domain/binaryTarget.js +11 -26
- package/dist/domain/binaryTargetTypes.js +10 -0
- package/dist/domain/browserNetworkEvidence.js +20 -3
- package/dist/domain/browserObservation.js +5 -28
- package/dist/domain/browserObservationError.js +4 -4
- package/dist/domain/browserScenarioCapture.js +11 -2
- package/dist/domain/browserScenarioCaptureLimits.js +34 -0
- package/dist/domain/browserScenarioCaptureValues.js +50 -0
- package/dist/domain/browserScenarioDiffEvidence.js +1 -3
- package/dist/domain/browserScenarioValues.js +5 -1
- package/dist/domain/captures/packetCapture.js +2 -1
- package/dist/domain/dosMz.js +14 -5
- package/dist/domain/electron/electronFuseEvidence.js +42 -0
- package/dist/domain/elfFixedHeader.js +24 -0
- package/dist/domain/evidence.js +7 -6
- package/dist/domain/evidenceBundle.js +9 -2
- package/dist/domain/explicitSensitiveFailure.js +3 -0
- package/dist/domain/fileSnapshotObservation.js +25 -0
- package/dist/domain/fixedTupleSchema.js +9 -0
- package/dist/domain/functionCallCoverage.js +6 -6
- package/dist/domain/functionComparisonDimensions.js +38 -11
- package/dist/domain/functionComparisonNormalization.js +17 -9
- package/dist/domain/functionDossierEvidence.js +4 -3
- package/dist/domain/harmony/harmonyApplication.js +8 -8
- package/dist/domain/hopperErrors.js +4 -2
- package/dist/domain/hopperValues.js +27 -4
- package/dist/domain/javascript/electronActiveObservation.js +1 -0
- package/dist/domain/javascript/electronStaticAnalysisBrowser.js +80 -20
- package/dist/domain/javascript/electronStaticAnalysisValues.js +0 -20
- package/dist/domain/javascript/electronStaticOptionObjects.js +45 -0
- package/dist/domain/javascript/electronWrappedCallPaths.js +70 -17
- package/dist/domain/javascript/javascriptAnalysisResourceControls.js +20 -4
- package/dist/domain/javascript/javascriptApplicationAnalysis.js +4 -0
- package/dist/domain/javascript/javascriptApplicationChangeGraph.js +3 -0
- package/dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js +3 -1
- package/dist/domain/javascript/javascriptApplicationVersionItems.js +49 -21
- package/dist/domain/javascript/javascriptAstFingerprint.js +41 -10
- package/dist/domain/javascript/javascriptAstValues.js +83 -5
- package/dist/domain/javascript/javascriptBundledRequireOrigin.js +23 -36
- package/dist/domain/javascript/javascriptCommonJsExportReceivers.js +231 -0
- package/dist/domain/javascript/javascriptElectronMemberWrites.js +14 -4
- package/dist/domain/javascript/javascriptFeatureSeed.js +1 -1
- package/dist/domain/javascript/javascriptGraphqlOperations.js +382 -0
- package/dist/domain/javascript/javascriptModuleDeclaration.js +20 -0
- package/dist/domain/javascript/javascriptNativeHandoff.js +7 -11
- package/dist/domain/javascript/javascriptRpcEndpoints.js +7 -171
- package/dist/domain/javascript/javascriptRuntimeLoadState.js +9 -4
- package/dist/domain/javascript/javascriptRuntimeReconciliationCaptureParsing.js +35 -12
- package/dist/domain/javascript/javascriptRuntimeReconciliationMatching.js +50 -45
- package/dist/domain/javascript/javascriptSemanticAmbientWrites.js +284 -24
- package/dist/domain/javascript/javascriptSemanticAnalysis.js +452 -182
- package/dist/domain/javascript/javascriptSemanticAsyncEffects.js +37 -20
- package/dist/domain/javascript/javascriptSemanticCallResolution.js +55 -27
- package/dist/domain/javascript/javascriptSemanticCalls.js +4 -4
- package/dist/domain/javascript/javascriptSemanticChildProcesses.js +134 -50
- package/dist/domain/javascript/javascriptSemanticCoverage.js +5 -1
- package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +7 -13
- package/dist/domain/javascript/javascriptSemanticDataEffects.js +33 -10
- package/dist/domain/javascript/javascriptSemanticDerivedAnalysis.js +1 -1
- package/dist/domain/javascript/javascriptSemanticEvaluationOrder.js +126 -0
- package/dist/domain/javascript/javascriptSemanticExpressionShapes.js +111 -0
- package/dist/domain/javascript/javascriptSemanticGetterQueries.js +147 -0
- package/dist/domain/javascript/javascriptSemanticGetterResults.js +264 -0
- package/dist/domain/javascript/javascriptSemanticGraph.js +18 -1
- package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +13 -0
- package/dist/domain/javascript/javascriptSemanticIterationSources.js +3 -2
- package/dist/domain/javascript/javascriptSemanticMapOperations.js +51 -0
- package/dist/domain/javascript/javascriptSemanticMemberMutations.js +215 -81
- package/dist/domain/javascript/javascriptSemanticMutationInitializers.js +395 -118
- package/dist/domain/javascript/javascriptSemanticObjectReferences.js +241 -328
- package/dist/domain/javascript/javascriptSemanticObjects.js +33 -27
- package/dist/domain/javascript/javascriptSemanticOpaqueEffects.js +163 -0
- package/dist/domain/javascript/javascriptSemanticPrimitives.js +11 -1
- package/dist/domain/javascript/javascriptSemanticProjection.js +44 -67
- package/dist/domain/javascript/javascriptSemanticQueryIdentity.js +2 -1
- package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +1 -1
- package/dist/domain/javascript/javascriptSemanticRequireOrigin.js +45 -7
- package/dist/domain/javascript/javascriptSemanticResourceLimits.js +3 -19
- package/dist/domain/javascript/javascriptSemanticResources.js +27 -4
- package/dist/domain/javascript/javascriptSemanticReturnedReferences.js +78 -37
- package/dist/domain/javascript/javascriptSemanticReturns.js +2 -2
- package/dist/domain/javascript/javascriptSemanticState.js +191 -42
- package/dist/domain/javascript/javascriptSemanticValues.js +167 -41
- package/dist/domain/javascript/javascriptSourceParser.js +54 -9
- package/dist/domain/javascript/javascriptStaticAnalysis.js +24 -13
- package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +276 -16
- package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +33 -25
- package/dist/domain/javascript/javascriptStaticAnalysisState.js +3 -0
- package/dist/domain/javascript/javascriptStaticAnalysisTypes.js +1 -1
- package/dist/domain/javascript/javascriptSymbolicBindings.js +424 -142
- package/dist/domain/javascript/javascriptSymbolicControlFlow.js +4 -0
- package/dist/domain/javascript/javascriptSymbolicValues.js +12 -1
- package/dist/domain/javascript/sourceToBundleSignals.js +3 -0
- package/dist/domain/managed/managedApplicationGraphNodes.js +14 -9
- package/dist/domain/managed/managedArtifact.js +26 -0
- package/dist/domain/managed/managedMemberComparison.js +3 -0
- package/dist/domain/managed/managedMemberComparisonCoverage.js +14 -1
- package/dist/domain/managed/managedMemberComparisonItems.js +124 -52
- package/dist/domain/managed/managedMemberComparisonMatch.js +76 -72
- package/dist/domain/managed/managedMemberSignatureIdentity.js +40 -0
- package/dist/domain/managed/managedNativeVerificationMatch.js +5 -5
- package/dist/domain/managed/managedNativeVerificationSchemas.js +2 -2
- package/dist/domain/mobileApplicationGraphProjection.js +33 -18
- package/dist/domain/native/bytePattern.js +21 -0
- package/dist/domain/native/nativeAotPe.js +29 -2
- package/dist/domain/native/nativeAotSnapshotObservation.js +18 -0
- package/dist/domain/native/nativeCallPartialObservation.js +14 -12
- package/dist/domain/native/nativeLoadImage.js +13 -0
- package/dist/domain/native/objcSwiftMetadata.js +15 -8
- package/dist/domain/native/peResources.js +6 -2
- package/dist/domain/peMachine.js +2 -0
- package/dist/domain/process/processComparison.js +3 -3
- package/dist/domain/process/processTraceDimensionProjection.js +1 -1
- package/dist/domain/process/processTraceEvaluation.js +65 -24
- package/dist/domain/propertyListKeys.js +84 -69
- package/dist/domain/propertyListXml.js +149 -0
- package/dist/domain/providerAdapterError.js +2 -0
- package/dist/domain/providerCleanupError.js +2 -4
- package/dist/domain/rawBinary.js +11 -2
- package/dist/domain/reconstructionCoverage.js +35 -23
- package/dist/domain/reconstructionCoverageEvaluation.js +36 -36
- package/dist/domain/reconstructionCoverageEvidence.js +26 -0
- package/dist/domain/reconstructionVerification.js +40 -26
- package/dist/domain/referenceSourceImportParsing.js +4 -0
- package/dist/domain/referenceSourcePathIdentity.js +2 -0
- package/dist/domain/referenceSourceRequireBindings.js +40 -101
- package/dist/domain/relationshipCoverage.js +4 -5
- package/dist/domain/sqlite/sqliteDatabase.js +2 -1
- package/dist/domain/symbolAnalysis.js +9 -8
- package/dist/domain/webBundleAnalyzerInspection.js +65 -25
- package/dist/domain/webCaptureDiff.js +124 -41
- package/dist/domain/webInventory.js +28 -14
- package/dist/domain/webModuleTrace.js +22 -0
- package/dist/domain/webScriptExportError.js +2 -3
- package/dist/domain/xmlDocument.js +41 -0
- package/dist/domain/zipPackageFormat.js +0 -4
- package/dist/dotnet/ManagedArtifactInspector.js +2 -4
- package/dist/dotnet/ManagedDecodeBudget.js +21 -1
- package/dist/dotnet/ManagedMemberInspector.js +31 -6
- package/dist/dotnet/ManagedMemberInspectorCore.js +63 -12
- package/dist/dotnet/ManagedMemberRows.js +8 -8
- package/dist/dotnet/ManagedMetadataHeaps.js +0 -1
- package/dist/dotnet/ManagedMetadataLayout.js +17 -15
- package/dist/dotnet/ManagedNativeBoundaryHelpers.js +20 -19
- package/dist/dotnet/ManagedNativeBoundaryInspector.js +7 -8
- package/dist/dotnet/ManagedPeReader.js +5 -0
- package/dist/dotnet/ManagedSnapshot.js +25 -20
- package/dist/dotnet/ManagedTypeNameDigests.js +177 -0
- package/dist/dotnet/ManagedTypeNames.js +6 -46
- package/dist/dotnet/ManagedTypeNesting.js +25 -0
- package/dist/dotnet/ManagedTypeReferences.js +94 -0
- package/dist/electron/ElectronFuseFailures.js +105 -0
- package/dist/electron/ElectronFusePath.js +4 -3
- package/dist/electron/ElectronFuseProvider.js +67 -92
- package/dist/electron/ElectronFuseReader.js +46 -30
- package/dist/evm/EvmoleFailures.js +1 -0
- package/dist/evm/EvmoleInterfaceProvider.js +13 -16
- package/dist/filesystem/OwnedRegularFile.js +116 -0
- package/dist/filesystem/OwnedStagedOutput.js +28 -11
- package/dist/filesystem/RegularFile.js +20 -8
- package/dist/filesystem/StableFileHash.js +56 -38
- package/dist/filesystem/callerPath.js +26 -0
- package/dist/filesystem/readFileHandleChunks.js +55 -5
- package/dist/filesystem/readStableFileBytes.js +85 -0
- package/dist/firmware/FirmwareCommand.js +13 -7
- package/dist/firmware/FirmwareFailures.js +56 -0
- package/dist/firmware/FirmwareFiles.js +128 -98
- package/dist/firmware/FirmwareProvider.js +120 -65
- package/dist/firmware/FirmwarePublication.js +26 -11
- package/dist/flutter/DartElf.js +27 -0
- package/dist/flutter/FlutterBuildProvider.js +44 -4
- package/dist/gdb/GdbSessionManager.js +202 -14
- package/dist/generatedPackageMetadata.js +1 -1
- package/dist/ghidra/GhidraAnalysisProfile.js +24 -10
- package/dist/ghidra/GhidraAnalysisSeeds.js +39 -55
- package/dist/ghidra/GhidraBridgeSources.js +12 -0
- package/dist/ghidra/GhidraClient.js +362 -148
- package/dist/ghidra/GhidraClientStartup.js +5 -3
- package/dist/ghidra/GhidraClientWire.js +5 -2
- package/dist/ghidra/GhidraDiagnostics.js +16 -5
- package/dist/ghidra/GhidraDoctor.js +45 -14
- package/dist/ghidra/GhidraDosSnapshot.js +83 -0
- package/dist/ghidra/GhidraExecutableHeader.js +54 -0
- package/dist/ghidra/GhidraFileArtifacts.js +93 -0
- package/dist/ghidra/GhidraFunctionValues.js +1 -0
- package/dist/ghidra/GhidraInstallation.js +143 -142
- package/dist/ghidra/GhidraInstallationPolicy.js +20 -79
- package/dist/ghidra/GhidraInstallationProperties.js +57 -0
- package/dist/ghidra/GhidraInventoryValues.js +22 -6
- package/dist/ghidra/GhidraJavaLaunch.js +11 -4
- package/dist/ghidra/GhidraJavaProbe.js +267 -0
- package/dist/ghidra/GhidraJavaProperties.js +9 -7
- package/dist/ghidra/GhidraLanguageCatalog.js +12 -7
- package/dist/ghidra/GhidraLauncher.js +128 -65
- package/dist/ghidra/GhidraLoadImageAttest.js +75 -78
- package/dist/ghidra/GhidraLoadImageValues.js +39 -29
- package/dist/ghidra/GhidraMipsProfile.js +13 -5
- package/dist/ghidra/GhidraNativeAotSnapshotOwner.js +221 -0
- package/dist/ghidra/GhidraPeProfile.js +88 -18
- package/dist/ghidra/GhidraProvider.js +219 -32
- package/dist/ghidra/GhidraProviderCapabilities.js +17 -4
- package/dist/ghidra/GhidraProviderClient.js +199 -239
- package/dist/ghidra/GhidraPspExtension.js +104 -34
- package/dist/ghidra/GhidraPspProfile.js +4 -1
- package/dist/ghidra/GhidraRawBinaryLanguage.js +13 -4
- package/dist/ghidra/GhidraReleasePolicy.js +93 -0
- package/dist/ghidra/GhidraRequestQueue.js +64 -40
- package/dist/ghidra/GhidraSessionError.js +152 -19
- package/dist/ghidra/GhidraSessionValues.js +13 -3
- package/dist/ghidra/GhidraSocketConnection.js +25 -11
- package/dist/ghidra/GhidraTargetSnapshot.js +67 -50
- package/dist/ghidra/GhidraTransport.js +86 -63
- package/dist/ghidra/extensions/GhidraExtensions.js +30 -45
- package/dist/go/GoBinaryProvider.js +89 -60
- package/dist/go/GoElfImage.js +3 -3
- package/dist/hopper/BridgeLauncher.js +43 -4
- package/dist/hopper/HopperAnalysisProfile.js +4 -2
- package/dist/hopper/HopperCleanup.js +14 -1
- package/dist/hopper/HopperClient.js +135 -63
- package/dist/hopper/HopperProvider.js +4 -7
- package/dist/hopper/HopperProviderCapabilities.js +2 -1
- package/dist/hopper/HopperRegexSearch.js +21 -60
- package/dist/ida/IdaBusyHealth.js +36 -2
- package/dist/ida/IdaMcpConnection.js +17 -11
- package/dist/ida/IdaNativeProtocol.js +1 -9
- package/dist/ida/IdaOperationRunner.js +8 -26
- package/dist/ida/IdaProtocolValues.js +2 -1
- package/dist/ida/IdaProvider.js +18 -2
- package/dist/ida/IdaSessionClient.js +54 -12
- package/dist/inspector/V8InspectorCaptureProjection.js +7 -0
- package/dist/inspector/V8InspectorProvider.js +2 -0
- package/dist/javascript/analysis/JavaScriptAnalysisTransfer.js +25 -4
- package/dist/javascript/analysis/JavaScriptAnalysisWorker.js +4 -3
- package/dist/javascript/analysis/JavaScriptAnalysisWorkerProtocol.js +3 -2
- package/dist/javascript/analysis/JavaScriptAnalysisWorkerSchemas.js +7 -1
- package/dist/javascript/analysis/JavaScriptAnalysisWorkerServer.js +1 -1
- package/dist/javascript/recovery/RecoveryFiles.js +57 -8
- package/dist/jeb/JebMcpConnection.js +129 -70
- package/dist/jeb/JebMcpConnectionOwner.js +116 -0
- package/dist/jeb/JebMcpDeadline.js +46 -0
- package/dist/jeb/JebProvider.js +77 -51
- package/dist/kuna/KunaAddress.js +11 -0
- package/dist/kuna/KunaCommand.js +217 -0
- package/dist/kuna/KunaConfiguration.js +90 -0
- package/dist/kuna/KunaDoctor.js +198 -0
- package/dist/kuna/KunaInstallation.js +137 -0
- package/dist/kuna/KunaJson.js +23 -0
- package/dist/kuna/KunaJsonStream.js +433 -0
- package/dist/kuna/KunaLimits.js +5 -0
- package/dist/kuna/KunaProjectCache.js +804 -0
- package/dist/kuna/KunaProjectExport.js +202 -0
- package/dist/kuna/KunaProjectFiles.js +191 -0
- package/dist/kuna/KunaProjectReader.js +115 -0
- package/dist/kuna/KunaProvider.js +217 -0
- package/dist/kuna/KunaProviderCapabilities.js +102 -0
- package/dist/kuna/KunaQueryErrors.js +12 -0
- package/dist/kuna/KunaQueryWork.js +113 -0
- package/dist/kuna/KunaReferenceFiles.js +258 -0
- package/dist/kuna/KunaReferenceQueries.js +211 -0
- package/dist/kuna/KunaRelease.js +10 -0
- package/dist/kuna/KunaRunSlots.js +56 -0
- package/dist/kuna/KunaSessionClient.js +1162 -0
- package/dist/kuna/KunaStringInventory.js +145 -0
- package/dist/kuna/KunaStringQueries.js +133 -0
- package/dist/kuna/KunaTargetCommands.js +205 -0
- package/dist/kuna/KunaUnavailable.js +11 -0
- package/dist/main/processShutdown.js +17 -0
- package/dist/main/transport.js +21 -1
- package/dist/main.js +2 -12
- package/dist/mcp/AnalysisProvider-BABWbLoM.js +38 -0
- package/dist/mcp/{AnalysisSnapshotFiles-BAbiJQOc.js → AnalysisSnapshotFiles-BXz0c37-.js} +39 -28
- package/dist/mcp/{ProcessOwnership-Bl_3ejLe.js → ArtifactFileOperation-64cQKI7B.js} +274 -72
- package/dist/mcp/{ArtifactProvider-DViCU_rn.js → ArtifactProvider-Dx6pmil1.js} +371 -354
- package/dist/mcp/ArtifactProviderMetadata-UCJr2oZW.js +167 -0
- package/dist/mcp/{ArtifactReader-OyM03Gjn.js → ArtifactReader-BrnwNaKY.js} +29 -6
- package/dist/mcp/ArtifactResourceScope-zi3Dkqzy.js +175 -0
- package/dist/mcp/{AsarHeader-WsPgoooH.js → AsarHeader-B_IbppTz.js} +1 -1
- package/dist/mcp/{BinarySessionStatus-B4P9gf-S.js → BinarySessionStatus-CZ9nnXMt.js} +5 -4
- package/dist/mcp/{BinaryTargetResolver-BMaE_0H1.js → BinaryTargetResolver-BUncASDP.js} +146 -215
- package/dist/mcp/BoundedFileBytes-DYt5q9G2.js +43 -0
- package/dist/mcp/{CdpCaptureDocuments-HDiF2O7k.js → CdpCaptureDocuments-Y2uFcBpl.js} +194 -145
- package/dist/mcp/{CdpCaptureValues-M-j6CIh1.js → CdpCaptureValues-tNIg-gQK.js} +12 -5
- package/dist/mcp/{CdpConnection-BpDfz4MK.js → CdpEndpoint-BrhMhpSi.js} +352 -281
- package/dist/mcp/{CdpOptionalCommand-BPjRD9Kz.js → CdpOptionalCommand-PZZhlqxv.js} +2 -2
- package/dist/mcp/CdpTargetSession-BmmDC3XO.js +290 -0
- package/dist/mcp/{DirectAnalysis-DrafbXke.js → DirectAnalysis-B9KuCHTG.js} +29 -21
- package/dist/mcp/{DirectAnalysisStatus-CjjeDLzW.js → DirectAnalysisStatus-BgzopkIt.js} +7 -7
- package/dist/mcp/{ElectronFileScope-BPG_YoyU.js → ElectronFileScope-FXtK0d6I.js} +1 -1
- package/dist/mcp/ElectronFuseFailures-uZ_wOV6T.js +610 -0
- package/dist/mcp/MachoLoadCommandReader-C2VGgHA3.js +330 -0
- package/dist/mcp/{ManagedStaticProvider-BthZbKyZ.js → ManagedStaticProvider-CZuoPme2.js} +429 -131
- package/dist/mcp/{NativeMacOSProvider-Bh79k8dI.js → NativeMacOSProvider-CMguKrvN.js} +1376 -748
- package/dist/mcp/{NativeMacOSProviderMetadata-N1lPOaY_.js → NativeMacOSProviderMetadata-B_RH4KXF.js} +97 -7
- package/dist/mcp/{ProviderDeadline-DskQ94YD.js → OwnedCommand-BW1jBSt9.js} +436 -127
- package/dist/mcp/ProcedureAddressResolution-H6Qwpb_Y.js +59 -0
- package/dist/mcp/{WorkflowEvidence-umWrB_wm.js → WorkflowEvidence-CO4C7ALz.js} +16 -9
- package/dist/mcp/analysisErrorCleanup-Q344SnTO.js +34 -0
- package/dist/mcp/analysisErrorCore-BIEP7tvF.js +509 -0
- package/dist/mcp/{analysisErrorProjection-BN0EPM-3.js → analysisErrorProjection-B8teQwwD.js} +80 -30
- package/dist/mcp/{artifactToolContracts-Di4qZlEt.js → artifactToolContracts-C9dRDo-D.js} +6 -4
- package/dist/mcp/{browserObservation-C0s4i8UI.js → browserObservation-DUraZs62.js} +272 -107
- package/dist/mcp/{browserObservationError-CyLugqX4.js → browserObservationError-C5okJ5el.js} +27 -4
- package/dist/mcp/{browserObservationSchemas-tgqjH7aA.js → browserObservationSchemas-DwGGxBpu.js} +3 -3
- package/dist/mcp/{browserScenario-CAQ8Fns9.js → browserScenario-BRUz7yN0.js} +844 -358
- package/dist/mcp/{browserScenarioCapture-CTNFN-FI.js → browserScenarioCapture-CiMAsMx8.js} +127 -11
- package/dist/mcp/{InterfaceBuilderDecodeBudget-5F2AkxJT.js → callerPath-CpPnMZyN.js} +91 -65
- package/dist/mcp/{electronActiveObservation-lDvQTMR0.js → electronActiveObservation-DV0Ffy9X.js} +1 -0
- package/dist/mcp/electronFuses-D5SS7XXw.js +367 -0
- package/dist/mcp/{electronObservation-i7LcILQ-.js → electronObservation-DsN-NqY1.js} +134 -75
- package/dist/mcp/{electronObservation-DFOFEood.js → electronObservation-wOYWwqgF.js} +3 -3
- package/dist/mcp/{electronScenario-nCzE6IfJ.js → electronScenario-CYrt2zBK.js} +395 -135
- package/dist/mcp/{emptyArraySchema-tL6Qymyd.js → emptyArraySchema-C0o2Sxwp.js} +2 -2
- package/dist/mcp/{enhancedInputs-DgdEnzHy.js → enhancedInputs-6CCgB3VB.js} +1 -1
- package/dist/mcp/{javascriptRuntimeObservation-61NhCf7H.js → javascriptRuntimeObservation-BVbhkO2-.js} +12 -9
- package/dist/mcp/{javascriptRuntimeObservation-PIUoLfX6.js → javascriptRuntimeObservation-Cu0Yedqq.js} +2 -2
- package/dist/mcp/{lipo-Bnkoq_6W.js → lipo-DSTgUqL1.js} +11 -118
- package/dist/mcp/{logger-BQY5ulYv.js → logger-BGdGHadX.js} +2 -2
- package/dist/mcp/machoContainer-CMSxUBlK.js +605 -0
- package/dist/mcp/{main-kBXHZ8S5.js → main-Cx-Z7m_n.js} +16788 -5902
- package/dist/mcp/main.js +1 -1
- package/dist/mcp/{managedToolContracts-CK--I_s7.js → managedToolContracts-CSlbKJP-.js} +3 -3
- package/dist/mcp/{nativeValueTrace-DR9UE62L.js → nativeValueTrace-BEZbDieM.js} +2630 -2468
- package/dist/mcp/{officialToolContracts-B67NJ2tC.js → officialToolContracts-CauCcSsc.js} +74 -55
- package/dist/mcp/peMachine-aP1iYnHq.js +95 -0
- package/dist/mcp/propertyListKeys-BfCo0k4w.js +356 -0
- package/dist/mcp/providerCleanupError-DIRHxzWo.js +125 -0
- package/dist/mcp/{providerOperationHealth-CTYa3iLf.js → providerOperationHealth-9DRSGM8N.js} +24 -1
- package/dist/mcp/{scanCanonical-CRXSpule.js → scanCanonical-CF3ATd1V.js} +269 -463
- package/dist/mcp/{serverIdentity-Cio4iFV3.js → serverIdentity-BK0Ejd_Y.js} +262 -83
- package/dist/mcp/{sourceMapEnvelope-C0uJlrOh.js → sourceMapEnvelope-DAaRUIGj.js} +4 -4
- package/dist/mcp/{toolContracts-BW05wpcr.js → toolContracts-BPoHQdlC.js} +541 -327
- package/dist/mcp/{toolOutputSchemaGroups-ColvNZ1r.js → toolOutputSchemaGroups-MJ_f-PMK.js} +2551 -2354
- package/dist/mcp/{webContentArtifact-Dzjc1z-R.js → webContentArtifact-DfGkgDcI.js} +2 -17
- package/dist/mcp/{webRuntime-K__NYzXm.js → webRuntime-ccyhkRru.js} +2 -2
- package/dist/mcp/{webSourceLocation-DbMAT2J9.js → webSourceLocation-DKIum0vJ.js} +6451 -4414
- package/dist/mcpDoctor.js +4 -2
- package/dist/mcpStartupPolicy.js +18 -3
- package/dist/native/AppleDispatchMetadata.js +76 -27
- package/dist/native/AppleMachoFixups.js +20 -10
- package/dist/native/AppleObjcCategories.js +12 -1
- package/dist/native/AppleObjcDispatchFacets.js +21 -12
- package/dist/native/AppleObjcProperties.js +61 -17
- package/dist/native/AppleObjcProtocols.js +25 -7
- package/dist/native/AppleSwiftVtables.js +2 -0
- package/dist/native/CommandRunner.js +13 -9
- package/dist/native/LldbCallTracer.js +232 -178
- package/dist/native/LldbReadbackFiles.js +70 -0
- package/dist/native/LldbRetainedObservations.js +28 -56
- package/dist/native/NativeCallObservation.js +53 -52
- package/dist/native/NativeCallTarget.js +95 -0
- package/dist/native/NativeMacOSProvider.js +240 -171
- package/dist/native/NativeMachoInspection.js +21 -7
- package/dist/native/NativePlistSource.js +179 -0
- package/dist/native/NativeUiCleanupError.js +30 -0
- package/dist/native/NativeUiHelperRuntime.js +48 -35
- package/dist/native/NativeUiObservation.js +67 -45
- package/dist/native/SignatureTargetBinding.js +72 -53
- package/dist/native/parsers/demangle.js +16 -12
- package/dist/native/parsers/machoUuid.js +4 -4
- package/dist/native/parsers/otool.js +57 -17
- package/dist/native/parsers/plist.js +40 -25
- package/dist/native/pe/PeResourceLayout.js +22 -7
- package/dist/native/pe/PeResourceParser.js +10 -9
- package/dist/native/pe/PeResourcesProvider.js +63 -16
- package/dist/native/pwndbg/CoreFileMappingAuthority.js +51 -0
- package/dist/native/pwndbg/PwndbgCoreContext.js +26 -15
- package/dist/native/pwntools/PwntoolsDecoder.js +116 -53
- package/dist/native/pwntools/PwntoolsFailures.js +17 -3
- package/dist/native/pwntools/PwntoolsRecordedCrashProvider.js +11 -1
- package/dist/objdump/ObjdumpCommand.js +5 -2
- package/dist/pcap/PcapOutput.js +38 -2
- package/dist/pcap/PcapProvider.js +45 -15
- package/dist/pcap/PcapSnapshot.js +24 -4
- package/dist/process/ArtifactAnalysisResources.js +145 -52
- package/dist/process/BoundedFileBytes.js +8 -3
- package/dist/process/CurrentEntrypointPath.js +3 -1
- package/dist/process/DarwinProcessRunTokenReader.js +174 -63
- package/dist/process/DetachedPgpSignature.js +57 -0
- package/dist/process/ExecFileOutput.js +14 -11
- package/dist/{hopper/HopperTargetLease.js → process/HopperLease.js} +10 -0
- package/dist/process/LinuxResourceLimits.js +4 -24
- package/dist/process/OwnedCommand.js +109 -14
- package/dist/process/ProviderProcess.js +129 -10
- package/dist/process/RegexMatcher.js +96 -0
- package/dist/process/SharedStartupAttempt.js +59 -0
- package/dist/process/WindowsAuthority.js +1 -1
- package/dist/process/capture/FilesystemSnapshot.js +3 -2
- package/dist/process/capture/ProcessCaptureError.js +55 -17
- package/dist/process/capture/ProcessCaptureLifecycle.js +17 -20
- package/dist/process/capture/ProcessCaptureProgress.js +5 -3
- package/dist/process/capture/ProcessHarness.js +17 -3
- package/dist/process/snapshotEnvironment.js +8 -8
- package/dist/{application/binary → providers}/AnalysisClientCleanup.js +3 -3
- package/dist/providers/AnalysisClientCreation.js +193 -0
- package/dist/providers/AnalysisClientFailure.js +191 -0
- package/dist/providers/DeferredAnalysisClient.js +48 -0
- package/dist/providers/OwnedCommandCleanup.js +65 -0
- package/dist/providers/ProviderInspectionScope.js +10 -0
- package/dist/recordedCatalogDigests.js +2 -0
- package/dist/reference/ReferenceSourceReader.js +64 -0
- package/dist/reference/ReferenceSourceReaderEntries.js +12 -3
- package/dist/reference/ReferenceSourceReaderFile.js +2 -1
- package/dist/rizin/RizinCommand.js +2 -2
- package/dist/rizin/RizinDebugSessionManager.js +249 -210
- package/dist/rust/RustBinaryProvider.js +55 -23
- package/dist/server/EvidenceMcpServer.js +2 -2
- package/dist/server/contractToolHandler.js +17 -11
- package/dist/server/createServer.js +27 -8
- package/dist/server/promptCompletion.js +24 -22
- package/dist/server/registerArtifactComparisonTool.js +13 -2
- package/dist/server/registerBrowserScenarioTool.js +7 -5
- package/dist/server/registerBrowserTools.js +2 -4
- package/dist/server/registerCutterTools.js +2 -3
- package/dist/server/registerElectronTools.js +2 -13
- package/dist/server/registerFridaTools.js +8 -12
- package/dist/server/registerInvestigationTools.js +20 -20
- package/dist/server/registerJavaScriptRuntimeObservationTools.js +2 -4
- package/dist/server/registerManagedWorkflowTools/evidence.js +14 -7
- package/dist/server/registerProcessComparisonTool.js +3 -0
- package/dist/server/registerSessionStatusTool.js +13 -6
- package/dist/server/registerSessionTools.js +16 -29
- package/dist/server/runDerivedOperation.js +2 -0
- package/dist/signals/SigrokRecordingProvider.js +13 -6
- package/dist/sqlite/SqliteDatabaseFailures.js +25 -12
- package/dist/sqlite/SqliteDatabaseInspection.js +27 -12
- package/dist/sqlite/SqliteDatabaseSnapshot.js +58 -32
- package/dist/sqlite/SqliteDatabaseWorkerExecution.js +18 -3
- package/dist/wasm/WabtArtifactProvider.js +64 -42
- package/dist/wasm/WabtFailures.js +19 -1
- package/dist/wasm/WabtRuntime.js +58 -0
- package/dist/wasm/WasmGlueAdapter.js +20 -7
- package/dist/windows/WindowsNativeLoader.js +16 -2
- package/dist/windows/WindowsPrivateRuntime.js +44 -1
- package/licenses/npm-dependencies.txt +146 -1
- package/licenses/npm-runtime-notices.txt +175 -1
- package/native/windows/README.md +44 -7
- package/native/windows/build/manifest.json +2 -2
- package/native/windows/build/rea-windows-x64.node +0 -0
- package/package.json +11 -3
- package/scripts/electron-active-hook-boundaries.cjs +15 -2
- package/scripts/electron-active-hook.cjs +408 -46
- package/scripts/hopper-demo-x11.py +12 -10
- package/scripts/rea.mjs +62 -15
- package/skills/reverse-engineer-anything/SKILL.md +21 -7
- package/skills/reverse-engineer-anything/references/android-applications.md +3 -1
- package/skills/reverse-engineer-anything/references/javascript-applications.md +44 -1
- package/skills/reverse-engineer-anything/references/native-and-artifacts.md +30 -10
- package/dist/cli-runtime/ArtifactResourceScope-DQWTcUwE.js +0 -114
- package/dist/cli-runtime/ClientConfigPath-c6jr6INc.js +0 -36
- package/dist/cli-runtime/IdaConfiguration-CtGP7EKo.js +0 -1094
- package/dist/cli-runtime/JebMcpEndpoint-DUytrn5G.js +0 -428
- package/dist/cli-runtime/MacHopperPaths-CwL5lYPX.js +0 -434
- package/dist/cli-runtime/OwnedCommand-Cj9GhmPR.js +0 -112
- package/dist/cli-runtime/RegularFile-B_6KPCNQ.js +0 -139
- package/dist/cli-runtime/RegularFileRead-DVlC5faM.js +0 -125
- package/dist/cli-runtime/analysisErrorPresentation-DGt7TdsH.js +0 -497
- package/dist/cli-runtime/application__javascript__ElectronObservationService-DEsR8KDN.js +0 -63
- package/dist/cli-runtime/artifactOperationError-B7n03FbD.js +0 -27
- package/dist/cli-runtime/browserObservationError-Dx6xRTjb.js +0 -40
- package/dist/cli-runtime/cliResultOutput-DsRMI8CJ.js +0 -780
- package/dist/cli-runtime/mcpStartupPolicy-CVVSOmRc.js +0 -21
- package/dist/cli-runtime/propertyListKeys-G8e74YWb.js +0 -248
- package/dist/cli-runtime/providerAdapterError-DAjhICdr.js +0 -25
- package/dist/cli-runtime/readFileHandleChunks-dp60iZ6v.js +0 -38
- package/dist/hopper/HopperRegexWorker.js +0 -27
- package/dist/mcp/ArtifactProviderMetadata-b7pOK5_t.js +0 -76
- package/dist/mcp/ArtifactResourceScope-P3tq5z8Z.js +0 -162
- package/dist/mcp/BoundedFileBytes-DuczXiQZ.js +0 -68
- package/dist/mcp/CdpTargetSession-BsPoKhEU.js +0 -86
- package/dist/mcp/ProcedureAddressResolution-CQpuwm1h.js +0 -19
- package/dist/mcp/analysisErrorCore-DXRTvF_m.js +0 -235
- package/dist/mcp/artifactOperationError-CkHMMaf7.js +0 -27
- package/dist/mcp/digests-BFoWUT_-.js +0 -223
- package/dist/mcp/propertyListKeys-DD25WsjI.js +0 -553
- package/dist/mcp/providerAdapterError-sDxToNal.js +0 -25
- 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 {
|
|
3
|
-
import { d as init_evidenceErrors, l as EvidenceIntegrityError } from "./analysisErrorProjection-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { n as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
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
|
|
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
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
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
|
|
2558
|
-
|
|
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
|
|
4335
|
-
const
|
|
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
|
|
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 = (
|
|
4629
|
-
if (
|
|
4922
|
+
cliNative = (cli) => {
|
|
4923
|
+
if (cli === null) return null;
|
|
4630
4924
|
return {
|
|
4631
|
-
il_only: (
|
|
4632
|
-
requires_32bit: managedCli32BitRequirement(
|
|
4633
|
-
strong_name_signed: (
|
|
4634
|
-
native_entry_point: (
|
|
4635
|
-
ready_to_run_signature:
|
|
4636
|
-
managed_native_header_rva:
|
|
4637
|
-
managed_native_header_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 = (
|
|
4934
|
+
nativeBoundarySummary = (cli, counts) => ({
|
|
4641
4935
|
...counts,
|
|
4642
|
-
ready_to_run:
|
|
4643
|
-
mixed_mode_or_native_header:
|
|
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,
|
|
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:
|
|
4957
|
+
cli_native: cliNative(pe.cli),
|
|
4664
4958
|
module_refs: moduleRefs,
|
|
4665
4959
|
pinvoke_imports: imports,
|
|
4666
4960
|
native_implementations: implementations,
|
|
4667
|
-
summary: nativeBoundarySummary(
|
|
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, {
|
|
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:
|
|
5011
|
+
cli_native: cliNative(cli),
|
|
4718
5012
|
module_refs: [],
|
|
4719
5013
|
pinvoke_imports: [],
|
|
4720
5014
|
native_implementations: [],
|
|
4721
|
-
summary: nativeBoundarySummary(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
4834
|
-
|
|
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
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
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) =>
|
|
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
|
|