/** * core 1.191 LSP eviction — the host-lane task-end cleanup wrap, factored out of main.ts so it is unit-testable. * * Decorate an EPHEMERAL host `ExecutionEnv` so its `destroy()` (task-end, which `rm -rf`s the per-task * `sema-host-` workspace) ALSO evicts the cached LSP servers rooted at that workspace — so a busy host server * doesn't retain one heavy language server (jdtls = a whole JVM) per (task × language) until process shutdown. * `evict` is best-effort + idempotent + fire-and-forget so it NEVER blocks or breaks teardown; the server dies async * while the dir is rm'd (rooted there, it just sees ENOENT). Only the ephemeral lane is wrapped by the caller — the * cwdHonored persistent-project path keeps its warm server (stable root, reused across turns = CC-parity, no leak). * * Structural param types (no `ExecutionEnv`/`NodeLspManager` import): a non-evicting manager (e2b/k8s bridge) or an * env without a string `cwd` / callable `destroy` is returned UNWRAPPED (probe-guarded), so this is a safe no-op * everywhere the precondition doesn't hold. */ export declare function evictLspOnDestroy(env: E, lsp: unknown): E; //# sourceMappingURL=lsp-evict.d.ts.map