use crate::mcp_integration::ast_item_helpers::{extract_complexity, extract_kind, extract_name};
use crate::mcp_integration::{McpError, McpTool, ToolMetadata};
use crate::services::languages::scala::ScalaAstVisitor;
use crate::utils::path_validator::PathValidator;
use anyhow::Result;
use async_trait::async_trait;
use serde_json::{json, Value};
use std::path::PathBuf;
use std::sync::Arc;
use tokio::fs;
use tracing::{info, warn};
include!("scala_tools_analysis.rs");
include!("scala_tools_helpers.rs");
include!("scala_tools_mutation.rs");
include!("scala_tools_tests.rs");