Sweep every first-party crate source (1956 .rs files) to the project comment guidelines: delete redundant restatements, decorative banners, change narration, and end-of-line comments; keep and tighten the crucial ones (invariants, bug rationale, SAFETY blocks, ported-source attribution). No functional code changed. Every edit is proven comment-only against the prior tree by a comment-stripping lexer (string/char/raw-string aware) plus a separate doctest-fence check. Where removing a comment made rustfmt or clippy want to re-lay-out adjacent code, the minimal triggering comment is restored so code tokens stay byte-identical. Gates green: cargo fmt --all --check (0 diffs), cargo check and cargo clippy --workspace --all-targets (0 warnings). Adds scripts/check_codegen_comment_guidelines.py — the enforcement gate for these guidelines (flags banners, end-of-line comments, change narration, and commented-out code).
36 lines
1.3 KiB
Rust
36 lines
1.3 KiB
Rust
//! Connection-shape and tool-definition-mode enums.
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
/// Role of a WebSocket connection; the computer hub decides from it which
|
|
/// methods are valid on a given socket.
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
#[serde(rename_all = "snake_case")]
|
|
pub enum ConnectionKind {
|
|
Harness,
|
|
ToolServer,
|
|
}
|
|
|
|
/// How the computer hub exposes the registered tool set to the model.
|
|
///
|
|
/// Wire form is adjacently tagged on `mode`: `Full` serialises as
|
|
/// `{"mode": "full"}` (an object, not a bare string), and `Concise` as
|
|
/// `{"mode": "concise", "meta_search": "...", "meta_call": "..."}`.
|
|
///
|
|
/// `Copy` is intentionally NOT derived: `Concise`'s [`crate::ToolId`]
|
|
/// fields wrap heap strings.
|
|
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
#[serde(tag = "mode", rename_all = "snake_case")]
|
|
pub enum ToolDefinitionMode {
|
|
/// Every `ToolDescription` is sent to the model directly.
|
|
Full,
|
|
/// Only the meta-tool pair is sent; everything else is discoverable
|
|
/// through the search meta-tool.
|
|
Concise {
|
|
/// Model-facing name of the search/discovery meta-tool.
|
|
meta_search: crate::ToolId,
|
|
/// Model-facing name of the call/invoke meta-tool.
|
|
meta_call: crate::ToolId,
|
|
},
|
|
}
|