pub struct Executor { /* private fields */ }Expand description
Lua execution engine.
Wraps mlua-isle AsyncIsle (Handle/Driver pattern) to provide non-blocking, cancellable Lua execution with alc StdLib injected.
Implementations§
Source§impl Executor
impl Executor
pub async fn new(lib_paths: Vec<PathBuf>) -> Result<Self>
Sourcepub async fn eval_simple(&self, code: String) -> Result<Value, String>
pub async fn eval_simple(&self, code: String) -> Result<Value, String>
Evaluate Lua code without LLM bridge. For lightweight operations like reading package metadata.
Sourcepub async fn start_session(
&self,
code: String,
ctx: Value,
) -> Result<Session, String>
pub async fn start_session( &self, code: String, ctx: Value, ) -> Result<Session, String>
Start a new Lua execution session.
Phase 1 (sync exec): registers alc.* StdLib, ctx, prelude.
Phase 2 (coroutine): executes user Lua code. When alc.llm()
is called, the coroutine yields instead of blocking the Lua
thread, allowing other requests to proceed.
Auto Trait Implementations§
impl Freeze for Executor
impl !RefUnwindSafe for Executor
impl Send for Executor
impl Sync for Executor
impl Unpin for Executor
impl UnsafeUnpin for Executor
impl !UnwindSafe for Executor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more