1use kowalski_agent_template::config::TemplateAgentConfig;
2use kowalski_core::config::Config;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct CodeAgentConfig {
7 pub template: TemplateAgentConfig,
9
10 pub max_file_size: usize,
12
13 pub max_files_per_operation: usize,
15
16 pub enable_syntax_highlighting: bool,
18
19 pub enable_code_formatting: bool,
21
22 pub enable_code_analysis: bool,
24
25 pub enable_code_refactoring: bool,
27
28 pub enable_documentation: bool,
30
31 pub enable_test_generation: bool,
33
34 pub enable_dependency_analysis: bool,
36
37 pub enable_security_analysis: bool,
39
40 pub enable_performance_analysis: bool,
42
43 pub enable_code_metrics: bool,
45
46 pub enable_duplication_detection: bool,
48
49 pub enable_complexity_analysis: bool,
51
52 pub enable_coverage_analysis: bool,
54
55 pub enable_style_checking: bool,
57
58 pub enable_linting: bool,
60
61 pub enable_type_checking: bool,
63
64 pub enable_static_analysis: bool,
66
67 pub enable_dynamic_analysis: bool,
69
70 pub enable_profiling: bool,
72
73 pub enable_debugging: bool,
75
76 pub enable_tracing: bool,
78
79 pub enable_logging: bool,
81
82 pub enable_monitoring: bool,
84
85 pub enable_metrics_collection: bool,
87
88 pub enable_reporting: bool,
90
91 pub enable_visualization: bool,
93
94 pub enable_documentation_generation: bool,
96
97 pub enable_refactoring: bool,
99
100 pub enable_optimization: bool,
102
103 pub enable_security: bool,
105
106 pub enable_performance: bool,
108
109 pub enable_quality: bool,
111
112 pub enable_maintainability: bool,
114
115 pub enable_reliability: bool,
117
118 pub enable_portability: bool,
120
121 pub enable_reusability: bool,
123
124 pub enable_testability: bool,
126
127 pub enable_understandability: bool,
129
130 pub enable_modifiability: bool,
132
133 pub enable_efficiency: bool,
135
136 pub enable_effectiveness: bool,
138
139 pub enable_correctness: bool,
141
142 pub enable_completeness: bool,
144
145 pub enable_consistency: bool,
147
148 pub enable_traceability: bool,
150
151 pub enable_verifiability: bool,
153}
154
155impl Default for CodeAgentConfig {
156 fn default() -> Self {
157 Self {
158 template: TemplateAgentConfig::default(),
159 max_file_size: 1024 * 1024, max_files_per_operation: 100,
161 enable_syntax_highlighting: true,
162 enable_code_formatting: true,
163 enable_code_analysis: true,
164 enable_code_refactoring: true,
165 enable_documentation: true,
166 enable_test_generation: true,
167 enable_dependency_analysis: true,
168 enable_security_analysis: true,
169 enable_performance_analysis: true,
170 enable_code_metrics: true,
171 enable_duplication_detection: true,
172 enable_complexity_analysis: true,
173 enable_coverage_analysis: true,
174 enable_style_checking: true,
175 enable_linting: true,
176 enable_type_checking: true,
177 enable_static_analysis: true,
178 enable_dynamic_analysis: true,
179 enable_profiling: true,
180 enable_debugging: true,
181 enable_tracing: true,
182 enable_logging: true,
183 enable_monitoring: true,
184 enable_metrics_collection: true,
185 enable_reporting: true,
186 enable_visualization: true,
187 enable_documentation_generation: true,
188 enable_refactoring: true,
189 enable_optimization: true,
190 enable_security: true,
191 enable_performance: true,
192 enable_quality: true,
193 enable_maintainability: true,
194 enable_reliability: true,
195 enable_portability: true,
196 enable_reusability: true,
197 enable_testability: true,
198 enable_understandability: true,
199 enable_modifiability: true,
200 enable_efficiency: true,
201 enable_effectiveness: true,
202 enable_correctness: true,
203 enable_completeness: true,
204 enable_consistency: true,
205 enable_traceability: true,
206 enable_verifiability: true,
207 }
208 }
209}
210
211impl From<Config> for CodeAgentConfig {
212 fn from(config: Config) -> Self {
213 Self {
214 template: TemplateAgentConfig::from(config),
215 ..Default::default()
216 }
217 }
218}