Expand description
Multi-language scripting engine for Gestura automation.
gestura-core-scripting provides a runtime-managed scripting surface for
loading, validating, and executing user scripts across multiple languages.
It is designed for automation and extensibility while keeping execution
metadata and requested permissions explicit.
§Supported languages
- Lua
- Python
- JavaScript
§Main concepts
Script: script metadata, source, permissions, triggers, and execution statsScriptPermission: requested capabilities such as filesystem or network accessScriptTrigger: declarative activation sources such as voice, gestures, or schedulesScriptContext: runtime execution input including variables, session, and timeoutScriptingEngine: loader, validator, runtime initializer, and executor
§Architecture role
This crate owns the scripting-domain runtime and metadata model. It does not
itself decide policy for when scripts should run in the broader product;
higher-level orchestration remains in gestura-core and the presentation
layers.
§Example
ⓘ
use gestura_core::scripting::{ScriptingEngine, ScriptContext, ScriptPermission};
let engine = ScriptingEngine::new(script_directory);
engine.initialize().await?;
let script_id = engine.load_script(&script_path).await?;
let result = engine.execute_script(&script_id, context).await?;§Stable import paths
Most application code should import through gestura_core::scripting::*.
Structs§
- Java
Script Runtime - JavaScript runtime wrapper
- LuaRuntime
- Lua runtime wrapper
- Python
Runtime - Python runtime wrapper
- Script
- Script metadata
- Script
Context - Script execution context
- Script
Execution Result - Script execution result
- Scripting
Engine - Scripting engine
Enums§
- Script
Language - Supported scripting languages
- Script
Permission - Script permissions
- Script
Trigger - Script triggers
Functions§
- get_
scripting_ engine - Get the global scripting engine