Skip to main content

sema_core/
lib.rs

1#![allow(clippy::mutable_key_type)]
2pub mod async_signal;
3pub mod context;
4pub mod error;
5pub mod home;
6pub mod json;
7pub mod resolve;
8pub mod sandbox;
9pub mod value;
10pub mod vfs;
11
12pub use async_signal::{
13    call_cancel_callback, call_run_scheduler, call_run_scheduler_all_of, call_run_scheduler_any_of,
14    call_run_scheduler_timeout, call_spawn_callback, in_async_context, set_async_context,
15    set_cancel_callback, set_resume_value, set_run_scheduler_callback, set_spawn_callback,
16    set_yield_signal, take_resume_value, take_yield_signal, CancelCallbackFn,
17    RunSchedulerCallbackFn, SchedulerRunResult, SchedulerTarget, SpawnCallbackFn, YieldReason,
18};
19pub use context::{
20    call_callback, eval_callback, set_call_callback, set_eval_callback, with_stdlib_ctx,
21    CallCallbackFn, EvalCallbackFn, EvalContext,
22};
23pub use error::{CallFrame, SemaError, Span, SpanMap, StackTrace};
24pub use home::sema_home;
25pub use json::{json_to_value, key_to_string, value_to_json, value_to_json_lossy};
26pub use lasso::Spur;
27pub use sandbox::{Caps, Sandbox};
28pub use value::{
29    compare_spurs, intern, interner_stats, next_gensym, pretty_print, resolve, with_resolved,
30    Agent, AsyncPromise, Channel, Conversation, Env, ImageAttachment, Lambda, Macro, Message,
31    MultiMethod, NativeFn, PromiseState, Prompt, Record, Role, SemaStream, StreamBox, Thunk,
32    ToolDefinition, Value, ValueView, NAN_INT_SIGN_BIT, NAN_INT_SMALL_PATTERN, NAN_PAYLOAD_BITS,
33    NAN_PAYLOAD_MASK, NAN_TAG_MASK, TAG_NATIVE_FN,
34};