atomr_agents_tool/
descriptor.rs1use atomr_agents_core::{ToolId, Value};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct ToolDescriptor {
9 pub id: ToolId,
10 pub name: String,
11 pub description: String,
12 pub schema: ToolSchema,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct ToolSchema(pub Value);
18
19impl ToolSchema {
20 pub fn empty_object() -> Self {
21 Self(serde_json::json!({"type": "object", "properties": {}}))
22 }
23}