1mod scripting_session;
2
3pub use scripting_session::*;
4
5use schemars::JsonSchema;
6use serde::Deserialize;
7
8#[derive(Debug, Deserialize, JsonSchema)]
9pub struct ScriptingToolInput {
10 pub lua_script: String,
11}
12
13pub struct ScriptingTool;
14
15impl ScriptingTool {
16 pub const NAME: &str = "lua-interpreter";
17
18 pub const DESCRIPTION: &str = include_str!("scripting_tool_description.md");
19
20 pub fn input_schema() -> serde_json::Value {
21 let schema = schemars::schema_for!(ScriptingToolInput);
22 serde_json::to_value(&schema).unwrap()
23 }
24
25 pub fn deserialize_input(
26 input: serde_json::Value,
27 ) -> Result<ScriptingToolInput, serde_json::Error> {
28 serde_json::from_value(input)
29 }
30}