rea/tests/fixtures
Kaoru0822 0ecf3f2438
perf(mcp): keep Playwright and type-only imports off MCP startup (#1691)
* fix(build): emit no runtime imports for type-only bindings

Under verbatimModuleSyntax, an import whose specifiers all carry inline
`type` modifiers compiles to `import {} from "..."`, a side-effect import
that still resolves and evaluates the module. 78 compiled modules carried
one, including `import {} from "playwright-core"` in the browser scenario
session, which loaded Playwright's module graph at MCP startup.

Use top-level `import type` for these bindings and enable oxlint's
typescript/no-import-type-side-effects rule so the pattern cannot return.

Refs #1685

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mcp): load Playwright when a scenario launches, not at startup

The browser scenario and Electron active providers are constructed before
the stdio server serves, and both bound Playwright's launchers at module
load. Resolve `chromium` and `_electron` from playwright-core when a
capture opens instead, as the web module resolver already does.

MCP startup now resolves 1,312 modules (4,902 resolutions) instead of
1,598 (6,076) before reading the first request, and no longer loads
playwright-core. Provider construction, the tool catalog, and capability
inventory are unchanged.

A boundary test spawns the stdio server, initializes, lists tools, and
asserts playwright-core and isomorphic-git were not resolved; the CLI
probe now exercises the real launch path to prove detection.

