pub mod http;
pub mod log;
pub mod mcp;
pub mod mesh;
pub mod sh;
pub mod tool;
use mlua::prelude::*;
use crate::host::HostContext;
pub fn lua_to_json(lua: &Lua, val: LuaValue) -> LuaResult<serde_json::Value> {
use mlua::serde::LuaSerdeExt;
lua.from_value(val)
}
pub fn json_to_lua(lua: &Lua, val: serde_json::Value) -> LuaResult<LuaValue> {
use mlua::serde::LuaSerdeExt;
lua.to_value(&val)
}
pub fn register_all(lua: &Lua, ctx: &HostContext) -> LuaResult<()> {
mesh::register(lua, ctx)?;
sh::register(lua, ctx)?;
tool::register(lua)?;
log::register(lua, ctx)?;
mcp::register(lua, &ctx.mcp_manager)?;
http::register(lua, ctx)?;
Ok(())
}