From 0804722cdf721a8d767d02f9342ebdf8d186f7e1 Mon Sep 17 00:00:00 2001 From: ysopwnable <161784452+N0zoM1z0@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:03:37 +0800 Subject: [PATCH] refactor(javascript): group application workflows and verification (#896) --- .../workflows/real-javascript-recovery.yml | 5 ++-- docs/capability-migration.md | 22 ++++++++++++++++ package.json | 8 +++--- .../javascript-recovery/build.mjs} | 8 ++---- scripts/lib/managed-conformance-manifest.mjs | 2 +- scripts/verify-managed-conformance.mjs | 2 +- .../javascript/application-workflows.mjs} | 15 ++++++----- .../javascript/digests.mjs} | 7 +++-- .../javascript/recovery.mjs} | 10 +++---- .../javascript/runtime-observation.mjs} | 9 ++++--- .../OptionalObservationProviders.ts | 6 ++--- .../ReconstructionObligationCandidates.ts | 2 +- .../ElectronActiveEvidence.ts | 12 ++++----- .../ElectronActiveObservationPort.ts | 11 +++++--- .../ElectronActiveObservationService.ts | 12 ++++----- .../ElectronBoundaryAnalysis.ts | 6 ++--- .../{ => javascript}/ElectronBoundaryGraph.ts | 0 .../ElectronBoundaryGraphContext.ts | 6 ++--- .../ElectronBoundaryGraphIpc.ts | 4 +-- .../ElectronBoundaryGraphNative.ts | 2 +- .../ElectronBoundaryGraphWindows.ts | 4 +-- .../{ => javascript}/ElectronEvidence.ts | 8 +++--- .../ElectronObservationPort.ts | 11 +++++--- .../ElectronObservationService.ts | 12 ++++----- ...JavaScriptApplicationEmptyLiterals.test.ts | 10 +++---- .../JavaScriptApplicationEvidence.ts | 8 +++--- .../JavaScriptApplicationEvidenceGraph.ts | 14 +++++----- .../JavaScriptApplicationService.test.ts | 4 +-- .../JavaScriptApplicationService.ts | 22 ++++++++-------- ...aScriptApplicationTemplateLiterals.test.ts | 4 +-- .../JavaScriptApplicationWorkflowEvidence.ts | 16 ++++++------ .../JavaScriptApplicationWorkflowService.ts | 26 +++++++++---------- .../JavaScriptArtifactAnalysis.ts | 14 +++++----- .../JavaScriptArtifactAnalysisTypes.ts | 4 +-- .../JavaScriptArtifactFiles.ts | 14 +++++----- .../JavaScriptArtifactGraphAccumulator.ts | 2 +- .../JavaScriptArtifactGraphBuilder.ts | 6 ++--- .../JavaScriptArtifactGraphBundlers.ts | 4 +-- .../JavaScriptArtifactGraphContext.ts | 8 +++--- .../JavaScriptArtifactGraphDocuments.ts | 2 +- .../JavaScriptArtifactGraphEvidence.ts | 4 +-- .../JavaScriptArtifactGraphFindings.ts | 4 +-- .../JavaScriptArtifactGraphStructure.ts | 6 ++--- .../JavaScriptArtifactPathResolution.test.ts | 4 +-- .../JavaScriptArtifactPathResolution.ts | 2 +- .../JavaScriptArtifactReconstruction.ts | 14 +++++----- .../JavaScriptArtifactReconstructionInput.ts | 0 .../JavaScriptFileUrlPaths.test.ts | 6 ++--- .../JavaScriptHtmlBaseResolution.test.ts | 0 .../{ => javascript}/JavaScriptJsonModules.ts | 2 +- .../JavaScriptModuleRelationships.ts | 8 +++--- .../JavaScriptModuleSpecifierPaths.test.ts | 0 .../JavaScriptRecoveryPort.ts | 8 +++--- .../JavaScriptRecoveryService.test.ts | 8 +++--- .../JavaScriptRecoveryService.ts | 16 ++++++------ .../JavaScriptReturnShapeProjection.test.ts | 4 +-- .../JavaScriptReturnShapeProjection.ts | 10 +++---- .../JavaScriptRuntimeObservationEvidence.ts | 8 +++--- .../JavaScriptRuntimeObservationPort.ts | 11 +++++--- .../JavaScriptRuntimeObservationService.ts | 12 ++++----- ...JavaScriptRuntimeReconciliationEvidence.ts | 8 +++--- .../JavaScriptRuntimeReconciliationService.ts | 14 +++++----- .../JavaScriptSemanticGraphAsyncProjection.ts | 6 ++--- .../JavaScriptSemanticGraphBuilder.test.ts | 4 +-- .../JavaScriptSemanticGraphBuilder.ts | 10 +++---- ...riptSemanticGraphChildProcessProjection.ts | 6 ++--- .../JavaScriptSemanticGraphConstruction.ts | 14 +++++----- .../JavaScriptSemanticGraphDataProjection.ts | 6 ++--- .../JavaScriptSemanticGraphEvidence.ts | 6 ++--- ...criptSemanticGraphFingerprintProjection.ts | 4 +-- .../JavaScriptSemanticGraphFlowProjection.ts | 10 +++---- ...JavaScriptSemanticGraphObjectProjection.ts | 6 ++--- .../JavaScriptSemanticGraphProjection.ts | 10 +++---- ...vaScriptSemanticGraphResourceProjection.ts | 6 ++--- .../JavaScriptSemanticGraphResources.test.ts | 4 +-- .../JavaScriptSemanticGraphScope.test.ts | 4 +-- .../JavaScriptSemanticGraphValueProjection.ts | 4 +-- .../JavaScriptSemanticTraceService.ts | 14 +++++----- src/browser/CdpElectronProvider.ts | 2 +- .../PlaywrightElectronActiveProvider.ts | 2 +- src/cli/applicationCommands.ts | 4 +-- src/cli/electronCommands.ts | 6 ++--- src/cli/javascriptApplicationAnalysis.ts | 2 +- src/cli/javascriptRecoveryCommands.ts | 2 +- src/cliJavaScriptRuntimeCommands.ts | 2 +- src/composition/electronObservation.ts | 2 +- src/composition/electronScenario.ts | 2 +- src/composition/javascriptRecovery.ts | 2 +- .../javascriptRuntimeObservation.ts | 2 +- src/inspector/V8InspectorProvider.ts | 2 +- src/javascript/recovery/WakaruProvider.ts | 2 +- src/server/createServer.ts | 10 +++---- .../compareExportShapes.ts | 2 +- .../compareSourceToBundle.ts | 2 +- .../compareVersions.ts | 2 +- .../registerApplicationTools/traceFeature.ts | 2 +- .../traceSemantics.ts | 2 +- src/server/registerElectronTools.ts | 12 ++++----- src/server/registerJavaScriptRecoveryTool.ts | 2 +- ...gisterJavaScriptRuntimeObservationTools.ts | 4 +-- .../applicationExportShapeMcp.test.ts | 2 +- .../applicationWorkflowCli.test.ts | 2 +- .../applicationWorkflowVerifier.test.ts | 4 +-- .../javascriptApplicationWorkflows.test.ts | 6 ++--- .../javascriptRuntimeObservationCli.test.ts | 2 +- .../javascriptArtifactContentIdentity.test.ts | 2 +- .../javascriptArtifactReconstruction.test.ts | 4 +-- .../javascriptExportContainerCoverage.test.ts | 6 ++--- .../javascriptExportShapeComparison.test.ts | 4 +-- .../javascriptPackagePrecedence.test.ts | 2 +- .../javascriptRequireLiteralPaths.test.ts | 4 +-- .../javascriptSourceMapComments.test.ts | 2 +- .../javascriptSourceMapLocations.test.ts | 2 +- .../filesystem/sourceToBundlePaths.test.ts | 4 +-- .../filesystem/webScriptExport.test.ts | 2 +- .../javascriptRuntimeObservation.test.ts | 6 ++--- .../javascriptRuntimeUnresolvedTarget.test.ts | 4 +-- .../packageConditionalExports.test.ts | 4 +-- tests/boundary/mcp/electronMcp.test.ts | 2 +- .../javascriptRuntimeObservationMcp.test.ts | 2 +- ...riptRuntimeReconciliationAmbiguity.test.ts | 6 ++--- .../managedApplicationGraph.test.ts | 2 +- .../electronApplicationAnalysis.test.ts | 4 +-- .../electronOptionKeys.test.ts | 2 +- .../javascriptArtifactReconstruction.test.ts | 2 +- .../javascriptRuntimeReconciliation.test.ts | 6 ++--- .../fixtures/javascript-recovery/provider.ts | 2 +- .../fixtures/optionalObservationProviders.ts | 2 +- tests/support/javascriptApplicationFixture.ts | 2 +- 129 files changed, 402 insertions(+), 367 deletions(-) rename scripts/{lib/javascript-recovery-fixtures.mjs => fixtures/javascript-recovery/build.mjs} (93%) rename scripts/{verify-local-application-workflows.mjs => verify/javascript/application-workflows.mjs} (91%) rename scripts/{verify-large-javascript-digests.mjs => verify/javascript/digests.mjs} (88%) rename scripts/{verify-javascript-recovery.mjs => verify/javascript/recovery.mjs} (94%) rename scripts/{verify-local-javascript-runtime.mjs => verify/javascript/runtime-observation.mjs} (92%) rename src/application/{ => javascript}/ElectronActiveEvidence.ts (81%) rename src/application/{ => javascript}/ElectronActiveObservationPort.ts (59%) rename src/application/{ => javascript}/ElectronActiveObservationService.ts (86%) rename src/application/{ => javascript}/ElectronBoundaryAnalysis.ts (96%) rename src/application/{ => javascript}/ElectronBoundaryGraph.ts (100%) rename src/application/{ => javascript}/ElectronBoundaryGraphContext.ts (94%) rename src/application/{ => javascript}/ElectronBoundaryGraphIpc.ts (98%) rename src/application/{ => javascript}/ElectronBoundaryGraphNative.ts (97%) rename src/application/{ => javascript}/ElectronBoundaryGraphWindows.ts (98%) rename src/application/{ => javascript}/ElectronEvidence.ts (89%) rename src/application/{ => javascript}/ElectronObservationPort.ts (68%) rename src/application/{ => javascript}/ElectronObservationService.ts (83%) rename src/application/{ => javascript}/JavaScriptApplicationEmptyLiterals.test.ts (94%) rename src/application/{ => javascript}/JavaScriptApplicationEvidence.ts (83%) rename src/application/{ => javascript}/JavaScriptApplicationEvidenceGraph.ts (92%) rename src/application/{ => javascript}/JavaScriptApplicationService.test.ts (96%) rename src/application/{ => javascript}/JavaScriptApplicationService.ts (84%) rename src/application/{ => javascript}/JavaScriptApplicationTemplateLiterals.test.ts (92%) rename src/application/{ => javascript}/JavaScriptApplicationWorkflowEvidence.ts (82%) rename src/application/{ => javascript}/JavaScriptApplicationWorkflowService.ts (89%) rename src/application/{ => javascript}/JavaScriptArtifactAnalysis.ts (94%) rename src/application/{ => javascript}/JavaScriptArtifactAnalysisTypes.ts (96%) rename src/application/{ => javascript}/JavaScriptArtifactFiles.ts (96%) rename src/application/{ => javascript}/JavaScriptArtifactGraphAccumulator.ts (98%) rename src/application/{ => javascript}/JavaScriptArtifactGraphBuilder.ts (97%) rename src/application/{ => javascript}/JavaScriptArtifactGraphBundlers.ts (98%) rename src/application/{ => javascript}/JavaScriptArtifactGraphContext.ts (97%) rename src/application/{ => javascript}/JavaScriptArtifactGraphDocuments.ts (97%) rename src/application/{ => javascript}/JavaScriptArtifactGraphEvidence.ts (94%) rename src/application/{ => javascript}/JavaScriptArtifactGraphFindings.ts (98%) rename src/application/{ => javascript}/JavaScriptArtifactGraphStructure.ts (98%) rename src/application/{ => javascript}/JavaScriptArtifactPathResolution.test.ts (98%) rename src/application/{ => javascript}/JavaScriptArtifactPathResolution.ts (99%) rename src/application/{ => javascript}/JavaScriptArtifactReconstruction.ts (89%) rename src/application/{ => javascript}/JavaScriptArtifactReconstructionInput.ts (100%) rename src/application/{ => javascript}/JavaScriptFileUrlPaths.test.ts (93%) rename src/application/{ => javascript}/JavaScriptHtmlBaseResolution.test.ts (100%) rename src/application/{ => javascript}/JavaScriptJsonModules.ts (94%) rename src/application/{ => javascript}/JavaScriptModuleRelationships.ts (97%) rename src/application/{ => javascript}/JavaScriptModuleSpecifierPaths.test.ts (100%) rename src/application/{ => javascript}/JavaScriptRecoveryPort.ts (56%) rename src/application/{ => javascript}/JavaScriptRecoveryService.test.ts (95%) rename src/application/{ => javascript}/JavaScriptRecoveryService.ts (85%) rename src/application/{ => javascript}/JavaScriptReturnShapeProjection.test.ts (96%) rename src/application/{ => javascript}/JavaScriptReturnShapeProjection.ts (90%) rename src/application/{ => javascript}/JavaScriptRuntimeObservationEvidence.ts (89%) rename src/application/{ => javascript}/JavaScriptRuntimeObservationPort.ts (70%) rename src/application/{ => javascript}/JavaScriptRuntimeObservationService.ts (84%) rename src/application/{ => javascript}/JavaScriptRuntimeReconciliationEvidence.ts (83%) rename src/application/{ => javascript}/JavaScriptRuntimeReconciliationService.ts (87%) rename src/application/{ => javascript}/JavaScriptSemanticGraphAsyncProjection.ts (97%) rename src/application/{ => javascript}/JavaScriptSemanticGraphBuilder.test.ts (98%) rename src/application/{ => javascript}/JavaScriptSemanticGraphBuilder.ts (97%) rename src/application/{ => javascript}/JavaScriptSemanticGraphChildProcessProjection.ts (97%) rename src/application/{ => javascript}/JavaScriptSemanticGraphConstruction.ts (93%) rename src/application/{ => javascript}/JavaScriptSemanticGraphDataProjection.ts (97%) rename src/application/{ => javascript}/JavaScriptSemanticGraphEvidence.ts (91%) rename src/application/{ => javascript}/JavaScriptSemanticGraphFingerprintProjection.ts (92%) rename src/application/{ => javascript}/JavaScriptSemanticGraphFlowProjection.ts (95%) rename src/application/{ => javascript}/JavaScriptSemanticGraphObjectProjection.ts (93%) rename src/application/{ => javascript}/JavaScriptSemanticGraphProjection.ts (83%) rename src/application/{ => javascript}/JavaScriptSemanticGraphResourceProjection.ts (91%) rename src/application/{ => javascript}/JavaScriptSemanticGraphResources.test.ts (98%) rename src/application/{ => javascript}/JavaScriptSemanticGraphScope.test.ts (96%) rename src/application/{ => javascript}/JavaScriptSemanticGraphValueProjection.ts (97%) rename src/application/{ => javascript}/JavaScriptSemanticTraceService.ts (79%) diff --git a/.github/workflows/real-javascript-recovery.yml b/.github/workflows/real-javascript-recovery.yml index ca84669f9..df3f7edec 100644 --- a/.github/workflows/real-javascript-recovery.yml +++ b/.github/workflows/real-javascript-recovery.yml @@ -6,7 +6,7 @@ on: - ".github/workflows/real-javascript-recovery.yml" - "src/javascript/recovery/**" - "src/domain/javascript*.ts" - - "src/application/JavaScriptRecovery*.ts" + - "src/application/javascript/JavaScriptRecovery*.ts" - "src/composition/javascriptRecovery.ts" - "src/contracts/javascriptRecoveryToolContracts.ts" - "src/cli/javascriptRecoveryCommands.ts" @@ -22,8 +22,7 @@ on: - "scripts/rea.mjs" - "src/process/**" - "src/artifacts/SafeOutputTree.ts" - - "scripts/verify-javascript-recovery.mjs" - - "scripts/lib/javascript-recovery-*.mjs" + - "scripts/verify/javascript/recovery.mjs" - "scripts/fixtures/javascript-recovery/**" - "third_party/wakaru" - "package.json" diff --git a/docs/capability-migration.md b/docs/capability-migration.md index 0ef5109a3..dd8acb47c 100644 --- a/docs/capability-migration.md +++ b/docs/capability-migration.md @@ -246,6 +246,28 @@ Hopper's GUI and mutation effects, Ghidra's experimental Windows authority and mutation restrictions, and IDA's attached/headless effects and live observations. This source increment introduces no common provider lifecycle or new interface. +## JavaScript application ownership + +`src/application/javascript/` owns JavaScript/Electron artifact analysis and +graph projection, feature/version/export/source comparisons, runtime Evidence +and reconciliation, observation ports, and source recovery workflows. Pure +analysis and public schemas keep their existing domain/contract ownership; +shared artifact inventory, investigation records and execution types remain +shared. CLI, MCP and production factories import the owning workflow directly. + +`scripts/verify/javascript/` groups application-workflow, runtime-reconciliation, +large-digest and real-recovery entrypoints. Their existing npm commands retain +their invocation semantics. Recovery fixture compilation lives beside its +unchanged sources under `scripts/fixtures/javascript-recovery/`. Its default +REA entrypoint still resolves to `scripts/rea.mjs`. Managed conformance imports +the relocated compiled workflow; owning CI source filters follow the new paths. + +This application move preserves the current directory/ASAR reader boundary, +including root/nested byte checks, UTF-8 diagnostics, cancellation and owned +close. Reader selection requires a separately traced increment. Runtime ports +retain their distinct Inspector, passive Electron and active Electron effects; +shipped Electron hooks remain at their existing provider boundary. + ## Binary application ownership `src/application/binary/` owns the active session, deep-provider registry and diff --git a/package.json b/package.json index 3117296a5..8b8e5ba5f 100644 --- a/package.json +++ b/package.json @@ -136,9 +136,9 @@ "verify:browser:network": "npm run build:cached && node scripts/verify-browser-network.mjs", "verify:electron": "npm run build:cached && node scripts/verify-real-electron.mjs", "verify:inspector": "npm run build:cached && node scripts/verify/inspector/runtime-observation.mjs", - "verify:javascript-runtime": "npm run build:cached && node scripts/verify-local-javascript-runtime.mjs", - "verify:javascript:digests": "npm run build:cached && node scripts/verify-large-javascript-digests.mjs", - "verify:application-workflows": "npm run build:cached && node scripts/verify-local-application-workflows.mjs", + "verify:javascript-runtime": "npm run build:cached && node scripts/verify/javascript/runtime-observation.mjs", + "verify:javascript:digests": "npm run build:cached && node scripts/verify/javascript/digests.mjs", + "verify:application-workflows": "npm run build:cached && node scripts/verify/javascript/application-workflows.mjs", "verify:managed": "npm run build:cached && node scripts/verify-managed-conformance.mjs", "verify:firmware": "npm run build:cached && node scripts/verify/firmware/analysis.mjs", "fixtures:firmware": "node scripts/fixtures/firmware/generate.mjs", @@ -179,7 +179,7 @@ "verify:browser:scripts": "npm run build:cached && node scripts/verify-browser-scripts.mjs", "verify:browser:modules": "npm run build:cached && node scripts/verify-browser-modules.mjs", "verify:test-discovery": "node scripts/verify-test-discovery.mjs", - "verify:javascript:recovery": "node scripts/verify-javascript-recovery.mjs", + "verify:javascript:recovery": "node scripts/verify/javascript/recovery.mjs", "verify:module-boundaries": "node scripts/verify-module-boundaries.mjs" }, "lint-staged": { diff --git a/scripts/lib/javascript-recovery-fixtures.mjs b/scripts/fixtures/javascript-recovery/build.mjs similarity index 93% rename from scripts/lib/javascript-recovery-fixtures.mjs rename to scripts/fixtures/javascript-recovery/build.mjs index 908f0836e..9e495fcc4 100644 --- a/scripts/lib/javascript-recovery-fixtures.mjs +++ b/scripts/fixtures/javascript-recovery/build.mjs @@ -17,9 +17,7 @@ export async function buildRecoveryFixtures(root, prefix) { throw new Error( "Fixture compilers must be esbuild 0.25.10 and webpack 5.101.3", ); - const source = fileURLToPath( - new URL("../fixtures/javascript-recovery/entry.mjs", import.meta.url), - ); + const source = fileURLToPath(new URL("./entry.mjs", import.meta.url)); const webpackOutput = join(root, "webpack"); await mkdir(webpackOutput); await new Promise((resolve, reject) => { @@ -50,9 +48,7 @@ export async function buildRecoveryFixtures(root, prefix) { }); // One self-contained source fixture avoids unresolved imports in the oracle. const helperSource = await readFile( - fileURLToPath( - new URL("../fixtures/javascript-recovery/helpers.mjs", import.meta.url), - ), + fileURLToPath(new URL("./helpers.mjs", import.meta.url)), "utf8", ); const plain = await esbuild.transform( diff --git a/scripts/lib/managed-conformance-manifest.mjs b/scripts/lib/managed-conformance-manifest.mjs index 7fe8afa65..ff24863ab 100644 --- a/scripts/lib/managed-conformance-manifest.mjs +++ b/scripts/lib/managed-conformance-manifest.mjs @@ -5,7 +5,7 @@ import { parseBinaryTarget } from "../../dist/application/BinaryTargetResolver.j import { inspectManagedArtifactBytes } from "../../dist/dotnet/ManagedArtifactInspector.js"; import { inspectManagedMembersBytes } from "../../dist/dotnet/ManagedMemberInspector.js"; import { projectManagedApplicationGraphEvidence } from "../../dist/application/ManagedApplicationGraphService.js"; -import { traceApplicationFeatureEvidence } from "../../dist/application/JavaScriptApplicationWorkflowService.js"; +import { traceApplicationFeatureEvidence } from "../../dist/application/javascript/JavaScriptApplicationWorkflowService.js"; import { createEvidence } from "../../dist/domain/evidence.js"; import { MANAGED_STATIC_PROVIDER } from "../../dist/application/InvestigationProviders.js"; import { diff --git a/scripts/verify-managed-conformance.mjs b/scripts/verify-managed-conformance.mjs index 985523847..e499c6d24 100644 --- a/scripts/verify-managed-conformance.mjs +++ b/scripts/verify-managed-conformance.mjs @@ -10,7 +10,7 @@ import { compareManagedMemberPaths } from "../dist/application/ManagedMemberComp import { verifyManagedNativeBoundariesEvidence } from "../dist/application/ManagedNativeVerificationService.js"; import { importManagedReconstructionEvidence } from "../dist/application/ManagedReconstructionService.js"; import { projectManagedApplicationGraphEvidence } from "../dist/application/ManagedApplicationGraphService.js"; -import { traceApplicationFeatureEvidence } from "../dist/application/JavaScriptApplicationWorkflowService.js"; +import { traceApplicationFeatureEvidence } from "../dist/application/javascript/JavaScriptApplicationWorkflowService.js"; import { MANAGED_STATIC_PROVIDER } from "../dist/application/InvestigationProviders.js"; import { createEvidence } from "../dist/domain/evidence.js"; import { diff --git a/scripts/verify-local-application-workflows.mjs b/scripts/verify/javascript/application-workflows.mjs similarity index 91% rename from scripts/verify-local-application-workflows.mjs rename to scripts/verify/javascript/application-workflows.mjs index a0e246931..4ca259c57 100644 --- a/scripts/verify-local-application-workflows.mjs +++ b/scripts/verify/javascript/application-workflows.mjs @@ -3,16 +3,19 @@ import { realpath } from "node:fs/promises"; import { parseArgs } from "node:util"; -import { analyzeJavaScriptApplication } from "../dist/application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../../../dist/application/javascript/JavaScriptApplicationService.js"; import { compareApplicationVersionsEvidence, compareJavaScriptExportShapesEvidence, traceApplicationFeatureEvidence, -} from "../dist/application/JavaScriptApplicationWorkflowService.js"; -import { applicationVersionComparisonResultSchema } from "../dist/domain/javascriptApplicationVersionComparisonSchemas.js"; -import { applicationFeatureTraceResultSchema } from "../dist/domain/javascriptFeatureTraceSchemas.js"; -import { javaScriptExportShapeComparisonResultSchema } from "../dist/domain/javascriptExportShapeComparisonSchemas.js"; -import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; +} from "../../../dist/application/javascript/JavaScriptApplicationWorkflowService.js"; +import { applicationVersionComparisonResultSchema } from "../../../dist/domain/javascriptApplicationVersionComparisonSchemas.js"; +import { applicationFeatureTraceResultSchema } from "../../../dist/domain/javascriptFeatureTraceSchemas.js"; +import { javaScriptExportShapeComparisonResultSchema } from "../../../dist/domain/javascriptExportShapeComparisonSchemas.js"; +import { + completeVerifierRun, + createVerifierRun, +} from "../../lib/verifier-run.mjs"; const verifierRun = createVerifierRun(); diff --git a/scripts/verify-large-javascript-digests.mjs b/scripts/verify/javascript/digests.mjs similarity index 88% rename from scripts/verify-large-javascript-digests.mjs rename to scripts/verify/javascript/digests.mjs index 14fa5977e..98530b07b 100644 --- a/scripts/verify-large-javascript-digests.mjs +++ b/scripts/verify/javascript/digests.mjs @@ -4,8 +4,11 @@ import assert from "node:assert/strict"; import { constants } from "node:buffer"; import { createHash } from "node:crypto"; -import { canonicalDigest } from "../dist/domain/comparisonSemantics.js"; -import { createEvidence, parseEvidence } from "../dist/domain/evidence.js"; +import { canonicalDigest } from "../../../dist/domain/comparisonSemantics.js"; +import { + createEvidence, + parseEvidence, +} from "../../../dist/domain/evidence.js"; // This opt-in check crosses the actual engine string limit; keep it outside // routine source tests. Build first, then run this script with the local Node. diff --git a/scripts/verify-javascript-recovery.mjs b/scripts/verify/javascript/recovery.mjs similarity index 94% rename from scripts/verify-javascript-recovery.mjs rename to scripts/verify/javascript/recovery.mjs index 59f777c0e..7ec31abe9 100644 --- a/scripts/verify-javascript-recovery.mjs +++ b/scripts/verify/javascript/recovery.mjs @@ -9,10 +9,10 @@ import { fileURLToPath } from "node:url"; import { promisify } from "node:util"; import { Client } from "@modelcontextprotocol/client"; import { StdioClientTransport } from "@modelcontextprotocol/client/stdio"; -import { parseEvidence } from "../dist/domain/evidence.js"; -import { javascriptRecoveryResultSchema } from "../dist/domain/javascriptRecovery.js"; -import { buildRecoveryFixtures } from "./lib/javascript-recovery-fixtures.mjs"; -import { mcpTextValue } from "./lib/mcp-verifier-results.mjs"; +import { parseEvidence } from "../../../dist/domain/evidence.js"; +import { javascriptRecoveryResultSchema } from "../../../dist/domain/javascriptRecovery.js"; +import { buildRecoveryFixtures } from "../../fixtures/javascript-recovery/build.mjs"; +import { mcpTextValue } from "../../lib/mcp-verifier-results.mjs"; const OFFICIAL_BINARY_SHA256 = "e8c7ca052974604197389f6ace7464e4dd24dce64e2730971521bd6606ec9c9e"; @@ -21,7 +21,7 @@ if (!process.env.REA_WAKARU_COMMAND) "Provide REA_WAKARU_COMMAND for the official Wakaru 1.13.0 Linux x64 binary", ); const entrypoint = - process.argv[2] ?? fileURLToPath(new URL("./rea.mjs", import.meta.url)); + process.argv[2] ?? fileURLToPath(new URL("../../rea.mjs", import.meta.url)); const root = await mkdtemp(join(tmpdir(), "rea-real-recovery-")); const environment = { ...process.env, REA_LOG_LEVEL: "silent" }; const transport = new StdioClientTransport({ diff --git a/scripts/verify-local-javascript-runtime.mjs b/scripts/verify/javascript/runtime-observation.mjs similarity index 92% rename from scripts/verify-local-javascript-runtime.mjs rename to scripts/verify/javascript/runtime-observation.mjs index 60b52778d..a0c71f3c7 100644 --- a/scripts/verify-local-javascript-runtime.mjs +++ b/scripts/verify/javascript/runtime-observation.mjs @@ -3,9 +3,12 @@ import { readFile, realpath } from "node:fs/promises"; import { parseArgs } from "node:util"; -import { analyzeJavaScriptApplication } from "../dist/application/JavaScriptApplicationService.js"; -import { reconcileJavaScriptRuntimeEvidence } from "../dist/application/JavaScriptRuntimeReconciliationService.js"; -import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; +import { analyzeJavaScriptApplication } from "../../../dist/application/javascript/JavaScriptApplicationService.js"; +import { reconcileJavaScriptRuntimeEvidence } from "../../../dist/application/javascript/JavaScriptRuntimeReconciliationService.js"; +import { + completeVerifierRun, + createVerifierRun, +} from "../../lib/verifier-run.mjs"; const verifierRun = createVerifierRun(); diff --git a/src/application/OptionalObservationProviders.ts b/src/application/OptionalObservationProviders.ts index 80ad5e9ef..d66554966 100644 --- a/src/application/OptionalObservationProviders.ts +++ b/src/application/OptionalObservationProviders.ts @@ -1,8 +1,8 @@ import type { BrowserObservationPort } from "./BrowserObservationPort.js"; import type { BrowserScenarioCapturePort } from "./BrowserScenarioCapturePort.js"; -import type { ElectronObservationPort } from "./ElectronObservationPort.js"; -import type { ElectronActiveObservationPort } from "./ElectronActiveObservationPort.js"; -import type { JavaScriptRuntimeObservationPort } from "./JavaScriptRuntimeObservationPort.js"; +import type { ElectronObservationPort } from "./javascript/ElectronObservationPort.js"; +import type { ElectronActiveObservationPort } from "./javascript/ElectronActiveObservationPort.js"; +import type { JavaScriptRuntimeObservationPort } from "./javascript/JavaScriptRuntimeObservationPort.js"; import { AnalysisCapabilityUnavailableError } from "../domain/analysisErrorCore.js"; /** Existing observation ports loaded independently at MCP startup. */ diff --git a/src/application/ReconstructionObligationCandidates.ts b/src/application/ReconstructionObligationCandidates.ts index 64d9d6ed5..e97764867 100644 --- a/src/application/ReconstructionObligationCandidates.ts +++ b/src/application/ReconstructionObligationCandidates.ts @@ -12,7 +12,7 @@ import type { ReconstructionObligation, ReviewedReconstructionObligation, } from "../domain/reconstructionObligationLedgerSchemas.js"; -import { parseApplicationGraphEvidence } from "./JavaScriptApplicationEvidenceGraph.js"; +import { parseApplicationGraphEvidence } from "./javascript/JavaScriptApplicationEvidenceGraph.js"; import { applicationObligationPolicy, semanticObligationPolicy, diff --git a/src/application/ElectronActiveEvidence.ts b/src/application/javascript/ElectronActiveEvidence.ts similarity index 81% rename from src/application/ElectronActiveEvidence.ts rename to src/application/javascript/ElectronActiveEvidence.ts index f4d6be03d..192b2f2d4 100644 --- a/src/application/ElectronActiveEvidence.ts +++ b/src/application/javascript/ElectronActiveEvidence.ts @@ -1,12 +1,12 @@ -import { canonicalDigest } from "../domain/comparisonSemantics.js"; -import type { ProviderIdentity } from "./AnalysisProvider.js"; -import type { Evidence, EvidenceObservation } from "../domain/evidence.js"; -import { createEvidence } from "../domain/evidence.js"; +import { canonicalDigest } from "../../domain/comparisonSemantics.js"; +import type { ProviderIdentity } from "../AnalysisProvider.js"; +import type { Evidence, EvidenceObservation } from "../../domain/evidence.js"; +import { createEvidence } from "../../domain/evidence.js"; import type { ElectronActiveObservationInput, ElectronActiveObservationResult, -} from "../domain/electronActiveObservation.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; +} from "../../domain/electronActiveObservation.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; type CanonicalElectronActiveObservationInput = ElectronActiveObservationInput & { diff --git a/src/application/ElectronActiveObservationPort.ts b/src/application/javascript/ElectronActiveObservationPort.ts similarity index 59% rename from src/application/ElectronActiveObservationPort.ts rename to src/application/javascript/ElectronActiveObservationPort.ts index 584568a05..884f23c05 100644 --- a/src/application/ElectronActiveObservationPort.ts +++ b/src/application/javascript/ElectronActiveObservationPort.ts @@ -1,10 +1,13 @@ -import type { ExecutionOptions, ProviderIdentity } from "./AnalysisProvider.js"; -import type { AnalysisError } from "../domain/analysisErrorBase.js"; +import type { + ExecutionOptions, + ProviderIdentity, +} from "../AnalysisProvider.js"; +import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import type { ElectronActiveObservationInput, ElectronActiveObservationResult, -} from "../domain/electronActiveObservation.js"; -import type { Result } from "../domain/result.js"; +} from "../../domain/electronActiveObservation.js"; +import type { Result } from "../../domain/result.js"; /** Provider-neutral boundary for owned Electron runtime experiments. */ export interface ElectronActiveObservationPort { diff --git a/src/application/ElectronActiveObservationService.ts b/src/application/javascript/ElectronActiveObservationService.ts similarity index 86% rename from src/application/ElectronActiveObservationService.ts rename to src/application/javascript/ElectronActiveObservationService.ts index f1081be2f..feaa000d8 100644 --- a/src/application/ElectronActiveObservationService.ts +++ b/src/application/javascript/ElectronActiveObservationService.ts @@ -1,16 +1,16 @@ import { dirname } from "node:path"; import { realpath } from "node:fs/promises"; -import type { ExecutionOptions } from "./AnalysisProvider.js"; +import type { ExecutionOptions } from "../AnalysisProvider.js"; import type { ElectronActiveObservationPort } from "./ElectronActiveObservationPort.js"; import { AnalysisCapabilityUnavailableError, AnalysisInputError, -} from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Evidence } from "../domain/evidence.js"; -import type { ElectronActiveObservationInput } from "../domain/electronActiveObservation.js"; -import { err, type Result } from "../domain/result.js"; +} from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import type { ElectronActiveObservationInput } from "../../domain/electronActiveObservation.js"; +import { err, type Result } from "../../domain/result.js"; import { createElectronActiveEvidence } from "./ElectronActiveEvidence.js"; const OPERATION = "capture_electron_scenario" as const; diff --git a/src/application/ElectronBoundaryAnalysis.ts b/src/application/javascript/ElectronBoundaryAnalysis.ts similarity index 96% rename from src/application/ElectronBoundaryAnalysis.ts rename to src/application/javascript/ElectronBoundaryAnalysis.ts index 51b49d214..f2de1746c 100644 --- a/src/application/ElectronBoundaryAnalysis.ts +++ b/src/application/javascript/ElectronBoundaryAnalysis.ts @@ -1,6 +1,6 @@ -import { compareCodePoints } from "../domain/canonicalOrdering.js"; -import type { ElectronIpcFinding } from "../domain/electronStaticAnalysisTypes.js"; -import type { ElectronBoundarySummary } from "../domain/javascriptApplicationAnalysis.js"; +import { compareCodePoints } from "../../domain/canonicalOrdering.js"; +import type { ElectronIpcFinding } from "../../domain/electronStaticAnalysisTypes.js"; +import type { ElectronBoundarySummary } from "../../domain/javascriptApplicationAnalysis.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { resolveArtifactPathByContext } from "./JavaScriptArtifactPathResolution.js"; diff --git a/src/application/ElectronBoundaryGraph.ts b/src/application/javascript/ElectronBoundaryGraph.ts similarity index 100% rename from src/application/ElectronBoundaryGraph.ts rename to src/application/javascript/ElectronBoundaryGraph.ts diff --git a/src/application/ElectronBoundaryGraphContext.ts b/src/application/javascript/ElectronBoundaryGraphContext.ts similarity index 94% rename from src/application/ElectronBoundaryGraphContext.ts rename to src/application/javascript/ElectronBoundaryGraphContext.ts index d19c04280..47c5ac7bd 100644 --- a/src/application/ElectronBoundaryGraphContext.ts +++ b/src/application/javascript/ElectronBoundaryGraphContext.ts @@ -1,6 +1,6 @@ -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import { sha256Text } from "../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import { sha256Text } from "../../domain/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import type { JavaScriptArtifactGraphContext, diff --git a/src/application/ElectronBoundaryGraphIpc.ts b/src/application/javascript/ElectronBoundaryGraphIpc.ts similarity index 98% rename from src/application/ElectronBoundaryGraphIpc.ts rename to src/application/javascript/ElectronBoundaryGraphIpc.ts index 9740228a2..a15081e68 100644 --- a/src/application/ElectronBoundaryGraphIpc.ts +++ b/src/application/javascript/ElectronBoundaryGraphIpc.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import type { ElectronSenderValidationFinding } from "../domain/electronStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { ElectronSenderValidationFinding } from "../../domain/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity, diff --git a/src/application/ElectronBoundaryGraphNative.ts b/src/application/javascript/ElectronBoundaryGraphNative.ts similarity index 97% rename from src/application/ElectronBoundaryGraphNative.ts rename to src/application/javascript/ElectronBoundaryGraphNative.ts index d12d83927..3e5db27d8 100644 --- a/src/application/ElectronBoundaryGraphNative.ts +++ b/src/application/javascript/ElectronBoundaryGraphNative.ts @@ -1,4 +1,4 @@ -import type { ElectronNativeAddonBindingFinding } from "../domain/electronStaticAnalysisTypes.js"; +import type { ElectronNativeAddonBindingFinding } from "../../domain/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { javascriptAnalysisCoverage, diff --git a/src/application/ElectronBoundaryGraphWindows.ts b/src/application/javascript/ElectronBoundaryGraphWindows.ts similarity index 98% rename from src/application/ElectronBoundaryGraphWindows.ts rename to src/application/javascript/ElectronBoundaryGraphWindows.ts index d6fe16e1d..dae3f4b4d 100644 --- a/src/application/ElectronBoundaryGraphWindows.ts +++ b/src/application/javascript/ElectronBoundaryGraphWindows.ts @@ -1,9 +1,9 @@ -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; import type { ElectronBrowserWindowFinding, ElectronContextBridgeFinding, ElectronUtilityProcessFinding, -} from "../domain/electronStaticAnalysisTypes.js"; +} from "../../domain/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity, diff --git a/src/application/ElectronEvidence.ts b/src/application/javascript/ElectronEvidence.ts similarity index 89% rename from src/application/ElectronEvidence.ts rename to src/application/javascript/ElectronEvidence.ts index d985eb112..0608828ae 100644 --- a/src/application/ElectronEvidence.ts +++ b/src/application/javascript/ElectronEvidence.ts @@ -1,16 +1,16 @@ -import type { ProviderIdentity } from "./AnalysisProvider.js"; +import type { ProviderIdentity } from "../AnalysisProvider.js"; import { createEvidence, type Evidence, type EvidenceObservation, -} from "../domain/evidence.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; +} from "../../domain/evidence.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; import type { ElectronPageInspection, ElectronTargetList, InspectElectronPageInput, ListElectronTargetsInput, -} from "../domain/electronObservation.js"; +} from "../../domain/electronObservation.js"; type ElectronOperation = "list_electron_targets" | "inspect_electron_page"; diff --git a/src/application/ElectronObservationPort.ts b/src/application/javascript/ElectronObservationPort.ts similarity index 68% rename from src/application/ElectronObservationPort.ts rename to src/application/javascript/ElectronObservationPort.ts index f6ed7bf06..85b9e2574 100644 --- a/src/application/ElectronObservationPort.ts +++ b/src/application/javascript/ElectronObservationPort.ts @@ -1,12 +1,15 @@ -import type { ExecutionOptions, ProviderIdentity } from "./AnalysisProvider.js"; -import type { AnalysisError } from "../domain/analysisErrorBase.js"; +import type { + ExecutionOptions, + ProviderIdentity, +} from "../AnalysisProvider.js"; +import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import type { ElectronPageInspection, ElectronTargetList, InspectElectronPageInput, ListElectronTargetsInput, -} from "../domain/electronObservation.js"; -import type { Result } from "../domain/result.js"; +} from "../../domain/electronObservation.js"; +import type { Result } from "../../domain/result.js"; /** Provider-neutral boundary for root-confined Electron file-page observation. */ export interface ElectronObservationPort { diff --git a/src/application/ElectronObservationService.ts b/src/application/javascript/ElectronObservationService.ts similarity index 83% rename from src/application/ElectronObservationService.ts rename to src/application/javascript/ElectronObservationService.ts index 87d7263be..4542302a1 100644 --- a/src/application/ElectronObservationService.ts +++ b/src/application/javascript/ElectronObservationService.ts @@ -1,13 +1,13 @@ -import type { ExecutionOptions } from "./AnalysisProvider.js"; +import type { ExecutionOptions } from "../AnalysisProvider.js"; import type { ElectronObservationPort } from "./ElectronObservationPort.js"; -import type { Evidence } from "../domain/evidence.js"; +import type { Evidence } from "../../domain/evidence.js"; import type { InspectElectronPageInput, ListElectronTargetsInput, -} from "../domain/electronObservation.js"; -import { AnalysisCapabilityUnavailableError } from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import { err, ok, type Result } from "../domain/result.js"; +} from "../../domain/electronObservation.js"; +import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import { err, ok, type Result } from "../../domain/result.js"; import { createElectronEvidence } from "./ElectronEvidence.js"; /** List local file pages exposed by the explicitly selected endpoint. */ diff --git a/src/application/JavaScriptApplicationEmptyLiterals.test.ts b/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts similarity index 94% rename from src/application/JavaScriptApplicationEmptyLiterals.test.ts rename to src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts index efb942d60..01b223f32 100644 --- a/src/application/JavaScriptApplicationEmptyLiterals.test.ts +++ b/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts @@ -5,11 +5,11 @@ import { Ajv2020 } from "ajv/dist/2020.js"; import { expect, it } from "vitest"; import { z } from "zod"; -import { createTestTempDirectory } from "../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../domain/javascriptApplicationAnalysis.js"; -import { matchJavaScriptApplicationVersions } from "../domain/javascriptApplicationVersionKeys.js"; -import { findApplicationFeatureSeeds } from "../domain/javascriptFeatureSeed.js"; -import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js"; +import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; +import { matchJavaScriptApplicationVersions } from "../../domain/javascriptApplicationVersionKeys.js"; +import { findApplicationFeatureSeeds } from "../../domain/javascriptFeatureSeed.js"; +import { traceApplicationFeatureInputSchema } from "../../domain/javascriptFeatureTraceSchemas.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const analyzeSource = async ( diff --git a/src/application/JavaScriptApplicationEvidence.ts b/src/application/javascript/JavaScriptApplicationEvidence.ts similarity index 83% rename from src/application/JavaScriptApplicationEvidence.ts rename to src/application/javascript/JavaScriptApplicationEvidence.ts index 6f0a29e6b..a0d23348f 100644 --- a/src/application/JavaScriptApplicationEvidence.ts +++ b/src/application/javascript/JavaScriptApplicationEvidence.ts @@ -2,13 +2,13 @@ import { createEvidence, type Evidence, type EvidenceObservation, -} from "../domain/evidence.js"; +} from "../../domain/evidence.js"; import type { AnalyzeJavaScriptApplicationInput, JavaScriptApplicationAnalysisResult, -} from "../domain/javascriptApplicationAnalysis.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; -import { JAVASCRIPT_APPLICATION_PROVIDER } from "./InvestigationProviders.js"; +} from "../../domain/javascriptApplicationAnalysis.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; +import { JAVASCRIPT_APPLICATION_PROVIDER } from "../InvestigationProviders.js"; /** Create Evidence for one deterministic local JavaScript application graph. */ export const createJavaScriptApplicationEvidence = ( diff --git a/src/application/JavaScriptApplicationEvidenceGraph.ts b/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts similarity index 92% rename from src/application/JavaScriptApplicationEvidenceGraph.ts rename to src/application/javascript/JavaScriptApplicationEvidenceGraph.ts index f8e69c76f..712bb9eb3 100644 --- a/src/application/JavaScriptApplicationEvidenceGraph.ts +++ b/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts @@ -2,17 +2,17 @@ import { JAVASCRIPT_APPLICATION_PROVIDER, JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER, MANAGED_WORKFLOW_PROVIDER, -} from "./InvestigationProviders.js"; -import { parseEvidence, type Evidence } from "../domain/evidence.js"; +} from "../InvestigationProviders.js"; +import { parseEvidence, type Evidence } from "../../domain/evidence.js"; import { analyzeJavaScriptApplicationInputSchema, javascriptApplicationAnalysisResultSchema, type JavaScriptApplicationAnalysisResult, -} from "../domain/javascriptApplicationAnalysis.js"; -import type { JavaScriptApplicationGraph } from "../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSemanticGraph } from "../domain/javascriptSemanticGraph.js"; -import { javascriptRuntimeReconciliationResultSchema } from "../domain/javascriptRuntimeReconciliationSchemas.js"; -import { managedApplicationGraphResultSchema } from "../domain/managedApplicationGraph.js"; +} from "../../domain/javascriptApplicationAnalysis.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptSemanticGraph } from "../../domain/javascriptSemanticGraph.js"; +import { javascriptRuntimeReconciliationResultSchema } from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +import { managedApplicationGraphResultSchema } from "../../domain/managedApplicationGraph.js"; /** Supported immutable source for an application-level graph workflow. */ export interface ApplicationGraphEvidenceSource { diff --git a/src/application/JavaScriptApplicationService.test.ts b/src/application/javascript/JavaScriptApplicationService.test.ts similarity index 96% rename from src/application/JavaScriptApplicationService.test.ts rename to src/application/javascript/JavaScriptApplicationService.test.ts index b0dd97a80..5ff423b09 100644 --- a/src/application/JavaScriptApplicationService.test.ts +++ b/src/application/javascript/JavaScriptApplicationService.test.ts @@ -4,8 +4,8 @@ import { join } from "node:path"; import { describe, expect, it } from "vitest"; import { z } from "zod"; -import { createTestTempDirectory } from "../../tests/fixtures/temporaryDirectory.js"; -import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; +import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; +import { projectAnalysisError } from "../../domain/analysisErrorProjection.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; describe("JavaScript application failure diagnostics", () => { diff --git a/src/application/JavaScriptApplicationService.ts b/src/application/javascript/JavaScriptApplicationService.ts similarity index 84% rename from src/application/JavaScriptApplicationService.ts rename to src/application/javascript/JavaScriptApplicationService.ts index a7e3ecdd8..58095d984 100644 --- a/src/application/JavaScriptApplicationService.ts +++ b/src/application/javascript/JavaScriptApplicationService.ts @@ -1,24 +1,24 @@ import { z } from "zod"; -import { ArtifactReaderFailure } from "../artifacts/ArtifactReader.js"; +import { ArtifactReaderFailure } from "../../artifacts/ArtifactReader.js"; import { analyzeJavaScriptApplicationInputSchema, javascriptApplicationAnalysisResultSchema, -} from "../domain/javascriptApplicationAnalysis.js"; +} from "../../domain/javascriptApplicationAnalysis.js"; import { AnalysisInputError, AnalysisOutputError, -} from "../domain/analysisErrorCore.js"; -import { ArtifactOperationError } from "../domain/artifactOperationError.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Evidence } from "../domain/evidence.js"; -import { projectInputIssues } from "../domain/inputIssueProjection.js"; -import { err, ok, type Result } from "../domain/result.js"; -import { ProviderAdapterError } from "../domain/providerAdapterError.js"; -import type { ExecutionOptions } from "./AnalysisProvider.js"; +} from "../../domain/analysisErrorCore.js"; +import { ArtifactOperationError } from "../../domain/artifactOperationError.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import { projectInputIssues } from "../../domain/inputIssueProjection.js"; +import { err, ok, type Result } from "../../domain/result.js"; +import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; +import type { ExecutionOptions } from "../AnalysisProvider.js"; import { createJavaScriptApplicationEvidence } from "./JavaScriptApplicationEvidence.js"; import { reconstructJavaScriptArtifact } from "./JavaScriptArtifactReconstruction.js"; -import { JAVASCRIPT_APPLICATION_PROVIDER } from "./InvestigationProviders.js"; +import { JAVASCRIPT_APPLICATION_PROVIDER } from "../InvestigationProviders.js"; const OPERATION = "analyze_javascript_application" as const; diff --git a/src/application/JavaScriptApplicationTemplateLiterals.test.ts b/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts similarity index 92% rename from src/application/JavaScriptApplicationTemplateLiterals.test.ts rename to src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts index 2402cf672..7f3de11f3 100644 --- a/src/application/JavaScriptApplicationTemplateLiterals.test.ts +++ b/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts @@ -3,8 +3,8 @@ import { join } from "node:path"; import { expect, it } from "vitest"; -import { createTestTempDirectory } from "../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../domain/javascriptApplicationAnalysis.js"; +import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const graphIdentities = async (source: string) => { diff --git a/src/application/JavaScriptApplicationWorkflowEvidence.ts b/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts similarity index 82% rename from src/application/JavaScriptApplicationWorkflowEvidence.ts rename to src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts index 671ca1caf..baa6cd50b 100644 --- a/src/application/JavaScriptApplicationWorkflowEvidence.ts +++ b/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts @@ -2,14 +2,14 @@ import { createEvidence, type Evidence, type EvidenceObservation, -} from "../domain/evidence.js"; -import type { ApplicationVersionComparisonResult } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; -import type { JavaScriptExportShapeComparisonResult } from "../domain/javascriptExportShapeComparisonSchemas.js"; -import type { ApplicationFeatureTraceResult } from "../domain/javascriptFeatureTraceSchemas.js"; -import type { JavaScriptSemanticTraceResult } from "../domain/javascriptSemanticTraceSchemas.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; -import type { SourceToBundleComparisonResult } from "../domain/sourceToBundleComparisonSchemas.js"; -import { JAVASCRIPT_APPLICATION_WORKFLOW_PROVIDER } from "./InvestigationProviders.js"; +} from "../../domain/evidence.js"; +import type { ApplicationVersionComparisonResult } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; +import type { JavaScriptExportShapeComparisonResult } from "../../domain/javascriptExportShapeComparisonSchemas.js"; +import type { ApplicationFeatureTraceResult } from "../../domain/javascriptFeatureTraceSchemas.js"; +import type { JavaScriptSemanticTraceResult } from "../../domain/javascriptSemanticTraceSchemas.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; +import type { SourceToBundleComparisonResult } from "../../domain/sourceToBundleComparisonSchemas.js"; +import { JAVASCRIPT_APPLICATION_WORKFLOW_PROVIDER } from "../InvestigationProviders.js"; /** Create derived Evidence for one bounded application-graph feature trace. */ export const createApplicationFeatureTraceEvidence = ( diff --git a/src/application/JavaScriptApplicationWorkflowService.ts b/src/application/javascript/JavaScriptApplicationWorkflowService.ts similarity index 89% rename from src/application/JavaScriptApplicationWorkflowService.ts rename to src/application/javascript/JavaScriptApplicationWorkflowService.ts index d01a2497c..ec32320c9 100644 --- a/src/application/JavaScriptApplicationWorkflowService.ts +++ b/src/application/javascript/JavaScriptApplicationWorkflowService.ts @@ -3,19 +3,19 @@ import { z } from "zod"; import { AnalysisInputError, AnalysisProtocolError, -} from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Evidence } from "../domain/evidence.js"; -import { projectInputIssues } from "../domain/inputIssueProjection.js"; -import { compareJavaScriptApplicationVersions } from "../domain/javascriptApplicationVersionComparison.js"; -import { compareApplicationVersionsInputSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; -import { compareJavaScriptExportShapes } from "../domain/javascriptExportShapeComparison.js"; -import { compareJavaScriptExportShapesInputSchema } from "../domain/javascriptExportShapeComparisonSchemas.js"; -import { traceApplicationFeature } from "../domain/javascriptFeatureTrace.js"; -import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js"; -import { err, ok, type Result } from "../domain/result.js"; -import { compareSourceToBundle } from "../domain/sourceToBundleComparison.js"; -import { compareSourceToBundleInputSchema } from "../domain/sourceToBundleComparisonSchemas.js"; +} from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import { projectInputIssues } from "../../domain/inputIssueProjection.js"; +import { compareJavaScriptApplicationVersions } from "../../domain/javascriptApplicationVersionComparison.js"; +import { compareApplicationVersionsInputSchema } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; +import { compareJavaScriptExportShapes } from "../../domain/javascriptExportShapeComparison.js"; +import { compareJavaScriptExportShapesInputSchema } from "../../domain/javascriptExportShapeComparisonSchemas.js"; +import { traceApplicationFeature } from "../../domain/javascriptFeatureTrace.js"; +import { traceApplicationFeatureInputSchema } from "../../domain/javascriptFeatureTraceSchemas.js"; +import { err, ok, type Result } from "../../domain/result.js"; +import { compareSourceToBundle } from "../../domain/sourceToBundleComparison.js"; +import { compareSourceToBundleInputSchema } from "../../domain/sourceToBundleComparisonSchemas.js"; import { parseApplicationGraphEvidence, parseNativeApplicationEvidence, diff --git a/src/application/JavaScriptArtifactAnalysis.ts b/src/application/javascript/JavaScriptArtifactAnalysis.ts similarity index 94% rename from src/application/JavaScriptArtifactAnalysis.ts rename to src/application/javascript/JavaScriptArtifactAnalysis.ts index 444118ebe..0090099ec 100644 --- a/src/application/JavaScriptArtifactAnalysis.ts +++ b/src/application/javascript/JavaScriptArtifactAnalysis.ts @@ -1,16 +1,16 @@ import { createHash } from "node:crypto"; -import { analyzeParsedJavaScriptStaticSource } from "../domain/javascriptStaticAnalysis.js"; -import { analyzeParsedJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; -import { parseJavaScriptSource } from "../domain/javascriptSourceParser.js"; -import { hasValidSourceMapContents } from "../domain/sourceMapContents.js"; -import { flattenSourceMapLeaves } from "../domain/sourceMapEnvelope.js"; +import { analyzeParsedJavaScriptStaticSource } from "../../domain/javascriptStaticAnalysis.js"; +import { analyzeParsedJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; +import { parseJavaScriptSource } from "../../domain/javascriptSourceParser.js"; +import { hasValidSourceMapContents } from "../../domain/sourceMapContents.js"; +import { flattenSourceMapLeaves } from "../../domain/sourceMapEnvelope.js"; import type { JavaScriptSourceRange, JavaScriptSourcePoint, JavaScriptStaticAnalysis, -} from "../domain/javascriptStaticAnalysisTypes.js"; -import { failedJavaScriptStaticAnalysis } from "../domain/javascriptStaticAnalysisHelpers.js"; +} from "../../domain/javascriptStaticAnalysisTypes.js"; +import { failedJavaScriptStaticAnalysis } from "../../domain/javascriptStaticAnalysisHelpers.js"; import type { JavaScriptArtifactFile, JavaScriptArtifactFileSet, diff --git a/src/application/JavaScriptArtifactAnalysisTypes.ts b/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts similarity index 96% rename from src/application/JavaScriptArtifactAnalysisTypes.ts rename to src/application/javascript/JavaScriptArtifactAnalysisTypes.ts index 65b1b9c24..72112410d 100644 --- a/src/application/JavaScriptArtifactAnalysisTypes.ts +++ b/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts @@ -1,8 +1,8 @@ import type { JavaScriptSourceRange, JavaScriptStaticAnalysis, -} from "../domain/javascriptStaticAnalysisTypes.js"; -import type { JavaScriptSemanticIr } from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; interface JavaScriptStructuredObservation { diff --git a/src/application/JavaScriptArtifactFiles.ts b/src/application/javascript/JavaScriptArtifactFiles.ts similarity index 96% rename from src/application/JavaScriptArtifactFiles.ts rename to src/application/javascript/JavaScriptArtifactFiles.ts index 0257c6472..e70e765ab 100644 --- a/src/application/JavaScriptArtifactFiles.ts +++ b/src/application/javascript/JavaScriptArtifactFiles.ts @@ -2,20 +2,20 @@ import { createHash } from "node:crypto"; import { isAbsolute } from "node:path"; import type { Readable } from "node:stream"; -import { compareCodePoints } from "../domain/canonicalOrdering.js"; -import { AsarArtifactReader } from "../artifacts/AsarArtifactReader.js"; +import { compareCodePoints } from "../../domain/canonicalOrdering.js"; +import { AsarArtifactReader } from "../../artifacts/AsarArtifactReader.js"; import { ArtifactPathRegistry, normalizeArtifactPath, -} from "../artifacts/ArtifactPaths.js"; +} from "../../artifacts/ArtifactPaths.js"; import { ArtifactReaderFailure, type ArtifactEntry, type ArtifactReader, -} from "../artifacts/ArtifactReader.js"; -import { streamChunkToBuffer } from "../artifacts/StreamBytes.js"; -import { hashReadable } from "./ArtifactInventory/hash.js"; -import type { ArtifactInventorySnapshot } from "./ArtifactInventory.js"; +} from "../../artifacts/ArtifactReader.js"; +import { streamChunkToBuffer } from "../../artifacts/StreamBytes.js"; +import { hashReadable } from "../ArtifactInventory/hash.js"; +import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; /** Relevant file categories projected from the complete artifact inventory. */ export type JavaScriptArtifactFileKind = diff --git a/src/application/JavaScriptArtifactGraphAccumulator.ts b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts similarity index 98% rename from src/application/JavaScriptArtifactGraphAccumulator.ts rename to src/application/javascript/JavaScriptArtifactGraphAccumulator.ts index 59ee76ff1..e096f70ee 100644 --- a/src/application/JavaScriptArtifactGraphAccumulator.ts +++ b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts @@ -3,7 +3,7 @@ import { createJavaScriptApplicationNode, type ApplicationEdge, type ApplicationNode, -} from "../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascriptApplicationGraph.js"; /** Deduplicate graph entities while retaining distinct evidence observations. */ export class JavaScriptArtifactGraphAccumulator { diff --git a/src/application/JavaScriptArtifactGraphBuilder.ts b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts similarity index 97% rename from src/application/JavaScriptArtifactGraphBuilder.ts rename to src/application/javascript/JavaScriptArtifactGraphBuilder.ts index 6b7428583..8c187e581 100644 --- a/src/application/JavaScriptArtifactGraphBuilder.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts @@ -1,8 +1,8 @@ -import type { ArtifactInventorySnapshot } from "./ArtifactInventory.js"; +import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; import { createJavaScriptApplicationGraph, type JavaScriptApplicationGraph, -} from "../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascriptApplicationGraph.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFileSet } from "./JavaScriptArtifactFiles.js"; import { JavaScriptArtifactGraphAccumulator } from "./JavaScriptArtifactGraphAccumulator.js"; @@ -19,7 +19,7 @@ import { import { completeApplicationCoverage, partialApplicationCoverage, -} from "../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascriptApplicationEvidenceSchemas.js"; import { addJavaScriptArtifactContainers, addJavaScriptArtifactFiles, diff --git a/src/application/JavaScriptArtifactGraphBundlers.ts b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts similarity index 98% rename from src/application/JavaScriptArtifactGraphBundlers.ts rename to src/application/javascript/JavaScriptArtifactGraphBundlers.ts index 2cfa6ab2a..b2288551b 100644 --- a/src/application/JavaScriptArtifactGraphBundlers.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import type { JavaScriptBundlerRegistration } from "../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptBundlerRegistration } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addAstContainsEdge, diff --git a/src/application/JavaScriptArtifactGraphContext.ts b/src/application/javascript/JavaScriptArtifactGraphContext.ts similarity index 97% rename from src/application/JavaScriptArtifactGraphContext.ts rename to src/application/javascript/JavaScriptArtifactGraphContext.ts index f8b0a2f03..3a98a6f1f 100644 --- a/src/application/JavaScriptArtifactGraphContext.ts +++ b/src/application/javascript/JavaScriptArtifactGraphContext.ts @@ -1,11 +1,11 @@ -import type { ArtifactInventorySnapshot } from "./ArtifactInventory.js"; +import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; import { completeApplicationCoverage, partialApplicationCoverage, type ApplicationGraphEvidence, -} from "../domain/javascriptApplicationEvidenceSchemas.js"; -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile, diff --git a/src/application/JavaScriptArtifactGraphDocuments.ts b/src/application/javascript/JavaScriptArtifactGraphDocuments.ts similarity index 97% rename from src/application/JavaScriptArtifactGraphDocuments.ts rename to src/application/javascript/JavaScriptArtifactGraphDocuments.ts index fa48f552c..6a5142349 100644 --- a/src/application/JavaScriptArtifactGraphDocuments.ts +++ b/src/application/javascript/JavaScriptArtifactGraphDocuments.ts @@ -6,7 +6,7 @@ import { type JavaScriptArtifactGraphContext, } from "./JavaScriptArtifactGraphContext.js"; import { artifactObservationEvidence } from "./JavaScriptArtifactGraphEvidence.js"; -import { completeApplicationCoverage } from "../domain/javascriptApplicationEvidenceSchemas.js"; +import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; import { resolveArtifactPathByContext } from "./JavaScriptArtifactPathResolution.js"; /** Project HTML renderer entrypoints and their local script assets. */ diff --git a/src/application/JavaScriptArtifactGraphEvidence.ts b/src/application/javascript/JavaScriptArtifactGraphEvidence.ts similarity index 94% rename from src/application/JavaScriptArtifactGraphEvidence.ts rename to src/application/javascript/JavaScriptArtifactGraphEvidence.ts index a8945f376..262c3a9aa 100644 --- a/src/application/JavaScriptArtifactGraphEvidence.ts +++ b/src/application/javascript/JavaScriptArtifactGraphEvidence.ts @@ -1,5 +1,5 @@ -import type { ApplicationGraphEvidence } from "../domain/javascriptApplicationEvidenceSchemas.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; const EXTRACTOR = { name: "rea-javascript-artifact-reconstruction", diff --git a/src/application/JavaScriptArtifactGraphFindings.ts b/src/application/javascript/JavaScriptArtifactGraphFindings.ts similarity index 98% rename from src/application/JavaScriptArtifactGraphFindings.ts rename to src/application/javascript/JavaScriptArtifactGraphFindings.ts index 12588ea3b..e210a9490 100644 --- a/src/application/JavaScriptArtifactGraphFindings.ts +++ b/src/application/javascript/JavaScriptArtifactGraphFindings.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import type { JavaScriptStaticAnalysis } from "../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptStaticAnalysis } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addStaticInferenceEdge, diff --git a/src/application/JavaScriptArtifactGraphStructure.ts b/src/application/javascript/JavaScriptArtifactGraphStructure.ts similarity index 98% rename from src/application/JavaScriptArtifactGraphStructure.ts rename to src/application/javascript/JavaScriptArtifactGraphStructure.ts index d02f2e54f..7e95f255d 100644 --- a/src/application/JavaScriptArtifactGraphStructure.ts +++ b/src/application/javascript/JavaScriptArtifactGraphStructure.ts @@ -1,6 +1,6 @@ -import type { ArtifactInventorySnapshot } from "./ArtifactInventory.js"; -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; -import { completeApplicationCoverage } from "../domain/javascriptApplicationEvidenceSchemas.js"; +import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactContainer, diff --git a/src/application/JavaScriptArtifactPathResolution.test.ts b/src/application/javascript/JavaScriptArtifactPathResolution.test.ts similarity index 98% rename from src/application/JavaScriptArtifactPathResolution.test.ts rename to src/application/javascript/JavaScriptArtifactPathResolution.test.ts index d8f94caf2..d1e20058e 100644 --- a/src/application/JavaScriptArtifactPathResolution.test.ts +++ b/src/application/javascript/JavaScriptArtifactPathResolution.test.ts @@ -6,8 +6,8 @@ import { } from "./JavaScriptArtifactPathResolution.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity } from "./JavaScriptArtifactGraphContext.js"; -import { applicationNodeIdentitySchema } from "../domain/javascriptApplicationEvidenceSchemas.js"; -import { analyzeJavaScriptStaticSource } from "../domain/javascriptStaticAnalysis.js"; +import { applicationNodeIdentitySchema } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import { analyzeJavaScriptStaticSource } from "../../domain/javascriptStaticAnalysis.js"; describe("artifact-local graph identity", () => { it("preserves complete long namespace and key values", () => { diff --git a/src/application/JavaScriptArtifactPathResolution.ts b/src/application/javascript/JavaScriptArtifactPathResolution.ts similarity index 99% rename from src/application/JavaScriptArtifactPathResolution.ts rename to src/application/javascript/JavaScriptArtifactPathResolution.ts index 0e3528abb..fcc102281 100644 --- a/src/application/JavaScriptArtifactPathResolution.ts +++ b/src/application/javascript/JavaScriptArtifactPathResolution.ts @@ -7,7 +7,7 @@ import { hasScheme, looksExternal, stripQueryAndFragment, -} from "../domain/artifactPathSyntax.js"; +} from "../../domain/artifactPathSyntax.js"; type ArtifactPathResolutionContext = | "package-entrypoint" diff --git a/src/application/JavaScriptArtifactReconstruction.ts b/src/application/javascript/JavaScriptArtifactReconstruction.ts similarity index 89% rename from src/application/JavaScriptArtifactReconstruction.ts rename to src/application/javascript/JavaScriptArtifactReconstruction.ts index 076fc07ba..7ec370e4f 100644 --- a/src/application/JavaScriptArtifactReconstruction.ts +++ b/src/application/javascript/JavaScriptArtifactReconstruction.ts @@ -1,14 +1,14 @@ import { lstat, realpath } from "node:fs/promises"; -import { AsarArtifactReader } from "../artifacts/AsarArtifactReader.js"; +import { AsarArtifactReader } from "../../artifacts/AsarArtifactReader.js"; import { ArtifactReaderFailure, type ArtifactReader, -} from "../artifacts/ArtifactReader.js"; -import { DirectoryArtifactReader } from "../artifacts/DirectoryArtifactReader.js"; -import type { JavaScriptApplicationGraph } from "../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSemanticGraph } from "../domain/javascriptSemanticGraph.js"; -import type { ElectronBoundarySummary } from "../domain/javascriptApplicationAnalysis.js"; +} from "../../artifacts/ArtifactReader.js"; +import { DirectoryArtifactReader } from "../../artifacts/DirectoryArtifactReader.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptSemanticGraph } from "../../domain/javascriptSemanticGraph.js"; +import type { ElectronBoundarySummary } from "../../domain/javascriptApplicationAnalysis.js"; import { analyzeJavaScriptArtifactFiles } from "./JavaScriptArtifactAnalysis.js"; import { readJavaScriptArtifactFiles } from "./JavaScriptArtifactFiles.js"; import { buildJavaScriptArtifactGraph } from "./JavaScriptArtifactGraphBuilder.js"; @@ -16,7 +16,7 @@ import { javascriptArtifactReconstructionInputSchema, type JavaScriptArtifactReconstructionInput, } from "./JavaScriptArtifactReconstructionInput.js"; -import { scanCanonicalArtifactInventory } from "./ArtifactInventory.js"; +import { scanCanonicalArtifactInventory } from "../ArtifactInventory.js"; import { summarizeElectronBoundaries } from "./ElectronBoundaryAnalysis.js"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; diff --git a/src/application/JavaScriptArtifactReconstructionInput.ts b/src/application/javascript/JavaScriptArtifactReconstructionInput.ts similarity index 100% rename from src/application/JavaScriptArtifactReconstructionInput.ts rename to src/application/javascript/JavaScriptArtifactReconstructionInput.ts diff --git a/src/application/JavaScriptFileUrlPaths.test.ts b/src/application/javascript/JavaScriptFileUrlPaths.test.ts similarity index 93% rename from src/application/JavaScriptFileUrlPaths.test.ts rename to src/application/javascript/JavaScriptFileUrlPaths.test.ts index 0a4a5cdd8..e24bd0616 100644 --- a/src/application/JavaScriptFileUrlPaths.test.ts +++ b/src/application/javascript/JavaScriptFileUrlPaths.test.ts @@ -5,9 +5,9 @@ import { fileURLToPath, pathToFileURL } from "node:url"; import { parseExpression } from "@babel/parser"; import { describe, expect, it } from "vitest"; -import { createTestTempDirectory } from "../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../domain/javascriptApplicationAnalysis.js"; -import { staticPath } from "../domain/javascriptStaticAnalysisHelpers.js"; +import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; +import { staticPath } from "../../domain/javascriptStaticAnalysisHelpers.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const urlCases = [ diff --git a/src/application/JavaScriptHtmlBaseResolution.test.ts b/src/application/javascript/JavaScriptHtmlBaseResolution.test.ts similarity index 100% rename from src/application/JavaScriptHtmlBaseResolution.test.ts rename to src/application/javascript/JavaScriptHtmlBaseResolution.test.ts diff --git a/src/application/JavaScriptJsonModules.ts b/src/application/javascript/JavaScriptJsonModules.ts similarity index 94% rename from src/application/JavaScriptJsonModules.ts rename to src/application/javascript/JavaScriptJsonModules.ts index 284fa99b8..4c0c82536 100644 --- a/src/application/JavaScriptJsonModules.ts +++ b/src/application/javascript/JavaScriptJsonModules.ts @@ -1,4 +1,4 @@ -import { compareCodePoints } from "../domain/canonicalOrdering.js"; +import { compareCodePoints } from "../../domain/canonicalOrdering.js"; import type { JavaScriptJsonModuleObservation } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; diff --git a/src/application/JavaScriptModuleRelationships.ts b/src/application/javascript/JavaScriptModuleRelationships.ts similarity index 97% rename from src/application/JavaScriptModuleRelationships.ts rename to src/application/javascript/JavaScriptModuleRelationships.ts index c16aadc35..d10a9dd70 100644 --- a/src/application/JavaScriptModuleRelationships.ts +++ b/src/application/javascript/JavaScriptModuleRelationships.ts @@ -1,16 +1,16 @@ import { posix } from "node:path"; -import { compareCodePoints } from "../domain/canonicalOrdering.js"; -import type { ApplicationNode } from "../domain/javascriptApplicationGraph.js"; +import { compareCodePoints } from "../../domain/canonicalOrdering.js"; +import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; import { completeApplicationCoverage, partialApplicationCoverage, -} from "../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptModuleOrigin, JavaScriptSemanticIr, JavaScriptSemanticModuleLink, -} from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addAstContainsEdge, diff --git a/src/application/JavaScriptModuleSpecifierPaths.test.ts b/src/application/javascript/JavaScriptModuleSpecifierPaths.test.ts similarity index 100% rename from src/application/JavaScriptModuleSpecifierPaths.test.ts rename to src/application/javascript/JavaScriptModuleSpecifierPaths.test.ts diff --git a/src/application/JavaScriptRecoveryPort.ts b/src/application/javascript/JavaScriptRecoveryPort.ts similarity index 56% rename from src/application/JavaScriptRecoveryPort.ts rename to src/application/javascript/JavaScriptRecoveryPort.ts index a6fc074f9..baf018610 100644 --- a/src/application/JavaScriptRecoveryPort.ts +++ b/src/application/javascript/JavaScriptRecoveryPort.ts @@ -1,10 +1,10 @@ -import type { AnalysisError } from "../domain/analysisErrorBase.js"; -import type { JavaScriptRecoveryInput } from "../domain/javascriptRecovery.js"; -import type { Result } from "../domain/result.js"; +import type { AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { JavaScriptRecoveryInput } from "../../domain/javascriptRecovery.js"; +import type { Result } from "../../domain/result.js"; import type { AnalysisExecution, ExecutionOptions, -} from "./AnalysisProvider.js"; +} from "../AnalysisProvider.js"; /** Typed boundary for upstream source recovery without exposing its protocol. */ export interface JavaScriptRecoveryPort { diff --git a/src/application/JavaScriptRecoveryService.test.ts b/src/application/javascript/JavaScriptRecoveryService.test.ts similarity index 95% rename from src/application/JavaScriptRecoveryService.test.ts rename to src/application/javascript/JavaScriptRecoveryService.test.ts index fe01b4cd9..7acef4dc2 100644 --- a/src/application/JavaScriptRecoveryService.test.ts +++ b/src/application/javascript/JavaScriptRecoveryService.test.ts @@ -1,11 +1,11 @@ import { describe, expect, it } from "vitest"; -import { AnalysisCapabilityUnavailableError } from "../domain/analysisErrorCore.js"; -import { err, ok } from "../domain/result.js"; +import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; +import { err, ok } from "../../domain/result.js"; import type { JavaScriptRecoveryInput, JavaScriptRecoveryResult, -} from "../domain/javascriptRecovery.js"; -import { createAnalysisExecution } from "./AnalysisProvider.js"; +} from "../../domain/javascriptRecovery.js"; +import { createAnalysisExecution } from "../AnalysisProvider.js"; import { JavaScriptRecoveryService } from "./JavaScriptRecoveryService.js"; const artifact = { path: "/tmp/bundle.js", sha256: "a".repeat(64), bytes: 20 }; diff --git a/src/application/JavaScriptRecoveryService.ts b/src/application/javascript/JavaScriptRecoveryService.ts similarity index 85% rename from src/application/JavaScriptRecoveryService.ts rename to src/application/javascript/JavaScriptRecoveryService.ts index fe1676196..78c08c930 100644 --- a/src/application/JavaScriptRecoveryService.ts +++ b/src/application/javascript/JavaScriptRecoveryService.ts @@ -4,17 +4,17 @@ import { AnalysisCancelledError, AnalysisInputError, AnalysisOutputError, -} from "../domain/analysisErrorCore.js"; -import type { AnalysisError } from "../domain/analysisErrorBase.js"; -import { createEvidence, type Evidence } from "../domain/evidence.js"; +} from "../../domain/analysisErrorCore.js"; +import type { AnalysisError } from "../../domain/analysisErrorBase.js"; +import { createEvidence, type Evidence } from "../../domain/evidence.js"; import { javascriptRecoveryInputSchema, javascriptRecoveryResultSchema, -} from "../domain/javascriptRecovery.js"; -import { jsonObjectSchema } from "../domain/jsonValue.js"; -import { projectInputIssues } from "../domain/inputIssueProjection.js"; -import { err, ok, type Result } from "../domain/result.js"; -import type { ExecutionOptions } from "./AnalysisProvider.js"; +} from "../../domain/javascriptRecovery.js"; +import { jsonObjectSchema } from "../../domain/jsonValue.js"; +import { projectInputIssues } from "../../domain/inputIssueProjection.js"; +import { err, ok, type Result } from "../../domain/result.js"; +import type { ExecutionOptions } from "../AnalysisProvider.js"; import type { JavaScriptRecoveryPort } from "./JavaScriptRecoveryPort.js"; const OPERATION = "recover_javascript_sources"; diff --git a/src/application/JavaScriptReturnShapeProjection.test.ts b/src/application/javascript/JavaScriptReturnShapeProjection.test.ts similarity index 96% rename from src/application/JavaScriptReturnShapeProjection.test.ts rename to src/application/javascript/JavaScriptReturnShapeProjection.test.ts index 91a168025..b62577283 100644 --- a/src/application/JavaScriptReturnShapeProjection.test.ts +++ b/src/application/javascript/JavaScriptReturnShapeProjection.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; -import { analyzeJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; -import { completeApplicationCoverage } from "../domain/javascriptApplicationEvidenceSchemas.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; +import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; import { projectJavaScriptExportReturnShapes } from "./JavaScriptReturnShapeProjection.js"; const projectReturns = (body: string) => { diff --git a/src/application/JavaScriptReturnShapeProjection.ts b/src/application/javascript/JavaScriptReturnShapeProjection.ts similarity index 90% rename from src/application/JavaScriptReturnShapeProjection.ts rename to src/application/javascript/JavaScriptReturnShapeProjection.ts index 484bcbf43..f8f25ae3d 100644 --- a/src/application/JavaScriptReturnShapeProjection.ts +++ b/src/application/javascript/JavaScriptReturnShapeProjection.ts @@ -1,15 +1,15 @@ -import { jsonObjectSchema, jsonValueSchema } from "../domain/jsonValue.js"; +import { jsonObjectSchema, jsonValueSchema } from "../../domain/jsonValue.js"; import { partialApplicationCoverage, truncatedApplicationCoverage, -} from "../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptSemanticIr, JavaScriptSemanticCallable, JavaScriptSemanticModuleLink, -} from "../domain/javascriptSemanticIr.js"; -import { flattenSemanticReturnValue } from "../domain/javascriptSemanticReturns.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascriptSemanticIr.js"; +import { flattenSemanticReturnValue } from "../../domain/javascriptSemanticReturns.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactGraphCoverage } from "./JavaScriptArtifactGraphContext.js"; export interface JavaScriptReturnShapeProjection { diff --git a/src/application/JavaScriptRuntimeObservationEvidence.ts b/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts similarity index 89% rename from src/application/JavaScriptRuntimeObservationEvidence.ts rename to src/application/javascript/JavaScriptRuntimeObservationEvidence.ts index 31605cc1a..94589a22e 100644 --- a/src/application/JavaScriptRuntimeObservationEvidence.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts @@ -1,16 +1,16 @@ -import type { ProviderIdentity } from "./AnalysisProvider.js"; +import type { ProviderIdentity } from "../AnalysisProvider.js"; import { createEvidence, type Evidence, type EvidenceObservation, -} from "../domain/evidence.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; +} from "../../domain/evidence.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; import type { JavaScriptRuntimeObservation, JavaScriptRuntimeTargetList, ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../../domain/javascriptRuntimeObservation.js"; type RuntimeObservationOperation = | "list_javascript_runtime_targets" diff --git a/src/application/JavaScriptRuntimeObservationPort.ts b/src/application/javascript/JavaScriptRuntimeObservationPort.ts similarity index 70% rename from src/application/JavaScriptRuntimeObservationPort.ts rename to src/application/javascript/JavaScriptRuntimeObservationPort.ts index 5772cbce0..5c730d75c 100644 --- a/src/application/JavaScriptRuntimeObservationPort.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationPort.ts @@ -1,12 +1,15 @@ -import type { ExecutionOptions, ProviderIdentity } from "./AnalysisProvider.js"; +import type { + ExecutionOptions, + ProviderIdentity, +} from "../AnalysisProvider.js"; import type { JavaScriptRuntimeObservation, JavaScriptRuntimeTargetList, ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeObservation.js"; -import type { AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Result } from "../domain/result.js"; +} from "../../domain/javascriptRuntimeObservation.js"; +import type { AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Result } from "../../domain/result.js"; /** Provider-neutral boundary for passive Node/Electron Inspector observation. */ export interface JavaScriptRuntimeObservationPort { diff --git a/src/application/JavaScriptRuntimeObservationService.ts b/src/application/javascript/JavaScriptRuntimeObservationService.ts similarity index 84% rename from src/application/JavaScriptRuntimeObservationService.ts rename to src/application/javascript/JavaScriptRuntimeObservationService.ts index 486a366a8..51eb6e4c3 100644 --- a/src/application/JavaScriptRuntimeObservationService.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationService.ts @@ -1,14 +1,14 @@ -import type { ExecutionOptions } from "./AnalysisProvider.js"; +import type { ExecutionOptions } from "../AnalysisProvider.js"; import type { JavaScriptRuntimeObservationPort } from "./JavaScriptRuntimeObservationPort.js"; import { createJavaScriptRuntimeObservationEvidence } from "./JavaScriptRuntimeObservationEvidence.js"; -import type { Evidence } from "../domain/evidence.js"; -import { AnalysisCapabilityUnavailableError } from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeObservation.js"; -import { err, ok, type Result } from "../domain/result.js"; +} from "../../domain/javascriptRuntimeObservation.js"; +import { err, ok, type Result } from "../../domain/result.js"; /** List targets exposed by the explicitly selected loopback Inspector. */ export const listJavaScriptRuntimeTargets = async ( diff --git a/src/application/JavaScriptRuntimeReconciliationEvidence.ts b/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts similarity index 83% rename from src/application/JavaScriptRuntimeReconciliationEvidence.ts rename to src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts index c23609c75..76f1046bc 100644 --- a/src/application/JavaScriptRuntimeReconciliationEvidence.ts +++ b/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts @@ -2,13 +2,13 @@ import { createEvidence, type Evidence, type EvidenceObservation, -} from "../domain/evidence.js"; +} from "../../domain/evidence.js"; import type { JavaScriptRuntimeReconciliationResult, ReconcileJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeReconciliationSchemas.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; -import { JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER } from "./InvestigationProviders.js"; +} from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; +import { JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER } from "../InvestigationProviders.js"; /** Create derived Evidence for one exact set of static/runtime inputs. */ export const createJavaScriptRuntimeReconciliationEvidence = ( diff --git a/src/application/JavaScriptRuntimeReconciliationService.ts b/src/application/javascript/JavaScriptRuntimeReconciliationService.ts similarity index 87% rename from src/application/JavaScriptRuntimeReconciliationService.ts rename to src/application/javascript/JavaScriptRuntimeReconciliationService.ts index 72e5e5992..0bf0338a4 100644 --- a/src/application/JavaScriptRuntimeReconciliationService.ts +++ b/src/application/javascript/JavaScriptRuntimeReconciliationService.ts @@ -4,13 +4,13 @@ import { z } from "zod"; import { AnalysisInputError, AnalysisProtocolError, -} from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Evidence } from "../domain/evidence.js"; -import { projectInputIssues } from "../domain/inputIssueProjection.js"; -import { reconcileJavaScriptRuntime } from "../domain/javascriptRuntimeReconciliation.js"; -import { reconcileJavaScriptRuntimeInputSchema } from "../domain/javascriptRuntimeReconciliationSchemas.js"; -import { err, ok, type Result } from "../domain/result.js"; +} from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import { projectInputIssues } from "../../domain/inputIssueProjection.js"; +import { reconcileJavaScriptRuntime } from "../../domain/javascriptRuntimeReconciliation.js"; +import { reconcileJavaScriptRuntimeInputSchema } from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +import { err, ok, type Result } from "../../domain/result.js"; import { createJavaScriptRuntimeReconciliationEvidence } from "./JavaScriptRuntimeReconciliationEvidence.js"; const OPERATION = "reconcile_javascript_runtime" as const; diff --git a/src/application/JavaScriptSemanticGraphAsyncProjection.ts b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts similarity index 97% rename from src/application/JavaScriptSemanticGraphAsyncProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts index a728ef067..0b13f61f9 100644 --- a/src/application/JavaScriptSemanticGraphAsyncProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts @@ -1,9 +1,9 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; import type { JavaScriptSemanticEventOperation, JavaScriptSemanticTimerOperation, -} from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticGraphBuilder.test.ts b/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts similarity index 98% rename from src/application/JavaScriptSemanticGraphBuilder.test.ts rename to src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts index b6e856e3f..1575d3bd5 100644 --- a/src/application/JavaScriptSemanticGraphBuilder.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { queryJavaScriptSemanticGraph } from "../domain/javascriptSemanticQuery.js"; -import { analyzeJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/JavaScriptSemanticGraphBuilder.ts b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts similarity index 97% rename from src/application/JavaScriptSemanticGraphBuilder.ts rename to src/application/javascript/JavaScriptSemanticGraphBuilder.ts index 2b538a5f6..7f36a77d1 100644 --- a/src/application/JavaScriptSemanticGraphBuilder.ts +++ b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts @@ -2,17 +2,17 @@ import { createJavaScriptSemanticGraph, type JavaScriptSemanticGraph, type JavaScriptSemanticGraphNode, -} from "../domain/javascriptSemanticGraph.js"; +} from "../../domain/javascriptSemanticGraph.js"; import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES, JAVASCRIPT_SEMANTIC_RELATION_FAMILY, -} from "../domain/javascriptSemanticGraphSchemas.js"; +} from "../../domain/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticCallArgument, JavaScriptSemanticIr, -} from "../domain/javascriptSemanticIr.js"; -import { sourceRangesEqual as rangesEqual } from "../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptApplicationGraph } from "../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascriptSemanticIr.js"; +import { sourceRangesEqual as rangesEqual } from "../../domain/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { diff --git a/src/application/JavaScriptSemanticGraphChildProcessProjection.ts b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts similarity index 97% rename from src/application/JavaScriptSemanticGraphChildProcessProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts index a8de71aec..79f848c0d 100644 --- a/src/application/JavaScriptSemanticGraphChildProcessProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts @@ -1,9 +1,9 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; import type { JavaScriptSemanticChildProcessInteraction, JavaScriptSemanticChildProcessSpawn, -} from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticGraphConstruction.ts b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts similarity index 93% rename from src/application/JavaScriptSemanticGraphConstruction.ts rename to src/application/javascript/JavaScriptSemanticGraphConstruction.ts index df6e6e48e..9e859162d 100644 --- a/src/application/JavaScriptSemanticGraphConstruction.ts +++ b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts @@ -1,17 +1,17 @@ -import type { JavaScriptApplicationGraph } from "../domain/javascriptApplicationGraph.js"; -import type { JsonValue } from "../domain/jsonValue.js"; -import { javascriptDisplayText } from "../domain/javascriptAstValues.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; +import type { JsonValue } from "../../domain/jsonValue.js"; +import { javascriptDisplayText } from "../../domain/javascriptAstValues.js"; import { createJavaScriptSemanticGraphNode, createJavaScriptSemanticGraphRelation, type JavaScriptSemanticGraphNode, -} from "../domain/javascriptSemanticGraph.js"; -import type { ApplicationGraphEvidence } from "../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascriptSemanticGraph.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptSemanticGraphRelation, JavaScriptSemanticGraphUnknown, -} from "../domain/javascriptSemanticGraphSchemas.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascriptSemanticGraphSchemas.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { inferredSemanticEvidence, diff --git a/src/application/JavaScriptSemanticGraphDataProjection.ts b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts similarity index 97% rename from src/application/JavaScriptSemanticGraphDataProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphDataProjection.ts index 2bc1a9413..916b4e350 100644 --- a/src/application/JavaScriptSemanticGraphDataProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts @@ -1,10 +1,10 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; import type { JavaScriptSemanticBoundaryOperation, JavaScriptSemanticConfigurationOperation, JavaScriptSemanticRequestOperation, -} from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticGraphEvidence.ts b/src/application/javascript/JavaScriptSemanticGraphEvidence.ts similarity index 91% rename from src/application/JavaScriptSemanticGraphEvidence.ts rename to src/application/javascript/JavaScriptSemanticGraphEvidence.ts index 4501ac5ea..901e8e5a4 100644 --- a/src/application/JavaScriptSemanticGraphEvidence.ts +++ b/src/application/javascript/JavaScriptSemanticGraphEvidence.ts @@ -1,6 +1,6 @@ -import type { ApplicationGraphEvidence } from "../domain/javascriptApplicationEvidenceSchemas.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; const INFERENCE_LIMITATION = diff --git a/src/application/JavaScriptSemanticGraphFingerprintProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts similarity index 92% rename from src/application/JavaScriptSemanticGraphFingerprintProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts index f51137349..1d32e1527 100644 --- a/src/application/JavaScriptSemanticGraphFingerprintProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts @@ -2,8 +2,8 @@ import { createJavaScriptSemanticFingerprint, type JavaScriptSemanticGraph, type JavaScriptSemanticGraphNode, -} from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticIr } from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { observedSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; diff --git a/src/application/JavaScriptSemanticGraphFlowProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts similarity index 95% rename from src/application/JavaScriptSemanticGraphFlowProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts index 25c4c547d..425c58940 100644 --- a/src/application/JavaScriptSemanticGraphFlowProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts @@ -1,8 +1,8 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticIr } from "../domain/javascriptSemanticIr.js"; -import { sourceRangesEqual } from "../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; +import { sourceRangesEqual } from "../../domain/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addSemanticGraphNode, diff --git a/src/application/JavaScriptSemanticGraphObjectProjection.ts b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts similarity index 93% rename from src/application/JavaScriptSemanticGraphObjectProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts index 73baf0670..971c66a30 100644 --- a/src/application/JavaScriptSemanticGraphObjectProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts @@ -1,6 +1,6 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticObjectOperation } from "../domain/javascriptSemanticIr.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticObjectOperation } from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticGraphProjection.ts b/src/application/javascript/JavaScriptSemanticGraphProjection.ts similarity index 83% rename from src/application/JavaScriptSemanticGraphProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphProjection.ts index 776f34314..b421f9b86 100644 --- a/src/application/JavaScriptSemanticGraphProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphProjection.ts @@ -1,8 +1,8 @@ -import { compareCodePoints } from "../domain/canonicalOrdering.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; -import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../domain/javascriptSemanticGraphSchemas.js"; -import type { JavaScriptSemanticIr } from "../domain/javascriptSemanticIr.js"; -import type { JavaScriptSourceRange } from "../domain/javascriptStaticAnalysisTypes.js"; +import { compareCodePoints } from "../../domain/canonicalOrdering.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascriptSemanticGraphSchemas.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; +import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; /** Find the innermost callable that contains one exact source range. */ diff --git a/src/application/JavaScriptSemanticGraphResourceProjection.ts b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts similarity index 91% rename from src/application/JavaScriptSemanticGraphResourceProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts index 1483b9905..e3d6212c5 100644 --- a/src/application/JavaScriptSemanticGraphResourceProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts @@ -1,6 +1,6 @@ -import { createJavaScriptSemanticGraphUnknown } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticResourceOperation } from "../domain/javascriptSemanticIr.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticResourceOperation } from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticGraphResources.test.ts b/src/application/javascript/JavaScriptSemanticGraphResources.test.ts similarity index 98% rename from src/application/JavaScriptSemanticGraphResources.test.ts rename to src/application/javascript/JavaScriptSemanticGraphResources.test.ts index c81346e10..d7d667f02 100644 --- a/src/application/JavaScriptSemanticGraphResources.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphResources.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { queryJavaScriptSemanticGraph } from "../domain/javascriptSemanticQuery.js"; -import { analyzeJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/JavaScriptSemanticGraphScope.test.ts b/src/application/javascript/JavaScriptSemanticGraphScope.test.ts similarity index 96% rename from src/application/JavaScriptSemanticGraphScope.test.ts rename to src/application/javascript/JavaScriptSemanticGraphScope.test.ts index 3ca279aaf..cece02eee 100644 --- a/src/application/JavaScriptSemanticGraphScope.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphScope.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { analyzeJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; -import { topLevelBinding } from "../domain/javascriptSemanticAnalysis.fixture.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; +import { topLevelBinding } from "../../domain/javascriptSemanticAnalysis.fixture.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/JavaScriptSemanticGraphValueProjection.ts b/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts similarity index 97% rename from src/application/JavaScriptSemanticGraphValueProjection.ts rename to src/application/javascript/JavaScriptSemanticGraphValueProjection.ts index 4b61dcd4a..86da42883 100644 --- a/src/application/JavaScriptSemanticGraphValueProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts @@ -1,8 +1,8 @@ -import type { JsonValue } from "../domain/jsonValue.js"; +import type { JsonValue } from "../../domain/jsonValue.js"; import type { JavaScriptSemanticBinding, JavaScriptSemanticValue, -} from "../domain/javascriptSemanticIr.js"; +} from "../../domain/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/JavaScriptSemanticTraceService.ts b/src/application/javascript/JavaScriptSemanticTraceService.ts similarity index 79% rename from src/application/JavaScriptSemanticTraceService.ts rename to src/application/javascript/JavaScriptSemanticTraceService.ts index cfab1ddb4..0d37b19d0 100644 --- a/src/application/JavaScriptSemanticTraceService.ts +++ b/src/application/javascript/JavaScriptSemanticTraceService.ts @@ -3,16 +3,16 @@ import { z } from "zod"; import { AnalysisInputError, AnalysisProtocolError, -} from "../domain/analysisErrorCore.js"; -import { type AnalysisError } from "../domain/analysisErrorBase.js"; -import type { Evidence } from "../domain/evidence.js"; -import { jsonValueSchema } from "../domain/jsonValue.js"; -import { queryJavaScriptSemanticGraph } from "../domain/javascriptSemanticQuery.js"; +} from "../../domain/analysisErrorCore.js"; +import { type AnalysisError } from "../../domain/analysisErrorBase.js"; +import type { Evidence } from "../../domain/evidence.js"; +import { jsonValueSchema } from "../../domain/jsonValue.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; import { javaScriptSemanticTraceResultSchema, traceJavaScriptSemanticsInputSchema, -} from "../domain/javascriptSemanticTraceSchemas.js"; -import { err, ok, type Result } from "../domain/result.js"; +} from "../../domain/javascriptSemanticTraceSchemas.js"; +import { err, ok, type Result } from "../../domain/result.js"; import { parseApplicationGraphEvidence } from "./JavaScriptApplicationEvidenceGraph.js"; import { createJavaScriptSemanticTraceEvidence } from "./JavaScriptApplicationWorkflowEvidence.js"; diff --git a/src/browser/CdpElectronProvider.ts b/src/browser/CdpElectronProvider.ts index 7c72ec469..2f0a00f50 100644 --- a/src/browser/CdpElectronProvider.ts +++ b/src/browser/CdpElectronProvider.ts @@ -2,7 +2,7 @@ import type { ExecutionOptions, ProviderIdentity, } from "../application/AnalysisProvider.js"; -import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; +import type { ElectronObservationPort } from "../application/javascript/ElectronObservationPort.js"; import { electronPageInspectionSchema, electronTargetListSchema, diff --git a/src/browser/PlaywrightElectronActiveProvider.ts b/src/browser/PlaywrightElectronActiveProvider.ts index 8075ff082..de81adccd 100644 --- a/src/browser/PlaywrightElectronActiveProvider.ts +++ b/src/browser/PlaywrightElectronActiveProvider.ts @@ -9,7 +9,7 @@ import type { ExecutionOptions, ProviderIdentity, } from "../application/AnalysisProvider.js"; -import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/javascript/ElectronActiveObservationPort.js"; import { electronActiveObservationResultSchema, type ElectronActiveObservationInput, diff --git a/src/cli/applicationCommands.ts b/src/cli/applicationCommands.ts index c186d2c0c..7c8b0c05c 100644 --- a/src/cli/applicationCommands.ts +++ b/src/cli/applicationCommands.ts @@ -8,8 +8,8 @@ import { compareJavaScriptExportShapesEvidenceValidated, compareSourceToBundleEvidenceValidated, traceApplicationFeatureEvidenceValidated, -} from "../application/JavaScriptApplicationWorkflowService.js"; -import { traceJavaScriptSemanticsEvidenceValidated } from "../application/JavaScriptSemanticTraceService.js"; +} from "../application/javascript/JavaScriptApplicationWorkflowService.js"; +import { traceJavaScriptSemanticsEvidenceValidated } from "../application/javascript/JavaScriptSemanticTraceService.js"; import { evaluateReconstructionCoverage } from "../application/ReconstructionCoverageService.js"; import { buildReconstructionObligationLedgerEvidenceValidated } from "../application/ReconstructionObligationLedgerService.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; diff --git a/src/cli/electronCommands.ts b/src/cli/electronCommands.ts index 1f17647e3..b11975e5f 100644 --- a/src/cli/electronCommands.ts +++ b/src/cli/electronCommands.ts @@ -3,9 +3,9 @@ import { Cli, z } from "incur"; import { inspectElectronPage, listElectronTargets, -} from "../application/ElectronObservationService.js"; -import { captureElectronScenario } from "../application/ElectronActiveObservationService.js"; -import { reconcileJavaScriptRuntimeEvidence } from "../application/JavaScriptRuntimeReconciliationService.js"; +} from "../application/javascript/ElectronObservationService.js"; +import { captureElectronScenario } from "../application/javascript/ElectronActiveObservationService.js"; +import { reconcileJavaScriptRuntimeEvidence } from "../application/javascript/JavaScriptRuntimeReconciliationService.js"; import { logCliCommand } from "../cliLogging.js"; import { inspectElectronPageInputSchema, diff --git a/src/cli/javascriptApplicationAnalysis.ts b/src/cli/javascriptApplicationAnalysis.ts index 30a680e64..b1f08da9d 100644 --- a/src/cli/javascriptApplicationAnalysis.ts +++ b/src/cli/javascriptApplicationAnalysis.ts @@ -1,4 +1,4 @@ -import { analyzeJavaScriptApplication } from "../application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../application/javascript/JavaScriptApplicationService.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { JsonValue } from "../domain/jsonValue.js"; diff --git a/src/cli/javascriptRecoveryCommands.ts b/src/cli/javascriptRecoveryCommands.ts index c4202898d..c8f00e827 100644 --- a/src/cli/javascriptRecoveryCommands.ts +++ b/src/cli/javascriptRecoveryCommands.ts @@ -1,5 +1,5 @@ import { z } from "incur"; -import { JavaScriptRecoveryService } from "../application/JavaScriptRecoveryService.js"; +import { JavaScriptRecoveryService } from "../application/javascript/JavaScriptRecoveryService.js"; import { createJavaScriptRecoveryProvider } from "../composition/javascriptRecovery.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; import { logCliCommand } from "../cliLogging.js"; diff --git a/src/cliJavaScriptRuntimeCommands.ts b/src/cliJavaScriptRuntimeCommands.ts index 882a9912c..f577c3f3a 100644 --- a/src/cliJavaScriptRuntimeCommands.ts +++ b/src/cliJavaScriptRuntimeCommands.ts @@ -3,7 +3,7 @@ import { Cli, z } from "incur"; import { listJavaScriptRuntimeTargets, observeJavaScriptRuntime, -} from "./application/JavaScriptRuntimeObservationService.js"; +} from "./application/javascript/JavaScriptRuntimeObservationService.js"; import { createJavaScriptRuntimeObservationProvider } from "./composition/javascriptRuntimeObservation.js"; import { CLI_COMMANDS } from "./cliCommandNames.js"; import { logCliCommand } from "./cliLogging.js"; diff --git a/src/composition/electronObservation.ts b/src/composition/electronObservation.ts index de51b372e..cf65a109a 100644 --- a/src/composition/electronObservation.ts +++ b/src/composition/electronObservation.ts @@ -1,4 +1,4 @@ -import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; +import type { ElectronObservationPort } from "../application/javascript/ElectronObservationPort.js"; import { CdpElectronProvider } from "../browser/CdpElectronProvider.js"; /** Construct a fresh provider without opening a target or acquiring an engine. */ diff --git a/src/composition/electronScenario.ts b/src/composition/electronScenario.ts index 348f3c726..6a25f0c39 100644 --- a/src/composition/electronScenario.ts +++ b/src/composition/electronScenario.ts @@ -1,4 +1,4 @@ -import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/javascript/ElectronActiveObservationPort.js"; import { PlaywrightElectronActiveProvider } from "../browser/PlaywrightElectronActiveProvider.js"; /** Construct a fresh provider without opening a target or acquiring an engine. */ diff --git a/src/composition/javascriptRecovery.ts b/src/composition/javascriptRecovery.ts index 1b65cadb7..f3f2ae49d 100644 --- a/src/composition/javascriptRecovery.ts +++ b/src/composition/javascriptRecovery.ts @@ -1,4 +1,4 @@ -import type { JavaScriptRecoveryPort } from "../application/JavaScriptRecoveryPort.js"; +import type { JavaScriptRecoveryPort } from "../application/javascript/JavaScriptRecoveryPort.js"; import { WakaruProvider } from "../javascript/recovery/WakaruProvider.js"; import type { WakaruLauncher } from "../javascript/recovery/WakaruCommand.js"; diff --git a/src/composition/javascriptRuntimeObservation.ts b/src/composition/javascriptRuntimeObservation.ts index 454d36a81..defda49bf 100644 --- a/src/composition/javascriptRuntimeObservation.ts +++ b/src/composition/javascriptRuntimeObservation.ts @@ -1,4 +1,4 @@ -import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; +import type { JavaScriptRuntimeObservationPort } from "../application/javascript/JavaScriptRuntimeObservationPort.js"; import { V8InspectorProvider } from "../inspector/V8InspectorProvider.js"; /** Construct a fresh provider without opening a target or acquiring an engine. */ diff --git a/src/inspector/V8InspectorProvider.ts b/src/inspector/V8InspectorProvider.ts index bc2563189..442b0b9f6 100644 --- a/src/inspector/V8InspectorProvider.ts +++ b/src/inspector/V8InspectorProvider.ts @@ -2,7 +2,7 @@ import type { ExecutionOptions, ProviderIdentity, } from "../application/AnalysisProvider.js"; -import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; +import type { JavaScriptRuntimeObservationPort } from "../application/javascript/JavaScriptRuntimeObservationPort.js"; import { javascriptRuntimeObservationSchema, javascriptRuntimeTargetListSchema, diff --git a/src/javascript/recovery/WakaruProvider.ts b/src/javascript/recovery/WakaruProvider.ts index 8c5387f1f..4bf5c31e5 100644 --- a/src/javascript/recovery/WakaruProvider.ts +++ b/src/javascript/recovery/WakaruProvider.ts @@ -1,7 +1,7 @@ import { mkdir, mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import type { JavaScriptRecoveryPort } from "../../application/JavaScriptRecoveryPort.js"; +import type { JavaScriptRecoveryPort } from "../../application/javascript/JavaScriptRecoveryPort.js"; import { type AnalysisExecution, type ExecutionOptions, diff --git a/src/server/createServer.ts b/src/server/createServer.ts index fa54425a5..46f449f55 100644 --- a/src/server/createServer.ts +++ b/src/server/createServer.ts @@ -5,9 +5,9 @@ import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; import type { BinarySessionPort } from "../application/binary/BinarySession.js"; import type { BrowserObservationPort } from "../application/BrowserObservationPort.js"; import type { BrowserScenarioCapturePort } from "../application/BrowserScenarioCapturePort.js"; -import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; -import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; -import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/javascript/ElectronActiveObservationPort.js"; +import type { ElectronObservationPort } from "../application/javascript/ElectronObservationPort.js"; +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"; @@ -20,8 +20,8 @@ import { registerWebModuleTool } from "./registerWebModuleTool.js"; import type { WebModuleTraceService } from "../application/WebModuleTraceService.js"; import { createWebModuleTraceService } from "../composition/webModules.js"; import { registerJavaScriptRecoveryTool } from "./registerJavaScriptRecoveryTool.js"; -import { JavaScriptRecoveryService } from "../application/JavaScriptRecoveryService.js"; -import type { JavaScriptRecoveryPort } from "../application/JavaScriptRecoveryPort.js"; +import { JavaScriptRecoveryService } from "../application/javascript/JavaScriptRecoveryService.js"; +import type { JavaScriptRecoveryPort } from "../application/javascript/JavaScriptRecoveryPort.js"; import { createJavaScriptRecoveryProvider } from "../composition/javascriptRecovery.js"; import { registerElectronTools } from "./registerElectronTools.js"; import { registerEnhancedTools } from "./registerEnhancedTools.js"; diff --git a/src/server/registerApplicationTools/compareExportShapes.ts b/src/server/registerApplicationTools/compareExportShapes.ts index e5fd73f83..55ed01518 100644 --- a/src/server/registerApplicationTools/compareExportShapes.ts +++ b/src/server/registerApplicationTools/compareExportShapes.ts @@ -2,7 +2,7 @@ import { resolvePairedEvidenceRequest } from "../../application/EvidenceInputRes import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import type { McpServer } from "@modelcontextprotocol/server"; -import { compareJavaScriptExportShapesEvidenceValidated } from "../../application/JavaScriptApplicationWorkflowService.js"; +import { compareJavaScriptExportShapesEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; import { javaScriptExportShapeComparisonResultSchema } from "../../domain/javascriptExportShapeComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; diff --git a/src/server/registerApplicationTools/compareSourceToBundle.ts b/src/server/registerApplicationTools/compareSourceToBundle.ts index 579c11e0f..090f424de 100644 --- a/src/server/registerApplicationTools/compareSourceToBundle.ts +++ b/src/server/registerApplicationTools/compareSourceToBundle.ts @@ -2,7 +2,7 @@ import { resolveApplicationEvidenceRequest } from "../../application/EvidenceInp import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import type { McpServer } from "@modelcontextprotocol/server"; -import { compareSourceToBundleEvidenceValidated } from "../../application/JavaScriptApplicationWorkflowService.js"; +import { compareSourceToBundleEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; import { sourceToBundleComparisonResultSchema } from "../../domain/sourceToBundleComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; diff --git a/src/server/registerApplicationTools/compareVersions.ts b/src/server/registerApplicationTools/compareVersions.ts index 94ce9ac79..a5f28c2c4 100644 --- a/src/server/registerApplicationTools/compareVersions.ts +++ b/src/server/registerApplicationTools/compareVersions.ts @@ -2,7 +2,7 @@ import { resolvePairedEvidenceRequest } from "../../application/EvidenceInputRes import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import type { McpServer } from "@modelcontextprotocol/server"; -import { compareApplicationVersionsEvidenceValidated } from "../../application/JavaScriptApplicationWorkflowService.js"; +import { compareApplicationVersionsEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; import { applicationVersionComparisonResultSchema } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; diff --git a/src/server/registerApplicationTools/traceFeature.ts b/src/server/registerApplicationTools/traceFeature.ts index 69df37676..62edab7fc 100644 --- a/src/server/registerApplicationTools/traceFeature.ts +++ b/src/server/registerApplicationTools/traceFeature.ts @@ -2,7 +2,7 @@ import { resolveApplicationEvidenceRequest } from "../../application/EvidenceInp import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import type { McpServer } from "@modelcontextprotocol/server"; -import { traceApplicationFeatureEvidenceValidated } from "../../application/JavaScriptApplicationWorkflowService.js"; +import { traceApplicationFeatureEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; diff --git a/src/server/registerApplicationTools/traceSemantics.ts b/src/server/registerApplicationTools/traceSemantics.ts index 49f12bc9c..0caa91487 100644 --- a/src/server/registerApplicationTools/traceSemantics.ts +++ b/src/server/registerApplicationTools/traceSemantics.ts @@ -2,7 +2,7 @@ import { resolveApplicationEvidenceRequest } from "../../application/EvidenceInp import { recordSessionEvidenceSources } from "../sessionEvidence.js"; import type { McpServer } from "@modelcontextprotocol/server"; -import { traceJavaScriptSemanticsEvidenceValidated } from "../../application/JavaScriptSemanticTraceService.js"; +import { traceJavaScriptSemanticsEvidenceValidated } from "../../application/javascript/JavaScriptSemanticTraceService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; diff --git a/src/server/registerElectronTools.ts b/src/server/registerElectronTools.ts index 9c2083207..028a3fe1c 100644 --- a/src/server/registerElectronTools.ts +++ b/src/server/registerElectronTools.ts @@ -6,15 +6,15 @@ import { import { err } from "../domain/result.js"; import type { McpServer, ServerContext } from "@modelcontextprotocol/server"; -import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; -import { captureElectronScenario } from "../application/ElectronActiveObservationService.js"; -import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/javascript/ElectronActiveObservationPort.js"; +import { captureElectronScenario } from "../application/javascript/ElectronActiveObservationService.js"; +import type { ElectronObservationPort } from "../application/javascript/ElectronObservationPort.js"; import { inspectElectronPage, listElectronTargets, -} from "../application/ElectronObservationService.js"; -import { analyzeJavaScriptApplicationValidated } from "../application/JavaScriptApplicationService.js"; -import { reconcileJavaScriptRuntimeEvidenceValidated } from "../application/JavaScriptRuntimeReconciliationService.js"; +} from "../application/javascript/ElectronObservationService.js"; +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 type { AnalysisError } from "../domain/analysisErrorBase.js"; diff --git a/src/server/registerJavaScriptRecoveryTool.ts b/src/server/registerJavaScriptRecoveryTool.ts index 9631652b6..d70a44314 100644 --- a/src/server/registerJavaScriptRecoveryTool.ts +++ b/src/server/registerJavaScriptRecoveryTool.ts @@ -1,5 +1,5 @@ import type { McpServer } from "@modelcontextprotocol/server"; -import type { JavaScriptRecoveryService } from "../application/JavaScriptRecoveryService.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"; diff --git a/src/server/registerJavaScriptRuntimeObservationTools.ts b/src/server/registerJavaScriptRuntimeObservationTools.ts index 759fc8600..50d1a1162 100644 --- a/src/server/registerJavaScriptRuntimeObservationTools.ts +++ b/src/server/registerJavaScriptRuntimeObservationTools.ts @@ -6,11 +6,11 @@ import { import { err } from "../domain/result.js"; import type { McpServer, ServerContext } from "@modelcontextprotocol/server"; -import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; +import type { JavaScriptRuntimeObservationPort } from "../application/javascript/JavaScriptRuntimeObservationPort.js"; import { listJavaScriptRuntimeTargets, observeJavaScriptRuntime, -} from "../application/JavaScriptRuntimeObservationService.js"; +} from "../application/javascript/JavaScriptRuntimeObservationService.js"; import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; diff --git a/tests/acceptance/applications/applicationExportShapeMcp.test.ts b/tests/acceptance/applications/applicationExportShapeMcp.test.ts index 7c9a8e436..a6ab45518 100644 --- a/tests/acceptance/applications/applicationExportShapeMcp.test.ts +++ b/tests/acceptance/applications/applicationExportShapeMcp.test.ts @@ -8,7 +8,7 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed } from "../../fixtures/analysisExecution.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; describe("application workflow MCP parity", () => { diff --git a/tests/acceptance/applications/applicationWorkflowCli.test.ts b/tests/acceptance/applications/applicationWorkflowCli.test.ts index 63327a793..5845fe97e 100644 --- a/tests/acceptance/applications/applicationWorkflowCli.test.ts +++ b/tests/acceptance/applications/applicationWorkflowCli.test.ts @@ -12,7 +12,7 @@ import { JAVASCRIPT_VERSION_COMPARISON_FULL_EVIDENCE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, } from "../../../src/contracts/javascriptApplicationWorkflowExamples.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; const execute = promisify(execFile); diff --git a/tests/acceptance/applications/applicationWorkflowVerifier.test.ts b/tests/acceptance/applications/applicationWorkflowVerifier.test.ts index 5399b1d94..f420e817c 100644 --- a/tests/acceptance/applications/applicationWorkflowVerifier.test.ts +++ b/tests/acceptance/applications/applicationWorkflowVerifier.test.ts @@ -29,7 +29,7 @@ describe("local application workflow verifier", () => { const { stdout } = await execute( process.execPath, [ - "scripts/verify-local-application-workflows.mjs", + "scripts/verify/javascript/application-workflows.mjs", "--left", fixtures.left, "--right", @@ -78,7 +78,7 @@ describe("local application workflow verifier", () => { const { stdout } = await execute( process.execPath, [ - "scripts/verify-local-application-workflows.mjs", + "scripts/verify/javascript/application-workflows.mjs", "--left", left, "--right", diff --git a/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts b/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts index bea1b8e73..08135fc44 100644 --- a/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts +++ b/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts @@ -6,12 +6,12 @@ import { afterEach, describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { compareApplicationVersionsRequestSchema } from "../../../src/contracts/applicationWorkflowInputContracts.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { compareApplicationVersionsEvidence, traceApplicationFeatureEvidence, -} from "../../../src/application/JavaScriptApplicationWorkflowService.js"; -import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/JavaScriptRuntimeReconciliationService.js"; +} from "../../../src/application/javascript/JavaScriptApplicationWorkflowService.js"; +import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/javascript/JavaScriptRuntimeReconciliationService.js"; import { createEvidence } from "../../../src/domain/evidence.js"; import { AnalysisInputError } from "../../../src/domain/analysisErrorCore.js"; import { jsonValueSchema } from "../../../src/domain/jsonValue.js"; diff --git a/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts b/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts index 76a1e554d..aecde2412 100644 --- a/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts +++ b/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts @@ -6,7 +6,7 @@ import { promisify } from "node:util"; import { afterEach, describe, expect, test } from "vitest"; -import { observeJavaScriptRuntime } from "../../../src/application/JavaScriptRuntimeObservationService.js"; +import { observeJavaScriptRuntime } from "../../../src/application/javascript/JavaScriptRuntimeObservationService.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; import { observeJavaScriptRuntimeInputSchema } from "../../../src/domain/javascriptRuntimeObservation.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; diff --git a/tests/boundary/filesystem/javascriptArtifactContentIdentity.test.ts b/tests/boundary/filesystem/javascriptArtifactContentIdentity.test.ts index 05b28088e..93b1a7ab3 100644 --- a/tests/boundary/filesystem/javascriptArtifactContentIdentity.test.ts +++ b/tests/boundary/filesystem/javascriptArtifactContentIdentity.test.ts @@ -5,7 +5,7 @@ import { createPackage } from "@electron/asar"; import { describe, expect, it } from "vitest"; import { scanArtifactInventory } from "../../../src/application/ArtifactInventory.js"; -import { readJavaScriptArtifactFiles } from "../../../src/application/JavaScriptArtifactFiles.js"; +import { readJavaScriptArtifactFiles } from "../../../src/application/javascript/JavaScriptArtifactFiles.js"; import { AsarArtifactReader } from "../../../src/artifacts/AsarArtifactReader.js"; import { DirectoryArtifactReader } from "../../../src/artifacts/DirectoryArtifactReader.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/filesystem/javascriptArtifactReconstruction.test.ts b/tests/boundary/filesystem/javascriptArtifactReconstruction.test.ts index 7d09f7434..a510ea17f 100644 --- a/tests/boundary/filesystem/javascriptArtifactReconstruction.test.ts +++ b/tests/boundary/filesystem/javascriptArtifactReconstruction.test.ts @@ -6,8 +6,8 @@ import { expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { readJavaScriptArtifactFiles } from "../../../src/application/JavaScriptArtifactFiles.js"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { readJavaScriptArtifactFiles } from "../../../src/application/javascript/JavaScriptArtifactFiles.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { scanArtifactInventory } from "../../../src/application/ArtifactInventory.js"; import { type ArtifactEntry, diff --git a/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts b/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts index 1c37ff593..b75454554 100644 --- a/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts +++ b/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts @@ -2,9 +2,9 @@ import { join } from "node:path"; import { describe, expect, it } from "vitest"; -import { parseApplicationGraphEvidence } from "../../../src/application/JavaScriptApplicationEvidenceGraph.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { compareJavaScriptExportShapesEvidence } from "../../../src/application/JavaScriptApplicationWorkflowService.js"; +import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { compareJavaScriptExportShapesEvidence } from "../../../src/application/javascript/JavaScriptApplicationWorkflowService.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; import { javaScriptExportShapeComparisonResultSchema, diff --git a/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts b/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts index eee0b99d4..8188c9f49 100644 --- a/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts +++ b/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts @@ -5,8 +5,8 @@ import { describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { parseApplicationGraphEvidence } from "../../../src/application/JavaScriptApplicationEvidenceGraph.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; import { compareJavaScriptExportShapes } from "../../../src/domain/javascriptExportShapeComparison.js"; import { javaScriptExportShapeComparisonResultSchema } from "../../../src/domain/javascriptExportShapeComparisonSchemas.js"; import { diff --git a/tests/boundary/filesystem/javascriptPackagePrecedence.test.ts b/tests/boundary/filesystem/javascriptPackagePrecedence.test.ts index 59f3f4620..113f92593 100644 --- a/tests/boundary/filesystem/javascriptPackagePrecedence.test.ts +++ b/tests/boundary/filesystem/javascriptPackagePrecedence.test.ts @@ -4,7 +4,7 @@ import { dirname, join, relative, sep } from "node:path"; import { expect, it } from "vitest"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const cases: readonly { diff --git a/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts b/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts index a6de4fc3e..d38ea9ef7 100644 --- a/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts +++ b/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts @@ -4,8 +4,8 @@ import { join, relative, sep } from "node:path"; import { describe, expect, it } from "vitest"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { parseApplicationGraphEvidence } from "../../../src/application/JavaScriptApplicationEvidenceGraph.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/filesystem/javascriptSourceMapComments.test.ts b/tests/boundary/filesystem/javascriptSourceMapComments.test.ts index c8d47e259..46625dde2 100644 --- a/tests/boundary/filesystem/javascriptSourceMapComments.test.ts +++ b/tests/boundary/filesystem/javascriptSourceMapComments.test.ts @@ -3,7 +3,7 @@ import { join } from "node:path"; import { expect, it } from "vitest"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; it("creates source-map graph relationships only for real comments", async () => { diff --git a/tests/boundary/filesystem/javascriptSourceMapLocations.test.ts b/tests/boundary/filesystem/javascriptSourceMapLocations.test.ts index 494e25b6a..089e89da5 100644 --- a/tests/boundary/filesystem/javascriptSourceMapLocations.test.ts +++ b/tests/boundary/filesystem/javascriptSourceMapLocations.test.ts @@ -4,7 +4,7 @@ import { join } from "node:path"; import { expect, it } from "vitest"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; it.each(["\n", "\r\n", "\r", "\u2028", "\u2029"])( diff --git a/tests/boundary/filesystem/sourceToBundlePaths.test.ts b/tests/boundary/filesystem/sourceToBundlePaths.test.ts index 3aebe3464..c8d860519 100644 --- a/tests/boundary/filesystem/sourceToBundlePaths.test.ts +++ b/tests/boundary/filesystem/sourceToBundlePaths.test.ts @@ -2,8 +2,8 @@ import { mkdir, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { expect, it } from "vitest"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { parseApplicationGraphEvidence } from "../../../src/application/JavaScriptApplicationEvidenceGraph.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; import { importReferenceSource } from "../../../src/application/ReferenceSourceImport.js"; import { compareSourceToBundle } from "../../../src/domain/sourceToBundleComparison.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/filesystem/webScriptExport.test.ts b/tests/boundary/filesystem/webScriptExport.test.ts index ed026e7f1..37299a351 100644 --- a/tests/boundary/filesystem/webScriptExport.test.ts +++ b/tests/boundary/filesystem/webScriptExport.test.ts @@ -10,7 +10,7 @@ import { join } from "node:path"; import { describe, expect, it } from "vitest"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { exportWebScripts } from "../../../src/application/WebScriptExportService.js"; import { publishWebScripts } from "../../../src/browser/assets/PublishWebScripts.js"; import { selectScriptCapture } from "../../../src/browser/assets/ScriptCaptureAdapters.js"; diff --git a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts index 3ccadf8e6..9b597b48f 100644 --- a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts +++ b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts @@ -4,12 +4,12 @@ import { pathToFileURL } from "node:url"; import { describe, expect, test } from "vitest"; -import { createJavaScriptRuntimeObservationEvidence } from "../../../src/application/JavaScriptRuntimeObservationEvidence.js"; +import { createJavaScriptRuntimeObservationEvidence } from "../../../src/application/javascript/JavaScriptRuntimeObservationEvidence.js"; import { listJavaScriptRuntimeTargets, observeJavaScriptRuntime, -} from "../../../src/application/JavaScriptRuntimeObservationService.js"; -import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/JavaScriptRuntimeReconciliationService.js"; +} 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 { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascriptRuntimeReconciliationExample.js"; diff --git a/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts b/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts index 85c3a44ee..22a942853 100644 --- a/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts +++ b/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts @@ -4,8 +4,8 @@ import { pathToFileURL } from "node:url"; import { expect, test } from "vitest"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { createJavaScriptRuntimeObservationEvidence } from "../../../src/application/JavaScriptRuntimeObservationEvidence.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { createJavaScriptRuntimeObservationEvidence } from "../../../src/application/javascript/JavaScriptRuntimeObservationEvidence.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; diff --git a/tests/boundary/javascript/packageConditionalExports.test.ts b/tests/boundary/javascript/packageConditionalExports.test.ts index a85e3ba4c..88be2f269 100644 --- a/tests/boundary/javascript/packageConditionalExports.test.ts +++ b/tests/boundary/javascript/packageConditionalExports.test.ts @@ -7,8 +7,8 @@ import { z } from "zod"; import { resolveArtifactPathByContext, type ArtifactPathResolution, -} from "../../../src/application/JavaScriptArtifactPathResolution.js"; -import type { JavaScriptArtifactFile } from "../../../src/application/JavaScriptArtifactFiles.js"; +} from "../../../src/application/javascript/JavaScriptArtifactPathResolution.js"; +import type { JavaScriptArtifactFile } from "../../../src/application/javascript/JavaScriptArtifactFiles.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const execute = promisify(execFile); const TARGETS = [ diff --git a/tests/boundary/mcp/electronMcp.test.ts b/tests/boundary/mcp/electronMcp.test.ts index 3dae1293f..ebbb66be1 100644 --- a/tests/boundary/mcp/electronMcp.test.ts +++ b/tests/boundary/mcp/electronMcp.test.ts @@ -9,7 +9,7 @@ import { z } from "zod"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; -import type { ElectronActiveObservationPort } from "../../../src/application/ElectronActiveObservationPort.js"; +import type { ElectronActiveObservationPort } from "../../../src/application/javascript/ElectronActiveObservationPort.js"; import { CdpElectronProvider } from "../../../src/browser/CdpElectronProvider.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed } from "../../fixtures/analysisExecution.js"; diff --git a/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts b/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts index d6ab4ae57..36e72f8ed 100644 --- a/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts +++ b/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts @@ -6,7 +6,7 @@ import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { afterEach, describe, expect, test } from "vitest"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; -import { observeJavaScriptRuntime } from "../../../src/application/JavaScriptRuntimeObservationService.js"; +import { observeJavaScriptRuntime } from "../../../src/application/javascript/JavaScriptRuntimeObservationService.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; import { javascriptRuntimeObservationSchema, diff --git a/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts b/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts index 4459c46c4..38c78a587 100644 --- a/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts +++ b/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts @@ -7,8 +7,8 @@ import { afterEach, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { createElectronEvidence } from "../../../src/application/ElectronEvidence.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { createElectronEvidence } from "../../../src/application/javascript/ElectronEvidence.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; import { inspectElectronPageInputSchema } from "../../../src/domain/electronObservation.js"; import { createWebTextArtifact } from "../../../src/domain/webContentArtifact.js"; @@ -167,7 +167,7 @@ it("runs the local verifier from operator-provided paths without emitting source const { stdout } = await execute( process.execPath, [ - "scripts/verify-local-javascript-runtime.mjs", + "scripts/verify/javascript/runtime-observation.mjs", "--application", fixture, "--runtime-evidence", diff --git a/tests/composition/analysis-sessions/managedApplicationGraph.test.ts b/tests/composition/analysis-sessions/managedApplicationGraph.test.ts index 59e1f75fb..80edb5b9a 100644 --- a/tests/composition/analysis-sessions/managedApplicationGraph.test.ts +++ b/tests/composition/analysis-sessions/managedApplicationGraph.test.ts @@ -3,7 +3,7 @@ import { describe, expect, it } from "vitest"; import { projectManagedApplicationGraphEvidence } from "../../../src/application/ManagedApplicationGraphService.js"; import { managedApplicationGraphReferenceInputSchema } from "../../../src/contracts/managedWorkflowToolContracts.js"; import { MANAGED_APPLICATION_GRAPH_EXAMPLE } from "../../../src/contracts/managedWorkflowExamples.js"; -import { traceApplicationFeatureEvidence } from "../../../src/application/JavaScriptApplicationWorkflowService.js"; +import { traceApplicationFeatureEvidence } from "../../../src/application/javascript/JavaScriptApplicationWorkflowService.js"; import { MANAGED_STATIC_PROVIDER } from "../../../src/application/InvestigationProviders.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; diff --git a/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts b/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts index 2fd4f8815..ac86261cf 100644 --- a/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts +++ b/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts @@ -5,8 +5,8 @@ import { describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; import { analyzeJavaScriptApplicationInputSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; diff --git a/tests/composition/javascript-applications/electronOptionKeys.test.ts b/tests/composition/javascript-applications/electronOptionKeys.test.ts index 404f374aa..7ab18b952 100644 --- a/tests/composition/javascript-applications/electronOptionKeys.test.ts +++ b/tests/composition/javascript-applications/electronOptionKeys.test.ts @@ -2,7 +2,7 @@ import { writeFile } from "node:fs/promises"; import { join } from "node:path"; import { describe, expect, it } from "vitest"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const PRELOAD = '{ preload: "./preload.js", sandbox: true }'; diff --git a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts index f34587348..0bd98d6f5 100644 --- a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts +++ b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts @@ -6,7 +6,7 @@ import { expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { reconstructJavaScriptArtifact } from "../../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { scanArtifactInventory } from "../../../src/application/ArtifactInventory.js"; import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; diff --git a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts index 2344295f5..b0d1e1591 100644 --- a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts +++ b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts @@ -5,9 +5,9 @@ import { expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { createElectronEvidence } from "../../../src/application/ElectronEvidence.js"; -import { createElectronActiveEvidence } from "../../../src/application/ElectronActiveEvidence.js"; -import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; +import { createElectronEvidence } from "../../../src/application/javascript/ElectronEvidence.js"; +import { createElectronActiveEvidence } from "../../../src/application/javascript/ElectronActiveEvidence.js"; +import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascriptRuntimeReconciliationSchemas.js"; import { electronActiveObservationInputSchema } from "../../../src/domain/electronActiveObservation.js"; diff --git a/tests/fixtures/javascript-recovery/provider.ts b/tests/fixtures/javascript-recovery/provider.ts index 12fc14d3d..e7eaca74e 100644 --- a/tests/fixtures/javascript-recovery/provider.ts +++ b/tests/fixtures/javascript-recovery/provider.ts @@ -2,7 +2,7 @@ import { access, rm, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; import { expect, onTestFinished } from "vitest"; -import { JavaScriptRecoveryService } from "../../../src/application/JavaScriptRecoveryService.js"; +import { JavaScriptRecoveryService } from "../../../src/application/javascript/JavaScriptRecoveryService.js"; import { createJavaScriptRecoveryProvider } from "../../../src/composition/javascriptRecovery.js"; import { spawnOwnedProviderProcess } from "../../../src/process/ProviderProcess.js"; import { createTestTempDirectory } from "../temporaryDirectory.js"; diff --git a/tests/fixtures/optionalObservationProviders.ts b/tests/fixtures/optionalObservationProviders.ts index b215b8f3d..945fffeb1 100644 --- a/tests/fixtures/optionalObservationProviders.ts +++ b/tests/fixtures/optionalObservationProviders.ts @@ -1,5 +1,5 @@ import type { BrowserObservationPort } from "../../src/application/BrowserObservationPort.js"; -import type { JavaScriptRuntimeObservationPort } from "../../src/application/JavaScriptRuntimeObservationPort.js"; +import type { JavaScriptRuntimeObservationPort } from "../../src/application/javascript/JavaScriptRuntimeObservationPort.js"; import { CDP_BROWSER_PROVIDER_IDENTITY } from "../../src/browser/providerIdentities.js"; import { V8_INSPECTOR_PROVIDER_IDENTITY } from "../../src/inspector/providerIdentity.js"; import { createBrowserScenarioProvider } from "../../src/composition/browserScenario.js"; diff --git a/tests/support/javascriptApplicationFixture.ts b/tests/support/javascriptApplicationFixture.ts index e648a32fd..dc4b87e40 100644 --- a/tests/support/javascriptApplicationFixture.ts +++ b/tests/support/javascriptApplicationFixture.ts @@ -1,7 +1,7 @@ import { mkdir, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; -import { reconstructJavaScriptArtifact } from "../../src/application/JavaScriptArtifactReconstruction.js"; +import { reconstructJavaScriptArtifact } from "../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import type { ApplicationEdge, ApplicationNode,