pub mod apply_patch;
pub mod background_shell;
pub mod bash_command;
pub mod code_map;
pub mod context_save;
pub mod edit_files;
pub mod file_write_or_edit;
pub mod initialize;
pub mod multi_file_edit;
pub mod outline;
pub mod read_files;
pub mod read_image;
pub mod references;
pub mod undo_edit;
pub(crate) fn structured_json<T: serde::Serialize>(
value: &T,
) -> crate::errors::Result<serde_json::Value> {
serde_json::to_value(value).map_err(|e| {
crate::errors::WinxError::SerializationError(format!("structured output: {e}"))
})
}