Fourth (and final v1) tool — `ask` (input: query / optional session_id). Multi-turn via optional session_id (kebab_app::ask_with_session_with_config), single-shot via ask_with_config when None. Refusal (grounded:false) NOT mapped to isError — agent branches on the wire payload's grounded flag. AskOpts has no Default impl (must construct manually). Answer carries no schema_version field (tagged inline via entry().or_insert_with, idempotent). Mode defaulted to Lexical: reqwest::blocking::Client::build creates and drops a tokio runtime, panicking inside async context — the empty-corpus refusal test avoids this via spawn_blocking; the tool itself uses Lexical as the default mode since MCP callers typically run without an embedding provider configured. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7 lines
112 B
Rust
7 lines
112 B
Rust
//! Tool implementations — one module per tool.
|
|
|
|
pub mod schema;
|
|
pub mod doctor;
|
|
pub mod search;
|
|
pub mod ask;
|