From ad59531a960a0c51ef6857fa1391270dda0fa7a4 Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:45:18 +0800 Subject: [PATCH] refactor: remove forwarding exports and redundant aliases --- scripts/lib/catalog-core.mjs | 3 +- scripts/lib/product-catalog.mjs | 2 +- scripts/lib/real-hopper-inventory.mjs | 2 +- scripts/lib/real-hopper-selection.mjs | 2 +- scripts/verify-real-ghidra-assertions.mjs | 2 +- scripts/verify-real-ghidra-windows.mjs | 8 +- scripts/verify-real-ghidra.mjs | 8 +- scripts/verify-real-hopper-deadlines.mjs | 2 +- scripts/verify-real-hopper-fat.mjs | 2 +- scripts/verify-real-hopper.mjs | 2 +- src/android/JadxProvider.ts | 2 +- src/android/JadxSession.ts | 2 +- src/application/AnalysisProvider.ts | 2 +- src/application/BrowserEvidence.ts | 6 +- src/application/BrowserObservationPort.ts | 6 +- src/application/DirectAnalysis.ts | 5 +- src/application/DirectAnalysisDependencies.ts | 5 +- src/application/DirectAnalysisStatus.ts | 3 +- src/application/EnhancedTools.ts | 2 - src/application/EvidenceBundleFiles.ts | 2 +- src/application/FunctionAnalysisEvidence.ts | 2 +- ...ReconstructionObligationCandidates.test.ts | 2 +- .../ReconstructionObligationCandidates.ts | 2 +- .../ReconstructionObligationLedger.fixture.ts | 6 +- src/application/ReferenceSourceImport.ts | 5 - .../ReferenceSourceImportEntries.ts | 2 +- src/application/WorkflowEvidence.test.ts | 1 - src/application/WorkflowEvidence.ts | 2 +- .../android/AndroidAnalysisPort.ts | 2 +- .../binary/AnalysisProviderEvaluation.ts | 2 +- .../binary/AnalysisProviderRegistry.test.ts | 2 +- .../binary/AnalysisProviderRegistry.ts | 2 +- .../binary/AnalysisSnapshotCache.ts | 2 +- src/application/binary/BinarySession.ts | 3 +- .../binary/BinarySessionExecution.ts | 2 +- src/application/binary/BinarySessionOpen.ts | 2 +- src/application/binary/BinarySessionPort.ts | 2 +- .../binary/BinarySessionRecords.ts | 2 +- src/application/binary/BinarySessionStatus.ts | 2 +- src/application/binary/CompositeProvider.ts | 2 +- .../binary/LazyAnalysisProvider.ts | 2 +- .../binary/SessionProviderRouter.ts | 2 +- .../investigation/EvidenceLedger.test.ts | 2 +- .../investigation/InvestigationRecords.ts | 2 +- .../investigation/UnknownEvidence.ts | 2 +- .../ElectronBoundaryGraphContext.ts | 2 +- .../javascript/ElectronBoundaryGraphIpc.ts | 2 +- .../ElectronBoundaryGraphWindows.ts | 2 +- .../JavaScriptArtifactGraphAccumulator.ts | 6 +- .../JavaScriptArtifactGraphBuilder.ts | 4 +- .../JavaScriptArtifactGraphBundlers.ts | 2 +- .../JavaScriptArtifactGraphContext.ts | 4 +- .../JavaScriptArtifactGraphFindings.ts | 2 +- .../JavaScriptArtifactGraphStructure.ts | 5 +- .../JavaScriptArtifactReconstruction.ts | 2 +- .../JavaScriptModuleRelationships.ts | 2 +- .../JavaScriptSemanticGraphAsyncProjection.ts | 11 +- .../JavaScriptSemanticGraphBuilder.ts | 2 +- ...riptSemanticGraphChildProcessProjection.ts | 9 +- .../JavaScriptSemanticGraphConstruction.ts | 2 +- .../JavaScriptSemanticGraphDataProjection.ts | 11 +- ...criptSemanticGraphFingerprintProjection.ts | 2 +- .../JavaScriptSemanticGraphFlowProjection.ts | 12 +- ...JavaScriptSemanticGraphObjectProjection.ts | 2 +- .../JavaScriptSemanticGraphProjection.ts | 2 +- ...vaScriptSemanticGraphResourceProjection.ts | 11 +- .../managed/ManagedMemberComparisonService.ts | 2 +- .../ManagedNativeVerificationService.ts | 4 +- src/application/process/ProcessCli.ts | 14 +- src/application/process/ProcessEvidence.ts | 8 +- src/artifacts/ArtifactProvider.ts | 2 +- .../extraction/ArtifactExtraction.ts | 2 +- src/artifacts/inventory/ArtifactInventory.ts | 13 +- src/artifacts/inventory/scanCanonical.ts | 2 +- src/artifacts/inventory/types.ts | 2 - src/browser/BrowserScenarioSecrets.ts | 4 +- src/browser/BrowserScenarioSessionPort.ts | 8 +- src/browser/CdpBrowserProvider.ts | 10 +- src/browser/CdpCaptureDocuments.ts | 6 +- src/browser/CdpCaptureEventHandlers.ts | 2 +- src/browser/CdpCaptureEventState.ts | 6 +- src/browser/CdpCaptureEventTypes.ts | 2 +- src/browser/CdpCaptureEvents.ts | 8 +- src/browser/CdpCaptureStorage.ts | 6 +- src/browser/CdpCaptureStorageFingerprints.ts | 6 +- src/browser/CdpPageCapture.ts | 6 +- src/browser/CdpPageCaptureScripts.ts | 2 +- src/browser/CdpPageCaptureWorkers.ts | 2 +- src/browser/CdpSafeMetadata.ts | 2 +- src/browser/PlaywrightScenarioActions.ts | 2 +- src/browser/PlaywrightScenarioArtifacts.ts | 2 +- src/browser/PlaywrightScenarioEvents.ts | 2 +- src/browser/assets/PageScriptCapture.ts | 2 +- src/browser/assets/ScriptCaptureAdapters.ts | 2 +- .../network/PlaywrightScenarioNetwork.test.ts | 2 +- .../network/PlaywrightScenarioNetwork.ts | 2 +- src/catalogIdentity.ts | 2 - src/cli/analysisViewCommands.ts | 4 +- src/cli/androidCommands.ts | 2 +- src/cli/applicationCommands.ts | 2 +- src/cli/artifactCommands.ts | 2 +- src/cli/binaryDiagnosticsCommands.ts | 2 +- src/cli/browserAdvancedCommands.ts | 2 +- src/cli/browserCommands.ts | 2 +- src/cli/coreAnalysisCommands.ts | 2 +- src/cli/coreBinaryCommands.ts | 2 +- src/cli/coreNativeCommands.ts | 2 +- src/cli/electronCommands.ts | 2 +- src/cli/evmCommands.ts | 2 +- src/cli/firmwareCommands.ts | 2 +- src/cli/javascriptRecoveryCommands.ts | 2 +- src/cli/managedCommands.ts | 2 +- src/cli/managedProjectGraphCommand.ts | 2 +- src/cli/nativeCallCommands.ts | 2 +- src/cli/options.ts | 2 +- src/cli/processCommands.ts | 2 +- src/cli/setupCommands.ts | 2 +- src/cli/utilityCommands.ts | 4 +- src/cli/webModuleCommands.ts | 2 +- src/cli/webNetworkCaptureCommands.ts | 2 +- src/cli/webRuntimeCommands.ts | 2 +- src/cli/webScriptCommands.ts | 2 +- src/cli/webSourceLocationCommands.ts | 2 +- src/cliBrowserScenarioCommands.ts | 2 +- src/cliEvidenceCommands.ts | 2 +- src/cliHostInputs.test.ts | 2 +- src/cliJavaScriptRuntimeCommands.ts | 2 +- src/cliLogging.ts | 2 +- src/composition/binary.ts | 4 +- src/composition/directAnalysis.ts | 2 +- src/config.test.ts | 2 +- src/config.ts | 2 - src/contracts/analysisViewToolContracts.ts | 2 +- src/contracts/applicationToolContracts.ts | 6 +- src/contracts/artifactToolContracts.ts | 4 +- src/contracts/browserScenarioToolContracts.ts | 4 +- src/contracts/browserToolContracts.ts | 29 +-- src/contracts/enhancedToolContracts.ts | 6 +- src/contracts/evm/evmToolContracts.ts | 2 +- .../functionWorkflowToolContracts.ts | 2 +- src/contracts/investigationExamples.ts | 10 +- .../javascript/electronToolContracts.ts | 4 +- .../javascriptApplicationWorkflowExamples.ts | 3 - ...vascriptRuntimeObservationToolContracts.ts | 4 +- src/contracts/managed/managedToolContracts.ts | 20 +- .../managed/managedWorkflowToolContracts.ts | 4 +- .../native/binaryDiagnosticsToolContracts.ts | 2 +- src/contracts/native/nativeToolContracts.ts | 4 +- src/contracts/officialToolContracts.ts | 6 +- .../process/processCaptureExample.ts | 2 - src/contracts/sessionPathInputs.test.ts | 6 +- src/contracts/sessionToolContracts.ts | 34 ++-- src/contracts/sessionToolSchemas.ts | 33 +--- src/contracts/toolContracts.ts | 2 - src/contracts/toolOutputSchemaGroups.ts | 184 +++++++++--------- src/contracts/toolOutputSchemaPrimitives.ts | 16 +- src/contracts/toolOutputSchemas.ts | 2 - .../webNetworkCaptureToolContracts.ts | 4 +- src/contracts/webRuntimeToolContracts.ts | 4 +- src/contracts/webScriptToolContracts.ts | 2 +- src/domain/analysisSnapshot.fixture.ts | 2 +- src/domain/analysisSnapshot.ts | 2 +- src/domain/analysisView/analysisView.test.ts | 8 +- src/domain/analysisView/analysisView.ts | 5 - .../analysisView/analysisViewCoverage.ts | 1 - .../apple/interfaceBuilderGraph.test.ts | 2 +- src/domain/apple/interfaceBuilderGraph.ts | 2 - src/domain/binaryTarget.ts | 2 - src/domain/browserCaptureComparison.ts | 8 +- src/domain/browserObservation.ts | 7 - src/domain/browserScenario.ts | 6 - src/domain/browserScenarioCapture.ts | 13 -- src/domain/browserScenarioDiff.test.ts | 4 +- src/domain/browserScenarioDiff.ts | 13 +- src/domain/browserScenarioDiffEvidence.ts | 4 +- src/domain/callPath.test.ts | 4 +- src/domain/callPath.ts | 3 - src/domain/changedBehavior.ts | 4 +- src/domain/evidence.test.ts | 2 +- src/domain/evidence.ts | 2 +- src/domain/functionComparison.test.ts | 6 +- src/domain/functionComparison.ts | 5 - .../javascript/electronStaticAnalysisIpc.ts | 2 +- .../electronStaticAnalysisNative.ts | 6 +- .../javascriptApplicationChangeGraph.ts | 8 +- .../javascriptApplicationGraph.fixture.ts | 4 +- .../javascript/javascriptApplicationGraph.ts | 2 - .../javascriptApplicationVersionItems.ts | 10 +- .../javascriptApplicationVersionKeys.ts | 2 +- .../javascriptExportShapeSelection.ts | 6 +- ...avascriptFeatureSeed.array_members.test.ts | 2 +- .../javascript/javascriptFeatureSeed.ts | 2 +- .../javascript/javascriptFeatureTrace.ts | 6 +- .../javascript/javascriptFeatureTraversal.ts | 10 +- .../javascript/javascriptNativeHandoff.ts | 2 +- .../javascript/javascriptRuntimeLoadState.ts | 2 +- .../javascriptRuntimeReconciliationGraph.ts | 6 +- ...javascriptRuntimeReconciliationMatching.ts | 8 +- .../javascriptRuntimeReconciliationParsing.ts | 4 +- .../javascriptRuntimeReconciliationRuntime.ts | 8 +- .../javascriptRuntimeStaticCandidates.ts | 6 +- ...vascriptSemanticAnalysis.rejection.test.ts | 2 +- .../javascriptSemanticAsyncEffects.ts | 6 +- .../javascript/javascriptSemanticCalls.ts | 2 +- .../javascriptSemanticChildProcesses.ts | 6 +- .../javascriptSemanticDataEffects.ts | 2 +- .../javascript/javascriptSemanticGraph.ts | 2 - .../javascriptSemanticGraphQuery.test.ts | 2 +- .../javascriptSemanticGraphTraversal.test.ts | 6 +- src/domain/javascript/javascriptSemanticIr.ts | 7 - .../javascriptSemanticMutationValues.ts | 2 +- .../javascript/javascriptSemanticObjects.ts | 2 +- .../javascriptSemanticPrimitives.ts | 23 +-- .../javascriptSemanticProjection.ts | 12 +- .../javascript/javascriptSemanticPromises.ts | 6 +- .../javascriptSemanticProvenance.ts | 2 +- .../javascript/javascriptSemanticQuery.ts | 4 +- .../javascriptSemanticQueryIdentity.ts | 6 +- .../javascriptSemanticQueryRelations.ts | 2 +- .../javascript/javascriptSemanticResources.ts | 2 +- .../javascript/javascriptSemanticReturns.ts | 2 +- .../javascriptStaticAnalysisCalls.ts | 2 +- .../javascriptStaticAnalysisHelpers.ts | 5 - src/domain/managed/managedApplicationGraph.ts | 6 +- .../managedApplicationGraphCoverage.ts | 2 +- .../managed/managedApplicationGraphNodes.ts | 4 +- src/domain/managed/managedMemberComparison.ts | 2 - .../managed/managedNativeVerification.ts | 7 - src/domain/process/processCapture.fixture.ts | 10 +- src/domain/process/processCapture.ts | 13 -- .../process/processCapture.validation.test.ts | 6 +- src/domain/process/processCaptureExample.ts | 2 +- .../process/processCaptureValidation.ts | 2 +- src/domain/process/processComparison.ts | 14 +- .../process/processTraceAdapters.test.ts | 10 +- .../process/processTraceComparison.fixture.ts | 9 +- .../process/processTraceComparison.test.ts | 10 +- src/domain/process/processTraceComparison.ts | 11 +- .../processTraceDimensionProjection.ts | 10 +- src/domain/process/processTraceEvaluation.ts | 28 ++- .../process/processTraceSpecification.test.ts | 2 +- .../process/processTraceSpecification.ts | 6 +- ...uctionVerification.functionSources.test.ts | 4 +- src/domain/reconstructionVerification.test.ts | 8 +- src/domain/reconstructionVerification.ts | 12 +- src/domain/staticRuntimeCorrelation.ts | 4 +- src/domain/webBundleAnalyzer.test.ts | 2 +- src/domain/webBundleAnalyzer.ts | 2 +- src/domain/webBundleAnalyzerInspection.ts | 2 +- src/domain/webBundleAnalyzerResult.ts | 2 +- src/domain/webCaptureDiff.ts | 8 +- src/domain/webCaptureDiffSchemas.ts | 2 +- src/domain/webEventListeners.ts | 4 +- src/domain/webExecution.ts | 4 +- src/domain/webRuntime.ts | 3 - src/dotnet/ManagedArtifactInspector.ts | 2 +- src/dotnet/ManagedMemberInspector.ts | 2 +- src/dotnet/ManagedNativeBoundaryHelpers.ts | 2 +- src/dotnet/ManagedNativeBoundaryInspector.ts | 2 +- src/dotnet/ManagedPe.fixture.ts | 2 +- src/dotnet/ManagedStaticProvider.ts | 10 +- src/evaluation/AgentEvaluationFixtures.ts | 2 +- src/ghidra/GhidraAnalysisProfile.ts | 2 +- src/ghidra/GhidraClient.ts | 10 +- src/ghidra/GhidraClientTypes.ts | 2 +- src/ghidra/GhidraClientWire.ts | 2 +- src/ghidra/GhidraInstallation.test.ts | 6 +- src/ghidra/GhidraInstallation.ts | 2 - src/ghidra/GhidraLoadImageAttest.ts | 2 +- src/ghidra/GhidraProvider.behavior.test.ts | 10 +- src/ghidra/GhidraProvider.ts | 9 +- src/ghidra/GhidraProviderClient.ts | 6 +- src/ghidra/GhidraSnapshotCache.test.ts | 4 +- .../extensions/GhidraExtensions.test.ts | 4 +- src/ghidra/extensions/GhidraExtensions.ts | 4 +- src/hopper/HopperAnalysisProfile.ts | 6 +- src/hopper/HopperCleanup.ts | 2 +- src/hopper/HopperClient.ts | 5 +- src/hopper/HopperFileOffset.ts | 2 +- src/hopper/HopperMachOImage.ts | 2 +- src/hopper/HopperProvider.test.ts | 2 +- src/hopper/HopperProvider.ts | 23 +-- src/hopper/HopperProviderDiscovery.test.ts | 4 +- src/ida/IdaProvider.ts | 6 +- src/ida/IdaSessionClient.ts | 2 +- src/ida/IdaWorkspace.ts | 2 +- src/ida/IdaWorkspaceOwnership.test.ts | 2 +- src/inspector/V8InspectorProvider.ts | 2 - src/javascript/sourceMaps/SourceMapDecoder.ts | 1 - src/logger.ts | 2 - src/main.ts | 2 +- src/main/shutdown.ts | 2 +- src/main/startup.ts | 4 +- src/main/transport.ts | 2 +- src/native/AppleDispatchMetadata.ts | 2 +- src/native/NativeCallObservation.ts | 2 +- src/native/NativeMacOSProvider.ts | 2 +- src/native/NativeMachoInspection.ts | 2 +- src/native/NativeUiObservation.test.ts | 2 +- src/native/NativeUiObservation.ts | 2 +- src/native/SignatureTargetBinding.ts | 2 +- .../capture/FilesystemCoverage.test.ts | 2 +- src/process/capture/FilesystemSnapshot.ts | 6 +- .../capture/ProcessCaptureEnvironment.ts | 2 +- src/process/capture/ProcessCaptureJournal.ts | 12 +- .../capture/ProcessCaptureLifecycle.ts | 40 ++-- .../capture/ProcessCaptureObservation.test.ts | 6 +- src/process/capture/ProcessHarness.test.ts | 18 +- src/process/capture/ProcessHarness.ts | 24 ++- .../capture/ProcessNormalization.test.ts | 2 +- src/process/capture/ProcessNormalization.ts | 6 +- .../ProcessScenarioRuntimeValidation.test.ts | 2 +- .../ProcessScenarioRuntimeValidation.ts | 2 +- src/reference/ReferenceSourceReader.ts | 6 - src/server/createServer.ts | 5 +- src/server/promptCompletion.ts | 4 +- src/server/recordDerivedEvidence.ts | 2 +- src/server/registerAnalysisViewTool.ts | 2 +- src/server/registerAndroidTools.ts | 2 +- src/server/registerApplicationTools.ts | 2 - src/server/registerApplicationTools/types.ts | 2 +- src/server/registerArtifactComparisonTool.ts | 4 +- src/server/registerArtifactTools.ts | 4 +- src/server/registerBinaryDiagnosticsTools.ts | 2 +- src/server/registerBrowserScenarioTool.ts | 2 +- src/server/registerBrowserTools.ts | 21 +- src/server/registerBundleComparisonTool.ts | 4 +- src/server/registerElectronTools.ts | 21 +- src/server/registerEnhancedTools.ts | 13 +- src/server/registerEvidenceTools.ts | 6 +- src/server/registerEvmTools.ts | 2 +- src/server/registerFirmwareTools.ts | 2 +- src/server/registerFunctionComparisonTool.ts | 6 +- src/server/registerInvestigationTools.ts | 6 +- .../registerInvestigationTools/helpers.ts | 2 +- src/server/registerJavaScriptRecoveryTool.ts | 2 +- ...gisterJavaScriptRuntimeObservationTools.ts | 5 +- src/server/registerManagedTools.ts | 6 +- src/server/registerManagedWorkflowTools.ts | 2 - .../registerManagedWorkflowTools/types.ts | 4 +- .../verifyManagedNativeBoundaries.ts | 2 +- src/server/registerNativeTools.ts | 4 +- src/server/registerOfficialTools.ts | 4 +- src/server/registerProcessComparisonTool.ts | 8 +- src/server/registerPrompts.ts | 2 +- src/server/registerRecordedCrashTools.ts | 2 +- src/server/registerSessionRecordTools.ts | 11 +- src/server/registerSessionStatusTool.ts | 2 +- src/server/registerSessionTools.ts | 11 +- src/server/registerWebModuleTool.ts | 2 +- src/server/registerWebNetworkCaptureTool.ts | 2 +- src/server/registerWebRuntimeTools.ts | 2 +- src/server/registerWebScriptTool.ts | 2 +- src/server/registerWebSourceLocationTool.ts | 2 +- src/server/sessionToolPolicies.ts | 10 - src/server/toolLogging.ts | 2 +- src/server/toolRegistrationOptions.ts | 2 +- .../applicationWorkflowCli.test.ts | 1 + .../cdpBrowserProvider.sensitive_data.test.ts | 6 +- .../browser/cdpJsonShapeComparison.test.ts | 6 +- tests/boundary/browser/webCaptureDiff.test.ts | 4 +- tests/boundary/cli/analysisViewCli.test.ts | 2 +- tests/boundary/cli/productCatalog.test.ts | 6 +- .../directAnalysisPermissions.test.ts | 2 +- .../filesystem/referenceSourceImport.test.ts | 2 +- .../javascriptRuntimeObservation.test.ts | 2 +- .../javascript/sourceMapDecoder.test.ts | 2 +- tests/boundary/mcp/browserMcp.test.ts | 2 +- tests/boundary/mcp/ghidraMcpHarness.ts | 8 +- .../mcp/keyedArchiveNumberMetadataMcp.test.ts | 2 +- tests/boundary/mcp/managedMcp.test.ts | 2 +- tests/boundary/mcp/nativeDemangleMcp.test.ts | 2 +- tests/boundary/mcp/officialArguments.test.ts | 2 +- .../outputSchemaSemanticConstraints.test.ts | 6 +- .../processComparisonDiagnosticsMcp.test.ts | 6 +- .../mcp/processEvidenceIdentityMcp.test.ts | 6 +- .../mcp/processTraceAdaptersParity.test.ts | 6 +- .../retainedApplicationEvidenceMcp.test.ts | 2 +- tests/boundary/mcp/serverIdentity.test.ts | 6 +- tests/boundary/mcp/serverUnknownsMcp.test.ts | 6 +- tests/boundary/mcp/toolResult.test.ts | 10 +- .../mcp/workflowSnapshotReplayMcp.test.ts | 2 +- .../process/ProcessEvidence.host.test.ts | 2 +- .../boundary/process/ProcessEvidence.test.ts | 6 +- .../process/cliEnvironmentSeam.test.ts | 4 +- .../process/processCaptureLifecycle.test.ts | 6 +- .../processCaptureNormalization.test.ts | 4 +- .../process/processCaptureTerminal.test.ts | 2 +- tests/boundary/process/processCli.test.ts | 2 +- .../processFilesystemCoverageAdapters.test.ts | 6 +- .../process/processPreparation.test.ts | 2 +- .../process/processTruncationAdapters.test.ts | 8 +- .../providers/ghidra/ghidraClient.test.ts | 8 +- .../hopper/hopperAnalysisProfile.test.ts | 4 +- .../hopper/hopperClient.protocol.test.ts | 2 +- .../managed/managedMemberComparison.test.ts | 6 +- .../artifactProvider.archiveInventory.test.ts | 2 +- .../artifactProvider.archiveSafety.test.ts | 2 +- ...rtifactProvider.directoryInventory.test.ts | 2 +- .../artifactProvider.extraction.test.ts | 2 +- .../artifactProvider.extractionFormat.test.ts | 2 +- ...rtifactProvider.extractionIdentity.test.ts | 2 +- .../compositeProvider.test.ts | 2 +- .../composition/directAnalysisCleanup.test.ts | 2 +- .../directAnalysisFactories.test.ts | 2 +- .../directAnalysisSnapshotReplay.test.ts | 2 +- tests/composition/directAnalysisXrefs.test.ts | 2 +- tests/composition/idaProvider.test.ts | 4 +- .../javascriptArtifactReconstruction.test.ts | 2 +- .../managed/managedNativeVerification.test.ts | 4 +- tests/fixtures/binarySession.ts | 2 +- tests/fixtures/contractPresentation.mjs | 2 +- tests/fixtures/directAnalysisInterrupt.mjs | 2 +- tests/fixtures/idaMcp.ts | 2 +- tests/fixtures/nativeCommands.ts | 2 +- tests/support/javascriptApplicationFixture.ts | 4 +- 416 files changed, 855 insertions(+), 1208 deletions(-) delete mode 100644 src/config.ts delete mode 100644 src/contracts/process/processCaptureExample.ts delete mode 100644 src/contracts/toolOutputSchemas.ts delete mode 100644 src/server/sessionToolPolicies.ts diff --git a/scripts/lib/catalog-core.mjs b/scripts/lib/catalog-core.mjs index 2c8edf578e..7792c19320 100644 --- a/scripts/lib/catalog-core.mjs +++ b/scripts/lib/catalog-core.mjs @@ -35,6 +35,7 @@ export const assertSameNames = (label, actual, expected) => { const SOURCE_PATHS = { packageMetadata: "dist/generatedPackageMetadata.js", catalogIdentity: "dist/catalogIdentity.js", + cliCommandNames: "dist/cliCommandNames.js", cli: "dist/cli.js", toolContracts: "dist/contracts/toolContracts.js", officialContracts: "dist/contracts/officialToolContracts.js", @@ -76,7 +77,7 @@ const SOURCE_PATHS = { nativeProvider: "dist/native/NativeMacOSProviderMetadata.js", artifactProviders: "dist/application/InvestigationProviders.js", browserIdentities: "dist/browser/providerIdentities.js", - v8InspectorProvider: "dist/inspector/V8InspectorProvider.js", + v8InspectorProvider: "dist/inspector/providerIdentity.js", evidence: "dist/domain/evidence.js", evidenceBundle: "dist/domain/evidenceBundle.js", evidenceCompletion: "dist/domain/evidenceCompletionLedger.js", diff --git a/scripts/lib/product-catalog.mjs b/scripts/lib/product-catalog.mjs index 266e37291f..ebdaaeb0dc 100644 --- a/scripts/lib/product-catalog.mjs +++ b/scripts/lib/product-catalog.mjs @@ -24,7 +24,7 @@ export const createProductCatalog = async (root) => { assertSameNames( "Primary CLI inventory", cli.primary, - sources.catalogIdentity.CLI_COMMAND_NAMES, + sources.cliCommandNames.CLI_COMMAND_NAMES, ); const tools = toolFamilyCatalog(sources); const providers = providerCatalog(sources); diff --git a/scripts/lib/real-hopper-inventory.mjs b/scripts/lib/real-hopper-inventory.mjs index e5558ec075..30cb5f8a4d 100644 --- a/scripts/lib/real-hopper-inventory.mjs +++ b/scripts/lib/real-hopper-inventory.mjs @@ -1,5 +1,5 @@ import assert from "node:assert/strict"; -import { HOPPER_PROVIDER_IDENTITY } from "../../dist/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../../dist/hopper/HopperProviderCapabilities.js"; import { requireMcpEvidenceResult, requireEvidenceProvider, diff --git a/scripts/lib/real-hopper-selection.mjs b/scripts/lib/real-hopper-selection.mjs index 307a43030e..5206c0ad61 100644 --- a/scripts/lib/real-hopper-selection.mjs +++ b/scripts/lib/real-hopper-selection.mjs @@ -1,4 +1,4 @@ -import { HOPPER_PROVIDER_IDENTITY } from "../../dist/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../../dist/hopper/HopperProviderCapabilities.js"; /** Verify the selected Hopper candidate and concrete provider binding. */ export const requireHopperSelection = (status, expected) => { diff --git a/scripts/verify-real-ghidra-assertions.mjs b/scripts/verify-real-ghidra-assertions.mjs index 610534c055..a6db80e3f0 100644 --- a/scripts/verify-real-ghidra-assertions.mjs +++ b/scripts/verify-real-ghidra-assertions.mjs @@ -3,7 +3,7 @@ import { hasTypedSwitchEvidence } from "./verify-real-ghidra-switch-assertions.m import { access } from "node:fs/promises"; import { parseBinaryTarget } from "../dist/application/BinaryTargetResolver.js"; -import { SUPPORTED_GHIDRA_VERSION } from "../dist/ghidra/GhidraInstallation.js"; +import { SUPPORTED_GHIDRA_VERSION } from "../dist/ghidra/GhidraInstallationPolicy.js"; import { GHIDRA_SESSION_CAPABILITIES } from "../dist/ghidra/GhidraSessionValues.js"; export function assertLocalProcedureInfo(info, expectedAddress) { diff --git a/scripts/verify-real-ghidra-windows.mjs b/scripts/verify-real-ghidra-windows.mjs index 693d159814..1c5b3b829a 100644 --- a/scripts/verify-real-ghidra-windows.mjs +++ b/scripts/verify-real-ghidra-windows.mjs @@ -16,12 +16,10 @@ import { parseGhidraInventoryInput, parseGhidraInventoryResult, } from "../dist/ghidra/GhidraInventoryValues.js"; -import { - inspectGhidraInstallation, - SUPPORTED_GHIDRA_VERSION, -} from "../dist/ghidra/GhidraInstallation.js"; +import { inspectGhidraInstallation } from "../dist/ghidra/GhidraInstallation.js"; +import { SUPPORTED_GHIDRA_VERSION } from "../dist/ghidra/GhidraInstallationPolicy.js"; import { GhidraHeadlessLauncher } from "../dist/ghidra/GhidraLauncher.js"; -import { GHIDRA_PROVIDER_IDENTITY } from "../dist/ghidra/GhidraProvider.js"; +import { GHIDRA_PROVIDER_IDENTITY } from "../dist/ghidra/GhidraProviderCapabilities.js"; import { windowsP0Capabilities } from "../dist/ghidra/GhidraProviderCapabilities.js"; import { GHIDRA_SESSION_CAPABILITIES } from "../dist/ghidra/GhidraSessionValues.js"; import { parseBinaryTarget } from "../dist/application/BinaryTargetResolver.js"; diff --git a/scripts/verify-real-ghidra.mjs b/scripts/verify-real-ghidra.mjs index 4c2ed52906..59698f9c2d 100644 --- a/scripts/verify-real-ghidra.mjs +++ b/scripts/verify-real-ghidra.mjs @@ -10,12 +10,10 @@ import { promisify } from "node:util"; import { parseBinaryTarget } from "../dist/application/BinaryTargetResolver.js"; import { resolveGhidraAnalysisProfile } from "../dist/ghidra/GhidraAnalysisProfile.js"; import { GhidraClient } from "../dist/ghidra/GhidraClient.js"; -import { - inspectGhidraInstallation, - SUPPORTED_GHIDRA_VERSION, -} from "../dist/ghidra/GhidraInstallation.js"; +import { inspectGhidraInstallation } from "../dist/ghidra/GhidraInstallation.js"; +import { SUPPORTED_GHIDRA_VERSION } from "../dist/ghidra/GhidraInstallationPolicy.js"; import { GhidraHeadlessLauncher } from "../dist/ghidra/GhidraLauncher.js"; -import { GHIDRA_PROVIDER_IDENTITY } from "../dist/ghidra/GhidraProvider.js"; +import { GHIDRA_PROVIDER_IDENTITY } from "../dist/ghidra/GhidraProviderCapabilities.js"; import { assertCleanup, diff --git a/scripts/verify-real-hopper-deadlines.mjs b/scripts/verify-real-hopper-deadlines.mjs index 78270404e1..11e0714314 100644 --- a/scripts/verify-real-hopper-deadlines.mjs +++ b/scripts/verify-real-hopper-deadlines.mjs @@ -9,7 +9,7 @@ import { parseBinaryTarget } from "../dist/application/BinaryTargetResolver.js"; import { resolveHopperAnalysisProfile } from "../dist/hopper/HopperAnalysisProfile.js"; import { HopperApplicationLauncher } from "../dist/hopper/BridgeLauncher.js"; import { HopperClient } from "../dist/hopper/HopperClient.js"; -import { HOPPER_PROVIDER_IDENTITY } from "../dist/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../dist/hopper/HopperProviderCapabilities.js"; import { loadRealHopperFixtureTargets } from "./lib/real-hopper-fixture.mjs"; // These options belong to the native client, below the CLI/MCP tool surface. diff --git a/scripts/verify-real-hopper-fat.mjs b/scripts/verify-real-hopper-fat.mjs index 050a95da47..5b1776ccb8 100644 --- a/scripts/verify-real-hopper-fat.mjs +++ b/scripts/verify-real-hopper-fat.mjs @@ -24,7 +24,7 @@ import { } from "./lib/mcp-verifier-results.mjs"; import { snapshotHopperRuntime } from "./lib/real-hopper-cleanup.mjs"; import { HOPPER_TARGET_LEASE_DIRECTORY } from "../dist/hopper/HopperTargetLease.js"; -import { parseConfig } from "../dist/config.js"; +import { parseConfig } from "../dist/config/parseConfig.js"; import { verifyHopperSourceBinding, relocateSingleFatSlice, diff --git a/scripts/verify-real-hopper.mjs b/scripts/verify-real-hopper.mjs index a60189c227..97ad4ac9ee 100644 --- a/scripts/verify-real-hopper.mjs +++ b/scripts/verify-real-hopper.mjs @@ -11,7 +11,7 @@ import { requireFunctionDossier, requirePseudocode, } from "../dist/application/RealHopperAssertions.js"; -import { HOPPER_PROVIDER_IDENTITY } from "../dist/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../dist/hopper/HopperProviderCapabilities.js"; import { HOPPER_TARGET_LEASE_DIRECTORY } from "../dist/hopper/HopperTargetLease.js"; import { REA_WORKFLOW_PROVIDER } from "../dist/application/InvestigationProviders.js"; import { loadRealHopperFixtureTargets } from "./lib/real-hopper-fixture.mjs"; diff --git a/src/android/JadxProvider.ts b/src/android/JadxProvider.ts index a3f8caaff0..e1dc7d4ab2 100644 --- a/src/android/JadxProvider.ts +++ b/src/android/JadxProvider.ts @@ -16,7 +16,7 @@ import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import { ProviderCleanupError } from "../domain/providerCleanupError.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { AndroidRequest } from "../domain/android/androidAnalysis.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { err, ok, type Result } from "../domain/result.js"; import { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; import { diff --git a/src/android/JadxSession.ts b/src/android/JadxSession.ts index a2436de30b..b8e11f2850 100644 --- a/src/android/JadxSession.ts +++ b/src/android/JadxSession.ts @@ -9,7 +9,7 @@ import { AnalysisInputError, AnalysisOutputError, } from "../domain/analysisErrorCore.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import type { OwnedProviderProcessSpawnOptions } from "../process/ProviderProcess.js"; diff --git a/src/application/AnalysisProvider.ts b/src/application/AnalysisProvider.ts index 8df0f8c6b8..99328c1a57 100644 --- a/src/application/AnalysisProvider.ts +++ b/src/application/AnalysisProvider.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { OfficialToolName } from "../contracts/officialToolContracts.js"; import type { EnhancedToolName } from "../contracts/enhancedInputs.js"; import type { NativeToolName } from "../contracts/native/nativeToolContracts.js"; diff --git a/src/application/BrowserEvidence.ts b/src/application/BrowserEvidence.ts index a29c0cefcc..d864fac9dd 100644 --- a/src/application/BrowserEvidence.ts +++ b/src/application/BrowserEvidence.ts @@ -7,11 +7,13 @@ import { import { jsonValueSchema } from "../domain/jsonValue.js"; import { sanitizeBrowserUrl } from "../domain/browserObservation.js"; import type { - BrowserTargetList, InspectWebPageInput, ListBrowserTargetsInput, - WebPageInspection, } from "../domain/browserObservation.js"; +import type { + BrowserTargetList, + WebPageInspection, +} from "../domain/browserObservationSchemas.js"; import type { AnalyzeWebBundleInput, WebBundleAnalysis, diff --git a/src/application/BrowserObservationPort.ts b/src/application/BrowserObservationPort.ts index 1d33e12afb..a35d8a13cd 100644 --- a/src/application/BrowserObservationPort.ts +++ b/src/application/BrowserObservationPort.ts @@ -1,10 +1,12 @@ import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { - BrowserTargetList, InspectWebPageInput, ListBrowserTargetsInput, - WebPageInspection, } from "../domain/browserObservation.js"; +import type { + BrowserTargetList, + WebPageInspection, +} from "../domain/browserObservationSchemas.js"; import type { Result } from "../domain/result.js"; import type { AnalyzeWebBundleInput, diff --git a/src/application/DirectAnalysis.ts b/src/application/DirectAnalysis.ts index c1bd78e775..f23cee9360 100644 --- a/src/application/DirectAnalysis.ts +++ b/src/application/DirectAnalysis.ts @@ -6,7 +6,8 @@ import type { DirectAnalysisDependencies } from "./DirectAnalysisDependencies.js import type { BinarySession } from "./binary/BinarySession.js"; import type { SessionProviderRoute } from "./binary/SessionProviderRouter.js"; import type { ResolvedSessionOpen } from "./binary/BinarySessionOpen.js"; -import { silentLogger, type Logger } from "../logger.js"; +import { silentLogger } from "../logger.js"; +import type { Logger } from "pino"; import { createEvidence } from "../domain/evidence.js"; import type { Evidence } from "../domain/evidence.js"; import type { NativeToolName } from "../contracts/native/nativeToolContracts.js"; @@ -24,7 +25,7 @@ import { writeAnalysisSnapshot, } from "./binary/AnalysisSnapshotFiles.js"; import { parseBinaryTarget } from "./BinaryTargetResolver.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { snapshotEvidenceForQuery, snapshotMatchesTarget, diff --git a/src/application/DirectAnalysisDependencies.ts b/src/application/DirectAnalysisDependencies.ts index 8603baf996..5340393b62 100644 --- a/src/application/DirectAnalysisDependencies.ts +++ b/src/application/DirectAnalysisDependencies.ts @@ -1,5 +1,6 @@ -import type { AppConfig, parseConfig } from "../config.js"; -import type { Logger } from "../logger.js"; +import type { AppConfig } from "../config/types.js"; +import type { parseConfig } from "../config/parseConfig.js"; +import type { Logger } from "pino"; import type { BinarySession } from "./binary/BinarySession.js"; /** Configuration and one-shot session factories supplied by the production boundary. */ diff --git a/src/application/DirectAnalysisStatus.ts b/src/application/DirectAnalysisStatus.ts index b05bbc83e4..5548e61c4b 100644 --- a/src/application/DirectAnalysisStatus.ts +++ b/src/application/DirectAnalysisStatus.ts @@ -1,7 +1,8 @@ import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { jsonObjectSchema, type JsonValue } from "../domain/jsonValue.js"; import { createServerIdentity } from "../serverIdentity.js"; -import { silentLogger, type Logger } from "../logger.js"; +import { silentLogger } from "../logger.js"; +import type { Logger } from "pino"; import type { DirectAnalysisDependencies } from "./DirectAnalysisDependencies.js"; const runSessionStatus = async ( diff --git a/src/application/EnhancedTools.ts b/src/application/EnhancedTools.ts index a41aca2390..d24fbceef3 100644 --- a/src/application/EnhancedTools.ts +++ b/src/application/EnhancedTools.ts @@ -42,8 +42,6 @@ import { traceCallPath } from "./CallPathTracing.js"; import { resolveProcedureAddress } from "./ProcedureAddressResolution.js"; import { traceLiteralFeature } from "./EnhancedLiteralTracing.js"; import { projectNativeApiInspection } from "./native/NativeApiInspection.js"; -export type { ValidatedEnhancedCall } from "./EnhancedToolTypes.js"; - /** * Composes direct provider operations into bounded reverse-engineering tools. * Direct callers use `execute`; adapters that own validation use diff --git a/src/application/EvidenceBundleFiles.ts b/src/application/EvidenceBundleFiles.ts index c6edd156f4..4876790700 100644 --- a/src/application/EvidenceBundleFiles.ts +++ b/src/application/EvidenceBundleFiles.ts @@ -10,7 +10,7 @@ import { } from "../domain/evidenceErrors.js"; import { err, ok, type Result } from "../domain/result.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; -import { parseProcessCapture } from "../domain/process/processCapture.js"; +import { parseProcessCapture } from "../domain/process/processCaptureParsing.js"; import { bufferedJsonParts, canonicalJsonParts, diff --git a/src/application/FunctionAnalysisEvidence.ts b/src/application/FunctionAnalysisEvidence.ts index 17154edfde..e2ef187d4d 100644 --- a/src/application/FunctionAnalysisEvidence.ts +++ b/src/application/FunctionAnalysisEvidence.ts @@ -3,7 +3,7 @@ import type { ExecutionOptions, } from "./AnalysisProvider.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { createEvidence } from "../domain/evidence.js"; import { parseFunctionDossier } from "../domain/hopperValues.js"; import { jsonObjectSchema, type JsonValue } from "../domain/jsonValue.js"; diff --git a/src/application/ReconstructionObligationCandidates.test.ts b/src/application/ReconstructionObligationCandidates.test.ts index 0644cf4d7d..ed3ac93cef 100644 --- a/src/application/ReconstructionObligationCandidates.test.ts +++ b/src/application/ReconstructionObligationCandidates.test.ts @@ -3,7 +3,7 @@ import { describe, expect, it } from "vitest"; import { createEvidence } from "../domain/evidence.js"; import { createEvidenceBundle } from "../domain/evidenceBundle.js"; import { emptyUnverifiedProcessCapture } from "../domain/process/processCapture.fixture.js"; -import { parseProcessCapture } from "../domain/process/processCapture.js"; +import { parseProcessCapture } from "../domain/process/processCaptureParsing.js"; import { digestProcessCommitment, parseProcessScenario, diff --git a/src/application/ReconstructionObligationCandidates.ts b/src/application/ReconstructionObligationCandidates.ts index 0140376927..005f9b7679 100644 --- a/src/application/ReconstructionObligationCandidates.ts +++ b/src/application/ReconstructionObligationCandidates.ts @@ -7,7 +7,7 @@ import { parseEvidenceBundle, type EvidenceBundle, } from "../domain/evidenceBundle.js"; -import { parseProcessCapture } from "../domain/process/processCapture.js"; +import { parseProcessCapture } from "../domain/process/processCaptureParsing.js"; import type { ReconstructionObligation, ReviewedReconstructionObligation, diff --git a/src/application/ReconstructionObligationLedger.fixture.ts b/src/application/ReconstructionObligationLedger.fixture.ts index 1892a4442e..19a319779c 100644 --- a/src/application/ReconstructionObligationLedger.fixture.ts +++ b/src/application/ReconstructionObligationLedger.fixture.ts @@ -1,13 +1,12 @@ -import { PROCESS_PROVIDER } from "./process/ProcessEvidence.js"; +import { PROCESS_PROVIDER } from "../domain/process/processEvidenceProvider.js"; import { buildReconstructionObligationLedgerEvidenceValidated, resolveReconstructionObligationLedgerRequest, } from "./ReconstructionObligationLedgerService.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../domain/process/processCapture.fixture.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../domain/process/processCaptureExample.js"; import { createEvidence, type Evidence } from "../domain/evidence.js"; import { createEvidenceBundle } from "../domain/evidenceBundle.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; -import { processCaptureSchema } from "../domain/process/processCapture.js"; import { reconstructionObligationLedgerSchema, type ReconstructionObligationLedgerInput, @@ -15,6 +14,7 @@ import { type ReviewedReconstructionObligation, } from "../domain/reconstructionObligationLedgerSchemas.js"; +import { processCaptureSchema } from "../domain/process/processCapture.js"; /** Build controlled fixture Evidence used by reconstruction-ledger scenarios. */ export const proofEvidence = (id: string) => createEvidence( diff --git a/src/application/ReferenceSourceImport.ts b/src/application/ReferenceSourceImport.ts index 704acd64a4..69cdeef9c0 100644 --- a/src/application/ReferenceSourceImport.ts +++ b/src/application/ReferenceSourceImport.ts @@ -17,11 +17,6 @@ import { } from "./ReferenceSourceImportTypes.js"; import { prepareReferenceSourceImport } from "./ReferenceSourceImportPolicy.js"; -export type { - ReferenceSourceImportError, - ReferenceSourceImportOptions, -} from "./ReferenceSourceImportTypes.js"; - const failure = ( code: ReferenceSourceImportError["code"], message: string, diff --git a/src/application/ReferenceSourceImportEntries.ts b/src/application/ReferenceSourceImportEntries.ts index 233e9cb4e4..6a3e704513 100644 --- a/src/application/ReferenceSourceImportEntries.ts +++ b/src/application/ReferenceSourceImportEntries.ts @@ -10,7 +10,7 @@ import { parseReferenceSourceImports } from "../domain/referenceSourceImportPars import type { ReferenceSourceEntry, ReferenceSourceRead, -} from "../reference/ReferenceSourceReader.js"; +} from "../reference/ReferenceSourceReaderTypes.js"; import { PARSEABLE_REFERENCE_SOURCE_LANGUAGES } from "./ReferenceSourceImportTypes.js"; export interface ParsedReferenceSourceEntries { diff --git a/src/application/WorkflowEvidence.test.ts b/src/application/WorkflowEvidence.test.ts index 5beec7b56f..b7476354a3 100644 --- a/src/application/WorkflowEvidence.test.ts +++ b/src/application/WorkflowEvidence.test.ts @@ -40,7 +40,6 @@ describe("workflow residual question retention", () => { required_authority: "shipped-artifact", }, ]); - expect(records.listUnknowns()).toHaveLength(1); }); it("preserves registry failures rather than presenting a completed workflow", () => { diff --git a/src/application/WorkflowEvidence.ts b/src/application/WorkflowEvidence.ts index aaca2a2e0c..bf2530080c 100644 --- a/src/application/WorkflowEvidence.ts +++ b/src/application/WorkflowEvidence.ts @@ -9,7 +9,7 @@ import { analysisProfileSchema, committedProviderSchema, } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { createEvidence, type Evidence, diff --git a/src/application/android/AndroidAnalysisPort.ts b/src/application/android/AndroidAnalysisPort.ts index d58461849b..aec02ac9dc 100644 --- a/src/application/android/AndroidAnalysisPort.ts +++ b/src/application/android/AndroidAnalysisPort.ts @@ -3,7 +3,7 @@ import type { ExecutionOptions, } from "../AnalysisProvider.js"; import type { AndroidRequest } from "../../domain/android/androidAnalysis.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Result } from "../../domain/result.js"; import type { ProviderAvailability } from "../AnalysisProvider.js"; diff --git a/src/application/binary/AnalysisProviderEvaluation.ts b/src/application/binary/AnalysisProviderEvaluation.ts index f5b89c443d..1654ab7839 100644 --- a/src/application/binary/AnalysisProviderEvaluation.ts +++ b/src/application/binary/AnalysisProviderEvaluation.ts @@ -2,7 +2,7 @@ import { analysisProfileSchema, type AnalysisProfileCommitment, } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCancelledError, AnalysisUnsupportedTargetError, diff --git a/src/application/binary/AnalysisProviderRegistry.test.ts b/src/application/binary/AnalysisProviderRegistry.test.ts index 9fd6dbfcc0..8eae6c9c99 100644 --- a/src/application/binary/AnalysisProviderRegistry.test.ts +++ b/src/application/binary/AnalysisProviderRegistry.test.ts @@ -11,7 +11,7 @@ import { type ProviderTargetSupport, } from "../AnalysisProvider.js"; import { createAnalysisProfile } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; import { ProviderSelectionError } from "../../domain/providerSelectionError.js"; import { projectAnalysisError } from "../../domain/analysisErrorProjection.js"; diff --git a/src/application/binary/AnalysisProviderRegistry.ts b/src/application/binary/AnalysisProviderRegistry.ts index 41cd25e6a1..2702a07061 100644 --- a/src/application/binary/AnalysisProviderRegistry.ts +++ b/src/application/binary/AnalysisProviderRegistry.ts @@ -4,7 +4,7 @@ import { type AnalysisProviderSelector, } from "../../contracts/providerSelection.js"; import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCancelledError } from "../../domain/analysisErrorCore.js"; import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import { diff --git a/src/application/binary/AnalysisSnapshotCache.ts b/src/application/binary/AnalysisSnapshotCache.ts index 10aaa516e8..81f73bcc07 100644 --- a/src/application/binary/AnalysisSnapshotCache.ts +++ b/src/application/binary/AnalysisSnapshotCache.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; import type { JsonValue } from "../../domain/jsonValue.js"; import type { EvidenceBundle } from "../../domain/evidenceBundle.js"; diff --git a/src/application/binary/BinarySession.ts b/src/application/binary/BinarySession.ts index fd7e89d6d4..aa54a8c043 100644 --- a/src/application/binary/BinarySession.ts +++ b/src/application/binary/BinarySession.ts @@ -1,6 +1,6 @@ import { randomUUID } from "node:crypto"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { analysisProfilesEqual, type AnalysisProfileCommitment, @@ -48,7 +48,6 @@ import { analysisErrorWithCleanupFailure, closeAnalysisClient, } from "./AnalysisClientCleanup.js"; -export type { BinarySessionPort } from "./BinarySessionPort.js"; const OFFICIAL_OPERATIONS: ReadonlySet = new Set( OFFICIAL_TOOL_CONTRACTS.map(({ name }) => name), ); diff --git a/src/application/binary/BinarySessionExecution.ts b/src/application/binary/BinarySessionExecution.ts index 9a2ae82da7..6893308c33 100644 --- a/src/application/binary/BinarySessionExecution.ts +++ b/src/application/binary/BinarySessionExecution.ts @@ -1,5 +1,5 @@ import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; import { NoBinaryOpenError } from "../../domain/configurationErrors.js"; import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; diff --git a/src/application/binary/BinarySessionOpen.ts b/src/application/binary/BinarySessionOpen.ts index 8c9634c7f1..cde06c29d0 100644 --- a/src/application/binary/BinarySessionOpen.ts +++ b/src/application/binary/BinarySessionOpen.ts @@ -8,7 +8,7 @@ import { } from "../../domain/analysisSnapshot.js"; import type { AnalysisSnapshot } from "../../domain/analysisSnapshot.js"; import { parseBinaryTarget } from "../BinaryTargetResolver.js"; -import { type BinaryTarget } from "../../domain/binaryTarget.js"; +import { type BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { EvidenceIntegrityError, AnalysisSnapshotMismatchError, diff --git a/src/application/binary/BinarySessionPort.ts b/src/application/binary/BinarySessionPort.ts index 19baa0130a..fc98c1f16d 100644 --- a/src/application/binary/BinarySessionPort.ts +++ b/src/application/binary/BinarySessionPort.ts @@ -1,6 +1,6 @@ import type { InvestigationRecordPort } from "../investigation/InvestigationRecordPort.js"; import type { ExecutableFormatHint } from "../../domain/dosCom.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { JsonValue } from "../../domain/jsonValue.js"; import type { AnalysisSnapshot } from "../../domain/analysisSnapshot.js"; import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; diff --git a/src/application/binary/BinarySessionRecords.ts b/src/application/binary/BinarySessionRecords.ts index 02c50839f5..884c02ff38 100644 --- a/src/application/binary/BinarySessionRecords.ts +++ b/src/application/binary/BinarySessionRecords.ts @@ -1,6 +1,6 @@ import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; import type { AnalysisSnapshot } from "../../domain/analysisSnapshot.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { Evidence } from "../../domain/evidence.js"; import type { EvidenceBundle } from "../../domain/evidenceBundle.js"; import type { JsonValue } from "../../domain/jsonValue.js"; diff --git a/src/application/binary/BinarySessionStatus.ts b/src/application/binary/BinarySessionStatus.ts index 68db9a1b0f..4c5fc34bbb 100644 --- a/src/application/binary/BinarySessionStatus.ts +++ b/src/application/binary/BinarySessionStatus.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { JsonValue } from "../../domain/jsonValue.js"; import type { ProviderOperationHealth } from "../../domain/providerOperationHealth.js"; import type { diff --git a/src/application/binary/CompositeProvider.ts b/src/application/binary/CompositeProvider.ts index bf6c93d356..941cf93752 100644 --- a/src/application/binary/CompositeProvider.ts +++ b/src/application/binary/CompositeProvider.ts @@ -1,6 +1,6 @@ import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; import { err, ok } from "../../domain/result.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; import type { AnalysisClient, diff --git a/src/application/binary/LazyAnalysisProvider.ts b/src/application/binary/LazyAnalysisProvider.ts index 86d23c9988..b9127e48be 100644 --- a/src/application/binary/LazyAnalysisProvider.ts +++ b/src/application/binary/LazyAnalysisProvider.ts @@ -1,5 +1,5 @@ import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCancelledError } from "../../domain/analysisErrorCore.js"; import { AnalysisError } from "../../domain/analysisErrorBase.js"; import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; diff --git a/src/application/binary/SessionProviderRouter.ts b/src/application/binary/SessionProviderRouter.ts index ed189afab6..03bb028a45 100644 --- a/src/application/binary/SessionProviderRouter.ts +++ b/src/application/binary/SessionProviderRouter.ts @@ -1,6 +1,6 @@ import type { AnalysisProviderSelector } from "../../contracts/providerSelection.js"; import type { AnalysisProfileCommitment } from "../../domain/analysisProfile.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; import { ProviderSelectionError } from "../../domain/providerSelectionError.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; diff --git a/src/application/investigation/EvidenceLedger.test.ts b/src/application/investigation/EvidenceLedger.test.ts index c65c5e1818..d4750f9c8c 100644 --- a/src/application/investigation/EvidenceLedger.test.ts +++ b/src/application/investigation/EvidenceLedger.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { createEvidence } from "../../domain/evidence.js"; import { createEvidenceBundle } from "../../domain/evidenceBundle.js"; import { recordUnknownInputSchema } from "../../domain/residualUnknown.js"; diff --git a/src/application/investigation/InvestigationRecords.ts b/src/application/investigation/InvestigationRecords.ts index b8a1dea99d..15c7da1236 100644 --- a/src/application/investigation/InvestigationRecords.ts +++ b/src/application/investigation/InvestigationRecords.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { createEvidence, type Evidence } from "../../domain/evidence.js"; import type { EvidenceBundle } from "../../domain/evidenceBundle.js"; import type { EvidenceIntegrityError } from "../../domain/evidenceErrors.js"; diff --git a/src/application/investigation/UnknownEvidence.ts b/src/application/investigation/UnknownEvidence.ts index e1712a0040..ff8fc7c348 100644 --- a/src/application/investigation/UnknownEvidence.ts +++ b/src/application/investigation/UnknownEvidence.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { createEvidence, type Evidence } from "../../domain/evidence.js"; import type { RecordUnknownInput, diff --git a/src/application/javascript/ElectronBoundaryGraphContext.ts b/src/application/javascript/ElectronBoundaryGraphContext.ts index 460f849dd0..bd0598331a 100644 --- a/src/application/javascript/ElectronBoundaryGraphContext.ts +++ b/src/application/javascript/ElectronBoundaryGraphContext.ts @@ -1,4 +1,4 @@ -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import { sha256Text } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "../../domain/javascript/javascriptArtifactFiles.js"; diff --git a/src/application/javascript/ElectronBoundaryGraphIpc.ts b/src/application/javascript/ElectronBoundaryGraphIpc.ts index 64a69c4aba..43fdaeee59 100644 --- a/src/application/javascript/ElectronBoundaryGraphIpc.ts +++ b/src/application/javascript/ElectronBoundaryGraphIpc.ts @@ -1,4 +1,4 @@ -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import type { ElectronSenderValidationFinding } from "../../domain/javascript/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "../../domain/javascript/javascriptArtifactFiles.js"; import { diff --git a/src/application/javascript/ElectronBoundaryGraphWindows.ts b/src/application/javascript/ElectronBoundaryGraphWindows.ts index 68ed49e177..7643062c53 100644 --- a/src/application/javascript/ElectronBoundaryGraphWindows.ts +++ b/src/application/javascript/ElectronBoundaryGraphWindows.ts @@ -1,4 +1,4 @@ -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import type { ElectronBrowserWindowFinding, ElectronContextBridgeFinding, diff --git a/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts index b15743ca8d..5891e00de1 100644 --- a/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts +++ b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts @@ -1,9 +1,11 @@ import { createJavaScriptApplicationEdge, createJavaScriptApplicationNode, - type ApplicationEdge, - type ApplicationNode, } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; /** Deduplicate graph entities while retaining distinct evidence observations. */ export class JavaScriptArtifactGraphAccumulator { diff --git a/src/application/javascript/JavaScriptArtifactGraphBuilder.ts b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts index 9951ee6cec..26d6b7b2e7 100644 --- a/src/application/javascript/JavaScriptArtifactGraphBuilder.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts @@ -1,4 +1,4 @@ -import type { ArtifactInventorySnapshot } from "../../artifacts/inventory/ArtifactInventory.js"; +import type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; import { createJavaScriptApplicationGraph, createImmutableJavaScriptApplicationGraphSteps, @@ -36,10 +36,10 @@ import { import { addJavaScriptArtifactContainers, addJavaScriptArtifactFiles, - addJavaScriptBundlerNodes, addJavaScriptPackageNodes, createJavaScriptArtifactRootNode, } from "./JavaScriptArtifactGraphStructure.js"; +import { addJavaScriptBundlerNodes } from "./JavaScriptArtifactGraphBundlers.js"; import { addElectronBoundaries } from "./ElectronBoundaryGraph.js"; import { classifyElectronIpcPairings, diff --git a/src/application/javascript/JavaScriptArtifactGraphBundlers.ts b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts index b7d7cfa4bf..f09e878140 100644 --- a/src/application/javascript/JavaScriptArtifactGraphBundlers.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts @@ -1,4 +1,4 @@ -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import type { JavaScriptBundlerRegistration } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "../../domain/javascript/javascriptArtifactFiles.js"; import { diff --git a/src/application/javascript/JavaScriptArtifactGraphContext.ts b/src/application/javascript/JavaScriptArtifactGraphContext.ts index 74e0e1a797..692f35ae9b 100644 --- a/src/application/javascript/JavaScriptArtifactGraphContext.ts +++ b/src/application/javascript/JavaScriptArtifactGraphContext.ts @@ -1,10 +1,10 @@ -import type { ArtifactInventorySnapshot } from "../../artifacts/inventory/ArtifactInventory.js"; +import type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; import { completeApplicationCoverage, partialApplicationCoverage, type ApplicationGraphEvidence, } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptModuleArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { diff --git a/src/application/javascript/JavaScriptArtifactGraphFindings.ts b/src/application/javascript/JavaScriptArtifactGraphFindings.ts index 50ab6854c8..edd9ea920c 100644 --- a/src/application/javascript/JavaScriptArtifactGraphFindings.ts +++ b/src/application/javascript/JavaScriptArtifactGraphFindings.ts @@ -1,4 +1,4 @@ -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import type { JavaScriptStaticAnalysis } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "../../domain/javascript/javascriptArtifactFiles.js"; import { diff --git a/src/application/javascript/JavaScriptArtifactGraphStructure.ts b/src/application/javascript/JavaScriptArtifactGraphStructure.ts index 1299f28dc0..cbf9e3c813 100644 --- a/src/application/javascript/JavaScriptArtifactGraphStructure.ts +++ b/src/application/javascript/JavaScriptArtifactGraphStructure.ts @@ -1,5 +1,5 @@ -import type { ArtifactInventorySnapshot } from "../../artifacts/inventory/ArtifactInventory.js"; -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import { completeApplicationCoverage } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptModuleArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { @@ -21,7 +21,6 @@ import { staticInferenceEvidence, } from "./JavaScriptArtifactGraphEvidence.js"; import { resolveArtifactPathByContext } from "./JavaScriptArtifactPathResolution.js"; -export { addJavaScriptBundlerNodes } from "./JavaScriptArtifactGraphBundlers.js"; interface PackageRoleInput { readonly packageNode: ApplicationNode; diff --git a/src/application/javascript/JavaScriptArtifactReconstruction.ts b/src/application/javascript/JavaScriptArtifactReconstruction.ts index b61d257c2c..692321d8c7 100644 --- a/src/application/javascript/JavaScriptArtifactReconstruction.ts +++ b/src/application/javascript/JavaScriptArtifactReconstruction.ts @@ -18,7 +18,7 @@ import { javascriptArtifactReconstructionInputSchema, type JavaScriptArtifactReconstructionInput, } from "./JavaScriptArtifactReconstructionInput.js"; -import { scanCanonicalArtifactInventory } from "../../artifacts/inventory/ArtifactInventory.js"; +import { scanCanonicalArtifactInventory } from "../../artifacts/inventory/scanCanonical.js"; import { summarizeElectronBoundaries } from "./ElectronBoundaryAnalysis.js"; import { createJavaScriptSemanticGraphProjection } from "./JavaScriptSemanticGraphBuilder.js"; import type { ProgressReporter } from "../ProgressReporter.js"; diff --git a/src/application/javascript/JavaScriptModuleRelationships.ts b/src/application/javascript/JavaScriptModuleRelationships.ts index ff5843758f..36868fb629 100644 --- a/src/application/javascript/JavaScriptModuleRelationships.ts +++ b/src/application/javascript/JavaScriptModuleRelationships.ts @@ -1,7 +1,7 @@ import { posix } from "node:path"; import { compareCodePoints } from "../../domain/canonicalOrdering.js"; -import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraphSchemas.js"; import { completeApplicationCoverage, partialApplicationCoverage, diff --git a/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts index 8d949e964f..bd638fc72b 100644 --- a/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts @@ -1,5 +1,5 @@ import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticEventOperation, JavaScriptSemanticTimerOperation, @@ -10,10 +10,7 @@ import { addSemanticGraphUnknown, } from "./JavaScriptSemanticGraphConstruction.js"; import { unknownSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; -import { - semanticCallSiteAt, - type SemanticFlowProjectionContext, -} from "./JavaScriptSemanticGraphFlowProjection.js"; +import type { SemanticFlowProjectionContext } from "./JavaScriptSemanticGraphFlowProjection.js"; /** Project literal EventEmitter registrations, removals, and dispatches. */ export const projectSemanticEvents = ( @@ -175,7 +172,7 @@ const projectTimerSchedule = ( timerNodes: ReadonlyMap, ): void => { addSemanticGraphRelation(context.state, { - source: semanticCallSiteAt(context, operation.location), + source: context.callSiteAt(operation.location), target: timerNodes.get(operation.timerId), relation: "schedules-timer", resolution: "resolved", @@ -199,7 +196,7 @@ const projectTimerCancellation = ( operation: JavaScriptSemanticTimerOperation, timerNodes: ReadonlyMap, ): void => { - const callSite = semanticCallSiteAt(context, operation.location); + const callSite = context.callSiteAt(operation.location); const target = operation.linkedTimerId === null ? undefined diff --git a/src/application/javascript/JavaScriptSemanticGraphBuilder.ts b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts index c8183e410a..e7190baec0 100644 --- a/src/application/javascript/JavaScriptSemanticGraphBuilder.ts +++ b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts @@ -2,8 +2,8 @@ import { createJavaScriptSemanticGraph, createImmutableJavaScriptSemanticGraphSteps, type JavaScriptSemanticGraph, - type JavaScriptSemanticGraphNode, } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES, JAVASCRIPT_SEMANTIC_RELATION_FAMILY, diff --git a/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts index 600d0390bc..4a600d5958 100644 --- a/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts @@ -1,5 +1,5 @@ import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticChildProcessInteraction, JavaScriptSemanticChildProcessSpawn, @@ -10,10 +10,7 @@ import { addSemanticGraphUnknown, } from "./JavaScriptSemanticGraphConstruction.js"; import { unknownSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; -import { - semanticCallSiteAt, - type SemanticFlowProjectionContext, -} from "./JavaScriptSemanticGraphFlowProjection.js"; +import type { SemanticFlowProjectionContext } from "./JavaScriptSemanticGraphFlowProjection.js"; interface ChildUnknownInput { readonly context: SemanticFlowProjectionContext; @@ -75,7 +72,7 @@ const projectSpawn = ( spawn: JavaScriptSemanticChildProcessSpawn, child: JavaScriptSemanticGraphNode, ): void => { - const callSite = semanticCallSiteAt(context, spawn.location); + const callSite = context.callSiteAt(spawn.location); addSemanticGraphRelation(context.state, { source: callSite, target: child, diff --git a/src/application/javascript/JavaScriptSemanticGraphConstruction.ts b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts index bb7322783a..0b9ba90353 100644 --- a/src/application/javascript/JavaScriptSemanticGraphConstruction.ts +++ b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts @@ -5,8 +5,8 @@ import { createJavaScriptSemanticGraphNode, createJavaScriptSemanticGraphRelation, javaScriptSemanticNodeId, - type JavaScriptSemanticGraphNode, } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { ApplicationGraphEvidence } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts index 761eba0e32..b87bc6b3e0 100644 --- a/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts @@ -1,5 +1,5 @@ import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticBoundaryOperation, JavaScriptSemanticConfigurationOperation, @@ -11,10 +11,7 @@ import { addSemanticGraphUnknown, } from "./JavaScriptSemanticGraphConstruction.js"; import { unknownSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; -import { - semanticCallSiteAt, - type SemanticFlowProjectionContext, -} from "./JavaScriptSemanticGraphFlowProjection.js"; +import type { SemanticFlowProjectionContext } from "./JavaScriptSemanticGraphFlowProjection.js"; /** Project environment, argv, file, default, and precedence candidates. */ export const projectSemanticConfiguration = ( @@ -158,7 +155,7 @@ const projectRequestConstruction = ( operation: JavaScriptSemanticRequestOperation, request: JavaScriptSemanticGraphNode, ): void => { - const callSite = semanticCallSiteAt(context, operation.location); + const callSite = context.callSiteAt(operation.location); addSemanticGraphRelation(context.state, { source: callSite, target: request, @@ -197,7 +194,7 @@ const projectResponseConsumer = ( ): void => { addSemanticGraphRelation(context.state, { source: response, - target: semanticCallSiteAt(context, operation.location), + target: context.callSiteAt(operation.location), relation: "consumed-by", resolution: operation.resolution === "complete" ? "resolved" : "candidate", properties: { method: operation.method }, diff --git a/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts index 06c6068208..30d1506ed8 100644 --- a/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts @@ -1,8 +1,8 @@ import { createJavaScriptSemanticFingerprint, type JavaScriptSemanticGraph, - type JavaScriptSemanticGraphNode, } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "../../domain/javascript/javascriptArtifactFiles.js"; import { observedSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; diff --git a/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts index b8c685bc54..6195bbed38 100644 --- a/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts @@ -1,5 +1,5 @@ import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; import { sourceRangesEqual } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; @@ -34,14 +34,6 @@ export interface SemanticFlowProjectionContext { ) => JavaScriptSemanticGraphNode | undefined; } -/** Find the retained call-site node at one exact semantic source range. */ -export const semanticCallSiteAt = ( - context: SemanticFlowProjectionContext, - location: JavaScriptSourceRange, -): JavaScriptSemanticGraphNode | undefined => { - return context.callSiteAt(location); -}; - /** Project explicit static Promise/task ownership without runtime claims. */ export const projectSemanticPromises = ( context: SemanticFlowProjectionContext, @@ -96,7 +88,7 @@ const projectPromiseCreation = ( ): void => { if (operation.kind === "awaited-expression") return; addSemanticGraphRelation(context.state, { - source: semanticCallSiteAt(context, operation.location), + source: context.callSiteAt(operation.location), target: promise, relation: "creates-promise", resolution: diff --git a/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts index cf301dc688..f4c94d21eb 100644 --- a/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts @@ -8,7 +8,7 @@ import type { JavaScriptSemanticValue, } from "../../domain/javascript/javascriptSemanticValueTypes.js"; import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticObjectOperation } from "../../domain/javascript/javascriptSemanticIr.js"; import { retainSemanticGraphNode, diff --git a/src/application/javascript/JavaScriptSemanticGraphProjection.ts b/src/application/javascript/JavaScriptSemanticGraphProjection.ts index ac0b4e519c..b83f2e970c 100644 --- a/src/application/javascript/JavaScriptSemanticGraphProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphProjection.ts @@ -1,5 +1,5 @@ import { compareCodePoints } from "../../domain/canonicalOrdering.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; diff --git a/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts index 8689cc6739..ffadc0448e 100644 --- a/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts @@ -1,5 +1,5 @@ import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticResourceOperation } from "../../domain/javascript/javascriptSemanticIr.js"; import { retainSemanticGraphNode, @@ -7,10 +7,7 @@ import { addSemanticGraphUnknown, } from "./JavaScriptSemanticGraphConstruction.js"; import { unknownSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; -import { - semanticCallSiteAt, - type SemanticFlowProjectionContext, -} from "./JavaScriptSemanticGraphFlowProjection.js"; +import type { SemanticFlowProjectionContext } from "./JavaScriptSemanticGraphFlowProjection.js"; /** Project built-in resource acquisition and exact local release handles. */ export const projectSemanticResources = ( @@ -26,7 +23,7 @@ export const projectSemanticResources = ( for (const operation of context.ir.resourceOperations) if (operation.kind === "acquire") addSemanticGraphRelation(context.state, { - source: semanticCallSiteAt(context, operation.location), + source: context.callSiteAt(operation.location), target: resourceNodes.get(operation.resourceId), relation: "acquires", resolution: "resolved", @@ -56,7 +53,7 @@ const projectRelease = ( operation: JavaScriptSemanticResourceOperation, resourceNodes: ReadonlyMap, ): void => { - const callSite = semanticCallSiteAt(context, operation.location); + const callSite = context.callSiteAt(operation.location); const resources = operation.linkedResourceIds.flatMap((identifier) => { const resource = resourceNodes.get(identifier); return resource === undefined ? [] : [resource]; diff --git a/src/application/managed/ManagedMemberComparisonService.ts b/src/application/managed/ManagedMemberComparisonService.ts index 9dd4598184..7f7ac75f61 100644 --- a/src/application/managed/ManagedMemberComparisonService.ts +++ b/src/application/managed/ManagedMemberComparisonService.ts @@ -6,9 +6,9 @@ import { z } from "zod"; import { compareManagedMembers, managedMemberComparisonResultSchema, - parseManagedMemberEvidence, type CompareManagedMembersInput, } from "../../domain/managed/managedMemberComparison.js"; +import { parseManagedMemberEvidence } from "../../domain/managed/managedMemberComparisonMatch.js"; import { AnalysisProtocolError } from "../../domain/analysisErrorCore.js"; import { EvidenceIntegrityError } from "../../domain/evidenceErrors.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; diff --git a/src/application/managed/ManagedNativeVerificationService.ts b/src/application/managed/ManagedNativeVerificationService.ts index c73a235ab7..7615bd098f 100644 --- a/src/application/managed/ManagedNativeVerificationService.ts +++ b/src/application/managed/ManagedNativeVerificationService.ts @@ -6,10 +6,9 @@ import { createEvidence, type Evidence } from "../../domain/evidence.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; import { managedNativeVerificationInputSchema, - verifyManagedNativeBoundaries, type ManagedNativeVerificationInput, type ManagedNativeVerificationResult, -} from "../../domain/managed/managedNativeVerification.js"; +} from "../../domain/managed/managedNativeVerificationSchemas.js"; import { err, ok, type Result } from "../../domain/result.js"; import { MANAGED_WORKFLOW_PROVIDER } from "../InvestigationProviders.js"; import { @@ -17,6 +16,7 @@ import { workflowInputError, } from "../workflowInputError.js"; +import { verifyManagedNativeBoundaries } from "../../domain/managed/managedNativeVerification.js"; const OPERATION = "verify_managed_native_boundaries" as const; /** Verify managed/native boundary declarations against native Evidence. */ diff --git a/src/application/process/ProcessCli.ts b/src/application/process/ProcessCli.ts index eb0fc16519..1359530733 100644 --- a/src/application/process/ProcessCli.ts +++ b/src/application/process/ProcessCli.ts @@ -11,17 +11,13 @@ import { analysisInputErrorFromIssues, projectInputIssues, } from "../../domain/inputIssueProjection.js"; -import { processTraceSpecificationSchema } from "../../domain/process/processTraceComparison.js"; +import { processTraceSpecificationSchema } from "../../domain/process/processTraceSpecification.js"; import { processScenarioSchema } from "../../domain/process/processScenario.js"; -import { - compareProcessCaptures, - parseProcessCapture, -} from "../../domain/process/processCapture.js"; +import { compareProcessCaptures } from "../../domain/process/processComparison.js"; +import { parseProcessCapture } from "../../domain/process/processCaptureParsing.js"; import { captureProcessScenario } from "../../process/capture/ProcessHarness.js"; -import { - PROCESS_PROVIDER, - createProcessCaptureEvidence, -} from "./ProcessEvidence.js"; +import { PROCESS_PROVIDER } from "../../domain/process/processEvidenceProvider.js"; +import { createProcessCaptureEvidence } from "./ProcessEvidence.js"; /** Safe process-command failure returned to the CLI adapter. */ export interface ProcessCliErrorOutput { diff --git a/src/application/process/ProcessEvidence.ts b/src/application/process/ProcessEvidence.ts index b1e50bcc87..13330601ce 100644 --- a/src/application/process/ProcessEvidence.ts +++ b/src/application/process/ProcessEvidence.ts @@ -4,12 +4,8 @@ import type { JsonValue } from "../../domain/jsonValue.js"; import { createEvidence } from "../../domain/evidence.js"; import { PROCESS_PROVIDER } from "../../domain/process/processEvidenceProvider.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; -import type { - ProcessCapture, - ProcessScenario, -} from "../../domain/process/processCapture.js"; - -export { PROCESS_PROVIDER } from "../../domain/process/processEvidenceProvider.js"; +import type { ProcessCapture } from "../../domain/process/processCaptureParsing.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; /** Project one process scenario into secret-free Evidence parameters. */ const processEvidenceParameters = ( diff --git a/src/artifacts/ArtifactProvider.ts b/src/artifacts/ArtifactProvider.ts index 0fa89bdb2c..c8ed381ee7 100644 --- a/src/artifacts/ArtifactProvider.ts +++ b/src/artifacts/ArtifactProvider.ts @@ -21,7 +21,7 @@ import { artifactExtractionExecutionSchema, type ArtifactAnalysisOperation, } from "../contracts/artifactToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisCapabilityUnavailableError, AnalysisInputError, diff --git a/src/artifacts/extraction/ArtifactExtraction.ts b/src/artifacts/extraction/ArtifactExtraction.ts index 9a481f393d..dcd933e7e2 100644 --- a/src/artifacts/extraction/ArtifactExtraction.ts +++ b/src/artifacts/extraction/ArtifactExtraction.ts @@ -25,7 +25,7 @@ import { type ArtifactOccurrence, } from "../../domain/artifactGraph.js"; import { AnalysisUnsupportedTargetError } from "../../domain/analysisErrorCore.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { scanArtifactInventory } from "../inventory/ArtifactInventory.js"; /** Local extraction input with the output root chosen by the adapter. */ diff --git a/src/artifacts/inventory/ArtifactInventory.ts b/src/artifacts/inventory/ArtifactInventory.ts index c3646fea1f..1cea07af8b 100644 --- a/src/artifacts/inventory/ArtifactInventory.ts +++ b/src/artifacts/inventory/ArtifactInventory.ts @@ -6,17 +6,8 @@ import { } from "../../domain/artifactGraph.js"; import { abortIfNeeded } from "../ArtifactHash.js"; import { scanCanonicalArtifactInventory } from "./scanCanonical.js"; -import type { - ArtifactInventoryOptions, - ArtifactInventorySnapshot, -} from "./types.js"; - -export { scanCanonicalArtifactInventory } from "./scanCanonical.js"; - -export type { - ArtifactInventoryOptions, - ArtifactInventorySnapshot, -} from "./types.js"; +import type { ArtifactInventoryOptions } from "./types.js"; +import type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; /** Inventory one local artifact and return every graph collection inline. */ export const inventoryArtifact = async ( diff --git a/src/artifacts/inventory/scanCanonical.ts b/src/artifacts/inventory/scanCanonical.ts index 9e3e48b36f..8bf1c1a35f 100644 --- a/src/artifacts/inventory/scanCanonical.ts +++ b/src/artifacts/inventory/scanCanonical.ts @@ -1,3 +1,4 @@ +import type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; import { compareCodePoints } from "../../domain/canonicalOrdering.js"; import { createReadStream } from "node:fs"; @@ -39,7 +40,6 @@ import { import { STRICT_INTEGRITY_POLICY, type ArtifactInventoryOptions, - type ArtifactInventorySnapshot, } from "./types.js"; export const scanCanonicalArtifactInventory = async ( diff --git a/src/artifacts/inventory/types.ts b/src/artifacts/inventory/types.ts index 71ed530012..4d0daa8f30 100644 --- a/src/artifacts/inventory/types.ts +++ b/src/artifacts/inventory/types.ts @@ -13,5 +13,3 @@ export interface ArtifactInventoryOptions { readonly integrity?: ArtifactIntegrityPolicy | undefined; readonly environment?: Readonly | undefined; } - -export type { ArtifactInventorySnapshot } from "../../domain/artifactInventorySnapshot.js"; diff --git a/src/browser/BrowserScenarioSecrets.ts b/src/browser/BrowserScenarioSecrets.ts index 85acefa85e..9502506337 100644 --- a/src/browser/BrowserScenarioSecrets.ts +++ b/src/browser/BrowserScenarioSecrets.ts @@ -1,10 +1,10 @@ import { createHash } from "node:crypto"; +import type { BrowserScenario } from "../domain/browserScenario.js"; import type { - BrowserScenario, BrowserScenarioUrl, BrowserScenarioValue, -} from "../domain/browserScenario.js"; +} from "../domain/browserScenarioValues.js"; import { sanitizeBrowserUrl, type SanitizedBrowserUrl, diff --git a/src/browser/BrowserScenarioSessionPort.ts b/src/browser/BrowserScenarioSessionPort.ts index f3120cba8e..ea2fa08386 100644 --- a/src/browser/BrowserScenarioSessionPort.ts +++ b/src/browser/BrowserScenarioSessionPort.ts @@ -1,11 +1,9 @@ -import type { - BrowserScenario, - BrowserScenarioAction, -} from "../domain/browserScenario.js"; +import type { BrowserScenario } from "../domain/browserScenario.js"; +import type { BrowserScenarioAction } from "../domain/browserScenarioValues.js"; import type { BrowserScenarioEvent, BrowserStepArtifacts, -} from "../domain/browserScenarioCapture.js"; +} from "../domain/browserScenarioCaptureValues.js"; import type { SanitizedBrowserUrl } from "../domain/browserObservation.js"; type SnapshotKind = BrowserScenario["capture"]["after_each_step"][number]; diff --git a/src/browser/CdpBrowserProvider.ts b/src/browser/CdpBrowserProvider.ts index 1c828a3e5e..a527b2abff 100644 --- a/src/browser/CdpBrowserProvider.ts +++ b/src/browser/CdpBrowserProvider.ts @@ -2,14 +2,16 @@ import type { BrowserObservationPort } from "../application/BrowserObservationPo import type { ProviderIdentity } from "../application/AnalysisProvider.js"; import type { ExecutionOptions } from "../application/AnalysisProvider.js"; import { - browserTargetListSchema, sanitizeBrowserUrl, - webPageInspectionSchema, - type BrowserTargetList, type InspectWebPageInput, type ListBrowserTargetsInput, - type WebPageInspection, } from "../domain/browserObservation.js"; +import { + browserTargetListSchema, + webPageInspectionSchema, + type BrowserTargetList, + type WebPageInspection, +} from "../domain/browserObservationSchemas.js"; import { analyzeCapturedWebBundle } from "../domain/webBundleAnalyzer.js"; import { webBundleAnalysisSchema, diff --git a/src/browser/CdpCaptureDocuments.ts b/src/browser/CdpCaptureDocuments.ts index 1358deb448..4fd86caf81 100644 --- a/src/browser/CdpCaptureDocuments.ts +++ b/src/browser/CdpCaptureDocuments.ts @@ -1,7 +1,5 @@ -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { allowedSanitizedUrl, numberValue, diff --git a/src/browser/CdpCaptureEventHandlers.ts b/src/browser/CdpCaptureEventHandlers.ts index 39bfef1c1e..2b6d0ef4bf 100644 --- a/src/browser/CdpCaptureEventHandlers.ts +++ b/src/browser/CdpCaptureEventHandlers.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { inferJsonShape } from "../domain/jsonShape.js"; import { safeResponseMetadata } from "./CdpSafeMetadata.js"; import { diff --git a/src/browser/CdpCaptureEventState.ts b/src/browser/CdpCaptureEventState.ts index 6a0ab21a6e..b09e63063c 100644 --- a/src/browser/CdpCaptureEventState.ts +++ b/src/browser/CdpCaptureEventState.ts @@ -1,7 +1,5 @@ -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import type { CdpCaptureCompleteness } from "./CdpCaptureCompleteness.js"; import type { CapturedScript, NetworkState } from "./CdpCaptureEventTypes.js"; diff --git a/src/browser/CdpCaptureEventTypes.ts b/src/browser/CdpCaptureEventTypes.ts index 96bc0921ed..6095e571b6 100644 --- a/src/browser/CdpCaptureEventTypes.ts +++ b/src/browser/CdpCaptureEventTypes.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; export interface CapturedScript { readonly scriptId: string; diff --git a/src/browser/CdpCaptureEvents.ts b/src/browser/CdpCaptureEvents.ts index df39015737..3312a97491 100644 --- a/src/browser/CdpCaptureEvents.ts +++ b/src/browser/CdpCaptureEvents.ts @@ -1,7 +1,5 @@ -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import type { CdpEvent } from "./CdpConnection.js"; import { CdpCaptureCompleteness } from "./CdpCaptureCompleteness.js"; import * as bodyShapes from "./CdpCaptureEventBodyShapes.js"; @@ -11,8 +9,6 @@ import * as handlers from "./CdpCaptureEventHandlers.js"; import { isJsonMediaType } from "./CdpCaptureEventHelpers.js"; import { recordValue } from "./CdpCaptureValues.js"; -export { type CapturedScript } from "./CdpCaptureEventTypes.js"; - /** Event accumulator that validates and normalizes payloads at ingestion. */ export class CdpCaptureEvents implements CdpCaptureEventsState { #scriptMetadataBudgetExclusionsRecorded = false; diff --git a/src/browser/CdpCaptureStorage.ts b/src/browser/CdpCaptureStorage.ts index db4922edf4..8ddcea9a84 100644 --- a/src/browser/CdpCaptureStorage.ts +++ b/src/browser/CdpCaptureStorage.ts @@ -1,7 +1,5 @@ -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { CdpConnection } from "./CdpConnection.js"; import { optionalCdpCommand } from "./CdpOptionalCommand.js"; import { diff --git a/src/browser/CdpCaptureStorageFingerprints.ts b/src/browser/CdpCaptureStorageFingerprints.ts index 4aacef6764..476d75763a 100644 --- a/src/browser/CdpCaptureStorageFingerprints.ts +++ b/src/browser/CdpCaptureStorageFingerprints.ts @@ -2,10 +2,8 @@ import { createHash } from "node:crypto"; import canonicalize from "canonicalize"; -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { compareCodePoints } from "../domain/canonicalOrdering.js"; import { CdpConnection } from "./CdpConnection.js"; import { optionalCdpCommand } from "./CdpOptionalCommand.js"; diff --git a/src/browser/CdpPageCapture.ts b/src/browser/CdpPageCapture.ts index 2792530467..75d629e03b 100644 --- a/src/browser/CdpPageCapture.ts +++ b/src/browser/CdpPageCapture.ts @@ -1,7 +1,5 @@ -import type { - InspectWebPageInput, - WebPageInspection, -} from "../domain/browserObservation.js"; +import type { InspectWebPageInput } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import type { ProgressReporter } from "../application/ProgressReporter.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import { type BrowserObservationOperation } from "../domain/browserObservationErrors.js"; diff --git a/src/browser/CdpPageCaptureScripts.ts b/src/browser/CdpPageCaptureScripts.ts index e73baeef68..ffafa02e72 100644 --- a/src/browser/CdpPageCaptureScripts.ts +++ b/src/browser/CdpPageCaptureScripts.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { reconcileCapturedWebScript, stableWebScriptKey, diff --git a/src/browser/CdpPageCaptureWorkers.ts b/src/browser/CdpPageCaptureWorkers.ts index 0d36d1683e..eb9c0501f1 100644 --- a/src/browser/CdpPageCaptureWorkers.ts +++ b/src/browser/CdpPageCaptureWorkers.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import type { CdpCaptureEvents } from "./CdpCaptureEvents.js"; import { allowedSanitizedUrl, diff --git a/src/browser/CdpSafeMetadata.ts b/src/browser/CdpSafeMetadata.ts index db9bd3878f..589c00367b 100644 --- a/src/browser/CdpSafeMetadata.ts +++ b/src/browser/CdpSafeMetadata.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../domain/browserObservation.js"; +import type { WebPageInspection } from "../domain/browserObservationSchemas.js"; import { sanitizeBrowserUrl } from "../domain/browserObservation.js"; import { numberValue, diff --git a/src/browser/PlaywrightScenarioActions.ts b/src/browser/PlaywrightScenarioActions.ts index b7d005138b..b3064dca1d 100644 --- a/src/browser/PlaywrightScenarioActions.ts +++ b/src/browser/PlaywrightScenarioActions.ts @@ -3,7 +3,7 @@ import type { Locator, Page } from "playwright-core"; import type { BrowserScenarioAction, BrowserScenarioValue, -} from "../domain/browserScenario.js"; +} from "../domain/browserScenarioValues.js"; import type { BrowserScenarioSecrets } from "./BrowserScenarioSecrets.js"; type ScenarioLocator = Extract< diff --git a/src/browser/PlaywrightScenarioArtifacts.ts b/src/browser/PlaywrightScenarioArtifacts.ts index 015168824a..fb5d95eb46 100644 --- a/src/browser/PlaywrightScenarioArtifacts.ts +++ b/src/browser/PlaywrightScenarioArtifacts.ts @@ -7,7 +7,7 @@ import type { BrowserScenario } from "../domain/browserScenario.js"; import { browserStepArtifactsSchema, type BrowserStepArtifacts, -} from "../domain/browserScenarioCapture.js"; +} from "../domain/browserScenarioCaptureValues.js"; import type { BrowserScenarioSecrets } from "./BrowserScenarioSecrets.js"; const historyValueSchema = z.strictObject({ diff --git a/src/browser/PlaywrightScenarioEvents.ts b/src/browser/PlaywrightScenarioEvents.ts index 1b7c2d168d..18e1f0e3b9 100644 --- a/src/browser/PlaywrightScenarioEvents.ts +++ b/src/browser/PlaywrightScenarioEvents.ts @@ -14,7 +14,7 @@ import type { SanitizedBrowserUrl } from "../domain/browserObservation.js"; import { browserScenarioEventSchema, type BrowserScenarioEvent, -} from "../domain/browserScenarioCapture.js"; +} from "../domain/browserScenarioCaptureValues.js"; import type { BrowserScenarioSecrets } from "./BrowserScenarioSecrets.js"; import type { BrowserNetworkContentSelection } from "../domain/browserNetworkEvidence.js"; import { PlaywrightScenarioNetwork } from "./network/PlaywrightScenarioNetwork.js"; diff --git a/src/browser/assets/PageScriptCapture.ts b/src/browser/assets/PageScriptCapture.ts index 1eb7a906e3..6997c1678b 100644 --- a/src/browser/assets/PageScriptCapture.ts +++ b/src/browser/assets/PageScriptCapture.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "../../domain/browserObservation.js"; +import type { WebPageInspection } from "../../domain/browserObservationSchemas.js"; import type { CapturedWebScript } from "../../domain/webScriptExport.js"; /** Project verified Debugger sources without fetching resource URLs. */ diff --git a/src/browser/assets/ScriptCaptureAdapters.ts b/src/browser/assets/ScriptCaptureAdapters.ts index 28ac26b84d..0ed44f55c8 100644 --- a/src/browser/assets/ScriptCaptureAdapters.ts +++ b/src/browser/assets/ScriptCaptureAdapters.ts @@ -1,4 +1,4 @@ -import { webPageInspectionSchema } from "../../domain/browserObservation.js"; +import { webPageInspectionSchema } from "../../domain/browserObservationSchemas.js"; import { browserScenarioCaptureSchema } from "../../domain/browserScenarioCapture.js"; import { parseEvidence } from "../../domain/evidence.js"; import type { diff --git a/src/browser/network/PlaywrightScenarioNetwork.test.ts b/src/browser/network/PlaywrightScenarioNetwork.test.ts index 23d930437d..80ea58317f 100644 --- a/src/browser/network/PlaywrightScenarioNetwork.test.ts +++ b/src/browser/network/PlaywrightScenarioNetwork.test.ts @@ -4,7 +4,7 @@ import { browserScenarioSchema } from "../../domain/browserScenario.js"; import { browserScenarioEventSchema, type BrowserScenarioEvent, -} from "../../domain/browserScenarioCapture.js"; +} from "../../domain/browserScenarioCaptureValues.js"; import type { BrowserNetworkContentSelection } from "../../domain/browserNetworkEvidence.js"; import { BrowserScenarioSecrets } from "../BrowserScenarioSecrets.js"; import { diff --git a/src/browser/network/PlaywrightScenarioNetwork.ts b/src/browser/network/PlaywrightScenarioNetwork.ts index 08f81025bb..ca2b225176 100644 --- a/src/browser/network/PlaywrightScenarioNetwork.ts +++ b/src/browser/network/PlaywrightScenarioNetwork.ts @@ -2,7 +2,7 @@ import type { BrowserNetworkBody, BrowserNetworkContentSelection, } from "../../domain/browserNetworkEvidence.js"; -import type { BrowserScenarioEvent } from "../../domain/browserScenarioCapture.js"; +import type { BrowserScenarioEvent } from "../../domain/browserScenarioCaptureValues.js"; import type { BrowserScenarioSecrets } from "../BrowserScenarioSecrets.js"; import { captureNetworkBody, diff --git a/src/catalogIdentity.ts b/src/catalogIdentity.ts index b751c43945..a6141ee18c 100644 --- a/src/catalogIdentity.ts +++ b/src/catalogIdentity.ts @@ -7,8 +7,6 @@ import { PROMPT_CONTRACTS } from "./contracts/promptContracts.js"; import { TOOL_CONTRACTS } from "./contracts/toolContracts.js"; import { CLI_COMMAND_NAMES } from "./cliCommandNames.js"; -export { CLI_COMMAND_NAMES } from "./cliCommandNames.js"; - const sortedToolContracts = [...TOOL_CONTRACTS].sort((left, right) => left.name.localeCompare(right.name), ); diff --git a/src/cli/analysisViewCommands.ts b/src/cli/analysisViewCommands.ts index 480ef67239..a0deb02290 100644 --- a/src/cli/analysisViewCommands.ts +++ b/src/cli/analysisViewCommands.ts @@ -4,13 +4,13 @@ import { inspectAnalysisViewValidated } from "../application/analysisView/Analys import { CLI_COMMANDS } from "../cliCommandNames.js"; import { parseCliJsonInput } from "../cliJsonInput.js"; import { logCliCommand } from "../cliLogging.js"; -import { inspectAnalysisViewInputSchema } from "../domain/analysisView/analysisView.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { analysisInputErrorFromIssues } from "../domain/inputIssueProjection.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; +import { inspectAnalysisViewInputSchema } from "../domain/analysisView/analysisView.js"; /** Project selected views of completed analysis Evidence through the CLI. */ export const registerAnalysisViewCommands = ( cli: CliInstance, diff --git a/src/cli/androidCommands.ts b/src/cli/androidCommands.ts index bdcfc8589a..80a71b2351 100644 --- a/src/cli/androidCommands.ts +++ b/src/cli/androidCommands.ts @@ -6,7 +6,7 @@ import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { AndroidOperation } from "../domain/android/androidAnalysis.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/applicationCommands.ts b/src/cli/applicationCommands.ts index 6edbc70474..ac13007f60 100644 --- a/src/cli/applicationCommands.ts +++ b/src/cli/applicationCommands.ts @@ -20,7 +20,7 @@ import { type AnalysisError } from "../domain/analysisErrorBase.js"; import { androidApplicationProjectionInputSchema } from "../domain/android/androidApplication.js"; import { appleApplicationProjectionInputSchema } from "../domain/apple/appleApplication.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { traceApplicationFeatureInputSchema } from "../domain/javascript/javascriptFeatureTraceSchemas.js"; import { traceJavaScriptSemanticsInputSchema } from "../domain/javascript/javascriptSemanticTraceSchemas.js"; import { compareApplicationVersionsInputSchema } from "../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; diff --git a/src/cli/artifactCommands.ts b/src/cli/artifactCommands.ts index 42c4a591b9..55e465711e 100644 --- a/src/cli/artifactCommands.ts +++ b/src/cli/artifactCommands.ts @@ -4,7 +4,7 @@ import type { DirectAnalysis } from "../composition/directAnalysis.js"; import { createArtifactExtractionDestination } from "../application/artifacts/ArtifactExtractionDestination.js"; import { logCliCommand } from "../cliLogging.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; export const registerArtifactCommands = ( diff --git a/src/cli/binaryDiagnosticsCommands.ts b/src/cli/binaryDiagnosticsCommands.ts index 560a119356..7174586bda 100644 --- a/src/cli/binaryDiagnosticsCommands.ts +++ b/src/cli/binaryDiagnosticsCommands.ts @@ -7,7 +7,7 @@ import { import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/browserAdvancedCommands.ts b/src/cli/browserAdvancedCommands.ts index 0fd49960e1..63cbbd756c 100644 --- a/src/cli/browserAdvancedCommands.ts +++ b/src/cli/browserAdvancedCommands.ts @@ -22,7 +22,7 @@ import { } from "../domain/webScreenshot.js"; import type { JsonValue } from "../domain/jsonValue.js"; import { safeParseJson } from "../domain/safeJson.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { CLI_COMMANDS } from "../cliCommandNames.js"; /** Register WebMCP, capture-diff, and screenshot CLI equivalents. */ diff --git a/src/cli/browserCommands.ts b/src/cli/browserCommands.ts index e06e0498df..876b4565a1 100644 --- a/src/cli/browserCommands.ts +++ b/src/cli/browserCommands.ts @@ -15,7 +15,7 @@ import { import { analyzeWebBundleInputSchema } from "../domain/webBundleAnalysis.js"; import { observeWebSessionInputSchema } from "../domain/browserSession.js"; import { AnalysisInputError } from "../domain/analysisErrorCore.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { browserPageInspectionOptions, diff --git a/src/cli/coreAnalysisCommands.ts b/src/cli/coreAnalysisCommands.ts index 74dc36a835..f72ab10764 100644 --- a/src/cli/coreAnalysisCommands.ts +++ b/src/cli/coreAnalysisCommands.ts @@ -1,5 +1,5 @@ import type { DirectAnalysis } from "../composition/directAnalysis.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { registerCoreBinaryCommands } from "./coreBinaryCommands.js"; import { registerCoreNativeCommands } from "./coreNativeCommands.js"; import type { CliInstance } from "./types.js"; diff --git a/src/cli/coreBinaryCommands.ts b/src/cli/coreBinaryCommands.ts index 46e92556a7..d3623141b9 100644 --- a/src/cli/coreBinaryCommands.ts +++ b/src/cli/coreBinaryCommands.ts @@ -6,7 +6,7 @@ import { resolveCliAnalysisSelector } from "./analysisSelector.js"; import type { DirectAnalysis } from "../composition/directAnalysis.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { directAnalysisOptions, formatSelectionOption, diff --git a/src/cli/coreNativeCommands.ts b/src/cli/coreNativeCommands.ts index 9b50f28006..51849bcf68 100644 --- a/src/cli/coreNativeCommands.ts +++ b/src/cli/coreNativeCommands.ts @@ -3,7 +3,7 @@ import { z } from "incur"; import type { DirectAnalysis } from "../composition/directAnalysis.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { directAnalysisOptions, formatSelectionOption, diff --git a/src/cli/electronCommands.ts b/src/cli/electronCommands.ts index f236215aac..6b11183d79 100644 --- a/src/cli/electronCommands.ts +++ b/src/cli/electronCommands.ts @@ -16,7 +16,7 @@ import { AnalysisInputError } from "../domain/analysisErrorCore.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { projectInputIssues } from "../domain/inputIssueProjection.js"; import type { JsonValue } from "../domain/jsonValue.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { parseCliJsonInput, resolveCliJsonPaths } from "../cliJsonInput.js"; import { diff --git a/src/cli/evmCommands.ts b/src/cli/evmCommands.ts index 61f292587b..6a9dd9504c 100644 --- a/src/cli/evmCommands.ts +++ b/src/cli/evmCommands.ts @@ -4,7 +4,7 @@ import { createEvmInterfaceService } from "../composition/evm.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/firmwareCommands.ts b/src/cli/firmwareCommands.ts index ad08c7804b..8822c2354f 100644 --- a/src/cli/firmwareCommands.ts +++ b/src/cli/firmwareCommands.ts @@ -6,7 +6,7 @@ import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { FirmwareOperation } from "../domain/firmware/firmwareAnalysis.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/javascriptRecoveryCommands.ts b/src/cli/javascriptRecoveryCommands.ts index c8f00e8271..d51f2e471d 100644 --- a/src/cli/javascriptRecoveryCommands.ts +++ b/src/cli/javascriptRecoveryCommands.ts @@ -4,7 +4,7 @@ import { createJavaScriptRecoveryProvider } from "../composition/javascriptRecov import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/managedCommands.ts b/src/cli/managedCommands.ts index 4f26f782f7..fdc32634e2 100644 --- a/src/cli/managedCommands.ts +++ b/src/cli/managedCommands.ts @@ -8,7 +8,7 @@ import { parseCliJsonInput } from "../cliJsonInput.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { registerProjectManagedApplicationGraph } from "./managedProjectGraphCommand.js"; diff --git a/src/cli/managedProjectGraphCommand.ts b/src/cli/managedProjectGraphCommand.ts index b1104de7ad..1c69d8cfd6 100644 --- a/src/cli/managedProjectGraphCommand.ts +++ b/src/cli/managedProjectGraphCommand.ts @@ -5,7 +5,7 @@ import { CLI_COMMANDS } from "../cliCommandNames.js"; import { parseCliJsonInput } from "../cliJsonInput.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; /** Register managed static-Evidence application graph projection. */ diff --git a/src/cli/nativeCallCommands.ts b/src/cli/nativeCallCommands.ts index f47e4c54da..e518c7afcc 100644 --- a/src/cli/nativeCallCommands.ts +++ b/src/cli/nativeCallCommands.ts @@ -8,7 +8,7 @@ import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { analysisInputErrorFromIssues } from "../domain/inputIssueProjection.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; import { nativeCallObservationInputSchema } from "../domain/native/nativeCallObservation.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; const OPERATION = "observe_native_calls"; diff --git a/src/cli/options.ts b/src/cli/options.ts index 8faa70c986..22f63ab9c5 100644 --- a/src/cli/options.ts +++ b/src/cli/options.ts @@ -4,7 +4,7 @@ import { } from "../domain/dosCom.js"; import { analysisProviderSelectorSchema } from "../contracts/providerSelection.js"; import type { AnalysisProviderSelector } from "../contracts/providerSelection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; export const providerSelectionOption = analysisProviderSelectorSchema .optional() diff --git a/src/cli/processCommands.ts b/src/cli/processCommands.ts index eef7a5f62f..d58a4f0597 100644 --- a/src/cli/processCommands.ts +++ b/src/cli/processCommands.ts @@ -6,7 +6,7 @@ import { isProcessCliFailure, } from "../application/process/ProcessCli.js"; import { logCliCommand } from "../cliLogging.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/setupCommands.ts b/src/cli/setupCommands.ts index ebd822ad4f..d4e5209709 100644 --- a/src/cli/setupCommands.ts +++ b/src/cli/setupCommands.ts @@ -28,7 +28,7 @@ import { PRODUCT_IDENTITY } from "../identity.js"; import { logCliCommand } from "../cliLogging.js"; import { createSystemDoctorHost } from "../doctorRuntime.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { SUPPORTED_CLIENT_DEFINITIONS } from "../application/SupportedClients.js"; diff --git a/src/cli/utilityCommands.ts b/src/cli/utilityCommands.ts index 90e97e03ca..2aeef42286 100644 --- a/src/cli/utilityCommands.ts +++ b/src/cli/utilityCommands.ts @@ -3,7 +3,7 @@ import { z } from "incur"; import type { DirectAnalysis } from "../composition/directAnalysis.js"; import { importReferenceSource } from "../application/ReferenceSourceImport.js"; import { projectReferenceSourceImportError } from "../application/ReferenceSourceImportTypes.js"; -import { parseConfig } from "../config.js"; +import { parseConfig } from "../config/parseConfig.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { AnalysisInputError } from "../domain/analysisErrorCore.js"; import { projectInputIssues } from "../domain/inputIssueProjection.js"; @@ -13,7 +13,7 @@ import { PRODUCT_IDENTITY } from "../identity.js"; import { logCliCommand } from "../cliLogging.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { swiftSymbolsSchema } from "../contracts/native/nativeToolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { isReferenceSourceImportCliFailure } from "./referenceSourceImportStatus.js"; import type { CliInstance } from "./types.js"; import { registerNativeCallCommands } from "./nativeCallCommands.js"; diff --git a/src/cli/webModuleCommands.ts b/src/cli/webModuleCommands.ts index 8c0237d721..7e0518c8d6 100644 --- a/src/cli/webModuleCommands.ts +++ b/src/cli/webModuleCommands.ts @@ -3,7 +3,7 @@ import { createWebModuleTraceService } from "../composition/webModules.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/webNetworkCaptureCommands.ts b/src/cli/webNetworkCaptureCommands.ts index a5601b57bb..1b902969ce 100644 --- a/src/cli/webNetworkCaptureCommands.ts +++ b/src/cli/webNetworkCaptureCommands.ts @@ -3,7 +3,7 @@ import { createWebNetworkCaptureService } from "../composition/webNetworkCapture import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/webRuntimeCommands.ts b/src/cli/webRuntimeCommands.ts index 9f52397fc6..2963641d8d 100644 --- a/src/cli/webRuntimeCommands.ts +++ b/src/cli/webRuntimeCommands.ts @@ -7,7 +7,7 @@ import { } from "../cliObservationOptions.js"; import { logCliCommand } from "../cliLogging.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { ProgressReporter } from "../application/ProgressReporter.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cli/webScriptCommands.ts b/src/cli/webScriptCommands.ts index ceaa58d5d0..34ae34970e 100644 --- a/src/cli/webScriptCommands.ts +++ b/src/cli/webScriptCommands.ts @@ -4,7 +4,7 @@ import { exportWebScripts } from "../application/WebScriptExportService.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; /** Register the local captured-script export CLI workflow. */ export const registerWebScriptCommands = ( diff --git a/src/cli/webSourceLocationCommands.ts b/src/cli/webSourceLocationCommands.ts index 9ce2ddb3f0..42175e95d8 100644 --- a/src/cli/webSourceLocationCommands.ts +++ b/src/cli/webSourceLocationCommands.ts @@ -3,7 +3,7 @@ import { createWebSourceLocationService } from "../composition/webSourceLocation import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { CliInstance } from "./types.js"; import { withCommandCancellation } from "./commandCancellation.js"; diff --git a/src/cliBrowserScenarioCommands.ts b/src/cliBrowserScenarioCommands.ts index b4c851b8cc..f98e415cb2 100644 --- a/src/cliBrowserScenarioCommands.ts +++ b/src/cliBrowserScenarioCommands.ts @@ -11,7 +11,7 @@ import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; import { projectInputIssues } from "./domain/inputIssueProjection.js"; import { browserScenarioSchema } from "./domain/browserScenario.js"; import type { JsonValue } from "./domain/jsonValue.js"; -import type { Logger } from "./logger.js"; +import type { Logger } from "pino"; const OPERATION = "capture_browser_scenario"; diff --git a/src/cliEvidenceCommands.ts b/src/cliEvidenceCommands.ts index acf8658a22..11a01be8c9 100644 --- a/src/cliEvidenceCommands.ts +++ b/src/cliEvidenceCommands.ts @@ -6,7 +6,7 @@ import { importEvidenceBundleCommand, } from "./application/EvidenceBundleCommands.js"; import { logCliCommand } from "./cliLogging.js"; -import type { Logger } from "./logger.js"; +import type { Logger } from "pino"; import { CLI_COMMANDS } from "./cliCommandNames.js"; import type { JsonValue } from "./domain/jsonValue.js"; import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; diff --git a/src/cliHostInputs.test.ts b/src/cliHostInputs.test.ts index 48708b06c7..4feebb910e 100644 --- a/src/cliHostInputs.test.ts +++ b/src/cliHostInputs.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest"; import { HopperProvider } from "./hopper/HopperProvider.js"; import { silentLogger } from "./logger.js"; -import { parseConfig } from "./config.js"; +import { parseConfig } from "./config/parseConfig.js"; const config = (env: Record = {}) => { const parsed = parseConfig(env); diff --git a/src/cliJavaScriptRuntimeCommands.ts b/src/cliJavaScriptRuntimeCommands.ts index 89eac7e53c..5ee6f23e71 100644 --- a/src/cliJavaScriptRuntimeCommands.ts +++ b/src/cliJavaScriptRuntimeCommands.ts @@ -15,7 +15,7 @@ import { import { AnalysisInputError } from "./domain/analysisErrorCore.js"; import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; import type { JsonValue } from "./domain/jsonValue.js"; -import type { Logger } from "./logger.js"; +import type { Logger } from "pino"; const observeOptionsSchema = z.object({ runtimeKind: javascriptRuntimeKindSchema diff --git a/src/cliLogging.ts b/src/cliLogging.ts index 6dbb24039f..c74c43ab42 100644 --- a/src/cliLogging.ts +++ b/src/cliLogging.ts @@ -7,7 +7,7 @@ import { projectAnalysisError, type AnalysisErrorProjection, } from "./domain/analysisErrorProjection.js"; -import type { Logger } from "./logger.js"; +import type { Logger } from "pino"; const isRecord = (value: unknown): value is Readonly> => typeof value === "object" && value !== null && !Array.isArray(value); diff --git a/src/composition/binary.ts b/src/composition/binary.ts index 6a4d9bd54c..b4b86f6379 100644 --- a/src/composition/binary.ts +++ b/src/composition/binary.ts @@ -1,10 +1,10 @@ import { snapshotEnvironment } from "../process/snapshotEnvironment.js"; -import type { AppConfig } from "../config.js"; +import type { AppConfig } from "../config/types.js"; import type { BinarySession } from "../application/binary/BinarySession.js"; import { HopperProvider } from "../hopper/HopperProvider.js"; import { GhidraProvider } from "../ghidra/GhidraProvider.js"; import { IdaProvider } from "../ida/IdaProvider.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { auxiliaryAnalysisProviderDeclarations } from "./auxiliaryAnalysisProviders.js"; import { AnalysisProviderRegistry } from "../application/binary/AnalysisProviderRegistry.js"; import { composeBinarySession } from "../application/binary/BinarySessionComposition.js"; diff --git a/src/composition/directAnalysis.ts b/src/composition/directAnalysis.ts index 26dc347fe0..3a6b0d2129 100644 --- a/src/composition/directAnalysis.ts +++ b/src/composition/directAnalysis.ts @@ -1,5 +1,5 @@ import { snapshotEnvironment } from "../process/snapshotEnvironment.js"; -import { parseConfig } from "../config.js"; +import { parseConfig } from "../config/parseConfig.js"; import { runDirectAnalysis as executeDirectAnalysis, runProviderAnalysis as executeProviderAnalysis, diff --git a/src/config.test.ts b/src/config.test.ts index 36319a8de5..aed5a8dee1 100644 --- a/src/config.test.ts +++ b/src/config.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { parseConfig } from "./config.js"; +import { parseConfig } from "./config/parseConfig.js"; import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; describe("runtime configuration", () => { diff --git a/src/config.ts b/src/config.ts deleted file mode 100644 index 4fe05ddf17..0000000000 --- a/src/config.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type { AppConfig } from "./config/types.js"; -export { parseConfig } from "./config/parseConfig.js"; diff --git a/src/contracts/analysisViewToolContracts.ts b/src/contracts/analysisViewToolContracts.ts index 1378722b53..b8f455767a 100644 --- a/src/contracts/analysisViewToolContracts.ts +++ b/src/contracts/analysisViewToolContracts.ts @@ -4,7 +4,7 @@ import { } from "../domain/analysisView/analysisView.js"; import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; const RETAINED_EXAMPLE_ID = `ev_${"a".repeat(64)}`; diff --git a/src/contracts/applicationToolContracts.ts b/src/contracts/applicationToolContracts.ts index d8c1cb342e..379294e721 100644 --- a/src/contracts/applicationToolContracts.ts +++ b/src/contracts/applicationToolContracts.ts @@ -24,15 +24,15 @@ import { appleApplicationProjectionInputSchema, appleApplicationProjectionResultSchema, } from "../domain/apple/appleApplication.js"; -import type { ToolContract } from "./toolContracts.js"; +import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; import { JAVASCRIPT_APPLICATION_VERSION_COMPARISON_EXAMPLE, - JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE, JAVASCRIPT_FEATURE_TRACE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, } from "./javascript/javascriptApplicationWorkflowExamples.js"; +import { JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE } from "./javascript/javascriptExportShapeComparisonExample.js"; import { ANDROID_APPLICATION_GRAPH_EXAMPLE, APPLE_APPLICATION_GRAPH_EXAMPLE, diff --git a/src/contracts/artifactToolContracts.ts b/src/contracts/artifactToolContracts.ts index b52f115af1..a6926a19fb 100644 --- a/src/contracts/artifactToolContracts.ts +++ b/src/contracts/artifactToolContracts.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import type { ToolContract } from "./toolContracts.js"; -import { artifactOutputSchemas } from "./toolOutputSchemas.js"; +import type { ToolContract } from "./toolContractTypes.js"; +import { artifactOutputSchemas } from "./toolOutputSchemaGroups.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; import { toolContractMetadata } from "./toolEffects.js"; import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js"; diff --git a/src/contracts/browserScenarioToolContracts.ts b/src/contracts/browserScenarioToolContracts.ts index c54ebf8ce9..81bc188fc4 100644 --- a/src/contracts/browserScenarioToolContracts.ts +++ b/src/contracts/browserScenarioToolContracts.ts @@ -1,6 +1,6 @@ -import type { ToolContract } from "./toolContracts.js"; +import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; import { browserScenarioInputSchema } from "../domain/browserScenario.js"; import { browserScenarioCaptureSchema } from "../domain/browserScenarioCapture.js"; import type { JsonValue } from "../domain/jsonValue.js"; diff --git a/src/contracts/browserToolContracts.ts b/src/contracts/browserToolContracts.ts index 83a29ef2f1..4ac468b412 100644 --- a/src/contracts/browserToolContracts.ts +++ b/src/contracts/browserToolContracts.ts @@ -1,10 +1,12 @@ -import type { ToolContract } from "./toolContracts.js"; +import type { ToolContract } from "./toolContractTypes.js"; import { - browserTargetListSchema, inspectWebPageInputSchema, listBrowserTargetsInputSchema, - webPageInspectionSchema, } from "../domain/browserObservation.js"; +import { + browserTargetListSchema, + webPageInspectionSchema, +} from "../domain/browserObservationSchemas.js"; import { analyzeWebBundleInputSchema, webBundleAnalysisSchema, @@ -28,19 +30,20 @@ import { webScreenshotSchema, } from "../domain/webScreenshot.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; -const evidenceResult = evidenceResultOf; -const listOutputSchema = evidenceResult(browserTargetListSchema); -const inspectionOutputSchema = evidenceResult(webPageInspectionSchema); -const bundleOutputSchema = evidenceResult(webBundleAnalysisSchema); -const observationSessionOutputSchema = evidenceResult( +const listOutputSchema = evidenceResultOf(browserTargetListSchema); +const inspectionOutputSchema = evidenceResultOf(webPageInspectionSchema); +const bundleOutputSchema = evidenceResultOf(webBundleAnalysisSchema); +const observationSessionOutputSchema = evidenceResultOf( webObservationSessionSchema, ); -const webMcpOutputSchema = evidenceResult(webMcpDiscoverySchema); -const captureDiffOutputSchema = evidenceResult(browserCaptureComparisonSchema); -const screenshotOutputSchema = evidenceResult(webScreenshotSchema); -const screenshotDiffOutputSchema = evidenceResult(webScreenshotDiffSchema); +const webMcpOutputSchema = evidenceResultOf(webMcpDiscoverySchema); +const captureDiffOutputSchema = evidenceResultOf( + browserCaptureComparisonSchema, +); +const screenshotOutputSchema = evidenceResultOf(webScreenshotSchema); +const screenshotDiffOutputSchema = evidenceResultOf(webScreenshotDiffSchema); const endpoint = "http://127.0.0.1:9222"; const origin = "https://app.example.test"; diff --git a/src/contracts/enhancedToolContracts.ts b/src/contracts/enhancedToolContracts.ts index 02cc55aca1..d045e9e1e2 100644 --- a/src/contracts/enhancedToolContracts.ts +++ b/src/contracts/enhancedToolContracts.ts @@ -1,10 +1,8 @@ import { z } from "zod"; import { enhancedInputSchemas } from "./enhancedInputs.js"; -import { - enhancedOutputSchemas, - requireOutputSchema, -} from "./toolOutputSchemas.js"; +import { enhancedOutputSchemas } from "./toolOutputSchemaGroups.js"; +import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js"; import { examplesFor } from "./toolContractHelpers.js"; import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; diff --git a/src/contracts/evm/evmToolContracts.ts b/src/contracts/evm/evmToolContracts.ts index 7b8f5bcf9f..cb8be2736e 100644 --- a/src/contracts/evm/evmToolContracts.ts +++ b/src/contracts/evm/evmToolContracts.ts @@ -4,7 +4,7 @@ import { } from "../../domain/evm/evmInterface.js"; import type { ToolContract } from "../toolContractTypes.js"; import { toolContractMetadata } from "../toolEffects.js"; -import { evidenceResultOf } from "../toolOutputSchemas.js"; +import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js"; /** Target-free EVM capabilities are independent of archive/Apple artifact providers. */ export const EVM_TOOL_CONTRACTS = [ diff --git a/src/contracts/functionWorkflowToolContracts.ts b/src/contracts/functionWorkflowToolContracts.ts index 203df04d2b..5ef3f82f2b 100644 --- a/src/contracts/functionWorkflowToolContracts.ts +++ b/src/contracts/functionWorkflowToolContracts.ts @@ -3,7 +3,7 @@ import { enhancedInputSchemas } from "./enhancedInputs.js"; import { TOOL_EXAMPLE_OVERRIDES } from "./toolContractExamples.js"; import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { enhancedOutputSchemas } from "./toolOutputSchemas.js"; +import { enhancedOutputSchemas } from "./toolOutputSchemaGroups.js"; import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js"; type FunctionWorkflowName = "analyze_function" | "inspect_native_api"; diff --git a/src/contracts/investigationExamples.ts b/src/contracts/investigationExamples.ts index 752f58742b..8218ee609a 100644 --- a/src/contracts/investigationExamples.ts +++ b/src/contracts/investigationExamples.ts @@ -1,13 +1,11 @@ -import { compareFunctions } from "../domain/functionComparison.js"; import { createEvidence } from "../domain/evidence.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; -import { - compareProcessCaptures, - parseProcessCapture, -} from "../domain/process/processCapture.js"; +import { compareProcessCaptures } from "../domain/process/processComparison.js"; +import { parseProcessCapture } from "../domain/process/processCaptureParsing.js"; import { FUNCTION_COMPARISON_EXAMPLE } from "./functionComparisonExample.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./process/processCaptureExample.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../domain/process/processCaptureExample.js"; +import { compareFunctions } from "../domain/functionComparison.js"; const comparison = compareFunctions( FUNCTION_COMPARISON_EXAMPLE.left, FUNCTION_COMPARISON_EXAMPLE.right, diff --git a/src/contracts/javascript/electronToolContracts.ts b/src/contracts/javascript/electronToolContracts.ts index c0e860f957..e35e134b5a 100644 --- a/src/contracts/javascript/electronToolContracts.ts +++ b/src/contracts/javascript/electronToolContracts.ts @@ -1,6 +1,6 @@ -import type { ToolContract } from "../toolContracts.js"; +import type { ToolContract } from "../toolContractTypes.js"; import { toolContractMetadata } from "../toolEffects.js"; -import { evidenceResultOf } from "../toolOutputSchemas.js"; +import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js"; import { electronPageInspectionSchema, electronTargetListSchema, diff --git a/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts b/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts index 0674f4d5cd..7e9b6b17e1 100644 --- a/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts +++ b/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts @@ -46,7 +46,6 @@ const TRACE_SEED = { match: "exact" as const, case_sensitive: false, }; - /** Natural trace request with the producer's complete Evidence inline. */ export const JAVASCRIPT_FEATURE_TRACE_EXAMPLE = { application: JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE, @@ -101,5 +100,3 @@ export const SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE = { }), application: JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE, }; - -export { JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE } from "./javascriptExportShapeComparisonExample.js"; diff --git a/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts b/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts index 2af7a7cbe0..8aa758804d 100644 --- a/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts +++ b/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts @@ -1,6 +1,6 @@ -import type { ToolContract } from "../toolContracts.js"; +import type { ToolContract } from "../toolContractTypes.js"; import { toolContractMetadata } from "../toolEffects.js"; -import { evidenceResultOf } from "../toolOutputSchemas.js"; +import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js"; import { javascriptRuntimeObservationSchema, javascriptRuntimeTargetListSchema, diff --git a/src/contracts/managed/managedToolContracts.ts b/src/contracts/managed/managedToolContracts.ts index f256fc5dff..8b46881b29 100644 --- a/src/contracts/managed/managedToolContracts.ts +++ b/src/contracts/managed/managedToolContracts.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import type { ToolContract } from "../toolContracts.js"; -import { managedOutputSchemas } from "../toolOutputSchemas.js"; +import type { ToolContract } from "../toolContractTypes.js"; +import { managedOutputSchemas } from "../toolOutputSchemaGroups.js"; import { toolContractMetadata } from "../toolEffects.js"; import { requireOutputSchema } from "../toolOutputSchemaPrimitives.js"; import { @@ -10,7 +10,7 @@ import { } from "../../domain/localPath.js"; /** Exact caller boundary for execution-free PE/CLI triage and identity. */ -const managedTargetInputSchema = z.strictObject({ +export const managedTargetInputSchema = z.strictObject({ path: localPathStringSchema .refine(isAbsoluteLocalPath, { message: @@ -22,14 +22,6 @@ const managedTargetInputSchema = z.strictObject({ .optional(), }); -export const managedArtifactInputSchema = managedTargetInputSchema; - -/** Exact caller boundary for execution-free metadata/signature/IL inspection. */ -export const managedMemberInputSchema = managedTargetInputSchema; - -/** Exact caller boundary for execution-free managed/native boundary inspection. */ -export const managedNativeBoundaryInputSchema = managedTargetInputSchema; - const outputSchema = requireOutputSchema( managedOutputSchemas, "inspect_managed_artifact", @@ -51,7 +43,7 @@ export const MANAGED_TOOL_CONTRACTS = [ description: "Open and classify an explicit managed PE/CLI path, or inspect the active managed target, then inventory exact assembly/module identity, target framework evidence, references, resources, and custom attributes without loading or executing target code. Returns complete inline inventories when metadata is admitted and explicit partial or malformed coverage otherwise.", kind: "managed-provider", - inputSchema: managedArtifactInputSchema, + inputSchema: managedTargetInputSchema, outputSchema, examples: [ { @@ -66,7 +58,7 @@ export const MANAGED_TOOL_CONTRACTS = [ description: "Inspect PE/CLI metadata members, signatures, raw CIL hashes, decoded-instruction-tuple hashes, separately reported exception regions, call edges, and field-access anchors without loading or executing target code. Metadata tokens are reported as build-local coordinates bound to the artifact SHA-256 and MVID; the tuple hash does not resolve them or fully commit control flow.", kind: "managed-provider", - inputSchema: managedMemberInputSchema, + inputSchema: managedTargetInputSchema, outputSchema: memberOutputSchema, examples: [ { @@ -81,7 +73,7 @@ export const MANAGED_TOOL_CONTRACTS = [ description: "Inspect PE/CLI ModuleRef, ImplMap/PInvoke declarations, CLI native-header indicators, and non-IL method implementation flags without loading or executing target code. Results are managed declarations and degraded native-boundary observations, not verified native exports or addresses.", kind: "managed-provider", - inputSchema: managedNativeBoundaryInputSchema, + inputSchema: managedTargetInputSchema, outputSchema: nativeBoundaryOutputSchema, examples: [ { diff --git a/src/contracts/managed/managedWorkflowToolContracts.ts b/src/contracts/managed/managedWorkflowToolContracts.ts index f1f8d40927..3842c38140 100644 --- a/src/contracts/managed/managedWorkflowToolContracts.ts +++ b/src/contracts/managed/managedWorkflowToolContracts.ts @@ -2,8 +2,8 @@ import { z } from "zod"; import { evidenceSchema } from "../../domain/evidence.js"; import { managedReconstructionImportInputSchema } from "../../domain/managed/managedReconstruction.js"; -import type { ToolContract } from "../toolContracts.js"; -import { managedWorkflowOutputSchemas } from "../toolOutputSchemas.js"; +import type { ToolContract } from "../toolContractTypes.js"; +import { managedWorkflowOutputSchemas } from "../toolOutputSchemaGroups.js"; import { MANAGED_MEMBER_COMPARISON_EXAMPLE, MANAGED_NATIVE_VERIFICATION_EXAMPLE, diff --git a/src/contracts/native/binaryDiagnosticsToolContracts.ts b/src/contracts/native/binaryDiagnosticsToolContracts.ts index 28d199a8b8..720578bd00 100644 --- a/src/contracts/native/binaryDiagnosticsToolContracts.ts +++ b/src/contracts/native/binaryDiagnosticsToolContracts.ts @@ -8,7 +8,7 @@ import { } from "../../domain/native/binaryLayout.js"; import type { ToolContract } from "../toolContractTypes.js"; import { toolContractMetadata } from "../toolEffects.js"; -import { evidenceResultOf } from "../toolOutputSchemas.js"; +import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js"; /** Offline binary diagnostics are independent of macOS process/UI providers. */ export const BINARY_DIAGNOSTICS_TOOL_CONTRACTS = [ diff --git a/src/contracts/native/nativeToolContracts.ts b/src/contracts/native/nativeToolContracts.ts index f2c441703e..af1e1f0163 100644 --- a/src/contracts/native/nativeToolContracts.ts +++ b/src/contracts/native/nativeToolContracts.ts @@ -5,8 +5,8 @@ import { nativeUiScenarioInputSchema, } from "../../domain/native/nativeUiObservation.js"; -import type { ToolContract } from "../toolContracts.js"; -import { nativeOutputSchemas } from "../toolOutputSchemas.js"; +import type { ToolContract } from "../toolContractTypes.js"; +import { nativeOutputSchemas } from "../toolOutputSchemaGroups.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; import { localPathStringSchema } from "../../domain/localPath.js"; import { toolContractMetadata } from "../toolEffects.js"; diff --git a/src/contracts/officialToolContracts.ts b/src/contracts/officialToolContracts.ts index 7d4d0715f5..73ca89e48f 100644 --- a/src/contracts/officialToolContracts.ts +++ b/src/contracts/officialToolContracts.ts @@ -1,10 +1,8 @@ import { z } from "zod"; import { nativeFunctionAnnotationsInputSchema } from "../domain/native/nativeFunctionAnnotations.js"; -import { - officialOutputSchemas, - requireOutputSchema, -} from "./toolOutputSchemas.js"; +import { officialOutputSchemas } from "./toolOutputSchemaGroups.js"; +import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js"; import { address, document, diff --git a/src/contracts/process/processCaptureExample.ts b/src/contracts/process/processCaptureExample.ts deleted file mode 100644 index 3288fdac1d..0000000000 --- a/src/contracts/process/processCaptureExample.ts +++ /dev/null @@ -1,2 +0,0 @@ -/** Minimal valid process capture retained as a public contract example. */ -export { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../domain/process/processCaptureExample.js"; diff --git a/src/contracts/sessionPathInputs.test.ts b/src/contracts/sessionPathInputs.test.ts index f8030aa5d6..2841fc1a14 100644 --- a/src/contracts/sessionPathInputs.test.ts +++ b/src/contracts/sessionPathInputs.test.ts @@ -3,7 +3,7 @@ import { describe, expect, it } from "vitest"; import { browserScenarioBrowserSchema } from "../domain/browserScenarioValues.js"; import { firmwareInputSchemas } from "../domain/firmware/firmwareAnalysis.js"; import { electronActiveObservationInputSchema } from "../domain/javascript/electronActiveObservation.js"; -import { managedArtifactInputSchema } from "./managed/managedToolContracts.js"; +import { managedTargetInputSchema } from "./managed/managedToolContracts.js"; import { exportEvidenceBundleInputSchema } from "./sessionToolContracts.js"; import { closeBinaryInputSchema, @@ -48,10 +48,10 @@ const cases: readonly PathCase[] = [ }, { name: "managed target", - accepts: (path) => managedArtifactInputSchema.safeParse({ path }).success, + accepts: (path) => managedTargetInputSchema.safeParse({ path }).success, relative: ["bin/app.dll"], absolute: "/tmp/app.dll", - omitted: () => managedArtifactInputSchema.safeParse({}).success, + omitted: () => managedTargetInputSchema.safeParse({}).success, }, { name: "open binary target", diff --git a/src/contracts/sessionToolContracts.ts b/src/contracts/sessionToolContracts.ts index 484e61bd29..5436d445e7 100644 --- a/src/contracts/sessionToolContracts.ts +++ b/src/contracts/sessionToolContracts.ts @@ -4,30 +4,32 @@ import { isAbsoluteLocalPath, localPathStringSchema, } from "../domain/localPath.js"; +import { artifactComparisonInputSchema } from "../domain/artifactComparison.js"; +import { bundleComparisonInputSchema } from "../domain/bundleComparison.js"; +import { callPathInputSchema } from "../domain/callPathSchemas.js"; +import { changedBehaviorInputSchema } from "../domain/changedBehavior.js"; +import { functionComparisonInputSchema } from "../domain/functionComparisonSchemas.js"; +import { processScenarioSchema } from "../domain/process/processScenario.js"; import { - sessionOutputSchemas, - requireOutputSchema, -} from "./toolOutputSchemas.js"; + recordUnknownInputSchema, + updateUnknownInputSchema, +} from "../domain/residualUnknown.js"; +import { reconstructionVerificationInputSchema } from "../domain/reconstructionVerificationSchemas.js"; +import { staticRuntimeCorrelationInputSchema } from "../domain/staticRuntimeCorrelation.js"; +import { sessionOutputSchemas } from "./toolOutputSchemaGroups.js"; +import { requireOutputSchema } from "./toolOutputSchemaPrimitives.js"; +import { + closeBinaryInputSchema, + openBinaryInputSchema, +} from "./sessionLifecycleInputs.js"; +import { binarySessionInputSchema } from "./sessionStatusContract.js"; import { addressContextInputSchema, - artifactComparisonInputSchema, - binarySessionInputSchema, - bundleComparisonInputSchema, - callPathInputSchema, - changedBehaviorInputSchema, - closeBinaryInputSchema, - functionComparisonInputSchema, importEvidenceBundleInputSchema, listUnknownsInputSchema, navigationContextInputSchema, - openBinaryInputSchema, processComparisonInputSchema, - processScenarioSchema, - reconstructionVerificationInputSchema, - recordUnknownInputSchema, getEvidenceBundleInputSchema, - staticRuntimeCorrelationInputSchema, - updateUnknownInputSchema, verifyUnknownResolutionInputSchema, } from "./sessionToolSchemas.js"; import { examplesFor } from "./toolContractHelpers.js"; diff --git a/src/contracts/sessionToolSchemas.ts b/src/contracts/sessionToolSchemas.ts index 408c14d1de..cac69149d0 100644 --- a/src/contracts/sessionToolSchemas.ts +++ b/src/contracts/sessionToolSchemas.ts @@ -5,23 +5,8 @@ import { localPathStringSchema, } from "../domain/localPath.js"; -import { artifactComparisonInputSchema } from "../domain/artifactComparison.js"; -import { bundleComparisonInputSchema } from "../domain/bundleComparison.js"; -import { callPathInputSchema } from "../domain/callPath.js"; -import { changedBehaviorInputSchema } from "../domain/changedBehavior.js"; -import { functionComparisonInputSchema } from "../domain/functionComparison.js"; -import { processScenarioSchema } from "../domain/process/processCapture.js"; -import { processTraceSpecificationSchema } from "../domain/process/processTraceComparison.js"; -import { recordUnknownInputSchema } from "../domain/residualUnknown.js"; -import { reconstructionVerificationInputSchema } from "../domain/reconstructionVerification.js"; -import { staticRuntimeCorrelationInputSchema } from "../domain/staticRuntimeCorrelation.js"; +import { processTraceSpecificationSchema } from "../domain/process/processTraceSpecification.js"; import { evidenceSchema } from "../domain/evidence.js"; -import { updateUnknownInputSchema } from "../domain/residualUnknown.js"; -import { - openBinaryInputSchema, - closeBinaryInputSchema, -} from "./sessionLifecycleInputs.js"; -import { binarySessionInputSchema } from "./sessionStatusContract.js"; import { prefixedDigestSchema } from "./../domain/digests.js"; /** Return the current canonical Evidence bundle inline. */ @@ -71,19 +56,3 @@ export const listUnknownsInputSchema = z.strictObject({ export const verifyUnknownResolutionInputSchema = z.strictObject({ unknown_id: prefixedDigestSchema("unk"), }); - -export { - artifactComparisonInputSchema, - binarySessionInputSchema, - bundleComparisonInputSchema, - callPathInputSchema, - changedBehaviorInputSchema, - closeBinaryInputSchema, - functionComparisonInputSchema, - openBinaryInputSchema, - processScenarioSchema, - reconstructionVerificationInputSchema, - recordUnknownInputSchema, - staticRuntimeCorrelationInputSchema, - updateUnknownInputSchema, -}; diff --git a/src/contracts/toolContracts.ts b/src/contracts/toolContracts.ts index 82a6c513dc..212a748bd7 100644 --- a/src/contracts/toolContracts.ts +++ b/src/contracts/toolContracts.ts @@ -19,8 +19,6 @@ import { OFFICIAL_TOOL_CONTRACTS } from "./officialToolContracts.js"; import { ENHANCED_TOOL_CONTRACTS } from "./enhancedToolContracts.js"; import { SESSION_TOOL_CONTRACTS } from "./sessionToolContracts.js"; -export type { ToolContract } from "./toolContractTypes.js"; - /** Complete ordered public inventory used by registration and verification. */ export const TOOL_CONTRACTS = [ ...OFFICIAL_TOOL_CONTRACTS, diff --git a/src/contracts/toolOutputSchemaGroups.ts b/src/contracts/toolOutputSchemaGroups.ts index ba5d1e206b..6f38137e69 100644 --- a/src/contracts/toolOutputSchemaGroups.ts +++ b/src/contracts/toolOutputSchemaGroups.ts @@ -13,16 +13,14 @@ import { jsonValueSchema } from "../domain/jsonValue.js"; import { residualUnknownSchema } from "../domain/residualUnknown.js"; import { evidenceBundleSchema } from "../domain/evidenceBundle.js"; -import { - processCaptureComparisonSchema, - processCaptureSchema, -} from "../domain/process/processCapture.js"; +import { processCaptureComparisonSchema } from "../domain/process/processComparison.js"; import { analysisBookmarkSchema, functionInstructionWindowSchema, referenceEdgeSchema, unresolvedCallSchema, analysisStringSchema, + procedureIdentitySchema, } from "../domain/hopperValues.js"; import { nativeApiInspectionResultSchema } from "../domain/native/nativeApiBoundary.js"; import { @@ -44,16 +42,16 @@ import { managedNativeBoundaryInspectionSchema, } from "../domain/managed/managedArtifact.js"; import { managedMemberComparisonResultSchema } from "../domain/managed/managedMemberComparison.js"; -import { managedNativeVerificationResultSchema } from "../domain/managed/managedNativeVerification.js"; +import { managedNativeVerificationResultSchema } from "../domain/managed/managedNativeVerificationSchemas.js"; import { managedReconstructionImportResultSchema } from "../domain/managed/managedReconstruction.js"; import { managedApplicationGraphResultSchema } from "../domain/managed/managedApplicationGraph.js"; import { artifactComparisonResultSchema } from "../domain/artifactComparison.js"; -import { functionComparisonResultSchema } from "../domain/functionComparison.js"; +import { functionComparisonResultSchema } from "../domain/functionComparisonSchemas.js"; import { bundleComparisonResultSchema } from "../domain/bundleComparison.js"; import { changedBehaviorResultSchema } from "../domain/changedBehavior.js"; -import { callPathResultSchema } from "../domain/callPath.js"; +import { callPathResultSchema } from "../domain/callPathSchemas.js"; import { staticRuntimeCorrelationResultSchema } from "../domain/staticRuntimeCorrelation.js"; -import { reconstructionVerificationResultSchema } from "../domain/reconstructionVerification.js"; +import { reconstructionVerificationResultSchema } from "../domain/reconstructionVerificationSchemas.js"; import { analysisErrorProjectionSchema } from "./errorSchemas.js"; import { nativeDispatchMetadataResultSchema } from "../domain/native/objcSwiftMetadata.js"; import { nativeInvestigationTraceSchema } from "../domain/native/nativeInvestigationGraph.js"; @@ -66,9 +64,8 @@ import { graphNode, lifecycleResultOf, nullableText, - procedureIdentity, procedureInfoOutput, - evidenceResultOf as resultOf, + evidenceResultOf, segmentOutput, sessionProvider, symbolDiscoveryOutput, @@ -76,6 +73,7 @@ import { targetKindSchema, } from "./toolOutputSchemaPrimitives.js"; +import { processCaptureSchema } from "../domain/process/processCapture.js"; const contextFacetSchema = z.discriminatedUnion("state", [ z.object({ state: z.literal("available"), value: jsonValueSchema }), z.object({ @@ -98,33 +96,33 @@ const bookmarkFacetSchema = z.discriminatedUnion("state", [ /** Exact structured-content schemas shared by direct analysis providers. */ export const officialOutputSchemas: Readonly> = { - annotate_native_function: resultOf(nativeFunctionAnnotationsSchema), - inspect_native_load_image: resultOf(nativeLoadImageSchema), - inspect_native_data_type: resultOf(nativeDataTypeSchema), - inspect_native_instruction: resultOf(nativeInstructionSchema), - resolve_native_call_targets: resultOf(nativeCallTargetsSchema), - address_name: resultOf(nullableText), - comment: resultOf(nullableText), - current_address: resultOf(z.string()), - current_procedure: resultOf(z.string()), - current_document: resultOf(z.string()), - goto_address: resultOf(z.string()), - inline_comment: resultOf(nullableText), - list_bookmarks: resultOf(z.array(analysisBookmarkSchema)), - list_documents: resultOf(z.array(z.string())), - list_names: resultOf(z.array(addressedValue)), - list_procedures: resultOf(z.array(addressedValue)), + annotate_native_function: evidenceResultOf(nativeFunctionAnnotationsSchema), + inspect_native_load_image: evidenceResultOf(nativeLoadImageSchema), + inspect_native_data_type: evidenceResultOf(nativeDataTypeSchema), + inspect_native_instruction: evidenceResultOf(nativeInstructionSchema), + resolve_native_call_targets: evidenceResultOf(nativeCallTargetsSchema), + address_name: evidenceResultOf(nullableText), + comment: evidenceResultOf(nullableText), + current_address: evidenceResultOf(z.string()), + current_procedure: evidenceResultOf(z.string()), + current_document: evidenceResultOf(z.string()), + goto_address: evidenceResultOf(z.string()), + inline_comment: evidenceResultOf(nullableText), + list_bookmarks: evidenceResultOf(z.array(analysisBookmarkSchema)), + list_documents: evidenceResultOf(z.array(z.string())), + list_names: evidenceResultOf(z.array(addressedValue)), + list_procedures: evidenceResultOf(z.array(addressedValue)), list_segments: segmentOutput, - list_strings: resultOf(z.array(analysisStringSchema)), - next_address: resultOf(z.string()), - prev_address: resultOf(z.string()), - procedure_address: resultOf(z.string()), - procedure_assembly: resultOf(z.string()), - procedure_callees: resultOf(addressList), - procedure_callers: resultOf(addressList), + list_strings: evidenceResultOf(z.array(analysisStringSchema)), + next_address: evidenceResultOf(z.string()), + prev_address: evidenceResultOf(z.string()), + procedure_address: evidenceResultOf(z.string()), + procedure_assembly: evidenceResultOf(z.string()), + procedure_callees: evidenceResultOf(addressList), + procedure_callers: evidenceResultOf(addressList), procedure_info: procedureInfoOutput, - read_function_instructions: resultOf(functionInstructionWindowSchema), - read_bytes: resultOf( + read_function_instructions: evidenceResultOf(functionInstructionWindowSchema), + read_bytes: evidenceResultOf( z.object({ address: z.string(), requested_bytes: z.number().int().min(1), @@ -133,7 +131,7 @@ export const officialOutputSchemas: Readonly> = { complete: z.boolean(), }), ), - address_to_file_offset: resultOf( + address_to_file_offset: evidenceResultOf( z.object({ address: z.string(), file_offset: z.number().int().min(0).max(Number.MAX_SAFE_INTEGER), @@ -163,31 +161,31 @@ export const officialOutputSchemas: Readonly> = { ), }), ), - procedure_references: resultOf( + procedure_references: evidenceResultOf( z.object({ - procedure: procedureIdentity, + procedure: procedureIdentitySchema, direction: z.enum(["incoming", "outgoing"]), reference_kinds_available: z.boolean().optional(), unresolved_calls: z.array(unresolvedCallSchema).default([]), references: z.array(referenceEdgeSchema), }), ), - procedure_pseudo_code: resultOf(nullableText), - resolve_containing_procedure: resultOf(containingProcedureResolution), - search_procedures: resultOf( + procedure_pseudo_code: evidenceResultOf(nullableText), + resolve_containing_procedure: evidenceResultOf(containingProcedureResolution), + search_procedures: evidenceResultOf( z.array(z.object({ address: z.string(), value: z.string() })), ), - search_strings: resultOf(z.array(analysisStringSchema)), - set_address_name: resultOf(z.boolean()), - set_addresses_names: resultOf(z.record(z.string(), z.boolean())), - set_bookmark: resultOf(z.boolean()), - set_comment: resultOf(z.boolean()), - set_inline_comment: resultOf(z.boolean()), - unset_bookmark: resultOf(z.boolean()), - xrefs: resultOf(addressList), + search_strings: evidenceResultOf(z.array(analysisStringSchema)), + set_address_name: evidenceResultOf(z.boolean()), + set_addresses_names: evidenceResultOf(z.record(z.string(), z.boolean())), + set_bookmark: evidenceResultOf(z.boolean()), + set_comment: evidenceResultOf(z.boolean()), + set_inline_comment: evidenceResultOf(z.boolean()), + unset_bookmark: evidenceResultOf(z.boolean()), + xrefs: evidenceResultOf(addressList), }; -const literalTraceOutput = resultOf( +const literalTraceOutput = evidenceResultOf( z.object({ query: z.string(), search_mode: z.literal("literal"), @@ -210,7 +208,7 @@ const literalTraceOutput = resultOf( }), ); -const callPathTraceOutput = resultOf( +const callPathTraceOutput = evidenceResultOf( z.object({ start: z.string(), goal: z.string().nullable(), @@ -264,14 +262,14 @@ const batchProcedureIdentity = z.discriminatedUnion("status", [ /** Exact structured-content schemas for composed analysis workflows. */ export const enhancedOutputSchemas: Readonly> = { - inspect_native_dispatch_metadata: resultOf( + inspect_native_dispatch_metadata: evidenceResultOf( nativeDispatchMetadataResultSchema, ), - trace_native_values: resultOf(nativeValueTraceSchema), - trace_native_ui_action: resultOf(nativeInvestigationTraceSchema), + trace_native_values: evidenceResultOf(nativeValueTraceSchema), + trace_native_ui_action: evidenceResultOf(nativeInvestigationTraceSchema), get_objc_classes: symbolDiscoveryOutput("classes"), get_objc_protocols: symbolDiscoveryOutput("protocols"), - batch_decompile: resultOf( + batch_decompile: evidenceResultOf( z.object({ items: z.array( z.discriminatedUnion("status", [ @@ -298,8 +296,8 @@ export const enhancedOutputSchemas: Readonly> = { failed: z.number().int().min(0), }), ), - get_call_graph: resultOf(z.record(z.string(), z.array(graphNode))), - analyze_swift_types: resultOf( + get_call_graph: evidenceResultOf(z.record(z.string(), z.array(graphNode))), + analyze_swift_types: evidenceResultOf( z.object({ total: z.number().int().min(0), categories: z.record( @@ -323,7 +321,7 @@ export const enhancedOutputSchemas: Readonly> = { symbol_inventory_error: analysisErrorProjectionSchema.exactOptional(), }), ), - find_xrefs_to_name: resultOf( + find_xrefs_to_name: evidenceResultOf( z.discriminatedUnion("status", [ z.object({ status: z.literal("resolved"), @@ -338,7 +336,7 @@ export const enhancedOutputSchemas: Readonly> = { }), ]), ), - binary_overview: resultOf( + binary_overview: evidenceResultOf( z.object({ document: z.string(), segments: z.array( @@ -355,38 +353,38 @@ export const enhancedOutputSchemas: Readonly> = { }), ), analyze_function: functionDossierOutput, - inspect_native_api: resultOf(nativeApiInspectionResultSchema), + inspect_native_api: evidenceResultOf(nativeApiInspectionResultSchema), trace_feature: literalTraceOutput, trace_call_path: callPathTraceOutput, }; /** Exact Evidence schemas for provider-neutral native inspection. */ export const nativeOutputSchemas: Readonly> = { - observe_native_ui: resultOf(nativeUiResultSchema), - capture_native_ui_scenario: resultOf(nativeUiResultSchema), - observe_native_calls: resultOf(nativeCallObservationResultSchema), - inspect_macho: resultOf(inspectMachoSchema), - inspect_signature: resultOf(inspectSignatureSchema), - inspect_plist: resultOf(inspectPlistSchema), - list_architectures: resultOf(listArchitecturesSchema), - demangle_swift: resultOf(demangleSwiftSchema), + observe_native_ui: evidenceResultOf(nativeUiResultSchema), + capture_native_ui_scenario: evidenceResultOf(nativeUiResultSchema), + observe_native_calls: evidenceResultOf(nativeCallObservationResultSchema), + inspect_macho: evidenceResultOf(inspectMachoSchema), + inspect_signature: evidenceResultOf(inspectSignatureSchema), + inspect_plist: evidenceResultOf(inspectPlistSchema), + list_architectures: evidenceResultOf(listArchitecturesSchema), + demangle_swift: evidenceResultOf(demangleSwiftSchema), }; /** Exact Evidence schemas for provider-neutral artifact graph operations. */ export const artifactOutputSchemas: Readonly> = { - inspect_artifact: resultOf(artifactInspectionResultSchema), - extract_artifact: resultOf(artifactExtractionResultSchema), - decode_interface_builder: resultOf(interfaceBuilderAnalysisSchema), - inspect_keyed_archive: resultOf(keyedArchiveResultSchema), - inspect_asset_catalog: resultOf(appleAssetCatalogResultSchema), - trace_dylib_resolution: resultOf(dylibResolutionResultSchema), + inspect_artifact: evidenceResultOf(artifactInspectionResultSchema), + extract_artifact: evidenceResultOf(artifactExtractionResultSchema), + decode_interface_builder: evidenceResultOf(interfaceBuilderAnalysisSchema), + inspect_keyed_archive: evidenceResultOf(keyedArchiveResultSchema), + inspect_asset_catalog: evidenceResultOf(appleAssetCatalogResultSchema), + trace_dylib_resolution: evidenceResultOf(dylibResolutionResultSchema), }; /** Exact Evidence schema for execution-free managed static analysis. */ export const managedOutputSchemas: Readonly> = { - inspect_managed_artifact: resultOf(managedArtifactInspectionSchema), - inspect_managed_members: resultOf(managedMemberInspectionSchema), - inspect_managed_native_boundaries: resultOf( + inspect_managed_artifact: evidenceResultOf(managedArtifactInspectionSchema), + inspect_managed_members: evidenceResultOf(managedMemberInspectionSchema), + inspect_managed_native_boundaries: evidenceResultOf( managedNativeBoundaryInspectionSchema, ), }; @@ -395,14 +393,16 @@ export const managedOutputSchemas: Readonly> = { export const managedWorkflowOutputSchemas: Readonly< Record > = { - compare_managed_members: resultOf(managedMemberComparisonResultSchema), - verify_managed_native_boundaries: resultOf( + compare_managed_members: evidenceResultOf( + managedMemberComparisonResultSchema, + ), + verify_managed_native_boundaries: evidenceResultOf( managedNativeVerificationResultSchema, ), - import_managed_reconstruction: resultOf( + import_managed_reconstruction: evidenceResultOf( managedReconstructionImportResultSchema, ), - project_managed_application_graph: resultOf( + project_managed_application_graph: evidenceResultOf( managedApplicationGraphResultSchema, ), }; @@ -495,15 +495,19 @@ export const sessionOutputSchemas = { total: z.number().int().min(0), }), ), - capture_process_scenario: resultOf(processCaptureSchema), - compare_process_captures: resultOf(processCaptureComparisonSchema), - compare_artifacts: resultOf(artifactComparisonResultSchema), - compare_functions: resultOf(functionComparisonResultSchema), - compare_bundles: resultOf(bundleComparisonResultSchema), - find_changed_behavior: resultOf(changedBehaviorResultSchema), - build_call_path: resultOf(callPathResultSchema), - correlate_static_and_runtime: resultOf(staticRuntimeCorrelationResultSchema), - verify_reconstruction: resultOf(reconstructionVerificationResultSchema), + capture_process_scenario: evidenceResultOf(processCaptureSchema), + compare_process_captures: evidenceResultOf(processCaptureComparisonSchema), + compare_artifacts: evidenceResultOf(artifactComparisonResultSchema), + compare_functions: evidenceResultOf(functionComparisonResultSchema), + compare_bundles: evidenceResultOf(bundleComparisonResultSchema), + find_changed_behavior: evidenceResultOf(changedBehaviorResultSchema), + build_call_path: evidenceResultOf(callPathResultSchema), + correlate_static_and_runtime: evidenceResultOf( + staticRuntimeCorrelationResultSchema, + ), + verify_reconstruction: evidenceResultOf( + reconstructionVerificationResultSchema, + ), list_unknowns: lifecycleResultOf( z.object({ items: z.array(residualUnknownSchema), diff --git a/src/contracts/toolOutputSchemaPrimitives.ts b/src/contracts/toolOutputSchemaPrimitives.ts index 2abe99e561..2efb498b24 100644 --- a/src/contracts/toolOutputSchemaPrimitives.ts +++ b/src/contracts/toolOutputSchemaPrimitives.ts @@ -30,7 +30,6 @@ export const evidenceResultOf = (schema: Schema) => .strictObject({ ...evidenceSchema.shape, normalized_result: schema }) .superRefine(validateAnalysisProfileProvider); -const resultOf = evidenceResultOf; /** Wrap a lifecycle result while preserving its exact schema type. */ export const lifecycleResultOf = (schema: Schema) => z.object({ result: schema }); @@ -406,14 +405,11 @@ export const addressedEntry = z.object({ address: z.string(), name: z.string(), }); -export const procedureIdentity = procedureIdentitySchema; -const localVariable = localVariableSchema; - export const containingProcedureResolution = z.discriminatedUnion("found", [ z.object({ query_address: z.string(), found: z.literal(true), - procedure: procedureIdentity, + procedure: procedureIdentitySchema, }), z.object({ query_address: z.string(), @@ -476,18 +472,18 @@ const memoryRegionOutput = z.object({ overlay: z.boolean().optional(), }); -export const segmentOutput = resultOf( +export const segmentOutput = evidenceResultOf( z.array(memoryRegionOutput.extend({ sections: z.array(memoryRegionOutput) })), ); -export const procedureInfoOutput = resultOf( +export const procedureInfoOutput = evidenceResultOf( z.object({ name: z.string(), entrypoint: z.string(), basicblock_count: z.number().int().min(0), length: z.number().min(0), signature: nullableText, - locals: z.array(localVariable), + locals: z.array(localVariableSchema), classification: procedureClassificationSchema.nullable().default(null), body: functionBodySchema.default({ available: false, @@ -497,7 +493,7 @@ export const procedureInfoOutput = resultOf( ); export const symbolDiscoveryOutput = (property: "classes" | "protocols") => - resultOf( + evidenceResultOf( z.object({ count: z.number().int().min(0), [property]: z.array(addressedEntry), @@ -517,4 +513,4 @@ export const graphNode = z.discriminatedUnion("status", [ }), ]); -export const functionDossierOutput = resultOf(functionDossierSchema); +export const functionDossierOutput = evidenceResultOf(functionDossierSchema); diff --git a/src/contracts/toolOutputSchemas.ts b/src/contracts/toolOutputSchemas.ts deleted file mode 100644 index 8d087b3005..0000000000 --- a/src/contracts/toolOutputSchemas.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./toolOutputSchemaPrimitives.js"; -export * from "./toolOutputSchemaGroups.js"; diff --git a/src/contracts/webNetworkCaptureToolContracts.ts b/src/contracts/webNetworkCaptureToolContracts.ts index 6acfa2241e..cb919172fe 100644 --- a/src/contracts/webNetworkCaptureToolContracts.ts +++ b/src/contracts/webNetworkCaptureToolContracts.ts @@ -2,9 +2,9 @@ import { inspectWebNetworkCaptureInputSchema, webNetworkCaptureSchema, } from "../domain/webNetworkCapture.js"; -import type { ToolContract } from "./toolContracts.js"; +import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; /** Historical inspection is distinct from live browser capture and runtime authority. */ export const WEB_NETWORK_CAPTURE_TOOL_CONTRACTS = [ diff --git a/src/contracts/webRuntimeToolContracts.ts b/src/contracts/webRuntimeToolContracts.ts index 8a8cfebed5..5c723735fd 100644 --- a/src/contracts/webRuntimeToolContracts.ts +++ b/src/contracts/webRuntimeToolContracts.ts @@ -1,6 +1,6 @@ -import type { ToolContract } from "./toolContracts.js"; +import type { ToolContract } from "./toolContractTypes.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; import { observeWebExecutionInputSchema, webExecutionSchema, diff --git a/src/contracts/webScriptToolContracts.ts b/src/contracts/webScriptToolContracts.ts index e437b89a7e..3947cfcf5a 100644 --- a/src/contracts/webScriptToolContracts.ts +++ b/src/contracts/webScriptToolContracts.ts @@ -8,7 +8,7 @@ import { webModuleTraceResultSchema, } from "../domain/webModuleTrace.js"; import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; import { webSourceLocationInputSchema, webSourceLocationResultSchema, diff --git a/src/domain/analysisSnapshot.fixture.ts b/src/domain/analysisSnapshot.fixture.ts index af3104cb9f..b9ea9dda84 100644 --- a/src/domain/analysisSnapshot.fixture.ts +++ b/src/domain/analysisSnapshot.fixture.ts @@ -1,5 +1,5 @@ import { createAnalysisProfile } from "./analysisProfile.js"; -import type { BinaryTarget } from "./binaryTarget.js"; +import type { BinaryTarget } from "./binaryTargetTypes.js"; /** Immutable target shared by analysis-snapshot contract tests. */ export const ANALYSIS_SNAPSHOT_TARGET: BinaryTarget = { diff --git a/src/domain/analysisSnapshot.ts b/src/domain/analysisSnapshot.ts index 4a8ceb1438..2c9156dcaa 100644 --- a/src/domain/analysisSnapshot.ts +++ b/src/domain/analysisSnapshot.ts @@ -9,7 +9,7 @@ import { committedProviderSchema, type AnalysisProfileCommitment, } from "./analysisProfile.js"; -import type { BinaryTarget } from "./binaryTarget.js"; +import type { BinaryTarget } from "./binaryTargetTypes.js"; import { evidenceBundleForTarget, evidenceBundleSchema, diff --git a/src/domain/analysisView/analysisView.test.ts b/src/domain/analysisView/analysisView.test.ts index a15098578c..e3aabcf143 100644 --- a/src/domain/analysisView/analysisView.test.ts +++ b/src/domain/analysisView/analysisView.test.ts @@ -20,13 +20,15 @@ import { } from "../javascript/javascriptSemanticGraph.js"; import { completeWithinViewCoverage, - inspectAnalysisViewInputSchema, pageViewCoverage, +} from "./analysisViewCoverage.js"; +import { javascriptModulePath } from "./javascriptApplicationView.js"; + +import { + inspectAnalysisViewInputSchema, projectAnalysisView, type AnalysisViewParent, } from "./analysisView.js"; -import { javascriptModulePath } from "./javascriptApplicationView.js"; - const layoutParent = (): AnalysisViewParent => { const evidence = analysisViewLayoutEvidence(); return { diff --git a/src/domain/analysisView/analysisView.ts b/src/domain/analysisView/analysisView.ts index de778f8949..c0d33a862a 100644 --- a/src/domain/analysisView/analysisView.ts +++ b/src/domain/analysisView/analysisView.ts @@ -202,11 +202,6 @@ export interface AnalysisViewParent { readonly limitations: readonly string[]; } -export { - completeWithinViewCoverage, - pageViewCoverage, -} from "./analysisViewCoverage.js"; - /** Construct a typed input failure for one selected-view constraint. */ export const analysisViewInputError = ( issues: readonly AnalysisInputIssue[], diff --git a/src/domain/analysisView/analysisViewCoverage.ts b/src/domain/analysisView/analysisViewCoverage.ts index 7f592a8827..30730a2c94 100644 --- a/src/domain/analysisView/analysisViewCoverage.ts +++ b/src/domain/analysisView/analysisViewCoverage.ts @@ -1,5 +1,4 @@ import type { AnalysisViewCoverage } from "./analysisView.js"; - /** Coverage for a summary, facet, or single selected object. */ export const completeWithinViewCoverage = ( examined: number, diff --git a/src/domain/apple/interfaceBuilderGraph.test.ts b/src/domain/apple/interfaceBuilderGraph.test.ts index 1fce2ab197..13d6f79fb9 100644 --- a/src/domain/apple/interfaceBuilderGraph.test.ts +++ b/src/domain/apple/interfaceBuilderGraph.test.ts @@ -4,8 +4,8 @@ import { buildBinary, parseBinary } from "plist"; import { buildInterfaceBuilderAnalysis, interfaceBuilderLimitsSchema, - parseInterfaceBuilderRecords, } from "./interfaceBuilderGraph.js"; +import { parseInterfaceBuilderRecords } from "./interfaceBuilderKeyedArchive.js"; const hash = "a".repeat(64); diff --git a/src/domain/apple/interfaceBuilderGraph.ts b/src/domain/apple/interfaceBuilderGraph.ts index bf21960317..17e94d584f 100644 --- a/src/domain/apple/interfaceBuilderGraph.ts +++ b/src/domain/apple/interfaceBuilderGraph.ts @@ -12,8 +12,6 @@ import { nativeInvestigationTraceLimitsSchema, } from "../native/nativeInvestigationGraph.js"; -export { parseInterfaceBuilderRecords } from "./interfaceBuilderKeyedArchive.js"; - /** One compiled Interface Builder document projected from ibtool output. */ export const interfaceBuilderDocumentSchema = z.strictObject({ relative_path: z.string().min(1), diff --git a/src/domain/binaryTarget.ts b/src/domain/binaryTarget.ts index 9c9a01a5ca..0e85a372e6 100644 --- a/src/domain/binaryTarget.ts +++ b/src/domain/binaryTarget.ts @@ -2,8 +2,6 @@ import type { BinaryArchitecture } from "./binaryTargetTypes.js"; import { err, ok, type Result } from "./result.js"; import { mzWindowsHeaderOffset, parseDosMzHeader } from "./dosMz.js"; -export type { BinaryArchitecture, BinaryTarget } from "./binaryTargetTypes.js"; - /** Format and architecture facts recovered from an executable header. */ export type ExecutableMetadata = | { diff --git a/src/domain/browserCaptureComparison.ts b/src/domain/browserCaptureComparison.ts index 222c916b39..aa50f45cd8 100644 --- a/src/domain/browserCaptureComparison.ts +++ b/src/domain/browserCaptureComparison.ts @@ -1,17 +1,17 @@ import { z } from "zod"; +import { compareBrowserScenarios } from "./browserScenarioDiff.js"; +import { compareWebCaptures } from "./webCaptureDiff.js"; import { browserScenarioDiffSchema, - compareBrowserScenarios, compareBrowserScenariosInputSchema, type BrowserScenarioDiff, -} from "./browserScenarioDiff.js"; +} from "./browserScenarioDiffValues.js"; import { - compareWebCaptures, compareWebCapturesInputSchema, webCaptureDiffSchema, type WebCaptureDiff, -} from "./webCaptureDiff.js"; +} from "./webCaptureDiffSchemas.js"; /** Mutually exclusive passive and scenario capture comparison inputs. */ export const browserCaptureComparisonInputSchema = z.union( diff --git a/src/domain/browserObservation.ts b/src/domain/browserObservation.ts index b64972a329..d32a2adc1a 100644 --- a/src/domain/browserObservation.ts +++ b/src/domain/browserObservation.ts @@ -1,12 +1,5 @@ import { z } from "zod"; -export { - browserTargetListSchema, - webPageInspectionSchema, - type BrowserTargetList, - type WebPageInspection, -} from "./browserObservationSchemas.js"; - const parseExactOrigin = (value: string): string | undefined => { let url: URL; try { diff --git a/src/domain/browserScenario.ts b/src/domain/browserScenario.ts index 27fc3287c1..2fd26b6a67 100644 --- a/src/domain/browserScenario.ts +++ b/src/domain/browserScenario.ts @@ -13,12 +13,6 @@ import { type BrowserScenarioValue, } from "./browserScenarioValues.js"; -export { - type BrowserScenarioAction, - type BrowserScenarioUrl, - type BrowserScenarioValue, -} from "./browserScenarioValues.js"; - export const browserScenarioInputSchema = z.strictObject({ browser: browserScenarioBrowserSchema.describe( "Required launch/connect selection. Launch uses the selected executable and an owned temporary profile; connect uses one loopback CDP endpoint and target.", diff --git a/src/domain/browserScenarioCapture.ts b/src/domain/browserScenarioCapture.ts index 87e2626def..8ad389588d 100644 --- a/src/domain/browserScenarioCapture.ts +++ b/src/domain/browserScenarioCapture.ts @@ -7,19 +7,6 @@ import { browserScenarioStepSchema, } from "./browserScenarioCaptureValues.js"; -export { - classifyBrowserScenarioCompleteness, - browserScenarioEventSchema, - browserScenarioStepSchema, - browserStepArtifactsSchema, - type BrowserScenarioCompleteness, - type BrowserScenarioCompletenessSection, - type BrowserScenarioEvent, - type BrowserScenarioStep, - type BrowserScenarioStepOutcome, - type BrowserStepArtifacts, -} from "./browserScenarioCaptureValues.js"; - /** Step-indexed browser scenario observation. */ export const browserScenarioCaptureSchema = z .strictObject({ diff --git a/src/domain/browserScenarioDiff.test.ts b/src/domain/browserScenarioDiff.test.ts index 557ffb8dc8..7b3824abba 100644 --- a/src/domain/browserScenarioDiff.test.ts +++ b/src/domain/browserScenarioDiff.test.ts @@ -2,11 +2,11 @@ import { createHash } from "node:crypto"; import { describe, expect, it } from "vitest"; +import { compareBrowserScenarios } from "./browserScenarioDiff.js"; import { - compareBrowserScenarios, compareBrowserScenariosInputSchema, browserScenarioDiffSchema, -} from "./browserScenarioDiff.js"; +} from "./browserScenarioDiffValues.js"; import { browserScenarioCaptureSchema, type BrowserScenarioCapture, diff --git a/src/domain/browserScenarioDiff.ts b/src/domain/browserScenarioDiff.ts index b465e386de..acfe3dd63f 100644 --- a/src/domain/browserScenarioDiff.ts +++ b/src/domain/browserScenarioDiff.ts @@ -1,7 +1,5 @@ -import { - type BrowserScenarioCapture, - type BrowserScenarioStep, -} from "./browserScenarioCapture.js"; +import type { BrowserScenarioCapture } from "./browserScenarioCapture.js"; +import type { BrowserScenarioStep } from "./browserScenarioCaptureValues.js"; import { actionState, artifactEvidenceState, @@ -27,13 +25,6 @@ import { digestNormalizedScenarioValue, } from "./browserScenarioNormalization.js"; -export { - browserScenarioDiffSchema, - compareBrowserScenariosInputSchema, - type BrowserScenarioDiff, - type CompareBrowserScenariosInput, -} from "./browserScenarioDiffValues.js"; - type ComparableArtifact = { readonly artifact: BrowserScenarioArtifactKind; } & ( diff --git a/src/domain/browserScenarioDiffEvidence.ts b/src/domain/browserScenarioDiffEvidence.ts index b1e2275f4f..015da4bff9 100644 --- a/src/domain/browserScenarioDiffEvidence.ts +++ b/src/domain/browserScenarioDiffEvidence.ts @@ -1,10 +1,10 @@ import type { - BrowserScenarioCapture, BrowserScenarioCompleteness, BrowserScenarioCompletenessSection, BrowserScenarioStep, BrowserStepArtifacts, -} from "./browserScenarioCapture.js"; +} from "./browserScenarioCaptureValues.js"; +import type { BrowserScenarioCapture } from "./browserScenarioCapture.js"; import type { BrowserScenarioArtifactKind, BrowserScenarioEvidenceState, diff --git a/src/domain/callPath.test.ts b/src/domain/callPath.test.ts index 433a1ac3aa..45c48ac3c0 100644 --- a/src/domain/callPath.test.ts +++ b/src/domain/callPath.test.ts @@ -1,11 +1,11 @@ import { describe, expect, it } from "vitest"; import { enhancedInputSchemas } from "../contracts/enhancedInputs.js"; +import { buildCallPath } from "./callPath.js"; import { - buildCallPath, callPathInputSchema, callPathResultSchema, -} from "./callPath.js"; +} from "./callPathSchemas.js"; import { createEvidence, type Evidence } from "./evidence.js"; import { functionDossierSchema } from "./hopperValues.js"; import { jsonValueSchema } from "./jsonValue.js"; diff --git a/src/domain/callPath.ts b/src/domain/callPath.ts index a981456077..68df8db685 100644 --- a/src/domain/callPath.ts +++ b/src/domain/callPath.ts @@ -11,9 +11,6 @@ import { type FunctionSnapshot, } from "./functionDossierEvidence.js"; -export { callPathInputSchema, callPathResultSchema }; -export type { CallPathInput, CallPathResult }; - /** Minimal directed caller-to-callee adjacency for call-path search. */ class CallGraph { private readonly successors = new Map>(); diff --git a/src/domain/changedBehavior.ts b/src/domain/changedBehavior.ts index 9ef188d2a6..3e1079fadb 100644 --- a/src/domain/changedBehavior.ts +++ b/src/domain/changedBehavior.ts @@ -4,7 +4,7 @@ import { artifactComparisonResultSchema } from "./artifactComparison.js"; import { uniqueSorted } from "./canonicalOrdering.js"; import { comparisonSourceEvidenceIds } from "./comparisonSourceEvidence.js"; import { evidenceSchema, parseEvidence, type Evidence } from "./evidence.js"; -import { functionComparisonResultSchema } from "./functionComparison.js"; +import { functionComparisonResultSchema } from "./functionComparisonSchemas.js"; import { PROCESS_PROVIDER, isProcessEvidenceProvider, @@ -14,7 +14,7 @@ import { deriveProcessComparisonStatus, PROCESS_COMPARISON_DIMENSIONS, processCaptureComparisonSchema, -} from "./process/processCapture.js"; +} from "./process/processComparison.js"; import { prefixedDigestSchema } from "./../domain/digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); diff --git a/src/domain/evidence.test.ts b/src/domain/evidence.test.ts index 710691d8d7..9a129d7b69 100644 --- a/src/domain/evidence.test.ts +++ b/src/domain/evidence.test.ts @@ -2,7 +2,7 @@ import { fc, it } from "@fast-check/vitest"; import { describe, expect } from "vitest"; import { createAnalysisProfile } from "./analysisProfile.js"; -import type { BinaryTarget } from "./binaryTarget.js"; +import type { BinaryTarget } from "./binaryTargetTypes.js"; import { createEvidence, evidenceSchema, parseEvidence } from "./evidence.js"; import { MAX_JSON_DEPTH, type JsonValue } from "./jsonValue.js"; import { createEvidenceBundle } from "./evidenceBundle.js"; diff --git a/src/domain/evidence.ts b/src/domain/evidence.ts index fe90126b95..70d3e8c90b 100644 --- a/src/domain/evidence.ts +++ b/src/domain/evidence.ts @@ -7,7 +7,7 @@ import { analysisProfileSchema, type AnalysisProfileCommitment, } from "./analysisProfile.js"; -import type { BinaryTarget } from "./binaryTarget.js"; +import type { BinaryTarget } from "./binaryTargetTypes.js"; import { jsonObjectSchema, jsonValueSchema, diff --git a/src/domain/functionComparison.test.ts b/src/domain/functionComparison.test.ts index d9b6b2f315..f7fbc258ae 100644 --- a/src/domain/functionComparison.test.ts +++ b/src/domain/functionComparison.test.ts @@ -2,16 +2,14 @@ import { describe, expect, it } from "vitest"; import { FUNCTION_COMPARISON_EXAMPLE } from "../contracts/functionComparisonExample.js"; import { enhancedInputSchemas } from "../contracts/enhancedInputs.js"; -import { - compareFunctions, - functionComparisonResultSchema, -} from "./functionComparison.js"; +import { functionComparisonResultSchema } from "./functionComparisonSchemas.js"; import { createEvidence, type Evidence } from "./evidence.js"; import { functionDossierSchema } from "./hopperValues.js"; import { canonicalDigest, canonicalJson } from "./comparisonSemantics.js"; import { compareCodePoints } from "./canonicalOrdering.js"; import { jsonValueSchema } from "./jsonValue.js"; +import { compareFunctions } from "./functionComparison.js"; const dossier = ( text: string, base: "0x1000" | "0x2000", diff --git a/src/domain/functionComparison.ts b/src/domain/functionComparison.ts index e494dd2fd3..ded6afeab0 100644 --- a/src/domain/functionComparison.ts +++ b/src/domain/functionComparison.ts @@ -8,11 +8,6 @@ import { import { overallStatus, summarize } from "./functionComparisonResults.js"; import { compareDimensions } from "./functionComparisonDimensions.js"; -export { - functionComparisonInputSchema, - functionComparisonResultSchema, -} from "./functionComparisonSchemas.js"; - /** Compare two complete function Evidence records without fuzzy matching. */ export const compareFunctions = ( leftInput: unknown, diff --git a/src/domain/javascript/electronStaticAnalysisIpc.ts b/src/domain/javascript/electronStaticAnalysisIpc.ts index 2a7998a46d..5221c26bd3 100644 --- a/src/domain/javascript/electronStaticAnalysisIpc.ts +++ b/src/domain/javascript/electronStaticAnalysisIpc.ts @@ -15,8 +15,8 @@ import { argumentNode, calleeName, range, - semanticStaticPropertyName, } from "./javascriptStaticAnalysisHelpers.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import type { JavaScriptFindingContext } from "./javascriptStaticAnalysisState.js"; /** Inspect Electron IPC operations and validation candidates. */ diff --git a/src/domain/javascript/electronStaticAnalysisNative.ts b/src/domain/javascript/electronStaticAnalysisNative.ts index 77353fe78c..541645c32f 100644 --- a/src/domain/javascript/electronStaticAnalysisNative.ts +++ b/src/domain/javascript/electronStaticAnalysisNative.ts @@ -7,11 +7,13 @@ import { addLocatedFinding } from "./javascriptStaticAnalysisFindings.js"; import { argumentNode, calleeName, - propertyName, range, - semanticStaticPropertyName, stringValue, } from "./javascriptStaticAnalysisHelpers.js"; +import { + propertyName, + semanticStaticPropertyName, +} from "./javascriptAstValues.js"; import type { JavaScriptFindingContext } from "./javascriptStaticAnalysisState.js"; interface NativeBindingInput { diff --git a/src/domain/javascript/javascriptApplicationChangeGraph.ts b/src/domain/javascript/javascriptApplicationChangeGraph.ts index c5b2d0d079..e21fb8b6ce 100644 --- a/src/domain/javascript/javascriptApplicationChangeGraph.ts +++ b/src/domain/javascript/javascriptApplicationChangeGraph.ts @@ -2,11 +2,13 @@ import { createJavaScriptApplicationEdge, createJavaScriptApplicationGraph, createJavaScriptApplicationNode, - type ApplicationEdge, - type ApplicationGraphEvidence, - type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; +import type { ApplicationGraphEvidence } from "./javascriptApplicationEvidenceSchemas.js"; import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ApplicationVersionComparisonItem } from "./javascriptApplicationVersionComparisonSchemas.js"; diff --git a/src/domain/javascript/javascriptApplicationGraph.fixture.ts b/src/domain/javascript/javascriptApplicationGraph.fixture.ts index 8fbfe2cb49..00f7c229ad 100644 --- a/src/domain/javascript/javascriptApplicationGraph.fixture.ts +++ b/src/domain/javascript/javascriptApplicationGraph.fixture.ts @@ -2,10 +2,10 @@ import { createJavaScriptApplicationEdge, createJavaScriptApplicationGraph, createJavaScriptApplicationNode, - type ApplicationGraphEvidence, - type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; +import type { ApplicationGraphEvidence } from "./javascriptApplicationEvidenceSchemas.js"; export const APPLICATION_GRAPH_DIGESTS = { package: "1".repeat(64), diff --git a/src/domain/javascript/javascriptApplicationGraph.ts b/src/domain/javascript/javascriptApplicationGraph.ts index 5f39648deb..56c39dfb6c 100644 --- a/src/domain/javascript/javascriptApplicationGraph.ts +++ b/src/domain/javascript/javascriptApplicationGraph.ts @@ -528,5 +528,3 @@ export const serializeJavaScriptApplicationGraph = (input: unknown): string => parseJavaScriptApplicationGraph(input), "JavaScript Application Graph", ); - -export type { ApplicationEdge, ApplicationGraphEvidence, ApplicationNode }; diff --git a/src/domain/javascript/javascriptApplicationVersionItems.ts b/src/domain/javascript/javascriptApplicationVersionItems.ts index a821357325..a7784c1956 100644 --- a/src/domain/javascript/javascriptApplicationVersionItems.ts +++ b/src/domain/javascript/javascriptApplicationVersionItems.ts @@ -5,11 +5,11 @@ import { } from "../comparisonSemantics.js"; import { compareCodePoints } from "../canonicalOrdering.js"; import type { Evidence } from "../evidence.js"; -import { - type ApplicationEdge, - type ApplicationNode, - type JavaScriptApplicationGraph, -} from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; +import type { JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; import type { ApplicationVersionComparisonItem } from "./javascriptApplicationVersionComparisonSchemas.js"; import type { ApplicationVersionMatchingProjection, diff --git a/src/domain/javascript/javascriptApplicationVersionKeys.ts b/src/domain/javascript/javascriptApplicationVersionKeys.ts index d997a87b20..e9536f3e00 100644 --- a/src/domain/javascript/javascriptApplicationVersionKeys.ts +++ b/src/domain/javascript/javascriptApplicationVersionKeys.ts @@ -1,6 +1,6 @@ import { canonicalJson } from "../comparisonSemantics.js"; import { compareCodePoints } from "../canonicalOrdering.js"; -import type { ApplicationNode } from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; import type { JsonValue } from "../jsonValue.js"; /** One deterministic one-to-one match between two graph versions. */ diff --git a/src/domain/javascript/javascriptExportShapeSelection.ts b/src/domain/javascript/javascriptExportShapeSelection.ts index 6a0ecc1206..22510f6170 100644 --- a/src/domain/javascript/javascriptExportShapeSelection.ts +++ b/src/domain/javascript/javascriptExportShapeSelection.ts @@ -1,7 +1,5 @@ -import type { - ApplicationNode, - JavaScriptApplicationGraph, -} from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; +import type { JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; import { projectedExportReturnShapesSchema, type JavaScriptExportShapeComparisonResult, diff --git a/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts b/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts index 15a6f84454..419cd19232 100644 --- a/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts +++ b/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts @@ -3,8 +3,8 @@ import { describe, expect, it } from "vitest"; import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, - type ApplicationNode, } from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; import { artifactEvidence, completeCoverage, diff --git a/src/domain/javascript/javascriptFeatureSeed.ts b/src/domain/javascript/javascriptFeatureSeed.ts index c0c13ee883..25d34add69 100644 --- a/src/domain/javascript/javascriptFeatureSeed.ts +++ b/src/domain/javascript/javascriptFeatureSeed.ts @@ -1,5 +1,5 @@ import { compareCodePoints } from "../canonicalOrdering.js"; -import type { ApplicationNode } from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; import { featureSeedMatchMode, type ApplicationFeatureSeed, diff --git a/src/domain/javascript/javascriptFeatureTrace.ts b/src/domain/javascript/javascriptFeatureTrace.ts index c10b2bd258..be492f9432 100644 --- a/src/domain/javascript/javascriptFeatureTrace.ts +++ b/src/domain/javascript/javascriptFeatureTrace.ts @@ -3,10 +3,12 @@ import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { Evidence } from "../evidence.js"; import { createJavaScriptApplicationGraph, - type ApplicationEdge, - type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; import { applicationFeatureTraceResultSchema, type ApplicationFeatureTraceResult, diff --git a/src/domain/javascript/javascriptFeatureTraversal.ts b/src/domain/javascript/javascriptFeatureTraversal.ts index 8935fe11ed..2f7b7c8914 100644 --- a/src/domain/javascript/javascriptFeatureTraversal.ts +++ b/src/domain/javascript/javascriptFeatureTraversal.ts @@ -1,8 +1,8 @@ -import { - type ApplicationEdge, - type ApplicationNode, - type JavaScriptApplicationGraph, -} from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; +import type { JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; import { compareCodePoints } from "../canonicalOrdering.js"; interface AdjacencyEntry { diff --git a/src/domain/javascript/javascriptNativeHandoff.ts b/src/domain/javascript/javascriptNativeHandoff.ts index 4ea7215667..69051254e1 100644 --- a/src/domain/javascript/javascriptNativeHandoff.ts +++ b/src/domain/javascript/javascriptNativeHandoff.ts @@ -3,7 +3,7 @@ import type { Evidence } from "../evidence.js"; import { type ApplicationEdge, type ApplicationNode, -} from "./javascriptApplicationGraph.js"; +} from "./javascriptApplicationGraphSchemas.js"; import type { ApplicationFeatureTraceResult } from "./javascriptFeatureTraceSchemas.js"; type NativeHandoff = ApplicationFeatureTraceResult["native_handoffs"][number]; diff --git a/src/domain/javascript/javascriptRuntimeLoadState.ts b/src/domain/javascript/javascriptRuntimeLoadState.ts index 5c9996871b..58cf9aeef0 100644 --- a/src/domain/javascript/javascriptRuntimeLoadState.ts +++ b/src/domain/javascript/javascriptRuntimeLoadState.ts @@ -1,4 +1,4 @@ -import { type ApplicationNode } from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; import { uniqueSorted } from "../canonicalOrdering.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; import type { diff --git a/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts b/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts index 32f16469df..1eb941ba72 100644 --- a/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts @@ -1,10 +1,12 @@ import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, - type ApplicationEdge, - type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; import type { ParsedRuntimeCapture, ParsedStaticLayer, diff --git a/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts b/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts index 4bc31c1c08..b94aa09550 100644 --- a/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts @@ -1,8 +1,6 @@ -import { - createJavaScriptApplicationEdge, - type ApplicationEdge, - type ApplicationGraphEvidence, -} from "./javascriptApplicationGraph.js"; +import { createJavaScriptApplicationEdge } from "./javascriptApplicationGraph.js"; +import type { ApplicationEdge } from "./javascriptApplicationGraphSchemas.js"; +import type { ApplicationGraphEvidence } from "./javascriptApplicationEvidenceSchemas.js"; import { canonicalDigest } from "../comparisonSemantics.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; import { compareCodePoints } from "../canonicalOrdering.js"; diff --git a/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts b/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts index d2c37b8ead..f8500e8920 100644 --- a/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts @@ -3,9 +3,11 @@ import { z } from "zod"; import { browserAllowedOriginsSchema, browserEndpointSchema, +} from "../browserObservation.js"; +import { webPageInspectionSchema, type WebPageInspection, -} from "../browserObservation.js"; +} from "../browserObservationSchemas.js"; import { classifyBrowserCompleteness, type BrowserCompleteness, diff --git a/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts b/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts index 64b7b5cb1a..925807eb1c 100644 --- a/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts @@ -2,10 +2,12 @@ import type { JsonValue } from "../jsonValue.js"; import { createJavaScriptApplicationEdge, createJavaScriptApplicationNode, - type ApplicationEdge, - type ApplicationGraphEvidence, - type ApplicationNode, } from "./javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "./javascriptApplicationGraphSchemas.js"; +import type { ApplicationGraphEvidence } from "./javascriptApplicationEvidenceSchemas.js"; import type { ParsedRuntimeCapture } from "./javascriptRuntimeReconciliationParsing.js"; export interface RuntimeReconciliationEntity { diff --git a/src/domain/javascript/javascriptRuntimeStaticCandidates.ts b/src/domain/javascript/javascriptRuntimeStaticCandidates.ts index cca3c2d77b..641f8c1e41 100644 --- a/src/domain/javascript/javascriptRuntimeStaticCandidates.ts +++ b/src/domain/javascript/javascriptRuntimeStaticCandidates.ts @@ -1,9 +1,7 @@ import { posix, relative, win32 } from "node:path"; -import { - type ApplicationNode, - type JavaScriptApplicationGraph, -} from "./javascriptApplicationGraph.js"; +import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; +import type { JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; import type { RuntimeReconciliationEntity } from "./javascriptRuntimeReconciliationRuntime.js"; diff --git a/src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts index 0c8495767c..c77700a252 100644 --- a/src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts +++ b/src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts @@ -12,7 +12,7 @@ import { collectJavaScriptExports, fingerprintJavaScriptAst, } from "./javascriptAstFingerprint.js"; -import type { JavaScriptSemanticValue } from "./javascriptSemanticIr.js"; +import type { JavaScriptSemanticValue } from "./javascriptSemanticValueTypes.js"; import { onlyCallable, topLevelBinding, diff --git a/src/domain/javascript/javascriptSemanticAsyncEffects.ts b/src/domain/javascript/javascriptSemanticAsyncEffects.ts index 07d4898907..f7914c20f7 100644 --- a/src/domain/javascript/javascriptSemanticAsyncEffects.ts +++ b/src/domain/javascript/javascriptSemanticAsyncEffects.ts @@ -7,10 +7,8 @@ import type { JavaScriptSemanticEventOperation, JavaScriptSemanticTimerOperation, } from "./javascriptSemanticIr.js"; -import { - semanticCallableIdForNode, - semanticStaticPropertyName, -} from "./javascriptSemanticProjection.js"; +import { semanticCallableIdForNode } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, semanticResolutionBlocked, diff --git a/src/domain/javascript/javascriptSemanticCalls.ts b/src/domain/javascript/javascriptSemanticCalls.ts index ca775e478a..2d5f94abd7 100644 --- a/src/domain/javascript/javascriptSemanticCalls.ts +++ b/src/domain/javascript/javascriptSemanticCalls.ts @@ -12,8 +12,8 @@ import type { import { semanticCallableIdForNode, semanticReferenceRole, - semanticStaticPropertyKey, } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyKey } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, isUnshadowedGlobal, diff --git a/src/domain/javascript/javascriptSemanticChildProcesses.ts b/src/domain/javascript/javascriptSemanticChildProcesses.ts index d470c55c72..2ce7c2fe54 100644 --- a/src/domain/javascript/javascriptSemanticChildProcesses.ts +++ b/src/domain/javascript/javascriptSemanticChildProcesses.ts @@ -7,10 +7,8 @@ import type { JavaScriptSemanticChildProcessInteraction, JavaScriptSemanticChildProcessSpawn, } from "./javascriptSemanticIr.js"; -import { - semanticCallableIdForNode, - semanticStaticPropertyName, -} from "./javascriptSemanticProjection.js"; +import { semanticCallableIdForNode } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, type JavaScriptSemanticAnalysisState, diff --git a/src/domain/javascript/javascriptSemanticDataEffects.ts b/src/domain/javascript/javascriptSemanticDataEffects.ts index 2819ea4bd3..e355d3ddb1 100644 --- a/src/domain/javascript/javascriptSemanticDataEffects.ts +++ b/src/domain/javascript/javascriptSemanticDataEffects.ts @@ -12,7 +12,7 @@ import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticStaticPropertyKey, semanticStaticPropertyName, -} from "./javascriptSemanticProjection.js"; +} from "./javascriptAstValues.js"; import { resolveSemanticBindingState, semanticResolutionBlocked, diff --git a/src/domain/javascript/javascriptSemanticGraph.ts b/src/domain/javascript/javascriptSemanticGraph.ts index fa26feb84a..a515b2685e 100644 --- a/src/domain/javascript/javascriptSemanticGraph.ts +++ b/src/domain/javascript/javascriptSemanticGraph.ts @@ -627,5 +627,3 @@ export const isValidatedImmutableJavaScriptSemanticGraph = ( typeof value === "object" && value !== null && validatedImmutableSemanticGraphs.has(value); - -export type { JavaScriptSemanticGraphNode, JavaScriptSemanticGraphRelation }; diff --git a/src/domain/javascript/javascriptSemanticGraphQuery.test.ts b/src/domain/javascript/javascriptSemanticGraphQuery.test.ts index e6c426f451..ba39bcf709 100644 --- a/src/domain/javascript/javascriptSemanticGraphQuery.test.ts +++ b/src/domain/javascript/javascriptSemanticGraphQuery.test.ts @@ -17,8 +17,8 @@ import { createImmutableJavaScriptSemanticGraphSteps, isValidatedImmutableJavaScriptSemanticGraph, type JavaScriptSemanticGraph, - type JavaScriptSemanticGraphNode, } from "./javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "./javascriptSemanticGraphSchemas.js"; import { parseJavaScriptSemanticGraph, serializeJavaScriptSemanticGraph, diff --git a/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts b/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts index be9e576757..532c1fe280 100644 --- a/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts +++ b/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts @@ -13,9 +13,11 @@ import { createJavaScriptSemanticGraphRelation, createJavaScriptSemanticGraphUnknown, type JavaScriptSemanticGraph, - type JavaScriptSemanticGraphNode, - type JavaScriptSemanticGraphRelation, } from "./javascriptSemanticGraph.js"; +import type { + JavaScriptSemanticGraphNode, + JavaScriptSemanticGraphRelation, +} from "./javascriptSemanticGraphSchemas.js"; import { queryJavaScriptSemanticGraph } from "./javascriptSemanticQuery.js"; import type { JsonValue } from "../jsonValue.js"; diff --git a/src/domain/javascript/javascriptSemanticIr.ts b/src/domain/javascript/javascriptSemanticIr.ts index 14ce12d124..16a137a197 100644 --- a/src/domain/javascript/javascriptSemanticIr.ts +++ b/src/domain/javascript/javascriptSemanticIr.ts @@ -5,13 +5,6 @@ import type { JavaScriptSemanticReturnCoverage, } from "./javascriptSemanticCoverage.js"; -export type { - JavaScriptSemanticPrimitive, - JavaScriptSemanticProperty, - JavaScriptSemanticResourceLimit, - JavaScriptSemanticValue, -} from "./javascriptSemanticValueTypes.js"; - /** One exact module origin followed through imports, requires, or aliases. */ export interface JavaScriptModuleOrigin { readonly specifier: string; diff --git a/src/domain/javascript/javascriptSemanticMutationValues.ts b/src/domain/javascript/javascriptSemanticMutationValues.ts index 46127f614b..6036bbd2b0 100644 --- a/src/domain/javascript/javascriptSemanticMutationValues.ts +++ b/src/domain/javascript/javascriptSemanticMutationValues.ts @@ -1,4 +1,4 @@ -import type { JavaScriptSemanticValue } from "./javascriptSemanticIr.js"; +import type { JavaScriptSemanticValue } from "./javascriptSemanticValueTypes.js"; /** Invalidate only slots that an explicit mutation can affect. */ export const invalidateSemanticMutationPath = ( diff --git a/src/domain/javascript/javascriptSemanticObjects.ts b/src/domain/javascript/javascriptSemanticObjects.ts index 3a8414776b..a7872efb02 100644 --- a/src/domain/javascript/javascriptSemanticObjects.ts +++ b/src/domain/javascript/javascriptSemanticObjects.ts @@ -7,8 +7,8 @@ import type { import { semanticCallableIdForNode, semanticReadsBeforeWrite, - semanticStaticPropertyKey, } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyKey } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, type JavaScriptSemanticAnalysisState, diff --git a/src/domain/javascript/javascriptSemanticPrimitives.ts b/src/domain/javascript/javascriptSemanticPrimitives.ts index e3a8b4875d..0223403d0b 100644 --- a/src/domain/javascript/javascriptSemanticPrimitives.ts +++ b/src/domain/javascript/javascriptSemanticPrimitives.ts @@ -1,25 +1,15 @@ -import * as t from "@babel/types"; - import type { JavaScriptSemanticPrimitive, JavaScriptSemanticValue, -} from "./javascriptSemanticIr.js"; +} from "./javascriptSemanticValueTypes.js"; import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticPrimitiveKey } from "./javascriptSemanticProvenance.js"; -import { readExactJavaScriptLiteral } from "./javascriptAstValues.js"; import { SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT, exceedsSemanticPrimitiveStringByteBudget, semanticResourceLimitUnknown, } from "./javascriptSemanticResourceLimits.js"; -/** - * Keep eight independent binary choices exact, while bounding the next - * exponential expansion before it allocates hundreds more alternatives. - */ -export const MAX_SEMANTIC_PRIMITIVE_CANDIDATES = - SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT; - /** Normalize one bounded collection of possible primitive values. */ export const semanticPrimitiveSet = ( values: readonly JavaScriptSemanticPrimitive[], @@ -32,7 +22,7 @@ export const semanticPrimitiveSet = ( reason: "Nonfinite numbers are outside the JSON primitive lattice.", }; uniqueValues.add(value); - if (uniqueValues.size > MAX_SEMANTIC_PRIMITIVE_CANDIDATES) + if (uniqueValues.size > SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT) return semanticResourceLimitUnknown("primitive-candidates"); } if ( @@ -62,12 +52,3 @@ export const semanticPrimitiveCandidates = ( : value.status === "union" ? value.values : null; - -/** Parse one Babel primitive literal without evaluating code. */ -export const semanticPrimitiveValue = ( - node: t.Node, -): - | { readonly found: true; readonly value: JavaScriptSemanticPrimitive } - | { readonly found: false } => { - return readExactJavaScriptLiteral(node); -}; diff --git a/src/domain/javascript/javascriptSemanticProjection.ts b/src/domain/javascript/javascriptSemanticProjection.ts index 740b9b0a75..1642a0a410 100644 --- a/src/domain/javascript/javascriptSemanticProjection.ts +++ b/src/domain/javascript/javascriptSemanticProjection.ts @@ -20,12 +20,11 @@ import { evaluateSemanticBinding, evaluateSemanticProvenance, } from "./javascriptSemanticValues.js"; +import { range, stringValue } from "./javascriptStaticAnalysisHelpers.js"; import { propertyName, - range, - stringValue, -} from "./javascriptStaticAnalysisHelpers.js"; -import { semanticStaticPropertyKey } from "./javascriptAstValues.js"; + semanticStaticPropertyKey, +} from "./javascriptAstValues.js"; interface CollectCallableInput { readonly node: t.Node; @@ -181,11 +180,6 @@ export const immutableSemanticBindings = ( })) .sort((left, right) => compareCodePoints(left.bindingId, right.bindingId)); -export { - semanticStaticPropertyKey, - semanticStaticPropertyName, -} from "./javascriptAstValues.js"; - const callableKind = ( node: t.Node, ): "function" | "class" | "method" | undefined => { diff --git a/src/domain/javascript/javascriptSemanticPromises.ts b/src/domain/javascript/javascriptSemanticPromises.ts index 31510e6c8d..96eca56b28 100644 --- a/src/domain/javascript/javascriptSemanticPromises.ts +++ b/src/domain/javascript/javascriptSemanticPromises.ts @@ -4,10 +4,8 @@ import type { JavaScriptSemanticCallable, JavaScriptSemanticPromiseOperation, } from "./javascriptSemanticIr.js"; -import { - semanticCallableIdForNode, - semanticStaticPropertyName, -} from "./javascriptSemanticProjection.js"; +import { semanticCallableIdForNode } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, semanticResolutionBlocked, diff --git a/src/domain/javascript/javascriptSemanticProvenance.ts b/src/domain/javascript/javascriptSemanticProvenance.ts index 0639c02622..69a4a29a8f 100644 --- a/src/domain/javascript/javascriptSemanticProvenance.ts +++ b/src/domain/javascript/javascriptSemanticProvenance.ts @@ -1,8 +1,8 @@ import type { JavaScriptBindingProvenance, JavaScriptModuleOrigin, - JavaScriptSemanticPrimitive, } from "./javascriptSemanticIr.js"; +import type { JavaScriptSemanticPrimitive } from "./javascriptSemanticValueTypes.js"; import { compareCodePoints } from "../canonicalOrdering.js"; /** Construct exact local provenance without inventing module origins. */ diff --git a/src/domain/javascript/javascriptSemanticQuery.ts b/src/domain/javascript/javascriptSemanticQuery.ts index 8f4ea146ef..4b1c58c46f 100644 --- a/src/domain/javascript/javascriptSemanticQuery.ts +++ b/src/domain/javascript/javascriptSemanticQuery.ts @@ -1,8 +1,8 @@ +import type { JavaScriptSemanticGraph } from "./javascriptSemanticGraph.js"; import type { - JavaScriptSemanticGraph, JavaScriptSemanticGraphNode, JavaScriptSemanticGraphRelation, -} from "./javascriptSemanticGraph.js"; +} from "./javascriptSemanticGraphSchemas.js"; import { compareCodePoints } from "../canonicalOrdering.js"; import type { JavaScriptSemanticGraphUnknown } from "./javascriptSemanticGraphSchemas.js"; import { isJavaScriptSemanticOwnershipRelation as ownershipRelation } from "./javascriptSemanticQueryRelations.js"; diff --git a/src/domain/javascript/javascriptSemanticQueryIdentity.ts b/src/domain/javascript/javascriptSemanticQueryIdentity.ts index d28ca84912..3876fe0a8a 100644 --- a/src/domain/javascript/javascriptSemanticQueryIdentity.ts +++ b/src/domain/javascript/javascriptSemanticQueryIdentity.ts @@ -2,10 +2,8 @@ import { createHash } from "node:crypto"; import canonicalize from "canonicalize"; -import type { - JavaScriptSemanticGraph, - JavaScriptSemanticGraphNode, -} from "./javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraph } from "./javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "./javascriptSemanticGraphSchemas.js"; import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { JavaScriptSemanticQueryInput } from "./javascriptSemanticQuerySchemas.js"; diff --git a/src/domain/javascript/javascriptSemanticQueryRelations.ts b/src/domain/javascript/javascriptSemanticQueryRelations.ts index 698ffa2a0a..30034d034d 100644 --- a/src/domain/javascript/javascriptSemanticQueryRelations.ts +++ b/src/domain/javascript/javascriptSemanticQueryRelations.ts @@ -1,4 +1,4 @@ -import type { JavaScriptSemanticGraphRelation } from "./javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphRelation } from "./javascriptSemanticGraphSchemas.js"; const OWNERSHIP_RELATIONS = new Set< JavaScriptSemanticGraphRelation["relation"] diff --git a/src/domain/javascript/javascriptSemanticResources.ts b/src/domain/javascript/javascriptSemanticResources.ts index b204aeb731..0a080fc90d 100644 --- a/src/domain/javascript/javascriptSemanticResources.ts +++ b/src/domain/javascript/javascriptSemanticResources.ts @@ -6,7 +6,7 @@ import type { JavaScriptSemanticCallable, JavaScriptSemanticResourceOperation, } from "./javascriptSemanticIr.js"; -import { semanticStaticPropertyName } from "./javascriptSemanticProjection.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import { resolveSemanticBindingState, type JavaScriptSemanticAnalysisState, diff --git a/src/domain/javascript/javascriptSemanticReturns.ts b/src/domain/javascript/javascriptSemanticReturns.ts index d9b84a24bc..119ec6bd89 100644 --- a/src/domain/javascript/javascriptSemanticReturns.ts +++ b/src/domain/javascript/javascriptSemanticReturns.ts @@ -9,8 +9,8 @@ import type { JavaScriptSemanticCallable, JavaScriptSemanticModuleLink, JavaScriptSemanticReturnSite, - JavaScriptSemanticValue, } from "./javascriptSemanticIr.js"; +import type { JavaScriptSemanticValue } from "./javascriptSemanticValueTypes.js"; import type { ProjectedPropertyCoverage, ProjectedReturnField, diff --git a/src/domain/javascript/javascriptStaticAnalysisCalls.ts b/src/domain/javascript/javascriptStaticAnalysisCalls.ts index e984f77bee..e7c8ee1827 100644 --- a/src/domain/javascript/javascriptStaticAnalysisCalls.ts +++ b/src/domain/javascript/javascriptStaticAnalysisCalls.ts @@ -11,7 +11,6 @@ import { calleeName, endpointArgument as endpointArgumentHelper, prefixedArgument, - semanticStaticPropertyName, range, rangeForOffsets, sourceSlice, @@ -20,6 +19,7 @@ import { storageKind, stringValue, } from "./javascriptStaticAnalysisHelpers.js"; +import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import type { JavaScriptAnalysisAccumulator as AnalysisAccumulator, JavaScriptEndpointInput as EndpointInput, diff --git a/src/domain/javascript/javascriptStaticAnalysisHelpers.ts b/src/domain/javascript/javascriptStaticAnalysisHelpers.ts index e1cc0e2e8a..28cd6e624a 100644 --- a/src/domain/javascript/javascriptStaticAnalysisHelpers.ts +++ b/src/domain/javascript/javascriptStaticAnalysisHelpers.ts @@ -17,11 +17,6 @@ import { } from "./javascriptAstValues.js"; import { compareCodePoints } from "../canonicalOrdering.js"; -export { - propertyName, - semanticStaticPropertyName, -} from "./javascriptAstValues.js"; - /** Explicit result for source text that Babel cannot parse. */ export const failedJavaScriptStaticAnalysis = (): JavaScriptStaticAnalysis => ({ parse_status: "failed", diff --git a/src/domain/managed/managedApplicationGraph.ts b/src/domain/managed/managedApplicationGraph.ts index 9074bc40cb..57e845bf02 100644 --- a/src/domain/managed/managedApplicationGraph.ts +++ b/src/domain/managed/managedApplicationGraph.ts @@ -7,9 +7,11 @@ import { evidenceSchema, type Evidence } from "../evidence.js"; import { createJavaScriptApplicationGraph, javascriptApplicationGraphSchema, - type ApplicationEdge, - type ApplicationNode, } from "../javascript/javascriptApplicationGraph.js"; +import type { + ApplicationEdge, + ApplicationNode, +} from "../javascript/javascriptApplicationGraphSchemas.js"; import { managedArtifactInspectionSchema, managedMemberInspectionSchema, diff --git a/src/domain/managed/managedApplicationGraphCoverage.ts b/src/domain/managed/managedApplicationGraphCoverage.ts index 612d389bcc..ebdc79c6a5 100644 --- a/src/domain/managed/managedApplicationGraphCoverage.ts +++ b/src/domain/managed/managedApplicationGraphCoverage.ts @@ -1,4 +1,4 @@ -import type { ApplicationGraphEvidence } from "../javascript/javascriptApplicationGraph.js"; +import type { ApplicationGraphEvidence } from "../javascript/javascriptApplicationEvidenceSchemas.js"; import type { ManagedArtifactInspection, ManagedMemberInspection, diff --git a/src/domain/managed/managedApplicationGraphNodes.ts b/src/domain/managed/managedApplicationGraphNodes.ts index 3704055d24..bd5a72dbac 100644 --- a/src/domain/managed/managedApplicationGraphNodes.ts +++ b/src/domain/managed/managedApplicationGraphNodes.ts @@ -2,9 +2,9 @@ import { basename } from "node:path"; import { createJavaScriptApplicationEdge, createJavaScriptApplicationNode, - type ApplicationGraphEvidence, - type ApplicationNode, } from "../javascript/javascriptApplicationGraph.js"; +import type { ApplicationGraphEvidence } from "../javascript/javascriptApplicationEvidenceSchemas.js"; +import type { ApplicationNode } from "../javascript/javascriptApplicationGraphSchemas.js"; import { managedSourceCoverage } from "./managedApplicationGraphCoverage.js"; import { type ManagedMemberInspection, diff --git a/src/domain/managed/managedMemberComparison.ts b/src/domain/managed/managedMemberComparison.ts index 9e78130f4e..5197c1755f 100644 --- a/src/domain/managed/managedMemberComparison.ts +++ b/src/domain/managed/managedMemberComparison.ts @@ -259,5 +259,3 @@ export const compareManagedMembers = ( } satisfies ManagedMemberComparisonResult; return managedMemberComparisonResultSchema.parse(result); }; - -export { parseManagedMemberEvidence } from "./managedMemberComparisonMatch.js"; diff --git a/src/domain/managed/managedNativeVerification.ts b/src/domain/managed/managedNativeVerification.ts index 0ba3cdef13..11924b21ed 100644 --- a/src/domain/managed/managedNativeVerification.ts +++ b/src/domain/managed/managedNativeVerification.ts @@ -20,13 +20,6 @@ import { verifyPinvoke, } from "./managedNativeVerificationMatch.js"; -export { - managedNativeVerificationInputSchema, - type ManagedNativeVerificationInput, - type ManagedNativeVerificationResult, -} from "./managedNativeVerificationSchemas.js"; -export { managedNativeVerificationResultSchema }; - const sha256 = (value: JsonValue): string => { const serialized = canonicalize(value); if (serialized === undefined) diff --git a/src/domain/process/processCapture.fixture.ts b/src/domain/process/processCapture.fixture.ts index eaca915aec..9ea29421af 100644 --- a/src/domain/process/processCapture.fixture.ts +++ b/src/domain/process/processCapture.fixture.ts @@ -1,13 +1,11 @@ +import { compareProcessCaptures } from "./processComparison.js"; +import { parseProcessCapture } from "./processCaptureParsing.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCaptureExample.js"; + import { - compareProcessCaptures, - parseProcessCapture, processCaptureSchema, type UnverifiedProcessCapture, } from "./processCapture.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCaptureExample.js"; - -export { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCaptureExample.js"; - /** Parse a detached valid empty capture for tests that need trusted evidence. */ export const emptyProcessCapture = () => parseProcessCapture(EMPTY_PROCESS_CAPTURE_EXAMPLE); diff --git a/src/domain/process/processCapture.ts b/src/domain/process/processCapture.ts index 414c97d4dc..044d6b54d5 100644 --- a/src/domain/process/processCapture.ts +++ b/src/domain/process/processCapture.ts @@ -8,8 +8,6 @@ import { type ProcessCaptureTruncationDetails, } from "./processCaptureCoverage.js"; -export * from "./processScenario.js"; - /** Normalized raw PTY chunk, preserving transport-level output differences. */ export interface TerminalFrame { readonly sequence: number; @@ -675,14 +673,3 @@ export const processCaptureSchema = processCaptureShapeSchema .describe( "The capture must preserve its canonical scenario, comparison, and normalization SHA-256 commitments; ordered capture timestamps and contiguous sequence numbers; before and final filesystem snapshots with truncation propagated; and exit-code consistency with deadline termination. The event journal is required; empty journals are valid. A non-empty journal must reference every captured observation exactly once with unique in-range references. These cross-field invariants are checked by REA after capture.", ); - -export { parseProcessCapture } from "./processCaptureParsing.js"; -export type { ProcessCapture } from "./processCaptureParsing.js"; - -export { - compareProcessCaptures, - comparisonStatusSchema, - deriveProcessComparisonStatus, - PROCESS_COMPARISON_DIMENSIONS, - processCaptureComparisonSchema, -} from "./processComparison.js"; diff --git a/src/domain/process/processCapture.validation.test.ts b/src/domain/process/processCapture.validation.test.ts index c2482bb454..80183aab70 100644 --- a/src/domain/process/processCapture.validation.test.ts +++ b/src/domain/process/processCapture.validation.test.ts @@ -1,9 +1,7 @@ import { expect, it } from "vitest"; -import { - digestProcessCommitment, - parseProcessCapture, -} from "./processCapture.js"; +import { digestProcessCommitment } from "./processScenario.js"; +import { parseProcessCapture } from "./processCaptureParsing.js"; import { compareUnverifiedProcessCaptures as compareProcessCaptures, emptyUnverifiedProcessCapture as emptyCapture, diff --git a/src/domain/process/processCaptureExample.ts b/src/domain/process/processCaptureExample.ts index 22df573eae..91098581c5 100644 --- a/src/domain/process/processCaptureExample.ts +++ b/src/domain/process/processCaptureExample.ts @@ -1,5 +1,5 @@ import type { JsonValue } from "../jsonValue.js"; -import { digestProcessCommitment } from "./processCapture.js"; +import { digestProcessCommitment } from "./processScenario.js"; const normalization = { paths: true, diff --git a/src/domain/process/processCaptureValidation.ts b/src/domain/process/processCaptureValidation.ts index a222a47a69..b8bc953d30 100644 --- a/src/domain/process/processCaptureValidation.ts +++ b/src/domain/process/processCaptureValidation.ts @@ -1,7 +1,7 @@ -import type { UnverifiedProcessCapture } from "./processCapture.js"; import { digestProcessCommitment } from "./processScenario.js"; import { hasCaptureTruncation } from "./processCaptureCoverage.js"; +import type { UnverifiedProcessCapture } from "./processCapture.js"; /** One pure semantic validation failure in a shaped process capture. */ export interface ProcessCaptureValidationIssue { readonly path: string; diff --git a/src/domain/process/processComparison.ts b/src/domain/process/processComparison.ts index f0edec0ff2..47264ef466 100644 --- a/src/domain/process/processComparison.ts +++ b/src/domain/process/processComparison.ts @@ -3,21 +3,21 @@ import { z } from "zod"; import { processSourceTruncated } from "./processCaptureCoverage.js"; import type { ProcessObservationSource } from "./processObservation.js"; -import type { ProcessCapture } from "./processCapture.js"; +import type { ProcessCapture } from "./processCaptureParsing.js"; import { comparableTerminalFrame } from "./processObservation.js"; import { AnalysisInputError } from "../analysisErrorCore.js"; import { jsonValueSchema } from "../jsonValue.js"; -import { - compareProcessTraces, - processTraceOutcomesDiffer, - processTraceComparisonResultSchema, - type ProcessTraceSpecification, -} from "./processTraceComparison.js"; +import { type ProcessTraceSpecification } from "./processTraceSpecification.js"; +import { processTraceComparisonResultSchema } from "./processTraceEvaluation.js"; import { dimensionsForTraceSources, traceCoversObservedDimension, } from "./processTraceDimensionProjection.js"; +import { + compareProcessTraces, + processTraceOutcomesDiffer, +} from "./processTraceComparison.js"; const OPERATION = "compare_process_captures"; /** Comparison classification that never equates incomplete evidence. */ diff --git a/src/domain/process/processTraceAdapters.test.ts b/src/domain/process/processTraceAdapters.test.ts index 26fd946b74..5589e40cb8 100644 --- a/src/domain/process/processTraceAdapters.test.ts +++ b/src/domain/process/processTraceAdapters.test.ts @@ -1,11 +1,9 @@ import { describe, expect, it } from "vitest"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCapture.fixture.js"; -import { - compareProcessCaptures, - parseProcessCapture, -} from "./processCapture.js"; -import type { ProcessTraceSpecification } from "./processTraceComparison.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCaptureExample.js"; +import { compareProcessCaptures } from "./processComparison.js"; +import { parseProcessCapture } from "./processCaptureParsing.js"; +import type { ProcessTraceSpecification } from "./processTraceSpecification.js"; const beforeCheckpoint = { name: "before", at_ms: 0, diff --git a/src/domain/process/processTraceComparison.fixture.ts b/src/domain/process/processTraceComparison.fixture.ts index d666941488..244045e1c4 100644 --- a/src/domain/process/processTraceComparison.fixture.ts +++ b/src/domain/process/processTraceComparison.fixture.ts @@ -1,6 +1,9 @@ -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCapture.fixture.js"; -import { parseProcessCapture, type ProcessCapture } from "./processCapture.js"; -import { type ProcessTraceSpecification } from "./processTraceComparison.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./processCaptureExample.js"; +import { + parseProcessCapture, + type ProcessCapture, +} from "./processCaptureParsing.js"; +import { type ProcessTraceSpecification } from "./processTraceSpecification.js"; export const emptyCapture = parseProcessCapture(EMPTY_PROCESS_CAPTURE_EXAMPLE); export const terminal = { sequence: 0, at_ms: 900, data: "Ready" }; diff --git a/src/domain/process/processTraceComparison.test.ts b/src/domain/process/processTraceComparison.test.ts index 321dd7afec..0dffc404d8 100644 --- a/src/domain/process/processTraceComparison.test.ts +++ b/src/domain/process/processTraceComparison.test.ts @@ -1,10 +1,7 @@ import { describe, expect, it } from "vitest"; -import { parseProcessCapture } from "./processCapture.js"; -import { - compareProcessTraces, - processTraceComparisonResultSchema, - type ProcessTraceSpecification, -} from "./processTraceComparison.js"; +import { parseProcessCapture } from "./processCaptureParsing.js"; +import { type ProcessTraceSpecification } from "./processTraceSpecification.js"; +import { processTraceComparisonResultSchema } from "./processTraceEvaluation.js"; import { capture, partialSpecification, @@ -13,6 +10,7 @@ import { values, } from "./processTraceComparison.fixture.js"; +import { compareProcessTraces } from "./processTraceComparison.js"; describe("generic capture trace comparison", () => { it("requires explicit partial ordering and never infers causality from timestamps", () => { const specification = partialSpecification(); diff --git a/src/domain/process/processTraceComparison.ts b/src/domain/process/processTraceComparison.ts index afd5fd134f..08a36a030b 100644 --- a/src/domain/process/processTraceComparison.ts +++ b/src/domain/process/processTraceComparison.ts @@ -1,4 +1,4 @@ -import type { ProcessCapture } from "./processCapture.js"; +import type { ProcessCapture } from "./processCaptureParsing.js"; import { evaluateProcessTraceSide, processTraceComparisonResultSchema, @@ -9,15 +9,6 @@ import { type ProcessTraceSpecification, } from "./processTraceSpecification.js"; -export { - processTraceComparisonResultSchema, - type ProcessTraceComparisonResult, -} from "./processTraceEvaluation.js"; -export { - processTraceSpecificationSchema, - type ProcessTraceSpecification, -} from "./processTraceSpecification.js"; - /** Compare two captures against an explicit finite trace language. */ export const compareProcessTraces = ( left: ProcessCapture, diff --git a/src/domain/process/processTraceDimensionProjection.ts b/src/domain/process/processTraceDimensionProjection.ts index 2344ae28f3..8e8208d0ab 100644 --- a/src/domain/process/processTraceDimensionProjection.ts +++ b/src/domain/process/processTraceDimensionProjection.ts @@ -1,5 +1,5 @@ -import type { ProcessCapture } from "./processCapture.js"; -import type { ProcessTraceSource } from "./processTraceSpecification.js"; +import type { ProcessCapture } from "./processCaptureParsing.js"; +import type { ProcessObservationSource } from "./processObservation.js"; export type ProcessComparisonDimension = | "terminal" @@ -8,9 +8,9 @@ export type ProcessComparisonDimension = | "filesystem" | "process"; -/** Map declared trace sources to legacy process-comparison dimensions. */ +/** Map declared trace sources to process-comparison dimensions. */ export const dimensionsForTraceSources = ( - sources: ReadonlySet, + sources: ReadonlySet, ): ReadonlySet => { const dimensions = new Set(); for (const source of sources) { @@ -26,7 +26,7 @@ export const dimensionsForTraceSources = ( /** Whether a trace specification covers every observed source in a dimension. */ export const traceCoversObservedDimension = ( dimension: ProcessComparisonDimension, - sources: ReadonlySet, + sources: ReadonlySet, left: ProcessCapture, right: ProcessCapture, ): boolean => { diff --git a/src/domain/process/processTraceEvaluation.ts b/src/domain/process/processTraceEvaluation.ts index 3a65b3284b..be0406680f 100644 --- a/src/domain/process/processTraceEvaluation.ts +++ b/src/domain/process/processTraceEvaluation.ts @@ -1,30 +1,26 @@ import { z } from "zod"; import type { JsonValue } from "../jsonValue.js"; -import type { ProcessCapture } from "./processCapture.js"; +import type { ProcessCapture } from "./processCaptureParsing.js"; import { processSourceTruncated } from "./processCaptureCoverage.js"; import { processObservationLocationSchema, projectProcessObservation, type ProcessObservationLocation, + type ProcessObservationSource, } from "./processObservation.js"; import { canonicalTraceJson, comparableTracePayload, processTraceCardinalityBounds, - type ProcessTraceSource, type ProcessTraceSpecification, } from "./processTraceSpecification.js"; const identifierSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._\x2d]{0,63}$/u); -export type ProcessTraceLocation = ProcessObservationLocation; - -const locationSchema = processObservationLocationSchema; - const matchedEventSchema = z.strictObject({ event_id: identifierSchema, - location: locationSchema, + location: processObservationLocationSchema, }); const sideResultShape = { @@ -58,7 +54,7 @@ const diagnosticSchema = z.strictObject({ side: z.enum(["left", "right"]), message: z.string(), event_ids: z.array(identifierSchema), - locations: z.array(locationSchema), + locations: z.array(processObservationLocationSchema), }); /** Structured verdict for one declared process trace language. */ @@ -73,13 +69,13 @@ export type ProcessTraceComparisonResult = z.infer< >; type TraceRecord = { - readonly source: ProcessTraceSource; + readonly source: ProcessObservationSource; readonly payload: JsonValue; - readonly location: ProcessTraceLocation; + readonly location: ProcessObservationLocation; }; const scopesFor = ( - sources: ReadonlySet, + sources: ReadonlySet, ): ReadonlySet => new Set( [...sources].map((source) => { @@ -109,7 +105,7 @@ type FailureInput = { readonly kind: z.infer["kind"]; readonly message: string; readonly eventIds: readonly string[]; - readonly locations: readonly ProcessTraceLocation[]; + readonly locations: readonly ProcessObservationLocation[]; readonly rawTrace: z.infer[]; }; @@ -155,12 +151,12 @@ const evaluateFiniteTrace = ( type MatchedTrace = { readonly rawTrace: z.infer[]; - readonly locationsById: ReadonlyMap; + readonly locationsById: ReadonlyMap; }; const collectRecords = ( capture: ProcessCapture, - sources: ReadonlySet, + sources: ReadonlySet, ): readonly TraceRecord[] => { const records: TraceRecord[] = []; for (const location of capture.event_journal) { @@ -180,9 +176,9 @@ const matchRecords = ( specification: ProcessTraceSpecification, ): MatchedTrace | EvaluatedSide => { const rawTrace: z.infer[] = []; - const locationsById = new Map(); + const locationsById = new Map(); const ignoredFieldsBySource = new Map< - ProcessTraceSource, + ProcessObservationSource, readonly string[] >(); const eventsByKey = new Map< diff --git a/src/domain/process/processTraceSpecification.test.ts b/src/domain/process/processTraceSpecification.test.ts index 89a1f62c08..2c76413321 100644 --- a/src/domain/process/processTraceSpecification.test.ts +++ b/src/domain/process/processTraceSpecification.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest"; import { processTraceSpecificationSchema, type ProcessTraceSpecification, -} from "./processTraceComparison.js"; +} from "./processTraceSpecification.js"; const ready = { sequence: 0, at_ms: 10, data: "ready" }; const worker = { diff --git a/src/domain/process/processTraceSpecification.ts b/src/domain/process/processTraceSpecification.ts index 79e78c0c11..ba3139572e 100644 --- a/src/domain/process/processTraceSpecification.ts +++ b/src/domain/process/processTraceSpecification.ts @@ -12,10 +12,6 @@ import { const identifierSchema = z.string().regex(IDENTIFIER_PATTERN); -/** Process observation families admitted by a declared trace specification. */ -export const processTraceSourceSchema = processObservationSourceSchema; -export type ProcessTraceSource = ProcessObservationSource; - const cardinalitySchema = z.discriminatedUnion("kind", [ z.strictObject({ kind: z.literal("required") }), z.strictObject({ kind: z.literal("optional") }), @@ -37,7 +33,7 @@ const cardinalitySchema = z.discriminatedUnion("kind", [ const eventDeclarationSchema = z.strictObject({ id: identifierSchema, - source: processTraceSourceSchema, + source: processObservationSourceSchema, exact: jsonValueSchema, ignore_fields: z .array( diff --git a/src/domain/reconstructionVerification.functionSources.test.ts b/src/domain/reconstructionVerification.functionSources.test.ts index af3f88594b..8816a5d48b 100644 --- a/src/domain/reconstructionVerification.functionSources.test.ts +++ b/src/domain/reconstructionVerification.functionSources.test.ts @@ -9,16 +9,16 @@ import { type EvidenceSubjectTarget, } from "./evidence.js"; import { createEvidenceBundle, parseEvidenceBundle } from "./evidenceBundle.js"; -import { compareFunctions } from "./functionComparison.js"; import { functionDossierSchema } from "./hopperValues.js"; import { jsonObjectSchema, jsonValueSchema, type JsonValue, } from "./jsonValue.js"; -import { verifyReconstruction } from "./reconstructionVerification.js"; import { createResidualUnknown } from "./residualUnknown.js"; +import { compareFunctions } from "./functionComparison.js"; +import { verifyReconstruction } from "./reconstructionVerification.js"; const dossier = jsonValueSchema.parse( functionDossierSchema.parse({ procedure: { diff --git a/src/domain/reconstructionVerification.test.ts b/src/domain/reconstructionVerification.test.ts index 3122868fc7..664438d853 100644 --- a/src/domain/reconstructionVerification.test.ts +++ b/src/domain/reconstructionVerification.test.ts @@ -2,16 +2,14 @@ import { describe, expect, it } from "vitest"; import { createEvidence, type Evidence } from "./evidence.js"; import { createEvidenceBundle } from "./evidenceBundle.js"; -import { - reconstructionVerificationResultSchema, - verifyReconstruction, -} from "./reconstructionVerification.js"; +import { reconstructionVerificationResultSchema } from "./reconstructionVerificationSchemas.js"; import type { JsonValue } from "./jsonValue.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./process/processCapture.fixture.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "./process/processCaptureExample.js"; import { reconstructionSpecificationSchema } from "./reconstructionVerificationSchemas.js"; import { ARTIFACT_COMPARISON_EXAMPLE } from "../contracts/artifactComparisonExample.js"; import { createResidualUnknown } from "./residualUnknown.js"; +import { verifyReconstruction } from "./reconstructionVerification.js"; const environment = { id: "fixture-linux", platform: "linux", diff --git a/src/domain/reconstructionVerification.ts b/src/domain/reconstructionVerification.ts index c010c7d409..2b4172bbde 100644 --- a/src/domain/reconstructionVerification.ts +++ b/src/domain/reconstructionVerification.ts @@ -9,7 +9,7 @@ import { uniqueSorted } from "./canonicalOrdering.js"; import { comparisonSourceEvidenceSides } from "./comparisonSourceEvidence.js"; import { parseEvidence, type Evidence } from "./evidence.js"; import { parseEvidenceBundle } from "./evidenceBundle.js"; -import { functionComparisonResultSchema } from "./functionComparison.js"; +import { functionComparisonResultSchema } from "./functionComparisonSchemas.js"; import { PROCESS_PROVIDER, isProcessEvidenceProvider, @@ -19,8 +19,8 @@ import { deriveProcessComparisonStatus, PROCESS_COMPARISON_DIMENSIONS, processCaptureComparisonSchema, - parseProcessCapture, -} from "./process/processCapture.js"; +} from "./process/processComparison.js"; +import { parseProcessCapture } from "./process/processCaptureParsing.js"; import { reconstructionClaimResultSchema, reconstructionSpecificationSchema, @@ -37,12 +37,6 @@ import { } from "./reconstructionUnknowns.js"; import type { ResidualUnknown } from "./residualUnknown.js"; -export { - reconstructionVerificationInputSchema, - reconstructionVerificationResultSchema, -} from "./reconstructionVerificationSchemas.js"; -export type { ReconstructionVerificationResult } from "./reconstructionVerificationSchemas.js"; - const providers = { behavioral: { operation: "compare_process_captures", diff --git a/src/domain/staticRuntimeCorrelation.ts b/src/domain/staticRuntimeCorrelation.ts index 91c0afa1de..ff7705d573 100644 --- a/src/domain/staticRuntimeCorrelation.ts +++ b/src/domain/staticRuntimeCorrelation.ts @@ -7,7 +7,7 @@ import { artifactComparisonResultSchema } from "./artifactComparison.js"; import { uniqueSorted } from "./canonicalOrdering.js"; import { comparisonSourceEvidenceIds } from "./comparisonSourceEvidence.js"; import { evidenceSchema, parseEvidence, type Evidence } from "./evidence.js"; -import { functionComparisonResultSchema } from "./functionComparison.js"; +import { functionComparisonResultSchema } from "./functionComparisonSchemas.js"; import { PROCESS_PROVIDER, isProcessEvidenceProvider, @@ -16,7 +16,7 @@ import type { JsonValue } from "./jsonValue.js"; import { comparisonStatusSchema, processCaptureComparisonSchema, -} from "./process/processCapture.js"; +} from "./process/processComparison.js"; import { PROCESS_COMPARISON_DIMENSIONS } from "./process/processComparison.js"; import { prefixedDigestSchema } from "./../domain/digests.js"; diff --git a/src/domain/webBundleAnalyzer.test.ts b/src/domain/webBundleAnalyzer.test.ts index 3fc0f6dc83..896359e944 100644 --- a/src/domain/webBundleAnalyzer.test.ts +++ b/src/domain/webBundleAnalyzer.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { webPageInspectionSchema } from "./browserObservation.js"; +import { webPageInspectionSchema } from "./browserObservationSchemas.js"; import { analyzeJavaScriptStaticSource } from "./javascript/javascriptStaticAnalysis.js"; import { analyzeCapturedWebBundle } from "./webBundleAnalyzer.js"; import { webBundleAnalysisSchema } from "./webBundleAnalysis.js"; diff --git a/src/domain/webBundleAnalyzer.ts b/src/domain/webBundleAnalyzer.ts index bdbff02494..ddc4dc80d1 100644 --- a/src/domain/webBundleAnalyzer.ts +++ b/src/domain/webBundleAnalyzer.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "./browserObservation.js"; +import type { WebPageInspection } from "./browserObservationSchemas.js"; import { analyzeScript, emptyAccumulator, diff --git a/src/domain/webBundleAnalyzerInspection.ts b/src/domain/webBundleAnalyzerInspection.ts index 5c5f2b698e..157345c946 100644 --- a/src/domain/webBundleAnalyzerInspection.ts +++ b/src/domain/webBundleAnalyzerInspection.ts @@ -2,7 +2,7 @@ import { parse } from "@babel/parser"; import * as t from "@babel/types"; import { sanitizeEndpointCandidate } from "./browserObservation.js"; -import type { WebPageInspection } from "./browserObservation.js"; +import type { WebPageInspection } from "./browserObservationSchemas.js"; import type { WebBundleAnalysis } from "./webBundleAnalysis.js"; import { traverseJavaScriptAst } from "./javascript/javascriptSemanticTraversal.js"; import { classifyParsedJavaScriptOpenReceivers } from "./javascript/javascriptSemanticAnalysis.js"; diff --git a/src/domain/webBundleAnalyzerResult.ts b/src/domain/webBundleAnalyzerResult.ts index ceeda79866..1e08f0f11a 100644 --- a/src/domain/webBundleAnalyzerResult.ts +++ b/src/domain/webBundleAnalyzerResult.ts @@ -1,4 +1,4 @@ -import type { WebPageInspection } from "./browserObservation.js"; +import type { WebPageInspection } from "./browserObservationSchemas.js"; import { webBundleAnalysisSchema, type WebBundleAnalysis, diff --git a/src/domain/webCaptureDiff.ts b/src/domain/webCaptureDiff.ts index 23e9bd6c64..6f666f163d 100644 --- a/src/domain/webCaptureDiff.ts +++ b/src/domain/webCaptureDiff.ts @@ -1,5 +1,5 @@ import { canonicalDigest } from "./comparisonSemantics.js"; -import type { WebPageInspection } from "./browserObservation.js"; +import type { WebPageInspection } from "./browserObservationSchemas.js"; import { webCaptureDiffSchema, type CompareWebCapturesInput, @@ -9,12 +9,6 @@ import { } from "./webCaptureDiffSchemas.js"; import type { WebMcpDiscovery } from "./webMcpDiscovery.js"; -export { - compareWebCapturesInputSchema, - webCaptureDiffSchema, -} from "./webCaptureDiffSchemas.js"; -export type { CompareWebCapturesInput, WebCaptureDiff }; - type Dimension = WebCaptureDimension; type Change = WebCaptureChange; diff --git a/src/domain/webCaptureDiffSchemas.ts b/src/domain/webCaptureDiffSchemas.ts index 6323385ae7..b60827cb3d 100644 --- a/src/domain/webCaptureDiffSchemas.ts +++ b/src/domain/webCaptureDiffSchemas.ts @@ -1,7 +1,7 @@ import { z } from "zod"; import { emptyArraySchema } from "./emptyArraySchema.js"; -import { webPageInspectionSchema } from "./browserObservation.js"; +import { webPageInspectionSchema } from "./browserObservationSchemas.js"; import { webMcpDiscoverySchema } from "./webMcpDiscovery.js"; /** One normalized passive page snapshot accepted by capture comparison. */ diff --git a/src/domain/webEventListeners.ts b/src/domain/webEventListeners.ts index 2c8b92888b..111c043d84 100644 --- a/src/domain/webEventListeners.ts +++ b/src/domain/webEventListeners.ts @@ -1,11 +1,11 @@ import { z } from "zod"; import { - webRuntimeBrowserSchema, webRuntimeLocationSchema, webRuntimeScopeSchema, webRuntimeSourceSchema, webRuntimeTargetSchema, } from "./webRuntime.js"; +import { browserVersionSchema } from "./browserObservationSchemas.js"; /** Inspect listeners registered directly on the first main-document CSS match. */ export const inspectWebEventListenersInputSchema = webRuntimeScopeSchema.extend( @@ -19,7 +19,7 @@ export type InspectWebEventListenersInput = z.infer< /** A listener declaration and its source location do not establish that it ran. */ export const webEventListenersSchema = z.object({ - browser: webRuntimeBrowserSchema, + browser: browserVersionSchema, target: webRuntimeTargetSchema, inspected_at: z.iso.datetime(), selected_node: z.object({ diff --git a/src/domain/webExecution.ts b/src/domain/webExecution.ts index b271ec1782..b1344e390f 100644 --- a/src/domain/webExecution.ts +++ b/src/domain/webExecution.ts @@ -1,12 +1,12 @@ import { z } from "zod"; import { jsonObjectSchema } from "./jsonValue.js"; import { - webRuntimeBrowserSchema, webRuntimeLocationSchema, webRuntimeScopeSchema, webRuntimeSourceSchema, webRuntimeTargetSchema, } from "./webRuntime.js"; +import { browserVersionSchema } from "./browserObservationSchemas.js"; /** Explicit instrumentation request for one finite, externally driven execution window. */ export const observeWebExecutionInputSchema = webRuntimeScopeSchema.extend({ @@ -30,7 +30,7 @@ const functionSchema = z.object({ /** Precise V8 ranges retain their nested structure and counts without summing them. */ export const webExecutionSchema = z.object({ - browser: webRuntimeBrowserSchema, + browser: browserVersionSchema, target: webRuntimeTargetSchema, window: z.object({ armed_at: z.iso.datetime(), diff --git a/src/domain/webRuntime.ts b/src/domain/webRuntime.ts index c731731217..289d523250 100644 --- a/src/domain/webRuntime.ts +++ b/src/domain/webRuntime.ts @@ -86,9 +86,6 @@ export const webRuntimeTargetSchema = z.object({ loader_id: z.string().nullable(), }); -/** Producer product identity is observed separately from the unknown host platform. */ -export const webRuntimeBrowserSchema = browserVersionSchema; - /** Complete runtime evidence has explicit byte budgets rather than silent item truncation. */ export const WEB_RUNTIME_LIMITS = { protocolBytes: 64 * 1024 * 1024, diff --git a/src/dotnet/ManagedArtifactInspector.ts b/src/dotnet/ManagedArtifactInspector.ts index 27f18af908..cae5e7e685 100644 --- a/src/dotnet/ManagedArtifactInspector.ts +++ b/src/dotnet/ManagedArtifactInspector.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { managedArtifactInspectionSchema, type ManagedArtifactInspection, diff --git a/src/dotnet/ManagedMemberInspector.ts b/src/dotnet/ManagedMemberInspector.ts index 5ca3906147..dd124b2700 100644 --- a/src/dotnet/ManagedMemberInspector.ts +++ b/src/dotnet/ManagedMemberInspector.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { managedMemberInspectionSchema, type ManagedMemberInspection, diff --git a/src/dotnet/ManagedNativeBoundaryHelpers.ts b/src/dotnet/ManagedNativeBoundaryHelpers.ts index 7f0bf54819..26db5ea527 100644 --- a/src/dotnet/ManagedNativeBoundaryHelpers.ts +++ b/src/dotnet/ManagedNativeBoundaryHelpers.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { managedNativeBoundaryInspectionSchema, type ManagedNativeBoundaryInspection, diff --git a/src/dotnet/ManagedNativeBoundaryInspector.ts b/src/dotnet/ManagedNativeBoundaryInspector.ts index e6ddc15fcc..17a4e9906a 100644 --- a/src/dotnet/ManagedNativeBoundaryInspector.ts +++ b/src/dotnet/ManagedNativeBoundaryInspector.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { managedNativeBoundaryInspectionSchema, type ManagedNativeBoundaryInspection, diff --git a/src/dotnet/ManagedPe.fixture.ts b/src/dotnet/ManagedPe.fixture.ts index 05d035ab63..b7056fd4ef 100644 --- a/src/dotnet/ManagedPe.fixture.ts +++ b/src/dotnet/ManagedPe.fixture.ts @@ -1,6 +1,6 @@ import { createHash } from "node:crypto"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; interface ManagedPeFixtureOptions { readonly cliFlags?: number; diff --git a/src/dotnet/ManagedStaticProvider.ts b/src/dotnet/ManagedStaticProvider.ts index d3b2706a15..60c75b8f9a 100644 --- a/src/dotnet/ManagedStaticProvider.ts +++ b/src/dotnet/ManagedStaticProvider.ts @@ -17,13 +17,11 @@ import { } from "./ManagedStaticProviderMetadata.js"; import { MANAGED_TOOL_CONTRACTS, - managedArtifactInputSchema, - managedMemberInputSchema, - managedNativeBoundaryInputSchema, + managedTargetInputSchema, type ManagedToolName, } from "../contracts/managed/managedToolContracts.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisCancelledError, AnalysisCapabilityUnavailableError, @@ -189,15 +187,13 @@ const inspectManagedOperation = ( | ManagedArtifactInspection | ManagedMemberInspection | ManagedNativeBoundaryInspection => { + managedTargetInputSchema.parse(parameters); if (operation === "inspect_managed_artifact") { - managedArtifactInputSchema.parse(parameters); return inspectManagedArtifactBytes(bytes, target); } if (operation === "inspect_managed_native_boundaries") { - managedNativeBoundaryInputSchema.parse(parameters); return inspectManagedNativeBoundariesBytes(bytes, target); } - managedMemberInputSchema.parse(parameters); return inspectManagedMembersBytes(bytes, target); }; diff --git a/src/evaluation/AgentEvaluationFixtures.ts b/src/evaluation/AgentEvaluationFixtures.ts index 1c62c47a87..b7ef17efed 100644 --- a/src/evaluation/AgentEvaluationFixtures.ts +++ b/src/evaluation/AgentEvaluationFixtures.ts @@ -6,7 +6,7 @@ import { createPackage } from "@electron/asar"; import type { JsonValue } from "../domain/jsonValue.js"; import { javascriptApplicationAnalysisResultSchema } from "../domain/javascript/javascriptApplicationAnalysis.js"; -import type { ApplicationNode } from "../domain/javascript/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../domain/javascript/javascriptApplicationGraphSchemas.js"; import { javaScriptExportShapeComparisonResultSchema } from "../domain/javascript/javascriptExportShapeComparisonSchemas.js"; import type { FixtureClaimExpectation } from "./KnownAnswerEvaluation.js"; diff --git a/src/ghidra/GhidraAnalysisProfile.ts b/src/ghidra/GhidraAnalysisProfile.ts index 3c52d9de43..1af7469fa0 100644 --- a/src/ghidra/GhidraAnalysisProfile.ts +++ b/src/ghidra/GhidraAnalysisProfile.ts @@ -3,7 +3,7 @@ import type { ProviderIdentity, } from "../application/AnalysisProvider.js"; import { createAnalysisProfile } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import { type AnalysisError } from "../domain/analysisErrorBase.js"; diff --git a/src/ghidra/GhidraClient.ts b/src/ghidra/GhidraClient.ts index 5442586c84..7d72315907 100644 --- a/src/ghidra/GhidraClient.ts +++ b/src/ghidra/GhidraClient.ts @@ -6,7 +6,8 @@ import { AnalysisError } from "../domain/analysisErrorBase.js"; import type { JsonValue } from "../domain/jsonValue.js"; import { ProviderCleanupError } from "../domain/providerCleanupError.js"; import { err, ok, type Result } from "../domain/result.js"; -import { silentLogger, type Logger } from "../logger.js"; +import { silentLogger } from "../logger.js"; +import type { Logger } from "pino"; import { PendingOperations } from "../process/PendingOperations.js"; import { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; import { ProviderStartupDeadline } from "../process/ProviderDeadline.js"; @@ -51,13 +52,6 @@ import { completeGhidraStartupHandshake } from "./GhidraClientStartup.js"; const SHUTDOWN_TIMEOUT_MS = 10_000; const SESSION_ROOT = tmpdir(); -export type { - GhidraClientOptions, - GhidraDiagnostic, - GhidraRequestOptions, - GhidraStartResult, -} from "./GhidraClientTypes.js"; - /** Closed Java-bridge operation union callable after the exact handshake. */ export type GhidraOperation = | GhidraInventoryOperation diff --git a/src/ghidra/GhidraClientTypes.ts b/src/ghidra/GhidraClientTypes.ts index c5ad6c0413..14c87331c4 100644 --- a/src/ghidra/GhidraClientTypes.ts +++ b/src/ghidra/GhidraClientTypes.ts @@ -1,4 +1,4 @@ -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { Result } from "../domain/result.js"; import type { GhidraLauncher } from "./GhidraLauncher.js"; import type { GhidraSessionError } from "./GhidraSessionError.js"; diff --git a/src/ghidra/GhidraClientWire.ts b/src/ghidra/GhidraClientWire.ts index 6366be3878..77d0781a3c 100644 --- a/src/ghidra/GhidraClientWire.ts +++ b/src/ghidra/GhidraClientWire.ts @@ -2,7 +2,7 @@ import type { Socket } from "node:net"; import type { JsonValue } from "../domain/jsonValue.js"; import { err, type Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { PendingOperations } from "../process/PendingOperations.js"; import type { GhidraRequestOptions } from "./GhidraClientTypes.js"; import type { diff --git a/src/ghidra/GhidraInstallation.test.ts b/src/ghidra/GhidraInstallation.test.ts index 793ea66586..d81447c8d5 100644 --- a/src/ghidra/GhidraInstallation.test.ts +++ b/src/ghidra/GhidraInstallation.test.ts @@ -4,11 +4,13 @@ import { projectGhidraDoctorInspection } from "./GhidraDoctor.js"; import { ghidraJavaEnvironment, inspectGhidraInstallation, - SUPPORTED_GHIDRA_JAVA_MAJOR, - SUPPORTED_GHIDRA_VERSION, type GhidraInstallationHost, type GhidraJavaObservation, } from "./GhidraInstallation.js"; +import { + SUPPORTED_GHIDRA_JAVA_MAJOR, + SUPPORTED_GHIDRA_VERSION, +} from "./GhidraInstallationPolicy.js"; const INSTALL = "/opt/ghidra"; const PROPERTIES = `${INSTALL}/Ghidra/application.properties`; diff --git a/src/ghidra/GhidraInstallation.ts b/src/ghidra/GhidraInstallation.ts index ad24b42bc0..c01d8d475b 100644 --- a/src/ghidra/GhidraInstallation.ts +++ b/src/ghidra/GhidraInstallation.ts @@ -21,8 +21,6 @@ import { type GhidraJavaRequirement, } from "./GhidraInstallationPolicy.js"; -export { SUPPORTED_GHIDRA_JAVA_MAJOR, SUPPORTED_GHIDRA_VERSION }; - const NATIVE_PLATFORMS: Readonly< Partial< Record< diff --git a/src/ghidra/GhidraLoadImageAttest.ts b/src/ghidra/GhidraLoadImageAttest.ts index 3a8048b6fa..dd7aef6556 100644 --- a/src/ghidra/GhidraLoadImageAttest.ts +++ b/src/ghidra/GhidraLoadImageAttest.ts @@ -1,5 +1,5 @@ import type { AnalysisOperation } from "../application/AnalysisProvider.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; import { diff --git a/src/ghidra/GhidraProvider.behavior.test.ts b/src/ghidra/GhidraProvider.behavior.test.ts index 21d254a563..7bbbc8c89d 100644 --- a/src/ghidra/GhidraProvider.behavior.test.ts +++ b/src/ghidra/GhidraProvider.behavior.test.ts @@ -11,13 +11,11 @@ import { describe, expect, it } from "vitest"; import { fixtureDosLoadImage } from "./GhidraLoadImage.fixture.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; -import { parseConfig } from "../config.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import { parseConfig } from "../config/parseConfig.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { parseExecutableHeader } from "../domain/binaryTarget.js"; -import { - GhidraProvider, - type GhidraProviderClientFactory, -} from "./GhidraProvider.js"; +import { GhidraProvider } from "./GhidraProvider.js"; +import type { GhidraProviderClientFactory } from "./GhidraProviderClient.js"; import type { GhidraInstallationHost } from "./GhidraInstallation.js"; import { GHIDRA_SESSION_CAPABILITIES } from "./GhidraSessionValues.js"; import { err, ok } from "../domain/result.js"; diff --git a/src/ghidra/GhidraProvider.ts b/src/ghidra/GhidraProvider.ts index e40d60c858..d657a156e3 100644 --- a/src/ghidra/GhidraProvider.ts +++ b/src/ghidra/GhidraProvider.ts @@ -9,19 +9,19 @@ import { type ProviderIdentity, type ProviderTargetSupport, } from "../application/AnalysisProvider.js"; -import type { AppConfig } from "../config.js"; +import type { AppConfig } from "../config/types.js"; import { createAnalysisProfile, type AnalysisProfileCommitment, } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { jsonObjectSchema, jsonValueSchema, type JsonValue, } from "../domain/jsonValue.js"; import { ok } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { GhidraClient } from "./GhidraClient.js"; import { ghidraInstallationDiagnostics, @@ -47,9 +47,6 @@ import { windowsNativeCapabilities, } from "../process/WindowsAuthority.js"; -export { GHIDRA_PROVIDER_IDENTITY, GHIDRA_OPERATIONS }; -export type { GhidraProviderClientFactory }; - const SUPPORTED_ARCHITECTURES = new Set(["x86", "x86_64", "arm", "arm64"]); /** Ghidra candidate backed by an isolated ephemeral headless import. */ diff --git a/src/ghidra/GhidraProviderClient.ts b/src/ghidra/GhidraProviderClient.ts index 2121ce6417..bd4015ac1a 100644 --- a/src/ghidra/GhidraProviderClient.ts +++ b/src/ghidra/GhidraProviderClient.ts @@ -7,9 +7,9 @@ import { type AnalysisClientContext, type AnalysisOperation, } from "../application/AnalysisProvider.js"; -import type { AppConfig } from "../config.js"; +import type { AppConfig } from "../config/types.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisCancelledError, AnalysisArtifactChangedError, @@ -22,7 +22,7 @@ import { import { type AnalysisError } from "../domain/analysisErrorBase.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import { err, ok, type Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { GhidraClient } from "./GhidraClient.js"; import type { GhidraClientOptions } from "./GhidraClientTypes.js"; import { diff --git a/src/ghidra/GhidraSnapshotCache.test.ts b/src/ghidra/GhidraSnapshotCache.test.ts index c9bd65c815..19f903ea4c 100644 --- a/src/ghidra/GhidraSnapshotCache.test.ts +++ b/src/ghidra/GhidraSnapshotCache.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from "vitest"; import { createTestBinarySession } from "../../tests/fixtures/binarySession.js"; -import { parseConfig } from "../config.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import { parseConfig } from "../config/parseConfig.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { functionDossierSchema } from "../domain/hopperValues.js"; import { ghidraFunctionDossier } from "../domain/ghidraValues.fixture.js"; import { err, ok } from "../domain/result.js"; diff --git a/src/ghidra/extensions/GhidraExtensions.test.ts b/src/ghidra/extensions/GhidraExtensions.test.ts index 98ea117b8e..72bd6cf3d9 100644 --- a/src/ghidra/extensions/GhidraExtensions.test.ts +++ b/src/ghidra/extensions/GhidraExtensions.test.ts @@ -6,9 +6,9 @@ import { mkdtemp, open, readFile, rm, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { afterEach, describe, expect, it } from "vitest"; -import { parseConfig } from "../../config.js"; +import { parseConfig } from "../../config/parseConfig.js"; import { projectAnalysisError } from "../../domain/analysisErrorProjection.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { ghidraExtensionSchema, resolveGhidraExtensions, diff --git a/src/ghidra/extensions/GhidraExtensions.ts b/src/ghidra/extensions/GhidraExtensions.ts index 3ca328638e..11740a75fd 100644 --- a/src/ghidra/extensions/GhidraExtensions.ts +++ b/src/ghidra/extensions/GhidraExtensions.ts @@ -3,8 +3,8 @@ import { constants } from "node:fs"; import { open, realpath, writeFile, mkdir } from "node:fs/promises"; import { isAbsolute, join } from "node:path"; import { z } from "zod"; -import type { AppConfig } from "../../config.js"; -import type { BinaryTarget } from "../../domain/binaryTarget.js"; +import type { AppConfig } from "../../config/types.js"; +import type { BinaryTarget } from "../../domain/binaryTargetTypes.js"; import { AnalysisCancelledError, AnalysisCapabilityUnavailableError, diff --git a/src/hopper/HopperAnalysisProfile.ts b/src/hopper/HopperAnalysisProfile.ts index 4b6bcefbab..74fc29a683 100644 --- a/src/hopper/HopperAnalysisProfile.ts +++ b/src/hopper/HopperAnalysisProfile.ts @@ -6,10 +6,8 @@ import type { ProviderIdentity, } from "../application/AnalysisProvider.js"; import { createAnalysisProfile } from "../domain/analysisProfile.js"; -import type { - BinaryArchitecture, - BinaryTarget, -} from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; +import type { BinaryArchitecture } from "../domain/binaryTargetTypes.js"; import { AnalysisCancelledError, AnalysisCapabilityUnavailableError, diff --git a/src/hopper/HopperCleanup.ts b/src/hopper/HopperCleanup.ts index 2bb1f3bdfc..d3c79dc266 100644 --- a/src/hopper/HopperCleanup.ts +++ b/src/hopper/HopperCleanup.ts @@ -8,7 +8,7 @@ import { HopperProcessError } from "../domain/hopperErrors.js"; import type { JsonValue } from "../domain/jsonValue.js"; import { ProviderCleanupError } from "../domain/providerCleanupError.js"; import { err, ok, type Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; import type { ProcessCleanupResult } from "../process/ProcessOwnership.js"; import type { ProviderProcessSupervisor } from "../process/ProviderProcess.js"; diff --git a/src/hopper/HopperClient.ts b/src/hopper/HopperClient.ts index 6fc552aba6..345076969c 100644 --- a/src/hopper/HopperClient.ts +++ b/src/hopper/HopperClient.ts @@ -31,7 +31,8 @@ import { import { err, ok, type Result } from "../domain/result.js"; import type { JsonValue } from "../domain/jsonValue.js"; import type { ProgressReporter } from "../application/ProgressReporter.js"; -import { silentLogger, type Logger } from "../logger.js"; +import { silentLogger } from "../logger.js"; +import type { Logger } from "pino"; import { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; import { ProviderStartupDeadline } from "../process/ProviderDeadline.js"; import { ProviderRunLineage } from "../process/ProviderRunLineage.js"; @@ -63,8 +64,6 @@ import { responseResult, } from "./protocol.js"; -export type { HopperServerInfo } from "./HopperSessionValues.js"; - const SHUTDOWN_TIMEOUT_MS = 30_000; const SESSION_ROOT = process.platform === "darwin" ? "/tmp" : tmpdir(); diff --git a/src/hopper/HopperFileOffset.ts b/src/hopper/HopperFileOffset.ts index 3856dbccdd..dc1a8121f1 100644 --- a/src/hopper/HopperFileOffset.ts +++ b/src/hopper/HopperFileOffset.ts @@ -12,7 +12,7 @@ import { AnalysisOutputError, } from "../domain/analysisErrorCore.js"; import { BinaryTargetError } from "../domain/configurationErrors.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { JsonValue } from "../domain/jsonValue.js"; import type { FileOffsetPartialObservation } from "../domain/native/fileOffsetPartialObservation.js"; import { diff --git a/src/hopper/HopperMachOImage.ts b/src/hopper/HopperMachOImage.ts index 1ba69861f4..b7e06df439 100644 --- a/src/hopper/HopperMachOImage.ts +++ b/src/hopper/HopperMachOImage.ts @@ -2,7 +2,7 @@ import { createHash } from "node:crypto"; import { open, type FileHandle } from "node:fs/promises"; import { z } from "zod"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { BinaryTargetError } from "../domain/configurationErrors.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; import { diff --git a/src/hopper/HopperProvider.test.ts b/src/hopper/HopperProvider.test.ts index c42a7254a3..3265b26c5e 100644 --- a/src/hopper/HopperProvider.test.ts +++ b/src/hopper/HopperProvider.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { parseConfig } from "../config.js"; +import { parseConfig } from "../config/parseConfig.js"; import { silentLogger } from "../logger.js"; import { HopperProvider } from "./HopperProvider.js"; diff --git a/src/hopper/HopperProvider.ts b/src/hopper/HopperProvider.ts index 4b3281295c..5b1da0ba9b 100644 --- a/src/hopper/HopperProvider.ts +++ b/src/hopper/HopperProvider.ts @@ -14,9 +14,9 @@ import type { ProviderTargetSupport, } from "../application/AnalysisProvider.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; -import type { AppConfig } from "../config.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; -import type { Logger } from "../logger.js"; +import type { AppConfig } from "../config/types.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; +import type { Logger } from "pino"; import { AnalysisCapabilityUnavailableError } from "../domain/analysisErrorCore.js"; import { err, ok } from "../domain/result.js"; import { HopperApplicationLauncher } from "./BridgeLauncher.js"; @@ -34,13 +34,6 @@ import { HOPPER_PROVIDER_IDENTITY, } from "./HopperProviderCapabilities.js"; -export { - HOPPER_PROVIDER_IDENTITY, - HOPPER_OPERATIONS, -} from "./HopperProviderCapabilities.js"; - -const IDENTITY = HOPPER_PROVIDER_IDENTITY; - /** Concrete analysis provider backed by REA's private Hopper bridge. */ export class HopperProvider implements AnalysisProviderCandidate { private readonly environment: Readonly; @@ -61,7 +54,7 @@ export class HopperProvider implements AnalysisProviderCandidate { } identity(): ProviderIdentity { - return IDENTITY; + return HOPPER_PROVIDER_IDENTITY; } capabilities(): readonly CapabilityDescriptor[] { @@ -143,7 +136,7 @@ export class HopperProvider implements AnalysisProviderCandidate { return resolveHopperAnalysisProfile(target, { launcherPath: this.config.hopperLauncherPath, loaderArgsOverride: this.config.hopperLoaderArgs, - provider: IDENTITY, + provider: HOPPER_PROVIDER_IDENTITY, ...(options?.signal === undefined ? {} : { signal: options.signal }), }); } @@ -159,7 +152,7 @@ export class HopperProvider implements AnalysisProviderCandidate { Promise.resolve( err( new AnalysisCapabilityUnavailableError( - IDENTITY.id, + HOPPER_PROVIDER_IDENTITY.id, operation, `Hopper cannot open ${target.kind} targets directly. Inventory or extract the artifact first.`, ), @@ -178,7 +171,7 @@ export class HopperProvider implements AnalysisProviderCandidate { Promise.resolve( err( new AnalysisCapabilityUnavailableError( - IDENTITY.id, + HOPPER_PROVIDER_IDENTITY.id, operation, "Hopper prepared-image profile is malformed; resolve the analysis profile again.", ), @@ -202,7 +195,7 @@ export class HopperProvider implements AnalysisProviderCandidate { execute: () => Promise.resolve(err(derivedLoaderArgs.error)), close: () => Promise.resolve(ok(null)), }; - const executionProvider = profile?.provider ?? IDENTITY; + const executionProvider = profile?.provider ?? HOPPER_PROVIDER_IDENTITY; const client = new HopperClient({ launcher: new HopperApplicationLauncher({ environment: this.environment, diff --git a/src/hopper/HopperProviderDiscovery.test.ts b/src/hopper/HopperProviderDiscovery.test.ts index ce5221a849..65088c5c08 100644 --- a/src/hopper/HopperProviderDiscovery.test.ts +++ b/src/hopper/HopperProviderDiscovery.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; -import { parseConfig } from "../config.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import { parseConfig } from "../config/parseConfig.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { silentLogger } from "../logger.js"; import { HopperProvider } from "./HopperProvider.js"; diff --git a/src/ida/IdaProvider.ts b/src/ida/IdaProvider.ts index 289f398e6b..8213c79918 100644 --- a/src/ida/IdaProvider.ts +++ b/src/ida/IdaProvider.ts @@ -1,7 +1,7 @@ import { snapshotEnvironment } from "../process/snapshotEnvironment.js"; import { createAnalysisProfile } from "../domain/analysisProfile.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { err, ok } from "../domain/result.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; import type { @@ -11,7 +11,7 @@ import type { ProviderAvailability, ProviderTargetSupport, } from "../application/AnalysisProvider.js"; -import type { AppConfig } from "../config.js"; +import type { AppConfig } from "../config/types.js"; import type { ConfigurationError } from "../domain/configurationErrors.js"; import { createHash } from "node:crypto"; import canonicalize from "canonicalize"; @@ -32,8 +32,6 @@ import { import { IdaSessionClient } from "./IdaSessionClient.js"; import { privateRuntimeRootCapability } from "../process/PrivateRuntimeRoot.js"; -export { IDA_PROVIDER_IDENTITY } from "./IdaProviderCapabilities.js"; - /** Bring-your-own IDA MCP candidate; discovery performs no provider startup. */ export class IdaProvider implements AnalysisProviderCandidate { #registration: Result | undefined; diff --git a/src/ida/IdaSessionClient.ts b/src/ida/IdaSessionClient.ts index 8fabf8f260..5fac9e18ec 100644 --- a/src/ida/IdaSessionClient.ts +++ b/src/ida/IdaSessionClient.ts @@ -14,7 +14,7 @@ import { } from "../domain/analysisErrorCore.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; import { err, ok, type Result } from "../domain/result.js"; diff --git a/src/ida/IdaWorkspace.ts b/src/ida/IdaWorkspace.ts index 4df7ce75c5..38e0c5d461 100644 --- a/src/ida/IdaWorkspace.ts +++ b/src/ida/IdaWorkspace.ts @@ -3,7 +3,7 @@ import { createReadStream, constants } from "node:fs"; import { copyFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { basename, join, normalize } from "node:path"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisProtocolError } from "../domain/analysisErrorCore.js"; import { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; diff --git a/src/ida/IdaWorkspaceOwnership.test.ts b/src/ida/IdaWorkspaceOwnership.test.ts index 4e38f99fb3..b416b7ab04 100644 --- a/src/ida/IdaWorkspaceOwnership.test.ts +++ b/src/ida/IdaWorkspaceOwnership.test.ts @@ -4,7 +4,7 @@ import { createIdaTarget, RecordingIdaMcp, } from "../../tests/fixtures/idaMcp.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { IdaSessionClient } from "./IdaSessionClient.js"; const roots: string[] = []; diff --git a/src/inspector/V8InspectorProvider.ts b/src/inspector/V8InspectorProvider.ts index 9c3736711c..d7a56b4c9e 100644 --- a/src/inspector/V8InspectorProvider.ts +++ b/src/inspector/V8InspectorProvider.ts @@ -40,8 +40,6 @@ import { type V8InspectorTarget, } from "./V8InspectorEndpoint.js"; -/** Public identity committed by passive V8 Inspector observations. */ -export { V8_INSPECTOR_PROVIDER_IDENTITY } from "./providerIdentity.js"; import { V8_INSPECTOR_PROVIDER_IDENTITY } from "./providerIdentity.js"; /** Maximum decoded CDP message accepted while observing one Inspector target. */ diff --git a/src/javascript/sourceMaps/SourceMapDecoder.ts b/src/javascript/sourceMaps/SourceMapDecoder.ts index 1b5f7eaf32..7c49d5fa97 100644 --- a/src/javascript/sourceMaps/SourceMapDecoder.ts +++ b/src/javascript/sourceMaps/SourceMapDecoder.ts @@ -21,7 +21,6 @@ import { runSourceMapCommand, type SourceMapDecoderDependencies, } from "./SourceMapCommand.js"; -export type { SourceMapDecoderDependencies } from "./SourceMapCommand.js"; const OPERATION = "trace_web_source_location"; /** Integrate the pinned upstream codec through an independently bounded owned process. */ diff --git a/src/logger.ts b/src/logger.ts index 323c880aa3..e43c7f97cc 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -24,5 +24,3 @@ export const createLogger = (mode: "mcp" | "cli", level: LogLevel): Logger => /** Logger used by embedders that have not opted into process output. */ export const silentLogger = pino({ level: "silent" }); - -export type { Logger }; diff --git a/src/main.ts b/src/main.ts index 2028409ca2..40c241b471 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,7 +6,7 @@ import { realpathSync } from "node:fs"; import { serveStdio } from "@modelcontextprotocol/server/stdio"; -import { parseConfig } from "./config.js"; +import { parseConfig } from "./config/parseConfig.js"; import { createBinarySession } from "./composition/binary.js"; import { createLogger } from "./logger.js"; import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; diff --git a/src/main/shutdown.ts b/src/main/shutdown.ts index c17aab0b3b..fac2571abc 100644 --- a/src/main/shutdown.ts +++ b/src/main/shutdown.ts @@ -1,7 +1,7 @@ import type { StdioServerHandle } from "@modelcontextprotocol/server/stdio"; import type { BinarySession } from "../application/binary/BinarySession.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { JsonValue } from "../domain/jsonValue.js"; diff --git a/src/main/startup.ts b/src/main/startup.ts index 20e1a1014c..d71ff19cc7 100644 --- a/src/main/startup.ts +++ b/src/main/startup.ts @@ -1,6 +1,6 @@ import type { BinarySession } from "../application/binary/BinarySession.js"; -import type { AppConfig } from "../config.js"; -import type { Logger } from "../logger.js"; +import type { AppConfig } from "../config/types.js"; +import type { Logger } from "pino"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; export const openInitialTarget = async ( diff --git a/src/main/transport.ts b/src/main/transport.ts index 47393b87a2..c4a921b911 100644 --- a/src/main/transport.ts +++ b/src/main/transport.ts @@ -3,7 +3,7 @@ import type { AndroidAnalysisPort } from "../application/android/AndroidAnalysis import type { StdioServerHandle } from "@modelcontextprotocol/server/stdio"; import type { BinarySession } from "../application/binary/BinarySession.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { createServer } from "../server/createServer.js"; import type { ToolResultDelivery } from "../server/toolResult.js"; import type { RuntimeDependencies } from "./types.js"; diff --git a/src/native/AppleDispatchMetadata.ts b/src/native/AppleDispatchMetadata.ts index 530dd9eb85..1ff2668075 100644 --- a/src/native/AppleDispatchMetadata.ts +++ b/src/native/AppleDispatchMetadata.ts @@ -6,7 +6,7 @@ import { nativeDispatchMetadataResultSchema, type ObjcSwiftMetadata, } from "../domain/native/objcSwiftMetadata.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; import { EvidenceIntegrityError } from "../domain/evidenceErrors.js"; import { pushDispatchCoverage } from "./AppleDispatchCoverage.js"; diff --git a/src/native/NativeCallObservation.ts b/src/native/NativeCallObservation.ts index 03e1e8d83d..b9ad41620b 100644 --- a/src/native/NativeCallObservation.ts +++ b/src/native/NativeCallObservation.ts @@ -7,7 +7,7 @@ import { AnalysisInputError, } from "../domain/analysisErrorCore.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { EvidenceIntegrityError } from "../domain/evidenceErrors.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import type { JsonValue } from "../domain/jsonValue.js"; diff --git a/src/native/NativeMacOSProvider.ts b/src/native/NativeMacOSProvider.ts index 2bfd174af8..c73cd7605a 100644 --- a/src/native/NativeMacOSProvider.ts +++ b/src/native/NativeMacOSProvider.ts @@ -24,7 +24,7 @@ import { NATIVE_TOOL_CONTRACTS, type NativeToolName, } from "../contracts/native/nativeToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { toolContract } from "../contracts/toolContracts.js"; import { analysisInputErrorFromIssues } from "../domain/inputIssueProjection.js"; import type { EvidenceLocation } from "../domain/evidence.js"; diff --git a/src/native/NativeMachoInspection.ts b/src/native/NativeMachoInspection.ts index eb1c6c8de8..417b43fef5 100644 --- a/src/native/NativeMachoInspection.ts +++ b/src/native/NativeMachoInspection.ts @@ -1,4 +1,4 @@ -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { EvidenceLocation } from "../domain/evidence.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import { diff --git a/src/native/NativeUiObservation.test.ts b/src/native/NativeUiObservation.test.ts index 275f9c0f93..4d1093826c 100644 --- a/src/native/NativeUiObservation.test.ts +++ b/src/native/NativeUiObservation.test.ts @@ -2,7 +2,7 @@ import { createHash } from "node:crypto"; import { describe, expect, it } from "vitest"; import { observeNativeUi } from "./NativeUiObservation.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; const target: BinaryTarget = { path: "/fixture/App", diff --git a/src/native/NativeUiObservation.ts b/src/native/NativeUiObservation.ts index c353ba44f5..73d301042d 100644 --- a/src/native/NativeUiObservation.ts +++ b/src/native/NativeUiObservation.ts @@ -1,6 +1,6 @@ import { fileURLToPath } from "node:url"; import { z } from "zod"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { nativeUiObservationInputSchema, nativeUiScenarioInputSchema, diff --git a/src/native/SignatureTargetBinding.ts b/src/native/SignatureTargetBinding.ts index e0f52e1f9d..ac94a5f067 100644 --- a/src/native/SignatureTargetBinding.ts +++ b/src/native/SignatureTargetBinding.ts @@ -3,7 +3,7 @@ import { constants, type BigIntStats } from "node:fs"; import { lstat, mkdtemp, open, rm, type FileHandle } from "node:fs/promises"; import { tmpdir } from "node:os"; import { basename, join } from "node:path"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { AnalysisAccessDeniedError, diff --git a/src/process/capture/FilesystemCoverage.test.ts b/src/process/capture/FilesystemCoverage.test.ts index 790e82f19e..ee8de9fac8 100644 --- a/src/process/capture/FilesystemCoverage.test.ts +++ b/src/process/capture/FilesystemCoverage.test.ts @@ -1,7 +1,7 @@ import { mkdir, readFile, rm, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { expect, it } from "vitest"; -import { parseProcessScenario } from "../../domain/process/processCapture.js"; +import { parseProcessScenario } from "../../domain/process/processScenario.js"; import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; import { snapshotRoots } from "./FilesystemSnapshot.js"; import { classifyFilesystemEffects } from "./ProcessFilesystemEffects.js"; diff --git a/src/process/capture/FilesystemSnapshot.ts b/src/process/capture/FilesystemSnapshot.ts index d8fc9bf5ee..f5b775bb09 100644 --- a/src/process/capture/FilesystemSnapshot.ts +++ b/src/process/capture/FilesystemSnapshot.ts @@ -2,13 +2,11 @@ import { createHash } from "node:crypto"; import { constants as fsConstants } from "node:fs"; import { lstat, open, readdir, readlink } from "node:fs/promises"; import { dirname, join, relative, resolve } from "node:path"; -import type { - FileState, - ProcessScenario, -} from "../../domain/process/processCapture.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; import type { Stats } from "node:fs"; import type { FilesystemCoverage } from "../../domain/process/processCaptureCoverage.js"; +import type { FileState } from "../../domain/process/processCapture.js"; export interface SnapshotResult { readonly files: readonly FileState[]; readonly truncated: boolean; diff --git a/src/process/capture/ProcessCaptureEnvironment.ts b/src/process/capture/ProcessCaptureEnvironment.ts index af4d592f6b..92892d47b1 100644 --- a/src/process/capture/ProcessCaptureEnvironment.ts +++ b/src/process/capture/ProcessCaptureEnvironment.ts @@ -1,4 +1,4 @@ -import type { ProcessScenario } from "../../domain/process/processCapture.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; interface ProcessCaptureEnvironmentOptions { readonly scenario: ProcessScenario; diff --git a/src/process/capture/ProcessCaptureJournal.ts b/src/process/capture/ProcessCaptureJournal.ts index 027d193c47..b8a0874d9b 100644 --- a/src/process/capture/ProcessCaptureJournal.ts +++ b/src/process/capture/ProcessCaptureJournal.ts @@ -1,11 +1,6 @@ import type { IPty } from "@lydell/node-pty"; -import type { - InteractionEvent, - ProcessCaptureEventJournalEntry, - ProcessScenario, - RecordProcessCaptureEvent, -} from "../../domain/process/processCapture.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; import { normalizeProcessElapsedTime, normalizeProcessText, @@ -13,6 +8,11 @@ import { import type { TerminalRenderer } from "./TerminalRenderer.js"; import { scheduleProcessDelay, type ProcessTimer } from "./ProcessTimer.js"; +import type { + InteractionEvent, + ProcessCaptureEventJournalEntry, + RecordProcessCaptureEvent, +} from "../../domain/process/processCapture.js"; /** Mutable observation-order ledger whose writer is shared by capture producers. */ export interface ProcessCaptureJournal { readonly entries: readonly ProcessCaptureEventJournalEntry[]; diff --git a/src/process/capture/ProcessCaptureLifecycle.ts b/src/process/capture/ProcessCaptureLifecycle.ts index ca183d3c1d..14da87231a 100644 --- a/src/process/capture/ProcessCaptureLifecycle.ts +++ b/src/process/capture/ProcessCaptureLifecycle.ts @@ -6,30 +6,14 @@ import { join } from "node:path"; import { setTimeout as delay } from "node:timers/promises"; import type { IPty } from "@lydell/node-pty"; -import type { - FilesystemCheckpoint, - InteractionEvent, - ProcessCapture, - UnverifiedProcessCapture, - ProcessSample, - ProcessSettlement, - ProcessCaptureCleanupReport, - PartialProcessCaptureObservation, - IncompleteProcessCaptureObservations, - PartialFilesystemSnapshot, - PartialProcessObservationField, - ProcessScenario, - ProcessCaptureEventJournalEntry, - RecordProcessCaptureEvent, - TerminalFrame, -} from "../../domain/process/processCapture.js"; +import type { ProcessCapture } from "../../domain/process/processCaptureParsing.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; import { digestProcessCommitment, - parseProcessCapture, - partialProcessCaptureObservationSchema, processComparisonContract, processScenarioCommitment, -} from "../../domain/process/processCapture.js"; +} from "../../domain/process/processScenario.js"; +import { parseProcessCapture } from "../../domain/process/processCaptureParsing.js"; import { PRODUCT_IDENTITY } from "../../identity.js"; import type { SnapshotResult } from "./FilesystemSnapshot.js"; import { snapshotRoots } from "./FilesystemSnapshot.js"; @@ -66,6 +50,22 @@ import { } from "../../domain/process/processCaptureCoverage.js"; import { scheduleProcessInterval, type ProcessTimer } from "./ProcessTimer.js"; +import type { + FilesystemCheckpoint, + InteractionEvent, + UnverifiedProcessCapture, + ProcessSample, + ProcessSettlement, + ProcessCaptureCleanupReport, + PartialProcessCaptureObservation, + IncompleteProcessCaptureObservations, + PartialFilesystemSnapshot, + PartialProcessObservationField, + ProcessCaptureEventJournalEntry, + RecordProcessCaptureEvent, + TerminalFrame, +} from "../../domain/process/processCapture.js"; +import { partialProcessCaptureObservationSchema } from "../../domain/process/processCapture.js"; interface TerminalExitOptions { readonly terminal: IPty; readonly scenario: ProcessScenario; diff --git a/src/process/capture/ProcessCaptureObservation.test.ts b/src/process/capture/ProcessCaptureObservation.test.ts index f73efb2bfe..7a1ccd0082 100644 --- a/src/process/capture/ProcessCaptureObservation.test.ts +++ b/src/process/capture/ProcessCaptureObservation.test.ts @@ -4,10 +4,8 @@ import { snapshotRoots } from "./FilesystemSnapshot.js"; import { buildCaptureResult } from "./ProcessCaptureLifecycle.js"; import { isInitializedPtyRoot, readLinuxChildren } from "./ProcessSampling.js"; import { TerminalRenderer } from "./TerminalRenderer.js"; -import { - parseProcessScenario, - type ProcessCapture, -} from "../../domain/process/processCapture.js"; +import { parseProcessScenario } from "../../domain/process/processScenario.js"; +import { type ProcessCapture } from "../../domain/process/processCaptureParsing.js"; import { emptyProcessCapture as emptyCapture } from "../../domain/process/processCapture.fixture.js"; const base = { diff --git a/src/process/capture/ProcessHarness.test.ts b/src/process/capture/ProcessHarness.test.ts index bb74c82c67..c96964f676 100644 --- a/src/process/capture/ProcessHarness.test.ts +++ b/src/process/capture/ProcessHarness.test.ts @@ -1,21 +1,15 @@ import { expect, it, vi } from "vitest"; import { processScenarioSchema } from "../../domain/process/processScenario.js"; import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; -import { - captureProcessScenario, - ProcessCaptureError, -} from "./ProcessHarness.js"; +import { captureProcessScenario } from "./ProcessHarness.js"; import { settleProcessCaptureJournal } from "./ProcessCaptureLifecycle.js"; -import { - parseProcessCapture, - partialProcessCaptureObservationSchema, - processCaptureSchema, -} from "../../domain/process/processCapture.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../domain/process/processCapture.fixture.js"; +import { parseProcessCapture } from "../../domain/process/processCaptureParsing.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../domain/process/processCaptureExample.js"; import { projectAnalysisError } from "../../domain/analysisErrorProjection.js"; import { emptyProcessCapture } from "../../domain/process/processCapture.fixture.js"; import { analysisErrorProjectionSchema } from "../../contracts/errorSchemas.js"; import { + ProcessCaptureError, normalizeCaptureFailure, processCaptureCancelled, } from "./ProcessCaptureError.js"; @@ -27,6 +21,10 @@ import { } from "./ProcessCaptureLifecycle.js"; import { DarwinProcessOwnershipInspectionError } from "../DarwinProcessRunTokenReader.js"; +import { + partialProcessCaptureObservationSchema, + processCaptureSchema, +} from "../../domain/process/processCapture.js"; it("retains cancellation and cleanup facts when ownership baseline inspection aborts", async () => { const controller = new AbortController(); const scenario = processScenarioSchema.parse({ diff --git a/src/process/capture/ProcessHarness.ts b/src/process/capture/ProcessHarness.ts index f573b32c74..9ffc882b60 100644 --- a/src/process/capture/ProcessHarness.ts +++ b/src/process/capture/ProcessHarness.ts @@ -1,16 +1,8 @@ import type { IPty } from "@lydell/node-pty"; import type { TerminalRetention } from "../../domain/process/processCaptureCoverage.js"; -import type { - InteractionEvent, - ProcessCapture, - UnverifiedProcessCapture, - ProcessCaptureEventJournalEntry, - ProcessSample, - ProcessScenario, - RecordProcessCaptureEvent, - TerminalFrame, -} from "../../domain/process/processCapture.js"; -import { parseProcessCapture } from "../../domain/process/processCapture.js"; +import type { ProcessCapture } from "../../domain/process/processCaptureParsing.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; +import { parseProcessCapture } from "../../domain/process/processCaptureParsing.js"; import { err, ok, type Result } from "../../domain/result.js"; import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; @@ -20,7 +12,14 @@ import { normalizeCaptureFailure, processCaptureCancelled, } from "./ProcessCaptureError.js"; -export { ProcessCaptureError } from "./ProcessCaptureError.js"; +import type { + InteractionEvent, + UnverifiedProcessCapture, + ProcessCaptureEventJournalEntry, + ProcessSample, + RecordProcessCaptureEvent, + TerminalFrame, +} from "../../domain/process/processCapture.js"; import { startProcessSampler } from "./ProcessSampling.js"; import { snapshotRoots } from "./FilesystemSnapshot.js"; import { TerminalRenderer } from "./TerminalRenderer.js"; @@ -57,7 +56,6 @@ import { makeProcessCaptureEnvironment } from "./ProcessCaptureEnvironment.js"; import { classifyFilesystemEffects } from "./ProcessFilesystemEffects.js"; import { processCaptureOwnershipUnavailableReason } from "./ProcessCaptureCapability.js"; import type { ProcessOwnershipBaseline } from "../ProcessOwnership.js"; -export { probeProcessCaptureCapability } from "./ProcessCaptureCapability.js"; interface StartedCaptureRuntime { readonly renderer: TerminalRenderer; diff --git a/src/process/capture/ProcessNormalization.test.ts b/src/process/capture/ProcessNormalization.test.ts index 8598a91f1f..9631c66f3f 100644 --- a/src/process/capture/ProcessNormalization.test.ts +++ b/src/process/capture/ProcessNormalization.test.ts @@ -4,7 +4,7 @@ import { normalizeProcessSamples, normalizeProcessText, } from "./ProcessNormalization.js"; -import { parseProcessScenario } from "../../domain/process/processCapture.js"; +import { parseProcessScenario } from "../../domain/process/processScenario.js"; const rootPid = 41_010; const samples = Object.freeze( diff --git a/src/process/capture/ProcessNormalization.ts b/src/process/capture/ProcessNormalization.ts index 675ac95295..24209012cb 100644 --- a/src/process/capture/ProcessNormalization.ts +++ b/src/process/capture/ProcessNormalization.ts @@ -1,10 +1,8 @@ import { isIP } from "node:net"; -import type { - ProcessSample, - ProcessScenario, -} from "../../domain/process/processCapture.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; +import type { ProcessSample } from "../../domain/process/processCapture.js"; /** Bucket one elapsed process-capture timestamp under scenario normalization. */ export const normalizeProcessElapsedTime = ( elapsedMs: number, diff --git a/src/process/capture/ProcessScenarioRuntimeValidation.test.ts b/src/process/capture/ProcessScenarioRuntimeValidation.test.ts index 5e70a226ce..9a3bb923fb 100644 --- a/src/process/capture/ProcessScenarioRuntimeValidation.test.ts +++ b/src/process/capture/ProcessScenarioRuntimeValidation.test.ts @@ -7,7 +7,7 @@ import { resolveExecutable, resolveProcessScenarioRuntimePaths, } from "./ProcessScenarioRuntimeValidation.js"; -import { parseProcessScenario } from "../../domain/process/processCapture.js"; +import { parseProcessScenario } from "../../domain/process/processScenario.js"; it("preserves the caller-selected executable symlink for process invocation", async () => { const root = await mkdtemp(join(tmpdir(), "rea-process-executable-alias-")); diff --git a/src/process/capture/ProcessScenarioRuntimeValidation.ts b/src/process/capture/ProcessScenarioRuntimeValidation.ts index e71e16d1e5..23444b1337 100644 --- a/src/process/capture/ProcessScenarioRuntimeValidation.ts +++ b/src/process/capture/ProcessScenarioRuntimeValidation.ts @@ -2,7 +2,7 @@ import { access, realpath, stat } from "node:fs/promises"; import { constants as fsConstants } from "node:fs"; import { delimiter, isAbsolute, join, resolve } from "node:path"; -import type { ProcessScenario } from "../../domain/process/processCapture.js"; +import type { ProcessScenario } from "../../domain/process/processScenario.js"; import { ProcessCaptureError, processCaptureCancelled, diff --git a/src/reference/ReferenceSourceReader.ts b/src/reference/ReferenceSourceReader.ts index a904560b2c..2821dd3d48 100644 --- a/src/reference/ReferenceSourceReader.ts +++ b/src/reference/ReferenceSourceReader.ts @@ -13,12 +13,6 @@ import { prepareRoot, } from "./ReferenceSourceReaderValidate.js"; -export type { - ReferenceSourceEntry, - ReferenceSourceRead, - ReferenceSourceReaderOptions, -} from "./ReferenceSourceReaderTypes.js"; - const PATH_RACE_LIMITATION = "Path identity is revalidated around operations; Node lacks portable descriptor-relative openat traversal, so a syscall-boundary pathname race remains."; diff --git a/src/server/createServer.ts b/src/server/createServer.ts index 47fa57b853..a56e51c076 100644 --- a/src/server/createServer.ts +++ b/src/server/createServer.ts @@ -18,7 +18,7 @@ import { parseMcpResponseBudget } from "../config/mcpResponseBudget.js"; import { isAbsolute } from "node:path"; import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import type { BrowserObservationPort } from "../application/BrowserObservationPort.js"; import type { BrowserScenarioCapturePort } from "../application/BrowserScenarioCapturePort.js"; import type { ElectronActiveObservationPort } from "../application/javascript/ElectronActiveObservationPort.js"; @@ -26,7 +26,8 @@ import type { ElectronObservationPort } from "../application/javascript/Electron import type { JavaScriptRuntimeObservationPort } from "../application/javascript/JavaScriptRuntimeObservationPort.js"; import type { OptionalProviderLoadFailures } from "../application/OptionalObservationProviders.js"; import { PRODUCT_IDENTITY } from "../identity.js"; -import { silentLogger, type Logger } from "../logger.js"; +import { silentLogger } from "../logger.js"; +import type { Logger } from "pino"; import { registerApplicationTools } from "./registerApplicationTools.js"; import { registerArtifactTools } from "./registerArtifactTools.js"; import { registerBrowserScenarioTool } from "./registerBrowserScenarioTool.js"; diff --git a/src/server/promptCompletion.ts b/src/server/promptCompletion.ts index bc490445c1..bc37e8fda6 100644 --- a/src/server/promptCompletion.ts +++ b/src/server/promptCompletion.ts @@ -3,11 +3,11 @@ import { z } from "zod"; import { uniqueSorted } from "../domain/canonicalOrdering.js"; import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import type { PromptCompletionKind } from "../contracts/promptContracts.js"; import { artifactInventoryResultSchema } from "../domain/artifactGraph.js"; import { artifactInspectionResultSchema } from "../domain/artifactInspection.js"; -import { parseProcessCapture } from "../domain/process/processCapture.js"; +import { parseProcessCapture } from "../domain/process/processCaptureParsing.js"; const documentListSchema = z.array(z.string().min(1)); const providerStatusSchema = z.object({ diff --git a/src/server/recordDerivedEvidence.ts b/src/server/recordDerivedEvidence.ts index 81b4645cb3..c0575ff648 100644 --- a/src/server/recordDerivedEvidence.ts +++ b/src/server/recordDerivedEvidence.ts @@ -1,4 +1,4 @@ -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import type { RecordUnknownInput } from "../domain/residualUnknown.js"; diff --git a/src/server/registerAnalysisViewTool.ts b/src/server/registerAnalysisViewTool.ts index 2d144c236b..216c9e9ec3 100644 --- a/src/server/registerAnalysisViewTool.ts +++ b/src/server/registerAnalysisViewTool.ts @@ -4,7 +4,7 @@ import { inspectAnalysisView } from "../application/analysisView/AnalysisViewSer import type { EvidenceLookup } from "../application/EvidenceInputResolver.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerAndroidTools.ts b/src/server/registerAndroidTools.ts index 59c8a88988..1907673969 100644 --- a/src/server/registerAndroidTools.ts +++ b/src/server/registerAndroidTools.ts @@ -5,7 +5,7 @@ import { AndroidAnalysisService } from "../application/android/AndroidAnalysisSe import { toolContract } from "../contracts/toolContracts.js"; import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { AndroidOperation } from "../domain/android/androidAnalysis.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerApplicationTools.ts b/src/server/registerApplicationTools.ts index da427795f4..61118d5d36 100644 --- a/src/server/registerApplicationTools.ts +++ b/src/server/registerApplicationTools.ts @@ -10,8 +10,6 @@ import { registerReconstructionObligationLedgerTool } from "./registerApplicatio import { registerProjectMobileApplicationGraphTools } from "./registerApplicationTools/projectMobileApplicationGraph.js"; import type { ApplicationToolRegistration } from "./registerApplicationTools/types.js"; -export type { ApplicationToolRegistration }; - /** Register provider-neutral JavaScript application graph workflows. */ export const registerApplicationTools = ( server: EvidenceMcpServer, diff --git a/src/server/registerApplicationTools/types.ts b/src/server/registerApplicationTools/types.ts index 3ddb44e25c..82c5c6ad4a 100644 --- a/src/server/registerApplicationTools/types.ts +++ b/src/server/registerApplicationTools/types.ts @@ -3,7 +3,7 @@ import type { EvidenceReader, EvidenceUnknownWriter, } from "../../application/investigation/InvestigationRecordPort.js"; -import type { Logger } from "../../logger.js"; +import type { Logger } from "pino"; /** Shared services for registering JavaScript application graph workflows. */ export interface ApplicationToolRegistration { diff --git a/src/server/registerArtifactComparisonTool.ts b/src/server/registerArtifactComparisonTool.ts index 2d6ac0dfbf..7352430ca5 100644 --- a/src/server/registerArtifactComparisonTool.ts +++ b/src/server/registerArtifactComparisonTool.ts @@ -1,6 +1,6 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { toolContract } from "../contracts/toolContracts.js"; import { compareArtifacts } from "../domain/artifactComparison.js"; import { createEvidence, parseEvidence } from "../domain/evidence.js"; @@ -8,7 +8,7 @@ import { jsonValueSchema } from "../domain/jsonValue.js"; import type { RecordUnknownInput } from "../domain/residualUnknown.js"; import { recordDerivedEvidence } from "./recordDerivedEvidence.js"; import { runDerivedOperation } from "./runDerivedOperation.js"; -import { ARTIFACT_COMPARISON_PROVIDER } from "./sessionToolPolicies.js"; +import { ARTIFACT_COMPARISON_PROVIDER } from "../application/InvestigationProviders.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; /** Register Evidence-backed deterministic artifact comparison. */ diff --git a/src/server/registerArtifactTools.ts b/src/server/registerArtifactTools.ts index 3d94aa690e..898584567a 100644 --- a/src/server/registerArtifactTools.ts +++ b/src/server/registerArtifactTools.ts @@ -3,8 +3,8 @@ import type { EvidenceWriter } from "../application/investigation/InvestigationR import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; import { ARTIFACT_TOOL_CONTRACTS } from "../contracts/artifactToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; -import type { Logger } from "../logger.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; +import type { Logger } from "pino"; import { registerEvidenceTools } from "./registerEvidenceTools.js"; import { artifactInspectionResultSchema } from "../domain/artifactInspection.js"; diff --git a/src/server/registerBinaryDiagnosticsTools.ts b/src/server/registerBinaryDiagnosticsTools.ts index 94204f13d0..b7b6ad880d 100644 --- a/src/server/registerBinaryDiagnosticsTools.ts +++ b/src/server/registerBinaryDiagnosticsTools.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { BinaryLayoutService } from "../application/binaryDiagnostics/BinaryLayoutService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerBrowserScenarioTool.ts b/src/server/registerBrowserScenarioTool.ts index 0fd4fa6214..6e710cd5da 100644 --- a/src/server/registerBrowserScenarioTool.ts +++ b/src/server/registerBrowserScenarioTool.ts @@ -10,7 +10,7 @@ import type { BrowserScenarioCapturePort } from "../application/BrowserScenarioC import { captureBrowserScenario } from "../application/BrowserScenarioCaptureService.js"; import { toolContract } from "../contracts/toolContracts.js"; import { browserScenarioSchema } from "../domain/browserScenario.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerBrowserTools.ts b/src/server/registerBrowserTools.ts index 2e96120d9c..80cbaa4e3f 100644 --- a/src/server/registerBrowserTools.ts +++ b/src/server/registerBrowserTools.ts @@ -20,13 +20,14 @@ import { observeWebSession, } from "../application/BrowserObservationService.js"; import type { ProgressReporter } from "../application/ProgressReporter.js"; -import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; +import { toolContract } from "../contracts/toolContracts.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import { analyzeWebBundleInputSchema } from "../domain/webBundleAnalysis.js"; import { inspectWebPageInputSchema } from "../domain/browserObservation.js"; import type { Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; @@ -199,14 +200,10 @@ const runBrowserTool = async ( }), ); if (!result.ok) return options.delivery.toCallToolResult(result, contract); - return evidenceResult(options, contract, result.value); -}; - -const evidenceResult = ( - options: BrowserToolRegistration & { readonly delivery: ToolResultDelivery }, - contract: ToolContract, - evidence: Evidence, -) => { - const recorded = options.recordEvidence?.(evidence); - return options.delivery.toEvidenceToolResult(evidence, contract, recorded); + const recorded = options.recordEvidence?.(result.value); + return options.delivery.toEvidenceToolResult( + result.value, + contract, + recorded, + ); }; diff --git a/src/server/registerBundleComparisonTool.ts b/src/server/registerBundleComparisonTool.ts index c45bcc3e9e..c5b03e612c 100644 --- a/src/server/registerBundleComparisonTool.ts +++ b/src/server/registerBundleComparisonTool.ts @@ -1,13 +1,13 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { readEvidenceBundle } from "../application/EvidenceBundleFiles.js"; import { toolContract } from "../contracts/toolContracts.js"; import { compareBundles } from "../domain/bundleComparison.js"; import { createEvidence } from "../domain/evidence.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; import { runDerivedOperation } from "./runDerivedOperation.js"; -import { BUNDLE_COMPARISON_PROVIDER } from "./sessionToolPolicies.js"; +import { BUNDLE_COMPARISON_PROVIDER } from "../application/InvestigationProviders.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; /** Register canonical Evidence bundle comparison. */ diff --git a/src/server/registerElectronTools.ts b/src/server/registerElectronTools.ts index e4d39c9163..8ea2a4b1e7 100644 --- a/src/server/registerElectronTools.ts +++ b/src/server/registerElectronTools.ts @@ -18,12 +18,13 @@ import { import { analyzeJavaScriptApplicationValidated } from "../application/javascript/JavaScriptApplicationService.js"; import { reconcileJavaScriptRuntimeEvidenceValidated } from "../application/javascript/JavaScriptRuntimeReconciliationService.js"; import type { ProgressReporter } from "../application/ProgressReporter.js"; -import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; +import { toolContract } from "../contracts/toolContracts.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import type { Result } from "../domain/result.js"; import { inspectElectronPageInputSchema } from "../domain/javascript/electronObservation.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; @@ -159,14 +160,10 @@ const runElectronTool = async ( }), ); if (!result.ok) return options.delivery.toCallToolResult(result, contract); - return evidenceResult(options, contract, result.value); -}; - -const evidenceResult = ( - options: ElectronToolRegistration & { readonly delivery: ToolResultDelivery }, - contract: ToolContract, - evidence: Evidence, -) => { - const recorded = options.recordEvidence?.(evidence); - return options.delivery.toEvidenceToolResult(evidence, contract, recorded); + const recorded = options.recordEvidence?.(result.value); + return options.delivery.toEvidenceToolResult( + result.value, + contract, + recorded, + ); }; diff --git a/src/server/registerEnhancedTools.ts b/src/server/registerEnhancedTools.ts index ba1dffa09a..e972353d6a 100644 --- a/src/server/registerEnhancedTools.ts +++ b/src/server/registerEnhancedTools.ts @@ -11,20 +11,19 @@ import type { import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; -import { - EnhancedTools, - type ValidatedEnhancedCall, -} from "../application/EnhancedTools.js"; +import { EnhancedTools } from "../application/EnhancedTools.js"; +import type { ValidatedEnhancedCall } from "../application/EnhancedToolTypes.js"; import { createWorkflowEvidence, workflowSnapshotRecord, recordWorkflowUnknowns, } from "../application/WorkflowEvidence.js"; -import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; +import { toolContract } from "../contracts/toolContracts.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { JsonValue } from "../domain/jsonValue.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerEvidenceTools.ts b/src/server/registerEvidenceTools.ts index 0bda3a66f1..d031117452 100644 --- a/src/server/registerEvidenceTools.ts +++ b/src/server/registerEvidenceTools.ts @@ -5,11 +5,11 @@ import type { AnalysisOperation, AnalysisOperationPort, } from "../application/AnalysisProvider.js"; -import type { ToolContract } from "../contracts/toolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { createEvidence, type Evidence } from "../domain/evidence.js"; import { jsonObjectSchema } from "../domain/jsonValue.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerEvmTools.ts b/src/server/registerEvmTools.ts index 50194cae54..5ae5943751 100644 --- a/src/server/registerEvmTools.ts +++ b/src/server/registerEvmTools.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { EvmInterfaceService } from "../application/evm/EvmInterfaceService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerFirmwareTools.ts b/src/server/registerFirmwareTools.ts index f0294e8c46..5484d96816 100644 --- a/src/server/registerFirmwareTools.ts +++ b/src/server/registerFirmwareTools.ts @@ -5,7 +5,7 @@ import type { FirmwareAnalysisService } from "../application/firmware/FirmwareAn import { toolContract } from "../contracts/toolContracts.js"; import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { FirmwareOperation } from "../domain/firmware/firmwareAnalysis.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerFunctionComparisonTool.ts b/src/server/registerFunctionComparisonTool.ts index a1ff277072..12f5a3357a 100644 --- a/src/server/registerFunctionComparisonTool.ts +++ b/src/server/registerFunctionComparisonTool.ts @@ -1,6 +1,6 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { toolContract } from "../contracts/toolContracts.js"; import { createEvidence, @@ -9,15 +9,15 @@ import { } from "../domain/evidence.js"; import { EvidenceIntegrityError } from "../domain/evidenceErrors.js"; import { err } from "../domain/result.js"; -import { compareFunctions } from "../domain/functionComparison.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; import type { RecordUnknownInput } from "../domain/residualUnknown.js"; import { recordDerivedEvidence } from "./recordDerivedEvidence.js"; import { recordSessionEvidenceSources } from "./sessionEvidence.js"; import { runDerivedOperation } from "./runDerivedOperation.js"; -import { FUNCTION_COMPARISON_PROVIDER } from "./sessionToolPolicies.js"; +import { FUNCTION_COMPARISON_PROVIDER } from "../application/InvestigationProviders.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; +import { compareFunctions } from "../domain/functionComparison.js"; /** Register explicit Evidence-backed function comparison. */ export const registerFunctionComparisonTool = ( server: EvidenceMcpServer, diff --git a/src/server/registerInvestigationTools.ts b/src/server/registerInvestigationTools.ts index 5e0629c4a5..d5a2a4706b 100644 --- a/src/server/registerInvestigationTools.ts +++ b/src/server/registerInvestigationTools.ts @@ -1,12 +1,11 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { toolContract } from "../contracts/toolContracts.js"; import { buildCallPath } from "../domain/callPath.js"; import { findChangedBehavior } from "../domain/changedBehavior.js"; import { createEvidence } from "../domain/evidence.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; -import { verifyReconstruction } from "../domain/reconstructionVerification.js"; import { correlateStaticAndRuntime } from "../domain/staticRuntimeCorrelation.js"; import { comparisonClosure, @@ -21,9 +20,10 @@ import { CHANGED_BEHAVIOR_PROVIDER, RECONSTRUCTION_PROVIDER, STATIC_RUNTIME_PROVIDER, -} from "./sessionToolPolicies.js"; +} from "../application/InvestigationProviders.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; +import { verifyReconstruction } from "../domain/reconstructionVerification.js"; /** Register Evidence-composed differential investigation workflows. */ export const registerInvestigationTools = ( server: EvidenceMcpServer, diff --git a/src/server/registerInvestigationTools/helpers.ts b/src/server/registerInvestigationTools/helpers.ts index 705cc32117..ed5ab83348 100644 --- a/src/server/registerInvestigationTools/helpers.ts +++ b/src/server/registerInvestigationTools/helpers.ts @@ -1,4 +1,4 @@ -import type { BinarySessionPort } from "../../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../../application/binary/BinarySessionPort.js"; import type { Evidence } from "../../domain/evidence.js"; import { EvidenceIntegrityError } from "../../domain/evidenceErrors.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; diff --git a/src/server/registerJavaScriptRecoveryTool.ts b/src/server/registerJavaScriptRecoveryTool.ts index eeac19df88..ce742a2ba2 100644 --- a/src/server/registerJavaScriptRecoveryTool.ts +++ b/src/server/registerJavaScriptRecoveryTool.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { JavaScriptRecoveryService } from "../application/javascript/JavaScriptRecoveryService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerJavaScriptRuntimeObservationTools.ts b/src/server/registerJavaScriptRuntimeObservationTools.ts index 2bfb07dfa7..dce046f7e9 100644 --- a/src/server/registerJavaScriptRuntimeObservationTools.ts +++ b/src/server/registerJavaScriptRuntimeObservationTools.ts @@ -13,12 +13,13 @@ import { listJavaScriptRuntimeTargets, observeJavaScriptRuntime, } from "../application/javascript/JavaScriptRuntimeObservationService.js"; -import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; +import { toolContract } from "../contracts/toolContracts.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import type { Result } from "../domain/result.js"; import { observeJavaScriptRuntimeInputSchema } from "../domain/javascript/javascriptRuntimeObservation.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerManagedTools.ts b/src/server/registerManagedTools.ts index 2841c4f6cf..74b7cac35a 100644 --- a/src/server/registerManagedTools.ts +++ b/src/server/registerManagedTools.ts @@ -2,12 +2,12 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { MANAGED_TOOL_CONTRACTS } from "../contracts/managed/managedToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import { AnalysisInputError } from "../domain/analysisErrorCore.js"; import { err } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { registerEvidenceTools } from "./registerEvidenceTools.js"; import { runManagedProviderExecution } from "../composition/directAnalysis.js"; import { isManagedToolName } from "../contracts/managed/managedToolContracts.js"; diff --git a/src/server/registerManagedWorkflowTools.ts b/src/server/registerManagedWorkflowTools.ts index 0a5334c0b3..096ab99271 100644 --- a/src/server/registerManagedWorkflowTools.ts +++ b/src/server/registerManagedWorkflowTools.ts @@ -6,8 +6,6 @@ import { registerImportManagedReconstruction } from "./registerManagedWorkflowTo import { registerProjectManagedApplicationGraph } from "./registerManagedWorkflowTools/projectManagedApplicationGraph.js"; import type { ManagedWorkflowToolRegistration } from "./registerManagedWorkflowTools/types.js"; -export type { ManagedWorkflowToolRegistration }; - /** Register provider-neutral managed-code workflows. */ export const registerManagedWorkflowTools = ( server: EvidenceMcpServer, diff --git a/src/server/registerManagedWorkflowTools/types.ts b/src/server/registerManagedWorkflowTools/types.ts index 987037aab4..ab864c475c 100644 --- a/src/server/registerManagedWorkflowTools/types.ts +++ b/src/server/registerManagedWorkflowTools/types.ts @@ -2,8 +2,8 @@ import type { EvidenceWriter, EvidenceUnknownWriter, } from "../../application/investigation/InvestigationRecordPort.js"; -import type { BinarySessionPort } from "../../application/binary/BinarySession.js"; -import type { Logger } from "../../logger.js"; +import type { BinarySessionPort } from "../../application/binary/BinarySessionPort.js"; +import type { Logger } from "pino"; /** Shared services for registering managed-code workflow tools. */ export interface ManagedWorkflowToolRegistration { diff --git a/src/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.ts b/src/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.ts index 8510b83d7c..7496de428f 100644 --- a/src/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.ts +++ b/src/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.ts @@ -2,7 +2,7 @@ import type { EvidenceMcpServer } from "../EvidenceMcpServer.js"; import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import { verifyManagedNativeBoundariesEvidence } from "../../application/managed/ManagedNativeVerificationService.js"; -import { managedNativeVerificationResultSchema } from "../../domain/managed/managedNativeVerification.js"; +import { managedNativeVerificationResultSchema } from "../../domain/managed/managedNativeVerificationSchemas.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; import { managedWorkflowContract } from "./contract.js"; diff --git a/src/server/registerNativeTools.ts b/src/server/registerNativeTools.ts index 46b539fb20..35d5029a0d 100644 --- a/src/server/registerNativeTools.ts +++ b/src/server/registerNativeTools.ts @@ -3,8 +3,8 @@ import type { EvidenceWriter } from "../application/investigation/InvestigationR import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; import { NATIVE_TOOL_CONTRACTS } from "../contracts/native/nativeToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; -import type { Logger } from "../logger.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; +import type { Logger } from "pino"; import { registerEvidenceTools } from "./registerEvidenceTools.js"; /** Register provider-neutral static inspection operations. */ diff --git a/src/server/registerOfficialTools.ts b/src/server/registerOfficialTools.ts index 5b441ea5bc..14c18337df 100644 --- a/src/server/registerOfficialTools.ts +++ b/src/server/registerOfficialTools.ts @@ -8,12 +8,12 @@ import type { } from "../application/AnalysisProvider.js"; import type { ProgressReporter } from "../application/ProgressReporter.js"; import { OFFICIAL_TOOL_CONTRACTS } from "../contracts/officialToolContracts.js"; -import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { BinaryTarget } from "../domain/binaryTargetTypes.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import { createEvidence } from "../domain/evidence.js"; import { jsonObjectSchema, type JsonValue } from "../domain/jsonValue.js"; import type { Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerProcessComparisonTool.ts b/src/server/registerProcessComparisonTool.ts index c9d95960be..2769d27ce1 100644 --- a/src/server/registerProcessComparisonTool.ts +++ b/src/server/registerProcessComparisonTool.ts @@ -1,6 +1,6 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { toolContract } from "../contracts/toolContracts.js"; import { AnalysisInputError } from "../domain/analysisErrorCore.js"; import { type AnalysisError } from "../domain/analysisErrorBase.js"; @@ -13,17 +13,17 @@ import { type EvidenceLocation, } from "../domain/evidence.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; +import { compareProcessCaptures } from "../domain/process/processComparison.js"; import { - compareProcessCaptures, parseProcessCapture, type ProcessCapture, -} from "../domain/process/processCapture.js"; +} from "../domain/process/processCaptureParsing.js"; import type { RecordUnknownInput } from "../domain/residualUnknown.js"; import { err, ok, type Result } from "../domain/result.js"; import { recordDerivedEvidence } from "./recordDerivedEvidence.js"; import { recordSessionEvidenceSources } from "./sessionEvidence.js"; import { runDerivedOperation } from "./runDerivedOperation.js"; -import { PROCESS_PROVIDER } from "./sessionToolPolicies.js"; +import { PROCESS_PROVIDER } from "../domain/process/processEvidenceProvider.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; const PROCESS_CAPTURE_EVIDENCE = { diff --git a/src/server/registerPrompts.ts b/src/server/registerPrompts.ts index 1718e61ac7..e0bd00768c 100644 --- a/src/server/registerPrompts.ts +++ b/src/server/registerPrompts.ts @@ -6,7 +6,7 @@ import { import { z } from "zod"; import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { PROMPT_CONTRACTS, renderGuidedPrompt, diff --git a/src/server/registerRecordedCrashTools.ts b/src/server/registerRecordedCrashTools.ts index d3e8851254..4775afa68d 100644 --- a/src/server/registerRecordedCrashTools.ts +++ b/src/server/registerRecordedCrashTools.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { RecordedCrashService } from "../application/binaryDiagnostics/RecordedCrashService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerSessionRecordTools.ts b/src/server/registerSessionRecordTools.ts index 845beaeb25..4c1f79304b 100644 --- a/src/server/registerSessionRecordTools.ts +++ b/src/server/registerSessionRecordTools.ts @@ -1,6 +1,6 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { readEvidenceBundle, writeEvidenceBundle, @@ -138,13 +138,10 @@ const registerListUnknownsTool = ({ listContract.name, toolRegistrationOptions(listContract), (input) => { - const filters = input; const all = session.listUnknowns({ - ...(filters.status === undefined ? {} : { status: filters.status }), - ...(filters.severity === undefined - ? {} - : { severity: filters.severity }), - ...(filters.domain === undefined ? {} : { domain: filters.domain }), + ...(input.status === undefined ? {} : { status: input.status }), + ...(input.severity === undefined ? {} : { severity: input.severity }), + ...(input.domain === undefined ? {} : { domain: input.domain }), }); return server.delivery.toCallToolResult( ok({ diff --git a/src/server/registerSessionStatusTool.ts b/src/server/registerSessionStatusTool.ts index 5f6d70d17d..5bc5eb4c46 100644 --- a/src/server/registerSessionStatusTool.ts +++ b/src/server/registerSessionStatusTool.ts @@ -1,6 +1,6 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import type { ProviderAvailability } from "../application/AnalysisProvider.js"; import { AnalysisCancelledError } from "../domain/analysisErrorCore.js"; import { buildCapabilityInventory } from "../application/CapabilityInventory.js"; diff --git a/src/server/registerSessionTools.ts b/src/server/registerSessionTools.ts index cd635758ab..9472c55ac1 100644 --- a/src/server/registerSessionTools.ts +++ b/src/server/registerSessionTools.ts @@ -5,7 +5,7 @@ import { inspectAddressContext, } from "../application/AnalysisContextQueries.js"; import { readAnalysisSnapshot } from "../application/binary/AnalysisSnapshotFiles.js"; -import type { BinarySessionPort } from "../application/binary/BinarySession.js"; +import type { BinarySessionPort } from "../application/binary/BinarySessionPort.js"; import { createProcessCaptureEvidence } from "../application/process/ProcessEvidence.js"; import { captureProcessScenario } from "../process/capture/ProcessHarness.js"; import { toolContract } from "../contracts/toolContracts.js"; @@ -13,9 +13,9 @@ import type { AnalysisSnapshot } from "../domain/analysisSnapshot.js"; import { UnknownRegistryError } from "../domain/unknownRegistryError.js"; import { type AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; -import type { ProcessCapture } from "../domain/process/processCapture.js"; +import type { ProcessCapture } from "../domain/process/processCaptureParsing.js"; import { ok, type Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import type { ProviderAvailability } from "../application/AnalysisProvider.js"; import { mcpProgressReporter } from "./mcpProgress.js"; import { registerArtifactComparisonTool } from "./registerArtifactComparisonTool.js"; @@ -91,7 +91,6 @@ const registerProcessTools = ({ captureContract.name, toolRegistrationOptions(captureContract), async (input, context) => { - const scenario = input; const progress = mcpProgressReporter(context); await progress.report({ phase: captureContract.name, @@ -102,7 +101,7 @@ const registerProcessTools = ({ const captured = await logToolExecution( logger, captureContract.name, - () => captureProcessScenario(scenario, context.mcpReq.signal), + () => captureProcessScenario(input, context.mcpReq.signal), ); await progress.report({ phase: captureContract.name, @@ -113,7 +112,7 @@ const registerProcessTools = ({ }); if (!captured.ok) return server.delivery.toCallToolResult(captured, captureContract); - const evidence = createProcessCaptureEvidence(scenario, captured.value); + const evidence = createProcessCaptureEvidence(input, captured.value); const recorded = session.recordEvidence(evidence); if (!recorded.ok) return server.delivery.toCallToolResult(recorded, captureContract); diff --git a/src/server/registerWebModuleTool.ts b/src/server/registerWebModuleTool.ts index 79b85e85da..5d8adcf45e 100644 --- a/src/server/registerWebModuleTool.ts +++ b/src/server/registerWebModuleTool.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { WebModuleTraceService } from "../application/WebModuleTraceService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerWebNetworkCaptureTool.ts b/src/server/registerWebNetworkCaptureTool.ts index 74d07c4f4d..d8222961b8 100644 --- a/src/server/registerWebNetworkCaptureTool.ts +++ b/src/server/registerWebNetworkCaptureTool.ts @@ -3,7 +3,7 @@ import type { StandardSchemaWithJSON } from "@modelcontextprotocol/server"; import type { WebNetworkCaptureService } from "../application/WebNetworkCaptureService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerWebRuntimeTools.ts b/src/server/registerWebRuntimeTools.ts index 716e687cb0..5179dfee74 100644 --- a/src/server/registerWebRuntimeTools.ts +++ b/src/server/registerWebRuntimeTools.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { WebRuntimeService } from "../application/WebRuntimeService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerWebScriptTool.ts b/src/server/registerWebScriptTool.ts index 8f71fe5019..60fffbdd8c 100644 --- a/src/server/registerWebScriptTool.ts +++ b/src/server/registerWebScriptTool.ts @@ -3,7 +3,7 @@ import type { EvidenceWriter } from "../application/investigation/InvestigationR import { exportWebScriptsValidated } from "../application/WebScriptExportService.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/registerWebSourceLocationTool.ts b/src/server/registerWebSourceLocationTool.ts index 644e1d71e4..19368141b6 100644 --- a/src/server/registerWebSourceLocationTool.ts +++ b/src/server/registerWebSourceLocationTool.ts @@ -3,7 +3,7 @@ import type { EvidenceMcpServer } from "./EvidenceMcpServer.js"; import type { WebSourceLocationService } from "../application/WebSourceLocationService.js"; import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js"; import { toolContract } from "../contracts/toolContracts.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/src/server/sessionToolPolicies.ts b/src/server/sessionToolPolicies.ts deleted file mode 100644 index b1725b0975..0000000000 --- a/src/server/sessionToolPolicies.ts +++ /dev/null @@ -1,10 +0,0 @@ -export { PROCESS_PROVIDER } from "../application/process/ProcessEvidence.js"; -export { - ARTIFACT_COMPARISON_PROVIDER, - BUNDLE_COMPARISON_PROVIDER, - CALL_PATH_PROVIDER, - CHANGED_BEHAVIOR_PROVIDER, - FUNCTION_COMPARISON_PROVIDER, - RECONSTRUCTION_PROVIDER, - STATIC_RUNTIME_PROVIDER, -} from "../application/InvestigationProviders.js"; diff --git a/src/server/toolLogging.ts b/src/server/toolLogging.ts index 1c3f954484..36513785c1 100644 --- a/src/server/toolLogging.ts +++ b/src/server/toolLogging.ts @@ -1,5 +1,5 @@ import type { Result } from "../domain/result.js"; -import type { Logger } from "../logger.js"; +import type { Logger } from "pino"; /** Log one MCP tool's duration and status without recording caller input. */ export const logToolExecution = async ( diff --git a/src/server/toolRegistrationOptions.ts b/src/server/toolRegistrationOptions.ts index 0f0b926796..4615971d42 100644 --- a/src/server/toolRegistrationOptions.ts +++ b/src/server/toolRegistrationOptions.ts @@ -1,4 +1,4 @@ -import type { ToolContract } from "../contracts/toolContracts.js"; +import type { ToolContract } from "../contracts/toolContractTypes.js"; import { toolInputSchemaWithMetadata, toolOutputSchemaWithMetadata, diff --git a/tests/acceptance/applications/applicationWorkflowCli.test.ts b/tests/acceptance/applications/applicationWorkflowCli.test.ts index 1ec9ef932b..3ea95f3af9 100644 --- a/tests/acceptance/applications/applicationWorkflowCli.test.ts +++ b/tests/acceptance/applications/applicationWorkflowCli.test.ts @@ -14,6 +14,7 @@ import { JAVASCRIPT_APPLICATION_VERSION_COMPARISON_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, } from "../../../src/contracts/javascript/javascriptApplicationWorkflowExamples.js"; +import { JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE } from "../../../src/contracts/javascript/javascriptExportShapeComparisonExample.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { javascriptApplicationAnalysisResultSchema, diff --git a/tests/boundary/browser/cdpBrowserProvider.sensitive_data.test.ts b/tests/boundary/browser/cdpBrowserProvider.sensitive_data.test.ts index d477643814..0c51f200cb 100644 --- a/tests/boundary/browser/cdpBrowserProvider.sensitive_data.test.ts +++ b/tests/boundary/browser/cdpBrowserProvider.sensitive_data.test.ts @@ -1,10 +1,8 @@ import { describe, expect, it } from "vitest"; import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; -import { - inspectWebPageInputSchema, - webPageInspectionSchema, -} from "../../../src/domain/browserObservation.js"; +import { inspectWebPageInputSchema } from "../../../src/domain/browserObservation.js"; +import { webPageInspectionSchema } from "../../../src/domain/browserObservationSchemas.js"; import { startFakeCdpBrowser, type FakeCdpBrowser, diff --git a/tests/boundary/browser/cdpJsonShapeComparison.test.ts b/tests/boundary/browser/cdpJsonShapeComparison.test.ts index 9105ed2a05..23890f6828 100644 --- a/tests/boundary/browser/cdpJsonShapeComparison.test.ts +++ b/tests/boundary/browser/cdpJsonShapeComparison.test.ts @@ -4,13 +4,13 @@ import { compareWebCaptureEvidence } from "../../../src/application/BrowserObser import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; import { CdpCaptureEvents } from "../../../src/browser/CdpCaptureEvents.js"; import { browserCaptureComparisonInputSchema } from "../../../src/domain/browserCaptureComparison.js"; +import { inspectWebPageInputSchema } from "../../../src/domain/browserObservation.js"; import { - inspectWebPageInputSchema, webPageInspectionSchema, type WebPageInspection, -} from "../../../src/domain/browserObservation.js"; +} from "../../../src/domain/browserObservationSchemas.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { webCaptureDiffSchema } from "../../../src/domain/webCaptureDiff.js"; +import { webCaptureDiffSchema } from "../../../src/domain/webCaptureDiffSchemas.js"; const ORIGIN = "https://example.test"; const CAPTURE_TIME = "2026-01-01T00:00:00.000Z"; diff --git a/tests/boundary/browser/webCaptureDiff.test.ts b/tests/boundary/browser/webCaptureDiff.test.ts index 935bc7ae5a..8d59a1e3d2 100644 --- a/tests/boundary/browser/webCaptureDiff.test.ts +++ b/tests/boundary/browser/webCaptureDiff.test.ts @@ -2,11 +2,11 @@ import { afterEach, describe, expect, it } from "vitest"; import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; import { inspectWebPageInputSchema } from "../../../src/domain/browserObservation.js"; +import { compareWebCaptures } from "../../../src/domain/webCaptureDiff.js"; import { - compareWebCaptures, compareWebCapturesInputSchema, webCaptureDiffSchema, -} from "../../../src/domain/webCaptureDiff.js"; +} from "../../../src/domain/webCaptureDiffSchemas.js"; import { startFakeCdpBrowser, type FakeCdpBrowser, diff --git a/tests/boundary/cli/analysisViewCli.test.ts b/tests/boundary/cli/analysisViewCli.test.ts index 08cea192be..e6e6fb51d7 100644 --- a/tests/boundary/cli/analysisViewCli.test.ts +++ b/tests/boundary/cli/analysisViewCli.test.ts @@ -3,10 +3,10 @@ import { join } from "node:path"; import { expect } from "vitest"; -import { analysisViewLayoutEvidence } from "../../fixtures/analysisView.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { cliTest } from "../../support/cli/cliFixture.js"; +import { analysisViewLayoutEvidence } from "../../fixtures/analysisView.js"; cliTest( "projects one section from a JSON file of inline layout Evidence", async ({ cli }) => { diff --git a/tests/boundary/cli/productCatalog.test.ts b/tests/boundary/cli/productCatalog.test.ts index 187b98b2e5..f1fca84017 100644 --- a/tests/boundary/cli/productCatalog.test.ts +++ b/tests/boundary/cli/productCatalog.test.ts @@ -11,13 +11,13 @@ import { CLI_COMMAND_NAMES } from "../../../src/cliCommandNames.js"; import { createCli } from "../../../src/cli.js"; import { TOOL_CONTRACTS } from "../../../src/contracts/toolContracts.js"; import { - HOPPER_PROVIDER_IDENTITY, HOPPER_OPERATIONS, -} from "../../../src/hopper/HopperProvider.js"; + HOPPER_PROVIDER_IDENTITY, +} from "../../../src/hopper/HopperProviderCapabilities.js"; import { GHIDRA_PROVIDER_IDENTITY, GHIDRA_OPERATIONS, -} from "../../../src/ghidra/GhidraProvider.js"; +} from "../../../src/ghidra/GhidraProviderCapabilities.js"; import { documentationFactIssues, skillReferenceIssues, diff --git a/tests/boundary/filesystem/directAnalysisPermissions.test.ts b/tests/boundary/filesystem/directAnalysisPermissions.test.ts index cc65229f34..e3faf63c4c 100644 --- a/tests/boundary/filesystem/directAnalysisPermissions.test.ts +++ b/tests/boundary/filesystem/directAnalysisPermissions.test.ts @@ -19,7 +19,7 @@ import { REA_WORKFLOW_PROVIDER, workflowAnalysisProfile, } from "../../../src/application/InvestigationProviders.js"; -import { HOPPER_PROVIDER_IDENTITY } from "../../../src/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../../../src/hopper/HopperProviderCapabilities.js"; import { resolveHopperAnalysisProfile } from "../../../src/hopper/HopperAnalysisProfile.js"; afterEach(async () => { diff --git a/tests/boundary/filesystem/referenceSourceImport.test.ts b/tests/boundary/filesystem/referenceSourceImport.test.ts index d9de535bf2..846bbba4a7 100644 --- a/tests/boundary/filesystem/referenceSourceImport.test.ts +++ b/tests/boundary/filesystem/referenceSourceImport.test.ts @@ -15,7 +15,7 @@ import { parseReferenceSourceEntries, projectReferenceSourceEntryFailure, } from "../../../src/application/ReferenceSourceImportEntries.js"; -import type { ReferenceSourceRead } from "../../../src/reference/ReferenceSourceReader.js"; +import type { ReferenceSourceRead } from "../../../src/reference/ReferenceSourceReaderTypes.js"; import { projectReferenceSourceImportError, type ReferenceSourceImportError, diff --git a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts index 5a6b84de3e..8849bc1360 100644 --- a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts +++ b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts @@ -10,7 +10,7 @@ import { observeJavaScriptRuntime, } from "../../../src/application/javascript/JavaScriptRuntimeObservationService.js"; import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/javascript/JavaScriptRuntimeReconciliationService.js"; -import { V8_INSPECTOR_PROVIDER_IDENTITY } from "../../../src/inspector/V8InspectorProvider.js"; +import { V8_INSPECTOR_PROVIDER_IDENTITY } from "../../../src/inspector/providerIdentity.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; import type { diff --git a/tests/boundary/javascript/sourceMapDecoder.test.ts b/tests/boundary/javascript/sourceMapDecoder.test.ts index 6b3938b3cb..cca8893078 100644 --- a/tests/boundary/javascript/sourceMapDecoder.test.ts +++ b/tests/boundary/javascript/sourceMapDecoder.test.ts @@ -1,8 +1,8 @@ import { fileURLToPath } from "node:url"; -import type { SourceMapDecoderDependencies } from "../../../src/javascript/sourceMaps/SourceMapDecoder.js"; import { access } from "node:fs/promises"; import { expect, it, vi } from "vitest"; import { SourceMapDecoder } from "../../../src/javascript/sourceMaps/SourceMapDecoder.js"; +import type { SourceMapDecoderDependencies } from "../../../src/javascript/sourceMaps/SourceMapCommand.js"; import { PrivateRuntimeRoot } from "../../../src/process/PrivateRuntimeRoot.js"; import { spawnOwnedProviderProcess } from "../../../src/process/ProviderProcess.js"; import { waitForProviderProcessReady } from "../../fixtures/providerProcess.js"; diff --git a/tests/boundary/mcp/browserMcp.test.ts b/tests/boundary/mcp/browserMcp.test.ts index 379a27d936..aa3fa853f8 100644 --- a/tests/boundary/mcp/browserMcp.test.ts +++ b/tests/boundary/mcp/browserMcp.test.ts @@ -6,7 +6,7 @@ import { afterEach, expect, it } from "vitest"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; -import { webPageInspectionSchema } from "../../../src/domain/browserObservation.js"; +import { webPageInspectionSchema } from "../../../src/domain/browserObservationSchemas.js"; import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; import { TOOL_CONTRACTS } from "../../../src/contracts/toolContracts.js"; import { createServer } from "../../../src/server/createServer.js"; diff --git a/tests/boundary/mcp/ghidraMcpHarness.ts b/tests/boundary/mcp/ghidraMcpHarness.ts index 283152039a..4731791020 100644 --- a/tests/boundary/mcp/ghidraMcpHarness.ts +++ b/tests/boundary/mcp/ghidraMcpHarness.ts @@ -4,15 +4,13 @@ import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { composeBinarySession } from "../../../src/application/binary/BinarySessionComposition.js"; import type { BinarySession } from "../../../src/application/binary/BinarySession.js"; import { AnalysisProviderRegistry } from "../../../src/application/binary/AnalysisProviderRegistry.js"; -import { parseConfig } from "../../../src/config.js"; +import { parseConfig } from "../../../src/config/parseConfig.js"; import type { JsonValue } from "../../../src/domain/jsonValue.js"; import { ok } from "../../../src/domain/result.js"; import type { GhidraInstallationHost } from "../../../src/ghidra/GhidraInstallation.js"; import type { GhidraOperation } from "../../../src/ghidra/GhidraClient.js"; -import { - GhidraProvider, - type GhidraProviderClientFactory, -} from "../../../src/ghidra/GhidraProvider.js"; +import { GhidraProvider } from "../../../src/ghidra/GhidraProvider.js"; +import type { GhidraProviderClientFactory } from "../../../src/ghidra/GhidraProviderClient.js"; import { GHIDRA_SESSION_CAPABILITIES } from "../../../src/ghidra/GhidraSessionValues.js"; import { silentLogger } from "../../../src/logger.js"; import { createServer } from "../../../src/server/createServer.js"; diff --git a/tests/boundary/mcp/keyedArchiveNumberMetadataMcp.test.ts b/tests/boundary/mcp/keyedArchiveNumberMetadataMcp.test.ts index db5f7e956d..5d16e87f43 100644 --- a/tests/boundary/mcp/keyedArchiveNumberMetadataMcp.test.ts +++ b/tests/boundary/mcp/keyedArchiveNumberMetadataMcp.test.ts @@ -3,7 +3,7 @@ import { expect } from "vitest"; import { z } from "zod"; import { createBinarySession } from "../../../src/composition/binary.js"; -import { parseConfig } from "../../../src/config.js"; +import { parseConfig } from "../../../src/config/parseConfig.js"; import { keyedArchiveResultSchema } from "../../../src/domain/apple/keyedArchive.js"; import { createServer } from "../../../src/server/createServer.js"; import { diff --git a/tests/boundary/mcp/managedMcp.test.ts b/tests/boundary/mcp/managedMcp.test.ts index 3d2524eb0f..7626517087 100644 --- a/tests/boundary/mcp/managedMcp.test.ts +++ b/tests/boundary/mcp/managedMcp.test.ts @@ -14,7 +14,7 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { AnalysisProviderRegistry } from "../../../src/application/binary/AnalysisProviderRegistry.js"; import { composeBinarySession } from "../../../src/application/binary/BinarySessionComposition.js"; import type { BinarySession } from "../../../src/application/binary/BinarySession.js"; -import type { BinaryTarget } from "../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../src/domain/binaryTargetTypes.js"; import { MANAGED_NATIVE_VERIFICATION_EXAMPLE } from "../../../src/contracts/managed/managedWorkflowExamples.js"; import { toolContract } from "../../../src/contracts/toolContracts.js"; import { ManagedStaticProvider } from "../../../src/dotnet/ManagedStaticProvider.js"; diff --git a/tests/boundary/mcp/nativeDemangleMcp.test.ts b/tests/boundary/mcp/nativeDemangleMcp.test.ts index 44804c61cf..75b22572cf 100644 --- a/tests/boundary/mcp/nativeDemangleMcp.test.ts +++ b/tests/boundary/mcp/nativeDemangleMcp.test.ts @@ -6,7 +6,7 @@ import { describe, expect } from "vitest"; import { z } from "zod"; import { createBinarySession } from "../../../src/composition/binary.js"; -import { parseConfig } from "../../../src/config.js"; +import { parseConfig } from "../../../src/config/parseConfig.js"; import { createServer } from "../../../src/server/createServer.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { mcpTest } from "../../support/mcp/mcpFixture.js"; diff --git a/tests/boundary/mcp/officialArguments.test.ts b/tests/boundary/mcp/officialArguments.test.ts index ab13b12efa..943f6893e8 100644 --- a/tests/boundary/mcp/officialArguments.test.ts +++ b/tests/boundary/mcp/officialArguments.test.ts @@ -1,4 +1,4 @@ -import { parseConfig } from "../../../src/config.js"; +import { parseConfig } from "../../../src/config/parseConfig.js"; import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { describe, expect, it, onTestFinished } from "vitest"; diff --git a/tests/boundary/mcp/outputSchemaSemanticConstraints.test.ts b/tests/boundary/mcp/outputSchemaSemanticConstraints.test.ts index 7d5e467571..811f93cfed 100644 --- a/tests/boundary/mcp/outputSchemaSemanticConstraints.test.ts +++ b/tests/boundary/mcp/outputSchemaSemanticConstraints.test.ts @@ -12,12 +12,12 @@ import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/domain/process/proce import { managedNativeVerificationInputSchema, managedNativeVerificationResultSchema, - verifyManagedNativeBoundaries, -} from "../../../src/domain/managed/managedNativeVerification.js"; +} from "../../../src/domain/managed/managedNativeVerificationSchemas.js"; import { nativeUiResultSchema } from "../../../src/domain/native/nativeUiObservation.js"; -import { processCaptureSchema } from "../../../src/domain/process/processCapture.js"; import { toolRegistrationOptions } from "../../../src/server/toolRegistrationOptions.js"; +import { verifyManagedNativeBoundaries } from "../../../src/domain/managed/managedNativeVerification.js"; +import { processCaptureSchema } from "../../../src/domain/process/processCapture.js"; const record = (value: unknown): Record => { if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error("Expected a schema object"); diff --git a/tests/boundary/mcp/processComparisonDiagnosticsMcp.test.ts b/tests/boundary/mcp/processComparisonDiagnosticsMcp.test.ts index 3d229b2409..3377277aea 100644 --- a/tests/boundary/mcp/processComparisonDiagnosticsMcp.test.ts +++ b/tests/boundary/mcp/processComparisonDiagnosticsMcp.test.ts @@ -6,11 +6,11 @@ import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { expect, it, onTestFinished } from "vitest"; import { compareProcessEvidenceFiles } from "../../../src/application/process/ProcessCli.js"; -import { PROCESS_PROVIDER } from "../../../src/application/process/ProcessEvidence.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/contracts/process/processCaptureExample.js"; +import { PROCESS_PROVIDER } from "../../../src/domain/process/processEvidenceProvider.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/domain/process/processCaptureExample.js"; import { createEvidence } from "../../../src/domain/evidence.js"; import { jsonValueSchema } from "../../../src/domain/jsonValue.js"; -import { digestProcessCommitment } from "../../../src/domain/process/processCapture.js"; +import { digestProcessCommitment } from "../../../src/domain/process/processScenario.js"; import { createServer } from "../../../src/server/createServer.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/mcp/processEvidenceIdentityMcp.test.ts b/tests/boundary/mcp/processEvidenceIdentityMcp.test.ts index ceaf37480e..9fc252995d 100644 --- a/tests/boundary/mcp/processEvidenceIdentityMcp.test.ts +++ b/tests/boundary/mcp/processEvidenceIdentityMcp.test.ts @@ -6,13 +6,13 @@ import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { expect, it, onTestFinished } from "vitest"; import { compareProcessEvidenceFiles } from "../../../src/application/process/ProcessCli.js"; -import { PROCESS_PROVIDER } from "../../../src/application/process/ProcessEvidence.js"; +import { PROCESS_PROVIDER } from "../../../src/domain/process/processEvidenceProvider.js"; import { FUNCTION_COMPARISON_EXAMPLE } from "../../../src/contracts/functionComparisonExample.js"; import { FUNCTION_COMPARISON_EVIDENCE, INVESTIGATION_EXAMPLES, } from "../../../src/contracts/investigationExamples.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/contracts/process/processCaptureExample.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/domain/process/processCaptureExample.js"; import { findChangedBehavior } from "../../../src/domain/changedBehavior.js"; import { createEvidence, @@ -20,12 +20,12 @@ import { type Evidence, } from "../../../src/domain/evidence.js"; import { createEvidenceBundle } from "../../../src/domain/evidenceBundle.js"; -import { verifyReconstruction } from "../../../src/domain/reconstructionVerification.js"; import { correlateStaticAndRuntime } from "../../../src/domain/staticRuntimeCorrelation.js"; import { createServer } from "../../../src/server/createServer.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; +import { verifyReconstruction } from "../../../src/domain/reconstructionVerification.js"; const providerNames = [ "REA process capture", "REA deterministic process harness", diff --git a/tests/boundary/mcp/processTraceAdaptersParity.test.ts b/tests/boundary/mcp/processTraceAdaptersParity.test.ts index 94e595001a..913d640cdc 100644 --- a/tests/boundary/mcp/processTraceAdaptersParity.test.ts +++ b/tests/boundary/mcp/processTraceAdaptersParity.test.ts @@ -8,11 +8,11 @@ import { afterEach, describe, expect, it } from "vitest"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import type { AnalysisClient } from "../../../src/application/AnalysisProvider.js"; import { compareProcessEvidenceFiles } from "../../../src/application/process/ProcessCli.js"; -import { PROCESS_PROVIDER } from "../../../src/application/process/ProcessEvidence.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/contracts/process/processCaptureExample.js"; +import { PROCESS_PROVIDER } from "../../../src/domain/process/processEvidenceProvider.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/domain/process/processCaptureExample.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; import { jsonValueSchema } from "../../../src/domain/jsonValue.js"; -import type { ProcessTraceSpecification } from "../../../src/domain/process/processTraceComparison.js"; +import type { ProcessTraceSpecification } from "../../../src/domain/process/processTraceSpecification.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed as ok } from "../../fixtures/analysisExecution.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts b/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts index e9c0dd2227..3cf450a7b4 100644 --- a/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts +++ b/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts @@ -7,9 +7,9 @@ import { createServer } from "../../../src/server/createServer.js"; import { JAVASCRIPT_FEATURE_TRACE_EXAMPLE, JAVASCRIPT_APPLICATION_VERSION_COMPARISON_EXAMPLE, - JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, } from "../../../src/contracts/javascript/javascriptApplicationWorkflowExamples.js"; +import { JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE } from "../../../src/contracts/javascript/javascriptExportShapeComparisonExample.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; const resources: Array<{ close(): Promise }> = []; diff --git a/tests/boundary/mcp/serverIdentity.test.ts b/tests/boundary/mcp/serverIdentity.test.ts index 1c28ddeeb4..aa81a85400 100644 --- a/tests/boundary/mcp/serverIdentity.test.ts +++ b/tests/boundary/mcp/serverIdentity.test.ts @@ -10,10 +10,8 @@ import { z } from "zod"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { machoImage } from "../../../src/artifacts/apple/MachoImage.fixture.js"; -import { - CATALOG_IDENTITY, - CLI_COMMAND_NAMES, -} from "../../../src/catalogIdentity.js"; +import { CATALOG_IDENTITY } from "../../../src/catalogIdentity.js"; +import { CLI_COMMAND_NAMES } from "../../../src/cliCommandNames.js"; import { PACKAGE_METADATA } from "../../../src/generatedPackageMetadata.js"; import { PRODUCT_IDENTITY, SDK_IDENTITY } from "../../../src/identity.js"; import { TOOL_CONTRACTS } from "../../../src/contracts/toolContracts.js"; diff --git a/tests/boundary/mcp/serverUnknownsMcp.test.ts b/tests/boundary/mcp/serverUnknownsMcp.test.ts index 70d8417b69..fe4dc84998 100644 --- a/tests/boundary/mcp/serverUnknownsMcp.test.ts +++ b/tests/boundary/mcp/serverUnknownsMcp.test.ts @@ -16,11 +16,11 @@ import { observed as ok } from "../../fixtures/analysisExecution.js"; import { createServer } from "../../../src/server/createServer.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; import { parseEvidenceBundle } from "../../../src/domain/evidenceBundle.js"; -import { processCaptureSchema } from "../../../src/domain/process/processCapture.js"; -import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/contracts/process/processCaptureExample.js"; +import { EMPTY_PROCESS_CAPTURE_EXAMPLE } from "../../../src/domain/process/processCaptureExample.js"; import { jsonValueSchema } from "../../../src/domain/jsonValue.js"; -import { PROCESS_PROVIDER } from "../../../src/server/sessionToolPolicies.js"; +import { PROCESS_PROVIDER } from "../../../src/domain/process/processEvidenceProvider.js"; +import { processCaptureSchema } from "../../../src/domain/process/processCapture.js"; const resources: Array<{ close(): Promise }> = []; afterEach(async () => { diff --git a/tests/boundary/mcp/toolResult.test.ts b/tests/boundary/mcp/toolResult.test.ts index 92c336fa55..454e600a23 100644 --- a/tests/boundary/mcp/toolResult.test.ts +++ b/tests/boundary/mcp/toolResult.test.ts @@ -8,21 +8,19 @@ import { import { ProcessCaptureError } from "../../../src/process/capture/ProcessCaptureError.js"; import { resolveProcessResult } from "../../../src/process/capture/ProcessCaptureLifecycle.js"; -import { - toolContract, - type ToolContract, -} from "../../../src/contracts/toolContracts.js"; +import { toolContract } from "../../../src/contracts/toolContracts.js"; +import type { ToolContract } from "../../../src/contracts/toolContractTypes.js"; import { err } from "../../../src/domain/result.js"; import { HopperProcessError } from "../../../src/domain/hopperErrors.js"; -import type { IncompleteProcessCaptureObservations } from "../../../src/domain/process/processCapture.js"; import { processScenarioSchema } from "../../../src/domain/process/processScenario.js"; import { ToolResultDelivery } from "../../../src/server/toolResult.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; import { emptyProcessCapture } from "../../../src/domain/process/processCapture.fixture.js"; import type { JsonValue } from "../../../src/domain/jsonValue.js"; -import { evidenceResultOf } from "../../../src/contracts/toolOutputSchemas.js"; +import { evidenceResultOf } from "../../../src/contracts/toolOutputSchemaPrimitives.js"; import { toolRegistrationOptions } from "../../../src/server/toolRegistrationOptions.js"; +import type { IncompleteProcessCaptureObservations } from "../../../src/domain/process/processCapture.js"; const delivery = new ToolResultDelivery(STDIO_DEFAULT_MAX_BUFFER_SIZE); const contract: ToolContract = { diff --git a/tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts b/tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts index b0c53f7373..9d2635ac75 100644 --- a/tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts +++ b/tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts @@ -1,4 +1,4 @@ -import { parseConfig } from "../../../src/config.js"; +import { parseConfig } from "../../../src/config/parseConfig.js"; import { writeFile } from "node:fs/promises"; import { join } from "node:path"; diff --git a/tests/boundary/process/ProcessEvidence.host.test.ts b/tests/boundary/process/ProcessEvidence.host.test.ts index 9a7e67a2db..d8a3354df5 100644 --- a/tests/boundary/process/ProcessEvidence.host.test.ts +++ b/tests/boundary/process/ProcessEvidence.host.test.ts @@ -1,7 +1,7 @@ import { expect, it } from "vitest"; import { emptyUnverifiedProcessCapture } from "../../../src/domain/process/processCapture.fixture.js"; -import { parseProcessCapture } from "../../../src/domain/process/processCapture.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; import { parseProcessScenario } from "../../../src/domain/process/processScenario.js"; import { createProcessCaptureEvidence } from "../../../src/application/process/ProcessEvidence.js"; import { observeSettlement } from "../../../src/process/capture/ProcessCaptureLifecycle.js"; diff --git a/tests/boundary/process/ProcessEvidence.test.ts b/tests/boundary/process/ProcessEvidence.test.ts index 1c35de7619..c2bf779ac0 100644 --- a/tests/boundary/process/ProcessEvidence.test.ts +++ b/tests/boundary/process/ProcessEvidence.test.ts @@ -7,10 +7,8 @@ import { observeSelectedExecutable, } from "../../../src/process/capture/ProcessCaptureLifecycle.js"; import { emptyUnverifiedProcessCapture } from "../../../src/domain/process/processCapture.fixture.js"; -import { - compareProcessCaptures, - parseProcessCapture, -} from "../../../src/domain/process/processCapture.js"; +import { compareProcessCaptures } from "../../../src/domain/process/processComparison.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; import { digestProcessCommitment, parseProcessScenario, diff --git a/tests/boundary/process/cliEnvironmentSeam.test.ts b/tests/boundary/process/cliEnvironmentSeam.test.ts index 1d25b54f2b..f3304bcdcc 100644 --- a/tests/boundary/process/cliEnvironmentSeam.test.ts +++ b/tests/boundary/process/cliEnvironmentSeam.test.ts @@ -9,9 +9,9 @@ import { isProcessCliFailure, } from "../../../src/application/process/ProcessCli.js"; import { createDirectAnalysis } from "../../../src/composition/directAnalysis.js"; -import { probeProcessCaptureCapability } from "../../../src/process/capture/ProcessHarness.js"; +import { probeProcessCaptureCapability } from "../../../src/process/capture/ProcessCaptureCapability.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { parseProcessCapture } from "../../../src/domain/process/processCapture.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; describe("the CLI takes its environment as an input", () => { it("resolves from injected PATH and inherits injected env with scenario overrides", async ({ diff --git a/tests/boundary/process/processCaptureLifecycle.test.ts b/tests/boundary/process/processCaptureLifecycle.test.ts index dc9e84d28b..72a355276c 100644 --- a/tests/boundary/process/processCaptureLifecycle.test.ts +++ b/tests/boundary/process/processCaptureLifecycle.test.ts @@ -17,10 +17,8 @@ import { observeLaunchedExecutable, observeSelectedExecutable, } from "../../../src/process/capture/ProcessCaptureLifecycle.js"; -import { - parseProcessScenario, - type ProcessCapture, -} from "../../../src/domain/process/processCapture.js"; +import { parseProcessScenario } from "../../../src/domain/process/processScenario.js"; +import { type ProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; const processFixture = fileURLToPath( new URL("../../fixtures/processFidelity.mjs", import.meta.url), diff --git a/tests/boundary/process/processCaptureNormalization.test.ts b/tests/boundary/process/processCaptureNormalization.test.ts index 697a06f637..58cf22c0fd 100644 --- a/tests/boundary/process/processCaptureNormalization.test.ts +++ b/tests/boundary/process/processCaptureNormalization.test.ts @@ -8,9 +8,9 @@ import { captureProcessScenario } from "../../../src/process/capture/ProcessHarn import { createProcessCaptureEvidence } from "../../../src/application/process/ProcessEvidence.js"; import { digestProcessCommitment, - parseProcessCapture, parseProcessScenario, -} from "../../../src/domain/process/processCapture.js"; +} from "../../../src/domain/process/processScenario.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { itWithCaptureCapability } from "./processCaptureCapability.js"; diff --git a/tests/boundary/process/processCaptureTerminal.test.ts b/tests/boundary/process/processCaptureTerminal.test.ts index 355f416839..bc2ff739a2 100644 --- a/tests/boundary/process/processCaptureTerminal.test.ts +++ b/tests/boundary/process/processCaptureTerminal.test.ts @@ -5,7 +5,7 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { itWithCaptureCapability } from "./processCaptureCapability.js"; import { captureProcessScenario } from "../../../src/process/capture/ProcessHarness.js"; -import { parseProcessScenario } from "../../../src/domain/process/processCapture.js"; +import { parseProcessScenario } from "../../../src/domain/process/processScenario.js"; itWithCaptureCapability( "captures one command's terminal output, selected files, and owned cleanup", diff --git a/tests/boundary/process/processCli.test.ts b/tests/boundary/process/processCli.test.ts index 0d47850d66..4186481050 100644 --- a/tests/boundary/process/processCli.test.ts +++ b/tests/boundary/process/processCli.test.ts @@ -16,7 +16,7 @@ import { } from "../../../src/application/process/ProcessCli.js"; import { createEvidence } from "../../../src/domain/evidence.js"; import { ProcessCaptureError } from "../../../src/process/capture/ProcessCaptureError.js"; -import { PROCESS_PROVIDER } from "../../../src/application/process/ProcessEvidence.js"; +import { PROCESS_PROVIDER } from "../../../src/domain/process/processEvidenceProvider.js"; import { INVESTIGATION_EXAMPLES } from "../../../src/contracts/investigationExamples.js"; const roots: string[] = []; diff --git a/tests/boundary/process/processFilesystemCoverageAdapters.test.ts b/tests/boundary/process/processFilesystemCoverageAdapters.test.ts index b062596439..2b2b01f956 100644 --- a/tests/boundary/process/processFilesystemCoverageAdapters.test.ts +++ b/tests/boundary/process/processFilesystemCoverageAdapters.test.ts @@ -5,10 +5,8 @@ import { promisify } from "node:util"; import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { expect, it, onTestFinished } from "vitest"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { - compareProcessCaptures, - parseProcessCapture, -} from "../../../src/domain/process/processCapture.js"; +import { compareProcessCaptures } from "../../../src/domain/process/processComparison.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; import { createServer } from "../../../src/server/createServer.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/process/processPreparation.test.ts b/tests/boundary/process/processPreparation.test.ts index 2b0d1bee20..dcfae9f126 100644 --- a/tests/boundary/process/processPreparation.test.ts +++ b/tests/boundary/process/processPreparation.test.ts @@ -2,7 +2,7 @@ import { expect, it, vi } from "vitest"; import { snapshotRoots } from "../../../src/process/capture/FilesystemSnapshot.js"; import { prepareProcessCapture } from "../../../src/process/capture/ProcessCaptureLifecycle.js"; -import { parseProcessScenario } from "../../../src/domain/process/processCapture.js"; +import { parseProcessScenario } from "../../../src/domain/process/processScenario.js"; it("prepares ownership inspection before snapshotting or allocating a target run", async () => { const failure = new Error("native process identity inspection unavailable"); diff --git a/tests/boundary/process/processTruncationAdapters.test.ts b/tests/boundary/process/processTruncationAdapters.test.ts index 00e2c7f5c2..701ae6d4d1 100644 --- a/tests/boundary/process/processTruncationAdapters.test.ts +++ b/tests/boundary/process/processTruncationAdapters.test.ts @@ -5,11 +5,9 @@ import { promisify } from "node:util"; import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { expect, onTestFinished } from "vitest"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { - compareProcessCaptures, - parseProcessCapture, - processCaptureSchema, -} from "../../../src/domain/process/processCapture.js"; +import { compareProcessCaptures } from "../../../src/domain/process/processComparison.js"; +import { parseProcessCapture } from "../../../src/domain/process/processCaptureParsing.js"; +import { processCaptureSchema } from "../../../src/domain/process/processCapture.js"; import { processSourceTruncated } from "../../../src/domain/process/processCaptureCoverage.js"; import { compareProcessTraces } from "../../../src/domain/process/processTraceComparison.js"; import { createServer } from "../../../src/server/createServer.js"; diff --git a/tests/boundary/providers/ghidra/ghidraClient.test.ts b/tests/boundary/providers/ghidra/ghidraClient.test.ts index 57aa495c8a..ed60ccf90e 100644 --- a/tests/boundary/providers/ghidra/ghidraClient.test.ts +++ b/tests/boundary/providers/ghidra/ghidraClient.test.ts @@ -7,13 +7,11 @@ import { fileURLToPath } from "node:url"; import { afterEach, describe, expect, it, onTestFinished, vi } from "vitest"; import pino from "pino"; -import type { Logger } from "../../../../src/logger.js"; +import type { Logger } from "pino"; import { ok } from "../../../../src/domain/result.js"; -import { - GhidraClient, - type GhidraDiagnostic, -} from "../../../../src/ghidra/GhidraClient.js"; +import { GhidraClient } from "../../../../src/ghidra/GhidraClient.js"; +import type { GhidraDiagnostic } from "../../../../src/ghidra/GhidraClientTypes.js"; import type { GhidraLaunchSession, GhidraLauncher, diff --git a/tests/boundary/providers/hopper/hopperAnalysisProfile.test.ts b/tests/boundary/providers/hopper/hopperAnalysisProfile.test.ts index 66368d1787..fd2a9c0db3 100644 --- a/tests/boundary/providers/hopper/hopperAnalysisProfile.test.ts +++ b/tests/boundary/providers/hopper/hopperAnalysisProfile.test.ts @@ -5,12 +5,12 @@ import { afterEach, describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../../fixtures/temporaryDirectory.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; import { hopperLoaderArgsForTarget, resolveHopperAnalysisProfile, } from "../../../../src/hopper/HopperAnalysisProfile.js"; -import { HOPPER_PROVIDER_IDENTITY } from "../../../../src/hopper/HopperProvider.js"; +import { HOPPER_PROVIDER_IDENTITY } from "../../../../src/hopper/HopperProviderCapabilities.js"; let directory: string | undefined; diff --git a/tests/boundary/providers/hopper/hopperClient.protocol.test.ts b/tests/boundary/providers/hopper/hopperClient.protocol.test.ts index a1706177c8..007f9d3369 100644 --- a/tests/boundary/providers/hopper/hopperClient.protocol.test.ts +++ b/tests/boundary/providers/hopper/hopperClient.protocol.test.ts @@ -3,7 +3,7 @@ import { once } from "node:events"; import { describe, expect, it, onTestFinished, vi } from "vitest"; import { HopperProcessError } from "../../../../src/domain/hopperErrors.js"; -import { HOPPER_OPERATIONS } from "../../../../src/hopper/HopperProvider.js"; +import { HOPPER_OPERATIONS } from "../../../../src/hopper/HopperProviderCapabilities.js"; import { HopperClient } from "../../../../src/hopper/HopperClient.js"; import type { HopperDiagnostic } from "../../../../src/hopper/HopperDiagnostics.js"; import { providerCleanupFailure } from "../../../../src/hopper/HopperDiagnostics.js"; diff --git a/tests/boundary/providers/managed/managedMemberComparison.test.ts b/tests/boundary/providers/managed/managedMemberComparison.test.ts index 4caf2b22ef..9b2ccee025 100644 --- a/tests/boundary/providers/managed/managedMemberComparison.test.ts +++ b/tests/boundary/providers/managed/managedMemberComparison.test.ts @@ -10,10 +10,8 @@ import { compareManagedMemberPaths, } from "../../../../src/application/managed/ManagedMemberComparisonService.js"; import { parseBinaryTarget } from "../../../../src/application/BinaryTargetResolver.js"; -import { - managedMemberComparisonResultSchema, - parseManagedMemberEvidence, -} from "../../../../src/domain/managed/managedMemberComparison.js"; +import { managedMemberComparisonResultSchema } from "../../../../src/domain/managed/managedMemberComparison.js"; +import { parseManagedMemberEvidence } from "../../../../src/domain/managed/managedMemberComparisonMatch.js"; import { createEvidence } from "../../../../src/domain/evidence.js"; import { projectAnalysisError } from "../../../../src/domain/analysisErrorProjection.js"; import { jsonValueSchema } from "../../../../src/domain/jsonValue.js"; diff --git a/tests/boundary/providers/native/artifactProvider.archiveInventory.test.ts b/tests/boundary/providers/native/artifactProvider.archiveInventory.test.ts index b813da121e..06fe705277 100644 --- a/tests/boundary/providers/native/artifactProvider.archiveInventory.test.ts +++ b/tests/boundary/providers/native/artifactProvider.archiveInventory.test.ts @@ -11,7 +11,7 @@ import { createDirectAnalysis } from "../../../../src/composition/directAnalysis import { ArtifactProvider } from "../../../../src/artifacts/ArtifactProvider.js"; import { artifactInventoryResultSchema } from "../../../../src/domain/artifactGraph.js"; import { artifactInspectionResultSchema } from "../../../../src/domain/artifactInspection.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; import { parseBinaryTarget } from "../../../../src/application/BinaryTargetResolver.js"; import { parseEvidence } from "../../../../src/domain/evidence.js"; diff --git a/tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts b/tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts index 0295af757a..368d029dc3 100644 --- a/tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts +++ b/tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts @@ -15,7 +15,7 @@ import { ArtifactProvider } from "../../../../src/artifacts/ArtifactProvider.js" import { ArtifactReaderFailure } from "../../../../src/artifacts/ArtifactReader.js"; import { artifactExtractionExecutionSchema } from "../../../../src/contracts/artifactToolContracts.js"; import { artifactInventoryResultSchema } from "../../../../src/domain/artifactGraph.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; import { parseBinaryTarget } from "../../../../src/application/BinaryTargetResolver.js"; import { parseEvidence } from "../../../../src/domain/evidence.js"; diff --git a/tests/boundary/providers/native/artifactProvider.directoryInventory.test.ts b/tests/boundary/providers/native/artifactProvider.directoryInventory.test.ts index 8321d3a1d6..f6e226a1df 100644 --- a/tests/boundary/providers/native/artifactProvider.directoryInventory.test.ts +++ b/tests/boundary/providers/native/artifactProvider.directoryInventory.test.ts @@ -7,7 +7,7 @@ import { createTestTempDirectory } from "../../../fixtures/temporaryDirectory.js import { ArtifactProvider } from "../../../../src/artifacts/ArtifactProvider.js"; import { artifactInventoryResultSchema } from "../../../../src/domain/artifactGraph.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; describe("artifact directory inventory", () => { it("inventories app trees deterministically without following symlinks", async () => { diff --git a/tests/boundary/providers/native/artifactProvider.extraction.test.ts b/tests/boundary/providers/native/artifactProvider.extraction.test.ts index f6d0e08479..9726e5560b 100644 --- a/tests/boundary/providers/native/artifactProvider.extraction.test.ts +++ b/tests/boundary/providers/native/artifactProvider.extraction.test.ts @@ -11,7 +11,7 @@ import { artifactExtractionResultSchema, artifactInventoryResultSchema, } from "../../../../src/domain/artifactGraph.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; describe("artifact extraction", () => { it("extracts all regular occurrences through an exclusively owned output tree", async () => { diff --git a/tests/boundary/providers/native/artifactProvider.extractionFormat.test.ts b/tests/boundary/providers/native/artifactProvider.extractionFormat.test.ts index 527e5faf05..81b3cce52d 100644 --- a/tests/boundary/providers/native/artifactProvider.extractionFormat.test.ts +++ b/tests/boundary/providers/native/artifactProvider.extractionFormat.test.ts @@ -7,7 +7,7 @@ import { createTestTempDirectory } from "../../../fixtures/temporaryDirectory.js import { ArtifactProvider } from "../../../../src/artifacts/ArtifactProvider.js"; import { artifactExtractionExecutionSchema } from "../../../../src/contracts/artifactToolContracts.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; describe("artifact extraction format support", () => { it("refuses unsupported formats before inventory or output", async () => { diff --git a/tests/boundary/providers/native/artifactProvider.extractionIdentity.test.ts b/tests/boundary/providers/native/artifactProvider.extractionIdentity.test.ts index cf63dbd6c7..fa0081f46e 100644 --- a/tests/boundary/providers/native/artifactProvider.extractionIdentity.test.ts +++ b/tests/boundary/providers/native/artifactProvider.extractionIdentity.test.ts @@ -8,7 +8,7 @@ import { createTestTempDirectory } from "../../../fixtures/temporaryDirectory.js import { ArtifactProvider } from "../../../../src/artifacts/ArtifactProvider.js"; import { artifactExtractionExecutionSchema } from "../../../../src/contracts/artifactToolContracts.js"; import { artifactExtractionResultSchema } from "../../../../src/domain/artifactGraph.js"; -import type { BinaryTarget } from "../../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../../src/domain/binaryTargetTypes.js"; describe("artifact extraction identity", () => { it("uses code-point order for path-independent extraction identities", async () => { diff --git a/tests/composition/analysis-sessions/compositeProvider.test.ts b/tests/composition/analysis-sessions/compositeProvider.test.ts index 760c0d062e..d41229f968 100644 --- a/tests/composition/analysis-sessions/compositeProvider.test.ts +++ b/tests/composition/analysis-sessions/compositeProvider.test.ts @@ -11,7 +11,7 @@ import type { ProviderIdentity, } from "../../../src/application/AnalysisProvider.js"; import { createAnalysisExecution } from "../../../src/application/AnalysisProvider.js"; -import type { BinaryTarget } from "../../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../../src/domain/binaryTargetTypes.js"; import { ok } from "../../../src/domain/result.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/composition/directAnalysisCleanup.test.ts b/tests/composition/directAnalysisCleanup.test.ts index 7b992bcaca..9e533bb890 100644 --- a/tests/composition/directAnalysisCleanup.test.ts +++ b/tests/composition/directAnalysisCleanup.test.ts @@ -5,7 +5,7 @@ import { runProviderAnalysis, } from "../../src/application/DirectAnalysis.js"; import type { DirectAnalysisDependencies } from "../../src/application/DirectAnalysisDependencies.js"; -import { parseConfig } from "../../src/config.js"; +import { parseConfig } from "../../src/config/parseConfig.js"; import type { AnalysisError } from "../../src/domain/analysisErrorBase.js"; import { AnalysisTimeoutError } from "../../src/domain/analysisErrorCore.js"; import { projectAnalysisError } from "../../src/domain/analysisErrorProjection.js"; diff --git a/tests/composition/directAnalysisFactories.test.ts b/tests/composition/directAnalysisFactories.test.ts index 8de5adf987..c1f294b61e 100644 --- a/tests/composition/directAnalysisFactories.test.ts +++ b/tests/composition/directAnalysisFactories.test.ts @@ -1,4 +1,4 @@ -import { parseConfig } from "../../src/config.js"; +import { parseConfig } from "../../src/config/parseConfig.js"; import { ok as resultOk } from "../../src/domain/result.js"; import { describe, expect, it } from "vitest"; import { diff --git a/tests/composition/directAnalysisSnapshotReplay.test.ts b/tests/composition/directAnalysisSnapshotReplay.test.ts index 0bc695b3ef..0a2332e0da 100644 --- a/tests/composition/directAnalysisSnapshotReplay.test.ts +++ b/tests/composition/directAnalysisSnapshotReplay.test.ts @@ -1,4 +1,4 @@ -import { parseConfig } from "../../src/config.js"; +import { parseConfig } from "../../src/config/parseConfig.js"; import { writeFile } from "node:fs/promises"; import { join } from "node:path"; diff --git a/tests/composition/directAnalysisXrefs.test.ts b/tests/composition/directAnalysisXrefs.test.ts index 4fe3bfadb9..b68832afa7 100644 --- a/tests/composition/directAnalysisXrefs.test.ts +++ b/tests/composition/directAnalysisXrefs.test.ts @@ -1,4 +1,4 @@ -import { parseConfig } from "../../src/config.js"; +import { parseConfig } from "../../src/config/parseConfig.js"; import { describe, expect, it } from "vitest"; import { runDirectAnalysis } from "../../src/application/DirectAnalysis.js"; import type { DirectAnalysisDependencies } from "../../src/application/DirectAnalysisDependencies.js"; diff --git a/tests/composition/idaProvider.test.ts b/tests/composition/idaProvider.test.ts index a20fc0c854..9a702bb455 100644 --- a/tests/composition/idaProvider.test.ts +++ b/tests/composition/idaProvider.test.ts @@ -4,7 +4,7 @@ import { afterEach, describe, expect, it } from "vitest"; import { IdaProvider } from "../../src/ida/IdaProvider.js"; import { createIdaTarget, RecordingIdaMcp } from "../fixtures/idaMcp.js"; import { createTestBinarySession } from "../fixtures/binarySession.js"; -import { parseConfig } from "../../src/config.js"; +import { parseConfig } from "../../src/config/parseConfig.js"; import { createAnalysisSnapshotEntry, snapshotBinding, @@ -13,7 +13,7 @@ import { import { createEvidence } from "../../src/domain/evidence.js"; import { createEvidenceBundle } from "../../src/domain/evidenceBundle.js"; import { createAnalysisExecution } from "../../src/application/AnalysisProvider.js"; -import { IDA_PROVIDER_IDENTITY } from "../../src/ida/IdaProvider.js"; +import { IDA_PROVIDER_IDENTITY } from "../../src/ida/IdaProviderCapabilities.js"; const roots: string[] = []; afterEach(async () => { diff --git a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts index e97892e08a..b934e3e366 100644 --- a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts +++ b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts @@ -19,7 +19,7 @@ import { } from "../../../src/application/javascript/JavaScriptSemanticGraphBuilder.js"; import { createJavaScriptArtifactReader } from "../../../src/artifacts/javascript/JavaScriptArtifactReader.js"; import { readJavaScriptArtifactFiles } from "../../../src/artifacts/javascript/JavaScriptArtifactFiles.js"; -import { scanCanonicalArtifactInventory } from "../../../src/artifacts/inventory/ArtifactInventory.js"; +import { scanCanonicalArtifactInventory } from "../../../src/artifacts/inventory/scanCanonical.js"; import { scanArtifactInventory } from "../../../src/artifacts/inventory/ArtifactInventory.js"; import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascript/javascriptApplicationGraph.js"; import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; diff --git a/tests/conformance/providers/managed/managedNativeVerification.test.ts b/tests/conformance/providers/managed/managedNativeVerification.test.ts index 72b7569f1f..bca7dbfdce 100644 --- a/tests/conformance/providers/managed/managedNativeVerification.test.ts +++ b/tests/conformance/providers/managed/managedNativeVerification.test.ts @@ -6,11 +6,11 @@ import { createEvidence } from "../../../../src/domain/evidence.js"; import { managedNativeVerificationInputSchema, managedNativeVerificationResultSchema, - verifyManagedNativeBoundaries, -} from "../../../../src/domain/managed/managedNativeVerification.js"; +} from "../../../../src/domain/managed/managedNativeVerificationSchemas.js"; import { managedNativeBoundaryInspectionSchema } from "../../../../src/domain/managed/managedArtifact.js"; import { inspectMachoSchema } from "../../../../src/domain/native/nativeInspection.js"; +import { verifyManagedNativeBoundaries } from "../../../../src/domain/managed/managedNativeVerification.js"; const exampleInput = () => managedNativeVerificationInputSchema.parse( MANAGED_NATIVE_VERIFICATION_EXAMPLE, diff --git a/tests/fixtures/binarySession.ts b/tests/fixtures/binarySession.ts index 60ced64278..afe0981ef7 100644 --- a/tests/fixtures/binarySession.ts +++ b/tests/fixtures/binarySession.ts @@ -2,7 +2,7 @@ import { writeFile } from "node:fs/promises"; import { join } from "node:path"; import { createAnalysisProfile } from "../../src/domain/analysisProfile.js"; -import type { BinaryTarget } from "../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../src/domain/binaryTargetTypes.js"; import type { AnalysisError } from "../../src/domain/analysisErrorBase.js"; import { HopperStartError } from "../../src/domain/hopperErrors.js"; import type { Result } from "../../src/domain/result.js"; diff --git a/tests/fixtures/contractPresentation.mjs b/tests/fixtures/contractPresentation.mjs index ecfad8d231..73b3add91e 100644 --- a/tests/fixtures/contractPresentation.mjs +++ b/tests/fixtures/contractPresentation.mjs @@ -6,7 +6,7 @@ import { BROWSER_SCENARIO_TOOL_CONTRACTS } from "../../dist/contracts/browserSce import { ELECTRON_TOOL_CONTRACTS } from "../../dist/contracts/javascript/electronToolContracts.js"; import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "../../dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js"; import { TOOL_CONTRACTS } from "../../dist/contracts/toolContracts.js"; -import { parseConfig } from "../../dist/config.js"; +import { parseConfig } from "../../dist/config/parseConfig.js"; import { createBinarySession } from "../../dist/composition/binary.js"; // Mutate only this child's presentation arrays, before importing registration. diff --git a/tests/fixtures/directAnalysisInterrupt.mjs b/tests/fixtures/directAnalysisInterrupt.mjs index e2443f5461..b3a4032d72 100644 --- a/tests/fixtures/directAnalysisInterrupt.mjs +++ b/tests/fixtures/directAnalysisInterrupt.mjs @@ -1,4 +1,4 @@ -import { parseConfig } from "../../dist/config.js"; +import { parseConfig } from "../../dist/config/parseConfig.js"; import { access, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { setTimeout as delay } from "node:timers/promises"; diff --git a/tests/fixtures/idaMcp.ts b/tests/fixtures/idaMcp.ts index 0f00768160..ae8c1f0530 100644 --- a/tests/fixtures/idaMcp.ts +++ b/tests/fixtures/idaMcp.ts @@ -2,7 +2,7 @@ import { createHash } from "node:crypto"; import { mkdtemp, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import type { BinaryTarget } from "../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../src/domain/binaryTargetTypes.js"; import type { JsonValue } from "../../src/domain/jsonValue.js"; import type { IdaMcpConnection } from "../../src/ida/IdaMcpConnection.js"; import { elf } from "../../src/domain/binaryTarget.fixture.js"; diff --git a/tests/fixtures/nativeCommands.ts b/tests/fixtures/nativeCommands.ts index 760f45614f..5f57ee7c07 100644 --- a/tests/fixtures/nativeCommands.ts +++ b/tests/fixtures/nativeCommands.ts @@ -1,6 +1,6 @@ import { createHash } from "node:crypto"; import { readFile } from "node:fs/promises"; -import type { BinaryTarget } from "../../src/domain/binaryTarget.js"; +import type { BinaryTarget } from "../../src/domain/binaryTargetTypes.js"; import { ok } from "../../src/domain/result.js"; import type { NativeCommandCapture, diff --git a/tests/support/javascriptApplicationFixture.ts b/tests/support/javascriptApplicationFixture.ts index 4c60b99ea2..c8522aeb61 100644 --- a/tests/support/javascriptApplicationFixture.ts +++ b/tests/support/javascriptApplicationFixture.ts @@ -5,8 +5,8 @@ import { reconstructJavaScriptArtifact } from "../../src/application/javascript/ import type { ApplicationEdge, ApplicationNode, - JavaScriptApplicationGraph, -} from "../../src/domain/javascript/javascriptApplicationGraph.js"; +} from "../../src/domain/javascript/javascriptApplicationGraphSchemas.js"; +import type { JavaScriptApplicationGraph } from "../../src/domain/javascript/javascriptApplicationGraph.js"; /** Write text fixture files, creating parent directories as needed. */ export const writeFixtureFiles = async (