mirror of
https://github.com/morluto/rea.git
synced 2026-11-04 05:46:17 +00:00
* refactor(admission): own inspector, web, and CLI state per host Replace the process-global inspector, web-bundle, guidance, and JavaScript counters with objects a host passes in, so independent instances do not share admission or cleanup. * fix(admission): keep worker and file cleanup on the host Web-bundle and JavaScript workers retry only their host registry, and each Inspector admission authorizes and closes its own file scope. Browser providers can share one web-bundle admission. * test(inspector): gate one admission's file cleanup The isolation test delayed the first ArtifactResourceScope.retryCleanup call, so a second call on a shared ElectronFileScope still finished. Hold first.files.retryCleanup until the other admission's close finishes, then release and join before restoring the method. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
21 lines
834 B
TypeScript
21 lines
834 B
TypeScript
import type { AnalysisSettingsReader } from "../domain/analysisSettings.js";
|
|
import { runtimeAsarHeaderAdmission } from "../config/runtimeAnalysisSettings.js";
|
|
import type { JavaScriptRuntimeObservationPort } from "../application/javascript/JavaScriptRuntimeObservationPort.js";
|
|
import {
|
|
V8InspectorAdmission,
|
|
V8InspectorProvider,
|
|
} from "../inspector/V8InspectorProvider.js";
|
|
|
|
export { V8InspectorAdmission };
|
|
|
|
/** Construct a fresh provider without opening a target or acquiring an engine. */
|
|
export const createJavaScriptRuntimeObservationProvider = (
|
|
environment: Readonly<Record<string, string | undefined>>,
|
|
settings?: AnalysisSettingsReader,
|
|
admission?: V8InspectorAdmission,
|
|
): JavaScriptRuntimeObservationPort =>
|
|
new V8InspectorProvider(
|
|
runtimeAsarHeaderAdmission(environment, settings),
|
|
admission,
|
|
);
|