steer_tools/
schema.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct InputSchema {
6    pub properties: serde_json::Map<String, Value>,
7    pub required: Vec<String>,
8    #[serde(rename = "type")]
9    pub schema_type: String,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct ToolSchema {
14    pub name: String,
15    pub description: String,
16    pub input_schema: InputSchema,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
20pub struct ToolCall {
21    pub name: String,
22    pub parameters: Value,
23    pub id: String,
24}