// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2026 Mark Wells <contact@markwells.dev>
//! Transformation layer between protocol boundaries and LSP.
//!
//! `ToolServer` implementations receive application-level params, do work
//! using `LspClient`, and return results. They do not log protocol messages
//! — the boundary components on either side handle logging. A `ToolServer`
//! is a black box: what went in and what came out are linked by `parent_id`
//! at the protocol level.
/// Transformation layer between protocol boundaries and LSP.
///
/// Implementations receive application-level params, do work using
/// `LspClient`, and return results. They do not log protocol messages
/// — the boundary components on either side handle logging. A
/// `ToolServer` is a black box: what went in and what came out are
/// linked by `parent_id` at the protocol level.