Closes #1685

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 21:04:05 -07:00
..
android test(android): preserve reason in JADX cleanup-failure teardown poll (#1639) 2026-10-11 06:22:51 +08:00
binaryDiagnostics fix(providers): validate ELF versions and preserve probe cancellation 2026-10-09 00:49:30 +08:00
evm feat(evm): inspect offline bytecode interfaces through EVMole (#1051) 2026-10-08 15:32:05 +08:00
firmware fix(firmware): recover after workspace removal failures (#1616) 2026-10-11 03:16:34 +08:00
golden refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
inspector refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
interface-builder fix(artifacts): project compiled AppKit actions from the control to its target (#905) 2026-10-07 17:40:18 +08:00
javascript-recovery fix(javascript): accept the Wakaru 1.x release line and verify 1.14.0 (#1540) 2026-10-10 23:02:15 +08:00
native-macos fix(native): retain re-exported Mach-O library dependencies (#516) 2026-10-05 14:59:48 +08:00
nativeaot feat(ghidra): integrate optional NativeAOT metadata recovery (#748) 2026-10-07 00:57:08 +08:00
replay feat(application): add isolated JavaScript replay 2026-07-16 15:45:55 +09:00
swift fix(ghidra): classify modern Swift manglings in swift type analysis (#1208) 2026-10-09 16:10:55 +08:00
windows feat(ghidra): enable Windows x64 read-only analysis (#699) 2026-10-06 16:53:33 +08:00
analysisExecution.ts Add evidence-backed investigation workflows 2026-07-12 21:12:18 +00:00
analysisView.ts perf(native): record pwntools diagnostics once in their Evidence (#1404) 2026-10-09 20:00:11 -07:00
applicationMcpHarness.ts fix(mcp): admit composed analysis through result bookkeeping 2026-10-10 00:35:17 +08:00
artifactEntryOrder.ts fix(artifacts): resolve parents after archive enumeration (#578) 2026-10-05 23:06:46 +08:00
artifactEvidence.ts feat(native): add inspection primitives, dispatch traces and approved UI observation (#500) 2026-10-04 16:02:36 +08:00
artifactInventory.ts fix(artifacts)!: retain cleanup owners through client shutdown 2026-10-11 04:43:02 +08:00
binarySession.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
captureGhidraLaunch.cmd feat(ghidra): launch bounded Windows headless sessions 2026-07-17 03:05:19 +09:00
captureGhidraLaunch.mjs test: eliminate fixture races and prune redundant scaffolding (#849) 2026-10-07 12:25:37 +08:00
cliJsonProcess.ts fix(cli): accept JSON files for web capture and screenshot comparisons (#1397) 2026-10-09 19:29:42 -07:00
clientEnvironment.ts fix(setup): honor active client configuration and skill roots (#1504) 2026-10-10 17:03:43 +08:00
contractPresentation.mjs fix(mcp): admit composed analysis through result bookkeeping 2026-10-10 00:35:17 +08:00
directAnalysisInterrupt.mjs refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
directoryReaderFifoProbe.mjs fix(artifacts): harden reader lifecycle boundaries (#951) 2026-10-07 20:00:24 +08:00
directoryReaderUnsupportedEntryProbe.mjs fix(artifacts): retain reader owners after cleanup failures 2026-10-11 05:33:05 +08:00
electronApiAliasApplication.ts fix(javascript): recover Electron API identity through aliases 2026-10-11 08:27:46 +08:00
electronBoundaryApplication.ts feat(electron): map static process and IPC boundaries 2026-07-16 07:56:13 +09:00
fakeCdpBrowser.ts perf(evm): avoid repeated cleanup diagnostics (#1622) 2026-10-11 03:28:16 +08:00
fakeCdpBrowserEvents.ts perf(mcp): keep Playwright and type-only imports off MCP startup (#1691) 2026-10-10 21:04:05 -07:00
fakeCdpBrowserResults.ts fix(browser): validate PNG chunks and preserve unsupported encodings 2026-10-11 11:07:15 +08:00
fakeCdpBrowserTargets.ts refactor: return complete tool results inline 2026-09-29 07:08:46 +08:00
fakeCdpBrowserTypes.ts fix(browser)!: preserve WebSocket connections and comparable payload coverage 2026-10-11 09:43:25 +08:00
fakeGhidra.mjs feat(ghidra): admit set_address_name and set_addresses_names (#1635) 2026-10-11 04:35:38 +08:00
fakeHopper.mjs fix(providers): bound launcher diagnostics without losing byte counts 2026-10-11 02:50:06 +08:00
fakeLauncher.mjs refactor: return complete tool results inline 2026-09-29 07:08:46 +08:00
fifoInput.ts fix(files): reject nonregular capture and JSON inputs 2026-10-10 01:49:54 +08:00
filesystemSnapshotFifoProbe.mjs fix(process)!: retain per-file digest open failures 2026-10-10 03:52:35 +08:00
ghidraRuntime.ts feat(ghidra): enable Windows x64 read-only analysis (#699) 2026-10-06 16:53:33 +08:00
historicalHar.ts feat(browser): inspect historical web network captures (#992) 2026-10-08 07:53:41 +08:00
hopperBridgeFacadeProbe.py fix(contracts)!: require observed provider output metadata 2026-10-10 03:52:13 +08:00
hopperCleanupTimeout.py fix(linux): improve Hopper reliability and CachyOS support (#963) 2026-10-07 23:16:48 +08:00
hopperDialogDetection.py fix(linux): improve Hopper reliability and CachyOS support (#963) 2026-10-07 23:16:48 +08:00
hopperInstructionProbe.py fix(hopper): preserve owned basic-block endpoint instructions (#1118) 2026-10-09 06:51:53 +08:00
hopperStringSearchProbe.py perf(hopper): resolve string search records once per query (#1229) 2026-10-09 18:39:19 +08:00
idaMcp.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
interfaceBuilderEncoding.ts fix(apple): decode Interface Builder XML byte encodings (#1095) 2026-10-09 01:11:49 +08:00
interfaceBuilderMalformedUid.ts fix(apple): report missing keyed archive hierarchy references (#1104) 2026-10-09 01:31:53 +08:00
javascriptArtifactApplication.ts fix(electron): resolve package and dirname entrypoints by context 2026-07-17 21:30:24 +08:00
javascriptArtifactBom.ts fix(javascript): preserve original BOM source coordinates (#1093) 2026-10-09 00:09:55 +08:00
javascriptArtifactTypeScriptDialect.ts refactor: consolidate boundary semantics and prune redundant tests 2026-10-10 05:56:01 +08:00
javascriptPrimitiveExpansion.ts test(javascript): share primitive expansion producer fixtures 2026-10-10 02:49:46 +08:00
javascriptReturnShapes.ts fix(javascript): invalidate references stored through property targets (#1445) 2026-10-10 13:47:15 +08:00
javascriptRuntimeReconciliation.ts fix(ci): share runtime fixtures and allow modest duplication headroom 2026-10-11 06:53:20 +08:00
javascriptSemanticGraph.ts test(javascript): share semantic graph test facts 2026-10-10 04:02:41 +08:00
keyedArchiveIntegers.ts fix(artifacts): preserve keyed archive integer precision 2026-10-09 07:13:32 +08:00
keyedArchiveNumberMetadata.ts fix(artifacts): preserve keyed archive integer precision 2026-10-09 07:13:32 +08:00
localToolsMcp.ts feat(process): bound a finalization interval before forced capture timeout 2026-10-11 09:55:43 +08:00
mcpDoctorExit.mjs feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
mcpDoctorHang.mjs feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
mcpDoctorReply.mjs fix(mcp): validate doctor probe against its discovered output contract (#1461) 2026-10-10 14:33:57 +08:00
mcpToolCatalog.ts build: separate runtime artifacts and supervise command ownership 2026-10-09 20:11:17 +08:00
mcpToolError.ts fix(mcp): deliver typed errors without invalid structured output (#1277) 2026-10-09 13:54:32 +00:00
nativeCommands.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
nativeaotPe.ts feat(ghidra): inspect NativeAOT PE metadata read-only 2026-10-11 10:31:49 +08:00
optionalObservationProviders.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
processCaptureCancellation.mjs test(process): publish capture readiness atomically 2026-10-10 01:45:01 +08:00
processFidelity.mjs fix(process): preserve partial evidence and verify detached cleanup (#1011) 2026-10-08 04:46:46 +08:00
processFinalization.mjs feat(process): bound a finalization interval before forced capture timeout 2026-10-11 09:55:43 +08:00
processIdentity.mjs fix(process): honor disabled PID normalization in samples 2026-10-06 01:22:45 -07:00
processReactiveScenario.mjs test: replace implementation lock-in with behavioural assertions (#498) 2026-10-03 23:22:07 +08:00
processRunTokenParserProbe.swift fix(process): stabilize native capture and ownership prerequisites 2026-10-09 06:49:02 +08:00
processRunTokenSnapshotProbe.swift fix(process): preserve partial evidence and verify detached cleanup (#1011) 2026-10-08 04:46:46 +08:00
processSnapshotCancellation.mjs fix(process): harden filesystem snapshot identity and cancellation (#956) 2026-10-07 23:45:23 +08:00
providerProcess.mjs feat(electron): add autonomous Electron runtime analysis (#464) 2026-08-05 19:07:46 +08:00
providerProcess.ts feat(ghidra): enable Windows x64 read-only analysis (#699) 2026-10-06 16:53:33 +08:00
referenceReaderFifoProbe.mjs fix(reference)!: retain source and metadata cleanup owners 2026-10-11 06:10:10 +08:00
strippedAsarAddon.ts feat(javascript): record Electron integrity mismatches 2026-10-10 02:49:46 +08:00
temporaryDirectory.ts test: replace implementation lock-in with behavioural assertions (#498) 2026-10-03 23:22:07 +08:00
webModuleTrace.ts feat(browser): trace captured website module imports (#879) 2026-10-07 14:59:52 +08:00
webRuntime.ts test(browser): reject unmodeled CDP commands in protocol fixtures 2026-10-09 03:13:53 +08:00
webScriptCapture.ts feat(web): export captured scripts for JavaScript application analysis (#801) 2026-10-07 05:24:32 +08:00
webSourceLocation.ts feat(browser): trace captured website source-map locations (#897) 2026-10-07 16:21:18 +08:00
x11ProbeHang.py feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
x11ProbeOutput.py fix(process): retain provider output until streams close (#928) 2026-10-07 18:39:10 +08:00