use super::types::Content;
use do_memory_mcp::MemoryMCPServer;
use serde_json::Value;
mod episode_handlers;
mod external_signal_handlers;
mod feature_handlers;
mod memory_handlers;
mod relationship_handlers;
mod tag_handlers;
pub use episode_handlers::*;
pub use external_signal_handlers::*;
pub use feature_handlers::*;
pub use memory_handlers::*;
pub use relationship_handlers::*;
pub use tag_handlers::*;
pub(super) fn get_client_id(args: &Value) -> String {
args.get("client_id")
.and_then(|v| v.as_str())
.map(|s| s.to_string())
.unwrap_or_else(|| "anonymous".to_string())
}
pub(super) fn json_value_len(value: &Value) -> usize {
value.as_array().map(|a| a.len()).unwrap_or(0)
}