1pub mod code;
2pub mod data;
3pub mod document;
4pub mod tool;
5pub mod web;
6
7pub use kowalski_core::tools::{Tool, ToolInput, ToolOutput, ToolParameter};
8
9pub mod types {
11 use serde::{Deserialize, Serialize};
12
13 #[derive(Debug, Clone, Serialize, Deserialize)]
14 pub struct ToolMetadata {
15 pub name: String,
16 pub description: String,
17 pub parameters: Vec<ToolParameter>,
18 }
19
20 #[derive(Debug, Clone, Serialize, Deserialize)]
21 pub struct ToolParameter {
22 pub name: String,
23 pub description: String,
24 pub required: bool,
25 pub default_value: Option<String>,
26 pub parameter_type: ParameterType,
27 }
28
29 #[derive(Debug, Clone, Serialize, Deserialize)]
30 pub enum ParameterType {
31 String,
32 Number,
33 Boolean,
34 Array,
35 Object,
36 }
37}