Third tool — `search` (input: query / mode / k). First tool with non-empty input — establishes the pattern: SearchInput struct with JsonSchema derive + Tool::new uses rmcp::handler::server::common::schema_for_type::<SearchInput>() for inputSchema + call_tool match arm parses request.arguments via serde_json::from_value. search_with_config takes owned Config, so state.config (Arc<Config>) is cloned via (*state.config).clone(). Output: search_hit.v1 array — SearchHit (kebab-core) does not carry schema_version field, so each element is tagged inline before serialising. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7 lines
144 B
Rust
7 lines
144 B
Rust
//! Tool implementations — one module per tool.
|
|
|
|
pub mod schema;
|
|
pub mod doctor;
|
|
pub mod search;
|
|
// pub mod ask; // wired in Plan Task 7
|