Crate gestura_core_scripting

Crate gestura_core_scripting 

Source
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 stats
  • ScriptPermission: requested capabilities such as filesystem or network access
  • ScriptTrigger: declarative activation sources such as voice, gestures, or schedules
  • ScriptContext: runtime execution input including variables, session, and timeout
  • ScriptingEngine: 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§

JavaScriptRuntime
JavaScript runtime wrapper
LuaRuntime
Lua runtime wrapper
PythonRuntime
Python runtime wrapper
Script
Script metadata
ScriptContext
Script execution context
ScriptExecutionResult
Script execution result
ScriptingEngine
Scripting engine

Enums§

ScriptLanguage
Supported scripting languages
ScriptPermission
Script permissions
ScriptTrigger
Script triggers

Functions§

get_scripting_engine
Get the global scripting engine