codeprism_mcp_server/tools/
core.rs1use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Serialize, Deserialize)]
10pub struct RepositoryStatsParams {}
11
12#[derive(Debug, Serialize, Deserialize)]
14pub struct ExplainSymbolParams {
15 pub symbol_id: String,
17 #[serde(default)]
19 pub include_dependencies: bool,
20 #[serde(default)]
22 pub include_usages: bool,
23 #[serde(default = "default_context_lines")]
25 pub context_lines: usize,
26}
27
28#[derive(Debug, Serialize, Deserialize)]
30pub struct SearchSymbolsParams {
31 pub pattern: String,
33 #[serde(default)]
35 pub symbol_types: Vec<String>,
36 #[serde(default = "default_limit")]
38 pub limit: usize,
39 #[serde(default = "default_context_lines")]
41 pub context_lines: usize,
42}
43
44#[derive(Debug, Serialize, Deserialize)]
46pub struct TracePathParams {
47 pub source: String,
49 pub target: String,
51 #[serde(default = "default_max_depth")]
53 pub max_depth: usize,
54}
55
56#[derive(Debug, Serialize, Deserialize)]
58pub struct FindDependenciesParams {
59 pub target: String,
61 #[serde(default = "default_dependency_type")]
63 pub dependency_type: String,
64}
65
66#[derive(Debug, Serialize, Deserialize)]
68pub struct FindReferencesParams {
69 pub symbol_id: String,
71 #[serde(default = "default_true")]
73 pub include_definitions: bool,
74 #[serde(default = "default_context_lines")]
76 pub context_lines: usize,
77}
78
79fn default_context_lines() -> usize {
81 4
82}
83
84fn default_limit() -> usize {
85 50
86}
87
88fn default_max_depth() -> usize {
89 10
90}
91
92fn default_dependency_type() -> String {
93 "direct".to_string()
94}
95
96fn default_true() -> bool {
97 true
98}