vtcode_core/utils/
migration.rs1use crate::config::VTCodeConfig;
2use serde_json::json;
3
4pub fn apply_migration_defaults(config: &mut VTCodeConfig) {
6 if config.tools.plugins.manifests.is_empty() {
7 config.tools.plugins.manifests = vec!["~/.vtcode/plugins".into()];
8 }
9}
10
11pub fn migration_summary(config: &VTCodeConfig) -> serde_json::Value {
13 json!({
14 "plugins": {
15 "enabled": config.tools.plugins.enabled,
16 "manifests": config.tools.plugins.manifests,
17 },
18 "security": {
19 "zero_trust": config.security.zero_trust_mode,
20 "integrity_checks": config.security.integrity_checks,
21 }
22 })
23}
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28
29 #[test]
30 fn fills_missing_defaults() {
31 let mut config = VTCodeConfig::default();
32 apply_migration_defaults(&mut config);
33 assert!(!config.tools.plugins.manifests.is_empty());
34 }
35}