diff --git a/src/cli.ts b/src/cli.ts index 90306c802a..b9b39a85a8 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -9,13 +9,13 @@ import { registerUtilityCommands } from "./cli/utilityCommands.js"; import { registerArtifactCommands } from "./cli/artifactCommands.js"; import { registerManagedCommands } from "./cli/managedCommands.js"; import { registerEvidenceCommands } from "./cliEvidenceCommands.js"; -import { registerProcessCommands } from "./cliProcessCommands.js"; -import { registerBrowserCommands } from "./cliBrowserCommands.js"; -import { registerAdvancedBrowserCommands } from "./cliBrowserAdvancedCommands.js"; +import { registerProcessCommands } from "./cli/processCommands.js"; +import { registerBrowserCommands } from "./cli/browserCommands.js"; +import { registerAdvancedBrowserCommands } from "./cli/browserAdvancedCommands.js"; import { registerBrowserScenarioCommands } from "./cliBrowserScenarioCommands.js"; -import { registerElectronCommands } from "./cliElectronCommands.js"; +import { registerElectronCommands } from "./cli/electronCommands.js"; import { registerJavaScriptRuntimeObservationCommands } from "./cliJavaScriptRuntimeCommands.js"; -import { registerApplicationCommands } from "./cliApplicationCommands.js"; +import { registerApplicationCommands } from "./cli/applicationCommands.js"; import type { CliInstance } from "./cli/types.js"; /** diff --git a/src/cliApplicationCommands.ts b/src/cli/applicationCommands.ts similarity index 79% rename from src/cliApplicationCommands.ts rename to src/cli/applicationCommands.ts index 4172e33ffa..cc11b458d8 100644 --- a/src/cliApplicationCommands.ts +++ b/src/cli/applicationCommands.ts @@ -5,30 +5,30 @@ import { compareJavaScriptExportShapesEvidenceValidated, compareSourceToBundleEvidenceValidated, traceApplicationFeatureEvidenceValidated, -} from "./application/JavaScriptApplicationWorkflowService.js"; -import { traceJavaScriptSemanticsEvidenceValidated } from "./application/JavaScriptSemanticTraceService.js"; +} from "../application/JavaScriptApplicationWorkflowService.js"; +import { traceJavaScriptSemanticsEvidenceValidated } from "../application/JavaScriptSemanticTraceService.js"; import { evaluateReconstructionCoverage, reconstructionCoverageEvaluationInputSchema, -} from "./application/ReconstructionCoverageService.js"; -import { buildReconstructionObligationLedgerEvidenceValidated } from "./application/ReconstructionObligationLedgerService.js"; -import { CLI_COMMANDS } from "./cliCommandNames.js"; -import { parseCliJsonInput } from "./cliJsonInput.js"; -import { logCliCommand } from "./cliLogging.js"; +} from "../application/ReconstructionCoverageService.js"; +import { buildReconstructionObligationLedgerEvidenceValidated } from "../application/ReconstructionObligationLedgerService.js"; +import { CLI_COMMANDS } from "../cliCommandNames.js"; +import { parseCliJsonInput } from "../cliJsonInput.js"; +import { logCliCommand } from "../cliLogging.js"; import { AnalysisInputError, projectAnalysisError, type AnalysisError, -} from "./domain/errors.js"; -import { jsonValueSchema, type JsonValue } from "./domain/jsonValue.js"; -import type { Logger } from "./logger.js"; -import { traceApplicationFeatureInputSchema } from "./domain/javascriptFeatureTraceSchemas.js"; -import { traceJavaScriptSemanticsInputSchema } from "./domain/javascriptSemanticTraceSchemas.js"; -import { compareApplicationVersionsInputSchema } from "./domain/javascriptApplicationVersionComparisonSchemas.js"; -import { compareSourceToBundleInputSchema } from "./domain/sourceToBundleComparisonSchemas.js"; -import { compareJavaScriptExportShapesInputSchema } from "./domain/javascriptExportShapeComparisonSchemas.js"; -import { projectInputIssues } from "./domain/inputIssueProjection.js"; -import { reconstructionObligationLedgerInputSchema } from "./domain/reconstructionObligationLedgerSchemas.js"; +} from "../domain/errors.js"; +import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; +import type { Logger } from "../logger.js"; +import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js"; +import { traceJavaScriptSemanticsInputSchema } from "../domain/javascriptSemanticTraceSchemas.js"; +import { compareApplicationVersionsInputSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; +import { compareSourceToBundleInputSchema } from "../domain/sourceToBundleComparisonSchemas.js"; +import { compareJavaScriptExportShapesInputSchema } from "../domain/javascriptExportShapeComparisonSchemas.js"; +import { projectInputIssues } from "../domain/inputIssueProjection.js"; +import { reconstructionObligationLedgerInputSchema } from "../domain/reconstructionObligationLedgerSchemas.js"; type CliInstance = ReturnType; diff --git a/src/cliBrowserAdvancedCommands.ts b/src/cli/browserAdvancedCommands.ts similarity index 88% rename from src/cliBrowserAdvancedCommands.ts rename to src/cli/browserAdvancedCommands.ts index 1238701198..b699230860 100644 --- a/src/cliBrowserAdvancedCommands.ts +++ b/src/cli/browserAdvancedCommands.ts @@ -1,26 +1,26 @@ import { Cli, z } from "incur"; -import { browserContext, browserCliError } from "./cliBrowserContext.js"; -import { browserScopeOptions } from "./cliObservationOptions.js"; +import { browserContext, browserCliError } from "../cliBrowserContext.js"; +import { browserScopeOptions } from "../cliObservationOptions.js"; import { captureWebScreenshot, compareWebCaptureEvidence, compareWebScreenshotEvidence, discoverWebMcpTools, -} from "./application/BrowserObservationService.js"; -import { CdpBrowserProvider } from "./browser/CdpBrowserProvider.js"; -import { logCliCommand } from "./cliLogging.js"; -import { AnalysisInputError } from "./domain/errors.js"; -import { browserCaptureComparisonInputSchema } from "./domain/browserCaptureComparison.js"; -import { discoverWebMcpToolsInputSchema } from "./domain/webMcpDiscovery.js"; +} from "../application/BrowserObservationService.js"; +import { CdpBrowserProvider } from "../browser/CdpBrowserProvider.js"; +import { logCliCommand } from "../cliLogging.js"; +import { AnalysisInputError } from "../domain/errors.js"; +import { browserCaptureComparisonInputSchema } from "../domain/browserCaptureComparison.js"; +import { discoverWebMcpToolsInputSchema } from "../domain/webMcpDiscovery.js"; import { captureWebScreenshotInputSchema, compareWebScreenshotsInputSchema, -} from "./domain/webScreenshot.js"; -import type { JsonValue } from "./domain/jsonValue.js"; -import { safeParseJson } from "./domain/safeJson.js"; -import type { Logger } from "./logger.js"; -import { CLI_COMMANDS } from "./cliCommandNames.js"; +} from "../domain/webScreenshot.js"; +import type { JsonValue } from "../domain/jsonValue.js"; +import { safeParseJson } from "../domain/safeJson.js"; +import type { Logger } from "../logger.js"; +import { CLI_COMMANDS } from "../cliCommandNames.js"; /** Register WebMCP, capture-diff, and screenshot CLI equivalents. */ export const registerAdvancedBrowserCommands = ( diff --git a/src/cliBrowserCommands.ts b/src/cli/browserCommands.ts similarity index 91% rename from src/cliBrowserCommands.ts rename to src/cli/browserCommands.ts index 5587531328..eb7b018279 100644 --- a/src/cliBrowserCommands.ts +++ b/src/cli/browserCommands.ts @@ -1,27 +1,27 @@ import { Cli, z } from "incur"; -import { browserContext, browserCliError } from "./cliBrowserContext.js"; +import { browserContext, browserCliError } from "../cliBrowserContext.js"; import { analyzeWebBundle, inspectWebPage, listBrowserTargets, observeWebSession, -} from "./application/BrowserObservationService.js"; -import { logCliCommand } from "./cliLogging.js"; +} from "../application/BrowserObservationService.js"; +import { logCliCommand } from "../cliLogging.js"; import { inspectWebPageInputSchema, listBrowserTargetsInputSchema, -} from "./domain/browserObservation.js"; -import { analyzeWebBundleInputSchema } from "./domain/webBundleAnalysis.js"; -import { observeWebSessionInputSchema } from "./domain/browserSession.js"; -import { AnalysisInputError } from "./domain/errors.js"; -import type { Logger } from "./logger.js"; -import { CLI_COMMANDS } from "./cliCommandNames.js"; +} from "../domain/browserObservation.js"; +import { analyzeWebBundleInputSchema } from "../domain/webBundleAnalysis.js"; +import { observeWebSessionInputSchema } from "../domain/browserSession.js"; +import { AnalysisInputError } from "../domain/errors.js"; +import type { Logger } from "../logger.js"; +import { CLI_COMMANDS } from "../cliCommandNames.js"; import { browserPageInspectionOptions, browserScopeOptions, observationDuration, -} from "./cliObservationOptions.js"; +} from "../cliObservationOptions.js"; /** Register CLI equivalents of the passive browser MCP tools. */ export const registerBrowserCommands = ( diff --git a/src/cliElectronCommands.ts b/src/cli/electronCommands.ts similarity index 85% rename from src/cliElectronCommands.ts rename to src/cli/electronCommands.ts index c5e8ad5700..277246750f 100644 --- a/src/cliElectronCommands.ts +++ b/src/cli/electronCommands.ts @@ -3,27 +3,27 @@ import { Cli, z } from "incur"; import { inspectElectronPage, listElectronTargets, -} from "./application/ElectronObservationService.js"; -import { captureElectronScenario } from "./application/ElectronActiveObservationService.js"; -import { reconcileJavaScriptRuntimeEvidence } from "./application/JavaScriptRuntimeReconciliationService.js"; -import { CdpElectronProvider } from "./browser/CdpElectronProvider.js"; -import { PlaywrightElectronActiveProvider } from "./browser/PlaywrightElectronActiveProvider.js"; -import { logCliCommand } from "./cliLogging.js"; +} from "../application/ElectronObservationService.js"; +import { captureElectronScenario } from "../application/ElectronActiveObservationService.js"; +import { reconcileJavaScriptRuntimeEvidence } from "../application/JavaScriptRuntimeReconciliationService.js"; +import { CdpElectronProvider } from "../browser/CdpElectronProvider.js"; +import { PlaywrightElectronActiveProvider } from "../browser/PlaywrightElectronActiveProvider.js"; +import { logCliCommand } from "../cliLogging.js"; import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, -} from "./domain/electronObservation.js"; -import { electronActiveObservationInputSchema } from "./domain/electronActiveObservation.js"; -import { AnalysisInputError, projectAnalysisError } from "./domain/errors.js"; -import type { JsonValue } from "./domain/jsonValue.js"; -import type { Logger } from "./logger.js"; -import { CLI_COMMANDS } from "./cliCommandNames.js"; -import { parseCliJsonInput } from "./cliJsonInput.js"; +} from "../domain/electronObservation.js"; +import { electronActiveObservationInputSchema } from "../domain/electronActiveObservation.js"; +import { AnalysisInputError, projectAnalysisError } from "../domain/errors.js"; +import type { JsonValue } from "../domain/jsonValue.js"; +import type { Logger } from "../logger.js"; +import { CLI_COMMANDS } from "../cliCommandNames.js"; +import { parseCliJsonInput } from "../cliJsonInput.js"; import { electronPageInspectionOptions, javascriptApplicationOptions, -} from "./cliObservationOptions.js"; -import { runCliJavaScriptApplicationAnalysis } from "./cli/javascriptApplicationAnalysis.js"; +} from "../cliObservationOptions.js"; +import { runCliJavaScriptApplicationAnalysis } from "./javascriptApplicationAnalysis.js"; /** Register CLI equivalents of the Electron MCP tools. */ export const registerElectronCommands = ( diff --git a/src/cliSetup.ts b/src/cli/interactiveSetup.ts similarity index 98% rename from src/cliSetup.ts rename to src/cli/interactiveSetup.ts index e378985f6b..f1d2db70a8 100644 --- a/src/cliSetup.ts +++ b/src/cli/interactiveSetup.ts @@ -14,8 +14,8 @@ import type { SetupClientState, SetupProgressEvent, SetupResult, -} from "./application/SetupTypes.js"; -import { SUPPORTED_CLIENT_DEFINITIONS } from "./application/SupportedClients.js"; +} from "../application/SetupTypes.js"; +import { SUPPORTED_CLIENT_DEFINITIONS } from "../application/SupportedClients.js"; const clientDisplayNames: ReadonlyMap = new Map( SUPPORTED_CLIENT_DEFINITIONS.map(({ name, displayName }) => [ diff --git a/src/cliProcessCommands.ts b/src/cli/processCommands.ts similarity index 88% rename from src/cliProcessCommands.ts rename to src/cli/processCommands.ts index 9b8b8827d6..e68059b7c4 100644 --- a/src/cliProcessCommands.ts +++ b/src/cli/processCommands.ts @@ -4,10 +4,10 @@ import { captureProcessScenarioFile, compareProcessEvidenceFiles, isProcessCliFailure, -} from "./application/ProcessCli.js"; -import { logCliCommand } from "./cliLogging.js"; -import type { Logger } from "./logger.js"; -import { CLI_COMMANDS } from "./cliCommandNames.js"; +} from "../application/ProcessCli.js"; +import { logCliCommand } from "../cliLogging.js"; +import type { Logger } from "../logger.js"; +import { CLI_COMMANDS } from "../cliCommandNames.js"; /** Register direct process capture and comparison commands. */ export const registerProcessCommands = ( diff --git a/src/cli/setupCommands.ts b/src/cli/setupCommands.ts index 6648aa26a1..2bcec6ff36 100644 --- a/src/cli/setupCommands.ts +++ b/src/cli/setupCommands.ts @@ -5,12 +5,12 @@ import { runDoctor, type DoctorScope, } from "../application/Doctor.js"; -import { runSetup } from "../application/Setup.js"; -import { systemSetupHost } from "../application/SetupHost.js"; import { isSetupFailure, type SetupOptions, } from "../application/SetupTypes.js"; +import { runSetup } from "../application/Setup.js"; +import { systemSetupHost } from "../application/SetupHost.js"; import { isUninstallFailure, runUninstall } from "../application/Uninstall.js"; import { isUpdateFailure, runUpdate } from "../application/Update.js"; import { systemUpdateHost } from "../application/UpdateRuntime.js"; @@ -18,7 +18,7 @@ import { confirmInteractiveSetup, renderInteractiveSetupResult, renderSetupProgress, -} from "../cliSetup.js"; +} from "./interactiveSetup.js"; import { PRODUCT_IDENTITY } from "../identity.js"; import { logCliCommand } from "../cliLogging.js"; import { createSystemDoctorHost } from "../doctorRuntime.js"; diff --git a/tests/boundary/cli/cliSetup.test.ts b/tests/boundary/cli/cliSetup.test.ts index a4740f4be0..c10aa66d8a 100644 --- a/tests/boundary/cli/cliSetup.test.ts +++ b/tests/boundary/cli/cliSetup.test.ts @@ -227,7 +227,7 @@ describe("interactive setup completion", () => { "--input-type=module", "--eval", [ - 'import { renderInteractiveSetupResult } from "./dist/cliSetup.js";', + 'import { renderInteractiveSetupResult } from "./dist/cli/interactiveSetup.js";', "renderInteractiveSetupResult({", ' status: "ready",', " plannedActions: [],", @@ -287,7 +287,7 @@ const runJourney = async ( ): Promise => { const isolatedHome = await createTestTempDirectory("rea-cli-setup-test-"); const script = [ - 'import { confirmInteractiveSetup } from "./dist/cliSetup.js";', + 'import { confirmInteractiveSetup } from "./dist/cli/interactiveSetup.js";', `const actions = ${JSON.stringify(journeyActions)};`, `const context = ${JSON.stringify({ stage: "select", clientStates, selectedClientIds: initialClientIds, clientSelectionAllowed: true })};`, `let decision = await confirmInteractiveSetup(actions, ${JSON.stringify(accessible)}, context);`,