/** * runtime-probe — the parent-process side of `tools validate`'s runtime * sections (ADR-0041). * * Spawns `runtime-probe-entry.js` (compiled sibling in dist) against a staged * candidate dir with a hard timeout. The child dynamic-imports the candidate — * the subprocess is a CRASH/CONTAMINATION boundary (a throwing module * top-level, a hang, a process.env mutation cannot touch the parent), NOT a * security boundary (same user privileges; ADR-0041's trust posture applies). */ import type { AdmissionSectionResult } from '../../bootstrap/admit-tool-package.js'; /** The slim, JSON-serializable report the probe child prints. */ export interface ProbeReport { readonly ok: boolean; readonly sections: readonly AdmissionSectionResult[]; /** The runtime `Tool.config.namespace`; `null` = the tool declares no config. */ readonly toolConfigNamespace: string | null; /** The runtime tool id, when the tool loaded. */ readonly toolId: string | null; } /** Hard ceiling on candidate module-load time (a hung import must not hang the CLI). */ export declare const PROBE_TIMEOUT_MS = 30000; /** * Run the runtime admission sections against `packageDir` in a child process. * Never throws: a crash/timeout/unparseable child maps to a synthetic failed * `runtime-load` section carrying the child's stderr as diagnostic. */ export declare function runRuntimeProbe(packageDir: string): ProbeReport; //# sourceMappingURL=runtime-probe.d.ts.map